Of course, I forgot to commit the new file in revision 22049...
[reactos.git] / reactos / include / gdipluscolor.h
1 /*
2 * GdiPlusColor.h
3 *
4 * Windows GDI+
5 *
6 * This file is part of the w32api package.
7 *
8 * THIS SOFTWARE IS NOT COPYRIGHTED
9 *
10 * This source code is offered for use in the public domain. You may
11 * use, modify or distribute it freely.
12 *
13 * This code is distributed in the hope that it will be useful but
14 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
15 * DISCLAIMED. This includes but is not limited to warranties of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17 */
18
19 #ifndef _GDIPLUSCOLOR_H
20 #define _GDIPLUSCOLOR_H
21
22 #if __GNUC__ >= 3
23 #pragma GCC system_header
24 #endif
25
26 typedef enum {
27 ColorChannelFlagsC = 0,
28 ColorChannelFlagsM = 1,
29 ColorChannelFlagsY = 2,
30 ColorChannelFlagsK = 3,
31 ColorChannelFlagsLast = 4
32 } ColorChannelFlags;
33
34
35 class Color
36 {
37 public:
38 Color(BYTE a, BYTE r, BYTE g, BYTE b)
39 {
40 color = MakeARGB(a, r, g, b);
41 }
42
43 Color(VOID)
44 {
45 }
46
47 Color(BYTE r, BYTE g, BYTE b)
48 {
49 }
50
51 Color(ARGB argb)
52 {
53 }
54
55 BYTE GetA(VOID)
56 {
57 return 0;
58 }
59
60 BYTE GetAlpha(VOID)
61 {
62 return 0;
63 }
64
65 BYTE GetB(VOID)
66 {
67 return 0;
68 }
69
70 BYTE GetBlue(VOID)
71 {
72 return 0;
73 }
74
75 BYTE GetG(VOID)
76 {
77 return 0;
78 }
79
80 BYTE GetGreen(VOID)
81 {
82 return 0;
83 }
84
85 BYTE GetR(VOID)
86 {
87 return 0;
88 }
89
90 BYTE GetRed(VOID)
91 {
92 return 0;
93 }
94
95 ARGB GetValue(VOID) const
96 {
97 return color;
98 }
99
100 enum
101 {
102 AlphaShift = 24,
103 RedShift = 16,
104 GreenShift = 8,
105 BlueShift = 0
106 };
107
108 static ARGB MakeARGB(BYTE a, BYTE r, BYTE g, BYTE b)
109 {
110 return (((ARGB)(b) << BlueShift) |
111 ((ARGB)(g) << GreenShift) |
112 ((ARGB)(r) << RedShift) |
113 ((ARGB)(a) << AlphaShift));
114 }
115
116 VOID SetFromCOLORREF(COLORREF rgb)
117 {
118 }
119
120 VOID SetValue(ARGB argb)
121 {
122 }
123
124 COLORREF ToCOLORREF(VOID)
125 {
126 return 0;
127 }
128
129
130 enum
131 {
132 AliceBlue = 0xFFF0F8FF,
133 AntiqueWhite = 0xFFFAEBD7,
134 Aqua = 0xFF00FFFF,
135 Aquamarine = 0xFF7FFFD4,
136 Azure = 0xFFF0FFFF,
137 Beige = 0xFFF5F5DC,
138 Bisque = 0xFFFFE4C4,
139 Black = 0xFF000000,
140 BlanchedAlmond = 0xFFFFEBCD,
141 Blue = 0xFF0000FF,
142 BlueViolet = 0xFF8A2BE2,
143 Brown = 0xFFA52A2A,
144 BurlyWood = 0xFFDEB887,
145 CadetBlue = 0xFF5F9EA0,
146 Chartreuse = 0xFF7FFF00,
147 Chocolate = 0xFFD2691E,
148 Coral = 0xFFFF7F50,
149 CornflowerBlue = 0xFF6495ED,
150 Cornsilk = 0xFFFFF8DC,
151 Crimson = 0xFFDC143C,
152 Cyan = 0xFF00FFFF,
153 DarkBlue = 0xFF00008B,
154 DarkCyan = 0xFF008B8B,
155 DarkGoldenrod = 0xFFB8860B,
156 DarkGray = 0xFFA9A9A9,
157 DarkGreen = 0xFF006400,
158 DarkKhaki = 0xFFBDB76B,
159 DarkMagenta = 0xFF8B008B,
160 DarkOliveGreen = 0xFF556B2F,
161 DarkOrange = 0xFFFF8C00,
162 DarkOrchid = 0xFF9932CC,
163 DarkRed = 0xFF8B0000,
164 DarkSalmon = 0xFFE9967A,
165 DarkSeaGreen = 0xFF8FBC8B,
166 DarkSlateBlue = 0xFF483D8B,
167 DarkSlateGray = 0xFF2F4F4F,
168 DarkTurquoise = 0xFF00CED1,
169 DarkViolet = 0xFF9400D3,
170 DeepPink = 0xFFFF1493,
171 DeepSkyBlue = 0xFF00BFFF,
172 DimGray = 0xFF696969,
173 DodgerBlue = 0xFF1E90FF,
174 Firebrick = 0xFFB22222,
175 FloralWhite = 0xFFFFFAF0,
176 ForestGreen = 0xFF228B22,
177 Fuchsia = 0xFFFF00FF,
178 Gainsboro = 0xFFDCDCDC,
179 GhostWhite = 0xFFF8F8FF,
180 Gold = 0xFFFFD700,
181 Goldenrod = 0xFFDAA520,
182 Gray = 0xFF808080,
183 Green = 0xFF008000,
184 GreenYellow = 0xFFADFF2F,
185 Honeydew = 0xFFF0FFF0,
186 HotPink = 0xFFFF69B4,
187 IndianRed = 0xFFCD5C5C,
188 Indigo = 0xFF4B0082,
189 Ivory = 0xFFFFFFF0,
190 Khaki = 0xFFF0E68C,
191 Lavender = 0xFFE6E6FA,
192 LavenderBlush = 0xFFFFF0F5,
193 LawnGreen = 0xFF7CFC00,
194 LemonChiffon = 0xFFFFFACD,
195 LightBlue = 0xFFADD8E6,
196 LightCoral = 0xFFF08080,
197 LightCyan = 0xFFE0FFFF,
198 LightGoldenrodYellow = 0xFFFAFAD2,
199 LightGray = 0xFFD3D3D3,
200 LightGreen = 0xFF90EE90,
201 LightPink = 0xFFFFB6C1,
202 LightSalmon = 0xFFFFA07A,
203 LightSeaGreen = 0xFF20B2AA,
204 LightSkyBlue = 0xFF87CEFA,
205 LightSlateGray = 0xFF778899,
206 LightSteelBlue = 0xFFB0C4DE,
207 LightYellow = 0xFFFFFFE0,
208 Lime = 0xFF00FF00,
209 LimeGreen = 0xFF32CD32,
210 Linen = 0xFFFAF0E6,
211 Magenta = 0xFFFF00FF,
212 Maroon = 0xFF800000,
213 MediumAquamarine = 0xFF66CDAA,
214 MediumBlue = 0xFF0000CD,
215 MediumOrchid = 0xFFBA55D3,
216 MediumPurple = 0xFF9370DB,
217 MediumSeaGreen = 0xFF3CB371,
218 MediumSlateBlue = 0xFF7B68EE,
219 MediumSpringGreen = 0xFF00FA9A,
220 MediumTurquoise = 0xFF48D1CC,
221 MediumVioletRed = 0xFFC71585,
222 MidnightBlue = 0xFF191970,
223 MintCream = 0xFFF5FFFA,
224 MistyRose = 0xFFFFE4E1,
225 Moccasin = 0xFFFFE4B5,
226 NavajoWhite = 0xFFFFDEAD,
227 Navy = 0xFF000080,
228 OldLace = 0xFFFDF5E6,
229 Olive = 0xFF808000,
230 OliveDrab = 0xFF6B8E23,
231 Orange = 0xFFFFA500,
232 OrangeRed = 0xFFFF4500,
233 Orchid = 0xFFDA70D6,
234 PaleGoldenrod = 0xFFEEE8AA,
235 PaleGreen = 0xFF98FB98,
236 PaleTurquoise = 0xFFAFEEEE,
237 PaleVioletRed = 0xFFDB7093,
238 PapayaWhip = 0xFFFFEFD5,
239 PeachPuff = 0xFFFFDAB9,
240 Peru = 0xFFCD853F,
241 Pink = 0xFFFFC0CB,
242 Plum = 0xFFDDA0DD,
243 PowderBlue = 0xFFB0E0E6,
244 Purple = 0xFF800080,
245 Red = 0xFFFF0000,
246 RosyBrown = 0xFFBC8F8F,
247 RoyalBlue = 0xFF4169E1,
248 SaddleBrown = 0xFF8B4513,
249 Salmon = 0xFFFA8072,
250 SandyBrown = 0xFFF4A460,
251 SeaGreen = 0xFF2E8B57,
252 SeaShell = 0xFFFFF5EE,
253 Sienna = 0xFFA0522D,
254 Silver = 0xFFC0C0C0,
255 SkyBlue = 0xFF87CEEB,
256 SlateBlue = 0xFF6A5ACD,
257 SlateGray = 0xFF708090,
258 Snow = 0xFFFFFAFA,
259 SpringGreen = 0xFF00FF7F,
260 SteelBlue = 0xFF4682B4,
261 Tan = 0xFFD2B48C,
262 Teal = 0xFF008080,
263 Thistle = 0xFFD8BFD8,
264 Tomato = 0xFFFF6347,
265 Transparent = 0x00FFFFFF,
266 Turquoise = 0xFF40E0D0,
267 Violet = 0xFFEE82EE,
268 Wheat = 0xFFF5DEB3,
269 White = 0xFFFFFFFF,
270 WhiteSmoke = 0xFFF5F5F5,
271 Yellow = 0xFFFFFF00,
272 YellowGreen = 0xFF9ACD32,
273 };
274
275 private:
276 ARGB color;
277 };
278
279 #endif /* _GDIPLUSCOLOR_H */