diff options
| author | dscho <dscho> | 2003-02-10 20:10:38 +0000 | 
|---|---|---|
| committer | dscho <dscho> | 2003-02-10 20:10:38 +0000 | 
| commit | 47c481b7ca247b6abdbece512be30427135b7a39 (patch) | |
| tree | 160b9f31502aa7b03b7eb0795d45e8ae3a7d2132 | |
| parent | d3bb5fb6eb920b7149fa5544ef893afa038b772c (diff) | |
| download | libtdevnc-47c481b7.tar.gz libtdevnc-47c481b7.zip | |
fixed LinuxVNC colours
| -rw-r--r-- | vncterm/LinuxVNC.c | 16 | ||||
| -rw-r--r-- | vncterm/VNConsole.c | 4 | 
2 files changed, 17 insertions, 3 deletions
| diff --git a/vncterm/LinuxVNC.c b/vncterm/LinuxVNC.c index ec4eb25..3165147 100644 --- a/vncterm/LinuxVNC.c +++ b/vncterm/LinuxVNC.c @@ -65,6 +65,17 @@ void do_key(Bool down,KeySym keySym,rfbClientPtr cl)      isControl--;  } +/* these colours are from linux kernel drivers/char/console.c */ +unsigned char color_table[] = { 0, 4, 2, 6, 1, 5, 3, 7, +				       8,12,10,14, 9,13,11,15 }; +/* the default colour table, for VGA+ colour systems */ +int default_red[] = {0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa, +    0x55,0xff,0x55,0xff,0x55,0xff,0x55,0xff}; +int default_grn[] = {0x00,0x00,0xaa,0x55,0x00,0x00,0xaa,0xaa, +    0x55,0x55,0xff,0xff,0x55,0x55,0xff,0xff}; +int default_blu[] = {0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa, +    0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff}; +  int main(int argc,char **argv)  {    int width=80,height=25; @@ -103,6 +114,11 @@ int main(int argc,char **argv)    /* console init */    console=vcGetConsole(&argc,argv,width,height,&vgaFont,TRUE); +  for(i=0;i<16;i++) { +    console->rfbScreen->colourMap.data.bytes[i*3+0]=default_red[color_table[i]]; +    console->rfbScreen->colourMap.data.bytes[i*3+1]=default_grn[color_table[i]]; +    console->rfbScreen->colourMap.data.bytes[i*3+2]=default_blu[color_table[i]]; +  }    console->rfbScreen->desktopName=title;    console->rfbScreen->kbdAddEvent=do_key;    console->selectTimeOut=100000; diff --git a/vncterm/VNConsole.c b/vncterm/VNConsole.c index 1335aee..72e2fdc 100644 --- a/vncterm/VNConsole.c +++ b/vncterm/VNConsole.c @@ -29,9 +29,7 @@ void MakeColourMap16(vncConsolePtr c)    if(colourMap->count)      free(colourMap->data.bytes);    colourMap->data.bytes=malloc(16*3); -  for(i=0;i<16;i++) -    for(j=0;j<3;j++) -      colourMap->data.bytes[i*3+2-j]=colourMap16[i*3+j]; +  memcpy(colourMap->data.bytes,colourMap16,16*3);    colourMap->count=16;    colourMap->is16=FALSE;    c->rfbScreen->rfbServerFormat.trueColour=FALSE; | 
