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