This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
MicroWindows - support VNC BGR233 mode
- From: Gary Thomas <gary at mlbassoc dot com>
- To: eCos patches <ecos-patches at sources dot redhat dot com>
- Date: 01 Sep 2003 20:43:48 -0600
- Subject: MicroWindows - support VNC BGR233 mode
- Organization: MLB Associates
Of course, allowing the VNC server to support this mode meant that
MicroWindows also needed to allow it!
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
Index: services/gfx/mw/current/ChangeLog
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/ChangeLog,v
retrieving revision 1.6
diff -u -5 -p -r1.6 ChangeLog
--- services/gfx/mw/current/ChangeLog 30 Aug 2003 21:30:04 -0000 1.6
+++ services/gfx/mw/current/ChangeLog 2 Sep 2003 02:42:02 -0000
@@ -1,5 +1,20 @@
+2003-09-01 Gary Thomas <gary@mlbassoc.com>
+
+ * src/nanox/client.c:
+ * src/mwin/wingdi.c:
+ * src/engine/devopen.c:
+ * src/engine/devfont.caching.c:
+ * src/engine/devfont.c:
+ * src/engine/devdraw.c:
+ * src/drivers/scr_vnc_ecos.c:
+ * src/demos/nanox/ntetris.c:
+ * src/Configs/config.ecos:
+ * include/microwin/mwtypes.h:
+ * include/microwin/device.h: Support BGR233 mode which is used by
+ the VNC server.
+
2003-08-30 Gary Thomas <gary@mlbassoc.com>
* src/ecos/world_thread.c:
* src/ecos/ntetris_thread.c:
* src/ecos/nanox_thread.c:
Index: services/gfx/mw/current/include/microwin/device.h
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/include/microwin/device.h,v
retrieving revision 1.2
diff -u -5 -p -r1.2 device.h
--- services/gfx/mw/current/include/microwin/device.h 28 Aug 2003 10:30:34 -0000 1.2
+++ services/gfx/mw/current/include/microwin/device.h 2 Sep 2003 02:20:26 -0000
@@ -278,10 +278,14 @@ typedef struct {
/* create 8 bit 3/3/2 format pixel from RGB triplet*/
#define RGB2PIXEL332(r,g,b) \
(((r) & 0xe0) | (((g) & 0xe0) >> 3) | (((b) & 0xc0) >> 6))
+/* create 8 bit 2/3/3 format pixel from RBG triplet*/
+#define RGB2PIXEL233(r,g,b) \
+ ((((r) & 0xe0) >> 5) | (((g) & 0xe0) >> 2) | (((b) & 0xc0) >> 0))
+
/*
* Conversion from MWCOLORVAL to MWPIXELVAL
*/
/* create 24 bit 8/8/8 format pixel from RGB colorval (0x00BBGGRR)*/
#define COLOR2PIXEL888(c) \
@@ -302,11 +306,15 @@ typedef struct {
((((c) & 0xf8) >> (3-0)) | (((c) & 0xf800) >> (11-5)) | (((c) & 0xf80000) >> (19-10)))
#endif
/* create 8 bit 3/3/2 format pixel from RGB colorval (0x00BBGGRR)*/
#define COLOR2PIXEL332(c) \
- (((c) & 0xe0) | (((c) & 0xe000) >> 11) | (((c) & 0xc00000) >> 22))
+ ((((c) & 0xe0) >> 5) | (((c) & 0xe000) >> 9) | (((c) & 0xc00000) >> 16))
+
+/* create 8 bit 2/3/3 format pixel from RGB colorval (0x00BBGGRR)*/
+#define COLOR2PIXEL233(c) \
+ ((((c) & 0xC00000) >> 16) | (((c) & 0x00E000) >> 10) | (((c) & 0xE0) >> 5))
/*
* Conversion from MWPIXELVAL to red, green or blue components
*/
/* return 8/8/8 bit r, g or b component of 24 bit pixelval*/
@@ -327,10 +335,15 @@ typedef struct {
/* return 3/3/2 bit r, g or b component of 8 bit pixelval*/
#define PIXEL332RED(pixelval) (((pixelval) >> 5) & 0x07)
#define PIXEL332GREEN(pixelval) (((pixelval) >> 2) & 0x07)
#define PIXEL332BLUE(pixelval) ((pixelval) & 0x03)
+/* return 2/3/3 bit b, g, r component of 8 bit pixelval*/
+#define PIXEL233RED(pixelval) ((pixelval) & 0x07)
+#define PIXEL233GREEN(pixelval) (((pixelval) >> 3) & 0x07)
+#define PIXEL233BLUE(pixelval) (((pixelval) >> 6) & 0x03)
+
/*
* Conversion from MWPIXELVAL to MWCOLORVAL
*/
/* create RGB colorval (0x00BBGGRR) from 8/8/8 format pixel*/
#define PIXEL888TOCOLORVAL(p) \
@@ -345,10 +358,14 @@ typedef struct {
/* create RGB colorval (0x00BBGGRR) from 3/3/2 format pixel*/
#define PIXEL332TOCOLORVAL(p) \
((((p) & 0xe0)) | (((p) & 0x1c) << 11) | (((p) & 0x03) << 19))
+/* create RGB colorval (0x00BBGGRR) from 2/3/3 format pixel*/
+#define PIXEL233TOCOLORVAL(p) \
+ (((p) & 0x07) | (((p) & 0x38) << 5) | (((p) & 0xC0) << 14))
+
#if (MWPIXEL_FORMAT == MWPF_TRUECOLOR888) || (MWPIXEL_FORMAT == MWPF_TRUECOLOR0888)
#define RGB2PIXEL(r,g,b) RGB2PIXEL888(r,g,b)
#define COLORVALTOPIXELVAL(c) COLOR2PIXEL888(c)
#define PIXELVALTOCOLORVAL(p) PIXEL888TOCOLORVAL(p)
#define PIXEL2RED(p) PIXEL888RED(p)
@@ -379,10 +396,19 @@ typedef struct {
#define COLORVALTOPIXELVAL(c) COLOR2PIXEL332(c)
#define PIXELVALTOCOLORVAL(p) PIXEL332TOCOLORVAL(p)
#define PIXEL2RED(p) PIXEL332RED(p)
#define PIXEL2GREEN(p) PIXEL332GREEN(p)
#define PIXEL2BLUE(p) PIXEL332BLUE(p)
+#endif
+
+#if MWPIXEL_FORMAT == MWPF_TRUECOLOR233
+#define RGB2PIXEL(r,g,b) RGB2PIXEL233(r,g,b)
+#define COLORVALTOPIXELVAL(c) COLOR2PIXEL233(c)
+#define PIXELVALTOCOLORVAL(p) PIXEL233TOCOLORVAL(p)
+#define PIXEL2RED(p) PIXEL233RED(p)
+#define PIXEL2GREEN(p) PIXEL233GREEN(p)
+#define PIXEL2BLUE(p) PIXEL233BLUE(p)
#endif
/* Alpha blend two pixels using 8-bit alpha */
/* FIXME this will be quite a bit faster as an inlined function */
#define ALPHAPIXELRED(pixelvalsrc, pixelvaldest, alpha) \
Index: services/gfx/mw/current/include/microwin/mwtypes.h
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/include/microwin/mwtypes.h,v
retrieving revision 1.1
diff -u -5 -p -r1.1 mwtypes.h
--- services/gfx/mw/current/include/microwin/mwtypes.h 20 May 2002 22:25:28 -0000 1.1
+++ services/gfx/mw/current/include/microwin/mwtypes.h 2 Sep 2003 02:06:07 -0000
@@ -120,10 +120,11 @@
#define MWPF_TRUECOLOR0888 3 /* pixel is packed 32 bits 8/8/8 truecolor*/
#define MWPF_TRUECOLOR888 4 /* pixel is packed 24 bits 8/8/8 truecolor*/
#define MWPF_TRUECOLOR565 5 /* pixel is packed 16 bits 5/6/5 truecolor*/
#define MWPF_TRUECOLOR555 6 /* pixel is packed 16 bits 5/5/5 truecolor*/
#define MWPF_TRUECOLOR332 7 /* pixel is packed 8 bits 3/3/2 truecolor*/
+#define MWPF_TRUECOLOR233 8 /* pixel is packed 8 bits 2/3/3 truecolor (BGR) */
/*
* MWPIXELVAL definition: changes based on target system
* Set using -DMWPIXEL_FORMAT=MWPF_XXX
*
@@ -151,11 +152,11 @@
#endif
#if (MWPIXEL_FORMAT == MWPF_TRUECOLOR565) || (MWPIXEL_FORMAT == MWPF_TRUECOLOR555)
typedef unsigned short MWPIXELVAL;
#else
- #if MWPIXEL_FORMAT == MWPF_TRUECOLOR332
+ #if (MWPIXEL_FORMAT == MWPF_TRUECOLOR332) || (MWPIXEL_FORMAT == MWPF_TRUECOLOR233)
typedef unsigned char MWPIXELVAL;
#else
#if MWPIXEL_FORMAT == MWPF_PALETTE
typedef unsigned char MWPIXELVAL;
#else
Index: services/gfx/mw/current/src/Configs/config.ecos
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/Configs/config.ecos,v
retrieving revision 1.1
diff -u -5 -p -r1.1 config.ecos
--- services/gfx/mw/current/src/Configs/config.ecos 20 May 2002 22:25:30 -0000 1.1
+++ services/gfx/mw/current/src/Configs/config.ecos 2 Sep 2003 01:53:14 -0000
@@ -88,10 +88,11 @@ NANOWM = Y
# define MWPF_TRUECOLOR0888 /* pixel is packed 32 bits 8/8/8 truecolor*/
# define MWPF_TRUECOLOR888 /* pixel is packed 24 bits 8/8/8 truecolor*/
# define MWPF_TRUECOLOR565 /* pixel is packed 16 bits 5/6/5 truecolor*/
# define MWPF_TRUECOLOR555 /* pixel is packed 16 bits 5/5/5 truecolor*/
# define MWPF_TRUECOLOR332 /* pixel is packed 8 bits 3/3/2 truecolor*/
+# define MWPF_TRUECOLOR233 /* pixel is packed 8 bits 3/3/2 truecolor (BGR) */
#
####################################################################
#SCREEN_PIXTYPE = MWPF_TRUECOLOR565
SCREEN_PIXTYPE = MWPF_TRUECOLOR555
Index: services/gfx/mw/current/src/demos/nanox/ntetris.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/demos/nanox/ntetris.c,v
retrieving revision 1.2
diff -u -5 -p -r1.2 ntetris.c
--- services/gfx/mw/current/src/demos/nanox/ntetris.c 30 Aug 2003 21:30:05 -0000 1.2
+++ services/gfx/mw/current/src/demos/nanox/ntetris.c 2 Sep 2003 02:10:46 -0000
@@ -698,10 +698,11 @@ static int random8(int limit)
return ret;
}
static void choose_new_shape(nstate *state)
{
+ diag_printf("%s - state: %x\n", __FUNCTION__, state);
state->current_shape.type = state->next_shape.type;
state->current_shape.orientation = state->next_shape.orientation;
state->current_shape.colour = state->next_shape.colour;
state->current_shape.x = (WELL_WIDTH / 2) - 2;
state->current_shape.y = WELL_NOTVISIBLE -
Index: services/gfx/mw/current/src/drivers/scr_vnc_ecos.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/drivers/scr_vnc_ecos.c,v
retrieving revision 1.1
diff -u -5 -p -r1.1 scr_vnc_ecos.c
--- services/gfx/mw/current/src/drivers/scr_vnc_ecos.c 28 Aug 2003 10:34:35 -0000 1.1
+++ services/gfx/mw/current/src/drivers/scr_vnc_ecos.c 2 Sep 2003 02:13:10 -0000
@@ -175,10 +175,16 @@ static PSD vnc_open(PSD psd)
{
psd->bpp = 16;
psd->ncolors = 0xFFFF + 1;
psd->pixtype = MWPF_TRUECOLOR565;
}
+ else if (frame_format->bgr233)
+ {
+ psd->bpp = 8;
+ psd->ncolors = 0xFF + 1;
+ psd->pixtype = MWPF_TRUECOLOR233;
+ }
else
{
EPRINTF("Unsupported display type\n");
goto fail;
}
@@ -226,10 +232,15 @@ static void vnc_getscreeninfo(PSD psd,PM
switch (psd->pixtype) {
case MWPF_TRUECOLOR332:
psi->rmask = 0xE0;
psi->gmask = 0x1C;
psi->bmask = 0x03;
+ break;
+ case MWPF_TRUECOLOR233:
+ psi->rmask = 0x07;
+ psi->gmask = 0x38;
+ psi->bmask = 0xC0;
break;
case MWPF_TRUECOLOR555:
psi->rmask = 0x7c00;
psi->gmask = 0x03e0;
psi->bmask = 0x001f;
Index: services/gfx/mw/current/src/engine/devdraw.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/engine/devdraw.c,v
retrieving revision 1.1
diff -u -5 -p -r1.1 devdraw.c
--- services/gfx/mw/current/src/engine/devdraw.c 20 May 2002 22:25:38 -0000 1.1
+++ services/gfx/mw/current/src/engine/devdraw.c 2 Sep 2003 02:32:58 -0000
@@ -638,10 +638,13 @@ GdDrawImage(PSD psd, MWCOORD x, MWCOORD
pixel = COLOR2PIXEL555(cr);
break;
case MWPF_TRUECOLOR332:
pixel = COLOR2PIXEL332(cr);
break;
+ case MWPF_TRUECOLOR233:
+ pixel = COLOR2PIXEL233(cr);
+ break;
}
break;
default:
case 8:
bitcount = 0;
@@ -732,10 +735,11 @@ GdReadArea(PSD psd, MWCOORD x, MWCOORD y
* MWPF_TRUECOLOR0888 unsigned long
* MWPF_TRUECOLOR888 packed struct {char r,char g,char b} (24 bits)
* MWPF_TRUECOLOR565 unsigned short
* MWPF_TRUECOLOR555 unsigned short
* MWPF_TRUECOLOR332 unsigned char
+ * MWPF_TRUECOLOR233 unsigned char
*
* NOTE: Currently, no translation is performed if the pixtype
* is not MWPF_RGB. Pixtype is only then used to determine the
* packed size of the pixel data, and is then stored unmodified
* in a MWPIXELVAL and passed to the screen driver. Virtually,
@@ -857,10 +861,11 @@ GdArea(PSD psd, MWCOORD x, MWCOORD y, MW
case MWPF_PIXELVAL:
pixsize = sizeof(MWPIXELVAL);
break;
case MWPF_PALETTE:
case MWPF_TRUECOLOR332:
+ case MWPF_TRUECOLOR233:
pixsize = sizeof(unsigned char);
break;
case MWPF_TRUECOLOR0888:
pixsize = sizeof(unsigned long);
break;
@@ -889,10 +894,11 @@ GdArea(PSD psd, MWCOORD x, MWCOORD y, MW
gr_foreground = *(MWPIXELVAL *)PIXELS;
PIXELS += sizeof(MWPIXELVAL);
break;
case MWPF_PALETTE:
case MWPF_TRUECOLOR332:
+ case MWPF_TRUECOLOR233:
gr_foreground = *PIXELS++;
break;
case MWPF_TRUECOLOR0888:
gr_foreground = *(unsigned long *)PIXELS;
PIXELS += sizeof(unsigned long);
@@ -932,10 +938,11 @@ GdArea(PSD psd, MWCOORD x, MWCOORD y, MW
goto breakwhile;
PIXELS += sizeof(MWPIXELVAL);
break;
case MWPF_PALETTE:
case MWPF_TRUECOLOR332:
+ case MWPF_TRUECOLOR233:
if(gr_foreground != *(unsigned char *)PIXELS)
goto breakwhile;
++PIXELS;
break;
case MWPF_TRUECOLOR0888:
@@ -1363,10 +1370,11 @@ GdCalcMemGCAlloc(PSD psd, unsigned int w
* MWPF_TRUECOLOR0888 unsigned long
* MWPF_TRUECOLOR888 packed struct {char r,char g,char b} (24 bits)
* MWPF_TRUECOLOR565 unsigned short
* MWPF_TRUECOLOR555 unsigned short
* MWPF_TRUECOLOR332 unsigned char
+ * MWPF_TRUECOLOR233 unsigned char
*/
void
GdTranslateArea(MWCOORD width, MWCOORD height, void *in, int inpixtype,
MWCOORD inpitch, void *out, int outpixtype, int outpitch)
{
@@ -1403,10 +1411,14 @@ GdTranslateArea(MWCOORD width, MWCOORD h
break;
case MWPF_TRUECOLOR332:
pixelval = *inbuf++;
colorval = PIXEL332TOCOLORVAL(pixelval);
break;
+ case MWPF_TRUECOLOR233:
+ pixelval = *inbuf++;
+ colorval = PIXEL233TOCOLORVAL(pixelval);
+ break;
case MWPF_TRUECOLOR0888:
pixelval = *(unsigned long *)inbuf;
colorval = PIXEL888TOCOLORVAL(pixelval);
inbuf += sizeof(unsigned long);
break;
@@ -1450,10 +1462,13 @@ GdTranslateArea(MWCOORD width, MWCOORD h
*outbuf++ = GdFindNearestColor(gr_palette, gr_palsize,
colorval);
break;
case MWPF_TRUECOLOR332:
*outbuf++ = COLOR2PIXEL332(colorval);
+ break;
+ case MWPF_TRUECOLOR233:
+ *outbuf++ = COLOR2PIXEL233(colorval);
break;
case MWPF_TRUECOLOR0888:
*(unsigned long *)outbuf = COLOR2PIXEL888(colorval);
outbuf += sizeof(unsigned long);
break;
Index: services/gfx/mw/current/src/engine/devfont.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/engine/devfont.c,v
retrieving revision 1.1
diff -u -5 -p -r1.1 devfont.c
--- services/gfx/mw/current/src/engine/devfont.c 20 May 2002 22:25:38 -0000 1.1
+++ services/gfx/mw/current/src/engine/devfont.c 2 Sep 2003 02:31:25 -0000
@@ -720,10 +720,20 @@ alphablend(PSD psd, OUTPIXELVAL *out, MW
d = BITS(dst, 0, 0x03);
b = (unsigned char)(((BITS(src, 0, 0x03) - d)*a)>>8) + d;
*out++ = (r << 5) | (g << 2) | b;
break;
+ case MWPF_TRUECOLOR233:
+ d = BITS(dst, 0, 0x07);
+ r = (unsigned char)(((BITS(src, 0, 0x07) - d)*a)>>8) + d;
+ d = BITS(dst, 3, 0x07);
+ g = (unsigned char)(((BITS(src, 3, 0x07) - d)*a)>>8) + d;
+ d = BITS(dst, 6, 0x03);
+ b = (unsigned char)(((BITS(src, 6, 0x03) - d)*a)>>8) + d;
+ *out++ = (b << 6) | (g << 3) | r;
+ break;
+
case MWPF_PALETTE:
/* reverse lookup palette entry for blend ;-)*/
palsrc = GETPALENTRY(gr_palette, src);
paldst = GETPALENTRY(gr_palette, dst);
d = REDVALUE(paldst);
Index: services/gfx/mw/current/src/engine/devfont.caching.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/engine/devfont.caching.c,v
retrieving revision 1.1
diff -u -5 -p -r1.1 devfont.caching.c
--- services/gfx/mw/current/src/engine/devfont.caching.c 20 May 2002 22:25:38 -0000 1.1
+++ services/gfx/mw/current/src/engine/devfont.caching.c 2 Sep 2003 02:33:52 -0000
@@ -1078,10 +1078,20 @@ alphablend(PSD psd, OUTPIXELVAL *out, MW
d = BITS(dst, 0, 0x03);
b = (unsigned char)(((BITS(src, 0, 0x03) - d)*a)>>8) + d;
*out++ = (r << 5) | (g << 2) | b;
break;
+ case MWPF_TRUECOLOR233:
+ d = BITS(dst, 0, 0x07);
+ r = (unsigned char)(((BITS(src, 0, 0x07) - d)*a)>>8) + d;
+ d = BITS(dst, 3, 0x07);
+ g = (unsigned char)(((BITS(src, 3, 0x07) - d)*a)>>8) + d;
+ d = BITS(dst, 6, 0x03);
+ b = (unsigned char)(((BITS(src, 6, 0x03) - d)*a)>>8) + d;
+ *out++ = (r << 0) | (g << 3) | (b << 6);
+ break;
+
case MWPF_PALETTE:
/* reverse lookup palette entry for blend ;-)*/
palsrc = GETPALENTRY(gr_palette, src);
paldst = GETPALENTRY(gr_palette, dst);
d = REDVALUE(paldst);
Index: services/gfx/mw/current/src/engine/devopen.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/engine/devopen.c,v
retrieving revision 1.1
diff -u -5 -p -r1.1 devopen.c
--- services/gfx/mw/current/src/engine/devopen.c 20 May 2002 22:25:38 -0000 1.1
+++ services/gfx/mw/current/src/engine/devopen.c 2 Sep 2003 02:29:01 -0000
@@ -255,10 +255,15 @@ GdFindColor(MWCOLORVAL c)
case MWPF_TRUECOLOR332:
/* create 8 bit 3/3/2 format pixel from RGB colorval*/
/*RGB2PIXEL332(REDVALUE(c), GREENVALUE(c), BLUEVALUE(c))*/
return COLOR2PIXEL332(c);
+
+ case MWPF_TRUECOLOR233:
+ /* create 8 bit 2/3/3 format pixel from RGB colorval*/
+ /*RGB2PIXEL332(REDVALUE(c), GREENVALUE(c), BLUEVALUE(c))*/
+ return COLOR2PIXEL233(c);
}
/* case MWPF_PALETTE: must be running 1, 2, 4 or 8 bit palette*/
/*
@@ -356,10 +361,13 @@ typedef struct {
/* r/g/b masks for non-palette bitmaps*/
#define RMASK332 0xe0
#define GMASK332 0x1c
#define BMASK332 0x03
+#define RMASK233 0x07
+#define GMASK233 0x38
+#define BMASK233 0xC0
#define RMASK555 0x7c00
#define GMASK555 0x03e0
#define BMASK555 0x001f
#define RMASK565 0xf800
#define GMASK565 0x07e0
@@ -477,10 +485,15 @@ GdCaptureScreen(char *path)
break;
case MWPF_TRUECOLOR332:
rmask = RMASK332;
gmask = GMASK332;
bmask = BMASK332;
+ break;
+ case MWPF_TRUECOLOR233:
+ rmask = RMASK233;
+ gmask = GMASK233;
+ bmask = BMASK233;
break;
}
putdw(rmask, ofp);
putdw(gmask, ofp);
putdw(bmask, ofp);
Index: services/gfx/mw/current/src/mwin/wingdi.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/mwin/wingdi.c,v
retrieving revision 1.1
diff -u -5 -p -r1.1 wingdi.c
--- services/gfx/mw/current/src/mwin/wingdi.c 20 May 2002 22:25:41 -0000 1.1
+++ services/gfx/mw/current/src/mwin/wingdi.c 2 Sep 2003 02:27:35 -0000
@@ -374,10 +374,14 @@ GetPixel(HDC hdc, int x, int y)
case MWPF_TRUECOLOR332:
/* create RGB colorval from 3/3/2 pixel*/
return PIXEL332TOCOLORVAL(pixel);
+ case MWPF_TRUECOLOR233:
+ /* create RGB colorval from 2/3/3 pixel*/
+ return PIXEL233TOCOLORVAL(pixel);
+
case MWPF_PALETTE:
if(GdGetPalette(hdc->psd, pixel, 1, &rgb))
return RGB(rgb.r, rgb.g, rgb.b);
}
return CLR_INVALID;
Index: services/gfx/mw/current/src/nanox/client.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/services/gfx/mw/current/src/nanox/client.c,v
retrieving revision 1.2
diff -u -5 -p -r1.2 client.c
--- services/gfx/mw/current/src/nanox/client.c 27 Jul 2003 10:23:33 -0000 1.2
+++ services/gfx/mw/current/src/nanox/client.c 2 Sep 2003 02:27:09 -0000
@@ -2565,10 +2565,11 @@ void GrDrawImageFromBuffer(GR_DRAW_ID id
* MWPF_TRUECOLOR0888 unsigned long
* MWPF_TRUECOLOR888 packed struct {char r,char g,char b} (24 bits)
* MWPF_TRUECOLOR565 unsigned short
* MWPF_TRUECOLOR555 unsigned short
* MWPF_TRUECOLOR332 unsigned char
+ * MWPF_TRUECOLOR223 unsigned char
*/
/**
* GrArea:
* @id: the ID of the drawable to draw the area onto
* @gc: the ID of the graphics context to use when drawing the area
@@ -2601,10 +2602,11 @@ GrArea(GR_DRAW_ID id, GR_GC_ID gc, GR_CO
case MWPF_PIXELVAL:
pixsize = sizeof(MWPIXELVAL);
break;
case MWPF_PALETTE:
case MWPF_TRUECOLOR332:
+ case MWPF_TRUECOLOR233:
pixsize = sizeof(unsigned char);
break;
case MWPF_TRUECOLOR0888:
pixsize = sizeof(unsigned long);
break;