1 /*
2  * Copyright (C) 1989-95 GROUPE BULL
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to
6  * deal in the Software without restriction, including without limitation the
7  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8  * sell copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20  *
21  * Except as contained in this notice, the name of GROUPE BULL shall not be
22  * used in advertising or otherwise to promote the sale, use or other dealings
23  * in this Software without prior written authorization from GROUPE BULL.
24  */
25 
26 /*****************************************************************************\
27 * rgbtab.h                                                                    *
28 *                                                                             *
29 * A hard coded rgb.txt. To keep it short I removed all colornames with        *
30 * trailing numbers, Blue3 etc, except the GrayXX. Sorry Grey-lovers I prefer  *
31 * Gray ;-). But Grey is recognized on lookups, only on save Gray will be      *
32 * used, maybe you want to do some substitue there too.                        *
33 *                                                                             *
34 * To save memory the RGBs are coded in one long value, as done by the RGB     *
35 * macro.                                                                      *
36 *                                                                             *
37 * Developed by HeDu 3/94 (hedu@cul-ipn.uni-kiel.de)                           *
38 \*****************************************************************************/
39 
40 
41 typedef struct {
42     char *name;
43     COLORREF rgb;			/* it's unsigned long */
44 }      rgbRecord;
45 
46 /*
47 #define myRGB(r,g,b) \
48 	((unsigned long)r<<16|(unsigned long)g<<8|(unsigned long)b)
49 */
50 #define myRGB(r,g,b)	RGB(r,g,b)	/* MSW has this macro */
51 
52 
53 static rgbRecord theRGBRecords[] =
54 {
55     {"AliceBlue", myRGB(240, 248, 255)},
56     {"AntiqueWhite", myRGB(250, 235, 215)},
57     {"Aquamarine", myRGB(50, 191, 193)},
58     {"Azure", myRGB(240, 255, 255)},
59     {"Beige", myRGB(245, 245, 220)},
60     {"Bisque", myRGB(255, 228, 196)},
61     {"Black", myRGB(0, 0, 0)},
62     {"BlanchedAlmond", myRGB(255, 235, 205)},
63     {"Blue", myRGB(0, 0, 255)},
64     {"BlueViolet", myRGB(138, 43, 226)},
65     {"Brown", myRGB(165, 42, 42)},
66     {"burlywood", myRGB(222, 184, 135)},
67     {"CadetBlue", myRGB(95, 146, 158)},
68     {"chartreuse", myRGB(127, 255, 0)},
69     {"chocolate", myRGB(210, 105, 30)},
70     {"Coral", myRGB(255, 114, 86)},
71     {"CornflowerBlue", myRGB(34, 34, 152)},
72     {"cornsilk", myRGB(255, 248, 220)},
73     {"Cyan", myRGB(0, 255, 255)},
74     {"DarkGoldenrod", myRGB(184, 134, 11)},
75     {"DarkGreen", myRGB(0, 86, 45)},
76     {"DarkKhaki", myRGB(189, 183, 107)},
77     {"DarkOliveGreen", myRGB(85, 86, 47)},
78     {"DarkOrange", myRGB(255, 140, 0)},
79     {"DarkOrchid", myRGB(139, 32, 139)},
80     {"DarkSalmon", myRGB(233, 150, 122)},
81     {"DarkSeaGreen", myRGB(143, 188, 143)},
82     {"DarkSlateBlue", myRGB(56, 75, 102)},
83     {"DarkSlateGray", myRGB(47, 79, 79)},
84     {"DarkTurquoise", myRGB(0, 166, 166)},
85     {"DarkViolet", myRGB(148, 0, 211)},
86     {"DeepPink", myRGB(255, 20, 147)},
87     {"DeepSkyBlue", myRGB(0, 191, 255)},
88     {"DimGray", myRGB(84, 84, 84)},
89     {"DodgerBlue", myRGB(30, 144, 255)},
90     {"Firebrick", myRGB(142, 35, 35)},
91     {"FloralWhite", myRGB(255, 250, 240)},
92     {"ForestGreen", myRGB(80, 159, 105)},
93     {"gainsboro", myRGB(220, 220, 220)},
94     {"GhostWhite", myRGB(248, 248, 255)},
95     {"Gold", myRGB(218, 170, 0)},
96     {"Goldenrod", myRGB(239, 223, 132)},
97     {"Gray", myRGB(126, 126, 126)},
98     {"Gray0", myRGB(0, 0, 0)},
99     {"Gray1", myRGB(3, 3, 3)},
100     {"Gray10", myRGB(26, 26, 26)},
101     {"Gray100", myRGB(255, 255, 255)},
102     {"Gray11", myRGB(28, 28, 28)},
103     {"Gray12", myRGB(31, 31, 31)},
104     {"Gray13", myRGB(33, 33, 33)},
105     {"Gray14", myRGB(36, 36, 36)},
106     {"Gray15", myRGB(38, 38, 38)},
107     {"Gray16", myRGB(41, 41, 41)},
108     {"Gray17", myRGB(43, 43, 43)},
109     {"Gray18", myRGB(46, 46, 46)},
110     {"Gray19", myRGB(48, 48, 48)},
111     {"Gray2", myRGB(5, 5, 5)},
112     {"Gray20", myRGB(51, 51, 51)},
113     {"Gray21", myRGB(54, 54, 54)},
114     {"Gray22", myRGB(56, 56, 56)},
115     {"Gray23", myRGB(59, 59, 59)},
116     {"Gray24", myRGB(61, 61, 61)},
117     {"Gray25", myRGB(64, 64, 64)},
118     {"Gray26", myRGB(66, 66, 66)},
119     {"Gray27", myRGB(69, 69, 69)},
120     {"Gray28", myRGB(71, 71, 71)},
121     {"Gray29", myRGB(74, 74, 74)},
122     {"Gray3", myRGB(8, 8, 8)},
123     {"Gray30", myRGB(77, 77, 77)},
124     {"Gray31", myRGB(79, 79, 79)},
125     {"Gray32", myRGB(82, 82, 82)},
126     {"Gray33", myRGB(84, 84, 84)},
127     {"Gray34", myRGB(87, 87, 87)},
128     {"Gray35", myRGB(89, 89, 89)},
129     {"Gray36", myRGB(92, 92, 92)},
130     {"Gray37", myRGB(94, 94, 94)},
131     {"Gray38", myRGB(97, 97, 97)},
132     {"Gray39", myRGB(99, 99, 99)},
133     {"Gray4", myRGB(10, 10, 10)},
134     {"Gray40", myRGB(102, 102, 102)},
135     {"Gray41", myRGB(105, 105, 105)},
136     {"Gray42", myRGB(107, 107, 107)},
137     {"Gray43", myRGB(110, 110, 110)},
138     {"Gray44", myRGB(112, 112, 112)},
139     {"Gray45", myRGB(115, 115, 115)},
140     {"Gray46", myRGB(117, 117, 117)},
141     {"Gray47", myRGB(120, 120, 120)},
142     {"Gray48", myRGB(122, 122, 122)},
143     {"Gray49", myRGB(125, 125, 125)},
144     {"Gray5", myRGB(13, 13, 13)},
145     {"Gray50", myRGB(127, 127, 127)},
146     {"Gray51", myRGB(130, 130, 130)},
147     {"Gray52", myRGB(133, 133, 133)},
148     {"Gray53", myRGB(135, 135, 135)},
149     {"Gray54", myRGB(138, 138, 138)},
150     {"Gray55", myRGB(140, 140, 140)},
151     {"Gray56", myRGB(143, 143, 143)},
152     {"Gray57", myRGB(145, 145, 145)},
153     {"Gray58", myRGB(148, 148, 148)},
154     {"Gray59", myRGB(150, 150, 150)},
155     {"Gray6", myRGB(15, 15, 15)},
156     {"Gray60", myRGB(153, 153, 153)},
157     {"Gray61", myRGB(156, 156, 156)},
158     {"Gray62", myRGB(158, 158, 158)},
159     {"Gray63", myRGB(161, 161, 161)},
160     {"Gray64", myRGB(163, 163, 163)},
161     {"Gray65", myRGB(166, 166, 166)},
162     {"Gray66", myRGB(168, 168, 168)},
163     {"Gray67", myRGB(171, 171, 171)},
164     {"Gray68", myRGB(173, 173, 173)},
165     {"Gray69", myRGB(176, 176, 176)},
166     {"Gray7", myRGB(18, 18, 18)},
167     {"Gray70", myRGB(179, 179, 179)},
168     {"Gray71", myRGB(181, 181, 181)},
169     {"Gray72", myRGB(184, 184, 184)},
170     {"Gray73", myRGB(186, 186, 186)},
171     {"Gray74", myRGB(189, 189, 189)},
172     {"Gray75", myRGB(191, 191, 191)},
173     {"Gray76", myRGB(194, 194, 194)},
174     {"Gray77", myRGB(196, 196, 196)},
175     {"Gray78", myRGB(199, 199, 199)},
176     {"Gray79", myRGB(201, 201, 201)},
177     {"Gray8", myRGB(20, 20, 20)},
178     {"Gray80", myRGB(204, 204, 204)},
179     {"Gray81", myRGB(207, 207, 207)},
180     {"Gray82", myRGB(209, 209, 209)},
181     {"Gray83", myRGB(212, 212, 212)},
182     {"Gray84", myRGB(214, 214, 214)},
183     {"Gray85", myRGB(217, 217, 217)},
184     {"Gray86", myRGB(219, 219, 219)},
185     {"Gray87", myRGB(222, 222, 222)},
186     {"Gray88", myRGB(224, 224, 224)},
187     {"Gray89", myRGB(227, 227, 227)},
188     {"Gray9", myRGB(23, 23, 23)},
189     {"Gray90", myRGB(229, 229, 229)},
190     {"Gray91", myRGB(232, 232, 232)},
191     {"Gray92", myRGB(235, 235, 235)},
192     {"Gray93", myRGB(237, 237, 237)},
193     {"Gray94", myRGB(240, 240, 240)},
194     {"Gray95", myRGB(242, 242, 242)},
195     {"Gray96", myRGB(245, 245, 245)},
196     {"Gray97", myRGB(247, 247, 247)},
197     {"Gray98", myRGB(250, 250, 250)},
198     {"Gray99", myRGB(252, 252, 252)},
199     {"Green", myRGB(0, 255, 0)},
200     {"GreenYellow", myRGB(173, 255, 47)},
201     {"honeydew", myRGB(240, 255, 240)},
202     {"HotPink", myRGB(255, 105, 180)},
203     {"IndianRed", myRGB(107, 57, 57)},
204     {"ivory", myRGB(255, 255, 240)},
205     {"Khaki", myRGB(179, 179, 126)},
206     {"lavender", myRGB(230, 230, 250)},
207     {"LavenderBlush", myRGB(255, 240, 245)},
208     {"LawnGreen", myRGB(124, 252, 0)},
209     {"LemonChiffon", myRGB(255, 250, 205)},
210     {"LightBlue", myRGB(176, 226, 255)},
211     {"LightCoral", myRGB(240, 128, 128)},
212     {"LightCyan", myRGB(224, 255, 255)},
213     {"LightGoldenrod", myRGB(238, 221, 130)},
214     {"LightGoldenrodYellow", myRGB(250, 250, 210)},
215     {"LightGray", myRGB(168, 168, 168)},
216     {"LightPink", myRGB(255, 182, 193)},
217     {"LightSalmon", myRGB(255, 160, 122)},
218     {"LightSeaGreen", myRGB(32, 178, 170)},
219     {"LightSkyBlue", myRGB(135, 206, 250)},
220     {"LightSlateBlue", myRGB(132, 112, 255)},
221     {"LightSlateGray", myRGB(119, 136, 153)},
222     {"LightSteelBlue", myRGB(124, 152, 211)},
223     {"LightYellow", myRGB(255, 255, 224)},
224     {"LimeGreen", myRGB(0, 175, 20)},
225     {"linen", myRGB(250, 240, 230)},
226     {"Magenta", myRGB(255, 0, 255)},
227     {"Maroon", myRGB(143, 0, 82)},
228     {"MediumAquamarine", myRGB(0, 147, 143)},
229     {"MediumBlue", myRGB(50, 50, 204)},
230     {"MediumForestGreen", myRGB(50, 129, 75)},
231     {"MediumGoldenrod", myRGB(209, 193, 102)},
232     {"MediumOrchid", myRGB(189, 82, 189)},
233     {"MediumPurple", myRGB(147, 112, 219)},
234     {"MediumSeaGreen", myRGB(52, 119, 102)},
235     {"MediumSlateBlue", myRGB(106, 106, 141)},
236     {"MediumSpringGreen", myRGB(35, 142, 35)},
237     {"MediumTurquoise", myRGB(0, 210, 210)},
238     {"MediumVioletRed", myRGB(213, 32, 121)},
239     {"MidnightBlue", myRGB(47, 47, 100)},
240     {"MintCream", myRGB(245, 255, 250)},
241     {"MistyRose", myRGB(255, 228, 225)},
242     {"moccasin", myRGB(255, 228, 181)},
243     {"NavajoWhite", myRGB(255, 222, 173)},
244     {"Navy", myRGB(35, 35, 117)},
245     {"NavyBlue", myRGB(35, 35, 117)},
246     {"OldLace", myRGB(253, 245, 230)},
247     {"OliveDrab", myRGB(107, 142, 35)},
248     {"Orange", myRGB(255, 135, 0)},
249     {"OrangeRed", myRGB(255, 69, 0)},
250     {"Orchid", myRGB(239, 132, 239)},
251     {"PaleGoldenrod", myRGB(238, 232, 170)},
252     {"PaleGreen", myRGB(115, 222, 120)},
253     {"PaleTurquoise", myRGB(175, 238, 238)},
254     {"PaleVioletRed", myRGB(219, 112, 147)},
255     {"PapayaWhip", myRGB(255, 239, 213)},
256     {"PeachPuff", myRGB(255, 218, 185)},
257     {"peru", myRGB(205, 133, 63)},
258     {"Pink", myRGB(255, 181, 197)},
259     {"Plum", myRGB(197, 72, 155)},
260     {"PowderBlue", myRGB(176, 224, 230)},
261     {"purple", myRGB(160, 32, 240)},
262     {"Red", myRGB(255, 0, 0)},
263     {"RosyBrown", myRGB(188, 143, 143)},
264     {"RoyalBlue", myRGB(65, 105, 225)},
265     {"SaddleBrown", myRGB(139, 69, 19)},
266     {"Salmon", myRGB(233, 150, 122)},
267     {"SandyBrown", myRGB(244, 164, 96)},
268     {"SeaGreen", myRGB(82, 149, 132)},
269     {"seashell", myRGB(255, 245, 238)},
270     {"Sienna", myRGB(150, 82, 45)},
271     {"SkyBlue", myRGB(114, 159, 255)},
272     {"SlateBlue", myRGB(126, 136, 171)},
273     {"SlateGray", myRGB(112, 128, 144)},
274     {"snow", myRGB(255, 250, 250)},
275     {"SpringGreen", myRGB(65, 172, 65)},
276     {"SteelBlue", myRGB(84, 112, 170)},
277     {"Tan", myRGB(222, 184, 135)},
278     {"Thistle", myRGB(216, 191, 216)},
279     {"tomato", myRGB(255, 99, 71)},
280     {"Transparent", myRGB(0, 0, 1)},
281     {"Turquoise", myRGB(25, 204, 223)},
282     {"Violet", myRGB(156, 62, 206)},
283     {"VioletRed", myRGB(243, 62, 150)},
284     {"Wheat", myRGB(245, 222, 179)},
285     {"White", myRGB(255, 255, 255)},
286     {"WhiteSmoke", myRGB(245, 245, 245)},
287     {"Yellow", myRGB(255, 255, 0)},
288     {"YellowGreen", myRGB(50, 216, 56)},
289     NULL
290 };
291 
292 static int numTheRGBRecords = 234;
293