d3dx9: Implement clipping of glyphs in ID3DXFont_DrawText.
[wine.git] / include / dcommon.idl
blob43c82eb8a7688cd9c0b72996f1e48d0900cc0ec0
1 /*
2 * Copyright 2012 Nikolay Sivov 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 import "dxgiformat.idl";
21 cpp_quote("#if 0")
22 typedef struct
24 long x, y;
25 } POINT;
27 typedef struct
29 long left, top, right, bottom;
30 } RECT;
32 typedef unsigned int UINT32;
33 cpp_quote("#endif")
35 typedef enum DWRITE_MEASURING_MODE
37 DWRITE_MEASURING_MODE_NATURAL,
38 DWRITE_MEASURING_MODE_GDI_CLASSIC,
39 DWRITE_MEASURING_MODE_GDI_NATURAL
40 } DWRITE_MEASURING_MODE;
42 typedef enum DWRITE_GLYPH_IMAGE_FORMATS
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;
55 typedef enum D2D1_ALPHA_MODE
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;
64 typedef struct D2D1_PIXEL_FORMAT
66 DXGI_FORMAT format;
67 D2D1_ALPHA_MODE alphaMode;
68 } D2D1_PIXEL_FORMAT;
70 typedef struct D2D_POINT_2F
72 float x;
73 float y;
74 } D2D_POINT_2F, D2D1_POINT_2F;
76 typedef POINT D2D_POINT_2L, D2D1_POINT_2L;
78 typedef struct D2D_VECTOR_2F
80 float x;
81 float y;
82 } D2D_VECTOR_2F;
84 typedef struct D2D_VECTOR_3F
86 float x;
87 float y;
88 float z;
89 } D2D_VECTOR_3F;
91 typedef struct D2D_VECTOR_4F
93 float x;
94 float y;
95 float z;
96 float w;
97 } D2D_VECTOR_4F;
99 typedef RECT D2D_RECT_L, D2D1_RECT_L;
101 typedef struct D2D_SIZE_U
103 UINT32 width;
104 UINT32 height;
105 } D2D_SIZE_U, D2D1_SIZE_U;
107 typedef struct D2D_MATRIX_3X2_F
109 union
111 struct
113 float m11;
114 float m12;
115 float m21;
116 float m22;
117 float dx;
118 float dy;
121 struct
123 float _11, _12;
124 float _21, _22;
125 float _31, _32;
128 float m[3][2];
130 } D2D_MATRIX_3X2_F;
132 typedef struct D2D_MATRIX_4X3_F
134 union
136 struct
138 float _11, _12, _13;
139 float _21, _22, _23;
140 float _31, _32, _33;
141 float _41, _42, _43;
144 float m[4][3];
146 } D2D_MATRIX_4X3_F;
148 typedef struct D2D_MATRIX_4X4_F
150 union
152 struct
154 float _11, _12, _13, _14;
155 float _21, _22, _23, _24;
156 float _31, _32, _33, _34;
157 float _41, _42, _43, _44;
160 float m[4][4];
162 } D2D_MATRIX_4X4_F;
164 typedef struct D2D_MATRIX_5X4_F
166 union
168 struct
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;
177 float m[5][4];
179 } D2D_MATRIX_5X4_F;