diff packages/services/gfx/mw/current/src/engine/devpal8.c @ 208:e0c0827131d1 ecos

Merge from eCos master repository on 2002-05-20-20:11:54-BST
author jlarmour
date Mon, 20 May 2002 22:19:26 +0000
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/packages/services/gfx/mw/current/src/engine/devpal8.c
@@ -0,0 +1,302 @@
+/*
+ * Copyright (c) 1999 Greg Haerr <greg@censoft.com>
+ *
+ * 8bpp (256 color) standard palette definition
+ */
+#include "device.h"
+
+/*
+ * Special palette for supporting 48 Windows colors and a 216 color
+ * uniform color distribution.
+ * Note: the first 20 colors are used internally as system colors.
+ */
+MWPALENTRY mwstdpal8[256] = {
+	/* 16 EGA colors, arranged for direct predefined palette indexing*/
+	RGBDEF( 0  , 0  , 0   ),	/* black*/
+	RGBDEF( 0  , 0  , 128 ),	/* blue*/
+	RGBDEF( 0  , 128, 0   ),	/* green*/
+	RGBDEF( 0  , 128, 128 ),	/* cyan*/ /* COLOR_BACKGROUND*/
+	RGBDEF( 128, 0  , 0   ),	/* red*/  /* COLOR_ACTIVECAPTION A*/
+	RGBDEF( 128, 0  , 128 ),	/* magenta*/ /* COLOR_ACTIVECAPTION B*/
+	RGBDEF( 128, 64 , 0   ),	/* adjusted brown*/
+	RGBDEF( 192, 192, 192 ),	/* ltgray*/
+	RGBDEF( 128, 128, 128 ),	/* gray*/
+	RGBDEF( 0  , 0  , 255 ),	/* ltblue*/
+	RGBDEF( 0  , 255, 0   ),	/* ltgreen*/
+	RGBDEF( 0  , 255, 255 ),	/* ltcyan*/
+	RGBDEF( 255, 0  , 0   ),	/* ltred*/
+	RGBDEF( 255, 0  , 255 ),	/* ltmagenta*/
+	RGBDEF( 255, 255, 0   ),	/* yellow*/
+	RGBDEF( 255, 255, 255 ),	/* white*/
+
+	/* 32 basic windows colors (first 8 are most important)*/
+	RGBDEF( 32 , 32 , 32  ),	/* DKGRAY_BRUSH*/
+	RGBDEF( 128, 128, 0   ),	/* non-adjusted brown*/
+	RGBDEF( 223, 223, 223 ),	/* COLOR_3DLIGHT B*/
+	RGBDEF( 160, 160, 160 ), 	/* COLOR_3DLIGHT C*/
+
+	RGBDEF( 234, 230, 221 ),	/* COLOR_BTNHIGHLIGHT A*/
+	RGBDEF( 213, 204, 187 ),	/* COLOR_BTNFACE A*/
+	RGBDEF( 162, 141, 104 ),	/* COLOR_BTNSHADOW A*/
+	RGBDEF( 0  , 64 , 128 ),	/* COLOR_INACTIVECAPTION C*/
+	/*RGBDEF( 0  , 0  , 64  ),*/
+	/*RGBDEF( 0  , 64 , 0   ),*/
+	/*RGBDEF( 0  , 64 , 64  ),*/
+	/*RGBDEF( 0  , 128, 64  ),*/
+	RGBDEF( 0  , 128, 255 ),
+	RGBDEF( 0  , 255, 128 ),
+	RGBDEF( 64 , 0  , 0   ),
+	RGBDEF( 64 , 0  , 64  ),
+	RGBDEF( 64 , 0  , 128 ),
+	RGBDEF( 64 , 128, 128 ),
+	RGBDEF( 128, 0  , 64  ),
+	RGBDEF( 128, 0  , 255 ),
+	RGBDEF( 128, 64 , 64  ),
+	RGBDEF( 128, 128, 64  ),
+	RGBDEF( 128, 128, 192 ),
+	RGBDEF( 128, 128, 255 ),
+	RGBDEF( 128, 255, 0   ),
+	RGBDEF( 128, 255, 255 ),
+	RGBDEF( 164, 200, 240 ),
+	RGBDEF( 192, 220, 192 ),
+	RGBDEF( 255, 0  , 128 ),
+	RGBDEF( 255, 128, 0   ),
+	RGBDEF( 255, 128, 192 ),
+	RGBDEF( 255, 128, 255 ),
+	RGBDEF( 255, 128, 128 ),
+	RGBDEF( 255, 255, 128 ),
+	RGBDEF( 255, 251, 240 ),
+	RGBDEF( 255, 255, 232 ),
+
+	/* 216 colors spread uniformly across rgb spectrum*/
+	/* 8 colors removed that are duplicated above*/
+	/*RGBDEF( 0x00, 0x00, 0x00 ),*/
+	RGBDEF( 0x00, 0x00, 0x33 ),
+	RGBDEF( 0x00, 0x00, 0x66 ),
+	RGBDEF( 0x00, 0x00, 0x99 ),
+	RGBDEF( 0x00, 0x00, 0xcc ),
+	/*RGBDEF( 0x00, 0x00, 0xff ),*/
+	RGBDEF( 0x33, 0x00, 0x00 ),
+	RGBDEF( 0x33, 0x00, 0x33 ),
+	RGBDEF( 0x33, 0x00, 0x66 ),
+	RGBDEF( 0x33, 0x00, 0x99 ),
+	RGBDEF( 0x33, 0x00, 0xcc ),
+	RGBDEF( 0x33, 0x00, 0xff ),
+	RGBDEF( 0x66, 0x00, 0x00 ),
+	RGBDEF( 0x66, 0x00, 0x33 ),
+	RGBDEF( 0x66, 0x00, 0x66 ),
+	RGBDEF( 0x66, 0x00, 0x99 ),
+	RGBDEF( 0x66, 0x00, 0xcc ),
+	RGBDEF( 0x66, 0x00, 0xff ),
+	RGBDEF( 0x99, 0x00, 0x00 ),
+	RGBDEF( 0x99, 0x00, 0x33 ),
+	RGBDEF( 0x99, 0x00, 0x66 ),
+	RGBDEF( 0x99, 0x00, 0x99 ),
+	RGBDEF( 0x99, 0x00, 0xcc ),
+	RGBDEF( 0x99, 0x00, 0xff ),
+	RGBDEF( 0xcc, 0x00, 0x00 ),
+	RGBDEF( 0xcc, 0x00, 0x33 ),
+	RGBDEF( 0xcc, 0x00, 0x66 ),
+	RGBDEF( 0xcc, 0x00, 0x99 ),
+	RGBDEF( 0xcc, 0x00, 0xcc ),
+	RGBDEF( 0xcc, 0x00, 0xff ),
+	/*RGBDEF( 0xff, 0x00, 0x00 ),*/
+	RGBDEF( 0xff, 0x00, 0x33 ),
+	RGBDEF( 0xff, 0x00, 0x66 ),
+	RGBDEF( 0xff, 0x00, 0x99 ),
+	RGBDEF( 0xff, 0x00, 0xcc ),
+	/*RGBDEF( 0xff, 0x00, 0xff ),*/
+	RGBDEF( 0x00, 0x33, 0x00 ),
+	RGBDEF( 0x00, 0x33, 0x33 ),
+	RGBDEF( 0x00, 0x33, 0x66 ),
+	RGBDEF( 0x00, 0x33, 0x99 ),
+	RGBDEF( 0x00, 0x33, 0xcc ),
+	RGBDEF( 0x00, 0x33, 0xff ),
+	RGBDEF( 0x33, 0x33, 0x00 ),
+	RGBDEF( 0x33, 0x33, 0x33 ),
+	RGBDEF( 0x33, 0x33, 0x66 ),
+	RGBDEF( 0x33, 0x33, 0x99 ),
+	RGBDEF( 0x33, 0x33, 0xcc ),
+	RGBDEF( 0x33, 0x33, 0xff ),
+	RGBDEF( 0x66, 0x33, 0x00 ),
+	RGBDEF( 0x66, 0x33, 0x33 ),
+	RGBDEF( 0x66, 0x33, 0x66 ),
+	RGBDEF( 0x66, 0x33, 0x99 ),
+	RGBDEF( 0x66, 0x33, 0xcc ),
+	RGBDEF( 0x66, 0x33, 0xff ),
+	RGBDEF( 0x99, 0x33, 0x00 ),
+	RGBDEF( 0x99, 0x33, 0x33 ),
+	RGBDEF( 0x99, 0x33, 0x66 ),
+	RGBDEF( 0x99, 0x33, 0x99 ),
+	RGBDEF( 0x99, 0x33, 0xcc ),
+	RGBDEF( 0x99, 0x33, 0xff ),
+	RGBDEF( 0xcc, 0x33, 0x00 ),
+	RGBDEF( 0xcc, 0x33, 0x33 ),
+	RGBDEF( 0xcc, 0x33, 0x66 ),
+	RGBDEF( 0xcc, 0x33, 0x99 ),
+	RGBDEF( 0xcc, 0x33, 0xcc ),
+	RGBDEF( 0xcc, 0x33, 0xff ),
+	RGBDEF( 0xff, 0x33, 0x00 ),
+	RGBDEF( 0xff, 0x33, 0x33 ),
+	RGBDEF( 0xff, 0x33, 0x66 ),
+	RGBDEF( 0xff, 0x33, 0x99 ),
+	RGBDEF( 0xff, 0x33, 0xcc ),
+	RGBDEF( 0xff, 0x33, 0xff ),
+	RGBDEF( 0x00, 0x66, 0x00 ),
+	RGBDEF( 0x00, 0x66, 0x33 ),
+	RGBDEF( 0x00, 0x66, 0x66 ),
+	RGBDEF( 0x00, 0x66, 0x99 ),
+	RGBDEF( 0x00, 0x66, 0xcc ),
+	RGBDEF( 0x00, 0x66, 0xff ),
+	RGBDEF( 0x33, 0x66, 0x00 ),
+	RGBDEF( 0x33, 0x66, 0x33 ),
+	RGBDEF( 0x33, 0x66, 0x66 ),
+	RGBDEF( 0x33, 0x66, 0x99 ),
+	RGBDEF( 0x33, 0x66, 0xcc ),
+	RGBDEF( 0x33, 0x66, 0xff ),
+	RGBDEF( 0x66, 0x66, 0x00 ),
+	RGBDEF( 0x66, 0x66, 0x33 ),
+	RGBDEF( 0x66, 0x66, 0x66 ),
+	RGBDEF( 0x66, 0x66, 0x99 ),
+	RGBDEF( 0x66, 0x66, 0xcc ),
+	RGBDEF( 0x66, 0x66, 0xff ),
+	RGBDEF( 0x99, 0x66, 0x00 ),
+	RGBDEF( 0x99, 0x66, 0x33 ),
+	RGBDEF( 0x99, 0x66, 0x66 ),
+	RGBDEF( 0x99, 0x66, 0x99 ),
+	RGBDEF( 0x99, 0x66, 0xcc ),
+	RGBDEF( 0x99, 0x66, 0xff ),
+	RGBDEF( 0xcc, 0x66, 0x00 ),
+	RGBDEF( 0xcc, 0x66, 0x33 ),
+	RGBDEF( 0xcc, 0x66, 0x66 ),
+	RGBDEF( 0xcc, 0x66, 0x99 ),
+	RGBDEF( 0xcc, 0x66, 0xcc ),
+	RGBDEF( 0xcc, 0x66, 0xff ),
+	RGBDEF( 0xff, 0x66, 0x00 ),
+	RGBDEF( 0xff, 0x66, 0x33 ),
+	RGBDEF( 0xff, 0x66, 0x66 ),
+	RGBDEF( 0xff, 0x66, 0x99 ),
+	RGBDEF( 0xff, 0x66, 0xcc ),
+	RGBDEF( 0xff, 0x66, 0xff ),
+	RGBDEF( 0x00, 0x99, 0x00 ),
+	RGBDEF( 0x00, 0x99, 0x33 ),
+	RGBDEF( 0x00, 0x99, 0x66 ),
+	RGBDEF( 0x00, 0x99, 0x99 ),
+	RGBDEF( 0x00, 0x99, 0xcc ),
+	RGBDEF( 0x00, 0x99, 0xff ),
+	RGBDEF( 0x33, 0x99, 0x00 ),
+	RGBDEF( 0x33, 0x99, 0x33 ),
+	RGBDEF( 0x33, 0x99, 0x66 ),
+	RGBDEF( 0x33, 0x99, 0x99 ),
+	RGBDEF( 0x33, 0x99, 0xcc ),
+	RGBDEF( 0x33, 0x99, 0xff ),
+	RGBDEF( 0x66, 0x99, 0x00 ),
+	RGBDEF( 0x66, 0x99, 0x33 ),
+	RGBDEF( 0x66, 0x99, 0x66 ),
+	RGBDEF( 0x66, 0x99, 0x99 ),
+	RGBDEF( 0x66, 0x99, 0xcc ),
+	RGBDEF( 0x66, 0x99, 0xff ),
+	RGBDEF( 0x99, 0x99, 0x00 ),
+	RGBDEF( 0x99, 0x99, 0x33 ),
+	RGBDEF( 0x99, 0x99, 0x66 ),
+	RGBDEF( 0x99, 0x99, 0x99 ),
+	RGBDEF( 0x99, 0x99, 0xcc ),
+	RGBDEF( 0x99, 0x99, 0xff ),
+	RGBDEF( 0xcc, 0x99, 0x00 ),
+	RGBDEF( 0xcc, 0x99, 0x33 ),
+	RGBDEF( 0xcc, 0x99, 0x66 ),
+	RGBDEF( 0xcc, 0x99, 0x99 ),
+	RGBDEF( 0xcc, 0x99, 0xcc ),
+	RGBDEF( 0xcc, 0x99, 0xff ),
+	RGBDEF( 0xff, 0x99, 0x00 ),
+	RGBDEF( 0xff, 0x99, 0x33 ),
+	RGBDEF( 0xff, 0x99, 0x66 ),
+	RGBDEF( 0xff, 0x99, 0x99 ),
+	RGBDEF( 0xff, 0x99, 0xcc ),
+	RGBDEF( 0xff, 0x99, 0xff ),
+	RGBDEF( 0x00, 0xcc, 0x00 ),
+	RGBDEF( 0x00, 0xcc, 0x33 ),
+	RGBDEF( 0x00, 0xcc, 0x66 ),
+	RGBDEF( 0x00, 0xcc, 0x99 ),
+	RGBDEF( 0x00, 0xcc, 0xcc ),
+	RGBDEF( 0x00, 0xcc, 0xff ),
+	RGBDEF( 0x33, 0xcc, 0x00 ),
+	RGBDEF( 0x33, 0xcc, 0x33 ),
+	RGBDEF( 0x33, 0xcc, 0x66 ),
+	RGBDEF( 0x33, 0xcc, 0x99 ),
+	RGBDEF( 0x33, 0xcc, 0xcc ),
+	RGBDEF( 0x33, 0xcc, 0xff ),
+	RGBDEF( 0x66, 0xcc, 0x00 ),
+	RGBDEF( 0x66, 0xcc, 0x33 ),
+	RGBDEF( 0x66, 0xcc, 0x66 ),
+	RGBDEF( 0x66, 0xcc, 0x99 ),
+	RGBDEF( 0x66, 0xcc, 0xcc ),
+	RGBDEF( 0x66, 0xcc, 0xff ),
+	RGBDEF( 0x99, 0xcc, 0x00 ),
+	RGBDEF( 0x99, 0xcc, 0x33 ),
+	RGBDEF( 0x99, 0xcc, 0x66 ),
+	RGBDEF( 0x99, 0xcc, 0x99 ),
+	RGBDEF( 0x99, 0xcc, 0xcc ),
+	RGBDEF( 0x99, 0xcc, 0xff ),
+	RGBDEF( 0xcc, 0xcc, 0x00 ),
+	RGBDEF( 0xcc, 0xcc, 0x33 ),
+	RGBDEF( 0xcc, 0xcc, 0x66 ),
+	RGBDEF( 0xcc, 0xcc, 0x99 ),
+	RGBDEF( 0xcc, 0xcc, 0xcc ),
+	RGBDEF( 0xcc, 0xcc, 0xff ),
+	RGBDEF( 0xff, 0xcc, 0x00 ),
+	RGBDEF( 0xff, 0xcc, 0x33 ),
+	RGBDEF( 0xff, 0xcc, 0x66 ),
+	RGBDEF( 0xff, 0xcc, 0x99 ),
+	RGBDEF( 0xff, 0xcc, 0xcc ),
+	RGBDEF( 0xff, 0xcc, 0xff ),
+	/*RGBDEF( 0x00, 0xff, 0x00 ),*/
+	RGBDEF( 0x00, 0xff, 0x33 ),
+	RGBDEF( 0x00, 0xff, 0x66 ),
+	RGBDEF( 0x00, 0xff, 0x99 ),
+	RGBDEF( 0x00, 0xff, 0xcc ),
+	/*RGBDEF( 0x00, 0xff, 0xff ),*/
+	RGBDEF( 0x33, 0xff, 0x00 ),
+	RGBDEF( 0x33, 0xff, 0x33 ),
+	RGBDEF( 0x33, 0xff, 0x66 ),
+	RGBDEF( 0x33, 0xff, 0x99 ),
+	RGBDEF( 0x33, 0xff, 0xcc ),
+	RGBDEF( 0x33, 0xff, 0xff ),
+	RGBDEF( 0x66, 0xff, 0x00 ),
+	RGBDEF( 0x66, 0xff, 0x33 ),
+	RGBDEF( 0x66, 0xff, 0x66 ),
+	RGBDEF( 0x66, 0xff, 0x99 ),
+	RGBDEF( 0x66, 0xff, 0xcc ),
+	RGBDEF( 0x66, 0xff, 0xff ),
+	RGBDEF( 0x99, 0xff, 0x00 ),
+	RGBDEF( 0x99, 0xff, 0x33 ),
+	RGBDEF( 0x99, 0xff, 0x66 ),
+	RGBDEF( 0x99, 0xff, 0x99 ),
+	RGBDEF( 0x99, 0xff, 0xcc ),
+	RGBDEF( 0x99, 0xff, 0xff ),
+	RGBDEF( 0xcc, 0xff, 0x00 ),
+	RGBDEF( 0xcc, 0xff, 0x33 ),
+	RGBDEF( 0xcc, 0xff, 0x66 ),
+	RGBDEF( 0xcc, 0xff, 0x99 ),
+	RGBDEF( 0xcc, 0xff, 0xcc ),
+	RGBDEF( 0xcc, 0xff, 0xff ),
+	/*RGBDEF( 0xff, 0xff, 0x00 ),*/
+	RGBDEF( 0xff, 0xff, 0x33 ),
+	RGBDEF( 0xff, 0xff, 0x66 ),
+	RGBDEF( 0xff, 0xff, 0x99 ),
+	RGBDEF( 0xff, 0xff, 0xcc ),
+	/*RGBDEF( 0xff, 0xff, 0xff )*/
+};
+
+#if TEST
+main()
+{
+	int	c;
+
+	DPRINTF("%d\n", ((int)&stdpalette[1]) - (int)&stdpalette[0]);
+
+	c = FindNearestColor(stdpalette, 224, 224, 224);
+	DPRINTF("%d = %02x %02x %02x\n", c, stdpalette[c].r, stdpalette[c].g,
+		stdpalette[c].b);
+}
+#endif