diff options
| author | runge <runge> | 2006-01-15 03:58:48 +0000 | 
|---|---|---|
| committer | runge <runge> | 2006-01-15 03:58:48 +0000 | 
| commit | 5993dd757e5af00af6565b3411ea10fd46eafbdf (patch) | |
| tree | 7450fdde25310857c88221a719f026a1a09336f7 /x11vnc/userinput.c | |
| parent | 60918e6664cd62ea3d71b48cdfda8b89ab82029c (diff) | |
| download | libtdevnc-5993dd757e5af00af6565b3411ea10fd46eafbdf.tar.gz libtdevnc-5993dd757e5af00af6565b3411ea10fd46eafbdf.zip | |
 x11vnc: add -8to24 option for some multi-depth displays.
Diffstat (limited to 'x11vnc/userinput.c')
| -rw-r--r-- | x11vnc/userinput.c | 22 | 
1 files changed, 21 insertions, 1 deletions
| diff --git a/x11vnc/userinput.c b/x11vnc/userinput.c index 062fea5..d72d5c7 100644 --- a/x11vnc/userinput.c +++ b/x11vnc/userinput.c @@ -14,6 +14,7 @@  #include "keyboard.h"  #include "solid.h"  #include "xrandr.h" +#include "8to24.h"  /*   * user input handling heuristics @@ -241,7 +242,7 @@ WIREFRAME_PARMS "0xff,2,0,30+6+6+6,Alt,0.05+0.3+2.0,8"  shade,linewidth,percent,T+B+L+R,mods,t1+t2+t3+t4   */  #define LW_MAX 8 -static unsigned long wireframe_shade; +static unsigned long wireframe_shade = 0xff;  static int wireframe_lw;  static double wireframe_frac;  static int wireframe_top, wireframe_bot, wireframe_left, wireframe_right; @@ -3694,6 +3695,25 @@ if (db) fprintf(stderr, "send_copyrect: %d\n", sent_copyrect);  	/* final push (for -nowirecopyrect) */  	rfbPE(1000);  	wireframe_in_progress = 0; + +	if (frame_changed && cmap8to24 && multivis_count) { +		/* handle -8to24 tweak, mark area and check 8bpp... */ +		int x1, x2, y1, y2, f = 16; +		x1 = nmin(box_x, orig_x) - f; +		y1 = nmin(box_y, orig_y) - f; +		x2 = nmax(box_x + box_w, orig_x + orig_w) + f; +		y2 = nmax(box_y + box_h, orig_y + orig_h) + f; +		x1 = nfix(x1, dpy_x); +		x2 = nfix(x2, dpy_x); +		y1 = nfix(y1, dpy_y); +		y2 = nfix(y2, dpy_y); +if (0) fprintf(stderr, "wireframe_in_progress over: %d %d %d %d\n", x1, y1, x2, y2); +		check_for_multivis(); +		if (1) mark_rect_as_modified(x1, y1, x2, y2, 0); +		if (0) mark_rect_as_modified(0, 0, dpy_x, dpy_y, 0); +		if (0) rfbPE(-1); +	} +  	urgent_update = 1;  	if (use_xdamage) {  		/* DAMAGE can queue ~1000 rectangles for a move */ | 
