xref: /reactos/sdk/include/psdk/gdipluseffects.h (revision 50cf16b3)
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 */
289