X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fanalogtv.h;h=ad61b3d3def414610facf64a5e9b7f8e0222e9fd;hp=54092f338be9da5b18e9ff5f4d4621ac584fc400;hb=49f5b54f312fe4ac2e9bc47581a72451bd0e8439;hpb=ccb7f4903325f92555a9722bba74b58346654ba0 diff --git a/hacks/analogtv.h b/hacks/analogtv.h index 54092f33..ad61b3d3 100644 --- a/hacks/analogtv.h +++ b/hacks/analogtv.h @@ -65,7 +65,12 @@ 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 { @@ -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,10 +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 (*key_handler)(Display *dpy, XEvent *event,void *key_data); - void *key_data; - int flutter_horiz_desync; int flutter_tint; @@ -212,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;