#ifndef __COLOR_H__ #define __COLOR_H__ struct Color { 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