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