X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fanalogtv.h;h=9c03559ca23112f6b1b0d9c3a63dbf2b32346ee1;hb=c1b9b55ad8d59dc05ef55e316aebf5863e7dfa56;hp=ff9e8db2d6b8bb8942e5298c9ee2ede36a1ef228;hpb=96a411663168b0ba5432b407a83be55f3df0c802;p=xscreensaver diff --git a/hacks/analogtv.h b/hacks/analogtv.h index ff9e8db2..9c03559c 100644 --- a/hacks/analogtv.h +++ b/hacks/analogtv.h @@ -1,4 +1,4 @@ -/* analogtv, Copyright (c) 2003 Trevor Blackwell +/* analogtv, Copyright (c) 2003, 2004 Trevor Blackwell * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -65,11 +65,16 @@ enum { ANALOGTV_SIGNAL_LEN=ANALOGTV_V*ANALOGTV_H, /* The number of intensity levels we deal with for gamma correction &c */ - ANALOGTV_CV_MAX=1024 + ANALOGTV_CV_MAX=1024, + + /* MAX_LINEHEIGHT corresponds to 2400 vertical pixels, beyond which + it interpolates extra black lines. */ + ANALOGTV_MAX_LINEHEIGHT=12 + }; typedef struct analogtv_input_s { - char signal[ANALOGTV_V+1][ANALOGTV_H]; + signed char signal[ANALOGTV_V+1][ANALOGTV_H]; int do_teletext; @@ -152,9 +157,10 @@ typedef struct analogtv_s { XShmSegmentInfo shm_info; #endif int visdepth,visclass,visbits; - int red_invprec,red_shift,red_mask; - int green_invprec,green_shift,green_mask; - int blue_invprec,blue_shift,blue_mask; + int red_invprec, red_shift; + int green_invprec, green_shift; + int blue_invprec, blue_shift; + unsigned int red_mask, green_mask, blue_mask; Colormap colormap; int usewidth,useheight,xrepl,subwidth; @@ -162,8 +168,6 @@ typedef struct analogtv_s { GC gc; int screen_xo,screen_yo; /* centers image in window */ - void (*event_handler)(Display *dpy, XEvent *event); - int flutter_horiz_desync; int flutter_tint; @@ -210,6 +214,11 @@ typedef struct analogtv_s { double rx_signal_level; double rx_signal[ANALOGTV_SIGNAL_LEN + 2*ANALOGTV_H]; + struct { + int index; + double value; + } leveltable[ANALOGTV_MAX_LINEHEIGHT+1][ANALOGTV_MAX_LINEHEIGHT+1]; + } analogtv; @@ -281,6 +290,7 @@ int analogtv_handle_events (analogtv *it); "*Background: Black", \ "*use_cmap: 0", \ "*geometry: 800x600", \ + "*fpsSolid: True", \ ANALOGTV_DEFAULTS_SHM #define ANALOGTV_OPTIONS \