source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dwrite_2.idl@ 1175

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

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

File size: 11.5 KB
RevLine 
[1166]1/*
2 * Copyright 2014 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 "dwrite_1.idl";
20
21typedef enum DWRITE_OPTICAL_ALIGNMENT
22{
23 DWRITE_OPTICAL_ALIGNMENT_NONE,
24 DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS
25} DWRITE_OPTICAL_ALIGNMENT;
26
27typedef enum DWRITE_GRID_FIT_MODE
28{
29 DWRITE_GRID_FIT_MODE_DEFAULT,
30 DWRITE_GRID_FIT_MODE_DISABLED,
31 DWRITE_GRID_FIT_MODE_ENABLED
32} DWRITE_GRID_FIT_MODE;
33
34typedef struct DWRITE_TEXT_METRICS1
35{
36 /* DWRITE_TEXT_METRICS fields */
37 FLOAT left;
38 FLOAT top;
39 FLOAT width;
40 FLOAT widthIncludingTrailingWhitespace;
41 FLOAT height;
42 FLOAT layoutWidth;
43 FLOAT layoutHeight;
44 UINT32 maxBidiReorderingDepth;
45 UINT32 lineCount;
46 /* DWRITE_TEXT_METRICS1 fields */
47 FLOAT heightIncludingTrailingWhitespace;
48} DWRITE_TEXT_METRICS1;
49
50cpp_quote("#ifndef D3DCOLORVALUE_DEFINED")
51typedef struct _D3DCOLORVALUE
52{
53 union {
54 FLOAT r;
55 FLOAT dvR;
56 };
57 union {
58 FLOAT g;
59 FLOAT dvG;
60 };
61 union {
62 FLOAT b;
63 FLOAT dvB;
64 };
65 union {
66 FLOAT a;
67 FLOAT dvA;
68 };
69} D3DCOLORVALUE;
70cpp_quote("#define D3DCOLORVALUE_DEFINED")
71cpp_quote("#endif")
72
73typedef D3DCOLORVALUE DWRITE_COLOR_F;
74
75typedef struct DWRITE_COLOR_GLYPH_RUN
76{
77 DWRITE_GLYPH_RUN glyphRun;
78 DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription;
79 FLOAT baselineOriginX;
80 FLOAT baselineOriginY;
81 DWRITE_COLOR_F runColor;
82 UINT16 paletteIndex;
83} DWRITE_COLOR_GLYPH_RUN;
84
85[
86 local,
87 object,
88 uuid(d3e0e934-22a0-427e-aae4-7d9574b59db1)
89]
90interface IDWriteTextRenderer1 : IDWriteTextRenderer
91{
92 HRESULT DrawGlyphRun(void *context,
93 FLOAT originX,
94 FLOAT originY,
95 DWRITE_GLYPH_ORIENTATION_ANGLE angle,
96 DWRITE_MEASURING_MODE mode,
97 DWRITE_GLYPH_RUN const *run,
98 DWRITE_GLYPH_RUN_DESCRIPTION const *rundescr,
99 IUnknown *effect);
100
101 HRESULT DrawUnderline(void *context,
102 FLOAT originX,
103 FLOAT originY,
104 DWRITE_GLYPH_ORIENTATION_ANGLE angle,
105 DWRITE_UNDERLINE const *underline,
106 IUnknown *effect);
107
108 HRESULT DrawStrikethrough(void *context,
109 FLOAT originX,
110 FLOAT originY,
111 DWRITE_GLYPH_ORIENTATION_ANGLE angle,
112 DWRITE_STRIKETHROUGH const *strikethrough,
113 IUnknown *effect
114 );
115
116 HRESULT DrawInlineObject(void *context,
117 FLOAT originX,
118 FLOAT originY,
119 DWRITE_GLYPH_ORIENTATION_ANGLE angle,
120 IDWriteInlineObject *inlineObject,
121 BOOL is_sideways,
122 BOOL is_rtl,
123 IUnknown *effect
124 );
125}
126
127[
128 local,
129 object,
130 uuid(efa008f9-f7a1-48bf-b05c-f224713cc0ff)
131]
132interface IDWriteFontFallback : IUnknown
133{
134 HRESULT MapCharacters(IDWriteTextAnalysisSource *source,
135 UINT32 position,
136 UINT32 length,
137 IDWriteFontCollection *basecollection,
138 const WCHAR *baseFamilyName,
139 DWRITE_FONT_WEIGHT baseWeight,
140 DWRITE_FONT_STYLE baseStyle,
141 DWRITE_FONT_STRETCH baseStretch,
142 UINT32 *mappedLength,
143 IDWriteFont **mappedFont,
144 FLOAT *scale
145 );
146}
147
148[
149 local,
150 object,
151 uuid(5f174b49-0d8b-4cfb-8bca-f1cce9d06c67)
152]
153interface IDWriteTextFormat1 : IDWriteTextFormat
154{
155 HRESULT SetVerticalGlyphOrientation(DWRITE_VERTICAL_GLYPH_ORIENTATION orientation);
156 DWRITE_VERTICAL_GLYPH_ORIENTATION GetVerticalGlyphOrientation();
157 HRESULT SetLastLineWrapping(BOOL lastline_wrapping_enabled);
158 BOOL GetLastLineWrapping();
159 HRESULT SetOpticalAlignment(DWRITE_OPTICAL_ALIGNMENT alignment);
160 DWRITE_OPTICAL_ALIGNMENT GetOpticalAlignment();
161 HRESULT SetFontFallback(IDWriteFontFallback *fallback);
162 HRESULT GetFontFallback(IDWriteFontFallback **fallback);
163}
164
165[
166 local,
167 object,
168 uuid(1093c18f-8d5e-43f0-b064-0917311b525e)
169]
170interface IDWriteTextLayout2 : IDWriteTextLayout1
171{
172 HRESULT GetMetrics(DWRITE_TEXT_METRICS1 *metrics);
173 HRESULT SetVerticalGlyphOrientation(DWRITE_VERTICAL_GLYPH_ORIENTATION orientation);
174 DWRITE_VERTICAL_GLYPH_ORIENTATION GetVerticalGlyphOrientation();
175 HRESULT SetLastLineWrapping(BOOL lastline_wrapping_enabled);
176 BOOL GetLastLineWrapping();
177 HRESULT SetOpticalAlignment(DWRITE_OPTICAL_ALIGNMENT alignment);
178 DWRITE_OPTICAL_ALIGNMENT GetOpticalAlignment();
179 HRESULT SetFontFallback(IDWriteFontFallback *fallback);
180 HRESULT GetFontFallback(IDWriteFontFallback **fallback);
181}
182
183[
184 local,
185 object,
186 uuid(553a9ff3-5693-4df7-b52b-74806f7f2eb9)
187]
188interface IDWriteTextAnalyzer2 : IDWriteTextAnalyzer1
189{
190 HRESULT GetGlyphOrientationTransform(DWRITE_GLYPH_ORIENTATION_ANGLE angle,
191 BOOL is_sideways,
192 FLOAT originX,
193 FLOAT originY,
194 DWRITE_MATRIX *transform
195 );
196 HRESULT GetTypographicFeatures(IDWriteFontFace *fontface,
197 DWRITE_SCRIPT_ANALYSIS analysis,
198 const WCHAR *localeName,
199 UINT32 max_tagcount,
200 UINT32 *actual_tagcount,
201 DWRITE_FONT_FEATURE_TAG *tags
202 );
203
204 HRESULT CheckTypographicFeature(IDWriteFontFace *fontface,
205 DWRITE_SCRIPT_ANALYSIS analysis,
206 const WCHAR *localeName,
207 DWRITE_FONT_FEATURE_TAG feature,
208 UINT32 glyph_count,
209 const UINT16 *indices,
210 UINT8 *feature_applies
211 );
212}
213
214[
215 local,
216 object,
217 uuid(fd882d06-8aba-4fb8-b849-8be8b73e14de)
218]
219interface IDWriteFontFallbackBuilder : IUnknown
220{
221 HRESULT AddMapping(const DWRITE_UNICODE_RANGE *ranges,
222 UINT32 rangesCount,
223 WCHAR const **targetFamilyNames,
224 UINT32 targetFamilyNamesCount,
225 [defaultvalue(NULL)] IDWriteFontCollection *collection,
226 [defaultvalue(NULL)] WCHAR const *localeName,
227 [defaultvalue(NULL)] WCHAR const *baseFamilyName,
228 [defaultvalue(1)] FLOAT scale
229 );
230 HRESULT AddMappings(IDWriteFontFallback *fallback);
231 HRESULT CreateFontFallback(IDWriteFontFallback **fallback);
232}
233
234[
235 local,
236 object,
237 uuid(29748ed6-8c9c-4a6a-be0b-d912e8538944)
238]
239interface IDWriteFont2 : IDWriteFont1
240{
241 BOOL IsColorFont();
242}
243
244[
245 local,
246 object,
247 uuid(d8b768ff-64bc-4e66-982b-ec8e87f693f7)
248]
249interface IDWriteFontFace2 : IDWriteFontFace1
250{
251 BOOL IsColorFont();
252 UINT32 GetColorPaletteCount();
253 UINT32 GetPaletteEntryCount();
254 HRESULT GetPaletteEntries(UINT32 palette_index,
255 UINT32 first_entry_index,
256 UINT32 entry_count,
257 DWRITE_COLOR_F *entries
258 );
259 HRESULT GetRecommendedRenderingMode(FLOAT fontEmSize,
260 FLOAT dpiX,
261 FLOAT dpiY,
262 DWRITE_MATRIX const *transform,
263 BOOL is_sideways,
264 DWRITE_OUTLINE_THRESHOLD threshold,
265 DWRITE_MEASURING_MODE measuringmode,
266 IDWriteRenderingParams *params,
267 DWRITE_RENDERING_MODE *renderingmode,
268 DWRITE_GRID_FIT_MODE *gridfitmode
269 );
270}
271
272[
273 local,
274 object,
275 uuid(d31fbe17-f157-41a2-8d24-cb779e0560e8)
276]
277interface IDWriteColorGlyphRunEnumerator : IUnknown
278{
279 HRESULT MoveNext(BOOL *hasRun);
280 HRESULT GetCurrentRun(DWRITE_COLOR_GLYPH_RUN const **run);
281}
282
283[
284 local,
285 object,
286 uuid(f9d711c3-9777-40ae-87e8-3e5aF9bf0948)
287]
288interface IDWriteRenderingParams2 : IDWriteRenderingParams1
289{
290 DWRITE_GRID_FIT_MODE GetGridFitMode();
291}
292
293[
294 local,
295 object,
296 uuid(0439fc60-ca44-4994-8dee-3a9af7b732ec)
297]
298interface IDWriteFactory2 : IDWriteFactory1
299{
300 HRESULT GetSystemFontFallback(IDWriteFontFallback **fallback);
301 HRESULT CreateFontFallbackBuilder(IDWriteFontFallbackBuilder **fallbackbuilder);
302 HRESULT TranslateColorGlyphRun(FLOAT originX,
303 FLOAT originY,
304 const DWRITE_GLYPH_RUN *run,
305 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr,
306 DWRITE_MEASURING_MODE mode,
307 const DWRITE_MATRIX *transform,
308 UINT32 palette_index,
309 IDWriteColorGlyphRunEnumerator **colorlayers
310 );
311
312 HRESULT CreateCustomRenderingParams(FLOAT gamma,
313 FLOAT contrast,
314 FLOAT grayscalecontrast,
315 FLOAT cleartypeLevel,
316 DWRITE_PIXEL_GEOMETRY pixelGeometry,
317 DWRITE_RENDERING_MODE renderingMode,
318 DWRITE_GRID_FIT_MODE gridFitMode,
319 IDWriteRenderingParams2 **params
320 );
321
322 HRESULT CreateGlyphRunAnalysis(const DWRITE_GLYPH_RUN *run,
323 const DWRITE_MATRIX *transform,
324 DWRITE_RENDERING_MODE renderingMode,
325 DWRITE_MEASURING_MODE measuringMode,
326 DWRITE_GRID_FIT_MODE gridFitMode,
327 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode,
328 FLOAT originX,
329 FLOAT originY,
330 IDWriteGlyphRunAnalysis **analysis
331 );
332}
Note: See TracBrowser for help on using the repository browser.