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