Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 
      7 #ifndef _D2D1_EFFECTS_
      8 #define _D2D1_EFFECTS_
      9 
     10 #include <winapifamily.h>
     11 
     12 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
     13 
     14 DEFINE_GUID(CLSID_D2D12DAffineTransform,      0x6aa97485,0x6354,0x4cfc,0x90,0x8c,0xe4,0xa7,0x4f,0x62,0xc9,0x6c);
     15 DEFINE_GUID(CLSID_D2D13DPerspectiveTransform, 0xc2844d0b,0x3d86,0x46e7,0x85,0xba,0x52,0x6c,0x92,0x40,0xf3,0xfb);
     16 DEFINE_GUID(CLSID_D2D13DTransform,            0xe8467b04,0xec61,0x4b8a,0xb5,0xde,0xd4,0xd7,0x3d,0xeb,0xea,0x5a);
     17 DEFINE_GUID(CLSID_D2D1ArithmeticComposite,    0xfc151437,0x049a,0x4784,0xa2,0x4a,0xf1,0xc4,0xda,0xf2,0x09,0x87);
     18 DEFINE_GUID(CLSID_D2D1Atlas,                  0x913e2be4,0xfdcf,0x4fe2,0xa5,0xf0,0x24,0x54,0xf1,0x4f,0xf4,0x8);
     19 DEFINE_GUID(CLSID_D2D1BitmapSource,           0x5fb6c24d,0xc6dd,0x4231,0x94,0x04,0x50,0xf4,0xd5,0xc3,0x25,0x2d);
     20 DEFINE_GUID(CLSID_D2D1Blend,                  0x81c5b77b,0x13f8,0x4cdd,0xad,0x20,0xc8,0x90,0x54,0x7a,0xc6,0x5d);
     21 DEFINE_GUID(CLSID_D2D1Border,                 0x2a2d49c0,0x4acf,0x43c7,0x8c,0x6a,0x7c,0x4a,0x27,0x87,0x4d,0x27);
     22 DEFINE_GUID(CLSID_D2D1Brightness,             0x8cea8d1e,0x77b0,0x4986,0xb3,0xb9,0x2f,0x0c,0x0e,0xae,0x78,0x87);
     23 DEFINE_GUID(CLSID_D2D1ColorManagement,        0x1a28524c,0xfdd6,0x4aa4,0xae,0x8f,0x83,0x7e,0xb8,0x26,0x7b,0x37);
     24 DEFINE_GUID(CLSID_D2D1ColorMatrix,            0x921f03d6,0x641c,0x47df,0x85,0x2d,0xb4,0xbb,0x61,0x53,0xae,0x11);
     25 DEFINE_GUID(CLSID_D2D1Composite,              0x48fc9f51,0xf6ac,0x48f1,0x8b,0x58,0x3b,0x28,0xac,0x46,0xf7,0x6d);
     26 DEFINE_GUID(CLSID_D2D1ConvolveMatrix,         0x407f8c08,0x5533,0x4331,0xa3,0x41,0x23,0xcc,0x38,0x77,0x84,0x3e);
     27 DEFINE_GUID(CLSID_D2D1Crop,                   0xe23f7110,0x0e9a,0x4324,0xaf,0x47,0x6a,0x2c,0x0c,0x46,0xf3,0x5b);
     28 DEFINE_GUID(CLSID_D2D1DirectionalBlur,        0x174319a6,0x58e9,0x49b2,0xbb,0x63,0xca,0xf2,0xc8,0x11,0xa3,0xdb);
     29 DEFINE_GUID(CLSID_D2D1DiscreteTransfer,       0x90866fcd,0x488e,0x454b,0xaf,0x06,0xe5,0x04,0x1b,0x66,0xc3,0x6c);
     30 DEFINE_GUID(CLSID_D2D1DisplacementMap,        0xedc48364,0x0417,0x4111,0x94,0x50,0x43,0x84,0x5f,0xa9,0xf8,0x90);
     31 DEFINE_GUID(CLSID_D2D1DistantDiffuse,         0x3e7efd62,0xa32d,0x46d4,0xa8,0x3c,0x52,0x78,0x88,0x9a,0xc9,0x54);
     32 DEFINE_GUID(CLSID_D2D1DistantSpecular,        0x428c1ee5,0x77b8,0x4450,0x8a,0xb5,0x72,0x21,0x9c,0x21,0xab,0xda);
     33 DEFINE_GUID(CLSID_D2D1DpiCompensation,        0x6c26c5c7,0x34e0,0x46fc,0x9c,0xfd,0xe5,0x82,0x37,0x6, 0xe2,0x28);
     34 DEFINE_GUID(CLSID_D2D1Flood,                  0x61c23c20,0xae69,0x4d8e,0x94,0xcf,0x50,0x07,0x8d,0xf6,0x38,0xf2);
     35 DEFINE_GUID(CLSID_D2D1GammaTransfer,          0x409444c4,0xc419,0x41a0,0xb0,0xc1,0x8c,0xd0,0xc0,0xa1,0x8e,0x42);
     36 DEFINE_GUID(CLSID_D2D1GaussianBlur,           0x1feb6d69,0x2fe6,0x4ac9,0x8c,0x58,0x1d,0x7f,0x93,0xe7,0xa6,0xa5);
     37 DEFINE_GUID(CLSID_D2D1Scale,                  0x9daf9369,0x3846,0x4d0e,0xa4,0x4e,0xc, 0x60,0x79,0x34,0xa5,0xd7);
     38 DEFINE_GUID(CLSID_D2D1Histogram,              0x881db7d0,0xf7ee,0x4d4d,0xa6,0xd2,0x46,0x97,0xac,0xc6,0x6e,0xe8);
     39 DEFINE_GUID(CLSID_D2D1HueRotation,            0x0f4458ec,0x4b32,0x491b,0x9e,0x85,0xbd,0x73,0xf4,0x4d,0x3e,0xb6);
     40 DEFINE_GUID(CLSID_D2D1LinearTransfer,         0xad47c8fd,0x63ef,0x4acc,0x9b,0x51,0x67,0x97,0x9c,0x03,0x6c,0x06);
     41 DEFINE_GUID(CLSID_D2D1LuminanceToAlpha,       0x41251ab7,0x0beb,0x46f8,0x9d,0xa7,0x59,0xe9,0x3f,0xcc,0xe5,0xde);
     42 DEFINE_GUID(CLSID_D2D1Morphology,             0xeae6c40d,0x626a,0x4c2d,0xbf,0xcb,0x39,0x10,0x01,0xab,0xe2,0x02);
     43 DEFINE_GUID(CLSID_D2D1OpacityMetadata,        0x6c53006a,0x4450,0x4199,0xaa,0x5b,0xad,0x16,0x56,0xfe,0xce,0x5e);
     44 DEFINE_GUID(CLSID_D2D1PointDiffuse,           0xb9e303c3,0xc08c,0x4f91,0x8b,0x7b,0x38,0x65,0x6b,0xc4,0x8c,0x20);
     45 DEFINE_GUID(CLSID_D2D1PointSpecular,          0x09c3ca26,0x3ae2,0x4f09,0x9e,0xbc,0xed,0x38,0x65,0xd5,0x3f,0x22);
     46 DEFINE_GUID(CLSID_D2D1Premultiply,            0x06eab419,0xdeed,0x4018,0x80,0xd2,0x3e,0x1d,0x47,0x1a,0xde,0xb2);
     47 DEFINE_GUID(CLSID_D2D1Saturation,             0x5cb2d9cf,0x327d,0x459f,0xa0,0xce,0x40,0xc0,0xb2,0x08,0x6b,0xf7);
     48 DEFINE_GUID(CLSID_D2D1Shadow,                 0xc67ea361,0x1863,0x4e69,0x89,0xdb,0x69,0x5d,0x3e,0x9a,0x5b,0x6b);
     49 DEFINE_GUID(CLSID_D2D1SpotDiffuse,            0x818a1105,0x7932,0x44f4,0xaa,0x86,0x08,0xae,0x7b,0x2f,0x2c,0x93);
     50 DEFINE_GUID(CLSID_D2D1SpotSpecular,           0xedae421e,0x7654,0x4a37,0x9d,0xb8,0x71,0xac,0xc1,0xbe,0xb3,0xc1);
     51 DEFINE_GUID(CLSID_D2D1TableTransfer,          0x5bf818c3,0x5e43,0x48cb,0xb6,0x31,0x86,0x83,0x96,0xd6,0xa1,0xd4);
     52 DEFINE_GUID(CLSID_D2D1Tile,                   0xb0784138,0x3b76,0x4bc5,0xb1,0x3b,0x0f,0xa2,0xad,0x02,0x65,0x9f);
     53 DEFINE_GUID(CLSID_D2D1Turbulence,             0xcf2bb6ae,0x889a,0x4ad7,0xba,0x29,0xa2,0xfd,0x73,0x2c,0x9f,0xc9);
     54 DEFINE_GUID(CLSID_D2D1UnPremultiply,          0xfb9ac489,0xad8d,0x41ed,0x99,0x99,0xbb,0x63,0x47,0xd1,0x10,0xf7);
     55 
     56 typedef enum D2D1_SHADOW_PROP {
     57     D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION = 0,
     58     D2D1_SHADOW_PROP_COLOR                   = 1,
     59     D2D1_SHADOW_PROP_OPTIMIZATION            = 2,
     60     D2D1_SHADOW_PROP_FORCE_DWORD = 0xffffffff
     61 } D2D1_SHADOW_PROP;
     62 
     63 typedef enum D2D1_2DAFFINETRANSFORM_PROP {
     64     D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE = 0,
     65     D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE        = 1,
     66     D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX   = 2,
     67     D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS          = 3,
     68     D2D1_2DAFFINETRANSFORM_PROP_FORCE_DWORD = 0xffffffff
     69 } D2D1_2DAFFINETRANSFORM_PROP;
     70 
     71 typedef enum D2D1_COMPOSITE_PROP {
     72     D2D1_COMPOSITE_PROP_MODE = 0,
     73     D2D1_COMPOSITE_PROP_FORCE_DWORD = 0xffffffff
     74 } D2D1_COMPOSITE_PROP;
     75 
     76 typedef enum D2D1_CHANNEL_SELECTOR {
     77     D2D1_CHANNEL_SELECTOR_R = 0,
     78     D2D1_CHANNEL_SELECTOR_G = 1,
     79     D2D1_CHANNEL_SELECTOR_B = 2,
     80     D2D1_CHANNEL_SELECTOR_A = 3,
     81     D2D1_CHANNEL_SELECTOR_FORCE_DWORD = 0xffffffff
     82 } D2D1_CHANNEL_SELECTOR;
     83 
     84 typedef enum D2D1_BORDER_MODE {
     85     D2D1_BORDER_MODE_SOFT = 0,
     86     D2D1_BORDER_MODE_HARD = 1,
     87     D2D1_BORDER_MODE_FORCE_DWORD = 0xffffffff
     88 } D2D1_BORDER_MODE;
     89 
     90 typedef enum D2D1_COLORMATRIX_PROP {
     91     D2D1_COLORMATRIX_PROP_COLOR_MATRIX = 0,
     92     D2D1_COLORMATRIX_PROP_ALPHA_MODE   = 1,
     93     D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT = 2,
     94     D2D1_COLORMATRIX_PROP_FORCE_DWORD  = 0xffffffff
     95 } D2D1_COLORMATRIX_PROP;
     96 
     97 typedef enum D2D1_COLORMATRIX_ALPHA_MODE {
     98     D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED = 1,
     99     D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT      = 2,
    100     D2D1_COLORMATRIX_ALPHA_MODE_FORCE_DWORD   = 0xffffffff
    101 } D2D1_COLORMATRIX_ALPHA_MODE;
    102 
    103 typedef enum D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {
    104     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR    = 0,
    105     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR              = 1,
    106     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC               = 2,
    107     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
    108     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC         = 4,
    109     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC  = 5,
    110     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD         = 0xffffffff
    111 } D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE;
    112 
    113 typedef enum D2D1_BLEND_PROP {
    114     D2D1_BLEND_PROP_MODE = 0,
    115     D2D1_BLEND_PROP_FORCE_DWORD = 0xffffffff
    116 } D2D1_BLEND_PROP;
    117 
    118 typedef enum D2D1_BLEND_MODE {
    119     D2D1_BLEND_MODE_MULTIPLY      = 0,
    120     D2D1_BLEND_MODE_SCREEN        = 1,
    121     D2D1_BLEND_MODE_DARKEN        = 2,
    122     D2D1_BLEND_MODE_LIGHTEN       = 3,
    123     D2D1_BLEND_MODE_DISSOLVE      = 4,
    124     D2D1_BLEND_MODE_COLOR_BURN    = 5,
    125     D2D1_BLEND_MODE_LINEAR_BURN   = 6,
    126     D2D1_BLEND_MODE_DARKER_COLOR  = 7,
    127     D2D1_BLEND_MODE_LIGHTER_COLOR = 8,
    128     D2D1_BLEND_MODE_COLOR_DODGE   = 9,
    129     D2D1_BLEND_MODE_LINEAR_DODGE  = 10,
    130     D2D1_BLEND_MODE_OVERLAY       = 11,
    131     D2D1_BLEND_MODE_SOFT_LIGHT    = 12,
    132     D2D1_BLEND_MODE_HARD_LIGHT    = 13,
    133     D2D1_BLEND_MODE_VIVID_LIGHT   = 14,
    134     D2D1_BLEND_MODE_LINEAR_LIGHT  = 15,
    135     D2D1_BLEND_MODE_PIN_LIGHT     = 16,
    136     D2D1_BLEND_MODE_HARD_MIX      = 17,
    137     D2D1_BLEND_MODE_DIFFERENCE    = 18,
    138     D2D1_BLEND_MODE_EXCLUSION     = 19,
    139     D2D1_BLEND_MODE_HUE           = 20,
    140     D2D1_BLEND_MODE_SATURATION    = 21,
    141     D2D1_BLEND_MODE_COLOR         = 22,
    142     D2D1_BLEND_MODE_LUMINOSITY    = 23,
    143     D2D1_BLEND_MODE_SUBTRACT      = 24,
    144     D2D1_BLEND_MODE_DIVISION      = 25,
    145     D2D1_BLEND_MODE_FORCE_DWORD   = 0xffffffff
    146 } D2D1_BLEND_MODE;
    147 
    148 typedef enum D2D1_MORPHOLOGY_PROP {
    149     D2D1_MORPHOLOGY_PROP_MODE   = 0,
    150     D2D1_MORPHOLOGY_PROP_WIDTH  = 1,
    151     D2D1_MORPHOLOGY_PROP_HEIGHT = 2,
    152     D2D1_MORPHOLOGY_PROP_FORCE_DWORD = 0xffffffff
    153 } D2D1_MORPHOLOGY_PROP;
    154 
    155 typedef enum D2D1_FLOOD_PROP {
    156     D2D1_FLOOD_PROP_COLOR = 0,
    157     D2D1_FLOOD_PROP_FORCE_DWORD = 0xffffffff
    158 } D2D1_FLOOD_PROP;
    159 
    160 typedef enum D2D1_MORPHOLOGY_MODE {
    161     D2D1_MORPHOLOGY_MODE_ERODE  = 0,
    162     D2D1_MORPHOLOGY_MODE_DILATE = 1,
    163     D2D1_MORPHOLOGY_MODE_FORCE_DWORD = 0xffffffff
    164 } D2D1_MORPHOLOGY_MODE;
    165 
    166 typedef enum D2D1_TURBULENCE_NOISE {
    167     D2D1_TURBULENCE_NOISE_FRACTAL_SUM = 0,
    168     D2D1_TURBULENCE_NOISE_TURBULENCE  = 1,
    169     D2D1_TURBULENCE_NOISE_FORCE_DWORD = 0xffffffff
    170 } D2D1_TURBULENCE_NOISE;
    171 
    172 typedef enum D2D1_DISPLACEMENTMAP_PROP {
    173     D2D1_DISPLACEMENTMAP_PROP_SCALE            = 0,
    174     D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT = 1,
    175     D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT = 2,
    176     D2D1_DISPLACEMENTMAP_PROP_FORCE_DWORD      = 0xffffffff
    177 } D2D1_DISPLACEMENTMAP_PROP;
    178 
    179 typedef enum D2D1_TURBULENCE_PROP {
    180     D2D1_TURBULENCE_PROP_OFFSET         = 0,
    181     D2D1_TURBULENCE_PROP_SIZE           = 1,
    182     D2D1_TURBULENCE_PROP_BASE_FREQUENCY = 2,
    183     D2D1_TURBULENCE_PROP_NUM_OCTAVES    = 3,
    184     D2D1_TURBULENCE_PROP_SEED           = 4,
    185     D2D1_TURBULENCE_PROP_NOISE          = 5,
    186     D2D1_TURBULENCE_PROP_STITCHABLE     = 6,
    187     D2D1_TURBULENCE_PROP_FORCE_DWORD    = 0xffffffff
    188 } D2D1_TURBULENCE_PROP;
    189 
    190 typedef enum D2D1_ARITHMETICCOMPOSITE_PROP {
    191     D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS = 0,
    192     D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT = 1,
    193     D2D1_ARITHMETICCOMPOSITE_PROP_FORCE_DWORD  = 0xffffffff
    194 } D2D1_ARITHMETICCOMPOSITE_PROP;
    195 
    196 typedef enum D2D1_CROP_PROP {
    197     D2D1_CROP_PROP_RECT        = 0,
    198     D2D1_CROP_PROP_BORDER_MODE = 1,
    199     D2D1_CROP_PROP_FORCE_DWORD = 0xffffffff
    200 } D2D1_CROP_PROP;
    201 
    202 typedef enum D2D1_GAUSSIANBLUR_PROP {
    203     D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION = 0,
    204     D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION       = 1,
    205     D2D1_GAUSSIANBLUR_PROP_BORDER_MODE        = 2,
    206     D2D1_GAUSSIANBLUR_PROP_FORCE_DWORD        = 0xffffffff
    207 } D2D1_GAUSSIANBLUR_PROP;
    208 
    209 typedef enum D2D1_DIRECTIONALBLUR_PROP {
    210     D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION = 0,
    211     D2D1_DIRECTIONALBLUR_PROP_ANGLE              = 1,
    212     D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION       = 2,
    213     D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE        = 3,
    214     D2D1_DIRECTIONALBLUR_PROP_FORCE_DWORD        = 0xffffffff
    215 } D2D1_DIRECTIONALBLUR_PROP;
    216 
    217 typedef enum D2D1_SPOTDIFFUSE_PROP {
    218     D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION      = 0,
    219     D2D1_SPOTDIFFUSE_PROP_POINTS_AT           = 1,
    220     D2D1_SPOTDIFFUSE_PROP_FOCUS               = 2,
    221     D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE = 3,
    222     D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT    = 4,
    223     D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE       = 5,
    224     D2D1_SPOTDIFFUSE_PROP_COLOR               = 6,
    225     D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH  = 7,
    226     D2D1_SPOTDIFFUSE_PROP_SCALE_MODE          = 8,
    227     D2D1_SPOTDIFFUSE_PROP_FORCE_DWORD         = 0xffffffff
    228 } D2D1_SPOTDIFFUSE_PROP;
    229 
    230 typedef enum D2D1_BORDER_PROP {
    231     D2D1_BORDER_PROP_EDGE_MODE_X = 0,
    232     D2D1_BORDER_PROP_EDGE_MODE_Y = 1,
    233     D2D1_BORDER_PROP_FORCE_DWORD = 0xffffffff
    234 } D2D1_BORDER_PROP;
    235 
    236 typedef enum D2D1_POINTDIFFUSE_PROP {
    237     D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION     = 0,
    238     D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT   = 1,
    239     D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE      = 2,
    240     D2D1_POINTDIFFUSE_PROP_COLOR              = 3,
    241     D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 4,
    242     D2D1_POINTDIFFUSE_PROP_SCALE_MODE         = 5,
    243     D2D1_POINTDIFFUSE_PROP_FORCE_DWORD        = 0xffffffff
    244 } D2D1_POINTDIFFUSE_PROP;
    245 
    246 typedef enum D2D1_TABLETRANSFER_PROP {
    247     D2D1_TABLETRANSFER_PROP_RED_TABLE     = 0,
    248     D2D1_TABLETRANSFER_PROP_RED_DISABLE   = 1,
    249     D2D1_TABLETRANSFER_PROP_GREEN_TABLE   = 2,
    250     D2D1_TABLETRANSFER_PROP_GREEN_DISABLE = 3,
    251     D2D1_TABLETRANSFER_PROP_BLUE_TABLE    = 4,
    252     D2D1_TABLETRANSFER_PROP_BLUE_DISABLE  = 5,
    253     D2D1_TABLETRANSFER_PROP_ALPHA_TABLE   = 6,
    254     D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE = 7,
    255     D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT  = 8,
    256     D2D1_TABLETRANSFER_PROP_FORCE_DWORD   = 0xffffffff
    257 } D2D1_TABLETRANSFER_PROP;
    258 
    259 typedef enum D2D1_DISCRETETRANSFER_PROP {
    260     D2D1_DISCRETETRANSFER_PROP_RED_TABLE     = 0,
    261     D2D1_DISCRETETRANSFER_PROP_RED_DISABLE   = 1,
    262     D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE   = 2,
    263     D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE = 3,
    264     D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE    = 4,
    265     D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE  = 5,
    266     D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE   = 6,
    267     D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE = 7,
    268     D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT  = 8,
    269     D2D1_DISCRETETRANSFER_PROP_FORCE_DWORD   = 0xffffffff
    270 } D2D1_DISCRETETRANSFER_PROP;
    271 
    272 typedef enum D2D1_LINEARTRANSFER_PROP {
    273     D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT   = 0,
    274     D2D1_LINEARTRANSFER_PROP_RED_SLOPE         = 1,
    275     D2D1_LINEARTRANSFER_PROP_RED_DISABLE       = 2,
    276     D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT = 3,
    277     D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE       = 4,
    278     D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE     = 5,
    279     D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT  = 6,
    280     D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE        = 7,
    281     D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE      = 8,
    282     D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT = 9,
    283     D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE       = 10,
    284     D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE     = 11,
    285     D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT      = 12,
    286     D2D1_LINEARTRANSFER_PROP_FORCE_DWORD       = 0xffffffff
    287 } D2D1_LINEARTRANSFER_PROP;
    288 
    289 typedef enum D2D1_GAMMATRANSFER_PROP {
    290     D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE   = 0,
    291     D2D1_GAMMATRANSFER_PROP_RED_EXPONENT    = 1,
    292     D2D1_GAMMATRANSFER_PROP_RED_OFFSET      = 2,
    293     D2D1_GAMMATRANSFER_PROP_RED_DISABLE     = 3,
    294     D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE = 4,
    295     D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT  = 5,
    296     D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET    = 6,
    297     D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE   = 7,
    298     D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE  = 8,
    299     D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT   = 9,
    300     D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET     = 10,
    301     D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE    = 11,
    302     D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE = 12,
    303     D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT  = 13,
    304     D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET    = 14,
    305     D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE   = 15,
    306     D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT    = 16,
    307     D2D1_GAMMATRANSFER_PROP_FORCE_DWORD     = 0xffffffff
    308 } D2D1_GAMMATRANSFER_PROP;
    309 
    310 typedef enum D2D1_CONVOLVEMATRIX_PROP {
    311     D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH = 0,
    312     D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE         = 1,
    313     D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X      = 2,
    314     D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y      = 3,
    315     D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX      = 4,
    316     D2D1_CONVOLVEMATRIX_PROP_DIVISOR            = 5,
    317     D2D1_CONVOLVEMATRIX_PROP_BIAS               = 6,
    318     D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET      = 7,
    319     D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA     = 8,
    320     D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE        = 9,
    321     D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT       = 10,
    322     D2D1_CONVOLVEMATRIX_PROP_FORCE_DWORD        = 0xffffffff
    323 } D2D1_CONVOLVEMATRIX_PROP;
    324 
    325 typedef enum D2D1_BORDER_EDGE_MODE {
    326     D2D1_BORDER_EDGE_MODE_CLAMP       = 0,
    327     D2D1_BORDER_EDGE_MODE_WRAP        = 1,
    328     D2D1_BORDER_EDGE_MODE_MIRROR      = 2,
    329     D2D1_BORDER_EDGE_MODE_FORCE_DWORD = 0xffffffff
    330 } D2D1_BORDER_EDGE_MODE;
    331 
    332 typedef enum D2D1_DISTANTDIFFUSE_PROP {
    333     D2D1_DISTANTDIFFUSE_PROP_AZIMUTH            = 0,
    334     D2D1_DISTANTDIFFUSE_PROP_ELEVATION          = 1,
    335     D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT   = 2,
    336     D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE      = 3,
    337     D2D1_DISTANTDIFFUSE_PROP_COLOR              = 4,
    338     D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 5,
    339     D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE         = 6,
    340     D2D1_DISTANTDIFFUSE_PROP_FORCE_DWORD        = 0xffffffff
    341 } D2D1_DISTANTDIFFUSE_PROP;
    342 
    343 typedef enum D2D1_POINTSPECULAR_PROP {
    344     D2D1_POINTSPECULAR_PROP_LIGHT_POSITION     = 0,
    345     D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT  = 1,
    346     D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT  = 2,
    347     D2D1_POINTSPECULAR_PROP_SURFACE_SCALE      = 3,
    348     D2D1_POINTSPECULAR_PROP_COLOR              = 4,
    349     D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 5,
    350     D2D1_POINTSPECULAR_PROP_SCALE_MODE         = 6,
    351     D2D1_POINTSPECULAR_PROP_FORCE_DWORD        = 0xffffffff
    352 } D2D1_POINTSPECULAR_PROP;
    353 
    354 typedef enum D2D1_SPOTSPECULAR_PROP {
    355     D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION      = 0,
    356     D2D1_SPOTSPECULAR_PROP_POINTS_AT           = 1,
    357     D2D1_SPOTSPECULAR_PROP_FOCUS               = 2,
    358     D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE = 3,
    359     D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT   = 4,
    360     D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT   = 5,
    361     D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE       = 6,
    362     D2D1_SPOTSPECULAR_PROP_COLOR               = 7,
    363     D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH  = 8,
    364     D2D1_SPOTSPECULAR_PROP_SCALE_MODE          = 9,
    365     D2D1_SPOTSPECULAR_PROP_FORCE_DWORD         = 0xffffffff
    366 } D2D1_SPOTSPECULAR_PROP;
    367 
    368 typedef enum D2D1_DISTANTSPECULAR_PROP {
    369     D2D1_DISTANTSPECULAR_PROP_AZIMUTH            = 0,
    370     D2D1_DISTANTSPECULAR_PROP_ELEVATION          = 1,
    371     D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT  = 2,
    372     D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT  = 3,
    373     D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE      = 4,
    374     D2D1_DISTANTSPECULAR_PROP_COLOR              = 5,
    375     D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 6,
    376     D2D1_DISTANTSPECULAR_PROP_SCALE_MODE         = 7,
    377     D2D1_DISTANTSPECULAR_PROP_FORCE_DWORD        = 0xffffffff
    378 } D2D1_DISTANTSPECULAR_PROP;
    379 
    380 typedef enum D2D1_TILE_PROP {
    381     D2D1_TILE_PROP_RECT = 0,
    382     D2D1_TILE_PROP_FORCE_DWORD = 0xffffffff
    383 } D2D1_TILE_PROP;
    384 
    385 #endif
    386 #endif /* _D2D1_EFFECTS_ */
    387