1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package tcell
16
17 import (
18 ic "image/color"
19 "strconv"
20 )
21
22
23
24
25
26
27
28
29
30
31
32
33
34 type Color uint64
35
36 const (
37
38
39 ColorDefault Color = 0
40
41
42
43
44 ColorValid Color = 1 << 32
45
46
47
48
49 ColorIsRGB Color = 1 << 33
50
51
52
53 ColorSpecial Color = 1 << 34
54 )
55
56
57
58
59 const (
60 ColorBlack = ColorValid + iota
61 ColorMaroon
62 ColorGreen
63 ColorOlive
64 ColorNavy
65 ColorPurple
66 ColorTeal
67 ColorSilver
68 ColorGray
69 ColorRed
70 ColorLime
71 ColorYellow
72 ColorBlue
73 ColorFuchsia
74 ColorAqua
75 ColorWhite
76 Color16
77 Color17
78 Color18
79 Color19
80 Color20
81 Color21
82 Color22
83 Color23
84 Color24
85 Color25
86 Color26
87 Color27
88 Color28
89 Color29
90 Color30
91 Color31
92 Color32
93 Color33
94 Color34
95 Color35
96 Color36
97 Color37
98 Color38
99 Color39
100 Color40
101 Color41
102 Color42
103 Color43
104 Color44
105 Color45
106 Color46
107 Color47
108 Color48
109 Color49
110 Color50
111 Color51
112 Color52
113 Color53
114 Color54
115 Color55
116 Color56
117 Color57
118 Color58
119 Color59
120 Color60
121 Color61
122 Color62
123 Color63
124 Color64
125 Color65
126 Color66
127 Color67
128 Color68
129 Color69
130 Color70
131 Color71
132 Color72
133 Color73
134 Color74
135 Color75
136 Color76
137 Color77
138 Color78
139 Color79
140 Color80
141 Color81
142 Color82
143 Color83
144 Color84
145 Color85
146 Color86
147 Color87
148 Color88
149 Color89
150 Color90
151 Color91
152 Color92
153 Color93
154 Color94
155 Color95
156 Color96
157 Color97
158 Color98
159 Color99
160 Color100
161 Color101
162 Color102
163 Color103
164 Color104
165 Color105
166 Color106
167 Color107
168 Color108
169 Color109
170 Color110
171 Color111
172 Color112
173 Color113
174 Color114
175 Color115
176 Color116
177 Color117
178 Color118
179 Color119
180 Color120
181 Color121
182 Color122
183 Color123
184 Color124
185 Color125
186 Color126
187 Color127
188 Color128
189 Color129
190 Color130
191 Color131
192 Color132
193 Color133
194 Color134
195 Color135
196 Color136
197 Color137
198 Color138
199 Color139
200 Color140
201 Color141
202 Color142
203 Color143
204 Color144
205 Color145
206 Color146
207 Color147
208 Color148
209 Color149
210 Color150
211 Color151
212 Color152
213 Color153
214 Color154
215 Color155
216 Color156
217 Color157
218 Color158
219 Color159
220 Color160
221 Color161
222 Color162
223 Color163
224 Color164
225 Color165
226 Color166
227 Color167
228 Color168
229 Color169
230 Color170
231 Color171
232 Color172
233 Color173
234 Color174
235 Color175
236 Color176
237 Color177
238 Color178
239 Color179
240 Color180
241 Color181
242 Color182
243 Color183
244 Color184
245 Color185
246 Color186
247 Color187
248 Color188
249 Color189
250 Color190
251 Color191
252 Color192
253 Color193
254 Color194
255 Color195
256 Color196
257 Color197
258 Color198
259 Color199
260 Color200
261 Color201
262 Color202
263 Color203
264 Color204
265 Color205
266 Color206
267 Color207
268 Color208
269 Color209
270 Color210
271 Color211
272 Color212
273 Color213
274 Color214
275 Color215
276 Color216
277 Color217
278 Color218
279 Color219
280 Color220
281 Color221
282 Color222
283 Color223
284 Color224
285 Color225
286 Color226
287 Color227
288 Color228
289 Color229
290 Color230
291 Color231
292 Color232
293 Color233
294 Color234
295 Color235
296 Color236
297 Color237
298 Color238
299 Color239
300 Color240
301 Color241
302 Color242
303 Color243
304 Color244
305 Color245
306 Color246
307 Color247
308 Color248
309 Color249
310 Color250
311 Color251
312 Color252
313 Color253
314 Color254
315 Color255
316 ColorAliceBlue
317 ColorAntiqueWhite
318 ColorAquaMarine
319 ColorAzure
320 ColorBeige
321 ColorBisque
322 ColorBlanchedAlmond
323 ColorBlueViolet
324 ColorBrown
325 ColorBurlyWood
326 ColorCadetBlue
327 ColorChartreuse
328 ColorChocolate
329 ColorCoral
330 ColorCornflowerBlue
331 ColorCornsilk
332 ColorCrimson
333 ColorDarkBlue
334 ColorDarkCyan
335 ColorDarkGoldenrod
336 ColorDarkGray
337 ColorDarkGreen
338 ColorDarkKhaki
339 ColorDarkMagenta
340 ColorDarkOliveGreen
341 ColorDarkOrange
342 ColorDarkOrchid
343 ColorDarkRed
344 ColorDarkSalmon
345 ColorDarkSeaGreen
346 ColorDarkSlateBlue
347 ColorDarkSlateGray
348 ColorDarkTurquoise
349 ColorDarkViolet
350 ColorDeepPink
351 ColorDeepSkyBlue
352 ColorDimGray
353 ColorDodgerBlue
354 ColorFireBrick
355 ColorFloralWhite
356 ColorForestGreen
357 ColorGainsboro
358 ColorGhostWhite
359 ColorGold
360 ColorGoldenrod
361 ColorGreenYellow
362 ColorHoneydew
363 ColorHotPink
364 ColorIndianRed
365 ColorIndigo
366 ColorIvory
367 ColorKhaki
368 ColorLavender
369 ColorLavenderBlush
370 ColorLawnGreen
371 ColorLemonChiffon
372 ColorLightBlue
373 ColorLightCoral
374 ColorLightCyan
375 ColorLightGoldenrodYellow
376 ColorLightGray
377 ColorLightGreen
378 ColorLightPink
379 ColorLightSalmon
380 ColorLightSeaGreen
381 ColorLightSkyBlue
382 ColorLightSlateGray
383 ColorLightSteelBlue
384 ColorLightYellow
385 ColorLimeGreen
386 ColorLinen
387 ColorMediumAquamarine
388 ColorMediumBlue
389 ColorMediumOrchid
390 ColorMediumPurple
391 ColorMediumSeaGreen
392 ColorMediumSlateBlue
393 ColorMediumSpringGreen
394 ColorMediumTurquoise
395 ColorMediumVioletRed
396 ColorMidnightBlue
397 ColorMintCream
398 ColorMistyRose
399 ColorMoccasin
400 ColorNavajoWhite
401 ColorOldLace
402 ColorOliveDrab
403 ColorOrange
404 ColorOrangeRed
405 ColorOrchid
406 ColorPaleGoldenrod
407 ColorPaleGreen
408 ColorPaleTurquoise
409 ColorPaleVioletRed
410 ColorPapayaWhip
411 ColorPeachPuff
412 ColorPeru
413 ColorPink
414 ColorPlum
415 ColorPowderBlue
416 ColorRebeccaPurple
417 ColorRosyBrown
418 ColorRoyalBlue
419 ColorSaddleBrown
420 ColorSalmon
421 ColorSandyBrown
422 ColorSeaGreen
423 ColorSeashell
424 ColorSienna
425 ColorSkyblue
426 ColorSlateBlue
427 ColorSlateGray
428 ColorSnow
429 ColorSpringGreen
430 ColorSteelBlue
431 ColorTan
432 ColorThistle
433 ColorTomato
434 ColorTurquoise
435 ColorViolet
436 ColorWheat
437 ColorWhiteSmoke
438 ColorYellowGreen
439 )
440
441
442
443 const (
444 ColorGrey = ColorGray
445 ColorDimGrey = ColorDimGray
446 ColorDarkGrey = ColorDarkGray
447 ColorDarkSlateGrey = ColorDarkSlateGray
448 ColorLightGrey = ColorLightGray
449 ColorLightSlateGrey = ColorLightSlateGray
450 ColorSlateGrey = ColorSlateGray
451 )
452
453
454 var ColorValues = map[Color]int32{
455 ColorBlack: 0x000000,
456 ColorMaroon: 0x800000,
457 ColorGreen: 0x008000,
458 ColorOlive: 0x808000,
459 ColorNavy: 0x000080,
460 ColorPurple: 0x800080,
461 ColorTeal: 0x008080,
462 ColorSilver: 0xC0C0C0,
463 ColorGray: 0x808080,
464 ColorRed: 0xFF0000,
465 ColorLime: 0x00FF00,
466 ColorYellow: 0xFFFF00,
467 ColorBlue: 0x0000FF,
468 ColorFuchsia: 0xFF00FF,
469 ColorAqua: 0x00FFFF,
470 ColorWhite: 0xFFFFFF,
471 Color16: 0x000000,
472 Color17: 0x00005F,
473 Color18: 0x000087,
474 Color19: 0x0000AF,
475 Color20: 0x0000D7,
476 Color21: 0x0000FF,
477 Color22: 0x005F00,
478 Color23: 0x005F5F,
479 Color24: 0x005F87,
480 Color25: 0x005FAF,
481 Color26: 0x005FD7,
482 Color27: 0x005FFF,
483 Color28: 0x008700,
484 Color29: 0x00875F,
485 Color30: 0x008787,
486 Color31: 0x0087Af,
487 Color32: 0x0087D7,
488 Color33: 0x0087FF,
489 Color34: 0x00AF00,
490 Color35: 0x00AF5F,
491 Color36: 0x00AF87,
492 Color37: 0x00AFAF,
493 Color38: 0x00AFD7,
494 Color39: 0x00AFFF,
495 Color40: 0x00D700,
496 Color41: 0x00D75F,
497 Color42: 0x00D787,
498 Color43: 0x00D7AF,
499 Color44: 0x00D7D7,
500 Color45: 0x00D7FF,
501 Color46: 0x00FF00,
502 Color47: 0x00FF5F,
503 Color48: 0x00FF87,
504 Color49: 0x00FFAF,
505 Color50: 0x00FFd7,
506 Color51: 0x00FFFF,
507 Color52: 0x5F0000,
508 Color53: 0x5F005F,
509 Color54: 0x5F0087,
510 Color55: 0x5F00AF,
511 Color56: 0x5F00D7,
512 Color57: 0x5F00FF,
513 Color58: 0x5F5F00,
514 Color59: 0x5F5F5F,
515 Color60: 0x5F5F87,
516 Color61: 0x5F5FAF,
517 Color62: 0x5F5FD7,
518 Color63: 0x5F5FFF,
519 Color64: 0x5F8700,
520 Color65: 0x5F875F,
521 Color66: 0x5F8787,
522 Color67: 0x5F87AF,
523 Color68: 0x5F87D7,
524 Color69: 0x5F87FF,
525 Color70: 0x5FAF00,
526 Color71: 0x5FAF5F,
527 Color72: 0x5FAF87,
528 Color73: 0x5FAFAF,
529 Color74: 0x5FAFD7,
530 Color75: 0x5FAFFF,
531 Color76: 0x5FD700,
532 Color77: 0x5FD75F,
533 Color78: 0x5FD787,
534 Color79: 0x5FD7AF,
535 Color80: 0x5FD7D7,
536 Color81: 0x5FD7FF,
537 Color82: 0x5FFF00,
538 Color83: 0x5FFF5F,
539 Color84: 0x5FFF87,
540 Color85: 0x5FFFAF,
541 Color86: 0x5FFFD7,
542 Color87: 0x5FFFFF,
543 Color88: 0x870000,
544 Color89: 0x87005F,
545 Color90: 0x870087,
546 Color91: 0x8700AF,
547 Color92: 0x8700D7,
548 Color93: 0x8700FF,
549 Color94: 0x875F00,
550 Color95: 0x875F5F,
551 Color96: 0x875F87,
552 Color97: 0x875FAF,
553 Color98: 0x875FD7,
554 Color99: 0x875FFF,
555 Color100: 0x878700,
556 Color101: 0x87875F,
557 Color102: 0x878787,
558 Color103: 0x8787AF,
559 Color104: 0x8787D7,
560 Color105: 0x8787FF,
561 Color106: 0x87AF00,
562 Color107: 0x87AF5F,
563 Color108: 0x87AF87,
564 Color109: 0x87AFAF,
565 Color110: 0x87AFD7,
566 Color111: 0x87AFFF,
567 Color112: 0x87D700,
568 Color113: 0x87D75F,
569 Color114: 0x87D787,
570 Color115: 0x87D7AF,
571 Color116: 0x87D7D7,
572 Color117: 0x87D7FF,
573 Color118: 0x87FF00,
574 Color119: 0x87FF5F,
575 Color120: 0x87FF87,
576 Color121: 0x87FFAF,
577 Color122: 0x87FFD7,
578 Color123: 0x87FFFF,
579 Color124: 0xAF0000,
580 Color125: 0xAF005F,
581 Color126: 0xAF0087,
582 Color127: 0xAF00AF,
583 Color128: 0xAF00D7,
584 Color129: 0xAF00FF,
585 Color130: 0xAF5F00,
586 Color131: 0xAF5F5F,
587 Color132: 0xAF5F87,
588 Color133: 0xAF5FAF,
589 Color134: 0xAF5FD7,
590 Color135: 0xAF5FFF,
591 Color136: 0xAF8700,
592 Color137: 0xAF875F,
593 Color138: 0xAF8787,
594 Color139: 0xAF87AF,
595 Color140: 0xAF87D7,
596 Color141: 0xAF87FF,
597 Color142: 0xAFAF00,
598 Color143: 0xAFAF5F,
599 Color144: 0xAFAF87,
600 Color145: 0xAFAFAF,
601 Color146: 0xAFAFD7,
602 Color147: 0xAFAFFF,
603 Color148: 0xAFD700,
604 Color149: 0xAFD75F,
605 Color150: 0xAFD787,
606 Color151: 0xAFD7AF,
607 Color152: 0xAFD7D7,
608 Color153: 0xAFD7FF,
609 Color154: 0xAFFF00,
610 Color155: 0xAFFF5F,
611 Color156: 0xAFFF87,
612 Color157: 0xAFFFAF,
613 Color158: 0xAFFFD7,
614 Color159: 0xAFFFFF,
615 Color160: 0xD70000,
616 Color161: 0xD7005F,
617 Color162: 0xD70087,
618 Color163: 0xD700AF,
619 Color164: 0xD700D7,
620 Color165: 0xD700FF,
621 Color166: 0xD75F00,
622 Color167: 0xD75F5F,
623 Color168: 0xD75F87,
624 Color169: 0xD75FAF,
625 Color170: 0xD75FD7,
626 Color171: 0xD75FFF,
627 Color172: 0xD78700,
628 Color173: 0xD7875F,
629 Color174: 0xD78787,
630 Color175: 0xD787AF,
631 Color176: 0xD787D7,
632 Color177: 0xD787FF,
633 Color178: 0xD7AF00,
634 Color179: 0xD7AF5F,
635 Color180: 0xD7AF87,
636 Color181: 0xD7AFAF,
637 Color182: 0xD7AFD7,
638 Color183: 0xD7AFFF,
639 Color184: 0xD7D700,
640 Color185: 0xD7D75F,
641 Color186: 0xD7D787,
642 Color187: 0xD7D7AF,
643 Color188: 0xD7D7D7,
644 Color189: 0xD7D7FF,
645 Color190: 0xD7FF00,
646 Color191: 0xD7FF5F,
647 Color192: 0xD7FF87,
648 Color193: 0xD7FFAF,
649 Color194: 0xD7FFD7,
650 Color195: 0xD7FFFF,
651 Color196: 0xFF0000,
652 Color197: 0xFF005F,
653 Color198: 0xFF0087,
654 Color199: 0xFF00AF,
655 Color200: 0xFF00D7,
656 Color201: 0xFF00FF,
657 Color202: 0xFF5F00,
658 Color203: 0xFF5F5F,
659 Color204: 0xFF5F87,
660 Color205: 0xFF5FAF,
661 Color206: 0xFF5FD7,
662 Color207: 0xFF5FFF,
663 Color208: 0xFF8700,
664 Color209: 0xFF875F,
665 Color210: 0xFF8787,
666 Color211: 0xFF87AF,
667 Color212: 0xFF87D7,
668 Color213: 0xFF87FF,
669 Color214: 0xFFAF00,
670 Color215: 0xFFAF5F,
671 Color216: 0xFFAF87,
672 Color217: 0xFFAFAF,
673 Color218: 0xFFAFD7,
674 Color219: 0xFFAFFF,
675 Color220: 0xFFD700,
676 Color221: 0xFFD75F,
677 Color222: 0xFFD787,
678 Color223: 0xFFD7AF,
679 Color224: 0xFFD7D7,
680 Color225: 0xFFD7FF,
681 Color226: 0xFFFF00,
682 Color227: 0xFFFF5F,
683 Color228: 0xFFFF87,
684 Color229: 0xFFFFAF,
685 Color230: 0xFFFFD7,
686 Color231: 0xFFFFFF,
687 Color232: 0x080808,
688 Color233: 0x121212,
689 Color234: 0x1C1C1C,
690 Color235: 0x262626,
691 Color236: 0x303030,
692 Color237: 0x3A3A3A,
693 Color238: 0x444444,
694 Color239: 0x4E4E4E,
695 Color240: 0x585858,
696 Color241: 0x626262,
697 Color242: 0x6C6C6C,
698 Color243: 0x767676,
699 Color244: 0x808080,
700 Color245: 0x8A8A8A,
701 Color246: 0x949494,
702 Color247: 0x9E9E9E,
703 Color248: 0xA8A8A8,
704 Color249: 0xB2B2B2,
705 Color250: 0xBCBCBC,
706 Color251: 0xC6C6C6,
707 Color252: 0xD0D0D0,
708 Color253: 0xDADADA,
709 Color254: 0xE4E4E4,
710 Color255: 0xEEEEEE,
711 ColorAliceBlue: 0xF0F8FF,
712 ColorAntiqueWhite: 0xFAEBD7,
713 ColorAquaMarine: 0x7FFFD4,
714 ColorAzure: 0xF0FFFF,
715 ColorBeige: 0xF5F5DC,
716 ColorBisque: 0xFFE4C4,
717 ColorBlanchedAlmond: 0xFFEBCD,
718 ColorBlueViolet: 0x8A2BE2,
719 ColorBrown: 0xA52A2A,
720 ColorBurlyWood: 0xDEB887,
721 ColorCadetBlue: 0x5F9EA0,
722 ColorChartreuse: 0x7FFF00,
723 ColorChocolate: 0xD2691E,
724 ColorCoral: 0xFF7F50,
725 ColorCornflowerBlue: 0x6495ED,
726 ColorCornsilk: 0xFFF8DC,
727 ColorCrimson: 0xDC143C,
728 ColorDarkBlue: 0x00008B,
729 ColorDarkCyan: 0x008B8B,
730 ColorDarkGoldenrod: 0xB8860B,
731 ColorDarkGray: 0xA9A9A9,
732 ColorDarkGreen: 0x006400,
733 ColorDarkKhaki: 0xBDB76B,
734 ColorDarkMagenta: 0x8B008B,
735 ColorDarkOliveGreen: 0x556B2F,
736 ColorDarkOrange: 0xFF8C00,
737 ColorDarkOrchid: 0x9932CC,
738 ColorDarkRed: 0x8B0000,
739 ColorDarkSalmon: 0xE9967A,
740 ColorDarkSeaGreen: 0x8FBC8F,
741 ColorDarkSlateBlue: 0x483D8B,
742 ColorDarkSlateGray: 0x2F4F4F,
743 ColorDarkTurquoise: 0x00CED1,
744 ColorDarkViolet: 0x9400D3,
745 ColorDeepPink: 0xFF1493,
746 ColorDeepSkyBlue: 0x00BFFF,
747 ColorDimGray: 0x696969,
748 ColorDodgerBlue: 0x1E90FF,
749 ColorFireBrick: 0xB22222,
750 ColorFloralWhite: 0xFFFAF0,
751 ColorForestGreen: 0x228B22,
752 ColorGainsboro: 0xDCDCDC,
753 ColorGhostWhite: 0xF8F8FF,
754 ColorGold: 0xFFD700,
755 ColorGoldenrod: 0xDAA520,
756 ColorGreenYellow: 0xADFF2F,
757 ColorHoneydew: 0xF0FFF0,
758 ColorHotPink: 0xFF69B4,
759 ColorIndianRed: 0xCD5C5C,
760 ColorIndigo: 0x4B0082,
761 ColorIvory: 0xFFFFF0,
762 ColorKhaki: 0xF0E68C,
763 ColorLavender: 0xE6E6FA,
764 ColorLavenderBlush: 0xFFF0F5,
765 ColorLawnGreen: 0x7CFC00,
766 ColorLemonChiffon: 0xFFFACD,
767 ColorLightBlue: 0xADD8E6,
768 ColorLightCoral: 0xF08080,
769 ColorLightCyan: 0xE0FFFF,
770 ColorLightGoldenrodYellow: 0xFAFAD2,
771 ColorLightGray: 0xD3D3D3,
772 ColorLightGreen: 0x90EE90,
773 ColorLightPink: 0xFFB6C1,
774 ColorLightSalmon: 0xFFA07A,
775 ColorLightSeaGreen: 0x20B2AA,
776 ColorLightSkyBlue: 0x87CEFA,
777 ColorLightSlateGray: 0x778899,
778 ColorLightSteelBlue: 0xB0C4DE,
779 ColorLightYellow: 0xFFFFE0,
780 ColorLimeGreen: 0x32CD32,
781 ColorLinen: 0xFAF0E6,
782 ColorMediumAquamarine: 0x66CDAA,
783 ColorMediumBlue: 0x0000CD,
784 ColorMediumOrchid: 0xBA55D3,
785 ColorMediumPurple: 0x9370DB,
786 ColorMediumSeaGreen: 0x3CB371,
787 ColorMediumSlateBlue: 0x7B68EE,
788 ColorMediumSpringGreen: 0x00FA9A,
789 ColorMediumTurquoise: 0x48D1CC,
790 ColorMediumVioletRed: 0xC71585,
791 ColorMidnightBlue: 0x191970,
792 ColorMintCream: 0xF5FFFA,
793 ColorMistyRose: 0xFFE4E1,
794 ColorMoccasin: 0xFFE4B5,
795 ColorNavajoWhite: 0xFFDEAD,
796 ColorOldLace: 0xFDF5E6,
797 ColorOliveDrab: 0x6B8E23,
798 ColorOrange: 0xFFA500,
799 ColorOrangeRed: 0xFF4500,
800 ColorOrchid: 0xDA70D6,
801 ColorPaleGoldenrod: 0xEEE8AA,
802 ColorPaleGreen: 0x98FB98,
803 ColorPaleTurquoise: 0xAFEEEE,
804 ColorPaleVioletRed: 0xDB7093,
805 ColorPapayaWhip: 0xFFEFD5,
806 ColorPeachPuff: 0xFFDAB9,
807 ColorPeru: 0xCD853F,
808 ColorPink: 0xFFC0CB,
809 ColorPlum: 0xDDA0DD,
810 ColorPowderBlue: 0xB0E0E6,
811 ColorRebeccaPurple: 0x663399,
812 ColorRosyBrown: 0xBC8F8F,
813 ColorRoyalBlue: 0x4169E1,
814 ColorSaddleBrown: 0x8B4513,
815 ColorSalmon: 0xFA8072,
816 ColorSandyBrown: 0xF4A460,
817 ColorSeaGreen: 0x2E8B57,
818 ColorSeashell: 0xFFF5EE,
819 ColorSienna: 0xA0522D,
820 ColorSkyblue: 0x87CEEB,
821 ColorSlateBlue: 0x6A5ACD,
822 ColorSlateGray: 0x708090,
823 ColorSnow: 0xFFFAFA,
824 ColorSpringGreen: 0x00FF7F,
825 ColorSteelBlue: 0x4682B4,
826 ColorTan: 0xD2B48C,
827 ColorThistle: 0xD8BFD8,
828 ColorTomato: 0xFF6347,
829 ColorTurquoise: 0x40E0D0,
830 ColorViolet: 0xEE82EE,
831 ColorWheat: 0xF5DEB3,
832 ColorWhiteSmoke: 0xF5F5F5,
833 ColorYellowGreen: 0x9ACD32,
834 }
835
836
837 const (
838
839
840 ColorReset = ColorSpecial | iota
841 )
842
843
844
845 var ColorNames = map[string]Color{
846 "black": ColorBlack,
847 "maroon": ColorMaroon,
848 "green": ColorGreen,
849 "olive": ColorOlive,
850 "navy": ColorNavy,
851 "purple": ColorPurple,
852 "teal": ColorTeal,
853 "silver": ColorSilver,
854 "gray": ColorGray,
855 "red": ColorRed,
856 "lime": ColorLime,
857 "yellow": ColorYellow,
858 "blue": ColorBlue,
859 "fuchsia": ColorFuchsia,
860 "aqua": ColorAqua,
861 "white": ColorWhite,
862 "aliceblue": ColorAliceBlue,
863 "antiquewhite": ColorAntiqueWhite,
864 "aquamarine": ColorAquaMarine,
865 "azure": ColorAzure,
866 "beige": ColorBeige,
867 "bisque": ColorBisque,
868 "blanchedalmond": ColorBlanchedAlmond,
869 "blueviolet": ColorBlueViolet,
870 "brown": ColorBrown,
871 "burlywood": ColorBurlyWood,
872 "cadetblue": ColorCadetBlue,
873 "chartreuse": ColorChartreuse,
874 "chocolate": ColorChocolate,
875 "coral": ColorCoral,
876 "cornflowerblue": ColorCornflowerBlue,
877 "cornsilk": ColorCornsilk,
878 "crimson": ColorCrimson,
879 "darkblue": ColorDarkBlue,
880 "darkcyan": ColorDarkCyan,
881 "darkgoldenrod": ColorDarkGoldenrod,
882 "darkgray": ColorDarkGray,
883 "darkgreen": ColorDarkGreen,
884 "darkkhaki": ColorDarkKhaki,
885 "darkmagenta": ColorDarkMagenta,
886 "darkolivegreen": ColorDarkOliveGreen,
887 "darkorange": ColorDarkOrange,
888 "darkorchid": ColorDarkOrchid,
889 "darkred": ColorDarkRed,
890 "darksalmon": ColorDarkSalmon,
891 "darkseagreen": ColorDarkSeaGreen,
892 "darkslateblue": ColorDarkSlateBlue,
893 "darkslategray": ColorDarkSlateGray,
894 "darkturquoise": ColorDarkTurquoise,
895 "darkviolet": ColorDarkViolet,
896 "deeppink": ColorDeepPink,
897 "deepskyblue": ColorDeepSkyBlue,
898 "dimgray": ColorDimGray,
899 "dodgerblue": ColorDodgerBlue,
900 "firebrick": ColorFireBrick,
901 "floralwhite": ColorFloralWhite,
902 "forestgreen": ColorForestGreen,
903 "gainsboro": ColorGainsboro,
904 "ghostwhite": ColorGhostWhite,
905 "gold": ColorGold,
906 "goldenrod": ColorGoldenrod,
907 "greenyellow": ColorGreenYellow,
908 "honeydew": ColorHoneydew,
909 "hotpink": ColorHotPink,
910 "indianred": ColorIndianRed,
911 "indigo": ColorIndigo,
912 "ivory": ColorIvory,
913 "khaki": ColorKhaki,
914 "lavender": ColorLavender,
915 "lavenderblush": ColorLavenderBlush,
916 "lawngreen": ColorLawnGreen,
917 "lemonchiffon": ColorLemonChiffon,
918 "lightblue": ColorLightBlue,
919 "lightcoral": ColorLightCoral,
920 "lightcyan": ColorLightCyan,
921 "lightgoldenrodyellow": ColorLightGoldenrodYellow,
922 "lightgray": ColorLightGray,
923 "lightgreen": ColorLightGreen,
924 "lightpink": ColorLightPink,
925 "lightsalmon": ColorLightSalmon,
926 "lightseagreen": ColorLightSeaGreen,
927 "lightskyblue": ColorLightSkyBlue,
928 "lightslategray": ColorLightSlateGray,
929 "lightsteelblue": ColorLightSteelBlue,
930 "lightyellow": ColorLightYellow,
931 "limegreen": ColorLimeGreen,
932 "linen": ColorLinen,
933 "mediumaquamarine": ColorMediumAquamarine,
934 "mediumblue": ColorMediumBlue,
935 "mediumorchid": ColorMediumOrchid,
936 "mediumpurple": ColorMediumPurple,
937 "mediumseagreen": ColorMediumSeaGreen,
938 "mediumslateblue": ColorMediumSlateBlue,
939 "mediumspringgreen": ColorMediumSpringGreen,
940 "mediumturquoise": ColorMediumTurquoise,
941 "mediumvioletred": ColorMediumVioletRed,
942 "midnightblue": ColorMidnightBlue,
943 "mintcream": ColorMintCream,
944 "mistyrose": ColorMistyRose,
945 "moccasin": ColorMoccasin,
946 "navajowhite": ColorNavajoWhite,
947 "oldlace": ColorOldLace,
948 "olivedrab": ColorOliveDrab,
949 "orange": ColorOrange,
950 "orangered": ColorOrangeRed,
951 "orchid": ColorOrchid,
952 "palegoldenrod": ColorPaleGoldenrod,
953 "palegreen": ColorPaleGreen,
954 "paleturquoise": ColorPaleTurquoise,
955 "palevioletred": ColorPaleVioletRed,
956 "papayawhip": ColorPapayaWhip,
957 "peachpuff": ColorPeachPuff,
958 "peru": ColorPeru,
959 "pink": ColorPink,
960 "plum": ColorPlum,
961 "powderblue": ColorPowderBlue,
962 "rebeccapurple": ColorRebeccaPurple,
963 "rosybrown": ColorRosyBrown,
964 "royalblue": ColorRoyalBlue,
965 "saddlebrown": ColorSaddleBrown,
966 "salmon": ColorSalmon,
967 "sandybrown": ColorSandyBrown,
968 "seagreen": ColorSeaGreen,
969 "seashell": ColorSeashell,
970 "sienna": ColorSienna,
971 "skyblue": ColorSkyblue,
972 "slateblue": ColorSlateBlue,
973 "slategray": ColorSlateGray,
974 "snow": ColorSnow,
975 "springgreen": ColorSpringGreen,
976 "steelblue": ColorSteelBlue,
977 "tan": ColorTan,
978 "thistle": ColorThistle,
979 "tomato": ColorTomato,
980 "turquoise": ColorTurquoise,
981 "violet": ColorViolet,
982 "wheat": ColorWheat,
983 "whitesmoke": ColorWhiteSmoke,
984 "yellowgreen": ColorYellowGreen,
985 "grey": ColorGray,
986 "dimgrey": ColorDimGray,
987 "darkgrey": ColorDarkGray,
988 "darkslategrey": ColorDarkSlateGray,
989 "lightgrey": ColorLightGray,
990 "lightslategrey": ColorLightSlateGray,
991 "slategrey": ColorSlateGray,
992 }
993
994
995 func (c Color) Valid() bool {
996 return c&ColorValid != 0
997 }
998
999
1000 func (c Color) IsRGB() bool {
1001 return c&(ColorValid|ColorIsRGB) == (ColorValid | ColorIsRGB)
1002 }
1003
1004
1005
1006
1007 func (c Color) Hex() int32 {
1008 if !c.Valid() {
1009 return -1
1010 }
1011 if c&ColorIsRGB != 0 {
1012 return int32(c & 0xffffff)
1013 }
1014 if v, ok := ColorValues[c]; ok {
1015 return v
1016 }
1017 return -1
1018 }
1019
1020
1021
1022
1023 func (c Color) RGB() (int32, int32, int32) {
1024 v := c.Hex()
1025 if v < 0 {
1026 return -1, -1, -1
1027 }
1028 return (v >> 16) & 0xff, (v >> 8) & 0xff, v & 0xff
1029 }
1030
1031
1032
1033
1034 func (c Color) TrueColor() Color {
1035 if !c.Valid() {
1036 return ColorDefault
1037 }
1038 if c&ColorIsRGB != 0 {
1039 return c | ColorValid
1040 }
1041 return Color(c.Hex()) | ColorIsRGB | ColorValid
1042 }
1043
1044
1045
1046 func NewRGBColor(r, g, b int32) Color {
1047 return NewHexColor(((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff))
1048 }
1049
1050
1051 func NewHexColor(v int32) Color {
1052 return ColorIsRGB | Color(v) | ColorValid
1053 }
1054
1055
1056
1057 func GetColor(name string) Color {
1058 if c, ok := ColorNames[name]; ok {
1059 return c
1060 }
1061 if len(name) == 7 && name[0] == '#' {
1062 if v, e := strconv.ParseInt(name[1:], 16, 32); e == nil {
1063 return NewHexColor(int32(v))
1064 }
1065 }
1066 return ColorDefault
1067 }
1068
1069
1070 func PaletteColor(index int) Color {
1071 return Color(index) | ColorValid
1072 }
1073
1074
1075
1076
1077 func FromImageColor(imageColor ic.Color) Color {
1078 r, g, b, _ := imageColor.RGBA()
1079
1080 return NewRGBColor(int32(r>>8), int32(g>>8), int32(b>>8))
1081 }
1082
View as plain text