1#![no_std]
13#[derive(Clone, Copy, Debug, Eq, PartialEq)]
15pub enum NamedColor {
16 ALICEBLUE,
17 ANTIQUEWHITE,
18 AQUA,
19 AQUAMARINE,
20 AZURE,
21 BEIGE,
22 BISQUE,
23 BLACK,
24 BLANCHEDALMOND,
25 BLUE,
26 BLUEVIOLET,
27 BROWN,
28 BURLYWOOD,
29 CADETBLUE,
30 CHARTREUSE,
31 CHOCOLATE,
32 CORAL,
33 CORNFLOWERBLUE,
34 CORNSILK,
35 CRIMSON,
36 CYAN,
37 DARKBLUE,
38 DARKCYAN,
39 DARKGOLDENROD,
40 DARKGRAY,
41 DARKGREEN,
42 DARKGREY,
43 DARKKHAKI,
44 DARKMAGENTA,
45 DARKOLIVEGREEN,
46 DARKORANGE,
47 DARKORCHID,
48 DARKRED,
49 DARKSALMON,
50 DARKSEAGREEN,
51 DARKSLATEBLUE,
52 DARKSLATEGRAY,
53 DARKSLATEGREY,
54 DARKTURQUOISE,
55 DARKVIOLET,
56 DEEPPINK,
57 DEEPSKYBLUE,
58 DIMGRAY,
59 DIMGREY,
60 DODGERBLUE,
61 FIREBRICK,
62 FLORALWHITE,
63 FORESTGREEN,
64 FUCHSIA,
65 GAINSBORO,
66 GHOSTWHITE,
67 GOLD,
68 GOLDENROD,
69 GRAY,
70 GREEN,
71 GREENYELLOW,
72 GREY,
73 HONEYDEW,
74 HOTPINK,
75 INDIANRED,
76 INDIGO,
77 IVORY,
78 KHAKI,
79 LAVENDER,
80 LAVENDERBLUSH,
81 LAWNGREEN,
82 LEMONCHIFFON,
83 LIGHTBLUE,
84 LIGHTCORAL,
85 LIGHTCYAN,
86 LIGHTGOLDENRODYELLOW,
87 LIGHTGRAY,
88 LIGHTGREEN,
89 LIGHTGREY,
90 LIGHTPINK,
91 LIGHTSALMON,
92 LIGHTSEAGREEN,
93 LIGHTSKYBLUE,
94 LIGHTSLATEGRAY,
95 LIGHTSLATEGREY,
96 LIGHTSTEELBLUE,
97 LIGHTYELLOW,
98 LIME,
99 LIMEGREEN,
100 LINEN,
101 MAGENTA,
102 MAROON,
103 MEDIUMAQUAMARINE,
104 MEDIUMBLUE,
105 MEDIUMORCHID,
106 MEDIUMPURPLE,
107 MEDIUMSEAGREEN,
108 MEDIUMSLATEBLUE,
109 MEDIUMSPRINGGREEN,
110 MEDIUMTURQUOISE,
111 MEDIUMVIOLETRED,
112 MIDNIGHTBLUE,
113 MINTCREAM,
114 MISTYROSE,
115 MOCCASIN,
116 NAVAJOWHITE,
117 NAVY,
118 OLDLACE,
119 OLIVE,
120 OLIVEDRAB,
121 ORANGE,
122 ORANGERED,
123 ORCHID,
124 PALEGOLDENROD,
125 PALEGREEN,
126 PALETURQUOISE,
127 PALEVIOLETRED,
128 PAPAYAWHIP,
129 PEACHPUFF,
130 PERU,
131 PINK,
132 PLUM,
133 POWDERBLUE,
134 PURPLE,
135 REBECCAPURPLE,
136 RED,
137 ROSYBROWN,
138 ROYALBLUE,
139 SADDLEBROWN,
140 SALMON,
141 SANDYBROWN,
142 SEAGREEN,
143 SEASHELL,
144 SIENNA,
145 SILVER,
146 SKYBLUE,
147 SLATEBLUE,
148 SLATEGRAY,
149 SLATEGREY,
150 SNOW,
151 SPRINGGREEN,
152 STEELBLUE,
153 TAN,
154 TEAL,
155 THISTLE,
156 TOMATO,
157 TRANSPARENT,
158 TURQUOISE,
159 VIOLET,
160 WHEAT,
161 WHITE,
162 WHITESMOKE,
163 YELLOW,
164 YELLOWGREEN,
165}
166
167impl NamedColor {
168 pub const fn hex(&self) -> &'static str {
171 use NamedColor::*;
172 match self {
173 ALICEBLUE => "#f0f8ff",
174 ANTIQUEWHITE => "#faebd7",
175 AQUA => "#00ffff",
176 AQUAMARINE => "#7fffd4",
177 AZURE => "#F0ffff",
178 BEIGE => "#F5f5dc",
179 BISQUE => "#ffe4c4",
180 BLACK => "#000000",
181 BLANCHEDALMOND => "#ffebcd",
182 BLUE => "#0000ff",
183 BLUEVIOLET => "#8a2be2",
184 BROWN => "#a52a2a",
185 BURLYWOOD => "#deb887",
186 CADETBLUE => "#5f9ea0",
187 CHARTREUSE => "#7fff00",
188 CHOCOLATE => "#d2691e",
189 CORAL => "#ff7f50",
190 CORNFLOWERBLUE => "#6495ed",
191 CORNSILK => "#fff8dc",
192 CRIMSON => "#dc143c",
193 CYAN => "#00ffff",
194 DARKBLUE => "#00008b",
195 DARKCYAN => "#008b8b",
196 DARKGOLDENROD => "#b8860b",
197 DARKGRAY => "#a9a9a9",
198 DARKGREEN => "#006400",
199 DARKGREY => "#a9a9a9",
200 DARKKHAKI => "#bdb76b",
201 DARKMAGENTA => "#8b008b",
202 DARKOLIVEGREEN => "#556b2f",
203 DARKORANGE => "#ff8c00",
204 DARKORCHID => "#9932cc",
205 DARKRED => "#8b0000",
206 DARKSALMON => "#e9967a",
207 DARKSEAGREEN => "#8fbc8f",
208 DARKSLATEBLUE => "#483d8b",
209 DARKSLATEGRAY => "#2f4f4f",
210 DARKSLATEGREY => "#2f4f4f",
211 DARKTURQUOISE => "#00ced1",
212 DARKVIOLET => "#9400d3",
213 DEEPPINK => "#ff1493",
214 DEEPSKYBLUE => "#00bfff",
215 DIMGRAY => "#696969",
216 DIMGREY => "#696969",
217 DODGERBLUE => "#1e90ff",
218 FIREBRICK => "#b22222",
219 FLORALWHITE => "#fffaf0",
220 FORESTGREEN => "#228b22",
221 FUCHSIA => "#ff00ff",
222 GAINSBORO => "#dcdcdc",
223 GHOSTWHITE => "#f8f8ff",
224 GOLD => "#ffd700",
225 GOLDENROD => "#daa520",
226 GRAY => "#808080",
227 GREEN => "#008000",
228 GREENYELLOW => "#adff2f",
229 GREY => "#808080",
230 HONEYDEW => "#f0fff0",
231 HOTPINK => "#ff69b4",
232 INDIANRED => "#cd5c5c",
233 INDIGO => "#4b0082",
234 IVORY => "#fffff0",
235 KHAKI => "#f0e68c",
236 LAVENDER => "#e6e6fa",
237 LAVENDERBLUSH => "#fff0f5",
238 LAWNGREEN => "#7cfc00",
239 LEMONCHIFFON => "#fffacd",
240 LIGHTBLUE => "#add8e6",
241 LIGHTCORAL => "#f08080",
242 LIGHTCYAN => "#e0ffff",
243 LIGHTGOLDENRODYELLOW => "#fafad2",
244 LIGHTGRAY => "#d3d3d3",
245 LIGHTGREEN => "#90ee90",
246 LIGHTGREY => "#d3d3d3",
247 LIGHTPINK => "#ffb6c1",
248 LIGHTSALMON => "#ffa07a",
249 LIGHTSEAGREEN => "#20b2aa",
250 LIGHTSKYBLUE => "#87cefa",
251 LIGHTSLATEGRAY => "#778899",
252 LIGHTSLATEGREY => "#778899",
253 LIGHTSTEELBLUE => "#b0c4de",
254 LIGHTYELLOW => "#ffffe0",
255 LIME => "#00ff00",
256 LIMEGREEN => "#32cd32",
257 LINEN => "#faf0e6",
258 MAGENTA => "#ff00ff",
259 MAROON => "#800000",
260 MEDIUMAQUAMARINE => "#66cdaa",
261 MEDIUMBLUE => "#0000cd",
262 MEDIUMORCHID => "#ba55d3",
263 MEDIUMPURPLE => "#9370db",
264 MEDIUMSEAGREEN => "#3cb371",
265 MEDIUMSLATEBLUE => "#7b68ee",
266 MEDIUMSPRINGGREEN => "#00fa9a",
267 MEDIUMTURQUOISE => "#48d1cc",
268 MEDIUMVIOLETRED => "#c71585",
269 MIDNIGHTBLUE => "#191970",
270 MINTCREAM => "#f5fffa",
271 MISTYROSE => "#ffe4e1",
272 MOCCASIN => "#ffe4b5",
273 NAVAJOWHITE => "#ffdead",
274 NAVY => "#000080",
275 OLDLACE => "#fdf5e6",
276 OLIVE => "#808000",
277 OLIVEDRAB => "#6b8e23",
278 ORANGE => "#ffa500",
279 ORANGERED => "#ff4500",
280 ORCHID => "#da70d6",
281 PALEGOLDENROD => "#eee8aa",
282 PALEGREEN => "#98fb98",
283 PALETURQUOISE => "#afeeee",
284 PALEVIOLETRED => "#db7093",
285 PAPAYAWHIP => "#ffefd5",
286 PEACHPUFF => "#ffdab9",
287 PERU => "#cd853f",
288 PINK => "#ffc0cb",
289 PLUM => "#dda0dd",
290 POWDERBLUE => "#b0e0e6",
291 PURPLE => "#800080",
292 REBECCAPURPLE => "#663399",
293 RED => "#ff0000",
294 ROSYBROWN => "#bc8f8f",
295 ROYALBLUE => "#4169e1",
296 SADDLEBROWN => "#8b4513",
297 SALMON => "#fa8072",
298 SANDYBROWN => "#f4a460",
299 SEAGREEN => "#2e8b57",
300 SEASHELL => "#fff5ee",
301 SIENNA => "#a0522d",
302 SILVER => "#c0c0c0",
303 SKYBLUE => "#87ceeb",
304 SLATEBLUE => "#6a5acd",
305 SLATEGRAY => "#708090",
306 SLATEGREY => "#708090",
307 SNOW => "#fffafa",
308 SPRINGGREEN => "#00ff7f",
309 STEELBLUE => "#4682b4",
310 TAN => "#d2b48c",
311 TEAL => "#008080",
312 THISTLE => "#d8bfd8",
313 TOMATO => "#ff6347",
314 TRANSPARENT => "transparent",
315 TURQUOISE => "#40e0d0",
316 VIOLET => "#ee82ee",
317 WHEAT => "#f5deb3",
318 WHITE => "#ffffff",
319 WHITESMOKE => "#f5f5f5",
320 YELLOW => "#ffff00",
321 YELLOWGREEN => "#9acd32",
322 }
323 }
324 pub const fn name(&self) -> &'static str {
326 use NamedColor::*;
327 match self {
328 ALICEBLUE => "aliceblue",
329 ANTIQUEWHITE => "antiquewhite",
330 AQUA => "aqua",
331 AQUAMARINE => "aquamarine",
332 AZURE => "azure",
333 BEIGE => "beige",
334 BISQUE => "bisque",
335 BLACK => "black",
336 BLANCHEDALMOND => "blanchedalmond",
337 BLUE => "blue",
338 BLUEVIOLET => "blueviolet",
339 BROWN => "brown",
340 BURLYWOOD => "burlywood",
341 CADETBLUE => "cadetblue",
342 CHARTREUSE => "chartreuse",
343 CHOCOLATE => "chocolate",
344 CORAL => "coral",
345 CORNFLOWERBLUE => "cornflowerblue",
346 CORNSILK => "cornsilk",
347 CRIMSON => "crimson",
348 CYAN => "cyan",
349 DARKBLUE => "darkblue",
350 DARKCYAN => "darkcyan",
351 DARKGOLDENROD => "darkgoldenrod",
352 DARKGRAY => "darkgray",
353 DARKGREEN => "darkgreen",
354 DARKGREY => "darkgrey",
355 DARKKHAKI => "darkkhaki",
356 DARKMAGENTA => "darkmagenta",
357 DARKOLIVEGREEN => "darkolivegreen",
358 DARKORANGE => "darkorange",
359 DARKORCHID => "darkorchid",
360 DARKRED => "darkred",
361 DARKSALMON => "darksalmon",
362 DARKSEAGREEN => "darkseagreen",
363 DARKSLATEBLUE => "darkslateblue",
364 DARKSLATEGRAY => "darkslategray",
365 DARKSLATEGREY => "darkslategrey",
366 DARKTURQUOISE => "darkturquoise",
367 DARKVIOLET => "darkviolet",
368 DEEPPINK => "deeppink",
369 DEEPSKYBLUE => "deepskyblue",
370 DIMGRAY => "dimgray",
371 DIMGREY => "dimgrey",
372 DODGERBLUE => "dodgerblue",
373 FIREBRICK => "firebrick",
374 FLORALWHITE => "floralwhite",
375 FORESTGREEN => "forestgreen",
376 FUCHSIA => "fuchsia",
377 GAINSBORO => "gainsboro",
378 GHOSTWHITE => "ghostwhite",
379 GOLD => "gold",
380 GOLDENROD => "goldenrod",
381 GRAY => "gray",
382 GREEN => "green",
383 GREENYELLOW => "greenyellow",
384 GREY => "grey",
385 HONEYDEW => "honeydew",
386 HOTPINK => "hotpink",
387 INDIANRED => "indianred",
388 INDIGO => "indigo",
389 IVORY => "ivory",
390 KHAKI => "khaki",
391 LAVENDER => "lavender",
392 LAVENDERBLUSH => "lavenderblush",
393 LAWNGREEN => "lawngreen",
394 LEMONCHIFFON => "lemonchiffon",
395 LIGHTBLUE => "lightblue",
396 LIGHTCORAL => "lightcoral",
397 LIGHTCYAN => "lightcyan",
398 LIGHTGOLDENRODYELLOW => "lightgoldenrodyellow",
399 LIGHTGRAY => "lightgray",
400 LIGHTGREEN => "lightgreen",
401 LIGHTGREY => "lightgrey",
402 LIGHTPINK => "lightpink",
403 LIGHTSALMON => "lightsalmon",
404 LIGHTSEAGREEN => "lightseagreen",
405 LIGHTSKYBLUE => "lightskyblue",
406 LIGHTSLATEGRAY => "lightslategray",
407 LIGHTSLATEGREY => "lightslategrey",
408 LIGHTSTEELBLUE => "lightsteelblue",
409 LIGHTYELLOW => "lightyellow",
410 LIME => "lime",
411 LIMEGREEN => "limegreen",
412 LINEN => "linen",
413 MAGENTA => "magenta",
414 MAROON => "maroon",
415 MEDIUMAQUAMARINE => "mediumaquamarine",
416 MEDIUMBLUE => "mediumblue",
417 MEDIUMORCHID => "mediumorchid",
418 MEDIUMPURPLE => "mediumpurple",
419 MEDIUMSEAGREEN => "mediumseagreen",
420 MEDIUMSLATEBLUE => "mediumslateblue",
421 MEDIUMSPRINGGREEN => "mediumspringgreen",
422 MEDIUMTURQUOISE => "mediumturquoise",
423 MEDIUMVIOLETRED => "mediumvioletred",
424 MIDNIGHTBLUE => "midnightblue",
425 MINTCREAM => "mintcream",
426 MISTYROSE => "mistyrose",
427 MOCCASIN => "moccasin",
428 NAVAJOWHITE => "navajowhite",
429 NAVY => "navy",
430 OLDLACE => "oldlace",
431 OLIVE => "olive",
432 OLIVEDRAB => "olivedrab",
433 ORANGE => "orange",
434 ORANGERED => "orangered",
435 ORCHID => "orchid",
436 PALEGOLDENROD => "palegoldenrod",
437 PALEGREEN => "palegreen",
438 PALETURQUOISE => "paleturquoise",
439 PALEVIOLETRED => "palevioletred",
440 PAPAYAWHIP => "papayawhip",
441 PEACHPUFF => "peachpuff",
442 PERU => "peru",
443 PINK => "pink",
444 PLUM => "plum",
445 POWDERBLUE => "powderblue",
446 PURPLE => "purple",
447 REBECCAPURPLE => "rebeccapurple",
448 RED => "red",
449 ROSYBROWN => "rosybrown",
450 ROYALBLUE => "royalblue",
451 SADDLEBROWN => "saddlebrown",
452 SALMON => "salmon",
453 SANDYBROWN => "sandybrown",
454 SEAGREEN => "seagreen",
455 SEASHELL => "seashell",
456 SIENNA => "sienna",
457 SILVER => "silver",
458 SKYBLUE => "skyblue",
459 SLATEBLUE => "slateblue",
460 SLATEGRAY => "slategray",
461 SLATEGREY => "slategrey",
462 SNOW => "snow",
463 SPRINGGREEN => "springgreen",
464 STEELBLUE => "steelblue",
465 TAN => "tan",
466 TEAL => "teal",
467 THISTLE => "thistle",
468 TOMATO => "tomato",
469 TRANSPARENT => "transparent",
470 TURQUOISE => "turquoise",
471 VIOLET => "violet",
472 WHEAT => "wheat",
473 WHITE => "white",
474 WHITESMOKE => "whitesmoke",
475 YELLOW => "yellow",
476 YELLOWGREEN => "yellowgreen",
477 }
478 }
479 pub fn from_hex(hex: &str) -> Option<Self> {
486 match hex {
487 "#f0f8ff" => Some(NamedColor::ALICEBLUE),
488 "#faebd7" => Some(NamedColor::ANTIQUEWHITE),
489 "#00ffff" => Some(NamedColor::AQUA),
490 "#7fffd4" => Some(NamedColor::AQUAMARINE),
491 "#f0ffff" => Some(NamedColor::AZURE),
492 "#f5f5dc" => Some(NamedColor::BEIGE),
493 "#ffe4c4" => Some(NamedColor::BISQUE),
494 "#000000" => Some(NamedColor::BLACK),
495 "#ffebcd" => Some(NamedColor::BLANCHEDALMOND),
496 "#0000ff" => Some(NamedColor::BLUE),
497 "#8a2be2" => Some(NamedColor::BLUEVIOLET),
498 "#a52a2a" => Some(NamedColor::BROWN),
499 "#deb887" => Some(NamedColor::BURLYWOOD),
500 "#5f9ea0" => Some(NamedColor::CADETBLUE),
501 "#7fff00" => Some(NamedColor::CHARTREUSE),
502 "#d2691e" => Some(NamedColor::CHOCOLATE),
503 "#ff7f50" => Some(NamedColor::CORAL),
504 "#6495ed" => Some(NamedColor::CORNFLOWERBLUE),
505 "#fff8dc" => Some(NamedColor::CORNSILK),
506 "#dc143c" => Some(NamedColor::CRIMSON),
507 "#00008b" => Some(NamedColor::DARKBLUE),
508 "#008b8b" => Some(NamedColor::DARKCYAN),
509 "#b8860b" => Some(NamedColor::DARKGOLDENROD),
510 "#a9a9a9" => Some(NamedColor::DARKGRAY),
511 "#006400" => Some(NamedColor::DARKGREEN),
512 "#bdb76b" => Some(NamedColor::DARKKHAKI),
513 "#8b008b" => Some(NamedColor::DARKMAGENTA),
514 "#556b2f" => Some(NamedColor::DARKOLIVEGREEN),
515 "#ff8c00" => Some(NamedColor::DARKORANGE),
516 "#9932cc" => Some(NamedColor::DARKORCHID),
517 "#8b0000" => Some(NamedColor::DARKRED),
518 "#e9967a" => Some(NamedColor::DARKSALMON),
519 "#8fbc8f" => Some(NamedColor::DARKSEAGREEN),
520 "#483d8b" => Some(NamedColor::DARKSLATEBLUE),
521 "#2f4f4f" => Some(NamedColor::DARKSLATEGRAY),
522 "#00ced1" => Some(NamedColor::DARKTURQUOISE),
523 "#9400d3" => Some(NamedColor::DARKVIOLET),
524 "#ff1493" => Some(NamedColor::DEEPPINK),
525 "#00bfff" => Some(NamedColor::DEEPSKYBLUE),
526 "#696969" => Some(NamedColor::DIMGRAY),
527 "#1e90ff" => Some(NamedColor::DODGERBLUE),
528 "#b22222" => Some(NamedColor::FIREBRICK),
529 "#fffaf0" => Some(NamedColor::FLORALWHITE),
530 "#228b22" => Some(NamedColor::FORESTGREEN),
531 "#ff00ff" => Some(NamedColor::FUCHSIA),
532 "#dcdcdc" => Some(NamedColor::GAINSBORO),
533 "#f8f8ff" => Some(NamedColor::GHOSTWHITE),
534 "#ffd700" => Some(NamedColor::GOLD),
535 "#daa520" => Some(NamedColor::GOLDENROD),
536 "#808080" => Some(NamedColor::GRAY),
537 "#008000" => Some(NamedColor::GREEN),
538 "#adff2f" => Some(NamedColor::GREENYELLOW),
539 "#f0fff0" => Some(NamedColor::HONEYDEW),
540 "#ff69b4" => Some(NamedColor::HOTPINK),
541 "#cd5c5c" => Some(NamedColor::INDIANRED),
542 "#4b0082" => Some(NamedColor::INDIGO),
543 "#fffff0" => Some(NamedColor::IVORY),
544 "#f0e68c" => Some(NamedColor::KHAKI),
545 "#e6e6fa" => Some(NamedColor::LAVENDER),
546 "#fff0f5" => Some(NamedColor::LAVENDERBLUSH),
547 "#7cfc00" => Some(NamedColor::LAWNGREEN),
548 "#fffacd" => Some(NamedColor::LEMONCHIFFON),
549 "#add8e6" => Some(NamedColor::LIGHTBLUE),
550 "#f08080" => Some(NamedColor::LIGHTCORAL),
551 "#e0ffff" => Some(NamedColor::LIGHTCYAN),
552 "#fafad2" => Some(NamedColor::LIGHTGOLDENRODYELLOW),
553 "#d3d3d3" => Some(NamedColor::LIGHTGRAY),
554 "#90ee90" => Some(NamedColor::LIGHTGREEN),
555 "#ffb6c1" => Some(NamedColor::LIGHTPINK),
556 "#ffa07a" => Some(NamedColor::LIGHTSALMON),
557 "#20b2aa" => Some(NamedColor::LIGHTSEAGREEN),
558 "#87cefa" => Some(NamedColor::LIGHTSKYBLUE),
559 "#778899" => Some(NamedColor::LIGHTSLATEGRAY),
560 "#b0c4de" => Some(NamedColor::LIGHTSTEELBLUE),
561 "#ffffe0" => Some(NamedColor::LIGHTYELLOW),
562 "#00ff00" => Some(NamedColor::LIME),
563 "#32cd32" => Some(NamedColor::LIMEGREEN),
564 "#faf0e6" => Some(NamedColor::LINEN),
565 "#800000" => Some(NamedColor::MAROON),
566 "#66cdaa" => Some(NamedColor::MEDIUMAQUAMARINE),
567 "#0000cd" => Some(NamedColor::MEDIUMBLUE),
568 "#ba55d3" => Some(NamedColor::MEDIUMORCHID),
569 "#9370db" => Some(NamedColor::MEDIUMPURPLE),
570 "#3cb371" => Some(NamedColor::MEDIUMSEAGREEN),
571 "#7b68ee" => Some(NamedColor::MEDIUMSLATEBLUE),
572 "#00fa9a" => Some(NamedColor::MEDIUMSPRINGGREEN),
573 "#48d1cc" => Some(NamedColor::MEDIUMTURQUOISE),
574 "#c71585" => Some(NamedColor::MEDIUMVIOLETRED),
575 "#191970" => Some(NamedColor::MIDNIGHTBLUE),
576 "#f5fffa" => Some(NamedColor::MINTCREAM),
577 "#ffe4e1" => Some(NamedColor::MISTYROSE),
578 "#ffe4b5" => Some(NamedColor::MOCCASIN),
579 "#ffdead" => Some(NamedColor::NAVAJOWHITE),
580 "#000080" => Some(NamedColor::NAVY),
581 "#fdf5e6" => Some(NamedColor::OLDLACE),
582 "#808000" => Some(NamedColor::OLIVE),
583 "#6b8e23" => Some(NamedColor::OLIVEDRAB),
584 "#ffa500" => Some(NamedColor::ORANGE),
585 "#ff4500" => Some(NamedColor::ORANGERED),
586 "#da70d6" => Some(NamedColor::ORCHID),
587 "#eee8aa" => Some(NamedColor::PALEGOLDENROD),
588 "#98fb98" => Some(NamedColor::PALEGREEN),
589 "#afeeee" => Some(NamedColor::PALETURQUOISE),
590 "#db7093" => Some(NamedColor::PALEVIOLETRED),
591 "#ffefd5" => Some(NamedColor::PAPAYAWHIP),
592 "#ffdab9" => Some(NamedColor::PEACHPUFF),
593 "#cd853f" => Some(NamedColor::PERU),
594 "#ffc0cb" => Some(NamedColor::PINK),
595 "#dda0dd" => Some(NamedColor::PLUM),
596 "#b0e0e6" => Some(NamedColor::POWDERBLUE),
597 "#800080" => Some(NamedColor::PURPLE),
598 "#663399" => Some(NamedColor::REBECCAPURPLE),
599 "#ff0000" => Some(NamedColor::RED),
600 "#bc8f8f" => Some(NamedColor::ROSYBROWN),
601 "#4169e1" => Some(NamedColor::ROYALBLUE),
602 "#8b4513" => Some(NamedColor::SADDLEBROWN),
603 "#fa8072" => Some(NamedColor::SALMON),
604 "#f4a460" => Some(NamedColor::SANDYBROWN),
605 "#2e8b57" => Some(NamedColor::SEAGREEN),
606 "#fff5ee" => Some(NamedColor::SEASHELL),
607 "#a0522d" => Some(NamedColor::SIENNA),
608 "#c0c0c0" => Some(NamedColor::SILVER),
609 "#87ceeb" => Some(NamedColor::SKYBLUE),
610 "#6a5acd" => Some(NamedColor::SLATEBLUE),
611 "#708090" => Some(NamedColor::SLATEGRAY),
612 "#fffafa" => Some(NamedColor::SNOW),
613 "#00ff7f" => Some(NamedColor::SPRINGGREEN),
614 "#4682b4" => Some(NamedColor::STEELBLUE),
615 "#d2b48c" => Some(NamedColor::TAN),
616 "#008080" => Some(NamedColor::TEAL),
617 "#d8bfd8" => Some(NamedColor::THISTLE),
618 "#ff6347" => Some(NamedColor::TOMATO),
619 "#40e0d0" => Some(NamedColor::TURQUOISE),
620 "#ee82ee" => Some(NamedColor::VIOLET),
621 "#f5deb3" => Some(NamedColor::WHEAT),
622 "#ffffff" => Some(NamedColor::WHITE),
623 "#f5f5f5" => Some(NamedColor::WHITESMOKE),
624 "#ffff00" => Some(NamedColor::YELLOW),
625 "#9acd32" => Some(NamedColor::YELLOWGREEN),
626 _ => None,
627 }
628 }
629 pub fn from_name(name: &str) -> Option<Self> {
631 match name {
632 "aliceblue" => Some(NamedColor::ALICEBLUE),
633 "antiquewhite" => Some(NamedColor::ANTIQUEWHITE),
634 "aqua" => Some(NamedColor::AQUA),
635 "aquamarine" => Some(NamedColor::AQUAMARINE),
636 "azure" => Some(NamedColor::AZURE),
637 "beige" => Some(NamedColor::BEIGE),
638 "bisque" => Some(NamedColor::BISQUE),
639 "black" => Some(NamedColor::BLACK),
640 "blanchedalmond" => Some(NamedColor::BLANCHEDALMOND),
641 "blue" => Some(NamedColor::BLUE),
642 "blueviolet" => Some(NamedColor::BLUEVIOLET),
643 "brown" => Some(NamedColor::BROWN),
644 "burlywood" => Some(NamedColor::BURLYWOOD),
645 "cadetblue" => Some(NamedColor::CADETBLUE),
646 "chartreuse" => Some(NamedColor::CHARTREUSE),
647 "chocolate" => Some(NamedColor::CHOCOLATE),
648 "coral" => Some(NamedColor::CORAL),
649 "cornflowerblue" => Some(NamedColor::CORNFLOWERBLUE),
650 "cornsilk" => Some(NamedColor::CORNSILK),
651 "crimson" => Some(NamedColor::CRIMSON),
652 "cyan" => Some(NamedColor::CYAN),
653 "darkblue" => Some(NamedColor::DARKBLUE),
654 "darkcyan" => Some(NamedColor::DARKCYAN),
655 "darkgoldenrod" => Some(NamedColor::DARKGOLDENROD),
656 "darkgray" => Some(NamedColor::DARKGRAY),
657 "darkgreen" => Some(NamedColor::DARKGREEN),
658 "darkgrey" => Some(NamedColor::DARKGREY),
659 "darkkhaki" => Some(NamedColor::DARKKHAKI),
660 "darkmagenta" => Some(NamedColor::DARKMAGENTA),
661 "darkolivegreen" => Some(NamedColor::DARKOLIVEGREEN),
662 "darkorange" => Some(NamedColor::DARKORANGE),
663 "darkorchid" => Some(NamedColor::DARKORCHID),
664 "darkred" => Some(NamedColor::DARKRED),
665 "darksalmon" => Some(NamedColor::DARKSALMON),
666 "darkseagreen" => Some(NamedColor::DARKSEAGREEN),
667 "darkslateblue" => Some(NamedColor::DARKSLATEBLUE),
668 "darkslategray" => Some(NamedColor::DARKSLATEGRAY),
669 "darkslategrey" => Some(NamedColor::DARKSLATEGREY),
670 "darkturquoise" => Some(NamedColor::DARKTURQUOISE),
671 "darkviolet" => Some(NamedColor::DARKVIOLET),
672 "deeppink" => Some(NamedColor::DEEPPINK),
673 "deepskyblue" => Some(NamedColor::DEEPSKYBLUE),
674 "dimgray" => Some(NamedColor::DIMGRAY),
675 "dimgrey" => Some(NamedColor::DIMGREY),
676 "dodgerblue" => Some(NamedColor::DODGERBLUE),
677 "firebrick" => Some(NamedColor::FIREBRICK),
678 "floralwhite" => Some(NamedColor::FLORALWHITE),
679 "forestgreen" => Some(NamedColor::FORESTGREEN),
680 "fuchsia" => Some(NamedColor::FUCHSIA),
681 "gainsboro" => Some(NamedColor::GAINSBORO),
682 "ghostwhite" => Some(NamedColor::GHOSTWHITE),
683 "gold" => Some(NamedColor::GOLD),
684 "goldenrod" => Some(NamedColor::GOLDENROD),
685 "gray" => Some(NamedColor::GRAY),
686 "green" => Some(NamedColor::GREEN),
687 "greenyellow" => Some(NamedColor::GREENYELLOW),
688 "grey" => Some(NamedColor::GREY),
689 "honeydew" => Some(NamedColor::HONEYDEW),
690 "hotpink" => Some(NamedColor::HOTPINK),
691 "indianred" => Some(NamedColor::INDIANRED),
692 "indigo" => Some(NamedColor::INDIGO),
693 "ivory" => Some(NamedColor::IVORY),
694 "khaki" => Some(NamedColor::KHAKI),
695 "lavender" => Some(NamedColor::LAVENDER),
696 "lavenderblush" => Some(NamedColor::LAVENDERBLUSH),
697 "lawngreen" => Some(NamedColor::LAWNGREEN),
698 "lemonchiffon" => Some(NamedColor::LEMONCHIFFON),
699 "lightblue" => Some(NamedColor::LIGHTBLUE),
700 "lightcoral" => Some(NamedColor::LIGHTCORAL),
701 "lightcyan" => Some(NamedColor::LIGHTCYAN),
702 "lightgoldenrodyellow" => Some(NamedColor::LIGHTGOLDENRODYELLOW),
703 "lightgray" => Some(NamedColor::LIGHTGRAY),
704 "lightgreen" => Some(NamedColor::LIGHTGREEN),
705 "lightgrey" => Some(NamedColor::LIGHTGREY),
706 "lightpink" => Some(NamedColor::LIGHTPINK),
707 "lightsalmon" => Some(NamedColor::LIGHTSALMON),
708 "lightseagreen" => Some(NamedColor::LIGHTSEAGREEN),
709 "lightskyblue" => Some(NamedColor::LIGHTSKYBLUE),
710 "lightslategray" => Some(NamedColor::LIGHTSLATEGRAY),
711 "lightslategrey" => Some(NamedColor::LIGHTSLATEGREY),
712 "lightsteelblue" => Some(NamedColor::LIGHTSTEELBLUE),
713 "lightyellow" => Some(NamedColor::LIGHTYELLOW),
714 "lime" => Some(NamedColor::LIME),
715 "limegreen" => Some(NamedColor::LIMEGREEN),
716 "linen" => Some(NamedColor::LINEN),
717 "magenta" => Some(NamedColor::MAGENTA),
718 "maroon" => Some(NamedColor::MAROON),
719 "mediumaquamarine" => Some(NamedColor::MEDIUMAQUAMARINE),
720 "mediumblue" => Some(NamedColor::MEDIUMBLUE),
721 "mediumorchid" => Some(NamedColor::MEDIUMORCHID),
722 "mediumpurple" => Some(NamedColor::MEDIUMPURPLE),
723 "mediumseagreen" => Some(NamedColor::MEDIUMSEAGREEN),
724 "mediumslateblue" => Some(NamedColor::MEDIUMSLATEBLUE),
725 "mediumspringgreen" => Some(NamedColor::MEDIUMSPRINGGREEN),
726 "mediumturquoise" => Some(NamedColor::MEDIUMTURQUOISE),
727 "mediumvioletred" => Some(NamedColor::MEDIUMVIOLETRED),
728 "midnightblue" => Some(NamedColor::MIDNIGHTBLUE),
729 "mintcream" => Some(NamedColor::MINTCREAM),
730 "mistyrose" => Some(NamedColor::MISTYROSE),
731 "moccasin" => Some(NamedColor::MOCCASIN),
732 "navajowhite" => Some(NamedColor::NAVAJOWHITE),
733 "navy" => Some(NamedColor::NAVY),
734 "oldlace" => Some(NamedColor::OLDLACE),
735 "olive" => Some(NamedColor::OLIVE),
736 "olivedrab" => Some(NamedColor::OLIVEDRAB),
737 "orange" => Some(NamedColor::ORANGE),
738 "orangered" => Some(NamedColor::ORANGERED),
739 "orchid" => Some(NamedColor::ORCHID),
740 "palegoldenrod" => Some(NamedColor::PALEGOLDENROD),
741 "palegreen" => Some(NamedColor::PALEGREEN),
742 "paleturquoise" => Some(NamedColor::PALETURQUOISE),
743 "palevioletred" => Some(NamedColor::PALEVIOLETRED),
744 "papayawhip" => Some(NamedColor::PAPAYAWHIP),
745 "peachpuff" => Some(NamedColor::PEACHPUFF),
746 "peru" => Some(NamedColor::PERU),
747 "pink" => Some(NamedColor::PINK),
748 "plum" => Some(NamedColor::PLUM),
749 "powderblue" => Some(NamedColor::POWDERBLUE),
750 "purple" => Some(NamedColor::PURPLE),
751 "rebeccapurple" => Some(NamedColor::REBECCAPURPLE),
752 "red" => Some(NamedColor::RED),
753 "rosybrown" => Some(NamedColor::ROSYBROWN),
754 "royalblue" => Some(NamedColor::ROYALBLUE),
755 "saddlebrown" => Some(NamedColor::SADDLEBROWN),
756 "salmon" => Some(NamedColor::SALMON),
757 "sandybrown" => Some(NamedColor::SANDYBROWN),
758 "seagreen" => Some(NamedColor::SEAGREEN),
759 "seashell" => Some(NamedColor::SEASHELL),
760 "sienna" => Some(NamedColor::SIENNA),
761 "silver" => Some(NamedColor::SILVER),
762 "skyblue" => Some(NamedColor::SKYBLUE),
763 "slateblue" => Some(NamedColor::SLATEBLUE),
764 "slategray" => Some(NamedColor::SLATEGRAY),
765 "slategrey" => Some(NamedColor::SLATEGREY),
766 "snow" => Some(NamedColor::SNOW),
767 "springgreen" => Some(NamedColor::SPRINGGREEN),
768 "steelblue" => Some(NamedColor::STEELBLUE),
769 "tan" => Some(NamedColor::TAN),
770 "teal" => Some(NamedColor::TEAL),
771 "thistle" => Some(NamedColor::THISTLE),
772 "tomato" => Some(NamedColor::TOMATO),
773 "transparent" => Some(NamedColor::TRANSPARENT),
774 "turquoise" => Some(NamedColor::TURQUOISE),
775 "violet" => Some(NamedColor::VIOLET),
776 "wheat" => Some(NamedColor::WHEAT),
777 "white" => Some(NamedColor::WHITE),
778 "whitesmoke" => Some(NamedColor::WHITESMOKE),
779 "yellow" => Some(NamedColor::YELLOW),
780 "yellowgreen" => Some(NamedColor::YELLOWGREEN),
781 _ => None,
782 }
783 }
784 pub const fn rgb(&self) -> Option<(u8, u8, u8)> {
787 use NamedColor::*;
788 match self {
789 ALICEBLUE => Some((240, 248, 255)),
790 ANTIQUEWHITE => Some((250, 235, 215)),
791 AQUA => Some((0, 255, 255)),
792 AQUAMARINE => Some((127, 255, 212)),
793 AZURE => Some((240, 255, 255)),
794 BEIGE => Some((245, 245, 220)),
795 BISQUE => Some((255, 228, 196)),
796 BLACK => Some((0, 0, 0)),
797 BLANCHEDALMOND => Some((255, 235, 205)),
798 BLUE => Some((0, 0, 255)),
799 BLUEVIOLET => Some((138, 43, 226)),
800 BROWN => Some((165, 42, 42)),
801 BURLYWOOD => Some((222, 184, 135)),
802 CADETBLUE => Some((95, 158, 160)),
803 CHARTREUSE => Some((127, 255, 0)),
804 CHOCOLATE => Some((210, 105, 30)),
805 CORAL => Some((255, 127, 80)),
806 CORNFLOWERBLUE => Some((100, 149, 237)),
807 CORNSILK => Some((255, 248, 220)),
808 CRIMSON => Some((220, 20, 60)),
809 CYAN => Some((0, 255, 255)),
810 DARKBLUE => Some((0, 0, 139)),
811 DARKCYAN => Some((0, 139, 139)),
812 DARKGOLDENROD => Some((184, 134, 11)),
813 DARKGRAY => Some((169, 169, 169)),
814 DARKGREEN => Some((0, 100, 0)),
815 DARKGREY => Some((169, 169, 169)),
816 DARKKHAKI => Some((189, 183, 107)),
817 DARKMAGENTA => Some((139, 0, 139)),
818 DARKOLIVEGREEN => Some((85, 107, 47)),
819 DARKORANGE => Some((255, 140, 0)),
820 DARKORCHID => Some((153, 50, 204)),
821 DARKRED => Some((139, 0, 0)),
822 DARKSALMON => Some((233, 150, 122)),
823 DARKSEAGREEN => Some((143, 188, 143)),
824 DARKSLATEBLUE => Some((72, 61, 139)),
825 DARKSLATEGRAY => Some((47, 79, 79)),
826 DARKSLATEGREY => Some((47, 79, 79)),
827 DARKTURQUOISE => Some((0, 206, 209)),
828 DARKVIOLET => Some((148, 0, 211)),
829 DEEPPINK => Some((255, 20, 147)),
830 DEEPSKYBLUE => Some((0, 191, 255)),
831 DIMGRAY => Some((105, 105, 105)),
832 DIMGREY => Some((105, 105, 105)),
833 DODGERBLUE => Some((30, 144, 255)),
834 FIREBRICK => Some((178, 34, 34)),
835 FLORALWHITE => Some((255, 250, 240)),
836 FORESTGREEN => Some((34, 139, 34)),
837 FUCHSIA => Some((255, 0, 255)),
838 GAINSBORO => Some((220, 220, 220)),
839 GHOSTWHITE => Some((248, 248, 255)),
840 GOLD => Some((255, 215, 0)),
841 GOLDENROD => Some((218, 165, 32)),
842 GRAY => Some((128, 128, 128)),
843 GREEN => Some((0, 128, 0)),
844 GREENYELLOW => Some((173, 255, 47)),
845 GREY => Some((128, 128, 128)),
846 HONEYDEW => Some((240, 255, 240)),
847 HOTPINK => Some((255, 105, 180)),
848 INDIANRED => Some((205, 92, 92)),
849 INDIGO => Some((75, 0, 130)),
850 IVORY => Some((255, 255, 240)),
851 KHAKI => Some((240, 230, 140)),
852 LAVENDER => Some((230, 230, 250)),
853 LAVENDERBLUSH => Some((255, 240, 245)),
854 LAWNGREEN => Some((124, 252, 0)),
855 LEMONCHIFFON => Some((255, 250, 205)),
856 LIGHTBLUE => Some((173, 216, 230)),
857 LIGHTCORAL => Some((240, 128, 128)),
858 LIGHTCYAN => Some((224, 255, 255)),
859 LIGHTGOLDENRODYELLOW => Some((250, 250, 210)),
860 LIGHTGRAY => Some((211, 211, 211)),
861 LIGHTGREEN => Some((144, 238, 144)),
862 LIGHTGREY => Some((211, 211, 211)),
863 LIGHTPINK => Some((255, 182, 193)),
864 LIGHTSALMON => Some((255, 160, 122)),
865 LIGHTSEAGREEN => Some((32, 178, 170)),
866 LIGHTSKYBLUE => Some((135, 206, 250)),
867 LIGHTSLATEGRAY => Some((119, 136, 153)),
868 LIGHTSLATEGREY => Some((119, 136, 153)),
869 LIGHTSTEELBLUE => Some((176, 196, 222)),
870 LIGHTYELLOW => Some((255, 255, 224)),
871 LIME => Some((0, 255, 0)),
872 LIMEGREEN => Some((50, 205, 50)),
873 LINEN => Some((250, 240, 230)),
874 MAGENTA => Some((255, 0, 255)),
875 MAROON => Some((128, 0, 0)),
876 MEDIUMAQUAMARINE => Some((102, 205, 170)),
877 MEDIUMBLUE => Some((0, 0, 205)),
878 MEDIUMORCHID => Some((186, 85, 211)),
879 MEDIUMPURPLE => Some((147, 112, 219)),
880 MEDIUMSEAGREEN => Some((60, 179, 113)),
881 MEDIUMSLATEBLUE => Some((123, 104, 238)),
882 MEDIUMSPRINGGREEN => Some((0, 250, 154)),
883 MEDIUMTURQUOISE => Some((72, 209, 204)),
884 MEDIUMVIOLETRED => Some((199, 21, 133)),
885 MIDNIGHTBLUE => Some((25, 25, 112)),
886 MINTCREAM => Some((245, 255, 250)),
887 MISTYROSE => Some((255, 228, 225)),
888 MOCCASIN => Some((255, 228, 181)),
889 NAVAJOWHITE => Some((255, 222, 173)),
890 NAVY => Some((0, 0, 128)),
891 OLDLACE => Some((253, 245, 230)),
892 OLIVE => Some((128, 128, 0)),
893 OLIVEDRAB => Some((107, 142, 35)),
894 ORANGE => Some((255, 165, 0)),
895 ORANGERED => Some((255, 69, 0)),
896 ORCHID => Some((218, 112, 214)),
897 PALEGOLDENROD => Some((238, 232, 170)),
898 PALEGREEN => Some((152, 251, 152)),
899 PALETURQUOISE => Some((175, 238, 238)),
900 PALEVIOLETRED => Some((219, 112, 147)),
901 PAPAYAWHIP => Some((255, 239, 213)),
902 PEACHPUFF => Some((255, 218, 185)),
903 PERU => Some((205, 133, 63)),
904 PINK => Some((255, 192, 203)),
905 PLUM => Some((221, 160, 221)),
906 POWDERBLUE => Some((176, 224, 230)),
907 PURPLE => Some((128, 0, 128)),
908 REBECCAPURPLE => Some((102, 51, 153)),
909 RED => Some((255, 0, 0)),
910 ROSYBROWN => Some((188, 143, 143)),
911 ROYALBLUE => Some((65, 105, 225)),
912 SADDLEBROWN => Some((139, 69, 19)),
913 SALMON => Some((250, 128, 114)),
914 SANDYBROWN => Some((244, 164, 96)),
915 SEAGREEN => Some((46, 139, 87)),
916 SEASHELL => Some((255, 245, 238)),
917 SIENNA => Some((160, 82, 45)),
918 SILVER => Some((192, 192, 192)),
919 SKYBLUE => Some((135, 206, 235)),
920 SLATEBLUE => Some((106, 90, 205)),
921 SLATEGRAY => Some((112, 128, 144)),
922 SLATEGREY => Some((112, 128, 144)),
923 SNOW => Some((255, 250, 250)),
924 SPRINGGREEN => Some((0, 255, 127)),
925 STEELBLUE => Some((70, 130, 180)),
926 TAN => Some((210, 180, 140)),
927 TEAL => Some((0, 128, 128)),
928 THISTLE => Some((216, 191, 216)),
929 TOMATO => Some((255, 99, 71)),
930 TRANSPARENT => None,
931 TURQUOISE => Some((64, 224, 208)),
932 VIOLET => Some((238, 130, 238)),
933 WHEAT => Some((245, 222, 179)),
934 WHITE => Some((255, 255, 255)),
935 WHITESMOKE => Some((245, 245, 245)),
936 YELLOW => Some((255, 255, 0)),
937 YELLOWGREEN => Some((154, 205, 50)),
938 }
939 }
940 pub const fn from_rgb(rgb: (u8, u8, u8)) -> Option<Self> {
943 use NamedColor::*;
944 match rgb {
945 (240, 248, 255) => Some(ALICEBLUE),
946 (250, 235, 215) => Some(ANTIQUEWHITE),
947 (0, 255, 255) => Some(AQUA),
948 (127, 255, 212) => Some(AQUAMARINE),
949 (240, 255, 255) => Some(AZURE),
950 (245, 245, 220) => Some(BEIGE),
951 (255, 228, 196) => Some(BISQUE),
952 (0, 0, 0) => Some(BLACK),
953 (255, 235, 205) => Some(BLANCHEDALMOND),
954 (0, 0, 255) => Some(BLUE),
955 (138, 43, 226) => Some(BLUEVIOLET),
956 (165, 42, 42) => Some(BROWN),
957 (222, 184, 135) => Some(BURLYWOOD),
958 (95, 158, 160) => Some(CADETBLUE),
959 (127, 255, 0) => Some(CHARTREUSE),
960 (210, 105, 30) => Some(CHOCOLATE),
961 (255, 127, 80) => Some(CORAL),
962 (100, 149, 237) => Some(CORNFLOWERBLUE),
963 (255, 248, 220) => Some(CORNSILK),
964 (220, 20, 60) => Some(CRIMSON),
965 (0, 0, 139) => Some(DARKBLUE),
966 (0, 139, 139) => Some(DARKCYAN),
967 (184, 134, 11) => Some(DARKGOLDENROD),
968 (169, 169, 169) => Some(DARKGRAY),
969 (0, 100, 0) => Some(DARKGREEN),
970 (189, 183, 107) => Some(DARKKHAKI),
971 (139, 0, 139) => Some(DARKMAGENTA),
972 (85, 107, 47) => Some(DARKOLIVEGREEN),
973 (255, 140, 0) => Some(DARKORANGE),
974 (153, 50, 204) => Some(DARKORCHID),
975 (139, 0, 0) => Some(DARKRED),
976 (233, 150, 122) => Some(DARKSALMON),
977 (143, 188, 143) => Some(DARKSEAGREEN),
978 (72, 61, 139) => Some(DARKSLATEBLUE),
979 (47, 79, 79) => Some(DARKSLATEGRAY),
980 (0, 206, 209) => Some(DARKTURQUOISE),
981 (148, 0, 211) => Some(DARKVIOLET),
982 (255, 20, 147) => Some(DEEPPINK),
983 (0, 191, 255) => Some(DEEPSKYBLUE),
984 (105, 105, 105) => Some(DIMGRAY),
985 (30, 144, 255) => Some(DODGERBLUE),
986 (178, 34, 34) => Some(FIREBRICK),
987 (255, 250, 240) => Some(FLORALWHITE),
988 (34, 139, 34) => Some(FORESTGREEN),
989 (220, 220, 220) => Some(GAINSBORO),
990 (248, 248, 255) => Some(GHOSTWHITE),
991 (255, 215, 0) => Some(GOLD),
992 (218, 165, 32) => Some(GOLDENROD),
993 (128, 128, 128) => Some(GRAY),
994 (0, 128, 0) => Some(GREEN),
995 (173, 255, 47) => Some(GREENYELLOW),
996 (240, 255, 240) => Some(HONEYDEW),
997 (255, 105, 180) => Some(HOTPINK),
998 (205, 92, 92) => Some(INDIANRED),
999 (75, 0, 130) => Some(INDIGO),
1000 (255, 255, 240) => Some(IVORY),
1001 (240, 230, 140) => Some(KHAKI),
1002 (230, 230, 250) => Some(LAVENDER),
1003 (255, 240, 245) => Some(LAVENDERBLUSH),
1004 (124, 252, 0) => Some(LAWNGREEN),
1005 (255, 250, 205) => Some(LEMONCHIFFON),
1006 (173, 216, 230) => Some(LIGHTBLUE),
1007 (240, 128, 128) => Some(LIGHTCORAL),
1008 (224, 255, 255) => Some(LIGHTCYAN),
1009 (250, 250, 210) => Some(LIGHTGOLDENRODYELLOW),
1010 (211, 211, 211) => Some(LIGHTGRAY),
1011 (144, 238, 144) => Some(LIGHTGREEN),
1012 (255, 182, 193) => Some(LIGHTPINK),
1013 (255, 160, 122) => Some(LIGHTSALMON),
1014 (32, 178, 170) => Some(LIGHTSEAGREEN),
1015 (135, 206, 250) => Some(LIGHTSKYBLUE),
1016 (119, 136, 153) => Some(LIGHTSLATEGRAY),
1017 (176, 196, 222) => Some(LIGHTSTEELBLUE),
1018 (255, 255, 224) => Some(LIGHTYELLOW),
1019 (0, 255, 0) => Some(LIME),
1020 (50, 205, 50) => Some(LIMEGREEN),
1021 (250, 240, 230) => Some(LINEN),
1022 (128, 0, 0) => Some(MAROON),
1023 (102, 205, 170) => Some(MEDIUMAQUAMARINE),
1024 (0, 0, 205) => Some(MEDIUMBLUE),
1025 (186, 85, 211) => Some(MEDIUMORCHID),
1026 (147, 112, 219) => Some(MEDIUMPURPLE),
1027 (60, 179, 113) => Some(MEDIUMSEAGREEN),
1028 (123, 104, 238) => Some(MEDIUMSLATEBLUE),
1029 (0, 250, 154) => Some(MEDIUMSPRINGGREEN),
1030 (72, 209, 204) => Some(MEDIUMTURQUOISE),
1031 (199, 21, 133) => Some(MEDIUMVIOLETRED),
1032 (25, 25, 112) => Some(MIDNIGHTBLUE),
1033 (245, 255, 250) => Some(MINTCREAM),
1034 (255, 228, 225) => Some(MISTYROSE),
1035 (255, 228, 181) => Some(MOCCASIN),
1036 (255, 222, 173) => Some(NAVAJOWHITE),
1037 (0, 0, 128) => Some(NAVY),
1038 (253, 245, 230) => Some(OLDLACE),
1039 (128, 128, 0) => Some(OLIVE),
1040 (107, 142, 35) => Some(OLIVEDRAB),
1041 (255, 165, 0) => Some(ORANGE),
1042 (255, 69, 0) => Some(ORANGERED),
1043 (218, 112, 214) => Some(ORCHID),
1044 (238, 232, 170) => Some(PALEGOLDENROD),
1045 (152, 251, 152) => Some(PALEGREEN),
1046 (175, 238, 238) => Some(PALETURQUOISE),
1047 (219, 112, 147) => Some(PALEVIOLETRED),
1048 (255, 239, 213) => Some(PAPAYAWHIP),
1049 (255, 218, 185) => Some(PEACHPUFF),
1050 (205, 133, 63) => Some(PERU),
1051 (255, 192, 203) => Some(PINK),
1052 (221, 160, 221) => Some(PLUM),
1053 (176, 224, 230) => Some(POWDERBLUE),
1054 (128, 0, 128) => Some(PURPLE),
1055 (102, 51, 153) => Some(REBECCAPURPLE),
1056 (255, 0, 0) => Some(RED),
1057 (188, 143, 143) => Some(ROSYBROWN),
1058 (65, 105, 225) => Some(ROYALBLUE),
1059 (139, 69, 19) => Some(SADDLEBROWN),
1060 (250, 128, 114) => Some(SALMON),
1061 (244, 164, 96) => Some(SANDYBROWN),
1062 (46, 139, 87) => Some(SEAGREEN),
1063 (255, 245, 238) => Some(SEASHELL),
1064 (160, 82, 45) => Some(SIENNA),
1065 (192, 192, 192) => Some(SILVER),
1066 (135, 206, 235) => Some(SKYBLUE),
1067 (106, 90, 205) => Some(SLATEBLUE),
1068 (112, 128, 144) => Some(SLATEGRAY),
1069 (255, 250, 250) => Some(SNOW),
1070 (0, 255, 127) => Some(SPRINGGREEN),
1071 (70, 130, 180) => Some(STEELBLUE),
1072 (210, 180, 140) => Some(TAN),
1073 (0, 128, 128) => Some(TEAL),
1074 (216, 191, 216) => Some(THISTLE),
1075 (255, 99, 71) => Some(TOMATO),
1076 (64, 224, 208) => Some(TURQUOISE),
1077 (238, 130, 238) => Some(VIOLET),
1078 (245, 222, 179) => Some(WHEAT),
1079 (255, 255, 255) => Some(WHITE),
1080 (245, 245, 245) => Some(WHITESMOKE),
1081 (255, 255, 0) => Some(YELLOW),
1082 (154, 205, 50) => Some(YELLOWGREEN),
1083 _ => None,
1084 }
1085 }
1086}