Naveen Neel / shedskin
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers gdipluseffects.h Source File

gdipluseffects.h

00001 /*
00002  * gdipluseffects.h
00003  *
00004  * GDI+ filters and effects
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Markus Koenig <markus@stber-koenig.de>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef __GDIPLUS_EFFECTS_H
00024 #define __GDIPLUS_EFFECTS_H
00025 #if __GNUC__ >=3
00026 #pragma GCC system_header
00027 #endif
00028 
00029 typedef enum CurveAdjustments {
00030     AdjustExposure = 0,
00031     AdjustDensity = 1,
00032     AdjustContrast = 2,
00033     AdjustHighlight = 3,
00034     AdjustShadow = 4,
00035     AdjustMidtone = 5,
00036     AdjustWhiteSaturation = 6,
00037     AdjustBlackSaturation = 7
00038 } CurveAdjustments;
00039 
00040 typedef enum CurveChannel {
00041     CurveChannelAll = 0,
00042     CurveChannelRed = 1,
00043     CurveChannelGreen = 2,
00044     CurveChannelBlue = 3
00045 } CurveChannel;
00046 
00047 typedef struct BlurParams {
00048     REAL radius;
00049     BOOL expandEdge;
00050 } BlurParams;
00051 
00052 typedef struct BrightnessContrastParams {
00053     INT brightnessLevel;
00054     INT contrastLevel;
00055 } BrightnessContrastParams;
00056 
00057 typedef struct ColorBalanceParams {
00058     INT cyanRed;
00059     INT magentaGreen;
00060     INT yellowBlue;
00061 } ColorBalanceParams;
00062 
00063 typedef struct ColorCurveParams {
00064     CurveAdjustments adjustment;
00065     CurveChannel channel;
00066     INT adjustValue;
00067 } ColorCurveParams;
00068 
00069 typedef struct ColorLUTParams {
00070     ColorChannelLUT lutB;
00071     ColorChannelLUT lutG;
00072     ColorChannelLUT lutR;
00073     ColorChannelLUT lutA;
00074 } ColorLUTParams;
00075 
00076 typedef struct HueSaturationLightnessParams {
00077     INT hueLevel;
00078     INT saturationLevel;
00079     INT lightnessLevel;
00080 } HueSaturationLightnessParams;
00081 
00082 typedef struct LevelsParams {
00083     INT highlight;
00084     INT midtone;
00085     INT shadow;
00086 } LevelsParams;
00087 
00088 typedef struct RedEyeCorrectionParams {
00089     UINT numberOfAreas;
00090     RECT *areas;
00091 } RedEyeCorrectionParams;
00092 
00093 typedef struct SharpenParams {
00094     REAL radius;
00095     REAL amount;
00096 } SharpenParams;
00097 
00098 typedef struct TintParams {
00099     INT hue;
00100     INT amount;
00101 } TintParams;
00102 
00103 extern const GUID BlurEffectGuid;                    /* ? */
00104 extern const GUID BrightnessContrastEffectGuid;      /* ? */
00105 extern const GUID ColorBalanceEffectGuid;            /* ? */
00106 extern const GUID ColorCurveEffectGuid;              /* ? */
00107 extern const GUID ColorLUTEffectGuid;                /* ? */
00108 extern const GUID ColorMatrixEffectGuid;             /* ? */
00109 extern const GUID HueSaturationLightnessEffectGuid;  /* ? */
00110 extern const GUID LevelsEffectGuid;                  /* ? */
00111 extern const GUID RedEyeCorrectionEffectGuid;        /* ? */
00112 extern const GUID SharpenEffectGuid;                 /* ? */
00113 extern const GUID TintEffectGuid;                    /* ? */
00114 
00115 
00116 #endif /* __GDIPLUS_EFFECTS_H */