Commit e38c3c22 authored by runge's avatar runge

x11vnc: more tweaks to -8to24 XGETIMAGE_8TO24

parent 5993dd75
This diff is collapsed.
2006-01-16 Karl Runge <runge@karlrunge.com>
* x11vnc: more tweaks to -8to24, add XGETIMAGE_8TO24 mode to call
XGetImage() on the 8bpp regions.
2006-01-14 Karl Runge <runge@karlrunge.com> 2006-01-14 Karl Runge <runge@karlrunge.com>
* x11vnc: add -8to24 option for some multi-depth displays (but use * x11vnc: add -8to24 option for some multi-depth displays (but use
of -overlay is preferred is supported). of -overlay is preferred if supported).
2006-01-12 Karl Runge <runge@karlrunge.com> 2006-01-12 Karl Runge <runge@karlrunge.com>
* fix -DSMALL_FOOTPRINT=N builds. * fix -DSMALL_FOOTPRINT=N builds.
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -174,10 +174,21 @@ void print_help(int mode) { ...@@ -174,10 +174,21 @@ void print_help(int mode) {
" to periodically refresh the screen (at the cost of\n" " to periodically refresh the screen (at the cost of\n"
" bandwidth).\n" " bandwidth).\n"
"\n" "\n"
" Debugging for this mode can be enabled by setting the\n"
" environment variable DEBUG_8TO24 to 1, 2, or 3.\n"
"\n"
" If there are problems, to enable an even more\n"
" experimental mode, set the environment variable\n"
" XGETIMAGE_8TO24=1 before starting x11vnc. This enables\n"
" a scheme were XGetImage() is used to retrieve the 8bpp\n"
" data instead of assuming that data is in bits 25-32.\n"
" This mode is significantly slower than the above mode.\n"
"\n"
" Note that -8to24 does not work on displays with 8bpp\n" " Note that -8to24 does not work on displays with 8bpp\n"
" default visual with depth 24 applications. The Xserver\n" " default visual with depth 24 applications. The Xserver\n"
" -cc option can be used to switch the default depth on\n" " -cc option can be used to switch the default depth\n"
" multidepth setups.\n" " on multidepth setups. It may be possible to handle\n"
" this case.\n"
"\n" "\n"
"-scale fraction Scale the framebuffer by factor \"fraction\". Values\n" "-scale fraction Scale the framebuffer by factor \"fraction\". Values\n"
" less than 1 shrink the fb, larger ones expand it. Note:\n" " less than 1 shrink the fb, larger ones expand it. Note:\n"
......
...@@ -418,7 +418,7 @@ void rfbCFD(long usec) { ...@@ -418,7 +418,7 @@ void rfbCFD(long usec) {
double rect_overlap(int x1, int y1, int x2, int y2, int X1, int Y1, double rect_overlap(int x1, int y1, int x2, int y2, int X1, int Y1,
int X2, int Y2) { int X2, int Y2) {
double a, A, o; double a, A, o;
sraRegionPtr r, R, overlap; sraRegionPtr r, R;
sraRectangleIterator *iter; sraRectangleIterator *iter;
sraRect rt; sraRect rt;
...@@ -428,12 +428,10 @@ double rect_overlap(int x1, int y1, int x2, int y2, int X1, int Y1, ...@@ -428,12 +428,10 @@ double rect_overlap(int x1, int y1, int x2, int y2, int X1, int Y1,
r = sraRgnCreateRect(x1, y1, x2, y2); r = sraRgnCreateRect(x1, y1, x2, y2);
R = sraRgnCreateRect(X1, Y1, X2, Y2); R = sraRgnCreateRect(X1, Y1, X2, Y2);
overlap = sraRgnCreateRect(x1, y1, x2, y2); sraRgnAnd(r, R);
sraRgnAnd(overlap, R);
o = 0.0; o = 0.0;
iter = sraRgnGetIterator(overlap); iter = sraRgnGetIterator(r);
while (sraRgnIteratorNext(iter, &rt)) { while (sraRgnIteratorNext(iter, &rt)) {
o += nabs( (rt.x2 - rt.x1) * (rt.y2 - rt.y1) ); o += nabs( (rt.x2 - rt.x1) * (rt.y2 - rt.y1) );
} }
...@@ -441,7 +439,6 @@ double rect_overlap(int x1, int y1, int x2, int y2, int X1, int Y1, ...@@ -441,7 +439,6 @@ double rect_overlap(int x1, int y1, int x2, int y2, int X1, int Y1,
sraRgnDestroy(r); sraRgnDestroy(r);
sraRgnDestroy(R); sraRgnDestroy(R);
sraRgnDestroy(overlap);
if (a < A) { if (a < A) {
o = o/a; o = o/a;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
.TH X11VNC "1" "January 2006" "x11vnc " "User Commands" .TH X11VNC "1" "January 2006" "x11vnc " "User Commands"
.SH NAME .SH NAME
x11vnc - allow VNC connections to real X11 displays x11vnc - allow VNC connections to real X11 displays
version: 0.8, lastmod: 2006-01-14 version: 0.8, lastmod: 2006-01-16
.SH SYNOPSIS .SH SYNOPSIS
.B x11vnc .B x11vnc
[OPTION]... [OPTION]...
...@@ -206,10 +206,21 @@ Also the option, say, \fB-fixscreen\fR V=3.0 may be use ...@@ -206,10 +206,21 @@ Also the option, say, \fB-fixscreen\fR V=3.0 may be use
to periodically refresh the screen (at the cost of to periodically refresh the screen (at the cost of
bandwidth). bandwidth).
.IP .IP
Debugging for this mode can be enabled by setting the
environment variable DEBUG_8TO24 to 1, 2, or 3.
.IP
If there are problems, to enable an even more
experimental mode, set the environment variable
XGETIMAGE_8TO24=1 before starting x11vnc. This enables
a scheme were XGetImage() is used to retrieve the 8bpp
data instead of assuming that data is in bits 25-32.
This mode is significantly slower than the above mode.
.IP
Note that \fB-8to24\fR does not work on displays with 8bpp Note that \fB-8to24\fR does not work on displays with 8bpp
default visual with depth 24 applications. The Xserver default visual with depth 24 applications. The Xserver
\fB-cc\fR option can be used to switch the default depth on \fB-cc\fR option can be used to switch the default depth
multidepth setups. on multidepth setups. It may be possible to handle
this case.
.PP .PP
\fB-scale\fR \fIfraction\fR \fB-scale\fR \fIfraction\fR
.IP .IP
......
...@@ -15,7 +15,7 @@ int xtrap_base_event_type = 0; ...@@ -15,7 +15,7 @@ int xtrap_base_event_type = 0;
int xdamage_base_event_type = 0; int xdamage_base_event_type = 0;
/* date +'lastmod: %Y-%m-%d' */ /* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.8 lastmod: 2006-01-14"; char lastmod[] = "0.8 lastmod: 2006-01-16";
/* X display info */ /* X display info */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment