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