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