2 * Copyright 2021 Ziqing Hui for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 cpp_quote
("DEFINE_GUID(CLSID_D2D12DAffineTransform, 0x6aa97485,0x6354,0x4cfc,0x90,0x8c,0xe4,0xa7,0x4f,0x62,0xc9,0x6c);")
20 cpp_quote
("DEFINE_GUID(CLSID_D2D13DPerspectiveTransform, 0xc2844d0b,0x3d86,0x46e7,0x85,0xba,0x52,0x6c,0x92,0x40,0xf3,0xfb);")
21 cpp_quote
("DEFINE_GUID(CLSID_D2D1Composite, 0x48fc9f51,0xf6ac,0x48f1,0x8b,0x58,0x3b,0x28,0xac,0x46,0xf7,0x6d);")
22 cpp_quote
("DEFINE_GUID(CLSID_D2D1Crop, 0xe23f7110,0x0e9a,0x4324,0xaf,0x47,0x6a,0x2c,0x0c,0x46,0xf3,0x5b);")
24 typedef enum D2D1_BORDER_MODE
26 D2D1_BORDER_MODE_SOFT
= 0x0,
27 D2D1_BORDER_MODE_HARD
= 0x1,
28 D2D1_BORDER_MODE_FORCE_DWORD
= 0xffffffff
31 typedef enum D2D1_2DAFFINETRANSFORM_PROP
33 D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE
= 0x0,
34 D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE
= 0x1,
35 D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX
= 0x2,
36 D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS
= 0x3,
37 D2D1_2DAFFINETRANSFORM_PROP_FORCE_DWORD
= 0xffffffff
38 } D2D1_2DAFFINETRANSFORM_PROP
;
40 typedef enum D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE
42 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR
= 0x0,
43 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR
= 0x1,
44 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC
= 0x2,
45 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR
= 0x3,
46 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC
= 0x4,
47 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC
= 0x5,
48 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD
= 0xffffffff
49 } D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE
;
51 typedef enum D2D1_3DPERSPECTIVETRANSFORM_PROP
53 D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE
= 0x0,
54 D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE
= 0x1,
55 D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH
= 0x2,
56 D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN
= 0x3,
57 D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET
= 0x4,
58 D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET
= 0x5,
59 D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN
= 0x6,
60 D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION
= 0x7,
61 D2D1_3DPERSPECTIVETRANSFORM_PROP_FORCE_DWORD
= 0xffffffff
62 } D2D1_3DPERSPECTIVETRANSFORM_PROP
;
64 typedef enum D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE
66 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR
= 0x0,
67 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR
= 0x1,
68 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC
= 0x2,
69 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR
= 0x3,
70 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC
= 0x4,
71 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD
= 0xffffffff
72 } D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE
;
74 typedef enum D2D1_COMPOSITE_PROP
76 D2D1_COMPOSITE_PROP_MODE
= 0x0,
77 D2D1_COMPOSITE_PROP_FORCE_DWORD
= 0xffffffff
78 } D2D1_COMPOSITE_PROP
;
80 typedef enum D2D1_CROP_PROP
82 D2D1_CROP_PROP_RECT
= 0x0,
83 D2D1_CROP_PROP_BORDER_MODE
= 0x1,
84 D2D1_CROP_PROP_FORCE_DWORD
= 0xffffffff