source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dcommon.idl@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 3.9 KB
Line 
1/*
2 * Copyright 2012 Nikolay Sivov for CodeWeavers
3 *
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.
8 *
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.
13 *
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
17 */
18
19import "dxgiformat.idl";
20
21cpp_quote("#if 0")
22typedef struct
23{
24 long x, y;
25} POINT;
26
27typedef struct
28{
29 long left, top, right, bottom;
30} RECT;
31
32typedef unsigned int UINT32;
33cpp_quote("#endif")
34
35typedef enum DWRITE_MEASURING_MODE
36{
37 DWRITE_MEASURING_MODE_NATURAL,
38 DWRITE_MEASURING_MODE_GDI_CLASSIC,
39 DWRITE_MEASURING_MODE_GDI_NATURAL
40} DWRITE_MEASURING_MODE;
41
42typedef enum DWRITE_GLYPH_IMAGE_FORMATS
43{
44 DWRITE_GLYPH_IMAGE_FORMATS_NONE = 0,
45 DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE = 1 << 0,
46 DWRITE_GLYPH_IMAGE_FORMATS_CFF = 1 << 1,
47 DWRITE_GLYPH_IMAGE_FORMATS_COLR = 1 << 2,
48 DWRITE_GLYPH_IMAGE_FORMATS_SVG = 1 << 3,
49 DWRITE_GLYPH_IMAGE_FORMATS_PNG = 1 << 4,
50 DWRITE_GLYPH_IMAGE_FORMATS_JPEG = 1 << 5,
51 DWRITE_GLYPH_IMAGE_FORMATS_TIFF = 1 << 6,
52 DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 = 1 << 7
53} DWRITE_GLYPH_IMAGE_FORMATS;
54
55typedef enum D2D1_ALPHA_MODE
56{
57 D2D1_ALPHA_MODE_UNKNOWN = 0,
58 D2D1_ALPHA_MODE_PREMULTIPLIED = 1,
59 D2D1_ALPHA_MODE_STRAIGHT = 2,
60 D2D1_ALPHA_MODE_IGNORE = 3,
61 D2D1_ALPHA_MODE_FORCE_DWORD = 0xffffffff
62} D2D1_ALPHA_MODE;
63
64typedef struct D2D1_PIXEL_FORMAT
65{
66 DXGI_FORMAT format;
67 D2D1_ALPHA_MODE alphaMode;
68} D2D1_PIXEL_FORMAT;
69
70typedef struct D2D_POINT_2F
71{
72 float x;
73 float y;
74} D2D_POINT_2F, D2D1_POINT_2F;
75
76typedef POINT D2D_POINT_2L, D2D1_POINT_2L;
77
78typedef struct D2D_VECTOR_2F
79{
80 float x;
81 float y;
82} D2D_VECTOR_2F;
83
84typedef struct D2D_VECTOR_3F
85{
86 float x;
87 float y;
88 float z;
89} D2D_VECTOR_3F;
90
91typedef struct D2D_VECTOR_4F
92{
93 float x;
94 float y;
95 float z;
96 float w;
97} D2D_VECTOR_4F;
98
99typedef RECT D2D_RECT_L, D2D1_RECT_L;
100
101typedef struct D2D_SIZE_U
102{
103 UINT32 width;
104 UINT32 height;
105} D2D_SIZE_U, D2D1_SIZE_U;
106
107typedef struct D2D_MATRIX_3X2_F
108{
109 union
110 {
111 struct
112 {
113 float m11;
114 float m12;
115 float m21;
116 float m22;
117 float dx;
118 float dy;
119 };
120
121 struct
122 {
123 float _11, _12;
124 float _21, _22;
125 float _31, _32;
126 };
127
128 float m[3][2];
129 };
130} D2D_MATRIX_3X2_F;
131
132typedef struct D2D_MATRIX_4X3_F
133{
134 union
135 {
136 struct
137 {
138 float _11, _12, _13;
139 float _21, _22, _23;
140 float _31, _32, _33;
141 float _41, _42, _43;
142 };
143
144 float m[4][3];
145 };
146} D2D_MATRIX_4X3_F;
147
148typedef struct D2D_MATRIX_4X4_F
149{
150 union
151 {
152 struct
153 {
154 float _11, _12, _13, _14;
155 float _21, _22, _23, _24;
156 float _31, _32, _33, _34;
157 float _41, _42, _43, _44;
158 };
159
160 float m[4][4];
161 };
162} D2D_MATRIX_4X4_F;
163
164typedef struct D2D_MATRIX_5X4_F
165{
166 union
167 {
168 struct
169 {
170 float _11, _12, _13, _14;
171 float _21, _22, _23, _24;
172 float _31, _32, _33, _34;
173 float _41, _42, _43, _44;
174 float _51, _52, _53, _54;
175 };
176
177 float m[5][4];
178 };
179} D2D_MATRIX_5X4_F;
Note: See TracBrowser for help on using the repository browser.