This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

MicroWindows - support VNC BGR233 mode


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;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]