1 |
dashley |
71 |
/* $Header$ */ |
2 |
|
|
|
3 |
|
|
/* |
4 |
|
|
* xcolors.c -- |
5 |
|
|
* |
6 |
|
|
* This file contains the routines used to map from X color |
7 |
|
|
* names to RGB and pixel values. |
8 |
|
|
* |
9 |
|
|
* Copyright (c) 1996 by Sun Microsystems, Inc. |
10 |
|
|
* |
11 |
|
|
* See the file "license.terms" for information on usage and redistribution |
12 |
|
|
* of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
13 |
|
|
* |
14 |
|
|
* RCS: @(#) $Id: xcolors.c,v 1.1.1.1 2001/06/13 05:15:39 dtashley Exp $ |
15 |
|
|
*/ |
16 |
|
|
|
17 |
|
|
#include "tkInt.h" |
18 |
|
|
|
19 |
|
|
/* |
20 |
|
|
* Define an array that defines the mapping from color names to RGB values. |
21 |
|
|
* Note that this array must be kept sorted alphabetically so that the |
22 |
|
|
* binary search used in XParseColor will succeed. |
23 |
|
|
*/ |
24 |
|
|
|
25 |
|
|
typedef struct { |
26 |
|
|
char *name; |
27 |
|
|
unsigned char red; |
28 |
|
|
unsigned char green; |
29 |
|
|
unsigned char blue; |
30 |
|
|
} XColorEntry; |
31 |
|
|
|
32 |
|
|
static XColorEntry xColors[] = { |
33 |
|
|
"alice blue", 240, 248, 255, |
34 |
|
|
"AliceBlue", 240, 248, 255, |
35 |
|
|
"antique white", 250, 235, 215, |
36 |
|
|
"AntiqueWhite", 250, 235, 215, |
37 |
|
|
"AntiqueWhite1", 255, 239, 219, |
38 |
|
|
"AntiqueWhite2", 238, 223, 204, |
39 |
|
|
"AntiqueWhite3", 205, 192, 176, |
40 |
|
|
"AntiqueWhite4", 139, 131, 120, |
41 |
|
|
"aquamarine", 127, 255, 212, |
42 |
|
|
"aquamarine1", 127, 255, 212, |
43 |
|
|
"aquamarine2", 118, 238, 198, |
44 |
|
|
"aquamarine3", 102, 205, 170, |
45 |
|
|
"aquamarine4", 69, 139, 116, |
46 |
|
|
"azure", 240, 255, 255, |
47 |
|
|
"azure1", 240, 255, 255, |
48 |
|
|
"azure2", 224, 238, 238, |
49 |
|
|
"azure3", 193, 205, 205, |
50 |
|
|
"azure4", 131, 139, 139, |
51 |
|
|
"beige", 245, 245, 220, |
52 |
|
|
"bisque", 255, 228, 196, |
53 |
|
|
"bisque1", 255, 228, 196, |
54 |
|
|
"bisque2", 238, 213, 183, |
55 |
|
|
"bisque3", 205, 183, 158, |
56 |
|
|
"bisque4", 139, 125, 107, |
57 |
|
|
"black", 0, 0, 0, |
58 |
|
|
"blanched almond", 255, 235, 205, |
59 |
|
|
"BlanchedAlmond", 255, 235, 205, |
60 |
|
|
"blue", 0, 0, 255, |
61 |
|
|
"blue violet", 138, 43, 226, |
62 |
|
|
"blue1", 0, 0, 255, |
63 |
|
|
"blue2", 0, 0, 238, |
64 |
|
|
"blue3", 0, 0, 205, |
65 |
|
|
"blue4", 0, 0, 139, |
66 |
|
|
"BlueViolet", 138, 43, 226, |
67 |
|
|
"brown", 165, 42, 42, |
68 |
|
|
"brown1", 255, 64, 64, |
69 |
|
|
"brown2", 238, 59, 59, |
70 |
|
|
"brown3", 205, 51, 51, |
71 |
|
|
"brown4", 139, 35, 35, |
72 |
|
|
"burlywood", 222, 184, 135, |
73 |
|
|
"burlywood1", 255, 211, 155, |
74 |
|
|
"burlywood2", 238, 197, 145, |
75 |
|
|
"burlywood3", 205, 170, 125, |
76 |
|
|
"burlywood4", 139, 115, 85, |
77 |
|
|
"cadet blue", 95, 158, 160, |
78 |
|
|
"CadetBlue", 95, 158, 160, |
79 |
|
|
"CadetBlue1", 152, 245, 255, |
80 |
|
|
"CadetBlue2", 142, 229, 238, |
81 |
|
|
"CadetBlue3", 122, 197, 205, |
82 |
|
|
"CadetBlue4", 83, 134, 139, |
83 |
|
|
"chartreuse", 127, 255, 0, |
84 |
|
|
"chartreuse1", 127, 255, 0, |
85 |
|
|
"chartreuse2", 118, 238, 0, |
86 |
|
|
"chartreuse3", 102, 205, 0, |
87 |
|
|
"chartreuse4", 69, 139, 0, |
88 |
|
|
"chocolate", 210, 105, 30, |
89 |
|
|
"chocolate1", 255, 127, 36, |
90 |
|
|
"chocolate2", 238, 118, 33, |
91 |
|
|
"chocolate3", 205, 102, 29, |
92 |
|
|
"chocolate4", 139, 69, 19, |
93 |
|
|
"coral", 255, 127, 80, |
94 |
|
|
"coral1", 255, 114, 86, |
95 |
|
|
"coral2", 238, 106, 80, |
96 |
|
|
"coral3", 205, 91, 69, |
97 |
|
|
"coral4", 139, 62, 47, |
98 |
|
|
"cornflower blue", 100, 149, 237, |
99 |
|
|
"CornflowerBlue", 100, 149, 237, |
100 |
|
|
"cornsilk", 255, 248, 220, |
101 |
|
|
"cornsilk1", 255, 248, 220, |
102 |
|
|
"cornsilk2", 238, 232, 205, |
103 |
|
|
"cornsilk3", 205, 200, 177, |
104 |
|
|
"cornsilk4", 139, 136, 120, |
105 |
|
|
"cyan", 0, 255, 255, |
106 |
|
|
"cyan1", 0, 255, 255, |
107 |
|
|
"cyan2", 0, 238, 238, |
108 |
|
|
"cyan3", 0, 205, 205, |
109 |
|
|
"cyan4", 0, 139, 139, |
110 |
|
|
"dark blue", 0, 0, 139, |
111 |
|
|
"dark cyan", 0, 139, 139, |
112 |
|
|
"dark goldenrod", 184, 134, 11, |
113 |
|
|
"dark gray", 169, 169, 169, |
114 |
|
|
"dark green", 0, 100, 0, |
115 |
|
|
"dark grey", 169, 169, 169, |
116 |
|
|
"dark khaki", 189, 183, 107, |
117 |
|
|
"dark magenta", 139, 0, 139, |
118 |
|
|
"dark olive green", 85, 107, 47, |
119 |
|
|
"dark orange", 255, 140, 0, |
120 |
|
|
"dark orchid", 153, 50, 204, |
121 |
|
|
"dark red", 139, 0, 0, |
122 |
|
|
"dark salmon", 233, 150, 122, |
123 |
|
|
"dark sea green", 143, 188, 143, |
124 |
|
|
"dark slate blue", 72, 61, 139, |
125 |
|
|
"dark slate gray", 47, 79, 79, |
126 |
|
|
"dark slate grey", 47, 79, 79, |
127 |
|
|
"dark turquoise", 0, 206, 209, |
128 |
|
|
"dark violet", 148, 0, 211, |
129 |
|
|
"DarkBlue", 0, 0, 139, |
130 |
|
|
"DarkCyan", 0, 139, 139, |
131 |
|
|
"DarkGoldenrod", 184, 134, 11, |
132 |
|
|
"DarkGoldenrod1", 255, 185, 15, |
133 |
|
|
"DarkGoldenrod2", 238, 173, 14, |
134 |
|
|
"DarkGoldenrod3", 205, 149, 12, |
135 |
|
|
"DarkGoldenrod4", 139, 101, 8, |
136 |
|
|
"DarkGray", 169, 169, 169, |
137 |
|
|
"DarkGreen", 0, 100, 0, |
138 |
|
|
"DarkGrey", 169, 169, 169, |
139 |
|
|
"DarkKhaki", 189, 183, 107, |
140 |
|
|
"DarkMagenta", 139, 0, 139, |
141 |
|
|
"DarkOliveGreen", 85, 107, 47, |
142 |
|
|
"DarkOliveGreen1", 202, 255, 112, |
143 |
|
|
"DarkOliveGreen2", 188, 238, 104, |
144 |
|
|
"DarkOliveGreen3", 162, 205, 90, |
145 |
|
|
"DarkOliveGreen4", 110, 139, 61, |
146 |
|
|
"DarkOrange", 255, 140, 0, |
147 |
|
|
"DarkOrange1", 255, 127, 0, |
148 |
|
|
"DarkOrange2", 238, 118, 0, |
149 |
|
|
"DarkOrange3", 205, 102, 0, |
150 |
|
|
"DarkOrange4", 139, 69, 0, |
151 |
|
|
"DarkOrchid", 153, 50, 204, |
152 |
|
|
"DarkOrchid1", 191, 62, 255, |
153 |
|
|
"DarkOrchid2", 178, 58, 238, |
154 |
|
|
"DarkOrchid3", 154, 50, 205, |
155 |
|
|
"DarkOrchid4", 104, 34, 139, |
156 |
|
|
"DarkRed", 139, 0, 0, |
157 |
|
|
"DarkSalmon", 233, 150, 122, |
158 |
|
|
"DarkSeaGreen", 143, 188, 143, |
159 |
|
|
"DarkSeaGreen1", 193, 255, 193, |
160 |
|
|
"DarkSeaGreen2", 180, 238, 180, |
161 |
|
|
"DarkSeaGreen3", 155, 205, 155, |
162 |
|
|
"DarkSeaGreen4", 105, 139, 105, |
163 |
|
|
"DarkSlateBlue", 72, 61, 139, |
164 |
|
|
"DarkSlateGray", 47, 79, 79, |
165 |
|
|
"DarkSlateGray1", 151, 255, 255, |
166 |
|
|
"DarkSlateGray2", 141, 238, 238, |
167 |
|
|
"DarkSlateGray3", 121, 205, 205, |
168 |
|
|
"DarkSlateGray4", 82, 139, 139, |
169 |
|
|
"DarkSlateGrey", 47, 79, 79, |
170 |
|
|
"DarkTurquoise", 0, 206, 209, |
171 |
|
|
"DarkViolet", 148, 0, 211, |
172 |
|
|
"deep pink", 255, 20, 147, |
173 |
|
|
"deep sky blue", 0, 191, 255, |
174 |
|
|
"DeepPink", 255, 20, 147, |
175 |
|
|
"DeepPink1", 255, 20, 147, |
176 |
|
|
"DeepPink2", 238, 18, 137, |
177 |
|
|
"DeepPink3", 205, 16, 118, |
178 |
|
|
"DeepPink4", 139, 10, 80, |
179 |
|
|
"DeepSkyBlue", 0, 191, 255, |
180 |
|
|
"DeepSkyBlue1", 0, 191, 255, |
181 |
|
|
"DeepSkyBlue2", 0, 178, 238, |
182 |
|
|
"DeepSkyBlue3", 0, 154, 205, |
183 |
|
|
"DeepSkyBlue4", 0, 104, 139, |
184 |
|
|
"dim gray", 105, 105, 105, |
185 |
|
|
"dim grey", 105, 105, 105, |
186 |
|
|
"DimGray", 105, 105, 105, |
187 |
|
|
"DimGrey", 105, 105, 105, |
188 |
|
|
"dodger blue", 30, 144, 255, |
189 |
|
|
"DodgerBlue", 30, 144, 255, |
190 |
|
|
"DodgerBlue1", 30, 144, 255, |
191 |
|
|
"DodgerBlue2", 28, 134, 238, |
192 |
|
|
"DodgerBlue3", 24, 116, 205, |
193 |
|
|
"DodgerBlue4", 16, 78, 139, |
194 |
|
|
"firebrick", 178, 34, 34, |
195 |
|
|
"firebrick1", 255, 48, 48, |
196 |
|
|
"firebrick2", 238, 44, 44, |
197 |
|
|
"firebrick3", 205, 38, 38, |
198 |
|
|
"firebrick4", 139, 26, 26, |
199 |
|
|
"floral white", 255, 250, 240, |
200 |
|
|
"FloralWhite", 255, 250, 240, |
201 |
|
|
"forest green", 34, 139, 34, |
202 |
|
|
"ForestGreen", 34, 139, 34, |
203 |
|
|
"gainsboro", 220, 220, 220, |
204 |
|
|
"ghost white", 248, 248, 255, |
205 |
|
|
"GhostWhite", 248, 248, 255, |
206 |
|
|
"gold", 255, 215, 0, |
207 |
|
|
"gold1", 255, 215, 0, |
208 |
|
|
"gold2", 238, 201, 0, |
209 |
|
|
"gold3", 205, 173, 0, |
210 |
|
|
"gold4", 139, 117, 0, |
211 |
|
|
"goldenrod", 218, 165, 32, |
212 |
|
|
"goldenrod1", 255, 193, 37, |
213 |
|
|
"goldenrod2", 238, 180, 34, |
214 |
|
|
"goldenrod3", 205, 155, 29, |
215 |
|
|
"goldenrod4", 139, 105, 20, |
216 |
|
|
"gray", 190, 190, 190, |
217 |
|
|
"gray0", 0, 0, 0, |
218 |
|
|
"gray1", 3, 3, 3, |
219 |
|
|
"gray10", 26, 26, 26, |
220 |
|
|
"gray100", 255, 255, 255, |
221 |
|
|
"gray11", 28, 28, 28, |
222 |
|
|
"gray12", 31, 31, 31, |
223 |
|
|
"gray13", 33, 33, 33, |
224 |
|
|
"gray14", 36, 36, 36, |
225 |
|
|
"gray15", 38, 38, 38, |
226 |
|
|
"gray16", 41, 41, 41, |
227 |
|
|
"gray17", 43, 43, 43, |
228 |
|
|
"gray18", 46, 46, 46, |
229 |
|
|
"gray19", 48, 48, 48, |
230 |
|
|
"gray2", 5, 5, 5, |
231 |
|
|
"gray20", 51, 51, 51, |
232 |
|
|
"gray21", 54, 54, 54, |
233 |
|
|
"gray22", 56, 56, 56, |
234 |
|
|
"gray23", 59, 59, 59, |
235 |
|
|
"gray24", 61, 61, 61, |
236 |
|
|
"gray25", 64, 64, 64, |
237 |
|
|
"gray26", 66, 66, 66, |
238 |
|
|
"gray27", 69, 69, 69, |
239 |
|
|
"gray28", 71, 71, 71, |
240 |
|
|
"gray29", 74, 74, 74, |
241 |
|
|
"gray3", 8, 8, 8, |
242 |
|
|
"gray30", 77, 77, 77, |
243 |
|
|
"gray31", 79, 79, 79, |
244 |
|
|
"gray32", 82, 82, 82, |
245 |
|
|
"gray33", 84, 84, 84, |
246 |
|
|
"gray34", 87, 87, 87, |
247 |
|
|
"gray35", 89, 89, 89, |
248 |
|
|
"gray36", 92, 92, 92, |
249 |
|
|
"gray37", 94, 94, 94, |
250 |
|
|
"gray38", 97, 97, 97, |
251 |
|
|
"gray39", 99, 99, 99, |
252 |
|
|
"gray4", 10, 10, 10, |
253 |
|
|
"gray40", 102, 102, 102, |
254 |
|
|
"gray41", 105, 105, 105, |
255 |
|
|
"gray42", 107, 107, 107, |
256 |
|
|
"gray43", 110, 110, 110, |
257 |
|
|
"gray44", 112, 112, 112, |
258 |
|
|
"gray45", 115, 115, 115, |
259 |
|
|
"gray46", 117, 117, 117, |
260 |
|
|
"gray47", 120, 120, 120, |
261 |
|
|
"gray48", 122, 122, 122, |
262 |
|
|
"gray49", 125, 125, 125, |
263 |
|
|
"gray5", 13, 13, 13, |
264 |
|
|
"gray50", 127, 127, 127, |
265 |
|
|
"gray51", 130, 130, 130, |
266 |
|
|
"gray52", 133, 133, 133, |
267 |
|
|
"gray53", 135, 135, 135, |
268 |
|
|
"gray54", 138, 138, 138, |
269 |
|
|
"gray55", 140, 140, 140, |
270 |
|
|
"gray56", 143, 143, 143, |
271 |
|
|
"gray57", 145, 145, 145, |
272 |
|
|
"gray58", 148, 148, 148, |
273 |
|
|
"gray59", 150, 150, 150, |
274 |
|
|
"gray6", 15, 15, 15, |
275 |
|
|
"gray60", 153, 153, 153, |
276 |
|
|
"gray61", 156, 156, 156, |
277 |
|
|
"gray62", 158, 158, 158, |
278 |
|
|
"gray63", 161, 161, 161, |
279 |
|
|
"gray64", 163, 163, 163, |
280 |
|
|
"gray65", 166, 166, 166, |
281 |
|
|
"gray66", 168, 168, 168, |
282 |
|
|
"gray67", 171, 171, 171, |
283 |
|
|
"gray68", 173, 173, 173, |
284 |
|
|
"gray69", 176, 176, 176, |
285 |
|
|
"gray7", 18, 18, 18, |
286 |
|
|
"gray70", 179, 179, 179, |
287 |
|
|
"gray71", 181, 181, 181, |
288 |
|
|
"gray72", 184, 184, 184, |
289 |
|
|
"gray73", 186, 186, 186, |
290 |
|
|
"gray74", 189, 189, 189, |
291 |
|
|
"gray75", 191, 191, 191, |
292 |
|
|
"gray76", 194, 194, 194, |
293 |
|
|
"gray77", 196, 196, 196, |
294 |
|
|
"gray78", 199, 199, 199, |
295 |
|
|
"gray79", 201, 201, 201, |
296 |
|
|
"gray8", 20, 20, 20, |
297 |
|
|
"gray80", 204, 204, 204, |
298 |
|
|
"gray81", 207, 207, 207, |
299 |
|
|
"gray82", 209, 209, 209, |
300 |
|
|
"gray83", 212, 212, 212, |
301 |
|
|
"gray84", 214, 214, 214, |
302 |
|
|
"gray85", 217, 217, 217, |
303 |
|
|
"gray86", 219, 219, 219, |
304 |
|
|
"gray87", 222, 222, 222, |
305 |
|
|
"gray88", 224, 224, 224, |
306 |
|
|
"gray89", 227, 227, 227, |
307 |
|
|
"gray9", 23, 23, 23, |
308 |
|
|
"gray90", 229, 229, 229, |
309 |
|
|
"gray91", 232, 232, 232, |
310 |
|
|
"gray92", 235, 235, 235, |
311 |
|
|
"gray93", 237, 237, 237, |
312 |
|
|
"gray94", 240, 240, 240, |
313 |
|
|
"gray95", 242, 242, 242, |
314 |
|
|
"gray96", 245, 245, 245, |
315 |
|
|
"gray97", 247, 247, 247, |
316 |
|
|
"gray98", 250, 250, 250, |
317 |
|
|
"gray99", 252, 252, 252, |
318 |
|
|
"green", 0, 255, 0, |
319 |
|
|
"green yellow", 173, 255, 47, |
320 |
|
|
"green1", 0, 255, 0, |
321 |
|
|
"green2", 0, 238, 0, |
322 |
|
|
"green3", 0, 205, 0, |
323 |
|
|
"green4", 0, 139, 0, |
324 |
|
|
"GreenYellow", 173, 255, 47, |
325 |
|
|
"grey", 190, 190, 190, |
326 |
|
|
"grey0", 0, 0, 0, |
327 |
|
|
"grey1", 3, 3, 3, |
328 |
|
|
"grey10", 26, 26, 26, |
329 |
|
|
"grey100", 255, 255, 255, |
330 |
|
|
"grey11", 28, 28, 28, |
331 |
|
|
"grey12", 31, 31, 31, |
332 |
|
|
"grey13", 33, 33, 33, |
333 |
|
|
"grey14", 36, 36, 36, |
334 |
|
|
"grey15", 38, 38, 38, |
335 |
|
|
"grey16", 41, 41, 41, |
336 |
|
|
"grey17", 43, 43, 43, |
337 |
|
|
"grey18", 46, 46, 46, |
338 |
|
|
"grey19", 48, 48, 48, |
339 |
|
|
"grey2", 5, 5, 5, |
340 |
|
|
"grey20", 51, 51, 51, |
341 |
|
|
"grey21", 54, 54, 54, |
342 |
|
|
"grey22", 56, 56, 56, |
343 |
|
|
"grey23", 59, 59, 59, |
344 |
|
|
"grey24", 61, 61, 61, |
345 |
|
|
"grey25", 64, 64, 64, |
346 |
|
|
"grey26", 66, 66, 66, |
347 |
|
|
"grey27", 69, 69, 69, |
348 |
|
|
"grey28", 71, 71, 71, |
349 |
|
|
"grey29", 74, 74, 74, |
350 |
|
|
"grey3", 8, 8, 8, |
351 |
|
|
"grey30", 77, 77, 77, |
352 |
|
|
"grey31", 79, 79, 79, |
353 |
|
|
"grey32", 82, 82, 82, |
354 |
|
|
"grey33", 84, 84, 84, |
355 |
|
|
"grey34", 87, 87, 87, |
356 |
|
|
"grey35", 89, 89, 89, |
357 |
|
|
"grey36", 92, 92, 92, |
358 |
|
|
"grey37", 94, 94, 94, |
359 |
|
|
"grey38", 97, 97, 97, |
360 |
|
|
"grey39", 99, 99, 99, |
361 |
|
|
"grey4", 10, 10, 10, |
362 |
|
|
"grey40", 102, 102, 102, |
363 |
|
|
"grey41", 105, 105, 105, |
364 |
|
|
"grey42", 107, 107, 107, |
365 |
|
|
"grey43", 110, 110, 110, |
366 |
|
|
"grey44", 112, 112, 112, |
367 |
|
|
"grey45", 115, 115, 115, |
368 |
|
|
"grey46", 117, 117, 117, |
369 |
|
|
"grey47", 120, 120, 120, |
370 |
|
|
"grey48", 122, 122, 122, |
371 |
|
|
"grey49", 125, 125, 125, |
372 |
|
|
"grey5", 13, 13, 13, |
373 |
|
|
"grey50", 127, 127, 127, |
374 |
|
|
"grey51", 130, 130, 130, |
375 |
|
|
"grey52", 133, 133, 133, |
376 |
|
|
"grey53", 135, 135, 135, |
377 |
|
|
"grey54", 138, 138, 138, |
378 |
|
|
"grey55", 140, 140, 140, |
379 |
|
|
"grey56", 143, 143, 143, |
380 |
|
|
"grey57", 145, 145, 145, |
381 |
|
|
"grey58", 148, 148, 148, |
382 |
|
|
"grey59", 150, 150, 150, |
383 |
|
|
"grey6", 15, 15, 15, |
384 |
|
|
"grey60", 153, 153, 153, |
385 |
|
|
"grey61", 156, 156, 156, |
386 |
|
|
"grey62", 158, 158, 158, |
387 |
|
|
"grey63", 161, 161, 161, |
388 |
|
|
"grey64", 163, 163, 163, |
389 |
|
|
"grey65", 166, 166, 166, |
390 |
|
|
"grey66", 168, 168, 168, |
391 |
|
|
"grey67", 171, 171, 171, |
392 |
|
|
"grey68", 173, 173, 173, |
393 |
|
|
"grey69", 176, 176, 176, |
394 |
|
|
"grey7", 18, 18, 18, |
395 |
|
|
"grey70", 179, 179, 179, |
396 |
|
|
"grey71", 181, 181, 181, |
397 |
|
|
"grey72", 184, 184, 184, |
398 |
|
|
"grey73", 186, 186, 186, |
399 |
|
|
"grey74", 189, 189, 189, |
400 |
|
|
"grey75", 191, 191, 191, |
401 |
|
|
"grey76", 194, 194, 194, |
402 |
|
|
"grey77", 196, 196, 196, |
403 |
|
|
"grey78", 199, 199, 199, |
404 |
|
|
"grey79", 201, 201, 201, |
405 |
|
|
"grey8", 20, 20, 20, |
406 |
|
|
"grey80", 204, 204, 204, |
407 |
|
|
"grey81", 207, 207, 207, |
408 |
|
|
"grey82", 209, 209, 209, |
409 |
|
|
"grey83", 212, 212, 212, |
410 |
|
|
"grey84", 214, 214, 214, |
411 |
|
|
"grey85", 217, 217, 217, |
412 |
|
|
"grey86", 219, 219, 219, |
413 |
|
|
"grey87", 222, 222, 222, |
414 |
|
|
"grey88", 224, 224, 224, |
415 |
|
|
"grey89", 227, 227, 227, |
416 |
|
|
"grey9", 23, 23, 23, |
417 |
|
|
"grey90", 229, 229, 229, |
418 |
|
|
"grey91", 232, 232, 232, |
419 |
|
|
"grey92", 235, 235, 235, |
420 |
|
|
"grey93", 237, 237, 237, |
421 |
|
|
"grey94", 240, 240, 240, |
422 |
|
|
"grey95", 242, 242, 242, |
423 |
|
|
"grey96", 245, 245, 245, |
424 |
|
|
"grey97", 247, 247, 247, |
425 |
|
|
"grey98", 250, 250, 250, |
426 |
|
|
"grey99", 252, 252, 252, |
427 |
|
|
"honeydew", 240, 255, 240, |
428 |
|
|
"honeydew1", 240, 255, 240, |
429 |
|
|
"honeydew2", 224, 238, 224, |
430 |
|
|
"honeydew3", 193, 205, 193, |
431 |
|
|
"honeydew4", 131, 139, 131, |
432 |
|
|
"hot pink", 255, 105, 180, |
433 |
|
|
"HotPink", 255, 105, 180, |
434 |
|
|
"HotPink1", 255, 110, 180, |
435 |
|
|
"HotPink2", 238, 106, 167, |
436 |
|
|
"HotPink3", 205, 96, 144, |
437 |
|
|
"HotPink4", 139, 58, 98, |
438 |
|
|
"indian red", 205, 92, 92, |
439 |
|
|
"IndianRed", 205, 92, 92, |
440 |
|
|
"IndianRed1", 255, 106, 106, |
441 |
|
|
"IndianRed2", 238, 99, 99, |
442 |
|
|
"IndianRed3", 205, 85, 85, |
443 |
|
|
"IndianRed4", 139, 58, 58, |
444 |
|
|
"ivory", 255, 255, 240, |
445 |
|
|
"ivory1", 255, 255, 240, |
446 |
|
|
"ivory2", 238, 238, 224, |
447 |
|
|
"ivory3", 205, 205, 193, |
448 |
|
|
"ivory4", 139, 139, 131, |
449 |
|
|
"khaki", 240, 230, 140, |
450 |
|
|
"khaki1", 255, 246, 143, |
451 |
|
|
"khaki2", 238, 230, 133, |
452 |
|
|
"khaki3", 205, 198, 115, |
453 |
|
|
"khaki4", 139, 134, 78, |
454 |
|
|
"lavender", 230, 230, 250, |
455 |
|
|
"lavender blush", 255, 240, 245, |
456 |
|
|
"LavenderBlush", 255, 240, 245, |
457 |
|
|
"LavenderBlush1", 255, 240, 245, |
458 |
|
|
"LavenderBlush2", 238, 224, 229, |
459 |
|
|
"LavenderBlush3", 205, 193, 197, |
460 |
|
|
"LavenderBlush4", 139, 131, 134, |
461 |
|
|
"lawn green", 124, 252, 0, |
462 |
|
|
"LawnGreen", 124, 252, 0, |
463 |
|
|
"lemon chiffon", 255, 250, 205, |
464 |
|
|
"LemonChiffon", 255, 250, 205, |
465 |
|
|
"LemonChiffon1", 255, 250, 205, |
466 |
|
|
"LemonChiffon2", 238, 233, 191, |
467 |
|
|
"LemonChiffon3", 205, 201, 165, |
468 |
|
|
"LemonChiffon4", 139, 137, 112, |
469 |
|
|
"light blue", 173, 216, 230, |
470 |
|
|
"light coral", 240, 128, 128, |
471 |
|
|
"light cyan", 224, 255, 255, |
472 |
|
|
"light goldenrod", 238, 221, 130, |
473 |
|
|
"light goldenrod yellow", 250, 250, 210, |
474 |
|
|
"light gray", 211, 211, 211, |
475 |
|
|
"light green", 144, 238, 144, |
476 |
|
|
"light grey", 211, 211, 211, |
477 |
|
|
"light pink", 255, 182, 193, |
478 |
|
|
"light salmon", 255, 160, 122, |
479 |
|
|
"light sea green", 32, 178, 170, |
480 |
|
|
"light sky blue", 135, 206, 250, |
481 |
|
|
"light slate blue", 132, 112, 255, |
482 |
|
|
"light slate gray", 119, 136, 153, |
483 |
|
|
"light slate grey", 119, 136, 153, |
484 |
|
|
"light steel blue", 176, 196, 222, |
485 |
|
|
"light yellow", 255, 255, 224, |
486 |
|
|
"LightBlue", 173, 216, 230, |
487 |
|
|
"LightBlue1", 191, 239, 255, |
488 |
|
|
"LightBlue2", 178, 223, 238, |
489 |
|
|
"LightBlue3", 154, 192, 205, |
490 |
|
|
"LightBlue4", 104, 131, 139, |
491 |
|
|
"LightCoral", 240, 128, 128, |
492 |
|
|
"LightCyan", 224, 255, 255, |
493 |
|
|
"LightCyan1", 224, 255, 255, |
494 |
|
|
"LightCyan2", 209, 238, 238, |
495 |
|
|
"LightCyan3", 180, 205, 205, |
496 |
|
|
"LightCyan4", 122, 139, 139, |
497 |
|
|
"LightGoldenrod", 238, 221, 130, |
498 |
|
|
"LightGoldenrod1", 255, 236, 139, |
499 |
|
|
"LightGoldenrod2", 238, 220, 130, |
500 |
|
|
"LightGoldenrod3", 205, 190, 112, |
501 |
|
|
"LightGoldenrod4", 139, 129, 76, |
502 |
|
|
"LightGoldenrodYellow", 250, 250, 210, |
503 |
|
|
"LightGray", 211, 211, 211, |
504 |
|
|
"LightGreen", 144, 238, 144, |
505 |
|
|
"LightGrey", 211, 211, 211, |
506 |
|
|
"LightPink", 255, 182, 193, |
507 |
|
|
"LightPink1", 255, 174, 185, |
508 |
|
|
"LightPink2", 238, 162, 173, |
509 |
|
|
"LightPink3", 205, 140, 149, |
510 |
|
|
"LightPink4", 139, 95, 101, |
511 |
|
|
"LightSalmon", 255, 160, 122, |
512 |
|
|
"LightSalmon1", 255, 160, 122, |
513 |
|
|
"LightSalmon2", 238, 149, 114, |
514 |
|
|
"LightSalmon3", 205, 129, 98, |
515 |
|
|
"LightSalmon4", 139, 87, 66, |
516 |
|
|
"LightSeaGreen", 32, 178, 170, |
517 |
|
|
"LightSkyBlue", 135, 206, 250, |
518 |
|
|
"LightSkyBlue1", 176, 226, 255, |
519 |
|
|
"LightSkyBlue2", 164, 211, 238, |
520 |
|
|
"LightSkyBlue3", 141, 182, 205, |
521 |
|
|
"LightSkyBlue4", 96, 123, 139, |
522 |
|
|
"LightSlateBlue", 132, 112, 255, |
523 |
|
|
"LightSlateGray", 119, 136, 153, |
524 |
|
|
"LightSlateGrey", 119, 136, 153, |
525 |
|
|
"LightSteelBlue", 176, 196, 222, |
526 |
|
|
"LightSteelBlue1", 202, 225, 255, |
527 |
|
|
"LightSteelBlue2", 188, 210, 238, |
528 |
|
|
"LightSteelBlue3", 162, 181, 205, |
529 |
|
|
"LightSteelBlue4", 110, 123, 139, |
530 |
|
|
"LightYellow", 255, 255, 224, |
531 |
|
|
"LightYellow1", 255, 255, 224, |
532 |
|
|
"LightYellow2", 238, 238, 209, |
533 |
|
|
"LightYellow3", 205, 205, 180, |
534 |
|
|
"LightYellow4", 139, 139, 122, |
535 |
|
|
"lime green", 50, 205, 50, |
536 |
|
|
"LimeGreen", 50, 205, 50, |
537 |
|
|
"linen", 250, 240, 230, |
538 |
|
|
"magenta", 255, 0, 255, |
539 |
|
|
"magenta1", 255, 0, 255, |
540 |
|
|
"magenta2", 238, 0, 238, |
541 |
|
|
"magenta3", 205, 0, 205, |
542 |
|
|
"magenta4", 139, 0, 139, |
543 |
|
|
"maroon", 176, 48, 96, |
544 |
|
|
"maroon1", 255, 52, 179, |
545 |
|
|
"maroon2", 238, 48, 167, |
546 |
|
|
"maroon3", 205, 41, 144, |
547 |
|
|
"maroon4", 139, 28, 98, |
548 |
|
|
"medium aquamarine", 102, 205, 170, |
549 |
|
|
"medium blue", 0, 0, 205, |
550 |
|
|
"medium orchid", 186, 85, 211, |
551 |
|
|
"medium purple", 147, 112, 219, |
552 |
|
|
"medium sea green", 60, 179, 113, |
553 |
|
|
"medium slate blue", 123, 104, 238, |
554 |
|
|
"medium spring green", 0, 250, 154, |
555 |
|
|
"medium turquoise", 72, 209, 204, |
556 |
|
|
"medium violet red", 199, 21, 133, |
557 |
|
|
"MediumAquamarine", 102, 205, 170, |
558 |
|
|
"MediumBlue", 0, 0, 205, |
559 |
|
|
"MediumOrchid", 186, 85, 211, |
560 |
|
|
"MediumOrchid1", 224, 102, 255, |
561 |
|
|
"MediumOrchid2", 209, 95, 238, |
562 |
|
|
"MediumOrchid3", 180, 82, 205, |
563 |
|
|
"MediumOrchid4", 122, 55, 139, |
564 |
|
|
"MediumPurple", 147, 112, 219, |
565 |
|
|
"MediumPurple1", 171, 130, 255, |
566 |
|
|
"MediumPurple2", 159, 121, 238, |
567 |
|
|
"MediumPurple3", 137, 104, 205, |
568 |
|
|
"MediumPurple4", 93, 71, 139, |
569 |
|
|
"MediumSeaGreen", 60, 179, 113, |
570 |
|
|
"MediumSlateBlue", 123, 104, 238, |
571 |
|
|
"MediumSpringGreen", 0, 250, 154, |
572 |
|
|
"MediumTurquoise", 72, 209, 204, |
573 |
|
|
"MediumVioletRed", 199, 21, 133, |
574 |
|
|
"midnight blue", 25, 25, 112, |
575 |
|
|
"MidnightBlue", 25, 25, 112, |
576 |
|
|
"mint cream", 245, 255, 250, |
577 |
|
|
"MintCream", 245, 255, 250, |
578 |
|
|
"misty rose", 255, 228, 225, |
579 |
|
|
"MistyRose", 255, 228, 225, |
580 |
|
|
"MistyRose1", 255, 228, 225, |
581 |
|
|
"MistyRose2", 238, 213, 210, |
582 |
|
|
"MistyRose3", 205, 183, 181, |
583 |
|
|
"MistyRose4", 139, 125, 123, |
584 |
|
|
"moccasin", 255, 228, 181, |
585 |
|
|
"navajo white", 255, 222, 173, |
586 |
|
|
"NavajoWhite", 255, 222, 173, |
587 |
|
|
"NavajoWhite1", 255, 222, 173, |
588 |
|
|
"NavajoWhite2", 238, 207, 161, |
589 |
|
|
"NavajoWhite3", 205, 179, 139, |
590 |
|
|
"NavajoWhite4", 139, 121, 94, |
591 |
|
|
"navy", 0, 0, 128, |
592 |
|
|
"navy blue", 0, 0, 128, |
593 |
|
|
"NavyBlue", 0, 0, 128, |
594 |
|
|
"old lace", 253, 245, 230, |
595 |
|
|
"OldLace", 253, 245, 230, |
596 |
|
|
"olive drab", 107, 142, 35, |
597 |
|
|
"OliveDrab", 107, 142, 35, |
598 |
|
|
"OliveDrab1", 192, 255, 62, |
599 |
|
|
"OliveDrab2", 179, 238, 58, |
600 |
|
|
"OliveDrab3", 154, 205, 50, |
601 |
|
|
"OliveDrab4", 105, 139, 34, |
602 |
|
|
"orange", 255, 165, 0, |
603 |
|
|
"orange red", 255, 69, 0, |
604 |
|
|
"orange1", 255, 165, 0, |
605 |
|
|
"orange2", 238, 154, 0, |
606 |
|
|
"orange3", 205, 133, 0, |
607 |
|
|
"orange4", 139, 90, 0, |
608 |
|
|
"OrangeRed", 255, 69, 0, |
609 |
|
|
"OrangeRed1", 255, 69, 0, |
610 |
|
|
"OrangeRed2", 238, 64, 0, |
611 |
|
|
"OrangeRed3", 205, 55, 0, |
612 |
|
|
"OrangeRed4", 139, 37, 0, |
613 |
|
|
"orchid", 218, 112, 214, |
614 |
|
|
"orchid1", 255, 131, 250, |
615 |
|
|
"orchid2", 238, 122, 233, |
616 |
|
|
"orchid3", 205, 105, 201, |
617 |
|
|
"orchid4", 139, 71, 137, |
618 |
|
|
"pale goldenrod", 238, 232, 170, |
619 |
|
|
"pale green", 152, 251, 152, |
620 |
|
|
"pale turquoise", 175, 238, 238, |
621 |
|
|
"pale violet red", 219, 112, 147, |
622 |
|
|
"PaleGoldenrod", 238, 232, 170, |
623 |
|
|
"PaleGreen", 152, 251, 152, |
624 |
|
|
"PaleGreen1", 154, 255, 154, |
625 |
|
|
"PaleGreen2", 144, 238, 144, |
626 |
|
|
"PaleGreen3", 124, 205, 124, |
627 |
|
|
"PaleGreen4", 84, 139, 84, |
628 |
|
|
"PaleTurquoise", 175, 238, 238, |
629 |
|
|
"PaleTurquoise1", 187, 255, 255, |
630 |
|
|
"PaleTurquoise2", 174, 238, 238, |
631 |
|
|
"PaleTurquoise3", 150, 205, 205, |
632 |
|
|
"PaleTurquoise4", 102, 139, 139, |
633 |
|
|
"PaleVioletRed", 219, 112, 147, |
634 |
|
|
"PaleVioletRed1", 255, 130, 171, |
635 |
|
|
"PaleVioletRed2", 238, 121, 159, |
636 |
|
|
"PaleVioletRed3", 205, 104, 137, |
637 |
|
|
"PaleVioletRed4", 139, 71, 93, |
638 |
|
|
"papaya whip", 255, 239, 213, |
639 |
|
|
"PapayaWhip", 255, 239, 213, |
640 |
|
|
"peach puff", 255, 218, 185, |
641 |
|
|
"PeachPuff", 255, 218, 185, |
642 |
|
|
"PeachPuff1", 255, 218, 185, |
643 |
|
|
"PeachPuff2", 238, 203, 173, |
644 |
|
|
"PeachPuff3", 205, 175, 149, |
645 |
|
|
"PeachPuff4", 139, 119, 101, |
646 |
|
|
"peru", 205, 133, 63, |
647 |
|
|
"pink", 255, 192, 203, |
648 |
|
|
"pink1", 255, 181, 197, |
649 |
|
|
"pink2", 238, 169, 184, |
650 |
|
|
"pink3", 205, 145, 158, |
651 |
|
|
"pink4", 139, 99, 108, |
652 |
|
|
"plum", 221, 160, 221, |
653 |
|
|
"plum1", 255, 187, 255, |
654 |
|
|
"plum2", 238, 174, 238, |
655 |
|
|
"plum3", 205, 150, 205, |
656 |
|
|
"plum4", 139, 102, 139, |
657 |
|
|
"powder blue", 176, 224, 230, |
658 |
|
|
"PowderBlue", 176, 224, 230, |
659 |
|
|
"purple", 160, 32, 240, |
660 |
|
|
"purple1", 155, 48, 255, |
661 |
|
|
"purple2", 145, 44, 238, |
662 |
|
|
"purple3", 125, 38, 205, |
663 |
|
|
"purple4", 85, 26, 139, |
664 |
|
|
"red", 255, 0, 0, |
665 |
|
|
"red1", 255, 0, 0, |
666 |
|
|
"red2", 238, 0, 0, |
667 |
|
|
"red3", 205, 0, 0, |
668 |
|
|
"red4", 139, 0, 0, |
669 |
|
|
"rosy brown", 188, 143, 143, |
670 |
|
|
"RosyBrown", 188, 143, 143, |
671 |
|
|
"RosyBrown1", 255, 193, 193, |
672 |
|
|
"RosyBrown2", 238, 180, 180, |
673 |
|
|
"RosyBrown3", 205, 155, 155, |
674 |
|
|
"RosyBrown4", 139, 105, 105, |
675 |
|
|
"royal blue", 65, 105, 225, |
676 |
|
|
"RoyalBlue", 65, 105, 225, |
677 |
|
|
"RoyalBlue1", 72, 118, 255, |
678 |
|
|
"RoyalBlue2", 67, 110, 238, |
679 |
|
|
"RoyalBlue3", 58, 95, 205, |
680 |
|
|
"RoyalBlue4", 39, 64, 139, |
681 |
|
|
"saddle brown", 139, 69, 19, |
682 |
|
|
"SaddleBrown", 139, 69, 19, |
683 |
|
|
"salmon", 250, 128, 114, |
684 |
|
|
"salmon1", 255, 140, 105, |
685 |
|
|
"salmon2", 238, 130, 98, |
686 |
|
|
"salmon3", 205, 112, 84, |
687 |
|
|
"salmon4", 139, 76, 57, |
688 |
|
|
"sandy brown", 244, 164, 96, |
689 |
|
|
"SandyBrown", 244, 164, 96, |
690 |
|
|
"sea green", 46, 139, 87, |
691 |
|
|
"SeaGreen", 46, 139, 87, |
692 |
|
|
"SeaGreen1", 84, 255, 159, |
693 |
|
|
"SeaGreen2", 78, 238, 148, |
694 |
|
|
"SeaGreen3", 67, 205, 128, |
695 |
|
|
"SeaGreen4", 46, 139, 87, |
696 |
|
|
"seashell", 255, 245, 238, |
697 |
|
|
"seashell1", 255, 245, 238, |
698 |
|
|
"seashell2", 238, 229, 222, |
699 |
|
|
"seashell3", 205, 197, 191, |
700 |
|
|
"seashell4", 139, 134, 130, |
701 |
|
|
"sienna", 160, 82, 45, |
702 |
|
|
"sienna1", 255, 130, 71, |
703 |
|
|
"sienna2", 238, 121, 66, |
704 |
|
|
"sienna3", 205, 104, 57, |
705 |
|
|
"sienna4", 139, 71, 38, |
706 |
|
|
"sky blue", 135, 206, 235, |
707 |
|
|
"SkyBlue", 135, 206, 235, |
708 |
|
|
"SkyBlue1", 135, 206, 255, |
709 |
|
|
"SkyBlue2", 126, 192, 238, |
710 |
|
|
"SkyBlue3", 108, 166, 205, |
711 |
|
|
"SkyBlue4", 74, 112, 139, |
712 |
|
|
"slate blue", 106, 90, 205, |
713 |
|
|
"slate gray", 112, 128, 144, |
714 |
|
|
"slate grey", 112, 128, 144, |
715 |
|
|
"SlateBlue", 106, 90, 205, |
716 |
|
|
"SlateBlue1", 131, 111, 255, |
717 |
|
|
"SlateBlue2", 122, 103, 238, |
718 |
|
|
"SlateBlue3", 105, 89, 205, |
719 |
|
|
"SlateBlue4", 71, 60, 139, |
720 |
|
|
"SlateGray", 112, 128, 144, |
721 |
|
|
"SlateGray1", 198, 226, 255, |
722 |
|
|
"SlateGray2", 185, 211, 238, |
723 |
|
|
"SlateGray3", 159, 182, 205, |
724 |
|
|
"SlateGray4", 108, 123, 139, |
725 |
|
|
"SlateGrey", 112, 128, 144, |
726 |
|
|
"snow", 255, 250, 250, |
727 |
|
|
"snow1", 255, 250, 250, |
728 |
|
|
"snow2", 238, 233, 233, |
729 |
|
|
"snow3", 205, 201, 201, |
730 |
|
|
"snow4", 139, 137, 137, |
731 |
|
|
"spring green", 0, 255, 127, |
732 |
|
|
"SpringGreen", 0, 255, 127, |
733 |
|
|
"SpringGreen1", 0, 255, 127, |
734 |
|
|
"SpringGreen2", 0, 238, 118, |
735 |
|
|
"SpringGreen3", 0, 205, 102, |
736 |
|
|
"SpringGreen4", 0, 139, 69, |
737 |
|
|
"steel blue", 70, 130, 180, |
738 |
|
|
"SteelBlue", 70, 130, 180, |
739 |
|
|
"SteelBlue1", 99, 184, 255, |
740 |
|
|
"SteelBlue2", 92, 172, 238, |
741 |
|
|
"SteelBlue3", 79, 148, 205, |
742 |
|
|
"SteelBlue4", 54, 100, 139, |
743 |
|
|
"tan", 210, 180, 140, |
744 |
|
|
"tan1", 255, 165, 79, |
745 |
|
|
"tan2", 238, 154, 73, |
746 |
|
|
"tan3", 205, 133, 63, |
747 |
|
|
"tan4", 139, 90, 43, |
748 |
|
|
"thistle", 216, 191, 216, |
749 |
|
|
"thistle1", 255, 225, 255, |
750 |
|
|
"thistle2", 238, 210, 238, |
751 |
|
|
"thistle3", 205, 181, 205, |
752 |
|
|
"thistle4", 139, 123, 139, |
753 |
|
|
"tomato", 255, 99, 71, |
754 |
|
|
"tomato1", 255, 99, 71, |
755 |
|
|
"tomato2", 238, 92, 66, |
756 |
|
|
"tomato3", 205, 79, 57, |
757 |
|
|
"tomato4", 139, 54, 38, |
758 |
|
|
"turquoise", 64, 224, 208, |
759 |
|
|
"turquoise1", 0, 245, 255, |
760 |
|
|
"turquoise2", 0, 229, 238, |
761 |
|
|
"turquoise3", 0, 197, 205, |
762 |
|
|
"turquoise4", 0, 134, 139, |
763 |
|
|
"violet", 238, 130, 238, |
764 |
|
|
"violet red", 208, 32, 144, |
765 |
|
|
"VioletRed", 208, 32, 144, |
766 |
|
|
"VioletRed1", 255, 62, 150, |
767 |
|
|
"VioletRed2", 238, 58, 140, |
768 |
|
|
"VioletRed3", 205, 50, 120, |
769 |
|
|
"VioletRed4", 139, 34, 82, |
770 |
|
|
"wheat", 245, 222, 179, |
771 |
|
|
"wheat1", 255, 231, 186, |
772 |
|
|
"wheat2", 238, 216, 174, |
773 |
|
|
"wheat3", 205, 186, 150, |
774 |
|
|
"wheat4", 139, 126, 102, |
775 |
|
|
"white", 255, 255, 255, |
776 |
|
|
"white smoke", 245, 245, 245, |
777 |
|
|
"WhiteSmoke", 245, 245, 245, |
778 |
|
|
"yellow", 255, 255, 0, |
779 |
|
|
"yellow green", 154, 205, 50, |
780 |
|
|
"yellow1", 255, 255, 0, |
781 |
|
|
"yellow2", 238, 238, 0, |
782 |
|
|
"yellow3", 205, 205, 0, |
783 |
|
|
"yellow4", 139, 139, 0, |
784 |
|
|
"YellowGreen", 154, 205, 50, |
785 |
|
|
NULL, 0, 0, 0 |
786 |
|
|
}; |
787 |
|
|
|
788 |
|
|
|
789 |
|
|
/* |
790 |
|
|
* This value will be set to the number of colors in the color table |
791 |
|
|
* the first time it is needed. |
792 |
|
|
*/ |
793 |
|
|
|
794 |
|
|
static int numXColors = 0; |
795 |
|
|
|
796 |
|
|
/* |
797 |
|
|
* Forward declarations for functions used only in this file. |
798 |
|
|
*/ |
799 |
|
|
|
800 |
|
|
static int FindColor _ANSI_ARGS_((const char *name, XColor *colorPtr)); |
801 |
|
|
|
802 |
|
|
/* |
803 |
|
|
*---------------------------------------------------------------------- |
804 |
|
|
* |
805 |
|
|
* FindColor -- |
806 |
|
|
* |
807 |
|
|
* This routine finds the color entry that corresponds to the |
808 |
|
|
* specified color. |
809 |
|
|
* |
810 |
|
|
* Results: |
811 |
|
|
* Returns non-zero on success. The RGB values of the XColor |
812 |
|
|
* will be initialized to the proper values on success. |
813 |
|
|
* |
814 |
|
|
* Side effects: |
815 |
|
|
* None. |
816 |
|
|
* |
817 |
|
|
*---------------------------------------------------------------------- |
818 |
|
|
*/ |
819 |
|
|
|
820 |
|
|
static int |
821 |
|
|
FindColor(name, colorPtr) |
822 |
|
|
const char *name; |
823 |
|
|
XColor *colorPtr; |
824 |
|
|
{ |
825 |
|
|
int l, u, r, i; |
826 |
|
|
|
827 |
|
|
/* |
828 |
|
|
* Count the number of elements in the color array if we haven't |
829 |
|
|
* done so yet. |
830 |
|
|
*/ |
831 |
|
|
|
832 |
|
|
if (numXColors == 0) { |
833 |
|
|
XColorEntry *ePtr; |
834 |
|
|
for (ePtr = xColors; ePtr->name != NULL; ePtr++) { |
835 |
|
|
numXColors++; |
836 |
|
|
} |
837 |
|
|
} |
838 |
|
|
|
839 |
|
|
/* |
840 |
|
|
* Perform a binary search on the sorted array of colors. |
841 |
|
|
*/ |
842 |
|
|
|
843 |
|
|
l = 0; |
844 |
|
|
u = numXColors - 1; |
845 |
|
|
while (l <= u) { |
846 |
|
|
i = (l + u) / 2; |
847 |
|
|
r = strcasecmp(name, xColors[i].name); |
848 |
|
|
if (r == 0) { |
849 |
|
|
break; |
850 |
|
|
} else if (r < 0) { |
851 |
|
|
u = i-1; |
852 |
|
|
} else { |
853 |
|
|
l = i+1; |
854 |
|
|
} |
855 |
|
|
} |
856 |
|
|
if (l > u) { |
857 |
|
|
return 0; |
858 |
|
|
} |
859 |
|
|
colorPtr->red = ((xColors[i].red << 8) | xColors[i].red); |
860 |
|
|
colorPtr->green = ((xColors[i].green << 8) | xColors[i].green); |
861 |
|
|
colorPtr->blue = ((xColors[i].blue << 8) | xColors[i].blue); |
862 |
|
|
return 1; |
863 |
|
|
} |
864 |
|
|
|
865 |
|
|
/* |
866 |
|
|
*---------------------------------------------------------------------- |
867 |
|
|
* |
868 |
|
|
* XParseColor -- |
869 |
|
|
* |
870 |
|
|
* Partial implementation of X color name parsing interface. |
871 |
|
|
* |
872 |
|
|
* Results: |
873 |
|
|
* Returns non-zero on success. |
874 |
|
|
* |
875 |
|
|
* Side effects: |
876 |
|
|
* None. |
877 |
|
|
* |
878 |
|
|
*---------------------------------------------------------------------- |
879 |
|
|
*/ |
880 |
|
|
|
881 |
|
|
Status |
882 |
|
|
XParseColor(display, map, spec, colorPtr) |
883 |
|
|
Display *display; |
884 |
|
|
Colormap map; |
885 |
|
|
const char* spec; |
886 |
|
|
XColor *colorPtr; |
887 |
|
|
{ |
888 |
|
|
if (spec[0] == '#') { |
889 |
|
|
char fmt[16]; |
890 |
|
|
int i, red, green, blue; |
891 |
|
|
|
892 |
|
|
if ((i = strlen(spec+1))%3) { |
893 |
|
|
return 0; |
894 |
|
|
} |
895 |
|
|
i /= 3; |
896 |
|
|
|
897 |
|
|
sprintf(fmt, "%%%dx%%%dx%%%dx", i, i, i); |
898 |
|
|
if (sscanf(spec+1, fmt, &red, &green, &blue) != 3) { |
899 |
|
|
return 0; |
900 |
|
|
} |
901 |
|
|
colorPtr->red = (((unsigned short) red) << (4 * (4 - i))) |
902 |
|
|
| ((unsigned short) red); |
903 |
|
|
colorPtr->green = (((unsigned short) green) << (4 * (4 - i))) |
904 |
|
|
| ((unsigned short) green); |
905 |
|
|
colorPtr->blue = (((unsigned short) blue) << (4 * (4 - i))) |
906 |
|
|
| ((unsigned short) blue); |
907 |
|
|
} else { |
908 |
|
|
if (!FindColor(spec, colorPtr)) { |
909 |
|
|
return 0; |
910 |
|
|
} |
911 |
|
|
} |
912 |
|
|
colorPtr->pixel = TkpGetPixel(colorPtr); |
913 |
|
|
colorPtr->flags = DoRed|DoGreen|DoBlue; |
914 |
|
|
colorPtr->pad = 0; |
915 |
|
|
return 1; |
916 |
|
|
} |
917 |
|
|
|
918 |
|
|
/* End of xcolors.c */ |