1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! Mappings for the contents of d2d1effects.h
7 DEFINE_GUID!{CLSID_D2D12DAffineTransform,
8     0x6AA97485, 0x6354, 0x4cfc, 0x90, 0x8C, 0xE4, 0xA7, 0x4F, 0x62, 0xC9, 0x6C}
9 DEFINE_GUID!{CLSID_D2D13DPerspectiveTransform,
10     0xC2844D0B, 0x3D86, 0x46e7, 0x85, 0xBA, 0x52, 0x6C, 0x92, 0x40, 0xF3, 0xFB}
11 DEFINE_GUID!{CLSID_D2D13DTransform,
12     0xe8467b04, 0xec61, 0x4b8a, 0xb5, 0xde, 0xd4, 0xd7, 0x3d, 0xeb, 0xea, 0x5a}
13 DEFINE_GUID!{CLSID_D2D1ArithmeticComposite,
14     0xfc151437, 0x049a, 0x4784, 0xa2, 0x4a, 0xf1, 0xc4, 0xda, 0xf2, 0x09, 0x87}
15 DEFINE_GUID!{CLSID_D2D1Atlas,
16     0x913e2be4, 0xfdcf, 0x4fe2, 0xa5, 0xf0, 0x24, 0x54, 0xf1, 0x4f, 0xf4, 0x08}
17 DEFINE_GUID!{CLSID_D2D1BitmapSource,
18     0x5fb6c24d, 0xc6dd, 0x4231, 0x94, 0x4, 0x50, 0xf4, 0xd5, 0xc3, 0x25, 0x2d}
19 DEFINE_GUID!{CLSID_D2D1Blend,
20     0x81c5b77b, 0x13f8, 0x4cdd, 0xad, 0x20, 0xc8, 0x90, 0x54, 0x7a, 0xc6, 0x5d}
21 DEFINE_GUID!{CLSID_D2D1Border,
22     0x2A2D49C0, 0x4ACF, 0x43c7, 0x8C, 0x6A, 0x7C, 0x4A, 0x27, 0x87, 0x4D, 0x27}
23 DEFINE_GUID!{CLSID_D2D1Brightness,
24     0x8cea8d1e, 0x77b0, 0x4986, 0xb3, 0xb9, 0x2f, 0x0c, 0x0e, 0xae, 0x78, 0x87}
25 DEFINE_GUID!{CLSID_D2D1ColorManagement,
26     0x1A28524C, 0xFDD6, 0x4AA4, 0xAE, 0x8F, 0x83, 0x7E, 0xB8, 0x26, 0x7B, 0x37}
27 DEFINE_GUID!{CLSID_D2D1ColorMatrix,
28     0x921F03D6, 0x641C, 0x47DF, 0x85, 0x2D, 0xB4, 0xBB, 0x61, 0x53, 0xAE, 0x11}
29 DEFINE_GUID!{CLSID_D2D1Composite,
30     0x48fc9f51, 0xf6ac, 0x48f1, 0x8b, 0x58, 0x3b, 0x28, 0xac, 0x46, 0xf7, 0x6d}
31 DEFINE_GUID!{CLSID_D2D1ConvolveMatrix,
32     0x407f8c08, 0x5533, 0x4331, 0xa3, 0x41, 0x23, 0xcc, 0x38, 0x77, 0x84, 0x3e}
33 DEFINE_GUID!{CLSID_D2D1Crop,
34     0xE23F7110, 0x0E9A, 0x4324, 0xAF, 0x47, 0x6A, 0x2C, 0x0C, 0x46, 0xF3, 0x5B}
35 DEFINE_GUID!{CLSID_D2D1DirectionalBlur,
36     0x174319a6, 0x58e9, 0x49b2, 0xbb, 0x63, 0xca, 0xf2, 0xc8, 0x11, 0xa3, 0xdb}
37 DEFINE_GUID!{CLSID_D2D1DiscreteTransfer,
38     0x90866fcd, 0x488e, 0x454b, 0xaf, 0x06, 0xe5, 0x04, 0x1b, 0x66, 0xc3, 0x6c}
39 DEFINE_GUID!{CLSID_D2D1DisplacementMap,
40     0xedc48364, 0x417, 0x4111, 0x94, 0x50, 0x43, 0x84, 0x5f, 0xa9, 0xf8, 0x90}
41 DEFINE_GUID!{CLSID_D2D1DistantDiffuse,
42     0x3e7efd62, 0xa32d, 0x46d4, 0xa8, 0x3c, 0x52, 0x78, 0x88, 0x9a, 0xc9, 0x54}
43 DEFINE_GUID!{CLSID_D2D1DistantSpecular,
44     0x428c1ee5, 0x77b8, 0x4450, 0x8a, 0xb5, 0x72, 0x21, 0x9c, 0x21, 0xab, 0xda}
45 DEFINE_GUID!{CLSID_D2D1DpiCompensation,
46     0x6c26c5c7, 0x34e0, 0x46fc, 0x9c, 0xfd, 0xe5, 0x82, 0x37, 0x6, 0xe2, 0x28}
47 DEFINE_GUID!{CLSID_D2D1Flood,
48     0x61c23c20, 0xae69, 0x4d8e, 0x94, 0xcf, 0x50, 0x07, 0x8d, 0xf6, 0x38, 0xf2}
49 DEFINE_GUID!{CLSID_D2D1GammaTransfer,
50     0x409444c4, 0xc419, 0x41a0, 0xb0, 0xc1, 0x8c, 0xd0, 0xc0, 0xa1, 0x8e, 0x42}
51 DEFINE_GUID!{CLSID_D2D1GaussianBlur,
52     0x1feb6d69, 0x2fe6, 0x4ac9, 0x8c, 0x58, 0x1d, 0x7f, 0x93, 0xe7, 0xa6, 0xa5}
53 DEFINE_GUID!{CLSID_D2D1Scale,
54     0x9daf9369, 0x3846, 0x4d0e, 0xa4, 0x4e, 0xc, 0x60, 0x79, 0x34, 0xa5, 0xd7}
55 DEFINE_GUID!{CLSID_D2D1Histogram,
56     0x881db7d0, 0xf7ee, 0x4d4d, 0xa6, 0xd2, 0x46, 0x97, 0xac, 0xc6, 0x6e, 0xe8}
57 DEFINE_GUID!{CLSID_D2D1HueRotation,
58     0x0f4458ec, 0x4b32, 0x491b, 0x9e, 0x85, 0xbd, 0x73, 0xf4, 0x4d, 0x3e, 0xb6}
59 DEFINE_GUID!{CLSID_D2D1LinearTransfer,
60     0xad47c8fd, 0x63ef, 0x4acc, 0x9b, 0x51, 0x67, 0x97, 0x9c, 0x03, 0x6c, 0x06}
61 DEFINE_GUID!{CLSID_D2D1LuminanceToAlpha,
62     0x41251ab7, 0x0beb, 0x46f8, 0x9d, 0xa7, 0x59, 0xe9, 0x3f, 0xcc, 0xe5, 0xde}
63 DEFINE_GUID!{CLSID_D2D1Morphology,
64     0xeae6c40d, 0x626a, 0x4c2d, 0xbf, 0xcb, 0x39, 0x10, 0x01, 0xab, 0xe2, 0x02}
65 DEFINE_GUID!{CLSID_D2D1OpacityMetadata,
66     0x6c53006a, 0x4450, 0x4199, 0xaa, 0x5b, 0xad, 0x16, 0x56, 0xfe, 0xce, 0x5e}
67 DEFINE_GUID!{CLSID_D2D1PointDiffuse,
68     0xb9e303c3, 0xc08c, 0x4f91, 0x8b, 0x7b, 0x38, 0x65, 0x6b, 0xc4, 0x8c, 0x20}
69 DEFINE_GUID!{CLSID_D2D1PointSpecular,
70     0x09c3ca26, 0x3ae2, 0x4f09, 0x9e, 0xbc, 0xed, 0x38, 0x65, 0xd5, 0x3f, 0x22}
71 DEFINE_GUID!{CLSID_D2D1Premultiply,
72     0x06eab419, 0xdeed, 0x4018, 0x80, 0xd2, 0x3e, 0x1d, 0x47, 0x1a, 0xde, 0xb2}
73 DEFINE_GUID!{CLSID_D2D1Saturation,
74     0x5cb2d9cf, 0x327d, 0x459f, 0xa0, 0xce, 0x40, 0xc0, 0xb2, 0x08, 0x6b, 0xf7}
75 DEFINE_GUID!{CLSID_D2D1Shadow,
76     0xC67EA361, 0x1863, 0x4e69, 0x89, 0xDB, 0x69, 0x5D, 0x3E, 0x9A, 0x5B, 0x6B}
77 DEFINE_GUID!{CLSID_D2D1SpotDiffuse,
78     0x818a1105, 0x7932, 0x44f4, 0xaa, 0x86, 0x08, 0xae, 0x7b, 0x2f, 0x2c, 0x93}
79 DEFINE_GUID!{CLSID_D2D1SpotSpecular,
80     0xedae421e, 0x7654, 0x4a37, 0x9d, 0xb8, 0x71, 0xac, 0xc1, 0xbe, 0xb3, 0xc1}
81 DEFINE_GUID!{CLSID_D2D1TableTransfer,
82     0x5bf818c3, 0x5e43, 0x48cb, 0xb6, 0x31, 0x86, 0x83, 0x96, 0xd6, 0xa1, 0xd4}
83 DEFINE_GUID!{CLSID_D2D1Tile,
84     0xB0784138, 0x3B76, 0x4bc5, 0xB1, 0x3B, 0x0F, 0xA2, 0xAD, 0x02, 0x65, 0x9F}
85 DEFINE_GUID!{CLSID_D2D1Turbulence,
86     0xCF2BB6AE, 0x889A, 0x4ad7, 0xBA, 0x29, 0xA2, 0xFD, 0x73, 0x2C, 0x9F, 0xC9}
87 DEFINE_GUID!{CLSID_D2D1UnPremultiply,
88     0xfb9ac489, 0xad8d, 0x41ed, 0x99, 0x99, 0xbb, 0x63, 0x47, 0xd1, 0x10, 0xf7}
89 ENUM!{enum D2D1_BORDER_MODE {
90     D2D1_BORDER_MODE_SOFT = 0,
91     D2D1_BORDER_MODE_HARD = 1,
92     D2D1_BORDER_MODE_FORCE_DWORD = 0xffffffff,
93 }}
94 ENUM!{enum D2D1_CHANNEL_SELECTOR {
95     D2D1_CHANNEL_SELECTOR_R = 0,
96     D2D1_CHANNEL_SELECTOR_G = 1,
97     D2D1_CHANNEL_SELECTOR_B = 2,
98     D2D1_CHANNEL_SELECTOR_A = 3,
99     D2D1_CHANNEL_SELECTOR_FORCE_DWORD = 0xffffffff,
100 }}
101 ENUM!{enum D2D1_BITMAPSOURCE_ORIENTATION {
102     D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT = 1,
103     D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL = 2,
104     D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 = 3,
105     D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL = 4,
106     D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL = 5,
107     D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 = 6,
108     D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL = 7,
109     D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 = 8,
110     D2D1_BITMAPSOURCE_ORIENTATION_FORCE_DWORD = 0xffffffff,
111 }}
112 ENUM!{enum D2D1_GAUSSIANBLUR_PROP {
113     D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION = 0,
114     D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION = 1,
115     D2D1_GAUSSIANBLUR_PROP_BORDER_MODE = 2,
116     D2D1_GAUSSIANBLUR_PROP_FORCE_DWORD = 0xffffffff,
117 }}
118 ENUM!{enum D2D1_GAUSSIANBLUR_OPTIMIZATION {
119     D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED = 0,
120     D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED = 1,
121     D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY = 2,
122     D2D1_GAUSSIANBLUR_OPTIMIZATION_FORCE_DWORD = 0xffffffff,
123 }}
124 ENUM!{enum D2D1_DIRECTIONALBLUR_PROP {
125     D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION = 0,
126     D2D1_DIRECTIONALBLUR_PROP_ANGLE = 1,
127     D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION = 2,
128     D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE = 3,
129     D2D1_DIRECTIONALBLUR_PROP_FORCE_DWORD = 0xffffffff,
130 }}
131 ENUM!{enum D2D1_DIRECTIONALBLUR_OPTIMIZATION {
132     D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED = 0,
133     D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED = 1,
134     D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY = 2,
135     D2D1_DIRECTIONALBLUR_OPTIMIZATION_FORCE_DWORD = 0xffffffff,
136 }}
137 ENUM!{enum D2D1_SHADOW_PROP {
138     D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION = 0,
139     D2D1_SHADOW_PROP_COLOR = 1,
140     D2D1_SHADOW_PROP_OPTIMIZATION = 2,
141     D2D1_SHADOW_PROP_FORCE_DWORD = 0xffffffff,
142 }}
143 ENUM!{enum D2D1_SHADOW_OPTIMIZATION {
144     D2D1_SHADOW_OPTIMIZATION_SPEED = 0,
145     D2D1_SHADOW_OPTIMIZATION_BALANCED = 1,
146     D2D1_SHADOW_OPTIMIZATION_QUALITY = 2,
147     D2D1_SHADOW_OPTIMIZATION_FORCE_DWORD = 0xffffffff,
148 }}
149 ENUM!{enum D2D1_BLEND_PROP {
150     D2D1_BLEND_PROP_MODE = 0,
151     D2D1_BLEND_PROP_FORCE_DWORD = 0xffffffff,
152 }}
153 ENUM!{enum D2D1_BLEND_MODE {
154     D2D1_BLEND_MODE_MULTIPLY = 0,
155     D2D1_BLEND_MODE_SCREEN = 1,
156     D2D1_BLEND_MODE_DARKEN = 2,
157     D2D1_BLEND_MODE_LIGHTEN = 3,
158     D2D1_BLEND_MODE_DISSOLVE = 4,
159     D2D1_BLEND_MODE_COLOR_BURN = 5,
160     D2D1_BLEND_MODE_LINEAR_BURN = 6,
161     D2D1_BLEND_MODE_DARKER_COLOR = 7,
162     D2D1_BLEND_MODE_LIGHTER_COLOR = 8,
163     D2D1_BLEND_MODE_COLOR_DODGE = 9,
164     D2D1_BLEND_MODE_LINEAR_DODGE = 10,
165     D2D1_BLEND_MODE_OVERLAY = 11,
166     D2D1_BLEND_MODE_SOFT_LIGHT = 12,
167     D2D1_BLEND_MODE_HARD_LIGHT = 13,
168     D2D1_BLEND_MODE_VIVID_LIGHT = 14,
169     D2D1_BLEND_MODE_LINEAR_LIGHT = 15,
170     D2D1_BLEND_MODE_PIN_LIGHT = 16,
171     D2D1_BLEND_MODE_HARD_MIX = 17,
172     D2D1_BLEND_MODE_DIFFERENCE = 18,
173     D2D1_BLEND_MODE_EXCLUSION = 19,
174     D2D1_BLEND_MODE_HUE = 20,
175     D2D1_BLEND_MODE_SATURATION = 21,
176     D2D1_BLEND_MODE_COLOR = 22,
177     D2D1_BLEND_MODE_LUMINOSITY = 23,
178     D2D1_BLEND_MODE_SUBTRACT = 24,
179     D2D1_BLEND_MODE_DIVISION = 25,
180     D2D1_BLEND_MODE_FORCE_DWORD = 0xffffffff,
181 }}
182 ENUM!{enum D2D1_SATURATION_PROP {
183     D2D1_SATURATION_PROP_SATURATION = 0,
184     D2D1_SATURATION_PROP_FORCE_DWORD = 0xffffffff,
185 }}
186 ENUM!{enum D2D1_HUEROTATION_PROP {
187     D2D1_HUEROTATION_PROP_ANGLE = 0,
188     D2D1_HUEROTATION_PROP_FORCE_DWORD = 0xffffffff,
189 }}
190 ENUM!{enum D2D1_COLORMATRIX_PROP {
191     D2D1_COLORMATRIX_PROP_COLOR_MATRIX = 0,
192     D2D1_COLORMATRIX_PROP_ALPHA_MODE = 1,
193     D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT = 2,
194     D2D1_COLORMATRIX_PROP_FORCE_DWORD = 0xffffffff,
195 }}
196 ENUM!{enum D2D1_COLORMATRIX_ALPHA_MODE {
197     D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED = 1,
198     D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT = 2,
199     D2D1_COLORMATRIX_ALPHA_MODE_FORCE_DWORD = 0xffffffff,
200 }}
201 ENUM!{enum D2D1_BITMAPSOURCE_PROP {
202     D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE = 0,
203     D2D1_BITMAPSOURCE_PROP_SCALE = 1,
204     D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE = 2,
205     D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION = 3,
206     D2D1_BITMAPSOURCE_PROP_ALPHA_MODE = 4,
207     D2D1_BITMAPSOURCE_PROP_ORIENTATION = 5,
208     D2D1_BITMAPSOURCE_PROP_FORCE_DWORD = 0xffffffff,
209 }}
210 ENUM!{enum D2D1_BITMAPSOURCE_INTERPOLATION_MODE {
211     D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
212     D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR = 1,
213     D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC = 2,
214     D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT = 6,
215     D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR = 7,
216     D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
217 }}
218 ENUM!{enum D2D1_BITMAPSOURCE_ALPHA_MODE {
219     D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED = 1,
220     D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT = 2,
221     D2D1_BITMAPSOURCE_ALPHA_MODE_FORCE_DWORD = 0xffffffff,
222 }}
223 ENUM!{enum D2D1_COMPOSITE_PROP {
224     D2D1_COMPOSITE_PROP_MODE = 0,
225     D2D1_COMPOSITE_PROP_FORCE_DWORD = 0xffffffff,
226 }}
227 ENUM!{enum D2D1_3DTRANSFORM_PROP {
228     D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE = 0,
229     D2D1_3DTRANSFORM_PROP_BORDER_MODE = 1,
230     D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX = 2,
231     D2D1_3DTRANSFORM_PROP_FORCE_DWORD = 0xffffffff,
232 }}
233 ENUM!{enum D2D1_3DTRANSFORM_INTERPOLATION_MODE {
234     D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
235     D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR = 1,
236     D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC = 2,
237     D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
238     D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 4,
239     D2D1_3DTRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
240 }}
241 ENUM!{enum D2D1_3DPERSPECTIVETRANSFORM_PROP {
242     D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE = 0,
243     D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE = 1,
244     D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH = 2,
245     D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN = 3,
246     D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET = 4,
247     D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET = 5,
248     D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN = 6,
249     D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION = 7,
250     D2D1_3DPERSPECTIVETRANSFORM_PROP_FORCE_DWORD = 0xffffffff,
251 }}
252 ENUM!{enum D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE {
253     D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
254     D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR = 1,
255     D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC = 2,
256     D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
257     D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 4,
258     D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
259 }}
260 ENUM!{enum D2D1_2DAFFINETRANSFORM_PROP {
261     D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE = 0,
262     D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE = 1,
263     D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX = 2,
264     D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS = 3,
265     D2D1_2DAFFINETRANSFORM_PROP_FORCE_DWORD = 0xffffffff,
266 }}
267 ENUM!{enum D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {
268     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
269     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR = 1,
270     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC = 2,
271     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
272     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 4,
273     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5,
274     D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
275 }}
276 ENUM!{enum D2D1_DPICOMPENSATION_PROP {
277     D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE = 0,
278     D2D1_DPICOMPENSATION_PROP_BORDER_MODE = 1,
279     D2D1_DPICOMPENSATION_PROP_INPUT_DPI = 2,
280     D2D1_DPICOMPENSATION_PROP_FORCE_DWORD = 0xffffffff,
281 }}
282 ENUM!{enum D2D1_DPICOMPENSATION_INTERPOLATION_MODE {
283     D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
284     D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR = 1,
285     D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC = 2,
286     D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
287     D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC = 4,
288     D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5,
289     D2D1_DPICOMPENSATION_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
290 }}
291 ENUM!{enum D2D1_SCALE_PROP {
292     D2D1_SCALE_PROP_SCALE = 0,
293     D2D1_SCALE_PROP_CENTER_POINT = 1,
294     D2D1_SCALE_PROP_INTERPOLATION_MODE = 2,
295     D2D1_SCALE_PROP_BORDER_MODE = 3,
296     D2D1_SCALE_PROP_SHARPNESS = 4,
297     D2D1_SCALE_PROP_FORCE_DWORD = 0xffffffff,
298 }}
299 ENUM!{enum D2D1_SCALE_INTERPOLATION_MODE {
300     D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
301     D2D1_SCALE_INTERPOLATION_MODE_LINEAR = 1,
302     D2D1_SCALE_INTERPOLATION_MODE_CUBIC = 2,
303     D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
304     D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC = 4,
305     D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5,
306     D2D1_SCALE_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
307 }}
308 ENUM!{enum D2D1_TURBULENCE_PROP {
309     D2D1_TURBULENCE_PROP_OFFSET = 0,
310     D2D1_TURBULENCE_PROP_SIZE = 1,
311     D2D1_TURBULENCE_PROP_BASE_FREQUENCY = 2,
312     D2D1_TURBULENCE_PROP_NUM_OCTAVES = 3,
313     D2D1_TURBULENCE_PROP_SEED = 4,
314     D2D1_TURBULENCE_PROP_NOISE = 5,
315     D2D1_TURBULENCE_PROP_STITCHABLE = 6,
316     D2D1_TURBULENCE_PROP_FORCE_DWORD = 0xffffffff,
317 }}
318 ENUM!{enum D2D1_TURBULENCE_NOISE {
319     D2D1_TURBULENCE_NOISE_FRACTAL_SUM = 0,
320     D2D1_TURBULENCE_NOISE_TURBULENCE = 1,
321     D2D1_TURBULENCE_NOISE_FORCE_DWORD = 0xffffffff,
322 }}
323 ENUM!{enum D2D1_DISPLACEMENTMAP_PROP {
324     D2D1_DISPLACEMENTMAP_PROP_SCALE = 0,
325     D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT = 1,
326     D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT = 2,
327     D2D1_DISPLACEMENTMAP_PROP_FORCE_DWORD = 0xffffffff,
328 }}
329 ENUM!{enum D2D1_COLORMANAGEMENT_PROP {
330     D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT = 0,
331     D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT = 1,
332     D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT = 2,
333     D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT = 3,
334     D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE = 4,
335     D2D1_COLORMANAGEMENT_PROP_QUALITY = 5,
336     D2D1_COLORMANAGEMENT_PROP_FORCE_DWORD = 0xffffffff,
337 }}
338 ENUM!{enum D2D1_COLORMANAGEMENT_ALPHA_MODE {
339     D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED = 1,
340     D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT = 2,
341     D2D1_COLORMANAGEMENT_ALPHA_MODE_FORCE_DWORD = 0xffffffff,
342 }}
343 ENUM!{enum D2D1_COLORMANAGEMENT_QUALITY {
344     D2D1_COLORMANAGEMENT_QUALITY_PROOF = 0,
345     D2D1_COLORMANAGEMENT_QUALITY_NORMAL = 1,
346     D2D1_COLORMANAGEMENT_QUALITY_BEST = 2,
347     D2D1_COLORMANAGEMENT_QUALITY_FORCE_DWORD = 0xffffffff,
348 }}
349 ENUM!{enum D2D1_COLORMANAGEMENT_RENDERING_INTENT {
350     D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL = 0,
351     D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC = 1,
352     D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION = 2,
353     D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 3,
354     D2D1_COLORMANAGEMENT_RENDERING_INTENT_FORCE_DWORD = 0xffffffff,
355 }}
356 ENUM!{enum D2D1_HISTOGRAM_PROP {
357     D2D1_HISTOGRAM_PROP_NUM_BINS = 0,
358     D2D1_HISTOGRAM_PROP_CHANNEL_SELECT = 1,
359     D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT = 2,
360     D2D1_HISTOGRAM_PROP_FORCE_DWORD = 0xffffffff,
361 }}
362 ENUM!{enum D2D1_POINTSPECULAR_PROP {
363     D2D1_POINTSPECULAR_PROP_LIGHT_POSITION = 0,
364     D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT = 1,
365     D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT = 2,
366     D2D1_POINTSPECULAR_PROP_SURFACE_SCALE = 3,
367     D2D1_POINTSPECULAR_PROP_COLOR = 4,
368     D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 5,
369     D2D1_POINTSPECULAR_PROP_SCALE_MODE = 6,
370     D2D1_POINTSPECULAR_PROP_FORCE_DWORD = 0xffffffff,
371 }}
372 ENUM!{enum D2D1_POINTSPECULAR_SCALE_MODE {
373     D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR = 0,
374     D2D1_POINTSPECULAR_SCALE_MODE_LINEAR = 1,
375     D2D1_POINTSPECULAR_SCALE_MODE_CUBIC = 2,
376     D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
377     D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC = 4,
378     D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC = 5,
379     D2D1_POINTSPECULAR_SCALE_MODE_FORCE_DWORD = 0xffffffff,
380 }}
381 ENUM!{enum D2D1_SPOTSPECULAR_PROP {
382     D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION = 0,
383     D2D1_SPOTSPECULAR_PROP_POINTS_AT = 1,
384     D2D1_SPOTSPECULAR_PROP_FOCUS = 2,
385     D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE = 3,
386     D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT = 4,
387     D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT = 5,
388     D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE = 6,
389     D2D1_SPOTSPECULAR_PROP_COLOR = 7,
390     D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 8,
391     D2D1_SPOTSPECULAR_PROP_SCALE_MODE = 9,
392     D2D1_SPOTSPECULAR_PROP_FORCE_DWORD = 0xffffffff,
393 }}
394 ENUM!{enum D2D1_SPOTSPECULAR_SCALE_MODE {
395     D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR = 0,
396     D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR = 1,
397     D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC = 2,
398     D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
399     D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC = 4,
400     D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC = 5,
401     D2D1_SPOTSPECULAR_SCALE_MODE_FORCE_DWORD = 0xffffffff,
402 }}
403 ENUM!{enum D2D1_DISTANTSPECULAR_PROP {
404     D2D1_DISTANTSPECULAR_PROP_AZIMUTH = 0,
405     D2D1_DISTANTSPECULAR_PROP_ELEVATION = 1,
406     D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT = 2,
407     D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT = 3,
408     D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE = 4,
409     D2D1_DISTANTSPECULAR_PROP_COLOR = 5,
410     D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 6,
411     D2D1_DISTANTSPECULAR_PROP_SCALE_MODE = 7,
412     D2D1_DISTANTSPECULAR_PROP_FORCE_DWORD = 0xffffffff,
413 }}
414 ENUM!{enum D2D1_DISTANTSPECULAR_SCALE_MODE {
415     D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR = 0,
416     D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR = 1,
417     D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC = 2,
418     D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
419     D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC = 4,
420     D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC = 5,
421     D2D1_DISTANTSPECULAR_SCALE_MODE_FORCE_DWORD = 0xffffffff,
422 }}
423 ENUM!{enum D2D1_POINTDIFFUSE_PROP {
424     D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION = 0,
425     D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT = 1,
426     D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE = 2,
427     D2D1_POINTDIFFUSE_PROP_COLOR = 3,
428     D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 4,
429     D2D1_POINTDIFFUSE_PROP_SCALE_MODE = 5,
430     D2D1_POINTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff,
431 }}
432 ENUM!{enum D2D1_POINTDIFFUSE_SCALE_MODE {
433     D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR = 0,
434     D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR = 1,
435     D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC = 2,
436     D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
437     D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC = 4,
438     D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC = 5,
439     D2D1_POINTDIFFUSE_SCALE_MODE_FORCE_DWORD = 0xffffffff,
440 }}
441 ENUM!{enum D2D1_SPOTDIFFUSE_PROP {
442     D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION = 0,
443     D2D1_SPOTDIFFUSE_PROP_POINTS_AT = 1,
444     D2D1_SPOTDIFFUSE_PROP_FOCUS = 2,
445     D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE = 3,
446     D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT = 4,
447     D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE = 5,
448     D2D1_SPOTDIFFUSE_PROP_COLOR = 6,
449     D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 7,
450     D2D1_SPOTDIFFUSE_PROP_SCALE_MODE = 8,
451     D2D1_SPOTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff,
452 }}
453 ENUM!{enum D2D1_SPOTDIFFUSE_SCALE_MODE {
454     D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR = 0,
455     D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR = 1,
456     D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC = 2,
457     D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
458     D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC = 4,
459     D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC = 5,
460     D2D1_SPOTDIFFUSE_SCALE_MODE_FORCE_DWORD = 0xffffffff,
461 }}
462 ENUM!{enum D2D1_DISTANTDIFFUSE_PROP {
463     D2D1_DISTANTDIFFUSE_PROP_AZIMUTH = 0,
464     D2D1_DISTANTDIFFUSE_PROP_ELEVATION = 1,
465     D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT = 2,
466     D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE = 3,
467     D2D1_DISTANTDIFFUSE_PROP_COLOR = 4,
468     D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 5,
469     D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE = 6,
470     D2D1_DISTANTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff,
471 }}
472 ENUM!{enum D2D1_DISTANTDIFFUSE_SCALE_MODE {
473     D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR = 0,
474     D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR = 1,
475     D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC = 2,
476     D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
477     D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC = 4,
478     D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC = 5,
479     D2D1_DISTANTDIFFUSE_SCALE_MODE_FORCE_DWORD = 0xffffffff,
480 }}
481 ENUM!{enum D2D1_FLOOD_PROP {
482     D2D1_FLOOD_PROP_COLOR = 0,
483     D2D1_FLOOD_PROP_FORCE_DWORD = 0xffffffff,
484 }}
485 ENUM!{enum D2D1_LINEARTRANSFER_PROP {
486     D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT = 0,
487     D2D1_LINEARTRANSFER_PROP_RED_SLOPE = 1,
488     D2D1_LINEARTRANSFER_PROP_RED_DISABLE = 2,
489     D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT = 3,
490     D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE = 4,
491     D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE = 5,
492     D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT = 6,
493     D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE = 7,
494     D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE = 8,
495     D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT = 9,
496     D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE = 10,
497     D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE = 11,
498     D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT = 12,
499     D2D1_LINEARTRANSFER_PROP_FORCE_DWORD = 0xffffffff,
500 }}
501 ENUM!{enum D2D1_GAMMATRANSFER_PROP {
502     D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE = 0,
503     D2D1_GAMMATRANSFER_PROP_RED_EXPONENT = 1,
504     D2D1_GAMMATRANSFER_PROP_RED_OFFSET = 2,
505     D2D1_GAMMATRANSFER_PROP_RED_DISABLE = 3,
506     D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE = 4,
507     D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT = 5,
508     D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET = 6,
509     D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE = 7,
510     D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE = 8,
511     D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT = 9,
512     D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET = 10,
513     D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE = 11,
514     D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE = 12,
515     D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT = 13,
516     D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET = 14,
517     D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE = 15,
518     D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT = 16,
519     D2D1_GAMMATRANSFER_PROP_FORCE_DWORD = 0xffffffff,
520 }}
521 ENUM!{enum D2D1_TABLETRANSFER_PROP {
522     D2D1_TABLETRANSFER_PROP_RED_TABLE = 0,
523     D2D1_TABLETRANSFER_PROP_RED_DISABLE = 1,
524     D2D1_TABLETRANSFER_PROP_GREEN_TABLE = 2,
525     D2D1_TABLETRANSFER_PROP_GREEN_DISABLE = 3,
526     D2D1_TABLETRANSFER_PROP_BLUE_TABLE = 4,
527     D2D1_TABLETRANSFER_PROP_BLUE_DISABLE = 5,
528     D2D1_TABLETRANSFER_PROP_ALPHA_TABLE = 6,
529     D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE = 7,
530     D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT = 8,
531     D2D1_TABLETRANSFER_PROP_FORCE_DWORD = 0xffffffff,
532 }}
533 ENUM!{enum D2D1_DISCRETETRANSFER_PROP {
534     D2D1_DISCRETETRANSFER_PROP_RED_TABLE = 0,
535     D2D1_DISCRETETRANSFER_PROP_RED_DISABLE = 1,
536     D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE = 2,
537     D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE = 3,
538     D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE = 4,
539     D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE = 5,
540     D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE = 6,
541     D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE = 7,
542     D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT = 8,
543     D2D1_DISCRETETRANSFER_PROP_FORCE_DWORD = 0xffffffff,
544 }}
545 ENUM!{enum D2D1_CONVOLVEMATRIX_PROP {
546     D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH = 0,
547     D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE = 1,
548     D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X = 2,
549     D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y = 3,
550     D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX = 4,
551     D2D1_CONVOLVEMATRIX_PROP_DIVISOR = 5,
552     D2D1_CONVOLVEMATRIX_PROP_BIAS = 6,
553     D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET = 7,
554     D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA = 8,
555     D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE = 9,
556     D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT = 10,
557     D2D1_CONVOLVEMATRIX_PROP_FORCE_DWORD = 0xffffffff,
558 }}
559 ENUM!{enum D2D1_CONVOLVEMATRIX_SCALE_MODE {
560     D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR = 0,
561     D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR = 1,
562     D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC = 2,
563     D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
564     D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC = 4,
565     D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC = 5,
566     D2D1_CONVOLVEMATRIX_SCALE_MODE_FORCE_DWORD = 0xffffffff,
567 }}
568 ENUM!{enum D2D1_BRIGHTNESS_PROP {
569     D2D1_BRIGHTNESS_PROP_WHITE_POINT = 0,
570     D2D1_BRIGHTNESS_PROP_BLACK_POINT = 1,
571     D2D1_BRIGHTNESS_PROP_FORCE_DWORD = 0xffffffff,
572 }}
573 ENUM!{enum D2D1_ARITHMETICCOMPOSITE_PROP {
574     D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS = 0,
575     D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT = 1,
576     D2D1_ARITHMETICCOMPOSITE_PROP_FORCE_DWORD = 0xffffffff,
577 }}
578 ENUM!{enum D2D1_CROP_PROP {
579     D2D1_CROP_PROP_RECT = 0,
580     D2D1_CROP_PROP_BORDER_MODE = 1,
581     D2D1_CROP_PROP_FORCE_DWORD = 0xffffffff,
582 }}
583 ENUM!{enum D2D1_BORDER_PROP {
584     D2D1_BORDER_PROP_EDGE_MODE_X = 0,
585     D2D1_BORDER_PROP_EDGE_MODE_Y = 1,
586     D2D1_BORDER_PROP_FORCE_DWORD = 0xffffffff,
587 }}
588 ENUM!{enum D2D1_BORDER_EDGE_MODE {
589     D2D1_BORDER_EDGE_MODE_CLAMP = 0,
590     D2D1_BORDER_EDGE_MODE_WRAP = 1,
591     D2D1_BORDER_EDGE_MODE_MIRROR = 2,
592     D2D1_BORDER_EDGE_MODE_FORCE_DWORD = 0xffffffff,
593 }}
594 ENUM!{enum D2D1_MORPHOLOGY_PROP {
595     D2D1_MORPHOLOGY_PROP_MODE = 0,
596     D2D1_MORPHOLOGY_PROP_WIDTH = 1,
597     D2D1_MORPHOLOGY_PROP_HEIGHT = 2,
598     D2D1_MORPHOLOGY_PROP_FORCE_DWORD = 0xffffffff,
599 }}
600 ENUM!{enum D2D1_MORPHOLOGY_MODE {
601     D2D1_MORPHOLOGY_MODE_ERODE = 0,
602     D2D1_MORPHOLOGY_MODE_DILATE = 1,
603     D2D1_MORPHOLOGY_MODE_FORCE_DWORD = 0xffffffff,
604 }}
605 ENUM!{enum D2D1_TILE_PROP {
606     D2D1_TILE_PROP_RECT = 0,
607     D2D1_TILE_PROP_FORCE_DWORD = 0xffffffff,
608 }}
609 ENUM!{enum D2D1_ATLAS_PROP {
610     D2D1_ATLAS_PROP_INPUT_RECT = 0,
611     D2D1_ATLAS_PROP_INPUT_PADDING_RECT = 1,
612     D2D1_ATLAS_PROP_FORCE_DWORD = 0xffffffff,
613 }}
614 ENUM!{enum D2D1_OPACITYMETADATA_PROP {
615     D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT = 0,
616     D2D1_OPACITYMETADATA_PROP_FORCE_DWORD = 0xffffffff,
617 }}
618