1
2 enum {
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
13 static 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
SetColor(int c)25 static void SetColor(int c)
26 {
27 if (glutGet(GLUT_WINDOW_RGBA))
28 glColor3fv(RGBMap[c]);
29 else
30 glIndexf(c);
31 }
32
InitMap(void)33 static 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