2 ==============================================================================
4 This file is part of the JUCE library - "Jules' Utility Class Extensions"
5 Copyright 2004-11 by Raw Material Software Ltd.
7 ------------------------------------------------------------------------------
9 JUCE can be redistributed and/or modified under the terms of the GNU General
10 Public License (Version 2), as published by the Free Software Foundation.
11 A copy of the license is included in the JUCE distribution, or can be found
12 online at www.gnu.org/licenses.
14 JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
15 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
18 ------------------------------------------------------------------------------
20 To release a closed-source product which uses JUCE, commercial licenses are
21 available: visit www.rawmaterialsoftware.com/juce for more information.
23 ==============================================================================
26 #include "../../../core/juce_StandardHeader.h"
30 #include "juce_Colours.h"
33 //==============================================================================
34 const Colour
Colours::transparentBlack (0);
35 const Colour
Colours::transparentWhite (0x00ffffff);
37 const Colour
Colours::aliceblue (0xfff0f8ff);
38 const Colour
Colours::antiquewhite (0xfffaebd7);
39 const Colour
Colours::aqua (0xff00ffff);
40 const Colour
Colours::aquamarine (0xff7fffd4);
41 const Colour
Colours::azure (0xfff0ffff);
42 const Colour
Colours::beige (0xfff5f5dc);
43 const Colour
Colours::bisque (0xffffe4c4);
44 const Colour
Colours::black (0xff000000);
45 const Colour
Colours::blanchedalmond (0xffffebcd);
46 const Colour
Colours::blue (0xff0000ff);
47 const Colour
Colours::blueviolet (0xff8a2be2);
48 const Colour
Colours::brown (0xffa52a2a);
49 const Colour
Colours::burlywood (0xffdeb887);
50 const Colour
Colours::cadetblue (0xff5f9ea0);
51 const Colour
Colours::chartreuse (0xff7fff00);
52 const Colour
Colours::chocolate (0xffd2691e);
53 const Colour
Colours::coral (0xffff7f50);
54 const Colour
Colours::cornflowerblue (0xff6495ed);
55 const Colour
Colours::cornsilk (0xfffff8dc);
56 const Colour
Colours::crimson (0xffdc143c);
57 const Colour
Colours::cyan (0xff00ffff);
58 const Colour
Colours::darkblue (0xff00008b);
59 const Colour
Colours::darkcyan (0xff008b8b);
60 const Colour
Colours::darkgoldenrod (0xffb8860b);
61 const Colour
Colours::darkgrey (0xff555555);
62 const Colour
Colours::darkgreen (0xff006400);
63 const Colour
Colours::darkkhaki (0xffbdb76b);
64 const Colour
Colours::darkmagenta (0xff8b008b);
65 const Colour
Colours::darkolivegreen (0xff556b2f);
66 const Colour
Colours::darkorange (0xffff8c00);
67 const Colour
Colours::darkorchid (0xff9932cc);
68 const Colour
Colours::darkred (0xff8b0000);
69 const Colour
Colours::darksalmon (0xffe9967a);
70 const Colour
Colours::darkseagreen (0xff8fbc8f);
71 const Colour
Colours::darkslateblue (0xff483d8b);
72 const Colour
Colours::darkslategrey (0xff2f4f4f);
73 const Colour
Colours::darkturquoise (0xff00ced1);
74 const Colour
Colours::darkviolet (0xff9400d3);
75 const Colour
Colours::deeppink (0xffff1493);
76 const Colour
Colours::deepskyblue (0xff00bfff);
77 const Colour
Colours::dimgrey (0xff696969);
78 const Colour
Colours::dodgerblue (0xff1e90ff);
79 const Colour
Colours::firebrick (0xffb22222);
80 const Colour
Colours::floralwhite (0xfffffaf0);
81 const Colour
Colours::forestgreen (0xff228b22);
82 const Colour
Colours::fuchsia (0xffff00ff);
83 const Colour
Colours::gainsboro (0xffdcdcdc);
84 const Colour
Colours::gold (0xffffd700);
85 const Colour
Colours::goldenrod (0xffdaa520);
86 const Colour
Colours::grey (0xff808080);
87 const Colour
Colours::green (0xff008000);
88 const Colour
Colours::greenyellow (0xffadff2f);
89 const Colour
Colours::honeydew (0xfff0fff0);
90 const Colour
Colours::hotpink (0xffff69b4);
91 const Colour
Colours::indianred (0xffcd5c5c);
92 const Colour
Colours::indigo (0xff4b0082);
93 const Colour
Colours::ivory (0xfffffff0);
94 const Colour
Colours::khaki (0xfff0e68c);
95 const Colour
Colours::lavender (0xffe6e6fa);
96 const Colour
Colours::lavenderblush (0xfffff0f5);
97 const Colour
Colours::lemonchiffon (0xfffffacd);
98 const Colour
Colours::lightblue (0xffadd8e6);
99 const Colour
Colours::lightcoral (0xfff08080);
100 const Colour
Colours::lightcyan (0xffe0ffff);
101 const Colour
Colours::lightgoldenrodyellow (0xfffafad2);
102 const Colour
Colours::lightgreen (0xff90ee90);
103 const Colour
Colours::lightgrey (0xffd3d3d3);
104 const Colour
Colours::lightpink (0xffffb6c1);
105 const Colour
Colours::lightsalmon (0xffffa07a);
106 const Colour
Colours::lightseagreen (0xff20b2aa);
107 const Colour
Colours::lightskyblue (0xff87cefa);
108 const Colour
Colours::lightslategrey (0xff778899);
109 const Colour
Colours::lightsteelblue (0xffb0c4de);
110 const Colour
Colours::lightyellow (0xffffffe0);
111 const Colour
Colours::lime (0xff00ff00);
112 const Colour
Colours::limegreen (0xff32cd32);
113 const Colour
Colours::linen (0xfffaf0e6);
114 const Colour
Colours::magenta (0xffff00ff);
115 const Colour
Colours::maroon (0xff800000);
116 const Colour
Colours::mediumaquamarine (0xff66cdaa);
117 const Colour
Colours::mediumblue (0xff0000cd);
118 const Colour
Colours::mediumorchid (0xffba55d3);
119 const Colour
Colours::mediumpurple (0xff9370db);
120 const Colour
Colours::mediumseagreen (0xff3cb371);
121 const Colour
Colours::mediumslateblue (0xff7b68ee);
122 const Colour
Colours::mediumspringgreen (0xff00fa9a);
123 const Colour
Colours::mediumturquoise (0xff48d1cc);
124 const Colour
Colours::mediumvioletred (0xffc71585);
125 const Colour
Colours::midnightblue (0xff191970);
126 const Colour
Colours::mintcream (0xfff5fffa);
127 const Colour
Colours::mistyrose (0xffffe4e1);
128 const Colour
Colours::navajowhite (0xffffdead);
129 const Colour
Colours::navy (0xff000080);
130 const Colour
Colours::oldlace (0xfffdf5e6);
131 const Colour
Colours::olive (0xff808000);
132 const Colour
Colours::olivedrab (0xff6b8e23);
133 const Colour
Colours::orange (0xffffa500);
134 const Colour
Colours::orangered (0xffff4500);
135 const Colour
Colours::orchid (0xffda70d6);
136 const Colour
Colours::palegoldenrod (0xffeee8aa);
137 const Colour
Colours::palegreen (0xff98fb98);
138 const Colour
Colours::paleturquoise (0xffafeeee);
139 const Colour
Colours::palevioletred (0xffdb7093);
140 const Colour
Colours::papayawhip (0xffffefd5);
141 const Colour
Colours::peachpuff (0xffffdab9);
142 const Colour
Colours::peru (0xffcd853f);
143 const Colour
Colours::pink (0xffffc0cb);
144 const Colour
Colours::plum (0xffdda0dd);
145 const Colour
Colours::powderblue (0xffb0e0e6);
146 const Colour
Colours::purple (0xff800080);
147 const Colour
Colours::red (0xffff0000);
148 const Colour
Colours::rosybrown (0xffbc8f8f);
149 const Colour
Colours::royalblue (0xff4169e1);
150 const Colour
Colours::saddlebrown (0xff8b4513);
151 const Colour
Colours::salmon (0xfffa8072);
152 const Colour
Colours::sandybrown (0xfff4a460);
153 const Colour
Colours::seagreen (0xff2e8b57);
154 const Colour
Colours::seashell (0xfffff5ee);
155 const Colour
Colours::sienna (0xffa0522d);
156 const Colour
Colours::silver (0xffc0c0c0);
157 const Colour
Colours::skyblue (0xff87ceeb);
158 const Colour
Colours::slateblue (0xff6a5acd);
159 const Colour
Colours::slategrey (0xff708090);
160 const Colour
Colours::snow (0xfffffafa);
161 const Colour
Colours::springgreen (0xff00ff7f);
162 const Colour
Colours::steelblue (0xff4682b4);
163 const Colour
Colours::tan (0xffd2b48c);
164 const Colour
Colours::teal (0xff008080);
165 const Colour
Colours::thistle (0xffd8bfd8);
166 const Colour
Colours::tomato (0xffff6347);
167 const Colour
Colours::turquoise (0xff40e0d0);
168 const Colour
Colours::violet (0xffee82ee);
169 const Colour
Colours::wheat (0xfff5deb3);
170 const Colour
Colours::white (0xffffffff);
171 const Colour
Colours::whitesmoke (0xfff5f5f5);
172 const Colour
Colours::yellow (0xffffff00);
173 const Colour
Colours::yellowgreen (0xff9acd32);
175 //==============================================================================
176 const Colour
Colours::findColourForName (const String
& colourName
,
177 const Colour
& defaultColour
)
179 static const int presets
[] =
181 // (first value is the string's hashcode, second is ARGB)
183 0x05978fff, 0xff000000, /* black */
184 0x06bdcc29, 0xffffffff, /* white */
185 0x002e305a, 0xff0000ff, /* blue */
186 0x00308adf, 0xff808080, /* grey */
187 0x05e0cf03, 0xff008000, /* green */
188 0x0001b891, 0xffff0000, /* red */
189 0xd43c6474, 0xffffff00, /* yellow */
190 0x620886da, 0xfff0f8ff, /* aliceblue */
191 0x20a2676a, 0xfffaebd7, /* antiquewhite */
192 0x002dcebc, 0xff00ffff, /* aqua */
193 0x46bb5f7e, 0xff7fffd4, /* aquamarine */
194 0x0590228f, 0xfff0ffff, /* azure */
195 0x05947fe4, 0xfff5f5dc, /* beige */
196 0xad388e35, 0xffffe4c4, /* bisque */
197 0x00674f7e, 0xffffebcd, /* blanchedalmond */
198 0x39129959, 0xff8a2be2, /* blueviolet */
199 0x059a8136, 0xffa52a2a, /* brown */
200 0x89cea8f9, 0xffdeb887, /* burlywood */
201 0x0fa260cf, 0xff5f9ea0, /* cadetblue */
202 0x6b748956, 0xff7fff00, /* chartreuse */
203 0x2903623c, 0xffd2691e, /* chocolate */
204 0x05a74431, 0xffff7f50, /* coral */
205 0x618d42dd, 0xff6495ed, /* cornflowerblue */
206 0xe4b479fd, 0xfffff8dc, /* cornsilk */
207 0x3d8c4edf, 0xffdc143c, /* crimson */
208 0x002ed323, 0xff00ffff, /* cyan */
209 0x67cc74d0, 0xff00008b, /* darkblue */
210 0x67cd1799, 0xff008b8b, /* darkcyan */
211 0x31bbd168, 0xffb8860b, /* darkgoldenrod */
212 0x67cecf55, 0xff555555, /* darkgrey */
213 0x920b194d, 0xff006400, /* darkgreen */
214 0x923edd4c, 0xffbdb76b, /* darkkhaki */
215 0x5c293873, 0xff8b008b, /* darkmagenta */
216 0x6b6671fe, 0xff556b2f, /* darkolivegreen */
217 0xbcfd2524, 0xffff8c00, /* darkorange */
218 0xbcfdf799, 0xff9932cc, /* darkorchid */
219 0x55ee0d5b, 0xff8b0000, /* darkred */
220 0xc2e5f564, 0xffe9967a, /* darksalmon */
221 0x61be858a, 0xff8fbc8f, /* darkseagreen */
222 0xc2b0f2bd, 0xff483d8b, /* darkslateblue */
223 0xc2b34d42, 0xff2f4f4f, /* darkslategrey */
224 0x7cf2b06b, 0xff00ced1, /* darkturquoise */
225 0xc8769375, 0xff9400d3, /* darkviolet */
226 0x25832862, 0xffff1493, /* deeppink */
227 0xfcad568f, 0xff00bfff, /* deepskyblue */
228 0x634c8b67, 0xff696969, /* dimgrey */
229 0x45c1ce55, 0xff1e90ff, /* dodgerblue */
230 0xef19e3cb, 0xffb22222, /* firebrick */
231 0xb852b195, 0xfffffaf0, /* floralwhite */
232 0xd086fd06, 0xff228b22, /* forestgreen */
233 0xe106b6d7, 0xffff00ff, /* fuchsia */
234 0x7880d61e, 0xffdcdcdc, /* gainsboro */
235 0x00308060, 0xffffd700, /* gold */
236 0xb3b3bc1e, 0xffdaa520, /* goldenrod */
237 0xbab8a537, 0xffadff2f, /* greenyellow */
238 0xe4cacafb, 0xfff0fff0, /* honeydew */
239 0x41892743, 0xffff69b4, /* hotpink */
240 0xd5796f1a, 0xffcd5c5c, /* indianred */
241 0xb969fed2, 0xff4b0082, /* indigo */
242 0x05fef6a9, 0xfffffff0, /* ivory */
243 0x06149302, 0xfff0e68c, /* khaki */
244 0xad5a05c7, 0xffe6e6fa, /* lavender */
245 0x7c4d5b99, 0xfffff0f5, /* lavenderblush */
246 0x195756f0, 0xfffffacd, /* lemonchiffon */
247 0x28e4ea70, 0xffadd8e6, /* lightblue */
248 0xf3c7ccdb, 0xfff08080, /* lightcoral */
249 0x28e58d39, 0xffe0ffff, /* lightcyan */
250 0x21234e3c, 0xfffafad2, /* lightgoldenrodyellow */
251 0xf40157ad, 0xff90ee90, /* lightgreen */
252 0x28e744f5, 0xffd3d3d3, /* lightgrey */
253 0x28eb3b8c, 0xffffb6c1, /* lightpink */
254 0x9fb78304, 0xffffa07a, /* lightsalmon */
255 0x50632b2a, 0xff20b2aa, /* lightseagreen */
256 0x68fb7b25, 0xff87cefa, /* lightskyblue */
257 0xa8a35ba2, 0xff778899, /* lightslategrey */
258 0xa20d484f, 0xffb0c4de, /* lightsteelblue */
259 0xaa2cf10a, 0xffffffe0, /* lightyellow */
260 0x0032afd5, 0xff00ff00, /* lime */
261 0x607bbc4e, 0xff32cd32, /* limegreen */
262 0x06234efa, 0xfffaf0e6, /* linen */
263 0x316858a9, 0xffff00ff, /* magenta */
264 0xbf8ca470, 0xff800000, /* maroon */
265 0xbd58e0b3, 0xff66cdaa, /* mediumaquamarine */
266 0x967dfd4f, 0xff0000cd, /* mediumblue */
267 0x056f5c58, 0xffba55d3, /* mediumorchid */
268 0x07556b71, 0xff9370db, /* mediumpurple */
269 0x5369b689, 0xff3cb371, /* mediumseagreen */
270 0x066be19e, 0xff7b68ee, /* mediumslateblue */
271 0x3256b281, 0xff00fa9a, /* mediumspringgreen */
272 0xc0ad9f4c, 0xff48d1cc, /* mediumturquoise */
273 0x628e63dd, 0xffc71585, /* mediumvioletred */
274 0x168eb32a, 0xff191970, /* midnightblue */
275 0x4306b960, 0xfff5fffa, /* mintcream */
276 0x4cbc0e6b, 0xffffe4e1, /* mistyrose */
277 0xe97218a6, 0xffffdead, /* navajowhite */
278 0x00337bb6, 0xff000080, /* navy */
279 0xadd2d33e, 0xfffdf5e6, /* oldlace */
280 0x064ee1db, 0xff808000, /* olive */
281 0x9e33a98a, 0xff6b8e23, /* olivedrab */
282 0xc3de262e, 0xffffa500, /* orange */
283 0x58bebba3, 0xffff4500, /* orangered */
284 0xc3def8a3, 0xffda70d6, /* orchid */
285 0x28cb4834, 0xffeee8aa, /* palegoldenrod */
286 0x3d9dd619, 0xff98fb98, /* palegreen */
287 0x74022737, 0xffafeeee, /* paleturquoise */
288 0x15e2ebc8, 0xffdb7093, /* palevioletred */
289 0x5fd898e2, 0xffffefd5, /* papayawhip */
290 0x93e1b776, 0xffffdab9, /* peachpuff */
291 0x003472f8, 0xffcd853f, /* peru */
292 0x00348176, 0xffffc0cb, /* pink */
293 0x00348d94, 0xffdda0dd, /* plum */
294 0xd036be93, 0xffb0e0e6, /* powderblue */
295 0xc5c507bc, 0xff800080, /* purple */
296 0xa89d65b3, 0xffbc8f8f, /* rosybrown */
297 0xbd9413e1, 0xff4169e1, /* royalblue */
298 0xf456044f, 0xff8b4513, /* saddlebrown */
299 0xc9c6f66e, 0xfffa8072, /* salmon */
300 0x0bb131e1, 0xfff4a460, /* sandybrown */
301 0x34636c14, 0xff2e8b57, /* seagreen */
302 0x3507fb41, 0xfffff5ee, /* seashell */
303 0xca348772, 0xffa0522d, /* sienna */
304 0xca37d30d, 0xffc0c0c0, /* silver */
305 0x80da74fb, 0xff87ceeb, /* skyblue */
306 0x44a8dd73, 0xff6a5acd, /* slateblue */
307 0x44ab37f8, 0xff708090, /* slategrey */
308 0x0035f183, 0xfffffafa, /* snow */
309 0xd5440d16, 0xff00ff7f, /* springgreen */
310 0x3e1524a5, 0xff4682b4, /* steelblue */
311 0x0001bfa1, 0xffd2b48c, /* tan */
312 0x0036425c, 0xff008080, /* teal */
313 0xafc8858f, 0xffd8bfd8, /* thistle */
314 0xcc41600a, 0xffff6347, /* tomato */
315 0xfeea9b21, 0xff40e0d0, /* turquoise */
316 0xcf57947f, 0xffee82ee, /* violet */
317 0x06bdbae7, 0xfff5deb3, /* wheat */
318 0x10802ee6, 0xfff5f5f5, /* whitesmoke */
319 0xe1b5130f, 0xff9acd32 /* yellowgreen */
322 const int hash
= colourName
.trim().toLowerCase().hashCode();
324 for (int i
= 0; i
< numElementsInArray (presets
); i
+= 2)
325 if (presets
[i
] == hash
)
326 return Colour (presets
[i
+ 1]);
328 return defaultColour
;