VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/dwrite_1.idl

Last change on this file was 53206, checked in by vboxsync, 10 years ago

Devices/vmsvga: header fixes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 27.8 KB
Line 
1/*
2 * Copyright 2013 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
19/*
20 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28import "dwrite.idl";
29
30typedef enum DWRITE_PANOSE_FAMILY
31{
32 DWRITE_PANOSE_FAMILY_ANY,
33 DWRITE_PANOSE_FAMILY_NO_FIT,
34 DWRITE_PANOSE_FAMILY_TEXT_DISPLAY,
35 DWRITE_PANOSE_FAMILY_SCRIPT,
36 DWRITE_PANOSE_FAMILY_DECORATIVE,
37 DWRITE_PANOSE_FAMILY_SYMBOL,
38 DWRITE_PANOSE_FAMILY_PICTORIAL = DWRITE_PANOSE_FAMILY_SYMBOL
39} DWRITE_PANOSE_FAMILY;
40
41typedef enum DWRITE_PANOSE_SERIF_STYLE
42{
43 DWRITE_PANOSE_SERIF_STYLE_ANY,
44 DWRITE_PANOSE_SERIF_STYLE_NO_FIT,
45 DWRITE_PANOSE_SERIF_STYLE_COVE,
46 DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE,
47 DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE,
48 DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE,
49 DWRITE_PANOSE_SERIF_STYLE_SQUARE,
50 DWRITE_PANOSE_SERIF_STYLE_THIN,
51 DWRITE_PANOSE_SERIF_STYLE_OVAL,
52 DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED,
53 DWRITE_PANOSE_SERIF_STYLE_TRIANGLE,
54 DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS,
55 DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS,
56 DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS,
57 DWRITE_PANOSE_SERIF_STYLE_FLARED,
58 DWRITE_PANOSE_SERIF_STYLE_ROUNDED,
59 DWRITE_PANOSE_SERIF_STYLE_SCRIPT,
60 DWRITE_PANOSE_SERIF_STYLE_PERP_SANS = DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS,
61 DWRITE_PANOSE_SERIF_STYLE_BONE = DWRITE_PANOSE_SERIF_STYLE_OVAL
62} DWRITE_PANOSE_SERIF_STYLE;
63
64typedef enum DWRITE_PANOSE_WEIGHT
65{
66 DWRITE_PANOSE_WEIGHT_ANY,
67 DWRITE_PANOSE_WEIGHT_NO_FIT,
68 DWRITE_PANOSE_WEIGHT_VERY_LIGHT,
69 DWRITE_PANOSE_WEIGHT_LIGHT,
70 DWRITE_PANOSE_WEIGHT_THIN,
71 DWRITE_PANOSE_WEIGHT_BOOK,
72 DWRITE_PANOSE_WEIGHT_MEDIUM,
73 DWRITE_PANOSE_WEIGHT_DEMI,
74 DWRITE_PANOSE_WEIGHT_BOLD,
75 DWRITE_PANOSE_WEIGHT_HEAVY,
76 DWRITE_PANOSE_WEIGHT_BLACK,
77 DWRITE_PANOSE_WEIGHT_EXTRA_BLACK,
78 DWRITE_PANOSE_WEIGHT_NORD = DWRITE_PANOSE_WEIGHT_EXTRA_BLACK
79} DWRITE_PANOSE_WEIGHT;
80
81typedef enum DWRITE_PANOSE_PROPORTION
82{
83 DWRITE_PANOSE_PROPORTION_ANY,
84 DWRITE_PANOSE_PROPORTION_NO_FIT,
85 DWRITE_PANOSE_PROPORTION_OLD_STYLE,
86 DWRITE_PANOSE_PROPORTION_MODERN,
87 DWRITE_PANOSE_PROPORTION_EVEN_WIDTH,
88 DWRITE_PANOSE_PROPORTION_EXPANDED,
89 DWRITE_PANOSE_PROPORTION_CONDENSED,
90 DWRITE_PANOSE_PROPORTION_VERY_EXPANDED,
91 DWRITE_PANOSE_PROPORTION_VERY_CONDENSED,
92 DWRITE_PANOSE_PROPORTION_MONOSPACED
93} DWRITE_PANOSE_PROPORTION;
94
95typedef enum DWRITE_PANOSE_CONTRAST
96{
97 DWRITE_PANOSE_CONTRAST_ANY,
98 DWRITE_PANOSE_CONTRAST_NO_FIT,
99 DWRITE_PANOSE_CONTRAST_NONE,
100 DWRITE_PANOSE_CONTRAST_VERY_LOW,
101 DWRITE_PANOSE_CONTRAST_LOW,
102 DWRITE_PANOSE_CONTRAST_MEDIUM_LOW,
103 DWRITE_PANOSE_CONTRAST_MEDIUM,
104 DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH,
105 DWRITE_PANOSE_CONTRAST_HIGH,
106 DWRITE_PANOSE_CONTRAST_VERY_HIGH,
107 DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW,
108 DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM,
109 DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH,
110 DWRITE_PANOSE_CONTRAST_BROKEN
111} DWRITE_PANOSE_CONTRAST;
112
113typedef enum DWRITE_PANOSE_STROKE_VARIATION
114{
115 DWRITE_PANOSE_STROKE_VARIATION_ANY,
116 DWRITE_PANOSE_STROKE_VARIATION_NO_FIT,
117 DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION,
118 DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL,
119 DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL,
120 DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL,
121 DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL,
122 DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL,
123 DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL,
124 DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL,
125 DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL
126} DWRITE_PANOSE_STROKE_VARIANTION;
127
128typedef enum DWRITE_PANOSE_ARM_STYLE
129{
130 DWRITE_PANOSE_ARM_STYLE_ANY,
131 DWRITE_PANOSE_ARM_STYLE_NO_FIT,
132 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL,
133 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE,
134 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL,
135 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF,
136 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF,
137 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL,
138 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE,
139 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL,
140 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF,
141 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF,
142 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ = DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL,
143 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT = DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL,
144 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL,
145 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE,
146 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL,
147 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF,
148 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF
149} DWRITE_PANOSE_ARM_STYLE;
150
151typedef enum DWRITE_PANOSE_LETTERFORM
152{
153 DWRITE_PANOSE_LETTERFORM_ANY,
154 DWRITE_PANOSE_LETTERFORM_NO_FIT,
155 DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT,
156 DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED,
157 DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED,
158 DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED,
159 DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED,
160 DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER,
161 DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE,
162 DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT,
163 DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED,
164 DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED,
165 DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED,
166 DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED,
167 DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER,
168 DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE
169} DWRITE_PANOSE_LETTERFORM;
170
171typedef enum DWRITE_PANOSE_MIDLINE
172{
173 DWRITE_PANOSE_MIDLINE_ANY,
174 DWRITE_PANOSE_MIDLINE_NO_FIT,
175 DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED,
176 DWRITE_PANOSE_MIDLINE_STANDARD_POINTED,
177 DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED,
178 DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED,
179 DWRITE_PANOSE_MIDLINE_HIGH_POINTED,
180 DWRITE_PANOSE_MIDLINE_HIGH_SERIFED,
181 DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED,
182 DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED,
183 DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED,
184 DWRITE_PANOSE_MIDLINE_LOW_TRIMMED,
185 DWRITE_PANOSE_MIDLINE_LOW_POINTED,
186 DWRITE_PANOSE_MIDLINE_LOW_SERIFED
187} DWRITE_PANOSE_MIDLINE;
188
189typedef enum DWRITE_PANOSE_XHEIGHT
190{
191 DWRITE_PANOSE_XHEIGHT_ANY,
192 DWRITE_PANOSE_XHEIGHT_NO_FIT,
193 DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL,
194 DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD,
195 DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE,
196 DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL,
197 DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD,
198 DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE,
199 DWRITE_PANOSE_XHEIGHT_CONSTANT_STD = DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD,
200 DWRITE_PANOSE_XHEIGHT_DUCKING_STD = DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD
201} DWRITE_PANOSE_XHEIGHT;
202
203typedef enum DWRITE_PANOSE_TOOL_KIND
204{
205 DWRITE_PANOSE_TOOL_KIND_ANY,
206 DWRITE_PANOSE_TOOL_KIND_NO_FIT,
207 DWRITE_PANOSE_TOOL_KIND_FLAT_NIB,
208 DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT,
209 DWRITE_PANOSE_TOOL_KIND_ENGRAVED,
210 DWRITE_PANOSE_TOOL_KIND_BALL,
211 DWRITE_PANOSE_TOOL_KIND_BRUSH,
212 DWRITE_PANOSE_TOOL_KIND_ROUGH,
213 DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP,
214 DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH
215} DWRITE_PANOSE_TOOL_KIND;
216
217typedef enum DWRITE_PANOSE_SPACING
218{
219 DWRITE_PANOSE_SPACING_ANY,
220 DWRITE_PANOSE_SPACING_NO_FIT,
221 DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED,
222 DWRITE_PANOSE_SPACING_MONOSPACED
223} DWRITE_PANOSE_SPACING;
224
225typedef enum DWRITE_PANOSE_ASPECT_RATIO
226{
227 DWRITE_PANOSE_ASPECT_RATIO_ANY,
228 DWRITE_PANOSE_ASPECT_RATIO_NO_FIT,
229 DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED,
230 DWRITE_PANOSE_ASPECT_RATIO_CONDENSED,
231 DWRITE_PANOSE_ASPECT_RATIO_NORMAL,
232 DWRITE_PANOSE_ASPECT_RATIO_EXPANDED,
233 DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED
234} DWRITE_PANOSE_ASPECT_RATIO;
235
236typedef enum DWRITE_PANOSE_SCRIPT_TOPOLOGY
237{
238 DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY,
239 DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT,
240 DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED,
241 DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING,
242 DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED,
243 DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED,
244 DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING,
245 DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED,
246 DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED,
247 DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING,
248 DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED
249} DWRITE_PANOSE_SCRIPT_TOPOLOGY;
250
251typedef enum DWRITE_PANOSE_SCRIPT_FORM
252{
253 DWRITE_PANOSE_SCRIPT_FORM_ANY,
254 DWRITE_PANOSE_SCRIPT_FORM_NO_FIT,
255 DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING,
256 DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING,
257 DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING,
258 DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING,
259 DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING,
260 DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING,
261 DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING,
262 DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING,
263 DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING,
264 DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING,
265 DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING,
266 DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING
267} DWRITE_PANOSE_SCRIPT_FORM;
268
269typedef enum DWRITE_PANOSE_FINIALS
270{
271 DWRITE_PANOSE_FINIALS_ANY,
272 DWRITE_PANOSE_FINIALS_NO_FIT,
273 DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS,
274 DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS,
275 DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS,
276 DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS,
277 DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS,
278 DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS,
279 DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS,
280 DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS,
281 DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS,
282 DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS,
283 DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS,
284 DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS
285} DWRITE_PANOSE_FINIALS;
286
287typedef enum DWRITE_PANOSE_XASCENT
288{
289 DWRITE_PANOSE_XASCENT_ANY,
290 DWRITE_PANOSE_XASCENT_NO_FIT,
291 DWRITE_PANOSE_XASCENT_VERY_LOW,
292 DWRITE_PANOSE_XASCENT_LOW,
293 DWRITE_PANOSE_XASCENT_MEDIUM,
294 DWRITE_PANOSE_XASCENT_HIGH,
295 DWRITE_PANOSE_XASCENT_VERY_HIGH
296} DWRITE_PANOSE_XASCENT;
297
298typedef enum DWRITE_PANOSE_DECORATIVE_CLASS
299{
300 DWRITE_PANOSE_DECORATIVE_CLASS_ANY,
301 DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT,
302 DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE,
303 DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY,
304 DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS,
305 DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT,
306 DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS,
307 DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON,
308 DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS,
309 DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED,
310 DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND,
311 DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE,
312 DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE
313} DWRITE_PANOSE_DECORATIVE_CLASS;
314
315typedef enum DWRITE_PANOSE_ASPECT
316{
317 DWRITE_PANOSE_ASPECT_ANY,
318 DWRITE_PANOSE_ASPECT_NO_FIT,
319 DWRITE_PANOSE_ASPECT_SUPER_CONDENSED,
320 DWRITE_PANOSE_ASPECT_VERY_CONDENSED,
321 DWRITE_PANOSE_ASPECT_CONDENSED,
322 DWRITE_PANOSE_ASPECT_NORMAL,
323 DWRITE_PANOSE_ASPECT_EXTENDED,
324 DWRITE_PANOSE_ASPECT_VERY_EXTENDED,
325 DWRITE_PANOSE_ASPECT_SUPER_EXTENDED,
326 DWRITE_PANOSE_ASPECT_MONOSPACED
327} DWRITE_PANOSE_ASPECT;
328
329typedef enum DWRITE_PANOSE_FILL
330{
331 DWRITE_PANOSE_FILL_ANY,
332 DWRITE_PANOSE_FILL_NO_FIT,
333 DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL,
334 DWRITE_PANOSE_FILL_NO_FILL,
335 DWRITE_PANOSE_FILL_PATTERNED_FILL,
336 DWRITE_PANOSE_FILL_COMPLEX_FILL,
337 DWRITE_PANOSE_FILL_SHAPED_FILL,
338 DWRITE_PANOSE_FILL_DRAWN_DISTRESSED
339} DWRITE_PANOSE_FILL;
340
341typedef enum DWRITE_PANOSE_LINING
342{
343 DWRITE_PANOSE_LINING_ANY,
344 DWRITE_PANOSE_LINING_NO_FIT,
345 DWRITE_PANOSE_LINING_NONE,
346 DWRITE_PANOSE_LINING_INLINE,
347 DWRITE_PANOSE_LINING_OUTLINE,
348 DWRITE_PANOSE_LINING_ENGRAVED,
349 DWRITE_PANOSE_LINING_SHADOW,
350 DWRITE_PANOSE_LINING_RELIEF,
351 DWRITE_PANOSE_LINING_BACKDROP
352} DWRITE_PANOSE_LINING;
353
354typedef enum DWRITE_PANOSE_DECORATIVE_TOPOLOGY
355{
356 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY,
357 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT,
358 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD,
359 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE,
360 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT,
361 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO,
362 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING,
363 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS,
364 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS,
365 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS,
366 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE,
367 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY,
368 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A,
369 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE,
370 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER,
371 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE
372} DWRITE_PANOSE_DECORATIVE_TOPOLOGY;
373
374typedef enum DWRITE_PANOSE_CHARACTER_RANGES
375{
376 DWRITE_PANOSE_CHARACTER_RANGES_ANY,
377 DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT,
378 DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION,
379 DWRITE_PANOSE_CHARACTER_RANGES_LITERALS,
380 DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE,
381 DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS
382} DWRITE_PANOSE_CHARACTER_RANGES;
383
384typedef enum DWRITE_PANOSE_SYMBOL_KIND
385{
386 DWRITE_PANOSE_SYMBOL_KIND_ANY,
387 DWRITE_PANOSE_SYMBOL_KIND_NO_FIT,
388 DWRITE_PANOSE_SYMBOL_KIND_MONTAGES,
389 DWRITE_PANOSE_SYMBOL_KIND_PICTURES,
390 DWRITE_PANOSE_SYMBOL_KIND_SHAPES,
391 DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC,
392 DWRITE_PANOSE_SYMBOL_KIND_MUSIC,
393 DWRITE_PANOSE_SYMBOL_KIND_EXPERT,
394 DWRITE_PANOSE_SYMBOL_KIND_PATTERNS,
395 DWRITE_PANOSE_SYMBOL_KIND_BOARDERS,
396 DWRITE_PANOSE_SYMBOL_KIND_ICONS,
397 DWRITE_PANOSE_SYMBOL_KIND_LOGOS,
398 DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC
399} DWRITE_PANOSE_SYMBOL_KIND;
400
401typedef enum DWRITE_PANOSE_SYMBOL_ASPECT_RATIO
402{
403 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY,
404 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT,
405 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH,
406 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE,
407 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE,
408 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE,
409 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE,
410 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL,
411 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW,
412 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW
413} DWRITE_PANOSE_SYMBOL_ASPECT_RATIO;
414
415typedef enum DWRITE_OUTLINE_THRESHOLD
416{
417 DWRITE_OUTLINE_THRESHOLD_ANTIALIASED,
418 DWRITE_OUTLINE_THRESHOLD_ALIASED
419} DWRITE_OUTLINE_THRESHOLD;
420
421typedef enum DWRITE_BASELINE
422{
423 DWRITE_BASELINE_DEFAULT,
424 DWRITE_BASELINE_ROMAN,
425 DWRITE_BASELINE_CENTRAL,
426 DWRITE_BASELINE_MATH,
427 DWRITE_BASELINE_HANGING,
428 DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM,
429 DWRITE_BASELINE_IDEOGRAPHIC_TOP,
430 DWRITE_BASELINE_MINIMUM,
431 DWRITE_BASELINE_MAXIMUM
432} DWRITE_BASELINE;
433
434typedef enum DWRITE_VERTICAL_GLYPH_ORIENTATION
435{
436 DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT,
437 DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED
438} DWRITE_VERTICAL_GLYPH_ORIENTATION;
439
440typedef enum DWRITE_GLYPH_ORIENTATION_ANGLE
441{
442 DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES,
443 DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES,
444 DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES,
445 DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES
446} DWRITE_GLYPH_ORIENTATION_ANGLE;
447
448typedef struct DWRITE_FONT_METRICS1
449{
450 UINT16 designUnitsPerEm;
451 UINT16 ascent;
452 UINT16 descent;
453 INT16 lineGap;
454 UINT16 capHeight;
455 UINT16 xHeight;
456 INT16 underlinePosition;
457 UINT16 underlineThickness;
458 INT16 strikethroughPosition;
459 UINT16 strikethroughThickness;
460 INT16 glyphBoxLeft;
461 INT16 glyphBoxTop;
462 INT16 glyphBoxRight;
463 INT16 glyphBoxBottom;
464 INT16 subscriptPositionX;
465 INT16 subscriptPositionY;
466 INT16 subscriptSizeX;
467 INT16 subscriptSizeY;
468 INT16 superscriptPositionX;
469 INT16 superscriptPositionY;
470 INT16 superscriptSizeX;
471 INT16 superscriptSizeY;
472 BOOL hasTypographicMetrics;
473} DWRITE_FONT_METRICS1;
474
475typedef struct DWRITE_CARET_METRICS
476{
477 INT16 slopeRise;
478 INT16 slopeRun;
479 INT16 offset;
480} DWRITE_CARET_METRICS;
481
482typedef union DWRITE_PANOSE
483{
484 UINT8 values[10];
485 UINT8 familyKind;
486 struct
487 {
488 UINT8 familyKind;
489 UINT8 serifStyle;
490 UINT8 weight;
491 UINT8 proportion;
492 UINT8 contrast;
493 UINT8 strokeVariation;
494 UINT8 armStyle;
495 UINT8 letterform;
496 UINT8 midline;
497 UINT8 xHeight;
498 } text;
499 struct
500 {
501 UINT8 familyKind;
502 UINT8 toolKind;
503 UINT8 weight;
504 UINT8 spacing;
505 UINT8 aspectRatio;
506 UINT8 contrast;
507 UINT8 scriptTopology;
508 UINT8 scriptForm;
509 UINT8 finials;
510 UINT8 xAscent;
511 } script;
512 struct
513 {
514 UINT8 familyKind;
515 UINT8 decorativeClass;
516 UINT8 weight;
517 UINT8 aspect;
518 UINT8 contrast;
519 UINT8 serifVariant;
520 UINT8 fill;
521 UINT8 lining;
522 UINT8 decorativeTopology;
523 UINT8 characterRange;
524 } decorative;
525 struct
526 {
527 UINT8 familyKind;
528 UINT8 symbolKind;
529 UINT8 weight;
530 UINT8 spacing;
531 UINT8 aspectRatioAndContrast;
532 UINT8 aspectRatio94;
533 UINT8 aspectRatio119;
534 UINT8 aspectRatio157;
535 UINT8 aspectRatio163;
536 UINT8 aspectRatio211;
537 } symbol;
538} DWRITE_PANOSE;
539
540typedef struct DWRITE_UNICODE_RANGE
541{
542 UINT32 first;
543 UINT32 last;
544} DWRITE_UNICODE_RANGE;
545
546typedef struct DWRITE_SCRIPT_PROPERTIES
547{
548 UINT32 isoScriptCode;
549 UINT32 isoScriptNumber;
550 UINT32 clusterLookahead;
551 UINT32 justificationCharacter;
552 UINT32 restrictCaretToClusters : 1;
553 UINT32 usesWordDividers : 1;
554 UINT32 isDiscreteWriting : 1;
555 UINT32 isBlockWriting : 1;
556 UINT32 isDistributedWithinCluster : 1;
557 UINT32 isConnectedWriting : 1;
558 UINT32 isCursiveWriting : 1;
559 UINT32 reserved : 25;
560} DWRITE_SCRIPT_PROPERTIES;
561
562typedef struct DWRITE_JUSTIFICATION_OPPORTUNITY
563{
564 FLOAT expansionMinimum;
565 FLOAT expansionMaximum;
566 FLOAT compressionMaximum;
567 UINT32 expansionPriority : 8;
568 UINT32 compressionPriority : 8;
569 UINT32 allowResidualExpansion : 1;
570 UINT32 allowResidualCompression : 1;
571 UINT32 applyToLeadingEdge : 1;
572 UINT32 applyToTrailingEdge : 1;
573 UINT32 reserved : 12;
574} DWRITE_JUSTIFICATION_OPPORTUNITY;
575
576interface IDWriteTextAnalysisSource1;
577interface IDWriteTextAnalysisSink1;
578interface IDWriteRenderingParams1;
579
580[
581local,
582object,
583uuid(30572f99-dac6-41db-a16e-0486307e606a)
584]
585interface IDWriteFactory1 : IDWriteFactory
586{
587 HRESULT GetEudcFontCollection(IDWriteFontCollection **collection,
588 [defaultvalue(FALSE)] BOOL check_for_updates);
589 HRESULT CreateCustomRenderingParams(FLOAT gamma,
590 FLOAT enhcontrast,
591 FLOAT enhcontrast_grayscale,
592 FLOAT cleartype_level,
593 DWRITE_PIXEL_GEOMETRY geometry,
594 DWRITE_RENDERING_MODE mode,
595 IDWriteRenderingParams1** params);
596};
597
598[
599local,
600object,
601uuid(a71efdb4-9fdb-4838-ad90-cfc3be8c3daf)
602]
603interface IDWriteFontFace1 : IDWriteFontFace
604{
605 HRESULT GetMetrics(DWRITE_FONT_METRICS1 *metrics);
606 HRESULT GetGdiCompatibleMetrics(FLOAT em_size,
607 FLOAT pixels_per_dip,
608 const DWRITE_MATRIX *transform,
609 DWRITE_FONT_METRICS1 *metrics);
610 void GetCaretMetrics(DWRITE_CARET_METRICS *metrics);
611 HRESULT GetUnicodeRanges(UINT32 max_count,
612 DWRITE_UNICODE_RANGE *ranges,
613 UINT32 *count);
614 BOOL IsMonospacedFont();
615 HRESULT GetDesignGlyphAdvances(UINT32 glyph_count,
616 UINT16 const *indices,
617 INT32 *advances,
618 [defaultvalue(FALSE)] BOOL is_sideways);
619 HRESULT GetGdiCompatibleGlyphAdvances(FLOAT em_size,
620 FLOAT pixels_per_dip,
621 const DWRITE_MATRIX *transform,
622 BOOL use_gdi_natural,
623 BOOL is_sideways,
624 UINT32 glyph_count,
625 const UINT16 *indices,
626 INT32 *advances);
627
628 HRESULT GetKerningPairAdjustments(UINT32 glyph_count,
629 const UINT16 *indices,
630 INT32 *adjustments);
631 BOOL HasKerningPairs();
632 HRESULT GetRecommendedRenderingMode(FLOAT font_emsize,
633 FLOAT dpiX,
634 FLOAT dpiY,
635 const DWRITE_MATRIX *transform,
636 BOOL is_sideways,
637 DWRITE_OUTLINE_THRESHOLD threshold,
638 DWRITE_MEASURING_MODE measuring_mode,
639 DWRITE_RENDERING_MODE *rendering_mode);
640
641 HRESULT GetVerticalGlyphVariants(UINT32 glyph_count,
642 const UINT16 *nominal_indices,
643 UINT16 *vertical_indices);
644 BOOL HasVerticalGlyphVariants();
645};
646
647[
648local,
649object,
650uuid(acd16696-8c14-4f5d-877e-fe3fc1d32738)
651]
652interface IDWriteFont1 : IDWriteFont
653{
654 void GetMetrics(DWRITE_FONT_METRICS1 *metrics);
655 void GetPanose(DWRITE_PANOSE *panose);
656 HRESULT GetUnicodeRanges(UINT32 max_count,
657 DWRITE_UNICODE_RANGE *ranges,
658 UINT32 *count);
659 BOOL IsMonospacedFont();
660};
661
662[
663local,
664object,
665uuid(94413cf4-a6fc-4248-8b50-6674348fcad3)
666]
667interface IDWriteRenderingParams1 : IDWriteRenderingParams
668{
669 FLOAT GetGrayscaleEnhancedContrast();
670};
671
672[
673local,
674object,
675uuid(80dad800-e21f-4e83-96ce-bfcce500db7c)
676]
677interface IDWriteTextAnalyzer1 : IDWriteTextAnalyzer
678{
679 HRESULT ApplyCharacterSpacing(FLOAT leading_spacing,
680 FLOAT trailing_spacing,
681 FLOAT min_advance_width,
682 UINT32 len,
683 UINT32 glyph_count,
684 UINT16 const *clustermap,
685 FLOAT const *advances,
686 DWRITE_GLYPH_OFFSET const *offsets,
687 DWRITE_SHAPING_GLYPH_PROPERTIES const *props,
688 FLOAT *modified_advances,
689 DWRITE_GLYPH_OFFSET *modified_offsets);
690 HRESULT GetBaseline(IDWriteFontFace *face,
691 DWRITE_BASELINE baseline,
692 BOOL vertical,
693 BOOL is_simulation_allowed,
694 DWRITE_SCRIPT_ANALYSIS sa,
695 const WCHAR *localeName,
696 INT32 *baseline_coord,
697 BOOL *exists);
698
699 HRESULT AnalyzeVerticalGlyphOrientation(
700 IDWriteTextAnalysisSource1* source,
701 UINT32 text_pos,
702 UINT32 len,
703 IDWriteTextAnalysisSink1 *sink);
704
705 HRESULT GetGlyphOrientationTransform(
706 DWRITE_GLYPH_ORIENTATION_ANGLE angle,
707 BOOL is_sideways,
708 DWRITE_MATRIX *transform);
709
710 HRESULT GetScriptProperties(DWRITE_SCRIPT_ANALYSIS sa, DWRITE_SCRIPT_PROPERTIES *props);
711
712 HRESULT GetTextComplexity(const WCHAR *text,
713 UINT32 len,
714 IDWriteFontFace *face,
715 BOOL *is_simple,
716 UINT32 *len_read,
717 UINT16 *indices);
718 HRESULT GetJustificationOpportunities(
719 IDWriteFontFace *face,
720 FLOAT font_em_size,
721 DWRITE_SCRIPT_ANALYSIS sa,
722 UINT32 length,
723 UINT32 glyph_count,
724 const WCHAR *text,
725 const UINT16 *clustermap,
726 const DWRITE_SHAPING_GLYPH_PROPERTIES *prop,
727 DWRITE_JUSTIFICATION_OPPORTUNITY *jo);
728
729 HRESULT JustifyGlyphAdvances(
730 FLOAT width,
731 UINT32 glyph_count,
732 const DWRITE_JUSTIFICATION_OPPORTUNITY *jo,
733 const FLOAT *advances,
734 const DWRITE_GLYPH_OFFSET *offsets,
735 FLOAT *justifiedadvances,
736 DWRITE_GLYPH_OFFSET *justifiedoffsets);
737
738 HRESULT GetJustifiedGlyphs(
739 IDWriteFontFace *face,
740 FLOAT font_em_size,
741 DWRITE_SCRIPT_ANALYSIS sa,
742 UINT32 length,
743 UINT32 glyph_count,
744 UINT32 max_glyphcount,
745 const UINT16 *clustermap,
746 const UINT16 *indices,
747 const FLOAT *advances,
748 const FLOAT *justifiedadvances,
749 const DWRITE_GLYPH_OFFSET *justifiedoffsets,
750 const DWRITE_SHAPING_GLYPH_PROPERTIES *prop,
751 UINT32 *actual_count,
752 UINT16 *modified_clustermap,
753 UINT16 *modified_indices,
754 FLOAT *modified_advances,
755 DWRITE_GLYPH_OFFSET *modified_offsets);
756};
757
758[
759local,
760object,
761uuid(639cfad8-0fb4-4b21-a58a-067920120009)
762]
763interface IDWriteTextAnalysisSource1 : IDWriteTextAnalysisSource
764{
765 HRESULT GetVerticalGlyphOrientation(
766 UINT32 pos,
767 UINT32 *length,
768 DWRITE_VERTICAL_GLYPH_ORIENTATION *orientation,
769 UINT8 *bidi_level);
770};
771
772[
773local,
774object,
775uuid(b0d941a0-85e7-4d8b-9fd3-5ced9934482a)
776]
777interface IDWriteTextAnalysisSink1 : IDWriteTextAnalysisSink
778{
779 HRESULT SetGlyphOrientation(
780 UINT32 pos,
781 UINT32 length,
782 DWRITE_GLYPH_ORIENTATION_ANGLE angle,
783 UINT8 adjusted_bidilevel,
784 BOOL is_sideways,
785 BOOL is_rtl);
786};
787
788[
789local,
790object,
791uuid(9064d822-80a7-465c-a986-df65f78b8feb)
792]
793interface IDWriteTextLayout1 : IDWriteTextLayout
794{
795 HRESULT SetPairKerning(
796 BOOL is_pairkerning_enabled,
797 DWRITE_TEXT_RANGE range);
798
799 HRESULT GetPairKerning(
800 UINT32 position,
801 BOOL *is_pairkerning_enabled,
802 DWRITE_TEXT_RANGE *range);
803
804 HRESULT SetCharacterSpacing(
805 FLOAT leading_spacing,
806 FLOAT trailing_spacing,
807 FLOAT minimum_advance_width,
808 DWRITE_TEXT_RANGE range);
809
810 HRESULT GetCharacterSpacing(
811 UINT32 position,
812 FLOAT* leading_spacing,
813 FLOAT* trailing_spacing,
814 FLOAT* minimum_advance_width,
815 [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range);
816};
817
818typedef enum DWRITE_TEXT_ANTIALIAS_MODE
819{
820 DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE,
821 DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE
822} DWRITE_TEXT_ANTIALIAS_MODE;
823
824[
825local,
826object,
827uuid(791e8298-3ef3-4230-9880-c9bdecc42064)
828]
829interface IDWriteBitmapRenderTarget1 : IDWriteBitmapRenderTarget
830{
831 DWRITE_TEXT_ANTIALIAS_MODE GetTextAntialiasMode();
832 HRESULT SetTextAntialiasMode(DWRITE_TEXT_ANTIALIAS_MODE mode);
833};
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette