gdipluseffects.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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@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. #ifndef __GDIPLUS_EFFECTS_H
  23. #define __GDIPLUS_EFFECTS_H
  24. #if __GNUC__ >=3
  25. #pragma GCC system_header
  26. #endif
  27. typedef enum CurveAdjustments {
  28. AdjustExposure = 0,
  29. AdjustDensity = 1,
  30. AdjustContrast = 2,
  31. AdjustHighlight = 3,
  32. AdjustShadow = 4,
  33. AdjustMidtone = 5,
  34. AdjustWhiteSaturation = 6,
  35. AdjustBlackSaturation = 7
  36. } CurveAdjustments;
  37. typedef enum CurveChannel {
  38. CurveChannelAll = 0,
  39. CurveChannelRed = 1,
  40. CurveChannelGreen = 2,
  41. CurveChannelBlue = 3
  42. } CurveChannel;
  43. typedef struct BlurParams {
  44. REAL radius;
  45. BOOL expandEdge;
  46. } BlurParams;
  47. typedef struct BrightnessContrastParams {
  48. INT brightnessLevel;
  49. INT contrastLevel;
  50. } BrightnessContrastParams;
  51. typedef struct ColorBalanceParams {
  52. INT cyanRed;
  53. INT magentaGreen;
  54. INT yellowBlue;
  55. } ColorBalanceParams;
  56. typedef struct ColorCurveParams {
  57. CurveAdjustments adjustment;
  58. CurveChannel channel;
  59. INT adjustValue;
  60. } ColorCurveParams;
  61. typedef struct ColorLUTParams {
  62. ColorChannelLUT lutB;
  63. ColorChannelLUT lutG;
  64. ColorChannelLUT lutR;
  65. ColorChannelLUT lutA;
  66. } ColorLUTParams;
  67. typedef struct HueSaturationLightnessParams {
  68. INT hueLevel;
  69. INT saturationLevel;
  70. INT lightnessLevel;
  71. } HueSaturationLightnessParams;
  72. typedef struct LevelsParams {
  73. INT highlight;
  74. INT midtone;
  75. INT shadow;
  76. } LevelsParams;
  77. typedef struct RedEyeCorrectionParams {
  78. UINT numberOfAreas;
  79. RECT *areas;
  80. } RedEyeCorrectionParams;
  81. typedef struct SharpenParams {
  82. REAL radius;
  83. REAL amount;
  84. } SharpenParams;
  85. typedef struct TintParams {
  86. INT hue;
  87. INT amount;
  88. } TintParams;
  89. extern const GUID BlurEffectGuid; /* ? */
  90. extern const GUID BrightnessContrastEffectGuid; /* ? */
  91. extern const GUID ColorBalanceEffectGuid; /* ? */
  92. extern const GUID ColorCurveEffectGuid; /* ? */
  93. extern const GUID ColorLUTEffectGuid; /* ? */
  94. extern const GUID ColorMatrixEffectGuid; /* ? */
  95. extern const GUID HueSaturationLightnessEffectGuid; /* ? */
  96. extern const GUID LevelsEffectGuid; /* ? */
  97. extern const GUID RedEyeCorrectionEffectGuid; /* ? */
  98. extern const GUID SharpenEffectGuid; /* ? */
  99. extern const GUID TintEffectGuid; /* ? */
  100. #endif /* __GDIPLUS_EFFECTS_H */