adding missing dx headers
[reactos.git] / reactos / w32api / include / gdipluseffects.h
1 /*
2 * GdiPlusEffects.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 _GDIPLUSEFFECTS_H
20 #define _GDIPLUSEFFECTS_H
21
22 #if __GNUC__ >= 3
23 #pragma GCC system_header
24 #endif
25
26 typedef struct {
27 float radius;
28 BOOL expandEdge;
29 } BlurParams;
30
31 typedef struct {
32 INT brightnessLevel;
33 INT contrastLevel;
34 } BrightnessContrastParams;
35
36 typedef struct {
37 INT cyanRed;
38 INT magentaGreen;
39 INT yellowBlue;
40 } ColorBalanceParams;
41
42 typedef struct {
43 CurveAdjustments adjustment;
44 CurveChannel channel;
45 INT adjustValue;
46 } ColorCurveParams;
47
48 typedef struct {
49 INT hueLevel;
50 INT saturationLevel;
51 INT lightnessLevel;
52 } HueSaturationLightnessParams;
53
54 typedef struct {
55 INT highlight;
56 INT midtone;
57 INT shadow;
58 } LevelsParams;
59
60 typedef struct {
61 UINT numberOfAreas;
62 RECT *areas;
63 } RedEyeCorrectionParams;
64
65 typedef struct {
66 REAL radius;
67 REAL amount;
68 } SharpenParams;
69
70 typedef struct {
71 INT hue;
72 INT amount;
73 } TintParams;
74
75
76 class Effect
77 {
78 public:
79 Effect(VOID)
80 {
81 }
82
83 VOID *GetAuxData(VOID) const
84 {
85 return NULL;
86 }
87
88 INT GetAuxDataSize(VOID)
89 {
90 return 0;
91 }
92
93 Status GetParameterSize(UINT *size)
94 {
95 return NotImplemented;
96 }
97
98 VOID UseAuxData(const BOOL useAuxDataFlag)
99 {
100 }
101 };
102
103
104 class Blur : public Effect
105 {
106 public:
107 Blur(VOID)
108 {
109 }
110
111 Status GetParameters(UINT *size, BlurParams *parameters)
112 {
113 return NotImplemented;
114 }
115
116 Status SetParameters(const BlurParams *parameters)
117 {
118 return NotImplemented;
119 }
120 };
121
122
123 class BrightnessContrast : public Effect
124 {
125 public:
126 BrightnessContrast(VOID)
127 {
128 }
129
130 Status GetParameters(UINT *size, BrightnessContrastParams *parameters)
131 {
132 return NotImplemented;
133 }
134
135 Status SetParameters(const BrightnessContrastParams *parameters)
136 {
137 return NotImplemented;
138 }
139 };
140
141
142 class ColorBalance : public Effect
143 {
144 public:
145 ColorBalance(VOID)
146 {
147 }
148
149 Status GetParameters(UINT *size, ColorBalanceParams *parameters)
150 {
151 return NotImplemented;
152 }
153
154 Status SetParameters(ColorBalanceParams *parameters)
155 {
156 return NotImplemented;
157 }
158 };
159
160
161 class ColorCurve : public Effect
162 {
163 public:
164 ColorCurve(VOID)
165 {
166 }
167
168 Status GetParameters(UINT *size, ColorCurveParams *parameters)
169 {
170 return NotImplemented;
171 }
172
173 Status SetParameters(const ColorCurveParams *parameters)
174 {
175 return NotImplemented;
176 }
177 };
178
179
180 class ColorMatrixEffect : public Effect
181 {
182 public:
183 ColorMatrixEffect(VOID)
184 {
185 }
186
187 Status GetParameters(UINT *size, ColorMatrix *matrix)
188 {
189 return NotImplemented;
190 }
191
192 Status SetParameters(const ColorMatrix *matrix)
193 {
194 return NotImplemented;
195 }
196 };
197
198
199 class HueSaturationLightness : public Effect
200 {
201 public:
202 HueSaturationLightness(VOID)
203 {
204 }
205
206 Status GetParameters(UINT *size, HueSaturationLightnessParams *parameters)
207 {
208 return NotImplemented;
209 }
210
211 Status SetParameters(const HueSaturationLightnessParams *parameters)
212 {
213 return NotImplemented;
214 }
215 };
216
217
218 class Levels : public Effect
219 {
220 public:
221 Levels(VOID)
222 {
223 }
224
225 Status GetParameters(UINT *size, LevelsParams *parameters)
226 {
227 return NotImplemented;
228 }
229
230 Status SetParameters(const LevelsParams *parameters)
231 {
232 return NotImplemented;
233 }
234 };
235
236 class RedEyeCorrection : public Effect
237 {
238 public:
239 RedEyeCorrection(VOID)
240 {
241 }
242
243 Status GetParameters(UINT *size, RedEyeCorrectionParams *parameters)
244 {
245 return NotImplemented;
246 }
247
248 Status SetParameters(const RedEyeCorrectionParams *parameters)
249 {
250 return NotImplemented;
251 }
252 };
253
254
255 class Sharpen
256 {
257 public:
258 Sharpen(VOID)
259 {
260 }
261
262 Status GetParameters(UINT *size, SharpenParams *parameters)
263 {
264 return NotImplemented;
265 }
266
267 Status SetParameters(const SharpenParams *parameters)
268 {
269 return NotImplemented;
270 }
271 };
272
273
274 class Tint : Effect
275 {
276 public:
277 Tint(VOID)
278 {
279 }
280
281 Status GetParameters(UINT *size, TintParams *parameters)
282 {
283 return NotImplemented;
284 }
285
286 Status SetParameters(const TintParams *parameters)
287 {
288 return NotImplemented;
289 }
290 };
291
292 #endif /* _GDIPLUSEFFECTS_H */