Commit bd9e5747 authored by dscho's avatar dscho

added colourmapexample; fixed LinuxVNC to show the right colours

parent 4a1355d1
......@@ -9,4 +9,4 @@ storepasswd
vncev
Makefile.in
.deps
colourmaptest
......@@ -10,7 +10,7 @@ endif
noinst_HEADERS=radon.h
noinst_PROGRAMS=example pnmshow regiontest pnmshow24 fontsel \
vncev storepasswd $(BACKGROUND_TEST) $(MAC)
vncev storepasswd colourmaptest $(BACKGROUND_TEST) $(MAC)
LDADD = -L.. -lvncserver
#include "rfb.h"
int main(int argc,char** argv)
{
int i;
uint8_t bytes[256*3];
rfbScreenInfoPtr server=rfbGetScreen(&argc,argv,256,256,8,1,1);
server->rfbServerFormat.trueColour=FALSE;
server->colourMap.count=256;
server->colourMap.is16=FALSE;
for(i=0;i<256;i++) {
bytes[i*3+0]=255-i; /* red */
bytes[i*3+1]=0; /* green */
bytes[i*3+2]=i; /* blue */
}
bytes[128*3+0]=0xff;
bytes[128*3+1]=0;
bytes[128*3+2]=0;
server->colourMap.data.bytes=bytes;
server->frameBuffer=malloc(256*256);
for(i=0;i<256*256;i++)
server->frameBuffer[i]=(i/256);
rfbInitServer(server);
rfbRunEventLoop(server,-1,FALSE);
return(0);
}
......@@ -24,11 +24,14 @@ unsigned char colourMap16[16*3]={
void MakeColourMap16(vncConsolePtr c)
{
int i,j;
rfbColourMap* colourMap=&(c->rfbScreen->colourMap);
if(colourMap->count)
free(colourMap->data.bytes);
colourMap->data.bytes=malloc(16*3);
memcpy(colourMap->data.bytes,colourMap16,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];
colourMap->count=16;
colourMap->is16=FALSE;
c->rfbScreen->rfbServerFormat.trueColour=FALSE;
......
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