1/** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6#ifndef __INC_DWRITE__ 7#define __INC_DWRITE__ 8 9#define DWRITEAPI DECLSPEC_IMPORT 10 11#ifdef __MINGW_USE_BROKEN_INTERFACE 12#define __MINGW_POISON_NAME(__IFACE) __IFACE 13#else 14#define __MINGW_POISON_NAME(__IFACE)\ 15 __IFACE##_layout_has_not_been_verified_and_its_declaration_is_most_likely_incorrect 16#endif 17 18#include <unknwn.h> 19 20#ifndef __IDWriteBitmapRenderTarget_FWD_DEFINED__ 21#define __IDWriteBitmapRenderTarget_FWD_DEFINED__ 22typedef struct IDWriteBitmapRenderTarget IDWriteBitmapRenderTarget; 23#endif 24 25#ifndef __IDWriteFactory_FWD_DEFINED__ 26#define __IDWriteFactory_FWD_DEFINED__ 27typedef struct IDWriteFactory IDWriteFactory; 28#endif 29 30#ifndef __IDWriteFont_FWD_DEFINED__ 31#define __IDWriteFont_FWD_DEFINED__ 32typedef struct IDWriteFont IDWriteFont; 33#endif 34 35#ifndef __IDWriteFontCollection_FWD_DEFINED__ 36#define __IDWriteFontCollection_FWD_DEFINED__ 37typedef struct IDWriteFontCollection IDWriteFontCollection; 38#endif 39 40#ifndef __IDWriteFontFace_FWD_DEFINED__ 41#define __IDWriteFontFace_FWD_DEFINED__ 42typedef struct IDWriteFontFace IDWriteFontFace; 43#endif 44 45#ifndef __IDWriteFontFamily_FWD_DEFINED__ 46#define __IDWriteFontFamily_FWD_DEFINED__ 47typedef struct IDWriteFontFamily IDWriteFontFamily; 48#endif 49 50#ifndef __IDWriteFontList_FWD_DEFINED__ 51#define __IDWriteFontList_FWD_DEFINED__ 52typedef struct IDWriteFontList IDWriteFontList; 53#endif 54 55#ifndef __IDWriteFontFile_FWD_DEFINED__ 56#define __IDWriteFontFile_FWD_DEFINED__ 57typedef struct IDWriteFontFile IDWriteFontFile; 58#endif 59 60#ifndef __IDWriteFontFileLoader_FWD_DEFINED__ 61#define __IDWriteFontFileLoader_FWD_DEFINED__ 62typedef struct IDWriteFontFileLoader IDWriteFontFileLoader; 63#endif 64 65#ifndef __IDWriteFontFileStream_FWD_DEFINED__ 66#define __IDWriteFontFileStream_FWD_DEFINED__ 67typedef struct IDWriteFontFileStream IDWriteFontFileStream; 68#endif 69 70#ifndef __IDWriteFontCollectionLoader_FWD_DEFINED__ 71#define __IDWriteFontCollectionLoader_FWD_DEFINED__ 72typedef struct IDWriteFontCollectionLoader IDWriteFontCollectionLoader; 73#endif 74 75#ifndef __IDWriteFontFileEnumerator_FWD_DEFINED__ 76#define __IDWriteFontFileEnumerator_FWD_DEFINED__ 77typedef struct IDWriteFontFileEnumerator IDWriteFontFileEnumerator; 78#endif 79 80#ifndef __IDWriteGdiInterop_FWD_DEFINED__ 81#define __IDWriteGdiInterop_FWD_DEFINED__ 82typedef struct IDWriteGdiInterop IDWriteGdiInterop; 83#endif 84 85/* Fixme: MSDN says its a typedef, needs verification */ 86/* http://msdn.microsoft.com/en-us/library/dd756614%28v=VS.85%29.aspx */ 87#ifndef __IDWriteGeometrySink_FWD_DEFINED__ 88#define __IDWriteGeometrySink_FWD_DEFINED__ 89typedef struct ID2D1SimplifiedGeometrySink IDWriteGeometrySink; 90#endif 91 92#ifndef __IDWriteGlyphRunAnalysis_FWD_DEFINED__ 93#define __IDWriteGlyphRunAnalysis_FWD_DEFINED__ 94typedef struct IDWriteGlyphRunAnalysis IDWriteGlyphRunAnalysis; 95#endif 96 97#ifndef __IDWriteInlineObject_FWD_DEFINED__ 98#define __IDWriteInlineObject_FWD_DEFINED__ 99typedef struct IDWriteInlineObject IDWriteInlineObject; 100#endif 101 102#ifndef __IDWriteLocalFontFileLoader_FWD_DEFINED__ 103#define __IDWriteLocalFontFileLoader_FWD_DEFINED__ 104typedef struct IDWriteLocalFontFileLoader IDWriteLocalFontFileLoader; 105#endif 106 107#ifndef __IDWriteLocalizedStrings_FWD_DEFINED__ 108#define __IDWriteLocalizedStrings_FWD_DEFINED__ 109typedef struct IDWriteLocalizedStrings IDWriteLocalizedStrings; 110#endif 111 112#ifndef __IDWriteNumberSubstitution_FWD_DEFINED__ 113#define __IDWriteNumberSubstitution_FWD_DEFINED__ 114typedef struct IDWriteNumberSubstitution IDWriteNumberSubstitution; 115#endif 116 117#ifndef __IDWritePixelSnapping_FWD_DEFINED__ 118#define __IDWritePixelSnapping_FWD_DEFINED__ 119typedef struct IDWritePixelSnapping IDWritePixelSnapping; 120#endif 121 122#ifndef __IDWriteRenderingParams_FWD_DEFINED__ 123#define __IDWriteRenderingParams_FWD_DEFINED__ 124typedef struct IDWriteRenderingParams IDWriteRenderingParams; 125#endif 126 127#ifndef __IDWriteTextAnalysisSink_FWD_DEFINED__ 128#define __IDWriteTextAnalysisSink_FWD_DEFINED__ 129typedef struct IDWriteTextAnalysisSink IDWriteTextAnalysisSink; 130#endif 131 132#ifndef __IDWriteTextAnalysisSource_FWD_DEFINED__ 133#define __IDWriteTextAnalysisSource_FWD_DEFINED__ 134typedef struct IDWriteTextAnalysisSource IDWriteTextAnalysisSource; 135#endif 136 137#ifndef __IDWriteTextAnalyzer_FWD_DEFINED__ 138#define __IDWriteTextAnalyzer_FWD_DEFINED__ 139typedef struct IDWriteTextAnalyzer IDWriteTextAnalyzer; 140#endif 141 142#ifndef __IDWriteTextFormat_FWD_DEFINED__ 143#define __IDWriteTextFormat_FWD_DEFINED__ 144typedef struct IDWriteTextFormat IDWriteTextFormat; 145#endif 146 147#ifndef __IDWriteTextLayout_FWD_DEFINED__ 148#define __IDWriteTextLayout_FWD_DEFINED__ 149typedef struct IDWriteTextLayout IDWriteTextLayout; 150#endif 151 152#ifndef __IDWriteTextRenderer_FWD_DEFINED__ 153#define __IDWriteTextRenderer_FWD_DEFINED__ 154typedef struct IDWriteTextRenderer IDWriteTextRenderer; 155#endif 156 157#ifndef __IDWriteTypography_FWD_DEFINED__ 158#define __IDWriteTypography_FWD_DEFINED__ 159typedef struct IDWriteTypography IDWriteTypography; 160#endif 161 162#include <dcommon.h> 163 164typedef enum DWRITE_INFORMATIONAL_STRING_ID { 165 DWRITE_INFORMATIONAL_STRING_NONE = 0, 166 DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE, 167 DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS, 168 DWRITE_INFORMATIONAL_STRING_TRADEMARK, 169 DWRITE_INFORMATIONAL_STRING_MANUFACTURER, 170 DWRITE_INFORMATIONAL_STRING_DESIGNER, 171 DWRITE_INFORMATIONAL_STRING_DESIGNER_URL, 172 DWRITE_INFORMATIONAL_STRING_DESCRIPTION, 173 DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL, 174 DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION, 175 DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL, 176 DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES, 177 DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES, 178 DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES, 179 DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES, 180 DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT 181} DWRITE_INFORMATIONAL_STRING_ID; 182 183typedef enum DWRITE_BREAK_CONDITION { 184 DWRITE_BREAK_CONDITION_NEUTRAL = 0, 185 DWRITE_BREAK_CONDITION_CAN_BREAK = 1, 186 DWRITE_BREAK_CONDITION_MAY_NOT_BREAK = 2, 187 DWRITE_BREAK_CONDITION_MUST_BREAK = 3 188} DWRITE_BREAK_CONDITION; 189 190typedef enum DWRITE_FACTORY_TYPE { 191 DWRITE_FACTORY_TYPE_SHARED = 0, 192 DWRITE_FACTORY_TYPE_ISOLATED 193} DWRITE_FACTORY_TYPE; 194 195typedef enum DWRITE_FLOW_DIRECTION { 196 DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM 197} DWRITE_FLOW_DIRECTION; 198 199typedef enum DWRITE_FONT_FACE_TYPE { 200 DWRITE_FONT_FACE_TYPE_CFF = 0, 201 DWRITE_FONT_FACE_TYPE_TRUETYPE, 202 DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION, 203 DWRITE_FONT_FACE_TYPE_TYPE1, 204 DWRITE_FONT_FACE_TYPE_VECTOR, 205 DWRITE_FONT_FACE_TYPE_BITMAP, 206 DWRITE_FONT_FACE_TYPE_UNKNOWN 207} DWRITE_FONT_FACE_TYPE; 208 209typedef enum DWRITE_FONT_FEATURE_TAG { 210 DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS = 0x63726661, 211 DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS = 0x63703263, 212 DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS = 0x63733263, 213 DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES = 0x746c6163, 214 DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS = 0x65736163, 215 DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION = 0x706d6363, 216 DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES = 0x67696c63, 217 DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING = 0x70737063, 218 DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH = 0x68777363, 219 DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING = 0x73727563, 220 DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES = 0x67696c64, 221 DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS = 0x74707865, 222 DWRITE_FONT_FEATURE_TAG_FRACTIONS = 0x63617266, 223 DWRITE_FONT_FEATURE_TAG_FULL_WIDTH = 0x64697766, 224 DWRITE_FONT_FEATURE_TAG_HALF_FORMS = 0x666c6168, 225 DWRITE_FONT_FEATURE_TAG_HALANT_FORMS = 0x6e6c6168, 226 DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH = 0x746c6168, 227 DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS = 0x74736968, 228 DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES = 0x616e6b68, 229 DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES = 0x67696c68, 230 DWRITE_FONT_FEATURE_TAG_HALF_WIDTH = 0x64697768, 231 DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS = 0x6f6a6f68, 232 DWRITE_FONT_FEATURE_TAG_JIS04_FORMS = 0x3430706a, 233 DWRITE_FONT_FEATURE_TAG_JIS78_FORMS = 0x3837706a, 234 DWRITE_FONT_FEATURE_TAG_JIS83_FORMS = 0x3338706a, 235 DWRITE_FONT_FEATURE_TAG_JIS90_FORMS = 0x3039706a, 236 DWRITE_FONT_FEATURE_TAG_KERNING = 0x6e72656b, 237 DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES = 0x6167696c, 238 DWRITE_FONT_FEATURE_TAG_LINING_FIGURES = 0x6d756e6c, 239 DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS = 0x6c636f6c, 240 DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING = 0x6b72616d, 241 DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK = 0x6b72676d, 242 DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING = 0x6b6d6b6d, 243 DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS = 0x746c616e, 244 DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS = 0x6b636c6e, 245 DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES = 0x6d756e6f, 246 DWRITE_FONT_FEATURE_TAG_ORDINALS = 0x6e64726f, 247 DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH = 0x746c6170, 248 DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS = 0x70616370, 249 DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES = 0x6d756e70, 250 DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS = 0x64697770, 251 DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS = 0x64697771, 252 DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES = 0x67696c72, 253 DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS = 0x79627572, 254 DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES = 0x746c6173, 255 DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS = 0x666e6973, 256 DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS = 0x70636d73, 257 DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS = 0x6c706d73, 258 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 = 0x31307373, 259 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 = 0x32307373, 260 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 = 0x33307373, 261 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 = 0x34307373, 262 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 = 0x35307373, 263 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 = 0x36307373, 264 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 = 0x37307373, 265 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 = 0x38307373, 266 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 = 0x39307373, 267 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 = 0x30317373, 268 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 = 0x31317373, 269 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 = 0x32317373, 270 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 = 0x33317373, 271 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 = 0x34317373, 272 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 = 0x35317373, 273 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 = 0x36317373, 274 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 = 0x37317373, 275 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 = 0x38317373, 276 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 = 0x39317373, 277 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 = 0x30327373, 278 DWRITE_FONT_FEATURE_TAG_SUBSCRIPT = 0x73627573, 279 DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT = 0x73707573, 280 DWRITE_FONT_FEATURE_TAG_SWASH = 0x68737773, 281 DWRITE_FONT_FEATURE_TAG_TITLING = 0x6c746974, 282 DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS = 0x6d616e74, 283 DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES = 0x6d756e74, 284 DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS = 0x64617274, 285 DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS = 0x64697774, 286 DWRITE_FONT_FEATURE_TAG_UNICASE = 0x63696e75, 287 DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO = 0x6f72657a 288} DWRITE_FONT_FEATURE_TAG; 289 290typedef enum DWRITE_FONT_FILE_TYPE { 291 DWRITE_FONT_FILE_TYPE_UNKNOWN = 0, 292 DWRITE_FONT_FILE_TYPE_CFF, 293 DWRITE_FONT_FILE_TYPE_TRUETYPE, 294 DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION, 295 DWRITE_FONT_FILE_TYPE_TYPE1_PFM, 296 DWRITE_FONT_FILE_TYPE_TYPE1_PFB, 297 DWRITE_FONT_FILE_TYPE_VECTOR, 298 DWRITE_FONT_FILE_TYPE_BITMAP 299} DWRITE_FONT_FILE_TYPE; 300 301typedef enum DWRITE_FONT_SIMULATIONS { 302 DWRITE_FONT_SIMULATIONS_NONE = 0x0000, 303 DWRITE_FONT_SIMULATIONS_BOLD = 0x0001, 304 DWRITE_FONT_SIMULATIONS_OBLIQUE = 0x0002 305} DWRITE_FONT_SIMULATIONS; 306 307#ifdef DEFINE_ENUM_FLAG_OPERATORS 308DEFINE_ENUM_FLAG_OPERATORS(DWRITE_FONT_SIMULATIONS); 309#endif 310 311typedef enum DWRITE_FONT_STRETCH { 312 DWRITE_FONT_STRETCH_UNDEFINED = 0, 313 DWRITE_FONT_STRETCH_ULTRA_CONDENSED = 1, 314 DWRITE_FONT_STRETCH_EXTRA_CONDENSED = 2, 315 DWRITE_FONT_STRETCH_CONDENSED = 3, 316 DWRITE_FONT_STRETCH_SEMI_CONDENSED = 4, 317 DWRITE_FONT_STRETCH_NORMAL = 5, 318 DWRITE_FONT_STRETCH_MEDIUM = 5, 319 DWRITE_FONT_STRETCH_SEMI_EXPANDED = 6, 320 DWRITE_FONT_STRETCH_EXPANDED = 7, 321 DWRITE_FONT_STRETCH_EXTRA_EXPANDED = 8, 322 DWRITE_FONT_STRETCH_ULTRA_EXPANDED = 9 323} DWRITE_FONT_STRETCH; 324 325typedef enum DWRITE_FONT_STYLE { 326 DWRITE_FONT_STYLE_NORMAL = 0, 327 DWRITE_FONT_STYLE_OBLIQUE, 328 DWRITE_FONT_STYLE_ITALIC 329} DWRITE_FONT_STYLE; 330 331typedef enum DWRITE_FONT_WEIGHT { 332 DWRITE_FONT_WEIGHT_THIN = 100, 333 DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200, 334 DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200, 335 DWRITE_FONT_WEIGHT_LIGHT = 300, 336 DWRITE_FONT_WEIGHT_NORMAL = 400, 337 DWRITE_FONT_WEIGHT_REGULAR = 400, 338 DWRITE_FONT_WEIGHT_MEDIUM = 500, 339 DWRITE_FONT_WEIGHT_DEMI_BOLD = 600, 340 DWRITE_FONT_WEIGHT_SEMI_BOLD = 600, 341 DWRITE_FONT_WEIGHT_BOLD = 700, 342 DWRITE_FONT_WEIGHT_EXTRA_BOLD = 800, 343 DWRITE_FONT_WEIGHT_ULTRA_BOLD = 800, 344 DWRITE_FONT_WEIGHT_BLACK = 900, 345 DWRITE_FONT_WEIGHT_HEAVY = 900, 346 DWRITE_FONT_WEIGHT_EXTRA_BLACK = 950, 347 DWRITE_FONT_WEIGHT_ULTRA_BLACK = 950 348} DWRITE_FONT_WEIGHT; 349 350typedef enum DWRITE_LINE_SPACING_METHOD { 351 DWRITE_LINE_SPACING_METHOD_DEFAULT = 0, 352 DWRITE_LINE_SPACING_METHOD_UNIFORM 353} DWRITE_LINE_SPACING_METHOD; 354 355typedef enum DWRITE_NUMBER_SUBSTITUTION_METHOD { 356 DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE = 0, 357 DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL, 358 DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE, 359 DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL, 360 DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL 361} DWRITE_NUMBER_SUBSTITUTION_METHOD; 362 363typedef enum DWRITE_PARAGRAPH_ALIGNMENT { 364 DWRITE_PARAGRAPH_ALIGNMENT_NEAR = 0, 365 DWRITE_PARAGRAPH_ALIGNMENT_FAR, 366 DWRITE_PARAGRAPH_ALIGNMENT_CENTER 367} DWRITE_PARAGRAPH_ALIGNMENT; 368 369typedef enum DWRITE_PIXEL_GEOMETRY { 370 DWRITE_PIXEL_GEOMETRY_FLAT = 0, 371 DWRITE_PIXEL_GEOMETRY_RGB, 372 DWRITE_PIXEL_GEOMETRY_BGR 373} DWRITE_PIXEL_GEOMETRY; 374 375typedef enum DWRITE_READING_DIRECTION { 376 DWRITE_READING_DIRECTION_LEFT_TO_RIGHT = 0, 377 DWRITE_READING_DIRECTION_RIGHT_TO_LEFT 378} DWRITE_READING_DIRECTION; 379 380typedef enum DWRITE_RENDERING_MODE { 381 DWRITE_RENDERING_MODE_DEFAULT = 0, 382 DWRITE_RENDERING_MODE_ALIASED, 383 DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC, 384 DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL, 385 DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL, 386 DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC, 387 DWRITE_RENDERING_MODE_OUTLINE 388} DWRITE_RENDERING_MODE; 389 390typedef enum DWRITE_SCRIPT_SHAPES { 391 DWRITE_SCRIPT_SHAPES_DEFAULT = 0, 392 DWRITE_SCRIPT_SHAPES_NO_VISUAL = 1 393} DWRITE_SCRIPT_SHAPES; 394 395typedef enum DWRITE_TEXT_ALIGNMENT { 396 DWRITE_TEXT_ALIGNMENT_LEADING = 0, 397 DWRITE_TEXT_ALIGNMENT_TRAILING, 398 DWRITE_TEXT_ALIGNMENT_CENTER 399} DWRITE_TEXT_ALIGNMENT; 400 401typedef enum DWRITE_TEXTURE_TYPE { 402 DWRITE_TEXTURE_ALIASED_1x1 = 0, 403 DWRITE_TEXTURE_CLEARTYPE_3x1 404} DWRITE_TEXTURE_TYPE; 405 406typedef enum DWRITE_TRIMMING_GRANULARITY { 407 DWRITE_TRIMMING_GRANULARITY_NONE, 408 DWRITE_TRIMMING_GRANULARITY_CHARACTER, 409 DWRITE_TRIMMING_GRANULARITY_WORD 410} DWRITE_TRIMMING_GRANULARITY; 411 412typedef enum DWRITE_WORD_WRAPPING { 413 DWRITE_WORD_WRAPPING_WRAP, 414 DWRITE_WORD_WRAPPING_NO_WRAP 415} DWRITE_WORD_WRAPPING; 416 417typedef struct _DWRITE_OVERHANG_METRICS { 418 FLOAT left; 419 FLOAT top; 420 FLOAT right; 421 FLOAT bottom; 422} DWRITE_OVERHANG_METRICS, *PDWRITE_OVERHANG_METRICS; 423 424typedef struct DWRITE_CLUSTER_METRICS { 425 FLOAT width; 426 UINT16 length; 427 UINT16 canWrapLineAfter :1; 428 UINT16 isWhitespace :1; 429 UINT16 isNewline :1; 430 UINT16 isSoftHyphen :1; 431 UINT16 isRightToLeft :1; 432 UINT16 padding :11; 433} DWRITE_CLUSTER_METRICS; 434 435typedef struct DWRITE_FONT_FEATURE { 436 DWRITE_FONT_FEATURE_TAG nameTag; 437 UINT32 parameter; 438} DWRITE_FONT_FEATURE; 439 440typedef struct DWRITE_FONT_METRICS { 441 UINT16 designUnitsPerEm; 442 UINT16 ascent; 443 UINT16 descent; 444 INT16 lineGap; 445 UINT16 capHeight; 446 UINT16 xHeight; 447 INT16 underlinePosition; 448 UINT16 underlineThickness; 449 INT16 strikethroughPosition; 450 UINT16 strikethroughThickness; 451} DWRITE_FONT_METRICS; 452 453typedef struct DWRITE_GLYPH_METRICS { 454 INT32 leftSideBearing; 455 UINT32 advanceWidth; 456 INT32 rightSideBearing; 457 INT32 topSideBearing; 458 UINT32 advanceHeight; 459 INT32 bottomSideBearing; 460 INT32 verticalOriginY; 461} DWRITE_GLYPH_METRICS; 462 463typedef struct DWRITE_GLYPH_OFFSET { 464 FLOAT advanceOffset; 465 FLOAT ascenderOffset; 466} DWRITE_GLYPH_OFFSET; 467 468typedef struct DWRITE_GLYPH_RUN { 469 IDWriteFontFace *fontFace; 470 FLOAT fontEmSize; 471 UINT32 glyphCount; 472 const UINT16 *glyphIndices; 473 const FLOAT *glyphAdvances; 474 const DWRITE_GLYPH_OFFSET *glyphOffsets; 475 WINBOOL isSideways; 476 UINT32 bidiLevel; 477} DWRITE_GLYPH_RUN; 478 479typedef struct DWRITE_GLYPH_RUN_DESCRIPTION { 480 const WCHAR *localeName; 481 const WCHAR *string; 482 UINT32 stringLength; 483 const UINT16 *clusterMap; 484 UINT32 textPosition; 485} DWRITE_GLYPH_RUN_DESCRIPTION; 486 487typedef struct DWRITE_HIT_TEST_METRICS { 488 UINT32 textPosition; 489 UINT32 length; 490 FLOAT left; 491 FLOAT top; 492 FLOAT width; 493 FLOAT height; 494 UINT32 bidiLevel; 495 WINBOOL isText; 496} DWRITE_HIT_TEST_METRICS; 497 498typedef struct DWRITE_INLINE_OBJECT_METRICS { 499 FLOAT width; 500 FLOAT height; 501 FLOAT baseline; 502 WINBOOL supportsSideways; 503} DWRITE_INLINE_OBJECT_METRICS; 504 505typedef struct DWRITE_LINE_BREAKPOINT { 506 UINT8 breakConditionBefore :2; 507 UINT8 breakConditionAfter :2; 508 UINT8 isWhitespace :1; 509 UINT8 isSoftHyphen :1; 510 UINT8 padding :2; 511} DWRITE_LINE_BREAKPOINT; 512 513typedef struct DWRITE_LINE_METRICS { 514 UINT32 length; 515 UINT32 trailingWhitespaceLength; 516 UINT32 newlineLength; 517 FLOAT height; 518 FLOAT baseline; 519 WINBOOL isTrimmed; 520} DWRITE_LINE_METRICS; 521 522typedef struct DWRITE_MATRIX { 523 FLOAT m11; 524 FLOAT m12; 525 FLOAT m21; 526 FLOAT m22; 527 FLOAT dx; 528 FLOAT dy; 529} DWRITE_MATRIX; 530 531typedef struct DWRITE_SCRIPT_ANALYSIS { 532 UINT16 script; 533 DWRITE_SCRIPT_SHAPES shapes; 534} DWRITE_SCRIPT_ANALYSIS; 535 536typedef struct DWRITE_SHAPING_GLYPH_PROPERTIES { 537 UINT16 justification :4; 538 UINT16 isClusterStart :1; 539 UINT16 isDiacritic :1; 540 UINT16 isZeroWidthSpace :1; 541 UINT16 reserved :9; 542} DWRITE_SHAPING_GLYPH_PROPERTIES; 543 544typedef struct DWRITE_SHAPING_TEXT_PROPERTIES { 545 UINT16 isShapedAlone :1; 546 UINT16 reserved :15; 547} DWRITE_SHAPING_TEXT_PROPERTIES; 548 549typedef struct DWRITE_STRIKETHROUGH { 550 FLOAT width; 551 FLOAT thickness; 552 FLOAT offset; 553 DWRITE_READING_DIRECTION readingDirection; 554 DWRITE_FLOW_DIRECTION flowDirection; 555 const WCHAR *localeName; 556 DWRITE_MEASURING_MODE measuringMode; 557} DWRITE_STRIKETHROUGH; 558 559typedef struct DWRITE_TEXT_METRICS { 560 FLOAT left; 561 FLOAT top; 562 FLOAT width; 563 FLOAT widthIncludingTrailingWhitespace; 564 FLOAT height; 565 FLOAT layoutWidth; 566 FLOAT layoutHeight; 567 UINT32 maxBidiReorderingDepth; 568} DWRITE_TEXT_METRICS; 569 570typedef struct DWRITE_TEXT_RANGE { 571 UINT32 startPosition; 572 UINT32 length; 573} DWRITE_TEXT_RANGE; 574 575typedef struct DWRITE_TRIMMING { 576 DWRITE_TRIMMING_GRANULARITY granularity; 577 UINT32 delimiter; 578 UINT32 delimiterCount; 579} DWRITE_TRIMMING; 580 581typedef struct DWRITE_TYPOGRAPHIC_FEATURES { 582 DWRITE_FONT_FEATURE *features; 583 UINT32 featureCount; 584} DWRITE_TYPOGRAPHIC_FEATURES; 585 586typedef struct DWRITE_UNDERLINE { 587 FLOAT width; 588 FLOAT thickness; 589 FLOAT offset; 590 FLOAT runHeight; 591 DWRITE_READING_DIRECTION readingDirection; 592 DWRITE_FLOW_DIRECTION flowDirection; 593 const WCHAR *localeName; 594 DWRITE_MEASURING_MODE measuringMode; 595} DWRITE_UNDERLINE; 596 597#define DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d) ( \ 598 (static_cast<UINT32>(static_cast<UINT8>(d)) << 24) | \ 599 (static_cast<UINT32>(static_cast<UINT8>(c)) << 16) | \ 600 (static_cast<UINT32>(static_cast<UINT8>(b)) << 8) | \ 601 static_cast<UINT32>(static_cast<UINT8>(a))) 602 603#ifndef __MINGW_DEF_ARG_VAL 604#ifdef __cplusplus 605#define __MINGW_DEF_ARG_VAL(x) = x 606#else 607#define __MINGW_DEF_ARG_VAL(x) 608#endif 609#endif 610 611#undef INTERFACE 612#define INTERFACE IDWriteBitmapRenderTarget 613DECLARE_INTERFACE_(IDWriteBitmapRenderTarget,IUnknown) 614{ 615 BEGIN_INTERFACE 616 617 /* IUnknown methods */ 618 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 619 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 620 STDMETHOD_(ULONG, Release)(THIS) PURE; 621 622 /* IDWriteBitmapRenderTarget methods */ 623 STDMETHOD(DrawGlyphRun)(THIS_ 624 FLOAT baselineOriginX, 625 FLOAT baselineOriginY, 626 DWRITE_MEASURING_MODE measuringMode, 627 DWRITE_GLYPH_RUN const *glyphRun, 628 IDWriteRenderingParams *renderingParams, 629 COLORREF textColor, 630 RECT *blackBoxRect __MINGW_DEF_ARG_VAL(NULL)) PURE; 631 632 STDMETHOD_(HDC, GetMemoryDC)(THIS) PURE; 633 STDMETHOD_(FLOAT, GetPixelsPerDip)(THIS) PURE; 634 635 STDMETHOD(SetPixelsPerDip)(THIS_ 636 FLOAT pixelsPerDip) PURE; 637 638 STDMETHOD(GetCurrentTransform)(THIS_ 639 DWRITE_MATRIX* transform) PURE; 640 641 STDMETHOD(SetCurrentTransform)(THIS_ 642 DWRITE_MATRIX const *transform) PURE; 643 644 STDMETHOD(GetSize)(THIS_ 645 SIZE *size) PURE; 646 647 STDMETHOD(Resize)(THIS_ 648 UINT32 width, 649 UINT32 height) PURE; 650 651 END_INTERFACE 652}; 653#ifdef COBJMACROS 654#define IDWriteBitmapRenderTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 655#define IDWriteBitmapRenderTarget_AddRef(This) (This)->lpVtbl->AddRef(This) 656#define IDWriteBitmapRenderTarget_Release(This) (This)->lpVtbl->Release(This) 657#define IDWriteBitmapRenderTarget_DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuringMode,glyphRun,renderingParams,textColor,blackBoxRect) (This)->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuringMode,glyphRun,renderingParams,textColor,blackBoxRect) 658#define IDWriteBitmapRenderTarget_GetCurrentTransform(This,transform) (This)->lpVtbl->GetCurrentTransform(This,transform) 659#define IDWriteBitmapRenderTarget_GetMemoryDC() (This)->lpVtbl->GetMemoryDC(This) 660#define IDWriteBitmapRenderTarget_GetPixelsPerDip() (This)->lpVtbl->GetPixelsPerDip(This) 661#define IDWriteBitmapRenderTarget_GetSize(This,size) (This)->lpVtbl->GetSize(This,size) 662#define IDWriteBitmapRenderTarget_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) 663#define IDWriteBitmapRenderTarget_SetCurrentTransform(This,transform) (This)->lpVtbl->SetCurrentTransform(This,transform) 664#define IDWriteBitmapRenderTarget_SetPixelsPerDip(This,pixelsPerDip) (This)->lpVtbl->SetPixelsPerDip(This,pixelsPerDip) 665#endif /*COBJMACROS*/ 666 667#undef INTERFACE 668#define INTERFACE IDWriteFactory 669DECLARE_INTERFACE_(IDWriteFactory,IUnknown) 670{ 671 BEGIN_INTERFACE 672 673 /* IUnknown methods */ 674 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 675 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 676 STDMETHOD_(ULONG, Release)(THIS) PURE; 677 678 /* IDWriteFactory methods */ 679 STDMETHOD(GetSystemFontCollection)(THIS_ 680 IDWriteFontCollection **fontCollection, 681 WINBOOL checkForUpdates __MINGW_DEF_ARG_VAL(FALSE)) PURE; 682 683 STDMETHOD(CreateCustomFontCollection)(THIS_ 684 IDWriteFontCollectionLoader *collectionLoader, 685 void const *collectionKey, 686 UINT32 collectionKeySize, 687 IDWriteFontCollection **fontCollection) PURE; 688 689 STDMETHOD(RegisterFontCollectionLoader)(THIS_ 690 IDWriteFontCollectionLoader *fontCollectionLoader) PURE; 691 692 STDMETHOD(UnregisterFontCollectionLoader)(THIS_ 693 IDWriteFontCollectionLoader *fontCollectionLoader) PURE; 694 695 STDMETHOD(CreateFontFileReference)(THIS_ 696 WCHAR const *filePath, 697 FILETIME const *lastWriteTime, 698 IDWriteFontFile **fontFile) PURE; 699 700 STDMETHOD(CreateCustomFontFileReference)(THIS_ 701 void const *fontFileReferenceKey, 702 UINT32 fontFileReferenceKeySize, 703 IDWriteFontFileLoader *fontFileLoader, 704 IDWriteFontFile **fontFile) PURE; 705 706 STDMETHOD(CreateFontFace)(THIS_ 707 DWRITE_FONT_FACE_TYPE fontFaceType, 708 UINT32 numberOfFiles, 709 IDWriteFontFile *const *fontFiles, 710 UINT32 faceIndex, 711 DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags, 712 IDWriteFontFace **fontFace) PURE; 713 714 STDMETHOD(CreateRenderingParams)(THIS_ 715 IDWriteRenderingParams **renderingParams) PURE; 716 717 STDMETHOD(CreateMonitorRenderingParams)(THIS_ 718 HMONITOR monitor, 719 IDWriteRenderingParams **renderingParams) PURE; 720 721 STDMETHOD(CreateCustomRenderingParams)(THIS_ 722 FLOAT gamma, 723 FLOAT enhancedContrast, 724 FLOAT clearTypeLevel, 725 DWRITE_PIXEL_GEOMETRY pixelGeometry, 726 DWRITE_RENDERING_MODE renderingMode, 727 IDWriteRenderingParams **renderingParams) PURE; 728 729 STDMETHOD(RegisterFontFileLoader)(THIS_ 730 IDWriteFontFileLoader *fontFileLoader) PURE; 731 732 STDMETHOD(UnregisterFontFileLoader)(THIS_ 733 IDWriteFontFileLoader *fontFileLoader) PURE; 734 735 STDMETHOD(CreateTextFormat)(THIS_ 736 WCHAR const *fontFamilyName, 737 IDWriteFontCollection *fontCollection, 738 DWRITE_FONT_WEIGHT fontWeight, 739 DWRITE_FONT_STYLE fontStyle, 740 DWRITE_FONT_STRETCH fontStretch, 741 FLOAT fontSize, 742 WCHAR const *localeName, 743 IDWriteTextFormat **textFormat) PURE; 744 745 STDMETHOD(CreateTypography)(THIS_ 746 IDWriteTypography **typography) PURE; 747 748 STDMETHOD(GetGdiInterop)(THIS_ 749 IDWriteGdiInterop **gdiInterop) PURE; 750 751 STDMETHOD(CreateTextLayout)(THIS_ 752 WCHAR const *string, 753 UINT32 stringLength, 754 IDWriteTextFormat *textFormat, 755 FLOAT maxWidth, 756 FLOAT maxHeight, 757 IDWriteTextLayout **textLayout) PURE; 758 759 STDMETHOD(CreateGdiCompatibleTextLayout)(THIS_ 760 WCHAR const *string, 761 UINT32 stringLength, 762 IDWriteTextFormat *textFormat, 763 FLOAT layoutWidth, 764 FLOAT layoutHeight, 765 FLOAT pixelsPerDip, 766 DWRITE_MATRIX const *transform, 767 WINBOOL useGdiNatural, 768 IDWriteTextLayout **textLayout) PURE; 769 770 STDMETHOD(CreateEllipsisTrimmingSign)(THIS_ 771 IDWriteTextFormat *textFormat, 772 IDWriteInlineObject **trimmingSign) PURE; 773 774 STDMETHOD(CreateTextAnalyzer)(THIS_ 775 IDWriteTextAnalyzer **textAnalyzer) PURE; 776 777 STDMETHOD(CreateNumberSubstitution)(THIS_ 778 DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod, 779 WCHAR const *localeName, 780 WINBOOL ignoreUserOverride, 781 IDWriteNumberSubstitution **numberSubstitution) PURE; 782 783 STDMETHOD(CreateGlyphRunAnalysis)(THIS_ 784 DWRITE_GLYPH_RUN const *glyphRun, 785 FLOAT pixelsPerDip, 786 DWRITE_MATRIX const *transform, 787 DWRITE_RENDERING_MODE renderingMode, 788 DWRITE_MEASURING_MODE measuringMode, 789 FLOAT baselineOriginX, 790 FLOAT baselineOriginY, 791 IDWriteGlyphRunAnalysis **glyphRunAnalysis) PURE; 792 793 END_INTERFACE 794}; 795#ifdef COBJMACROS 796#define IDWriteFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 797#define IDWriteFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 798#define IDWriteFactory_Release(This) (This)->lpVtbl->Release(This) 799#define IDWriteFactory_CreateCustomFontCollection(This,collectionLoader,collectionKey,collectionKeySize,fontCollection) (This)->lpVtbl->CreateCustomFontCollection(This,collectionLoader,collectionKey,collectionKeySize,fontCollection) 800#define IDWriteFactory_CreateCustomFontFileReference(This,fontFileReferenceKey,fontFileReferenceKeySize,fontFileLoader,fontFile) (This)->lpVtbl->CreateCustomFontFileReference(This,fontFileReferenceKey,fontFileReferenceKeySize,fontFileLoader,fontFile) 801#define IDWriteFactory_CreateCustomRenderingParams(This,gamma,enhancedContrast,clearTypeLevel,pixelGeometry,renderingMode,renderingParams) (This)->lpVtbl->CreateCustomRenderingParams(This,gamma,enhancedContrast,clearTypeLevel,pixelGeometry,renderingMode,renderingParams) 802#define IDWriteFactory_CreateGdiCompatibleTextLayout(This,string,stringLength,textFormat,layoutWidth,layoutHeight,pixelsPerDip,transform,useGdiNatural,textLayout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This,string,stringLength,textFormat,layoutWidth,layoutHeight,pixelsPerDip,transform,useGdiNatural,textLayout) 803#define IDWriteFactory_CreateEllipsisTrimmingSign(This,textFormat,trimmingSign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,textFormat,trimmingSign) 804#define IDWriteFactory_CreateFontFace(This,fontFaceType,numberOfFiles,fontFiles,faceIndex,fontFaceSimulationFlags,fontFace) (This)->lpVtbl->CreateFontFace(This,fontFaceType,numberOfFiles,fontFiles,faceIndex,fontFaceSimulationFlags,fontFace) 805#define IDWriteFactory_CreateFontFileReference(This,filePath,lastWriteTime,fontFile) (This)->lpVtbl->CreateFontFileReference(This,filePath,lastWriteTime,fontFile) 806#define IDWriteFactory_CreateGlyphRunAnalysis(This,glyphRun,pixelsPerDip,transform,renderingMode,measuringMode,baselineOriginX,baselineOriginY,glyphRunAnalysis) (This)->lpVtbl->CreateGlyphRunAnalysis(This,glyphRun,pixelsPerDip,transform,renderingMode,measuringMode,baselineOriginX,baselineOriginY,glyphRunAnalysis) 807#define IDWriteFactory_CreateMonitorRenderingParams(This,monitor,renderingParams) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,renderingParams) 808#define IDWriteFactory_CreateNumberSubstitution(This,substitutionMethod,localeName,ignoreUserOverride,numberSubstitution) (This)->lpVtbl->CreateNumberSubstitution(This,substitutionMethod,localeName,ignoreUserOverride,numberSubstitution) 809#define IDWriteFactory_CreateRenderingParams(This,renderingParams) (This)->lpVtbl->CreateRenderingParams(This,renderingParams) 810#define IDWriteFactory_CreateTextAnalyzer(This,textAnalyzer) (This)->lpVtbl->CreateTextAnalyzer(This,textAnalyzer) 811#define IDWriteFactory_CreateTextFormat(This,fontFamilyName,fontCollection,fontWeight,fontStyle,fontStretch,fontSize,localeName,textFormat) (This)->lpVtbl->CreateTextFormat(This,fontFamilyName,fontCollection,fontWeight,fontStyle,fontStretch,fontSize,localeName,textFormat) 812#define IDWriteFactory_CreateTextLayout(This,string,stringLength,textFormat,maxWidth,maxHeight,textLayout) (This)->lpVtbl->CreateTextLayout(This,string,stringLength,textFormat,maxWidth,maxHeight,textLayout) 813#define IDWriteFactory_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 814#define IDWriteFactory_GetGdiInterop(This,gdiInterop) (This)->lpVtbl->GetGdiInterop(This,gdiInterop) 815#define IDWriteFactory_GetSystemFontCollection(This,fontCollection,checkForUpdates) (This)->lpVtbl->GetSystemFontCollection(This,fontCollection,checkForUpdates) 816#define IDWriteFactory_RegisterFontCollectionLoader(This,fontCollectionLoader) (This)->lpVtbl->RegisterFontCollectionLoader(This,fontCollectionLoader) 817#define IDWriteFactory_RegisterFontFileLoader(This,fontFileLoader) (This)->lpVtbl->RegisterFontFileLoader(This,fontFileLoader) 818#define IDWriteFactory_UnregisterFontCollectionLoader(This,fontCollectionLoader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,fontCollectionLoader) 819#define IDWriteFactory_UnregisterFontFileLoader(This,fontFileLoader) (This)->lpVtbl->UnregisterFontFileLoader(This,fontFileLoader) 820#endif /*COBJMACROS*/ 821 822#undef INTERFACE 823#define INTERFACE IDWriteFont 824DECLARE_INTERFACE_(IDWriteFont,IUnknown) 825{ 826 BEGIN_INTERFACE 827 828 /* IUnknown methods */ 829 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 830 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 831 STDMETHOD_(ULONG, Release)(THIS) PURE; 832 833 /* IDWriteFont methods */ 834 STDMETHOD(GetFontFamily)(THIS_ 835 IDWriteFontFamily **fontFamily) PURE; 836 837 STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)(THIS) PURE; 838 STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)(THIS) PURE; 839 STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)(THIS) PURE; 840 STDMETHOD_(WINBOOL, IsSymbolFont)(THIS) PURE; 841 842 STDMETHOD(GetFaceNames)(THIS_ 843 IDWriteLocalizedStrings **names) PURE; 844 845 STDMETHOD(GetInformationalStrings)(THIS_ 846 DWRITE_INFORMATIONAL_STRING_ID informationalStringID, 847 IDWriteLocalizedStrings **informationalStrings, 848 WINBOOL *exists) PURE; 849 850 STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)(THIS) PURE; 851 852 STDMETHOD_(void, GetMetrics)(THIS_ 853 DWRITE_FONT_METRICS *fontMetrics) PURE; 854 855 STDMETHOD(HasCharacter)(THIS_ 856 UINT32 unicodeValue, 857 WINBOOL *exists) PURE; 858 859 STDMETHOD(CreateFontFace)(THIS_ 860 IDWriteFontFace **fontFace) PURE; 861 862 END_INTERFACE 863}; 864#ifdef COBJMACROS 865#define IDWriteFont_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 866#define IDWriteFont_AddRef(This) (This)->lpVtbl->AddRef(This) 867#define IDWriteFont_Release(This) (This)->lpVtbl->Release(This) 868#define IDWriteFont_CreateFontFace(This,fontFace) (This)->lpVtbl->CreateFontFace(This,fontFace) 869#define IDWriteFont_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 870#define IDWriteFont_GetFontFamily(This,fontFamily) (This)->lpVtbl->GetFontFamily(This,fontFamily) 871#define IDWriteFont_GetInformationalStrings(This,informationalStringID,informationalStrings,exists) (This)->lpVtbl->GetInformationalStrings(This,informationalStringID,informationalStrings,exists) 872#define IDWriteFont_GetMetrics(This,fontMetrics) (This)->lpVtbl->GetMetrics(This,fontMetrics) 873#define IDWriteFont_GetSimulations() (This)->lpVtbl->GetSimulations(This) 874#define IDWriteFont_GetStretch() (This)->lpVtbl->GetStretch(This) 875#define IDWriteFont_GetStyle() (This)->lpVtbl->GetStyle(This) 876#define IDWriteFont_GetWeight() (This)->lpVtbl->GetWeight(This) 877#define IDWriteFont_HasCharacter(This,unicodeValue,exists) (This)->lpVtbl->HasCharacter(This,unicodeValue,exists) 878#define IDWriteFont_IsSymbolFont() (This)->lpVtbl->IsSymbolFont(This) 879#endif /*COBJMACROS*/ 880 881#undef INTERFACE 882#define INTERFACE IDWriteFontCollection 883DECLARE_INTERFACE_(IDWriteFontCollection,IUnknown) 884{ 885 BEGIN_INTERFACE 886 887 /* IUnknown methods */ 888 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 889 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 890 STDMETHOD_(ULONG, Release)(THIS) PURE; 891 892 /* IDWriteFontCollection methods */ 893 STDMETHOD_(UINT32, GetFontFamilyCount)(THIS) PURE; 894 895 STDMETHOD(GetFontFamily)(THIS_ 896 UINT32 index, 897 IDWriteFontFamily **fontFamily) PURE; 898 899 STDMETHOD(FindFamilyName)(THIS_ 900 WCHAR const *familyName, 901 UINT32 *index, 902 WINBOOL *exists) PURE; 903 904 STDMETHOD(GetFontFromFontFace)(THIS_ 905 IDWriteFontFace* fontFace, 906 IDWriteFont **font) PURE; 907 908 END_INTERFACE 909}; 910#ifdef COBJMACROS 911#define IDWriteFontCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 912#define IDWriteFontCollection_AddRef(This) (This)->lpVtbl->AddRef(This) 913#define IDWriteFontCollection_Release(This) (This)->lpVtbl->Release(This) 914#define IDWriteFontCollection_FindFamilyName(This,familyName,index,exists) (This)->lpVtbl->FindFamilyName(This,familyName,index,exists) 915#define IDWriteFontCollection_GetFontFamily(This,index,fontFamily) (This)->lpVtbl->GetFontFamily(This,index,fontFamily) 916#define IDWriteFontCollection_GetFontFamilyCount() (This)->lpVtbl->GetFontFamilyCount(This) 917#define IDWriteFontCollection_GetFontFromFontFace(This,fontFace,font) (This)->lpVtbl->GetFontFromFontFace(This,fontFace,font) 918#endif /*COBJMACROS*/ 919 920#undef INTERFACE 921#define INTERFACE IDWriteFontFace 922DECLARE_INTERFACE_(IDWriteFontFace,IUnknown) 923{ 924 BEGIN_INTERFACE 925 926 /* IUnknown methods */ 927 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 928 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 929 STDMETHOD_(ULONG, Release)(THIS) PURE; 930 931 /* IDWriteFontFace methods */ 932 STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)(THIS) PURE; 933 934 STDMETHOD(GetFiles)(THIS_ 935 UINT32 *numberOfFiles, 936 IDWriteFontFile **fontFiles) PURE; 937 938 STDMETHOD_(UINT32, GetIndex)(THIS) PURE; 939 STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)(THIS) PURE; 940 STDMETHOD_(WINBOOL, IsSymbolFont)(THIS) PURE; 941 942 STDMETHOD_(void, GetMetrics)(THIS_ 943 DWRITE_FONT_METRICS *fontFaceMetrics) PURE; 944 945 STDMETHOD_(UINT16, GetGlyphCount)(THIS) PURE; 946 947 STDMETHOD(GetDesignGlyphMetrics)(THIS_ 948 UINT16 const *glyphIndices, 949 UINT32 glyphCount, 950 DWRITE_GLYPH_METRICS *glyphMetrics, 951 WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; 952 953 STDMETHOD(GetGlyphIndices)(THIS_ 954 UINT32 const *codePoints, 955 UINT32 codePointCount, 956 UINT16 *glyphIndices) PURE; 957 958 STDMETHOD(TryGetFontTable)(THIS_ 959 UINT32 openTypeTableTag, 960 const void **tableData, 961 UINT32 *tableSize, 962 void **tableContext, 963 WINBOOL *exists) PURE; 964 965 STDMETHOD_(void, ReleaseFontTable)(THIS_ 966 void *tableContext) PURE; 967 968 STDMETHOD(GetGlyphRunOutline)(THIS_ 969 FLOAT emSize, 970 UINT16 const *glyphIndices, 971 FLOAT const *glyphAdvances, 972 DWRITE_GLYPH_OFFSET const *glyphOffsets, 973 UINT32 glyphCount, 974 WINBOOL isSideways, 975 WINBOOL isRightToLeft, 976 IDWriteGeometrySink *geometrySink) PURE; 977 978 STDMETHOD(GetRecommendedRenderingMode)(THIS_ 979 FLOAT emSize, 980 FLOAT pixelsPerDip, 981 DWRITE_MEASURING_MODE measuringMode, 982 IDWriteRenderingParams *renderingParams, 983 DWRITE_RENDERING_MODE *renderingMode) PURE; 984 985 STDMETHOD(GetGdiCompatibleMetrics)(THIS_ 986 FLOAT emSize, 987 FLOAT pixelsPerDip, 988 DWRITE_MATRIX const *transform, 989 DWRITE_FONT_METRICS *fontFaceMetrics) PURE; 990 991 992 STDMETHOD(GetGdiCompatibleGlyphMetrics)(THIS_ 993 FLOAT emSize, 994 FLOAT pixelsPerDip, 995 DWRITE_MATRIX const *transform, 996 WINBOOL useGdiNatural, 997 UINT16 const *glyphIndices, 998 UINT32 glyphCount, 999 DWRITE_GLYPH_METRICS *glyphMetrics, 1000 WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; 1001 1002 END_INTERFACE 1003}; 1004#ifdef COBJMACROS 1005#define IDWriteFontFace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1006#define IDWriteFontFace_AddRef(This) (This)->lpVtbl->AddRef(This) 1007#define IDWriteFontFace_Release(This) (This)->lpVtbl->Release(This) 1008#define IDWriteFontFace_GetDesignGlyphMetrics(This,glyphIndices,glyphCount,glyphMetrics,isSideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyphIndices,glyphCount,glyphMetrics,isSideways) 1009#define IDWriteFontFace_GetFiles(This,fontFiles) (This)->lpVtbl->GetFiles(This,fontFiles) 1010#define IDWriteFontFace_GetGdiCompatibleMetrics(This,emSize,pixelsPerDip,transform,fontFaceMetrics) (This)->lpVtbl->GetGdiCompatibleMetrics(This,emSize,pixelsPerDip,transform,fontFaceMetrics) 1011#define IDWriteFontFace_GetGdiCompatibleGlyphMetrics(This,emSize,pixelsPerDip,transform,useGdiNatural,glyphIndices,glyphCount,glyphMetrics,isSideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixelsPerDip,transform,useGdiNatural,glyphIndices,glyphCount,glyphMetrics,isSideways) 1012#define IDWriteFontFace_GetGlyphCount() (This)->lpVtbl->GetGlyphCount(This) 1013#define IDWriteFontFace_GetGlyphIndices(This,codePoints,codePointCount,glyphIndices) (This)->lpVtbl->GetGlyphIndices(This,codePoints,codePointCount,glyphIndices) 1014#define IDWriteFontFace_GetGlyphRunOutline(This,emSize,glyphIndices,glyphOffsets,glyphCount,isSideways,isRightToLeft,geometrySink) (This)->lpVtbl->GetGlyphRunOutline(This,emSize,glyphIndices,glyphOffsets,glyphCount,isSideways,isRightToLeft,geometrySink) 1015#define IDWriteFontFace_GetIndex() (This)->lpVtbl->GetIndex(This) 1016#define IDWriteFontFace_GetMetrics(This,fontFaceMetrics) (This)->lpVtbl->GetMetrics(This,fontFaceMetrics) 1017#define IDWriteFontFace_GetRecommendedRenderingMode(This,emSize,pixelsPerDip,measuringMode,renderingParams,renderingMode) (This)->lpVtbl->GetRecommendedRenderingMode(This,emSize,pixelsPerDip,measuringMode,renderingParams,renderingMode) 1018#define IDWriteFontFace_GetSimulations() (This)->lpVtbl->GetSimulations(This) 1019#define IDWriteFontFace_GetType() (This)->lpVtbl->GetType(This) 1020#define IDWriteFontFace_IsSymbolFont() (This)->lpVtbl->IsSymbolFont(This) 1021#define IDWriteFontFace_ReleaseFontTable(This,tableContext) (This)->lpVtbl->ReleaseFontTable(This,tableContext) 1022#define IDWriteFontFace_TryGetFontTable(This,openTypeTableTag,tableData,tableSize,tableContext,exists) (This)->lpVtbl->TryGetFontTable(This,openTypeTableTag,tableData,tableSize,tableContext,exists) 1023#endif /*COBJMACROS*/ 1024 1025#undef INTERFACE 1026#define INTERFACE IDWriteFontList 1027DECLARE_INTERFACE_(IDWriteFontList,IUnknown) 1028{ 1029 BEGIN_INTERFACE 1030 1031 /* IUnknown methods */ 1032 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1033 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1034 STDMETHOD_(ULONG, Release)(THIS) PURE; 1035 1036 /* IDWriteFontList methods */ 1037 STDMETHOD(GetFontCollection)(THIS_ 1038 IDWriteFontCollection** fontCollection) PURE; 1039 1040 STDMETHOD_(UINT32, GetFontCount)(THIS) PURE; 1041 1042 STDMETHOD(GetFont)(THIS_ 1043 UINT32 index, 1044 IDWriteFont **font) PURE; 1045 1046 END_INTERFACE 1047}; 1048#ifdef COBJMACROS 1049#define IDWriteFontList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1050#define IDWriteFontList_AddRef(This) (This)->lpVtbl->AddRef(This) 1051#define IDWriteFontList_Release(This) (This)->lpVtbl->Release(This) 1052#define IDWriteFontList_GetFont(This,index,font) (This)->lpVtbl->GetFont(This,index,font) 1053#define IDWriteFontList_GetFontCollection(This,fontCollection) (This)->lpVtbl->GetFontCollection(This,fontCollection) 1054#define IDWriteFontList_GetFontCount() (This)->lpVtbl->GetFontCount(This) 1055#endif /*COBJMACROS*/ 1056 1057#undef INTERFACE 1058#define INTERFACE IDWriteFontFamily 1059DECLARE_INTERFACE_(IDWriteFontFamily,IDWriteFontList) 1060{ 1061 BEGIN_INTERFACE 1062 1063 /* IUnknown methods */ 1064 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1065 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1066 STDMETHOD_(ULONG, Release)(THIS) PURE; 1067 1068 /* IDWriteFontList methods */ 1069 STDMETHOD(GetFontCollection)(THIS_ 1070 IDWriteFontCollection** fontCollection) PURE; 1071 1072 STDMETHOD_(UINT32, GetFontCount)(THIS) PURE; 1073 1074 STDMETHOD(GetFont)(THIS_ 1075 UINT32 index, 1076 IDWriteFont **font) PURE; 1077 1078 /* IDWriteFontFamily methods */ 1079 STDMETHOD(GetFamilyNames)(THIS_ 1080 IDWriteLocalizedStrings **names) PURE; 1081 1082 STDMETHOD(GetFirstMatchingFont)(THIS_ 1083 DWRITE_FONT_WEIGHT weight, 1084 DWRITE_FONT_STRETCH stretch, 1085 DWRITE_FONT_STYLE style, 1086 IDWriteFont **matchingFont) PURE; 1087 1088 STDMETHOD(GetMatchingFonts)(THIS_ 1089 DWRITE_FONT_WEIGHT weight, 1090 DWRITE_FONT_STRETCH stretch, 1091 DWRITE_FONT_STYLE style, 1092 IDWriteFontList **matchingFonts) PURE; 1093 1094 END_INTERFACE 1095}; 1096#ifdef COBJMACROS 1097#define IDWriteFontFamily_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1098#define IDWriteFontFamily_AddRef(This) (This)->lpVtbl->AddRef(This) 1099#define IDWriteFontFamily_Release(This) (This)->lpVtbl->Release(This) 1100#define IDWriteFontFamily_GetFont(This,index,font) (This)->lpVtbl->GetFont(This,index,font) 1101#define IDWriteFontFamily_GetFontCollection(This,fontCollection) (This)->lpVtbl->GetFontCollection(This,fontCollection) 1102#define IDWriteFontFamily_GetFontCount() (This)->lpVtbl->GetFontCount(This) 1103#define IDWriteFontFamily_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 1104#define IDWriteFontFamily_GetFirstMatchingFont(This,weight,stretch,style,matchingFont) (This)->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,matchingFont) 1105#define IDWriteFontFamily_GetMatchingFonts(This,weight,stretch,style,matchingFonts) (This)->lpVtbl->GetMatchingFonts(This,weight,stretch,style,matchingFonts) 1106#endif /*COBJMACROS*/ 1107 1108#undef INTERFACE 1109#define INTERFACE IDWriteFontFile 1110DECLARE_INTERFACE_(IDWriteFontFile,IUnknown) 1111{ 1112 BEGIN_INTERFACE 1113 1114 /* IUnknown methods */ 1115 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1116 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1117 STDMETHOD_(ULONG, Release)(THIS) PURE; 1118 1119 /* IDWriteFontFile methods */ 1120 STDMETHOD(GetReferenceKey)(THIS_ 1121 void const **fontFileReferenceKey, 1122 UINT32 *fontFileReferenceKeySize) PURE; 1123 1124 STDMETHOD(GetLoader)(THIS_ 1125 IDWriteFontFileLoader **fontFileLoader) PURE; 1126 1127 STDMETHOD(Analyze)(THIS_ 1128 WINBOOL *isSupportedFontType, 1129 DWRITE_FONT_FILE_TYPE *fontFileType, 1130 DWRITE_FONT_FACE_TYPE *fontFaceType, 1131 UINT32 *numberOfFaces) PURE; 1132 1133 END_INTERFACE 1134}; 1135#ifdef COBJMACROS 1136#define IDWriteFontFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1137#define IDWriteFontFile_AddRef(This) (This)->lpVtbl->AddRef(This) 1138#define IDWriteFontFile_Release(This) (This)->lpVtbl->Release(This) 1139#define IDWriteFontFile_Analyze(This,isSupportedFontType,fontFileType,fontFaceType,numberOfFaces) (This)->lpVtbl->Analyze(This,isSupportedFontType,fontFileType,fontFaceType,numberOfFaces) 1140#define IDWriteFontFile_GetLoader(This,fontFileLoader) (This)->lpVtbl->GetLoader(This,fontFileLoader) 1141#define IDWriteFontFile_GetReferenceKey(This,fontFileReferenceKey,fontFileReferenceKeySize) (This)->lpVtbl->GetReferenceKey(This,fontFileReferenceKey,fontFileReferenceKeySize) 1142#endif /*COBJMACROS*/ 1143 1144#undef INTERFACE 1145#define INTERFACE IDWriteFontFileLoader 1146DECLARE_INTERFACE_(IDWriteFontFileLoader,IUnknown) 1147{ 1148 BEGIN_INTERFACE 1149 1150 /* IUnknown methods */ 1151 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1152 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1153 STDMETHOD_(ULONG, Release)(THIS) PURE; 1154 1155 /* IDWriteFontFileLoader methods */ 1156 STDMETHOD(CreateStreamFromKey)( 1157 void const *fontFileReferenceKey, 1158 UINT32 fontFileReferenceKeySize, 1159 IDWriteFontFileStream **fontFileStream) PURE; 1160 1161 END_INTERFACE 1162}; 1163#ifdef COBJMACROS 1164#define IDWriteFontFileLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1165#define IDWriteFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) 1166#define IDWriteFontFileLoader_Release(This) (This)->lpVtbl->Release(This) 1167#define IDWriteFontFileLoader_CreateStreamFromKey(This,fontFileReferenceKey,fontFileReferenceKeySize,fontFileStream) (This)->lpVtbl->CreateStreamFromKey(This,fontFileReferenceKey,fontFileReferenceKeySize,fontFileStream) 1168#endif /*COBJMACROS*/ 1169 1170#undef INTERFACE 1171#define INTERFACE IDWriteFontFileStream 1172DECLARE_INTERFACE_(IDWriteFontFileStream,IUnknown) 1173{ 1174 BEGIN_INTERFACE 1175 1176 /* IUnknown methods */ 1177 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1178 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1179 STDMETHOD_(ULONG, Release)(THIS) PURE; 1180 1181 /* IDWriteFontFileStream methods */ 1182 STDMETHOD(ReadFileFragment)(THIS_ 1183 void const **fragmentStart, 1184 UINT64 fileOffset, 1185 UINT64 fragmentSize, 1186 void** fragmentContext) PURE; 1187 1188 STDMETHOD_(void, ReleaseFileFragment)(THIS_ 1189 void *fragmentContext) PURE; 1190 1191 STDMETHOD(GetFileSize)(THIS_ 1192 UINT64 *fileSize) PURE; 1193 1194 STDMETHOD(GetLastWriteTime)(THIS_ 1195 UINT64 *lastWriteTime) PURE; 1196 1197 END_INTERFACE 1198}; 1199#ifdef COBJMACROS 1200#define IDWriteFontFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1201#define IDWriteFontFileStream_AddRef(This) (This)->lpVtbl->AddRef(This) 1202#define IDWriteFontFileStream_Release(This) (This)->lpVtbl->Release(This) 1203#define IDWriteFontFileStream_GetFileSize(This,fileSize) (This)->lpVtbl->GetFileSize(This,fileSize) 1204#define IDWriteFontFileStream_GetLastWriteTime(This,lastWriteTime) (This)->lpVtbl->GetLastWriteTime(This,lastWriteTime) 1205#define IDWriteFontFileStream_ReadFileFragment(This,fragmentStart,fileOffset,fragmentSize,fragmentContext) (This)->lpVtbl->ReadFileFragment(This,fragmentStart,fileOffset,fragmentSize,fragmentContext) 1206#define IDWriteFontFileStream_ReleaseFileFragment(This,fragmentContext) (This)->lpVtbl->ReleaseFileFragment(This,fragmentContext) 1207#endif /*COBJMACROS*/ 1208 1209#undef INTERFACE 1210#define INTERFACE IDWriteFontCollectionLoader 1211DECLARE_INTERFACE_(IDWriteFontCollectionLoader,IUnknown) 1212{ 1213 BEGIN_INTERFACE 1214 1215 /* IUnknown methods */ 1216 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1217 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1218 STDMETHOD_(ULONG, Release)(THIS) PURE; 1219 1220 /* IDWriteFontCollectionLoader methods */ 1221 STDMETHOD_(HRESULT,CreateEnumeratorFromKey)(THIS_ IDWriteFactory * factory,const void * collectionKey,UINT32 collectionKeySize,IDWriteFontFileEnumerator ** fontFileEnumerator) PURE; 1222 1223 END_INTERFACE 1224}; 1225#ifdef COBJMACROS 1226#define IDWriteFontCollectionLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1227#define IDWriteFontCollectionLoader_AddRef(This) (This)->lpVtbl->AddRef(This) 1228#define IDWriteFontCollectionLoader_Release(This) (This)->lpVtbl->Release(This) 1229#define IDWriteFontCollectionLoader_CreateEnumeratorFromKey(This,factory,collectionKey,collectionKeySize,fontFileEnumerator) (This)->lpVtbl->CreateEnumeratorFromKey(This,factory,collectionKey,collectionKeySize,fontFileEnumerator) 1230#endif /*COBJMACROS*/ 1231 1232#undef INTERFACE 1233#define INTERFACE IDWriteFontFileEnumerator 1234DECLARE_INTERFACE_(IDWriteFontFileEnumerator,IUnknown) 1235{ 1236 BEGIN_INTERFACE 1237 1238 /* IUnknown methods */ 1239 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1240 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1241 STDMETHOD_(ULONG, Release)(THIS) PURE; 1242 1243 /* IDWriteFontFileEnumerator methods */ 1244 STDMETHOD_(HRESULT,GetCurrentFontFile)(THIS_ IDWriteFontFile ** fontFile) PURE; 1245 STDMETHOD_(HRESULT,MoveNext)(THIS_ WINBOOL * hasCurrentFile) PURE; 1246 1247 END_INTERFACE 1248}; 1249#ifdef COBJMACROS 1250#define IDWriteFontFileEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1251#define IDWriteFontFileEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This) 1252#define IDWriteFontFileEnumerator_Release(This) (This)->lpVtbl->Release(This) 1253#define IDWriteFontFileEnumerator_GetCurrentFontFile(This,fontFile) (This)->lpVtbl->GetCurrentFontFile(This,fontFile) 1254#define IDWriteFontFileEnumerator_MoveNext(This,hasCurrentFile) (This)->lpVtbl->MoveNext(This,hasCurrentFile) 1255#endif /*COBJMACROS*/ 1256 1257#undef INTERFACE 1258#define INTERFACE IDWriteGdiInterop 1259DECLARE_INTERFACE_(IDWriteGdiInterop,IUnknown) 1260{ 1261 BEGIN_INTERFACE 1262 1263 /* IUnknown methods */ 1264 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1265 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1266 STDMETHOD_(ULONG, Release)(THIS) PURE; 1267 1268 /* IDWriteGdiInterop methods */ 1269 STDMETHOD(CreateFontFromLOGFONT)(THIS_ 1270 LOGFONTW const *logFont, 1271 IDWriteFont **font) PURE; 1272 1273 STDMETHOD(ConvertFontToLOGFONT)(THIS_ 1274 IDWriteFont *font, 1275 LOGFONTW *logFont, 1276 WINBOOL *isSystemFont) PURE; 1277 1278 STDMETHOD(ConvertFontFaceToLOGFONT)(THIS_ 1279 IDWriteFontFace *font, 1280 LOGFONTW *logFont) PURE; 1281 1282 STDMETHOD(CreateFontFaceFromHdc)(THIS_ 1283 HDC hdc, 1284 IDWriteFontFace **fontFace) PURE; 1285 1286 STDMETHOD(CreateBitmapRenderTarget)(THIS_ 1287 HDC hdc, 1288 UINT32 width, 1289 UINT32 height, 1290 IDWriteBitmapRenderTarget **renderTarget) PURE; 1291 1292 END_INTERFACE 1293}; 1294#ifdef COBJMACROS 1295#define IDWriteGdiInterop_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1296#define IDWriteGdiInterop_AddRef(This) (This)->lpVtbl->AddRef(This) 1297#define IDWriteGdiInterop_Release(This) (This)->lpVtbl->Release(This) 1298#define IDWriteGdiInterop_ConvertFontFaceToLOGFONT(This,font,logFont) (This)->lpVtbl->ConvertFontFaceToLOGFONT(This,font,logFont) 1299#define IDWriteGdiInterop_ConvertFontToLOGFONT(This,font,logFont,isSystemFont) (This)->lpVtbl->ConvertFontToLOGFONT(This,font,logFont,isSystemFont) 1300#define IDWriteGdiInterop_CreateBitmapRenderTarget(This,hdc,width,height,renderTarget) (This)->lpVtbl->CreateBitmapRenderTarget(This,hdc,width,height,renderTarget) 1301#define IDWriteGdiInterop_CreateFontFaceFromHdc(This,hdc,fontFace) (This)->lpVtbl->CreateFontFaceFromHdc(This,hdc,fontFace) 1302#define IDWriteGdiInterop_CreateFontFromLOGFONT(This,logFont,font) (This)->lpVtbl->CreateFontFromLOGFONT(This,logFont,font) 1303#endif /*COBJMACROS*/ 1304 1305#undef INTERFACE 1306#define INTERFACE IDWriteGlyphRunAnalysis 1307DECLARE_INTERFACE_(IDWriteGlyphRunAnalysis,IUnknown) 1308{ 1309 BEGIN_INTERFACE 1310 1311 /* IUnknown methods */ 1312 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1313 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1314 STDMETHOD_(ULONG, Release)(THIS) PURE; 1315 1316 /* IDWriteGlyphRunAnalysis methods */ 1317 STDMETHOD(GetAlphaTextureBounds)(THIS_ 1318 DWRITE_TEXTURE_TYPE textureType, 1319 RECT *textureBounds) PURE; 1320 1321 STDMETHOD(CreateAlphaTexture)(THIS_ 1322 DWRITE_TEXTURE_TYPE textureType, 1323 RECT const *textureBounds, 1324 BYTE *alphaValues, 1325 UINT32 bufferSize) PURE; 1326 1327 STDMETHOD(GetAlphaBlendParams)(THIS_ 1328 IDWriteRenderingParams *renderingParams, 1329 FLOAT *blendGamma, 1330 FLOAT *blendEnhancedContrast, 1331 FLOAT *blendClearTypeLevel) PURE; 1332 1333 END_INTERFACE 1334}; 1335#ifdef COBJMACROS 1336#define IDWriteGlyphRunAnalysis_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1337#define IDWriteGlyphRunAnalysis_AddRef(This) (This)->lpVtbl->AddRef(This) 1338#define IDWriteGlyphRunAnalysis_Release(This) (This)->lpVtbl->Release(This) 1339#define IDWriteGlyphRunAnalysis_CreateAlphaTexture(This,textureType,textureBounds,alphaValues,bufferSize) (This)->lpVtbl->CreateAlphaTexture(This,textureType,textureBounds,alphaValues,bufferSize) 1340#define IDWriteGlyphRunAnalysis_GetAlphaBlendParams(This,renderingParams,blendGamma,blendEnhancedContrast,blendClearTypeLevel) (This)->lpVtbl->GetAlphaBlendParams(This,renderingParams,blendGamma,blendEnhancedContrast,blendClearTypeLevel) 1341#define IDWriteGlyphRunAnalysis_GetAlphaTextureBounds(This,textureType,textureBounds) (This)->lpVtbl->GetAlphaTextureBounds(This,textureType,textureBounds) 1342#endif /*COBJMACROS*/ 1343 1344#undef INTERFACE 1345#define INTERFACE IDWriteInlineObject 1346DECLARE_INTERFACE_(IDWriteInlineObject,IUnknown) 1347{ 1348 BEGIN_INTERFACE 1349 1350 /* IUnknown methods */ 1351 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1352 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1353 STDMETHOD_(ULONG, Release)(THIS) PURE; 1354 1355 /* IDWriteInlineObject methods */ 1356 STDMETHOD(Draw)(THIS_ 1357 void *clientDrawingContext, 1358 IDWriteTextRenderer *renderer, 1359 FLOAT originX, 1360 FLOAT originY, 1361 WINBOOL isSideways, 1362 WINBOOL isRightToLeft, 1363 IUnknown *clientDrawingEffect) PURE; 1364 STDMETHOD(GetMetrics)(THIS_ 1365 DWRITE_INLINE_OBJECT_METRICS *metrics) PURE; 1366 STDMETHOD(GetOverhangMetrics)(THIS_ 1367 DWRITE_OVERHANG_METRICS *overhangs) PURE; 1368 STDMETHOD(GetBreakConditions)(THIS_ 1369 DWRITE_BREAK_CONDITION *breakConditionBefore, 1370 DWRITE_BREAK_CONDITION *breakConditionAfter) PURE; 1371 1372 END_INTERFACE 1373}; 1374#ifdef COBJMACROS 1375#define IDWriteInlineObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1376#define IDWriteInlineObject_AddRef(This) (This)->lpVtbl->AddRef(This) 1377#define IDWriteInlineObject_Release(This) (This)->lpVtbl->Release(This) 1378#define IDWriteInlineObject_Draw(This,clientDrawingContext,renderer,originX,originY,isSideways,isRightToLeft,clientDrawingEffect) (This)->lpVtbl->Draw(This,clientDrawingContext,renderer,originX,originY,isSideways,isRightToLeft,clientDrawingEffect) 1379#define IDWriteInlineObject_GetBreakConditions(This,breakConditionBefore,breakConditionAfter) (This)->lpVtbl->GetBreakConditions(This,breakConditionBefore,breakConditionAfter) 1380#define IDWriteInlineObject_GetMetrics(This,metrics) (This)->lpVtbl->GetMetrics(This,metrics) 1381#define IDWriteInlineObject_GetOverhangMetrics(This,overhangs) (This)->lpVtbl->GetOverhangMetrics(This,overhangs) 1382#endif /*COBJMACROS*/ 1383 1384#undef INTERFACE 1385#define INTERFACE IDWriteLocalFontFileLoader 1386DECLARE_INTERFACE_(IDWriteLocalFontFileLoader,IUnknown) 1387{ 1388 BEGIN_INTERFACE 1389 1390 /* IUnknown methods */ 1391 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1392 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1393 STDMETHOD_(ULONG, Release)(THIS) PURE; 1394 1395 /* IDWriteLocalFontFileLoader methods */ 1396 STDMETHOD_(HRESULT,GetFilePathLengthFromKey)(THIS_ const void *fontFileReferenceKey,UINT32 fontFileReferenceKeySize,UINT32 *filePathLength) PURE; 1397 STDMETHOD_(HRESULT,GetFilePathFromKey)(THIS_ const void *fontFileReferenceKey,UINT32 fontFileReferenceKeySize,WCHAR *filePath,UINT32 filePathSize) PURE; 1398 STDMETHOD_(HRESULT,GetLastWriteTimeFromKey)(THIS_ const void *fontFileReferenceKey,UINT32 fontFileReferenceKeySize,FILETIME *lastWriteTime) PURE; 1399 1400 END_INTERFACE 1401}; 1402#ifdef COBJMACROS 1403#define IDWriteLocalFontFileLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1404#define IDWriteLocalFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) 1405#define IDWriteLocalFontFileLoader_Release(This) (This)->lpVtbl->Release(This) 1406#define IDWriteLocalFontFileLoader_GetFilePathLengthFromKey(This,fontFileReferenceKey,fontFileReferenceKeySize,filePathLength) (This)->lpVtbl->GetFilePathLengthFromKey(This,fontFileReferenceKey,fontFileReferenceKeySize,filePathLength) 1407#define IDWriteLocalFontFileLoader_GetFilePathFromKey(This,fontFileReferenceKey,fontFileReferenceKeySize,filePath,filePathSize) (This)->lpVtbl->GetFilePathFromKey(This,fontFileReferenceKey,fontFileReferenceKeySize,filePath,filePathSize) 1408#define IDWriteLocalFontFileLoader_GetLastWriteTimeFromKey(This,fontFileReferenceKey,fontFileReferenceKeySize,lastWriteTime) (This)->lpVtbl->GetLastWriteTimeFromKey(This,fontFileReferenceKey,fontFileReferenceKeySize,lastWriteTime) 1409#endif /*COBJMACROS*/ 1410 1411#undef INTERFACE 1412#define INTERFACE IDWriteLocalizedStrings 1413DECLARE_INTERFACE_(IDWriteLocalizedStrings,IUnknown) 1414{ 1415 BEGIN_INTERFACE 1416 1417 /* IUnknown methods */ 1418 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1419 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1420 STDMETHOD_(ULONG, Release)(THIS) PURE; 1421 1422 /* IDWriteLocalizedStrings methods */ 1423 STDMETHOD_(UINT32, GetCount)(THIS) PURE; 1424 1425 STDMETHOD(FindLocaleName)(THIS_ 1426 WCHAR const *localeName, 1427 UINT32 *index, 1428 WINBOOL *exists) PURE; 1429 1430 STDMETHOD(GetLocaleNameLength)(THIS_ 1431 UINT32 index, 1432 UINT32 *length) PURE; 1433 1434 STDMETHOD(GetLocaleName)(THIS_ 1435 UINT32 index, 1436 WCHAR *localeName, 1437 UINT32 size) PURE; 1438 1439 STDMETHOD(GetStringLength)(THIS_ 1440 UINT32 index, 1441 UINT32 *length) PURE; 1442 1443 STDMETHOD(GetString)(THIS_ 1444 UINT32 index, 1445 WCHAR *stringBuffer, 1446 UINT32 size) PURE; 1447 1448 END_INTERFACE 1449}; 1450#ifdef COBJMACROS 1451#define IDWriteLocalizedStrings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1452#define IDWriteLocalizedStrings_AddRef(This) (This)->lpVtbl->AddRef(This) 1453#define IDWriteLocalizedStrings_Release(This) (This)->lpVtbl->Release(This) 1454#define IDWriteLocalizedStrings_FindLocaleName(This,localeName,index,exists) (This)->lpVtbl->FindLocaleName(This,localeName,index,exists) 1455#define IDWriteLocalizedStrings_GetCount() (This)->lpVtbl->GetCount(This) 1456#define IDWriteLocalizedStrings_GetLocaleName(This,index,localeName,size) (This)->lpVtbl->GetLocaleName(This,index,localeName,size) 1457#define IDWriteLocalizedStrings_GetLocaleNameLength(This,index,length) (This)->lpVtbl->GetLocaleNameLength(This,index,length) 1458#define IDWriteLocalizedStrings_GetString(This,index,stringBuffer,size) (This)->lpVtbl->GetString(This,index,stringBuffer,size) 1459#define IDWriteLocalizedStrings_GetStringLength(This,index,length) (This)->lpVtbl->GetStringLength(This,index,length) 1460#endif /*COBJMACROS*/ 1461 1462#undef INTERFACE 1463#define INTERFACE IDWriteNumberSubstitution 1464DECLARE_INTERFACE_(IDWriteNumberSubstitution,IUnknown) 1465{ 1466 BEGIN_INTERFACE 1467 1468 /* IUnknown methods */ 1469 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1470 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1471 STDMETHOD_(ULONG, Release)(THIS) PURE; 1472 1473 /* IDWriteNumberSubstitution methods */ 1474 1475 END_INTERFACE 1476}; 1477#ifdef COBJMACROS 1478#define IDWriteNumberSubstitution_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1479#define IDWriteNumberSubstitution_AddRef(This) (This)->lpVtbl->AddRef(This) 1480#define IDWriteNumberSubstitution_Release(This) (This)->lpVtbl->Release(This) 1481#endif /*COBJMACROS*/ 1482 1483#undef INTERFACE 1484#define INTERFACE IDWritePixelSnapping 1485DECLARE_INTERFACE_(IDWritePixelSnapping,IUnknown) 1486{ 1487 BEGIN_INTERFACE 1488 1489 /* IUnknown methods */ 1490 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1491 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1492 STDMETHOD_(ULONG, Release)(THIS) PURE; 1493 1494 /* IDWritePixelSnapping methods */ 1495 STDMETHOD(IsPixelSnappingDisabled)(THIS_ 1496 void *clientDrawingContext, 1497 WINBOOL *isDisabled) PURE; 1498 STDMETHOD(GetCurrentTransform)(THIS_ 1499 void *clientDrawingContext, 1500 DWRITE_MATRIX *transform) PURE; 1501 STDMETHOD(GetPixelsPerDip)(THIS_ 1502 void *clientDrawingContext, 1503 FLOAT *pixelsPerDip) PURE; 1504 1505 END_INTERFACE 1506}; 1507#ifdef COBJMACROS 1508#define IDWritePixelSnapping_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1509#define IDWritePixelSnapping_AddRef(This) (This)->lpVtbl->AddRef(This) 1510#define IDWritePixelSnapping_Release(This) (This)->lpVtbl->Release(This) 1511#define IDWritePixelSnapping_GetCurrentTransform(This,clientDrawingContext,transform) (This)->lpVtbl->GetCurrentTransform(This,clientDrawingContext,transform) 1512#define IDWritePixelSnapping_GetPixelsPerDip(This,clientDrawingContext,pixelsPerDip) (This)->lpVtbl->GetPixelsPerDip(This,clientDrawingContext,pixelsPerDip) 1513#define IDWritePixelSnapping_IsPixelSnappingEnabled(This,clientDrawingContext,isDisabled) (This)->lpVtbl->IsPixelSnappingEnabled(This,clientDrawingContext,isDisabled) 1514#endif /*COBJMACROS*/ 1515 1516#undef INTERFACE 1517#define INTERFACE IDWriteRenderingParams 1518DECLARE_INTERFACE_(IDWriteRenderingParams,IUnknown) 1519{ 1520 BEGIN_INTERFACE 1521 1522 /* IUnknown methods */ 1523 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1524 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1525 STDMETHOD_(ULONG, Release)(THIS) PURE; 1526 1527 /* IDWriteRenderingParams methods */ 1528 STDMETHOD_(FLOAT, GetGamma)(THIS) PURE; 1529 STDMETHOD_(FLOAT, GetEnhancedContrast)(THIS) PURE; 1530 STDMETHOD_(FLOAT, GetClearTypeLevel)(THIS) PURE; 1531 STDMETHOD_(DWRITE_PIXEL_GEOMETRY, GetPixelGeometry)(THIS) PURE; 1532 STDMETHOD_(DWRITE_RENDERING_MODE, GetRenderingMode)(THIS) PURE; 1533 1534 END_INTERFACE 1535}; 1536#ifdef COBJMACROS 1537#define IDWriteRenderingParams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1538#define IDWriteRenderingParams_AddRef(This) (This)->lpVtbl->AddRef(This) 1539#define IDWriteRenderingParams_Release(This) (This)->lpVtbl->Release(This) 1540#define IDWriteRenderingParams_GetClearTypeLevel() (This)->lpVtbl->GetClearTypeLevel(This) 1541#define IDWriteRenderingParams_GetEnhancedContrast() (This)->lpVtbl->GetEnhancedContrast(This) 1542#define IDWriteRenderingParams_GetGamma() (This)->lpVtbl->GetGamma(This) 1543#define IDWriteRenderingParams_GetPixelGeometry() (This)->lpVtbl->GetPixelGeometry(This) 1544#define IDWriteRenderingParams_GetRenderingMode() (This)->lpVtbl->GetRenderingMode(This) 1545#endif /*COBJMACROS*/ 1546 1547#undef INTERFACE 1548#define INTERFACE IDWriteTextAnalysisSink 1549DECLARE_INTERFACE_(IDWriteTextAnalysisSink,IUnknown) 1550{ 1551 BEGIN_INTERFACE 1552 1553 /* IUnknown methods */ 1554 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1555 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1556 STDMETHOD_(ULONG, Release)(THIS) PURE; 1557 1558 /* IDWriteTextAnalysisSink methods */ 1559 STDMETHOD(SetScriptAnalysis)( 1560 UINT32 textPosition, 1561 UINT32 textLength, 1562 DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis) PURE; 1563 1564 STDMETHOD(SetLineBreakpoints)( 1565 UINT32 textPosition, 1566 UINT32 textLength, 1567 DWRITE_LINE_BREAKPOINT const *lineBreakpoints) PURE; 1568 1569 STDMETHOD(SetBidiLevel)( 1570 UINT32 textPosition, 1571 UINT32 textLength, 1572 UINT8 explicitLevel, 1573 UINT8 resolvedLevel) PURE; 1574 1575 STDMETHOD(SetNumberSubstitution)( 1576 UINT32 textPosition, 1577 UINT32 textLength, 1578 IDWriteNumberSubstitution *numberSubstitution) PURE; 1579 1580 END_INTERFACE 1581}; 1582#ifdef COBJMACROS 1583#define IDWriteTextAnalysisSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1584#define IDWriteTextAnalysisSink_AddRef(This) (This)->lpVtbl->AddRef(This) 1585#define IDWriteTextAnalysisSink_Release(This) (This)->lpVtbl->Release(This) 1586#define IDWriteTextAnalysisSink_SetBidiLevel(This,textPosition,textLength,explicitLevel,resolvedLevel) (This)->lpVtbl->SetBidiLevel(This,textPosition,textLength,explicitLevel,resolvedLevel) 1587#define IDWriteTextAnalysisSink_SetLineBreakpoints(This,textPosition,textLength,lineBreakpoints) (This)->lpVtbl->SetLineBreakpoints(This,textPosition,textLength,lineBreakpoints) 1588#define IDWriteTextAnalysisSink_SetNumberSubstitution(This,textPosition,textLength,numberSubstitution) (This)->lpVtbl->SetNumberSubstitution(This,textPosition,textLength,numberSubstitution) 1589#define IDWriteTextAnalysisSink_SetScriptAnalysis(This,textPosition,textLength,scriptAnalysis) (This)->lpVtbl->SetScriptAnalysis(This,textPosition,textLength,scriptAnalysis) 1590#endif /*COBJMACROS*/ 1591 1592#undef INTERFACE 1593#define INTERFACE IDWriteTextAnalysisSource 1594DECLARE_INTERFACE_(IDWriteTextAnalysisSource,IUnknown) 1595{ 1596 BEGIN_INTERFACE 1597 1598 /* IUnknown methods */ 1599 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1600 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1601 STDMETHOD_(ULONG, Release)(THIS) PURE; 1602 1603 /* IDWriteTextAnalysisSource methods */ 1604 STDMETHOD(GetTextAtPosition)(THIS_ 1605 UINT32 textPosition, 1606 WCHAR const **textString, 1607 UINT32 *textLength) PURE; 1608 1609 STDMETHOD(GetTextBeforePosition)(THIS_ 1610 UINT32 textPosition, 1611 WCHAR const **textString, 1612 UINT32 *textLength) PURE; 1613 1614 STDMETHOD_(DWRITE_READING_DIRECTION, GetParagraphReadingDirection)(THIS) PURE; 1615 1616 STDMETHOD(GetLocaleName)(THIS_ 1617 UINT32 textPosition, 1618 UINT32 *textLength, 1619 WCHAR const **localeName) PURE; 1620 1621 STDMETHOD(GetNumberSubstitution)(THIS_ 1622 UINT32 textPosition, 1623 UINT32 *textLength, 1624 IDWriteNumberSubstitution **numberSubstitution) PURE; 1625 1626 END_INTERFACE 1627}; 1628#ifdef COBJMACROS 1629#define IDWriteTextAnalysisSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1630#define IDWriteTextAnalysisSource_AddRef(This) (This)->lpVtbl->AddRef(This) 1631#define IDWriteTextAnalysisSource_Release(This) (This)->lpVtbl->Release(This) 1632#define IDWriteTextAnalysisSource_GetLocaleName(This,textPosition,textLength,localeName) (This)->lpVtbl->GetLocaleName(This,textPosition,textLength,localeName) 1633#define IDWriteTextAnalysisSource_GetNumberSubstitution(This,textPosition,textLength,numberSubstitution) (This)->lpVtbl->GetNumberSubstitution(This,textPosition,textLength,numberSubstitution) 1634#define IDWriteTextAnalysisSource_GetParagraphReadingDirection() (This)->lpVtbl->GetParagraphReadingDirection(This) 1635#define IDWriteTextAnalysisSource_GetTextAtPosition(This,textPosition,textString,textLength) (This)->lpVtbl->GetTextAtPosition(This,textPosition,textString,textLength) 1636#define IDWriteTextAnalysisSource_GetTextBeforePosition(This,textPosition,textString,textLength) (This)->lpVtbl->GetTextBeforePosition(This,textPosition,textString,textLength) 1637#endif /*COBJMACROS*/ 1638 1639#undef INTERFACE 1640#define INTERFACE IDWriteTextAnalyzer 1641DECLARE_INTERFACE_(IDWriteTextAnalyzer,IUnknown) 1642{ 1643 BEGIN_INTERFACE 1644 1645 /* IUnknown methods */ 1646 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1647 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1648 STDMETHOD_(ULONG, Release)(THIS) PURE; 1649 1650 /* IDWriteTextAnalyzer methods */ 1651 STDMETHOD(AnalyzeScript)(THIS_ 1652 IDWriteTextAnalysisSource* analysisSource, 1653 UINT32 textPosition, 1654 UINT32 textLength, 1655 IDWriteTextAnalysisSink *analysisSink) PURE; 1656 1657 STDMETHOD(AnalyzeBidi)(THIS_ 1658 IDWriteTextAnalysisSource *analysisSource, 1659 UINT32 textPosition, 1660 UINT32 textLength, 1661 IDWriteTextAnalysisSink *analysisSink) PURE; 1662 1663 STDMETHOD(AnalyzeNumberSubstitution)(THIS_ 1664 IDWriteTextAnalysisSource *analysisSource, 1665 UINT32 textPosition, 1666 UINT32 textLength, 1667 IDWriteTextAnalysisSink *analysisSink) PURE; 1668 1669 STDMETHOD(AnalyzeLineBreakpoints)(THIS_ 1670 IDWriteTextAnalysisSource *analysisSource, 1671 UINT32 textPosition, 1672 UINT32 textLength, 1673 IDWriteTextAnalysisSink *analysisSink) PURE; 1674 1675 STDMETHOD(GetGlyphs)(THIS_ 1676 WCHAR const *textString, 1677 UINT32 textLength, 1678 IDWriteFontFace *fontFace, 1679 WINBOOL isSideways, 1680 WINBOOL isRightToLeft, 1681 DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis, 1682 WCHAR const *localeName, 1683 IDWriteNumberSubstitution *numberSubstitution, 1684 DWRITE_TYPOGRAPHIC_FEATURES const **features, 1685 UINT32 const *featureRangeLengths, 1686 UINT32 featureRanges, 1687 UINT32 maxGlyphCount, 1688 UINT16 *clusterMap, 1689 DWRITE_SHAPING_TEXT_PROPERTIES *textProps, 1690 UINT16 *glyphIndices, 1691 DWRITE_SHAPING_GLYPH_PROPERTIES *glyphProps, 1692 UINT32 *actualGlyphCount) PURE; 1693 1694 STDMETHOD(GetGlyphPlacements)(THIS_ 1695 WCHAR const *textString, 1696 UINT16 const *clusterMap, 1697 DWRITE_SHAPING_TEXT_PROPERTIES *textProps, 1698 UINT32 textLength, 1699 UINT16 const *glyphIndices, 1700 DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProps, 1701 UINT32 glyphCount, 1702 IDWriteFontFace *fontFace, 1703 FLOAT fontEmSize, 1704 WINBOOL isSideways, 1705 WINBOOL isRightToLeft, 1706 DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis, 1707 WCHAR const *localeName, 1708 DWRITE_TYPOGRAPHIC_FEATURES const **features, 1709 UINT32 const *featureRangeLengths, 1710 UINT32 featureRanges, 1711 FLOAT *glyphAdvances, 1712 DWRITE_GLYPH_OFFSET *glyphOffsets) PURE; 1713 1714 STDMETHOD(GetGdiCompatibleGlyphPlacements)(THIS_ 1715 WCHAR const *textString, 1716 UINT16 const *clusterMap, 1717 DWRITE_SHAPING_TEXT_PROPERTIES *textProps, 1718 UINT32 textLength, 1719 UINT16 const *glyphIndices, 1720 DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProps, 1721 UINT32 glyphCount, 1722 IDWriteFontFace *fontFace, 1723 FLOAT fontEmSize, 1724 FLOAT pixelsPerDip, 1725 DWRITE_MATRIX const *transform, 1726 WINBOOL useGdiNatural, 1727 WINBOOL isSideways, 1728 WINBOOL isRightToLeft, 1729 DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis, 1730 WCHAR const *localeName, 1731 DWRITE_TYPOGRAPHIC_FEATURES const **features, 1732 UINT32 const *featureRangeLengths, 1733 UINT32 featureRanges, 1734 FLOAT *glyphAdvances, 1735 DWRITE_GLYPH_OFFSET *glyphOffsets) PURE; 1736 1737 END_INTERFACE 1738}; 1739#ifdef COBJMACROS 1740#define IDWriteTextAnalyzer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1741#define IDWriteTextAnalyzer_AddRef(This) (This)->lpVtbl->AddRef(This) 1742#define IDWriteTextAnalyzer_Release(This) (This)->lpVtbl->Release(This) 1743#define IDWriteTextAnalyzer_AnalyzeBidi(This,analysisSource,textPosition,textLength,analysisSink) (This)->lpVtbl->AnalyzeBidi(This,analysisSource,textPosition,textLength,analysisSink) 1744#define IDWriteTextAnalyzer_AnalyzeLineBreakpoints(This,analysisSource,textPosition,textLength,analysisSink) (This)->lpVtbl->AnalyzeLineBreakpoints(This,analysisSource,textPosition,textLength,analysisSink) 1745#define IDWriteTextAnalyzer_AnalyzeNumberSubstitution(This,analysisSource,textPosition,textLength,analysisSink) (This)->lpVtbl->AnalyzeNumberSubstitution(This,analysisSource,textPosition,textLength,analysisSink) 1746#define IDWriteTextAnalyzer_AnalyzeScript(This,analysisSource,textPosition,textLength,analysisSink) (This)->lpVtbl->AnalyzeScript(This,analysisSource,textPosition,textLength,analysisSink) 1747#define IDWriteTextAnalyzer_GetGdiCompatibleGlyphPlacements(This,textString,clusterMap,textProps,textLength,glyphIndices,glyphProps,glyphCount,fontFace,fontEmSize,pixelsPerDip,transform,useGdiNatural,isSideways,isRightToLeft,scriptAnalysis,featureRangeLengths,featureRanges,glyphAdvances,glyphOffsets) (This)->lpVtbl->GetGdiCompatibleGlyphPlacements(This,textString,clusterMap,textProps,textLength,glyphIndices,glyphProps,glyphCount,fontFace,fontEmSize,pixelsPerDip,transform,useGdiNatural,isSideways,isRightToLeft,scriptAnalysis,featureRangeLengths,featureRanges,glyphAdvances,glyphOffsets) 1748#define IDWriteTextAnalyzer_GetGlyphPlacements(This,textString,clusterMap,textProps,textLength,glyphIndices,glyphProps,glyphCount,fontFace,fontEmSize,isSideways,isRightToLeft,scriptAnalysis,featureRangeLengths,featureRanges,glyphAdvances,glyphOffsets) (This)->lpVtbl->GetGlyphPlacements(This,textString,clusterMap,textProps,textLength,glyphIndices,glyphProps,glyphCount,fontFace,fontEmSize,isSideways,isRightToLeft,scriptAnalysis,featureRangeLengths,featureRanges,glyphAdvances,glyphOffsets) 1749#define IDWriteTextAnalyzer_GetGlyphs(This,textString,textLength,fontFace,isSideways,isRightToLeft,scriptAnalysis,featureRangeLengths,featureRanges,maxGlyphCount,clusterMap,textProps,glyphIndices,glyphProps,actualGlyphCount) (This)->lpVtbl->GetGlyphs(This,textString,textLength,fontFace,isSideways,isRightToLeft,scriptAnalysis,featureRangeLengths,featureRanges,maxGlyphCount,clusterMap,textProps,glyphIndices,glyphProps,actualGlyphCount) 1750#endif /*COBJMACROS*/ 1751 1752#undef INTERFACE 1753#define INTERFACE IDWriteTextFormat 1754DECLARE_INTERFACE_(IDWriteTextFormat,IUnknown) 1755{ 1756 BEGIN_INTERFACE 1757 1758 /* IUnknown methods */ 1759 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1760 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1761 STDMETHOD_(ULONG, Release)(THIS) PURE; 1762 1763 /* IDWriteTextFormat methods */ 1764 STDMETHOD(SetTextAlignment)(THIS_ 1765 DWRITE_TEXT_ALIGNMENT textAlignment) PURE; 1766 STDMETHOD(SetParagraphAlignment)(THIS_ 1767 DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment) PURE; 1768 STDMETHOD(SetWordWrapping)(THIS_ 1769 DWRITE_WORD_WRAPPING wordWrapping) PURE; 1770 STDMETHOD(SetReadingDirection)(THIS_ 1771 DWRITE_READING_DIRECTION readingDirection) PURE; 1772 STDMETHOD(SetFlowDirection)(THIS_ 1773 DWRITE_FLOW_DIRECTION flowDirection) PURE; 1774 STDMETHOD(SetIncrementalTabStop)(THIS_ 1775 FLOAT incrementalTabStop) PURE; 1776 STDMETHOD(SetTrimming)(THIS_ 1777 DWRITE_TRIMMING const *trimmingOptions, 1778 IDWriteInlineObject *trimmingSign) PURE; 1779 STDMETHOD(SetLineSpacing)(THIS_ 1780 DWRITE_LINE_SPACING_METHOD lineSpacingMethod, 1781 FLOAT lineSpacing, 1782 FLOAT baseline) PURE; 1783 STDMETHOD_(DWRITE_TEXT_ALIGNMENT, GetTextAlignment)(THIS) PURE; 1784 STDMETHOD_(DWRITE_PARAGRAPH_ALIGNMENT, GetParagraphAlignment)(THIS) PURE; 1785 STDMETHOD_(DWRITE_WORD_WRAPPING, GetWordWrapping)(THIS) PURE; 1786 STDMETHOD_(DWRITE_READING_DIRECTION, GetReadingDirection)(THIS) PURE; 1787 STDMETHOD_(DWRITE_FLOW_DIRECTION, GetFlowDirection)(THIS) PURE; 1788 STDMETHOD_(FLOAT, GetIncrementalTabStop)(THIS) PURE; 1789 STDMETHOD(GetTrimming)(THIS_ 1790 DWRITE_TRIMMING* trimmingOptions, 1791 IDWriteInlineObject **trimmingSign) PURE; 1792 STDMETHOD(GetLineSpacing)(THIS_ 1793 DWRITE_LINE_SPACING_METHOD *lineSpacingMethod, 1794 FLOAT *lineSpacing, 1795 FLOAT *baseline) PURE; 1796 STDMETHOD(GetFontCollection)(THIS_ 1797 IDWriteFontCollection **fontCollection) PURE; 1798 STDMETHOD_(UINT32, GetFontFamilyNameLength)(THIS) PURE; 1799 STDMETHOD(GetFontFamilyName)(THIS_ 1800 WCHAR *fontFamilyName, 1801 UINT32 nameSize) PURE; 1802 STDMETHOD_(DWRITE_FONT_WEIGHT, GetFontWeight)(THIS) PURE; 1803 STDMETHOD_(DWRITE_FONT_STYLE, GetFontStyle)(THIS) PURE; 1804 STDMETHOD_(DWRITE_FONT_STRETCH, GetFontStretch)(THIS) PURE; 1805 STDMETHOD_(FLOAT, GetFontSize)(THIS) PURE; 1806 STDMETHOD_(UINT32, GetLocaleNameLength)(THIS) PURE; 1807 STDMETHOD(GetLocaleName)(THIS_ 1808 WCHAR *localeName, 1809 UINT32 nameSize) PURE; 1810 1811 END_INTERFACE 1812}; 1813#ifdef COBJMACROS 1814#define IDWriteTextFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1815#define IDWriteTextFormat_AddRef(This) (This)->lpVtbl->AddRef(This) 1816#define IDWriteTextFormat_Release(This) (This)->lpVtbl->Release(This) 1817#define IDWriteTextFormat_GetFlowDirection() (This)->lpVtbl->GetFlowDirection(This) 1818#define IDWriteTextFormat_GetFontCollection(This,fontCollection) (This)->lpVtbl->GetFontCollection(This,fontCollection) 1819#define IDWriteTextFormat_GetFontFamilyName(This,fontFamilyName,nameSize) (This)->lpVtbl->GetFontFamilyName(This,fontFamilyName,nameSize) 1820#define IDWriteTextFormat_GetFontFamilyNameLength() (This)->lpVtbl->GetFontFamilyNameLength(This) 1821#define IDWriteTextFormat_GetFontSize() (This)->lpVtbl->GetFontSize(This) 1822#define IDWriteTextFormat_GetFontStretch() (This)->lpVtbl->GetFontStretch(This) 1823#define IDWriteTextFormat_GetFontStyle() (This)->lpVtbl->GetFontStyle(This) 1824#define IDWriteTextFormat_GetFontWeight() (This)->lpVtbl->GetFontWeight(This) 1825#define IDWriteTextFormat_GetIncrementalTabStop() (This)->lpVtbl->GetIncrementalTabStop(This) 1826#define IDWriteTextFormat_GetLineSpacing(This,lineSpacingMethod,lineSpacing,baseline) (This)->lpVtbl->GetLineSpacing(This,lineSpacingMethod,lineSpacing,baseline) 1827#define IDWriteTextFormat_GetLocaleName(This,localeName,nameSize) (This)->lpVtbl->GetLocaleName(This,localeName,nameSize) 1828#define IDWriteTextFormat_GetLocaleNameLength() (This)->lpVtbl->GetLocaleNameLength(This) 1829#define IDWriteTextFormat_GetParagraphAlignment() (This)->lpVtbl->GetParagraphAlignment(This) 1830#define IDWriteTextFormat_GetReadingDirection() (This)->lpVtbl->GetReadingDirection(This) 1831#define IDWriteTextFormat_GetTextAlignment() (This)->lpVtbl->GetTextAlignment(This) 1832#define IDWriteTextFormat_GetTrimming(This,trimmingOptions,trimmingSign) (This)->lpVtbl->GetTrimming(This,trimmingOptions,trimmingSign) 1833#define IDWriteTextFormat_GetWordWrapping() (This)->lpVtbl->GetWordWrapping(This) 1834#define IDWriteTextFormat_SetFlowDirection(This,flowDirection) (This)->lpVtbl->SetFlowDirection(This,flowDirection) 1835#define IDWriteTextFormat_SetIncrementalTabStop(This,incrementalTabStop) (This)->lpVtbl->SetIncrementalTabStop(This,incrementalTabStop) 1836#define IDWriteTextFormat_SetLineSpacing(This,lineSpacingMethod,lineSpacing,baseline) (This)->lpVtbl->SetLineSpacing(This,lineSpacingMethod,lineSpacing,baseline) 1837#define IDWriteTextFormat_SetParagraphAlignment(This,paragraphAlignment) (This)->lpVtbl->SetParagraphAlignment(This,paragraphAlignment) 1838#define IDWriteTextFormat_SetReadingDirection(This,readingDirection) (This)->lpVtbl->SetReadingDirection(This,readingDirection) 1839#define IDWriteTextFormat_SetTextAlignment(This,textAlignment) (This)->lpVtbl->SetTextAlignment(This,textAlignment) 1840#define IDWriteTextFormat_SetTrimming(This,trimmingOptions,trimmingSign) (This)->lpVtbl->SetTrimming(This,trimmingOptions,trimmingSign) 1841#define IDWriteTextFormat_SetWordWrapping(This,wordWrapping) (This)->lpVtbl->SetWordWrapping(This,wordWrapping) 1842#endif /*COBJMACROS*/ 1843 1844#undef INTERFACE 1845#define INTERFACE IDWriteTextLayout 1846DECLARE_INTERFACE_(IDWriteTextLayout,IDWriteTextFormat) 1847{ 1848 BEGIN_INTERFACE 1849 1850 /* IUnknown methods */ 1851 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 1852 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 1853 STDMETHOD_(ULONG, Release)(THIS) PURE; 1854 1855 /* IDWriteTextFormat methods */ 1856 STDMETHOD(SetTextAlignment)(THIS_ 1857 DWRITE_TEXT_ALIGNMENT textAlignment) PURE; 1858 STDMETHOD(SetParagraphAlignment)(THIS_ 1859 DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment) PURE; 1860 STDMETHOD(SetWordWrapping)(THIS_ 1861 DWRITE_WORD_WRAPPING wordWrapping) PURE; 1862 STDMETHOD(SetReadingDirection)(THIS_ 1863 DWRITE_READING_DIRECTION readingDirection) PURE; 1864 STDMETHOD(SetFlowDirection)(THIS_ 1865 DWRITE_FLOW_DIRECTION flowDirection) PURE; 1866 STDMETHOD(SetIncrementalTabStop)(THIS_ 1867 FLOAT incrementalTabStop) PURE; 1868 STDMETHOD(SetTrimming)(THIS_ 1869 DWRITE_TRIMMING const *trimmingOptions, 1870 IDWriteInlineObject *trimmingSign) PURE; 1871 STDMETHOD(SetLineSpacing)(THIS_ 1872 DWRITE_LINE_SPACING_METHOD lineSpacingMethod, 1873 FLOAT lineSpacing, 1874 FLOAT baseline) PURE; 1875 STDMETHOD_(DWRITE_TEXT_ALIGNMENT, GetTextAlignment)(THIS) PURE; 1876 STDMETHOD_(DWRITE_PARAGRAPH_ALIGNMENT, GetParagraphAlignment)(THIS) PURE; 1877 STDMETHOD_(DWRITE_WORD_WRAPPING, GetWordWrapping)(THIS) PURE; 1878 STDMETHOD_(DWRITE_READING_DIRECTION, GetReadingDirection)(THIS) PURE; 1879 STDMETHOD_(DWRITE_FLOW_DIRECTION, GetFlowDirection)(THIS) PURE; 1880 STDMETHOD_(FLOAT, GetIncrementalTabStop)(THIS) PURE; 1881 STDMETHOD(GetTrimming)(THIS_ 1882 DWRITE_TRIMMING* trimmingOptions, 1883 IDWriteInlineObject **trimmingSign) PURE; 1884 STDMETHOD(GetLineSpacing)(THIS_ 1885 DWRITE_LINE_SPACING_METHOD *lineSpacingMethod, 1886 FLOAT *lineSpacing, 1887 FLOAT *baseline) PURE; 1888 STDMETHOD(GetFontCollection)(THIS_ 1889 IDWriteFontCollection **fontCollection) PURE; 1890 STDMETHOD_(UINT32, GetFontFamilyNameLength)(THIS) PURE; 1891 STDMETHOD(GetFontFamilyName)(THIS_ 1892 WCHAR *fontFamilyName, 1893 UINT32 nameSize) PURE; 1894 STDMETHOD_(DWRITE_FONT_WEIGHT, GetFontWeight)(THIS) PURE; 1895 STDMETHOD_(DWRITE_FONT_STYLE, GetFontStyle)(THIS) PURE; 1896 STDMETHOD_(DWRITE_FONT_STRETCH, GetFontStretch)(THIS) PURE; 1897 STDMETHOD_(FLOAT, GetFontSize)(THIS) PURE; 1898 STDMETHOD_(UINT32, GetLocaleNameLength)(THIS) PURE; 1899 STDMETHOD(GetLocaleName)(THIS_ 1900 WCHAR *localeName, 1901 UINT32 nameSize) PURE; 1902 1903 /* IDWriteTextLayout methods */ 1904 STDMETHOD(SetMaxWidth)(THIS_ 1905 FLOAT maxWidth) PURE; 1906 STDMETHOD(SetMaxHeight)(THIS_ 1907 FLOAT maxHeight) PURE; 1908 STDMETHOD(SetFontCollection)(THIS_ 1909 IDWriteFontCollection *fontCollection, 1910 DWRITE_TEXT_RANGE textRange) PURE; 1911 STDMETHOD(SetFontFamilyName)(THIS_ 1912 WCHAR const *fontFamilyName, 1913 DWRITE_TEXT_RANGE textRange) PURE; 1914 STDMETHOD(SetFontWeight)(THIS_ 1915 DWRITE_FONT_WEIGHT fontWeight, 1916 DWRITE_TEXT_RANGE textRange) PURE; 1917 STDMETHOD(SetFontStyle)(THIS_ 1918 DWRITE_FONT_STYLE fontStyle, 1919 DWRITE_TEXT_RANGE textRange) PURE; 1920 STDMETHOD(SetFontStretch)(THIS_ 1921 DWRITE_FONT_STRETCH fontStretch, 1922 DWRITE_TEXT_RANGE textRange) PURE; 1923 STDMETHOD(SetFontSize)(THIS_ 1924 FLOAT fontSize, 1925 DWRITE_TEXT_RANGE textRange) PURE; 1926 STDMETHOD(SetUnderline)(THIS_ 1927 WINBOOL hasUnderline, 1928 DWRITE_TEXT_RANGE textRange) PURE; 1929 STDMETHOD(SetStrikethrough)(THIS_ 1930 WINBOOL hasStrikethrough, 1931 DWRITE_TEXT_RANGE textRange) PURE; 1932 STDMETHOD(SetDrawingEffect)(THIS_ 1933 IUnknown *drawingEffect, 1934 DWRITE_TEXT_RANGE textRange) PURE; 1935 STDMETHOD(SetInlineObject)(THIS_ 1936 IDWriteInlineObject *inlineObject, 1937 DWRITE_TEXT_RANGE textRange) PURE; 1938 STDMETHOD(SetTypography)(THIS_ 1939 IDWriteTypography *typography, 1940 DWRITE_TEXT_RANGE textRange) PURE; 1941 STDMETHOD(SetLocaleName)(THIS_ 1942 WCHAR const *localeName, 1943 DWRITE_TEXT_RANGE textRange) PURE; 1944 STDMETHOD_(FLOAT, GetMaxWidth)(THIS) PURE; 1945 STDMETHOD_(FLOAT, GetMaxHeight)(THIS) PURE; 1946 STDMETHOD(GetFontCollection)(THIS_ 1947 UINT32 currentPosition, 1948 IDWriteFontCollection** fontCollection, 1949 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1950 STDMETHOD(GetFontFamilyNameLength)(THIS_ 1951 UINT32 currentPosition, 1952 UINT32 *nameLength, 1953 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1954 STDMETHOD(GetFontFamilyName)(THIS_ 1955 UINT32 currentPosition, 1956 WCHAR *fontFamilyName, 1957 UINT32 nameSize, 1958 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1959 STDMETHOD(GetFontWeight)(THIS_ 1960 UINT32 currentPosition, 1961 DWRITE_FONT_WEIGHT *fontWeight, 1962 DWRITE_TEXT_RANGE* textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1963 STDMETHOD(GetFontStyle)(THIS_ 1964 UINT32 currentPosition, 1965 DWRITE_FONT_STYLE *fontStyle, 1966 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1967 STDMETHOD(GetFontStretch)(THIS_ 1968 UINT32 currentPosition, 1969 DWRITE_FONT_STRETCH* fontStretch, 1970 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1971 STDMETHOD(GetFontSize)(THIS_ 1972 UINT32 currentPosition, 1973 FLOAT *fontSize, 1974 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1975 STDMETHOD(GetUnderline)(THIS_ 1976 UINT32 currentPosition, 1977 WINBOOL *hasUnderline, 1978 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1979 STDMETHOD(GetStrikethrough)(THIS_ 1980 UINT32 currentPosition, 1981 WINBOOL *hasStrikethrough, 1982 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1983 STDMETHOD(GetDrawingEffect)(THIS_ 1984 UINT32 currentPosition, 1985 IUnknown **drawingEffect, 1986 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1987 STDMETHOD(GetInlineObject)(THIS_ 1988 UINT32 currentPosition, 1989 IDWriteInlineObject **inlineObject, 1990 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1991 STDMETHOD(GetTypography)(THIS_ 1992 UINT32 currentPosition, 1993 IDWriteTypography **typography, 1994 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1995 STDMETHOD(GetLocaleNameLength)(THIS_ 1996 UINT32 currentPosition, 1997 UINT32 *nameLength, 1998 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 1999 STDMETHOD(GetLocaleName)(THIS_ 2000 UINT32 currentPosition, 2001 WCHAR *localeName, 2002 UINT32 nameSize, 2003 DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE; 2004 STDMETHOD(Draw)(THIS_ 2005 void *clientDrawingContext, 2006 IDWriteTextRenderer *renderer, 2007 FLOAT originX, 2008 FLOAT originY) PURE; 2009 STDMETHOD(GetLineMetrics)(THIS_ 2010 DWRITE_LINE_METRICS *lineMetrics, 2011 UINT32 maxLineCount, 2012 UINT32 *actualLineCount) PURE; 2013 STDMETHOD(GetMetrics)(THIS_ 2014 DWRITE_TEXT_METRICS *textMetrics) PURE; 2015 STDMETHOD(GetOverhangMetrics)(THIS_ 2016 DWRITE_OVERHANG_METRICS *overhangs) PURE; 2017 STDMETHOD(GetClusterMetrics)(THIS_ 2018 DWRITE_CLUSTER_METRICS *clusterMetrics, 2019 UINT32 maxClusterCount, 2020 UINT32 *actualClusterCount) PURE; 2021 STDMETHOD(DetermineMinWidth)(THIS_ 2022 FLOAT *minWidth) PURE; 2023 STDMETHOD(HitTestPoint)(THIS_ 2024 FLOAT pointX, 2025 FLOAT pointY, 2026 WINBOOL *isTrailingHit, 2027 WINBOOL *isInside, 2028 DWRITE_HIT_TEST_METRICS *hitTestMetrics) PURE; 2029 STDMETHOD(HitTestTextPosition)(THIS_ 2030 UINT32 textPosition, 2031 WINBOOL isTrailingHit, 2032 FLOAT *pointX, 2033 FLOAT *pointY, 2034 DWRITE_HIT_TEST_METRICS *hitTestMetrics) PURE; 2035 STDMETHOD(HitTestTextRange)(THIS_ 2036 UINT32 textPosition, 2037 UINT32 textLength, 2038 FLOAT originX, 2039 FLOAT originY, 2040 DWRITE_HIT_TEST_METRICS *hitTestMetrics, 2041 UINT32 maxHitTestMetricsCount, 2042 UINT32 *actualHitTestMetricsCount) PURE; 2043 2044 END_INTERFACE 2045}; 2046#ifdef COBJMACROS 2047#define IDWriteTextLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2048#define IDWriteTextLayout_AddRef(This) (This)->lpVtbl->AddRef(This) 2049#define IDWriteTextLayout_Release(This) (This)->lpVtbl->Release(This) 2050#define IDWriteTextLayout_GetFlowDirection() (This)->lpVtbl->GetFlowDirection(This) 2051#define IDWriteTextLayout_GetFontCollection(This,fontCollection) (This)->lpVtbl->GetFontCollection(This,fontCollection) 2052#define IDWriteTextLayout_GetFontFamilyName(This,fontFamilyName,nameSize) (This)->lpVtbl->GetFontFamilyName(This,fontFamilyName,nameSize) 2053#define IDWriteTextLayout_GetFontFamilyNameLength() (This)->lpVtbl->GetFontFamilyNameLength(This) 2054#define IDWriteTextLayout_GetFontSize() (This)->lpVtbl->GetFontSize(This) 2055#define IDWriteTextLayout_GetFontStretch() (This)->lpVtbl->GetFontStretch(This) 2056#define IDWriteTextLayout_GetFontStyle() (This)->lpVtbl->GetFontStyle(This) 2057#define IDWriteTextLayout_GetFontWeight() (This)->lpVtbl->GetFontWeight(This) 2058#define IDWriteTextLayout_GetIncrementalTabStop() (This)->lpVtbl->GetIncrementalTabStop(This) 2059#define IDWriteTextLayout_GetLineSpacing(This,lineSpacingMethod,lineSpacing,baseline) (This)->lpVtbl->GetLineSpacing(This,lineSpacingMethod,lineSpacing,baseline) 2060#define IDWriteTextLayout_GetLocaleName(This,localeName,nameSize) (This)->lpVtbl->GetLocaleName(This,localeName,nameSize) 2061#define IDWriteTextLayout_GetLocaleNameLength() (This)->lpVtbl->GetLocaleNameLength(This) 2062#define IDWriteTextLayout_GetParagraphAlignment() (This)->lpVtbl->GetParagraphAlignment(This) 2063#define IDWriteTextLayout_GetReadingDirection() (This)->lpVtbl->GetReadingDirection(This) 2064#define IDWriteTextLayout_GetTextAlignment() (This)->lpVtbl->GetTextAlignment(This) 2065#define IDWriteTextLayout_GetTrimming(This,trimmingOptions,trimmingSign) (This)->lpVtbl->GetTrimming(This,trimmingOptions,trimmingSign) 2066#define IDWriteTextLayout_GetWordWrapping() (This)->lpVtbl->GetWordWrapping(This) 2067#define IDWriteTextLayout_SetFlowDirection(This,flowDirection) (This)->lpVtbl->SetFlowDirection(This,flowDirection) 2068#define IDWriteTextLayout_SetIncrementalTabStop(This,incrementalTabStop) (This)->lpVtbl->SetIncrementalTabStop(This,incrementalTabStop) 2069#define IDWriteTextLayout_SetLineSpacing(This,lineSpacingMethod,lineSpacing,baseline) (This)->lpVtbl->SetLineSpacing(This,lineSpacingMethod,lineSpacing,baseline) 2070#define IDWriteTextLayout_SetParagraphAlignment(This,paragraphAlignment) (This)->lpVtbl->SetParagraphAlignment(This,paragraphAlignment) 2071#define IDWriteTextLayout_SetReadingDirection(This,readingDirection) (This)->lpVtbl->SetReadingDirection(This,readingDirection) 2072#define IDWriteTextLayout_SetTextAlignment(This,textAlignment) (This)->lpVtbl->SetTextAlignment(This,textAlignment) 2073#define IDWriteTextLayout_SetTrimming(This,trimmingOptions,trimmingSign) (This)->lpVtbl->SetTrimming(This,trimmingOptions,trimmingSign) 2074#define IDWriteTextLayout_SetWordWrapping(This,wordWrapping) (This)->lpVtbl->SetWordWrapping(This,wordWrapping) 2075#define IDWriteTextLayout_Draw(This,clientDrawingContext,renderer,originX,originY) (This)->lpVtbl->Draw(This,clientDrawingContext,renderer,originX,originY) 2076#define IDWriteTextLayout_GetClusterMetrics(This,clusterMetrics,maxClusterCount,actualClusterCount) (This)->lpVtbl->GetClusterMetrics(This,clusterMetrics,maxClusterCount,actualClusterCount) 2077#define IDWriteTextLayout_DetermineMinWidth(This,minWidth) (This)->lpVtbl->DetermineMinWidth(This,minWidth) 2078#define IDWriteTextLayout_GetDrawingEffect(This,currentPosition,drawingEffect,textRange) (This)->lpVtbl->GetDrawingEffect(This,currentPosition,drawingEffect,textRange) 2079#define IDWriteTextLayout_GetFontCollection(This,currentPosition,fontCollection,textRange) (This)->lpVtbl->GetFontCollection(This,currentPosition,fontCollection,textRange) 2080#define IDWriteTextLayout_GetFontFamilyName(This,currentPosition,fontFamilyName,nameSize,textRange) (This)->lpVtbl->GetFontFamilyName(This,currentPosition,fontFamilyName,nameSize,textRange) 2081#define IDWriteTextLayout_GetFontFamilyNameLength(This,currentPosition,nameLength,textRange) (This)->lpVtbl->GetFontFamilyNameLength(This,currentPosition,nameLength,textRange) 2082#define IDWriteTextLayout_GetFontSize(This,currentPosition,fontSize,textRange) (This)->lpVtbl->GetFontSize(This,currentPosition,fontSize,textRange) 2083#define IDWriteTextLayout_GetFontStretch(This,currentPosition,fontStretch,textRange) (This)->lpVtbl->GetFontStretch(This,currentPosition,fontStretch,textRange) 2084#define IDWriteTextLayout_GetFontStyle(This,currentPosition,fontStyle,textRange) (This)->lpVtbl->GetFontStyle(This,currentPosition,fontStyle,textRange) 2085#define IDWriteTextLayout_GetFontWeight(This,currentPosition,fontWeight,textRange) (This)->lpVtbl->GetFontWeight(This,currentPosition,fontWeight,textRange) 2086#define IDWriteTextLayout_GetInlineObject(This,currentPosition,inlineObject,textRange) (This)->lpVtbl->GetInlineObject(This,currentPosition,inlineObject,textRange) 2087#define IDWriteTextLayout_GetLineMetrics(This,lineMetrics,maxLineCount,actualLineCount) (This)->lpVtbl->GetLineMetrics(This,lineMetrics,maxLineCount,actualLineCount) 2088#define IDWriteTextLayout_GetLocaleName(This,currentPosition,localeName,nameSize,textRange) (This)->lpVtbl->GetLocaleName(This,currentPosition,localeName,nameSize,textRange) 2089#define IDWriteTextLayout_GetLocaleNameLength(This,currentPosition,nameLength,textRange) (This)->lpVtbl->GetLocaleNameLength(This,currentPosition,nameLength,textRange) 2090#define IDWriteTextLayout_GetMaxHeight() (This)->lpVtbl->GetMaxHeight(This) 2091#define IDWriteTextLayout_GetMaxWidth() (This)->lpVtbl->GetMaxWidth(This) 2092#define IDWriteTextLayout_GetMetrics(This,textMetrics) (This)->lpVtbl->GetMetrics(This,textMetrics) 2093#define IDWriteTextLayout_GetOverhangMetrics(This,overhangs) (This)->lpVtbl->GetOverhangMetrics(This,overhangs) 2094#define IDWriteTextLayout_GetStrikethrough(This,currentPosition,hasStrikethrough,textRange) (This)->lpVtbl->GetStrikethrough(This,currentPosition,hasStrikethrough,textRange) 2095#define IDWriteTextLayout_GetTypography(This,currentPosition,typography,textRange) (This)->lpVtbl->GetTypography(This,currentPosition,typography,textRange) 2096#define IDWriteTextLayout_GetUnderline(This,currentPosition,hasUnderline,textRange) (This)->lpVtbl->GetUnderline(This,currentPosition,hasUnderline,textRange) 2097#define IDWriteTextLayout_HitTestPoint(This,pointX,pointY,isTrailingHit,isInside,hitTestMetrics) (This)->lpVtbl->HitTestPoint(This,pointX,pointY,isTrailingHit,isInside,hitTestMetrics) 2098#define IDWriteTextLayout_HitTestTextPosition(This,textPosition,isTrailingHit,pointX,pointY,hitTestMetrics) (This)->lpVtbl->HitTestTextPosition(This,textPosition,isTrailingHit,pointX,pointY,hitTestMetrics) 2099#define IDWriteTextLayout_HitTestTextRange(This,textPosition,textLength,originX,originY,hitTestMetrics,maxHitTestMetricsCount,actualHitTestMetricsCount) (This)->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,hitTestMetrics,maxHitTestMetricsCount,actualHitTestMetricsCount) 2100#define IDWriteTextLayout_SetDrawingEffect(This,drawingEffect,textRange) (This)->lpVtbl->SetDrawingEffect(This,drawingEffect,textRange) 2101#define IDWriteTextLayout_SetFontCollection(This,fontCollection,textRange) (This)->lpVtbl->SetFontCollection(This,fontCollection,textRange) 2102#define IDWriteTextLayout_SetFontFamilyName(This,fontFamilyName,textRange) (This)->lpVtbl->SetFontFamilyName(This,fontFamilyName,textRange) 2103#define IDWriteTextLayout_SetFontSize(This,fontSize,textRange) (This)->lpVtbl->SetFontSize(This,fontSize,textRange) 2104#define IDWriteTextLayout_SetFontStretch(This,fontStretch,textRange) (This)->lpVtbl->SetFontStretch(This,fontStretch,textRange) 2105#define IDWriteTextLayout_SetFontStyle(This,fontStyle,textRange) (This)->lpVtbl->SetFontStyle(This,fontStyle,textRange) 2106#define IDWriteTextLayout_SetFontWeight(This,fontWeight,textRange) (This)->lpVtbl->SetFontWeight(This,fontWeight,textRange) 2107#define IDWriteTextLayout_SetInlineObject(This,inlineObject,textRange) (This)->lpVtbl->SetInlineObject(This,inlineObject,textRange) 2108#define IDWriteTextLayout_SetLocaleName(This,localeName,textRange) (This)->lpVtbl->SetLocaleName(This,localeName,textRange) 2109#define IDWriteTextLayout_SetMaxHeight(This,maxHeight) (This)->lpVtbl->SetMaxHeight(This,maxHeight) 2110#define IDWriteTextLayout_SetMaxWidth(This,maxWidth) (This)->lpVtbl->SetMaxWidth(This,maxWidth) 2111#define IDWriteTextLayout_SetStrikethrough(This,hasStrikethrough,textRange) (This)->lpVtbl->SetStrikethrough(This,hasStrikethrough,textRange) 2112#define IDWriteTextLayout_SetTypography(This,typography,textRange) (This)->lpVtbl->SetTypography(This,typography,textRange) 2113#define IDWriteTextLayout_SetUnderline(This,hasUnderline,textRange) (This)->lpVtbl->SetUnderline(This,hasUnderline,textRange) 2114#endif /*COBJMACROS*/ 2115 2116#undef INTERFACE 2117#define INTERFACE IDWriteTextRenderer 2118DECLARE_INTERFACE_(IDWriteTextRenderer,IDWritePixelSnapping) 2119{ 2120 BEGIN_INTERFACE 2121 2122 /* IUnknown methods */ 2123 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 2124 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 2125 STDMETHOD_(ULONG, Release)(THIS) PURE; 2126 2127 /* IDWritePixelSnapping methods */ 2128 STDMETHOD(IsPixelSnappingDisabled)(THIS_ 2129 void *clientDrawingContext, 2130 WINBOOL *isDisabled) PURE; 2131 STDMETHOD(GetCurrentTransform)(THIS_ 2132 void *clientDrawingContext, 2133 DWRITE_MATRIX *transform) PURE; 2134 STDMETHOD(GetPixelsPerDip)(THIS_ 2135 void *clientDrawingContext, 2136 FLOAT *pixelsPerDip) PURE; 2137 2138 /* IDWriteTextRenderer methods */ 2139 STDMETHOD(DrawGlyphRun)(THIS_ 2140 void *clientDrawingContext, 2141 FLOAT baselineOriginX, 2142 FLOAT baselineOriginY, 2143 DWRITE_MEASURING_MODE measuringMode, 2144 DWRITE_GLYPH_RUN const *glyphRun, 2145 DWRITE_GLYPH_RUN_DESCRIPTION const *glyphRunDescription, 2146 IUnknown* clientDrawingEffect) PURE; 2147 STDMETHOD(DrawUnderline)(THIS_ 2148 void *clientDrawingContext, 2149 FLOAT baselineOriginX, 2150 FLOAT baselineOriginY, 2151 DWRITE_UNDERLINE const *underline, 2152 IUnknown *clientDrawingEffect) PURE; 2153 STDMETHOD(DrawStrikethrough)(THIS_ 2154 void *clientDrawingContext, 2155 FLOAT baselineOriginX, 2156 FLOAT baselineOriginY, 2157 DWRITE_STRIKETHROUGH const *strikethrough, 2158 IUnknown* clientDrawingEffect) PURE; 2159 STDMETHOD(DrawInlineObject)( 2160 void *clientDrawingContext, 2161 FLOAT originX, 2162 FLOAT originY, 2163 IDWriteInlineObject *inlineObject, 2164 WINBOOL isSideways, 2165 WINBOOL isRightToLeft, 2166 IUnknown *clientDrawingEffect) PURE; 2167 2168 END_INTERFACE 2169}; 2170#ifdef COBJMACROS 2171#define IDWriteTextRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2172#define IDWriteTextRenderer_AddRef(This) (This)->lpVtbl->AddRef(This) 2173#define IDWriteTextRenderer_GetCurrentTransform(This,clientDrawingContext,transform) (This)->lpVtbl->GetCurrentTransform(This,clientDrawingContext,transform) 2174#define IDWriteTextRenderer_GetPixelsPerDip(This,clientDrawingContext,pixelsPerDip) (This)->lpVtbl->GetPixelsPerDip(This,clientDrawingContext,pixelsPerDip) 2175#define IDWriteTextRenderer_IsPixelSnappingEnabled(This,clientDrawingContext,isDisabled) (This)->lpVtbl->IsPixelSnappingEnabled(This,clientDrawingContext,isDisabled) 2176#define IDWriteTextRenderer_Release(This) (This)->lpVtbl->Release(This) 2177#define IDWriteTextRenderer_DrawGlyphRun(This,clientDrawingContext,baselineOriginX,baselineOriginY,measuringMode,glyphRun,glyphRunDescription,clientDrawingEffect) (This)->lpVtbl->DrawGlyphRun(This,clientDrawingContext,baselineOriginX,baselineOriginY,measuringMode,glyphRun,glyphRunDescription,clientDrawingEffect) 2178#define IDWriteTextRenderer_DrawInlineObject(This,clientDrawingContext,originX,originY,inlineObject,isSideways,isRightToLeft,clientDrawingEffect) (This)->lpVtbl->DrawInlineObject(This,clientDrawingContext,originX,originY,inlineObject,isSideways,isRightToLeft,clientDrawingEffect) 2179#define IDWriteTextRenderer_DrawStrikethrough(This,clientDrawingContext,baselineOriginX,baselineOriginY,strikethrough,clientDrawingEffect) (This)->lpVtbl->DrawStrikethrough(This,clientDrawingContext,baselineOriginX,baselineOriginY,strikethrough,clientDrawingEffect) 2180#define IDWriteTextRenderer_DrawUnderline(This,clientDrawingContext,baselineOriginX,baselineOriginY,underline,clientDrawingEffect) (This)->lpVtbl->DrawUnderline(This,clientDrawingContext,baselineOriginX,baselineOriginY,underline,clientDrawingEffect) 2181#endif /*COBJMACROS*/ 2182 2183#undef INTERFACE 2184#define INTERFACE IDWriteTypography 2185DECLARE_INTERFACE_(IDWriteTypography,IUnknown) 2186{ 2187 BEGIN_INTERFACE 2188 2189 /* IUnknown methods */ 2190 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 2191 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 2192 STDMETHOD_(ULONG, Release)(THIS) PURE; 2193 2194 /* IDWriteTypography methods */ 2195 STDMETHOD_(HRESULT,AddFontFeature)(THIS_ DWRITE_FONT_FEATURE fontFeature) PURE; 2196 STDMETHOD_(HRESULT,GetFontFeature)(THIS_ UINT32 fontFeatureIndex,DWRITE_FONT_FEATURE * fontFeature) PURE; 2197 STDMETHOD_(UINT32,GetFontFeatureCount)(THIS) PURE; 2198 2199 END_INTERFACE 2200}; 2201#ifdef COBJMACROS 2202#define IDWriteTypography_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2203#define IDWriteTypography_AddRef(This) (This)->lpVtbl->AddRef(This) 2204#define IDWriteTypography_Release(This) (This)->lpVtbl->Release(This) 2205#define IDWriteTypography_AddFontFeature(This,fontFeature) (This)->lpVtbl->AddFontFeature(This,fontFeature) 2206#define IDWriteTypography_GetFontFeature(This,fontFeatureIndex,fontFeature) (This)->lpVtbl->GetFontFeature(This,fontFeatureIndex,fontFeature) 2207#define IDWriteTypography_GetFontFeatureCount() (This)->lpVtbl->GetFontFeatureCount(This) 2208#endif /*COBJMACROS*/ 2209 2210#ifdef __cplusplus 2211extern "C" { 2212#endif 2213 2214DWRITEAPI HRESULT WINAPI DWriteCreateFactory( 2215 DWRITE_FACTORY_TYPE factoryType, 2216 REFIID iid, 2217 IUnknown **factory 2218); 2219 2220#ifdef __cplusplus 2221} 2222#endif 2223 2224__CRT_UUID_DECL(IDWriteBitmapRenderTarget, 0x5e5a32a3,0x8dff,0x4773,0x9f,0xf6,0x06,0x96,0xea,0xb7,0x72,0x67); 2225__CRT_UUID_DECL(IDWriteFactory, 0xb859ee5a,0xd838,0x4b5b,0xa2,0xe8,0x1a,0xdc,0x7d,0x93,0xdb,0x48); 2226__CRT_UUID_DECL(IDWriteFont, 0xacd16696,0x8c14,0x4f5d,0x87,0x7e,0xfe,0x3f,0xc1,0xd3,0x27,0x37); 2227__CRT_UUID_DECL(IDWriteFontCollection, 0xa84cee02,0x3eea,0x4eee,0xa8,0x27,0x87,0xc1,0xa0,0x2a,0x0f,0xcc); 2228__CRT_UUID_DECL(IDWriteFontFace, 0x5f49804d,0x7024,0x4d43,0xbf,0xa9,0xd2,0x59,0x84,0xf5,0x38,0x49); 2229__CRT_UUID_DECL(IDWriteFontList, 0x1a0d8438,0x1d97,0x4ec1,0xae,0xf9,0xa2,0xfb,0x86,0xed,0x6a,0xcb); 2230__CRT_UUID_DECL(IDWriteFontFamily, 0xda20d8ef,0x812a,0x4c43,0x98,0x02,0x62,0xec,0x4a,0xbd,0x7a,0xdd); 2231__CRT_UUID_DECL(IDWriteFontFile, 0x739d886a,0xcef5,0x47dc,0x87,0x69,0x1a,0x8b,0x41,0xbe,0xbb,0xb0); 2232__CRT_UUID_DECL(IDWriteFontFileLoader, 0x727cad4e,0xd6af,0x4c9e,0x8a,0x08,0xd6,0x95,0xb1,0x1c,0xaa,0x49); 2233__CRT_UUID_DECL(IDWriteFontFileStream, 0x6d4865fe,0x0ab8,0x4d91,0x8f,0x62,0x5d,0xd6,0xbe,0x34,0xa3,0xe0); 2234__CRT_UUID_DECL(IDWriteGdiInterop, 0x1edd9491,0x9853,0x4299,0x89,0x8f,0x64,0x32,0x98,0x3b,0x6f,0x3a); 2235__CRT_UUID_DECL(IDWriteGlyphRunAnalysis, 0x7d97dbf7,0xe085,0x42d4,0x81,0xe3,0x6a,0x88,0x3b,0xde,0xd1,0x18); 2236__CRT_UUID_DECL(IDWriteLocalizedStrings, 0x08256209,0x099a,0x4b34,0xb8,0x6d,0xc2,0x2b,0x11,0x0e,0x77,0x71); 2237__CRT_UUID_DECL(IDWriteRenderingParams, 0x2f0da53a,0x2add,0x47cd,0x82,0xee,0xd9,0xec,0x34,0x68,0x8e,0x75); 2238__CRT_UUID_DECL(IDWriteTextAnalysisSink, 0x5810cd44,0x0ca0,0x4701,0xb3,0xfa,0xbe,0xc5,0x18,0x2a,0xe4,0xf6); 2239__CRT_UUID_DECL(IDWriteTextAnalysisSource, 0x688e1a58,0x5094,0x47c8,0xad,0xc8,0xfb,0xce,0xa6,0x0a,0xe9,0x2b); 2240__CRT_UUID_DECL(IDWriteTextAnalyzer, 0xb7e6163e,0x7f46,0x43b4,0x84,0xb3,0xe4,0xe6,0x24,0x9c,0x36,0x5d); 2241__CRT_UUID_DECL(IDWritePixelSnapping, 0xeaf3a2da,0xecf4,0x4d24,0xb6,0x44,0xb3,0x4f,0x68,0x42,0x02,0x4b); 2242__CRT_UUID_DECL(IDWriteTextRenderer, 0xef8a8135,0x5cc6,0x45fe,0x88,0x25,0xc5,0xa0,0x72,0x4e,0xb8,0x19); 2243__CRT_UUID_DECL(IDWriteInlineObject, 0x8339fde3,0x106f,0x47ab,0x83,0x73,0x1c,0x62,0x95,0xeb,0x10,0xb3); 2244__CRT_UUID_DECL(IDWriteTextFormat, 0x9c906818,0x31d7,0x4fd3,0xa1,0x51,0x7c,0x5e,0x22,0x5d,0xb5,0x5a); 2245__CRT_UUID_DECL(IDWriteTextLayout, 0x53737037,0x6d14,0x410b,0x9b,0xfe,0x0b,0x18,0x2b,0xb7,0x09,0x61); 2246 2247#define IDWriteFontFileEnumerator __MINGW_POISON_NAME(IDWriteFontFileEnumerator) 2248#define IDWriteLocalFontFileLoader __MINGW_POISON_NAME(IDWriteLocalFontFileLoader) 2249#define IDWriteTypography __MINGW_POISON_NAME(IDWriteTypography) 2250 2251#endif /* __INC_DWRITE__ */ 2252