1 /* 2 * gdipluseffects.h 3 * 4 * GDI+ filters and effects 5 * 6 * This file is part of the w32api package. 7 * 8 * Contributors: 9 * Created by Markus Koenig <markus (at) stber-koenig.de> 10 * 11 * THIS SOFTWARE IS NOT COPYRIGHTED 12 * 13 * This source code is offered for use in the public domain. You may 14 * use, modify or distribute it freely. 15 * 16 * This code is distributed in the hope that it will be useful but 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 18 * DISCLAIMED. This includes but is not limited to warranties of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 20 * 21 */ 22 23 #ifndef __GDIPLUS_EFFECTS_H 24 #define __GDIPLUS_EFFECTS_H 25 #if __GNUC__ >=3 26 #pragma GCC system_header 27 #endif 28 29 typedef enum CurveAdjustments { 30 AdjustExposure = 0, 31 AdjustDensity = 1, 32 AdjustContrast = 2, 33 AdjustHighlight = 3, 34 AdjustShadow = 4, 35 AdjustMidtone = 5, 36 AdjustWhiteSaturation = 6, 37 AdjustBlackSaturation = 7 38 } CurveAdjustments; 39 40 typedef enum CurveChannel { 41 CurveChannelAll = 0, 42 CurveChannelRed = 1, 43 CurveChannelGreen = 2, 44 CurveChannelBlue = 3 45 } CurveChannel; 46 47 typedef struct BlurParams { 48 REAL radius; 49 BOOL expandEdge; 50 } BlurParams; 51 52 typedef struct BrightnessContrastParams { 53 INT brightnessLevel; 54 INT contrastLevel; 55 } BrightnessContrastParams; 56 57 typedef struct ColorBalanceParams { 58 INT cyanRed; 59 INT magentaGreen; 60 INT yellowBlue; 61 } ColorBalanceParams; 62 63 typedef struct ColorCurveParams { 64 CurveAdjustments adjustment; 65 CurveChannel channel; 66 INT adjustValue; 67 } ColorCurveParams; 68 69 typedef struct ColorLUTParams { 70 ColorChannelLUT lutB; 71 ColorChannelLUT lutG; 72 ColorChannelLUT lutR; 73 ColorChannelLUT lutA; 74 } ColorLUTParams; 75 76 typedef struct HueSaturationLightnessParams { 77 INT hueLevel; 78 INT saturationLevel; 79 INT lightnessLevel; 80 } HueSaturationLightnessParams; 81 82 typedef struct LevelsParams { 83 INT highlight; 84 INT midtone; 85 INT shadow; 86 } LevelsParams; 87 88 typedef struct RedEyeCorrectionParams { 89 UINT numberOfAreas; 90 RECT *areas; 91 } RedEyeCorrectionParams; 92 93 typedef struct SharpenParams { 94 REAL radius; 95 REAL amount; 96 } SharpenParams; 97 98 typedef struct TintParams { 99 INT hue; 100 INT amount; 101 } TintParams; 102 103 extern const GUID BlurEffectGuid; /* ? */ 104 extern const GUID BrightnessContrastEffectGuid; /* ? */ 105 extern const GUID ColorBalanceEffectGuid; /* ? */ 106 extern const GUID ColorCurveEffectGuid; /* ? */ 107 extern const GUID ColorLUTEffectGuid; /* ? */ 108 extern const GUID ColorMatrixEffectGuid; /* ? */ 109 extern const GUID HueSaturationLightnessEffectGuid; /* ? */ 110 extern const GUID LevelsEffectGuid; /* ? */ 111 extern const GUID RedEyeCorrectionEffectGuid; /* ? */ 112 extern const GUID SharpenEffectGuid; /* ? */ 113 extern const GUID TintEffectGuid; /* ? */ 114 115 116 #endif /* __GDIPLUS_EFFECTS_H */ 117