summaryrefslogtreecommitdiff
path: root/include/Color.h
blob: d21fe260b4dd8ab2c60b3f80354dd8603eb66520 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
/*
 *  Baltisot
 *  Copyright (C) 1999-2008 Nicolas "Pixel" Noble
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef __COLOR_H__
#define __COLOR_H__

struct Color {
      Color() : R(255), G(255), B(255), A(255) { }
      Color(unsigned char aR, unsigned char aG, unsigned char aB, unsigned char aA = 255) :
        R(aR), G(aG), B(aB), A(aA) { }
      Color(const Color & c) : R(c.R), G(c.G), B(c.B), A(c.A) { }
    bool operator==(const Color & c) const {
	return (R == c.R) && (G == c.G) && (B == c.B) && (A == c.A);
    }
    unsigned char R, G, B, A;
};

/*

From http://www.spacetoday.org/BoilerRoom/Colors.html :

F0F8FF aliceblue
FAEBD7 antiquewhite
00FFFF aqua
7FFFD4 aquamarine
F0FFFF azure
F5F5DC beige
FFE4C4 bisque
000000 black
FFEBCD blanchedalmond
0000FF blue
8A2BE2 blueviolet
A52A2A brown
DEB887 burlywood
5F9EA0 cadetblue
7FFF00 chartreuse
D2691E chocolate
FF7F50 coral
6495ED cornflowerblue
FFF8DC cornsilk
DC143C crimson
00FFFF cyan
00008B darkblue
008B8B darkcyan
B8860B darkgoldenrod
A9A9A9 darkgray
006400 darkgreen
BDB76B darkkhaki
8B008B darkmagenta
556B2F darkolivegreen
FF8C00 darkorange
9932CC darkorchid
8B0000 darkred
E9967A darksalmon
8FBC8F darkseagreen
483D8B darkslateblue
2F4F4F darkslategray
00CED1 darkturquoise
9400D3 darkviolet
FF1493 deeppink
00BFFF deepskyblue
696969 dimgray
1E90FF dodgerblue
B22222 firebrick
FFFAF0 floralwhite
228B22 forestgreen
FF00FF fuchsia
DCDCDC gainsboro
F8F8FF ghostwhite
FFD700 gold
DAA520 goldenrod
808080 gray
008000 green
ADFF2F greenyellow
F0FFF0 honeydew
FF69B4 hotpink
CD5C5C indianred
4B0082 indigo
FFFFF0 ivory
F0E68C khaki
E6E6FA lavender
FFF0F5 lavenderblush
7CFC00 lawngreen
FFFACD lemonchiffon
ADD8E6 lightblue
F08080 lightcoral
E0FFFF lightcyan
FAFAD2 lightgoldenrodyellow
90EE90 lightgreen
D3D3D3 lightgrey
FFB6C1 lightpink
FFA07A lightsalmon
20B2AA lightseagreen
87CEFA lightskyblue
778899 lightslategray
B0C4DE lightsteelblue
FFFFE0 lightyellow
00FF00 lime
32CD32 limegreen
FAF0E6 linen
FF00FF magenta
800000 maroon
66CDAA mediumaquamarine
0000CD mediumblue
BA55D3 mediumorchid
9370DB mediumpurple
3CB371 mediumseagreen
7B68EE mediumslateblue
00FA9A mediumspringgreen
48D1CC mediumturquoise
C71585 mediumvioletred
191970 midnightblue
F5FFFA mintcream
FFE4E1 mistyrose
FFE4B5 moccasin
FFDEAD navajowhite
000080 navy
FDF5E6 oldlace
808000 olive
6B8E23 olivedrab
FFA500 orange
FF4500 orangered
DA70D6 orchid
EEE8AA palegoldenrod
98FB98 palegreen
AFEEEE paleturquoise
DB7093 palevioletred
FFEFD5 papayawhip
FFDAB9 peachpuff
CD853F peru
FFC0CB pink
DDA0DD plum
B0E0E6 powderblue
800080 purple
FF0000 red
BC8F8F rosybrown
4169E1 royalblue
8B4513 saddlebrown
FA8072 salmon
F4A460 sandybrown
2E8B57 seagreen
FFF5EE seashell
A0522D sienna
C0C0C0 silver
87CEEB skyblue
6A5ACD slateblue
708090 slategray
FFFAFA snow
00FF7F springgreen
4682B4 steelblue
D2B48C tan
008080 teal
D8BFD8 thistle
FF6347 tomato
40E0D0 turquoise
EE82EE violet
F5DEB3 wheat
FFFFFF white
F5F5F5 whitesmoke
FFFF00 yellow
9ACD32 yellowgreen

*/

#define ALICEBLUE		(Color(0xf0, 0xf8, 0xff))
#define ANTIQUEWHITE		(Color(0xfa, 0xeb, 0xd7))
#define AQUA			(Color(0x00, 0xff, 0xff))
#define AQUAMARINE		(Color(0x7f, 0xff, 0xd4))
#define AZURE			(Color(0xf0, 0xff, 0xff))
#define BEIGE			(Color(0xf5, 0xf5, 0xdc))
#define BISQUE			(Color(0xff, 0xe4, 0xc4))
#define BLACK			(Color(0x00, 0x00, 0x00))
#define BLANCHEDALMOND		(Color(0xff, 0xeb, 0xcd))
#define BLUE			(Color(0x00, 0x00, 0xff))
#define BLUEVIOLET		(Color(0x8a, 0x2b, 0xe2))
#define BROWN			(Color(0xa5, 0x2a, 0x2a))
#define BURLYWOOD		(Color(0xde, 0xb8, 0x87))
#define CADETBLUE		(Color(0x5f, 0x9e, 0xa0))
#define CHARTREUSE		(Color(0x7f, 0xff, 0x00))
#define CHOCOLATE		(Color(0xd2, 0x69, 0x1e))
#define CORAL			(Color(0xff, 0x7f, 0x50))
#define CORNFLOWERBLUE		(Color(0x64, 0x95, 0xed))
#define CORNSILK		(Color(0xff, 0xf8, 0xdc))
#define CRIMSON			(Color(0xdc, 0x14, 0x3c))
#define CYAN			(Color(0x00, 0xff, 0xff))
#define DARKBLUE		(Color(0x00, 0x00, 0x8b))
#define DARKCYAN		(Color(0x00, 0x8b, 0x8b))
#define DARKGOLDENROD		(Color(0xb8, 0x86, 0x0b))
#define DARKGRAY		(Color(0xa9, 0xa9, 0xa9))
#define DARKGREEN		(Color(0x00, 0x64, 0x00))
#define DARKKHAKI		(Color(0xbd, 0xb7, 0x6b))
#define DARKMAGENTA		(Color(0x8b, 0x00, 0x8b))
#define DARKOLIVEGREEN		(Color(0x55, 0x6b, 0x2f))
#define DARKORANGE		(Color(0xff, 0x8c, 0x00))
#define DARKORCHID		(Color(0x99, 0x32, 0xcc))
#define DARKRED			(Color(0x8b, 0x00, 0x00))
#define DARKSALMON		(Color(0xe9, 0x96, 0x7a))
#define DARKSEAGREEN		(Color(0x8f, 0xbc, 0x8f))
#define DARKSLATEBLUE		(Color(0x48, 0x3d, 0x8b))
#define DARKSLATEGRAY		(Color(0x2f, 0x4f, 0x4f))
#define DARKTURQUOISE		(Color(0x00, 0xce, 0xd1))
#define DARKVIOLET		(Color(0x94, 0x00, 0xd3))
#define DEEPPINK		(Color(0xff, 0x14, 0x93))
#define DEEPSKYBLUE		(Color(0x00, 0xbf, 0xff))
#define DIMGRAY			(Color(0x69, 0x69, 0x69))
#define DODGERBLUE		(Color(0x1e, 0x90, 0xff))
#define FIREBRICK		(Color(0xb2, 0x22, 0x22))
#define FLORALWHITE		(Color(0xff, 0xfa, 0xf0))
#define FORESTGREEN		(Color(0x22, 0x8b, 0x22))
#define FUCHSIA			(Color(0xff, 0x00, 0xff))
#define GAINSBORO		(Color(0xdc, 0xdc, 0xdc))
#define GHOSTWHITE		(Color(0xf8, 0xf8, 0xff))
#define GOLD			(Color(0xff, 0xd7, 0x00))
#define GOLDENROD		(Color(0xda, 0xa5, 0x20))
#define GRAY			(Color(0x80, 0x80, 0x80))
#define GREEN			(Color(0x00, 0x80, 0x00))
#define GREENYELLOW		(Color(0xad, 0xff, 0x2f))
#define HONEYDEW		(Color(0xf0, 0xff, 0xf0))
#define HOTPINK			(Color(0xff, 0x69, 0xb4))
#define INDIANRED		(Color(0xcd, 0x5c, 0x5c))
#define INDIGO			(Color(0x4b, 0x00, 0x82))
#define IVORY			(Color(0xff, 0xff, 0xf0))
#define KHAKI			(Color(0xf0, 0xe6, 0x8c))
#define LAVENDER		(Color(0xe6, 0xe6, 0xfa))
#define LAVENDERBLUSH		(Color(0xff, 0xf0, 0xf5))
#define LAWNGREEN		(Color(0x7c, 0xfc, 0x00))
#define LEMONCHIFFON		(Color(0xff, 0xfa, 0xcd))
#define LIGHTBLUE		(Color(0xad, 0xd8, 0xe6))
#define LIGHTCORAL		(Color(0xf0, 0x80, 0x80))
#define LIGHTCYAN		(Color(0xe0, 0xff, 0xff))
#define LIGHTGOLDENRODYELLOW	(Color(0xfa, 0xfa, 0xd2))
#define LIGHTGREEN		(Color(0x90, 0xee, 0x90))
#define LIGHTGREY		(Color(0xd3, 0xd3, 0xd3))
#define LIGHTPINK		(Color(0xff, 0xb6, 0xc1))
#define LIGHTSALMON		(Color(0xff, 0xa0, 0x7a))
#define LIGHTSEAGREEN		(Color(0x20, 0xb2, 0xaa))
#define LIGHTSKYBLUE		(Color(0x87, 0xce, 0xfa))
#define LIGHTSLATEGRAY		(Color(0x77, 0x88, 0x99))
#define LIGHTSTEELBLUE		(Color(0xb0, 0xc4, 0xde))
#define LIGHTYELLOW		(Color(0xff, 0xff, 0xe0))
#define LIME			(Color(0x00, 0xff, 0x00))
#define LIMEGREEN		(Color(0x32, 0xcd, 0x32))
#define LINEN			(Color(0xfa, 0xf0, 0xe6))
#define MAGENTA			(Color(0xff, 0x00, 0xff))
#define MAROON			(Color(0x80, 0x00, 0x00))
#define MEDIUMAQUAMARINE	(Color(0x66, 0xcd, 0xaa))
#define MEDIUMBLUE		(Color(0x00, 0x00, 0xcd))
#define MEDIUMORCHID		(Color(0xba, 0x55, 0xd3))
#define MEDIUMPURPLE		(Color(0x93, 0x70, 0xdb))
#define MEDIUMSEAGREEN		(Color(0x3c, 0xb3, 0x71))
#define MEDIUMSLATEBLUE		(Color(0x7b, 0x68, 0xee))
#define MEDIUMSPRINGGREEN	(Color(0x00, 0xfa, 0x9a))
#define MEDIUMTURQUOISE		(Color(0x48, 0xd1, 0xcc))
#define MEDIUMVIOLETRED		(Color(0xc7, 0x15, 0x85))
#define MIDNIGHTBLUE		(Color(0x19, 0x19, 0x70))
#define MINTCREAM		(Color(0xf5, 0xff, 0xfa))
#define MISTYROSE		(Color(0xff, 0xe4, 0xe1))
#define MOCCASIN		(Color(0xff, 0xe4, 0xb5))
#define NAVAJOWHITE		(Color(0xff, 0xde, 0xad))
#define NAVY			(Color(0x00, 0x00, 0x80))
#define OLDLACE			(Color(0xfd, 0xf5, 0xe6))
#define OLIVE			(Color(0x80, 0x80, 0x00))
#define OLIVEDRAB		(Color(0x6b, 0x8e, 0x23))
#define ORANGE			(Color(0xff, 0xa5, 0x00))
#define ORANGERED		(Color(0xff, 0x45, 0x00))
#define ORCHID			(Color(0xda, 0x70, 0xd6))
#define PALEGOLDENROD		(Color(0xee, 0xe8, 0xaa))
#define PALEGREEN		(Color(0x98, 0xfb, 0x98))
#define PALETURQUOISE		(Color(0xaf, 0xee, 0xee))
#define PALEVIOLETRED		(Color(0xdb, 0x70, 0x93))
#define PAPAYAWHIP		(Color(0xff, 0xef, 0xd5))
#define PEACHPUFF		(Color(0xff, 0xda, 0xb9))
#define PERU			(Color(0xcd, 0x85, 0x3f))
#define PINK			(Color(0xff, 0xc0, 0xcb))
#define PLUM			(Color(0xdd, 0xa0, 0xdd))
#define POWDERBLUE		(Color(0xb0, 0xe0, 0xe6))
#define PURPLE			(Color(0x80, 0x00, 0x80))
#define RED			(Color(0xff, 0x00, 0x00))
#define ROSYBROWN		(Color(0xbc, 0x8f, 0x8f))
#define ROYALBLUE		(Color(0x41, 0x69, 0xe1))
#define SADDLEBROWN		(Color(0x8b, 0x45, 0x13))
#define SALMON			(Color(0xfa, 0x80, 0x72))
#define SANDYBROWN		(Color(0xf4, 0xa4, 0x60))
#define SEAGREEN		(Color(0x2e, 0x8b, 0x57))
#define SEASHELL		(Color(0xff, 0xf5, 0xee))
#define SIENNA			(Color(0xa0, 0x52, 0x2d))
#define SILVER			(Color(0xc0, 0xc0, 0xc0))
#define SKYBLUE			(Color(0x87, 0xce, 0xeb))
#define SLATEBLUE		(Color(0x6a, 0x5a, 0xcd))
#define SLATEGRAY		(Color(0x70, 0x80, 0x90))
#define SNOW			(Color(0xff, 0xfa, 0xfa))
#define SPRINGGREEN		(Color(0x00, 0xff, 0x7f))
#define STEELBLUE		(Color(0x46, 0x82, 0xb4))
#define TAN			(Color(0xd2, 0xb4, 0x8c))
#define TEAL			(Color(0x00, 0x80, 0x80))
#define THISTLE			(Color(0xd8, 0xbf, 0xd8))
#define TOMATO			(Color(0xff, 0x63, 0x47))
#define TURQUOISE		(Color(0x40, 0xe0, 0xd0))
#define VIOLET			(Color(0xee, 0x82, 0xee))
#define WHEAT			(Color(0xf5, 0xde, 0xb3))
#define WHITE			(Color(0xff, 0xff, 0xff))
#define WHITESMOKE		(Color(0xf5, 0xf5, 0xf5))
#define YELLOW			(Color(0xff, 0xff, 0x00))
#define YELLOWGREEN		(Color(0x9a, 0xcd, 0x32))

#define DOS_BLACK		(Color(0x00, 0x00, 0x00))   // Black
#define DOS_BLUE       		(Color(0x00, 0x00, 0xaa))   // Blue
#define DOS_GREEN               (Color(0x00, 0xaa, 0x00))   // Green
#define DOS_CYAN                (Color(0x00, 0xaa, 0xaa))   // Cyan
#define DOS_RED                 (Color(0xaa, 0x00, 0x00))   // Red
#define DOS_MAGENTA             (Color(0xaa, 0x00, 0xaa))   // Magenta
#define DOS_BRAWN               (Color(0xaa, 0x55, 0x00))   // Brawn
#define DOS_WHITE               (Color(0xaa, 0xaa, 0xaa))   // White
#define DOS_GRAY                (Color(0x55, 0x55, 0x55))   // Gray
#define DOS_HIGH_BLUE           (Color(0x55, 0x55, 0xff))   // High Blue
#define DOS_HIGH_GREEN          (Color(0x55, 0xff, 0x55))   // High Green
#define DOS_HIGH_CYAN           (Color(0x55, 0xff, 0xff))   // High Cyan
#define DOS_HIGH_RED            (Color(0xff, 0x55, 0x55))   // High Red
#define DOS_HIGH_MAGENTA        (Color(0xff, 0x55, 0xff))   // High Magenta
#define DOS_YELLOW              (Color(0xff, 0xff, 0x55))   // Yellow
#define DOS_HIGH_WHITE          (Color(0xff, 0xff, 0xff))   // High White

#endif