colo(u)r depth 4.0b4 problems

Tristan Richardson tjr "at" realvnc.com
Fri Jan 9 11:16:00 2004


The version 4 viewer currently always uses the default visual, which in your
case is 8-bit PseudoColor.  Eventually we intend to add options like the
version 3 viewer to force use of a particular visual.  However for the
moment, to get it to use the 12-bit truecolor visual you need to make that
the default for your X server.

The "int r" error is because your compiler uses the old scoping rules for
"for" loops.  The least ugly hack in these cases is to declare the variable
once before both loops - I'll change this in our source.  You don't get a
problem with g and b because they're already inside separate scopes.

Cheers

Tristan

----- Original Message ----- 
From: "Ellis Golub" <ellis "at" vesicle.dental.upenn.edu>
To: <vnc-list "at" realvnc.com>
Cc: <tjr "at" realvnc.com>; <jnw "at" realvnc.com>
Sent: Thursday, January 08, 2004 8:43 PM
Subject: colo(u)r depth 4.0b4 problems


> Hi --
>
> I am in the process of upgrading to VNC version 4, and have run into a
problem
> with colo(u)r depth.  I'm running the server on a Win XP box, and the
viewers
> on an SGI Tezro running IRIX 6.5.22
>
> When I use a version 3 viewer, I get "truecolor" :
>
> VNC server supports protocol version 3.3 (viewer 3.3)
> VNC authentication succeeded
> Desktop name "APATITE"
> Connected to VNC server, using protocol version 3.3
> VNC server default format:
>   32 bits per pixel.
>   Least significant byte first in each pixel.
>   True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
> Using TrueColor visual, depth 12.  Pixel format:
>   16 bits per pixel.
>   Most significant byte first in each pixel.
>   True colour: max red 15 green 15 blue 15, shift red 0 green 4 blue 8
>
> When I run the version 4 viewer I get the folowing:
>
> hu Jan  8 11:57:17 2004
>  CConn:       connected to host apatite.dental.upenn.edu port 5900
>  CConnection: Server supports RFB protocol version 3.7
>  CConnection: Using RFB protocol version 3.7
>
> Thu Jan  8 11:57:18 2004
>  TXImage:     Using default colormap and visual, PseudoColor, depth 8.
>  CConn:       Using pixel format depth 6 (8bpp) rgb222
>  CConn:       Using ZRLE encoding
>  CConn:       Throughput 20020 kbit/s - changing to hextile encoding
>  CConn:       Throughput 20020 kbit/s - changing to full colour
>  CConn:       Using pixel format depth 8 (8bpp) colour-map
>  CConn:       Using hextile encoding
>
> No command line setting seems able to alter the low pixel format.
>
>
> vncviewers:
> version 3: RealVNC 3.3.3r2, Tight VNC 1.2.5, Tight VNC 1.2.8 (SGI
freeware)
> version 4: RealVNC 4.0b4
>
> All except the SGI freeware version were locally built.
>
> Compilation of the version 4.0b4 code as written produces the following
> compiler error:
>
> c-1101 CC: ERROR File = TXImage.cxx, Line = 330
>   "r" has already been declared in the current scope.
>
>       for (int r = 0; r < cube->nRed; r++) {
>
> The relevent code snippet from TXImage.cxx is:
>
>     XColor xc[256];
>     cube = new rfb::ColourCube(6,6,6);
> <317>    for ( int r = 0; r < cube->nRed; r++) {
>       for (int g = 0; g < cube->nGreen; g++) {
>         for (int b = 0; b < cube->nBlue; b++) {
>           int i = (r * cube->nGreen + g) * cube->nBlue + b;
>           xc[i].red =   r * 65535 / (cube->nRed-1);
>           xc[i].green = g * 65535 / (cube->nGreen-1);
>           xc[i].blue =  b * 65535 / (cube->nBlue-1);
>         }
>       }
>     }
>
>     TXWindow::getColours(dpy, xc, cube->size());
>
> <330>    for (int r = 0; r < cube->nRed; r++) {
>       for (int g = 0; g < cube->nGreen; g++) {
>         for (int b = 0; b < cube->nBlue; b++) {
>           int i = (r * cube->nGreen + g) * cube->nBlue + b;
>           cube->set(r, g, b, xc[i].pixel);
>         }
>       }
>     }
>   }
> }
>
>
>
> I've tried two fixes, both of which allow compilation to a working viewer,
with
> impaired color mapping:
>
> 1) for ( r = 0; r < cube->nRed; r++){
>
> 2) for (int rr = 0; rr < cube->nRed; rr++){  with rr substituted for r in
the
> rest of the routine.
>
> One thing I don't understand is why only r is said to be twice declared,
when g
> and b are also declared in the XColor routine <line 317 ff>.
>
> I'm sure to be missing something simple here, but I don't know what.
>
>
> Ellis
>
> --
> =============================================================
> Ellis Golub                  Phone: (215) 898-4629
> Biochemistry Department      FAX:   (215) 898-3695
> University of Pennsylvania   ellis "at" biochem.dental.upenn.edu
> School of Dental Medicine
> 240 South 40th Street
> Philadelphia, PA 19104-6030
> Home: http://biochem.dental.upenn.edu/~ellis/
> PGP: http://biochem.dental.upenn.edu/~ellis/public_key.html
> ==============================================================
> _______________________________________________
> VNC-List mailing list
> VNC-List "at" realvnc.com
> To remove yourself from the list visit:
> http://www.realvnc.com/mailman/listinfo/vnc-list