-/* TODO user-selectable colours */
-static const char * const colours[][3] = {
- /*primary bottom top */
- "#8d2e28", "#6a1b17", "#a14842", /* red */
- "#b46e28", "#924a16", "#c7904f", /* orange */
- "#d8b740", "#c59f39", "#e2c65d", /* yellow */
- "#286428", "#194719", "#4e874e", /* green */
- "#003471", "#001f4f", "#00528b", /* blue */
- "#dcdcdc", "#c0c0c0", "#eaeaea", /* white */
+/* Define to 1 to add highlights and delays for visually debugging redraws */
+#if X11_RENDER_DEBUG
+# include <unistd.h>
+#endif
+
+enum {
+ NUM_TILE_COLOURS = COLOUR_MAX*(TILE_MAX-1),
+ COLOUR_UI_GAMEBG = NUM_TILE_COLOURS,
+ COLOUR_UI_MAX
+};
+typedef Pixel colour_tab[COLOUR_UI_MAX];
+
+#define COLOURRES(name, index, def) { \
+ (name), (NULL), XtRPixel, sizeof (String), \
+ offsetof(struct { colour_tab t; }, t[index]), \
+ XtRString, (def) }
+
+static XtResource colour_resources[] = {
+ COLOURRES("colour0", 0, COLOUR0_PRIMARY),
+ COLOURRES("colour1", 1, COLOUR1_PRIMARY),
+ COLOURRES("colour2", 2, COLOUR2_PRIMARY),
+ COLOURRES("colour3", 3, COLOUR3_PRIMARY),
+ COLOURRES("colour4", 4, COLOUR4_PRIMARY),
+ COLOURRES("colour5", 5, COLOUR5_PRIMARY),
+
+ COLOURRES("colourDark0", 6, COLOUR0_DARK),
+ COLOURRES("colourDark1", 7, COLOUR1_DARK),
+ COLOURRES("colourDark2", 8, COLOUR2_DARK),
+ COLOURRES("colourDark3", 9, COLOUR3_DARK),
+ COLOURRES("colourDark4", 10, COLOUR4_DARK),
+ COLOURRES("colourDark5", 11, COLOUR5_DARK),
+
+ COLOURRES("colourLight0", 12, COLOUR0_LIGHT),
+ COLOURRES("colourLight1", 13, COLOUR1_LIGHT),
+ COLOURRES("colourLight2", 14, COLOUR2_LIGHT),
+ COLOURRES("colourLight3", 15, COLOUR3_LIGHT),
+ COLOURRES("colourLight4", 16, COLOUR4_LIGHT),
+ COLOURRES("colourLight5", 17, COLOUR5_LIGHT),
+
+ COLOURRES("gameBackground", COLOUR_UI_GAMEBG, "#181818")