1
2enum {
3    COLOR_BLACK = 0,
4    COLOR_RED,
5    COLOR_GREEN,
6    COLOR_YELLOW,
7    COLOR_BLUE,
8    COLOR_MAGENTA,
9    COLOR_CYAN,
10    COLOR_WHITE
11};
12
13static float RGBMap[9][3] = {
14    {0, 0, 0},
15    {1, 0, 0},
16    {0, 1, 0},
17    {1, 1, 0},
18    {0, 0, 1},
19    {1, 0, 1},
20    {0, 1, 1},
21    {1, 1, 1},
22    {0.5, 0.5, 0.5}
23};
24
25static void SetColor(int c)
26{
27    if (glutGet(GLUT_WINDOW_RGBA))
28        glColor3fv(RGBMap[c]);
29    else
30        glIndexf(c);
31}
32
33static void InitMap(void)
34{
35    int i;
36
37    if (rgb)
38	return;
39
40    for (i = 0; i < 9; i++)
41	    glutSetColor(i, RGBMap[i][0], RGBMap[i][1], RGBMap[i][2]);
42}
43