dwrite_3.h (712048B) - Raw
1 /*** Autogenerated by WIDL 10.4 from include/dwrite_3.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __dwrite_3_h__ 17 #define __dwrite_3_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IDWriteFontDownloadListener_FWD_DEFINED__ 22 #define __IDWriteFontDownloadListener_FWD_DEFINED__ 23 typedef interface IDWriteFontDownloadListener IDWriteFontDownloadListener; 24 #ifdef __cplusplus 25 interface IDWriteFontDownloadListener; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IDWriteFontDownloadQueue_FWD_DEFINED__ 30 #define __IDWriteFontDownloadQueue_FWD_DEFINED__ 31 typedef interface IDWriteFontDownloadQueue IDWriteFontDownloadQueue; 32 #ifdef __cplusplus 33 interface IDWriteFontDownloadQueue; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IDWriteRenderingParams3_FWD_DEFINED__ 38 #define __IDWriteRenderingParams3_FWD_DEFINED__ 39 typedef interface IDWriteRenderingParams3 IDWriteRenderingParams3; 40 #ifdef __cplusplus 41 interface IDWriteRenderingParams3; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IDWriteStringList_FWD_DEFINED__ 46 #define __IDWriteStringList_FWD_DEFINED__ 47 typedef interface IDWriteStringList IDWriteStringList; 48 #ifdef __cplusplus 49 interface IDWriteStringList; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IDWriteFontSet_FWD_DEFINED__ 54 #define __IDWriteFontSet_FWD_DEFINED__ 55 typedef interface IDWriteFontSet IDWriteFontSet; 56 #ifdef __cplusplus 57 interface IDWriteFontSet; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IDWriteFontResource_FWD_DEFINED__ 62 #define __IDWriteFontResource_FWD_DEFINED__ 63 typedef interface IDWriteFontResource IDWriteFontResource; 64 #ifdef __cplusplus 65 interface IDWriteFontResource; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IDWriteFontSet1_FWD_DEFINED__ 70 #define __IDWriteFontSet1_FWD_DEFINED__ 71 typedef interface IDWriteFontSet1 IDWriteFontSet1; 72 #ifdef __cplusplus 73 interface IDWriteFontSet1; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IDWriteFont3_FWD_DEFINED__ 78 #define __IDWriteFont3_FWD_DEFINED__ 79 typedef interface IDWriteFont3 IDWriteFont3; 80 #ifdef __cplusplus 81 interface IDWriteFont3; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IDWriteFontFamily1_FWD_DEFINED__ 86 #define __IDWriteFontFamily1_FWD_DEFINED__ 87 typedef interface IDWriteFontFamily1 IDWriteFontFamily1; 88 #ifdef __cplusplus 89 interface IDWriteFontFamily1; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __IDWriteFontFamily2_FWD_DEFINED__ 94 #define __IDWriteFontFamily2_FWD_DEFINED__ 95 typedef interface IDWriteFontFamily2 IDWriteFontFamily2; 96 #ifdef __cplusplus 97 interface IDWriteFontFamily2; 98 #endif /* __cplusplus */ 99 #endif 100 101 #ifndef __IDWriteFontCollection1_FWD_DEFINED__ 102 #define __IDWriteFontCollection1_FWD_DEFINED__ 103 typedef interface IDWriteFontCollection1 IDWriteFontCollection1; 104 #ifdef __cplusplus 105 interface IDWriteFontCollection1; 106 #endif /* __cplusplus */ 107 #endif 108 109 #ifndef __IDWriteFontCollection2_FWD_DEFINED__ 110 #define __IDWriteFontCollection2_FWD_DEFINED__ 111 typedef interface IDWriteFontCollection2 IDWriteFontCollection2; 112 #ifdef __cplusplus 113 interface IDWriteFontCollection2; 114 #endif /* __cplusplus */ 115 #endif 116 117 #ifndef __IDWriteFontCollection3_FWD_DEFINED__ 118 #define __IDWriteFontCollection3_FWD_DEFINED__ 119 typedef interface IDWriteFontCollection3 IDWriteFontCollection3; 120 #ifdef __cplusplus 121 interface IDWriteFontCollection3; 122 #endif /* __cplusplus */ 123 #endif 124 125 #ifndef __IDWriteFontFaceReference_FWD_DEFINED__ 126 #define __IDWriteFontFaceReference_FWD_DEFINED__ 127 typedef interface IDWriteFontFaceReference IDWriteFontFaceReference; 128 #ifdef __cplusplus 129 interface IDWriteFontFaceReference; 130 #endif /* __cplusplus */ 131 #endif 132 133 #ifndef __IDWriteFontFaceReference1_FWD_DEFINED__ 134 #define __IDWriteFontFaceReference1_FWD_DEFINED__ 135 typedef interface IDWriteFontFaceReference1 IDWriteFontFaceReference1; 136 #ifdef __cplusplus 137 interface IDWriteFontFaceReference1; 138 #endif /* __cplusplus */ 139 #endif 140 141 #ifndef __IDWriteFontList1_FWD_DEFINED__ 142 #define __IDWriteFontList1_FWD_DEFINED__ 143 typedef interface IDWriteFontList1 IDWriteFontList1; 144 #ifdef __cplusplus 145 interface IDWriteFontList1; 146 #endif /* __cplusplus */ 147 #endif 148 149 #ifndef __IDWriteFontList2_FWD_DEFINED__ 150 #define __IDWriteFontList2_FWD_DEFINED__ 151 typedef interface IDWriteFontList2 IDWriteFontList2; 152 #ifdef __cplusplus 153 interface IDWriteFontList2; 154 #endif /* __cplusplus */ 155 #endif 156 157 #ifndef __IDWriteFontSet2_FWD_DEFINED__ 158 #define __IDWriteFontSet2_FWD_DEFINED__ 159 typedef interface IDWriteFontSet2 IDWriteFontSet2; 160 #ifdef __cplusplus 161 interface IDWriteFontSet2; 162 #endif /* __cplusplus */ 163 #endif 164 165 #ifndef __IDWriteFontSet3_FWD_DEFINED__ 166 #define __IDWriteFontSet3_FWD_DEFINED__ 167 typedef interface IDWriteFontSet3 IDWriteFontSet3; 168 #ifdef __cplusplus 169 interface IDWriteFontSet3; 170 #endif /* __cplusplus */ 171 #endif 172 173 #ifndef __IDWriteFontSet4_FWD_DEFINED__ 174 #define __IDWriteFontSet4_FWD_DEFINED__ 175 typedef interface IDWriteFontSet4 IDWriteFontSet4; 176 #ifdef __cplusplus 177 interface IDWriteFontSet4; 178 #endif /* __cplusplus */ 179 #endif 180 181 #ifndef __IDWriteFontFace3_FWD_DEFINED__ 182 #define __IDWriteFontFace3_FWD_DEFINED__ 183 typedef interface IDWriteFontFace3 IDWriteFontFace3; 184 #ifdef __cplusplus 185 interface IDWriteFontFace3; 186 #endif /* __cplusplus */ 187 #endif 188 189 #ifndef __IDWriteTextFormat2_FWD_DEFINED__ 190 #define __IDWriteTextFormat2_FWD_DEFINED__ 191 typedef interface IDWriteTextFormat2 IDWriteTextFormat2; 192 #ifdef __cplusplus 193 interface IDWriteTextFormat2; 194 #endif /* __cplusplus */ 195 #endif 196 197 #ifndef __IDWriteTextFormat3_FWD_DEFINED__ 198 #define __IDWriteTextFormat3_FWD_DEFINED__ 199 typedef interface IDWriteTextFormat3 IDWriteTextFormat3; 200 #ifdef __cplusplus 201 interface IDWriteTextFormat3; 202 #endif /* __cplusplus */ 203 #endif 204 205 #ifndef __IDWriteTextLayout3_FWD_DEFINED__ 206 #define __IDWriteTextLayout3_FWD_DEFINED__ 207 typedef interface IDWriteTextLayout3 IDWriteTextLayout3; 208 #ifdef __cplusplus 209 interface IDWriteTextLayout3; 210 #endif /* __cplusplus */ 211 #endif 212 213 #ifndef __IDWriteTextLayout4_FWD_DEFINED__ 214 #define __IDWriteTextLayout4_FWD_DEFINED__ 215 typedef interface IDWriteTextLayout4 IDWriteTextLayout4; 216 #ifdef __cplusplus 217 interface IDWriteTextLayout4; 218 #endif /* __cplusplus */ 219 #endif 220 221 #ifndef __IDWriteFontFallback1_FWD_DEFINED__ 222 #define __IDWriteFontFallback1_FWD_DEFINED__ 223 typedef interface IDWriteFontFallback1 IDWriteFontFallback1; 224 #ifdef __cplusplus 225 interface IDWriteFontFallback1; 226 #endif /* __cplusplus */ 227 #endif 228 229 #ifndef __IDWriteGdiInterop1_FWD_DEFINED__ 230 #define __IDWriteGdiInterop1_FWD_DEFINED__ 231 typedef interface IDWriteGdiInterop1 IDWriteGdiInterop1; 232 #ifdef __cplusplus 233 interface IDWriteGdiInterop1; 234 #endif /* __cplusplus */ 235 #endif 236 237 #ifndef __IDWriteFontSetBuilder_FWD_DEFINED__ 238 #define __IDWriteFontSetBuilder_FWD_DEFINED__ 239 typedef interface IDWriteFontSetBuilder IDWriteFontSetBuilder; 240 #ifdef __cplusplus 241 interface IDWriteFontSetBuilder; 242 #endif /* __cplusplus */ 243 #endif 244 245 #ifndef __IDWriteFontSetBuilder1_FWD_DEFINED__ 246 #define __IDWriteFontSetBuilder1_FWD_DEFINED__ 247 typedef interface IDWriteFontSetBuilder1 IDWriteFontSetBuilder1; 248 #ifdef __cplusplus 249 interface IDWriteFontSetBuilder1; 250 #endif /* __cplusplus */ 251 #endif 252 253 #ifndef __IDWriteFontSetBuilder2_FWD_DEFINED__ 254 #define __IDWriteFontSetBuilder2_FWD_DEFINED__ 255 typedef interface IDWriteFontSetBuilder2 IDWriteFontSetBuilder2; 256 #ifdef __cplusplus 257 interface IDWriteFontSetBuilder2; 258 #endif /* __cplusplus */ 259 #endif 260 261 #ifndef __IDWriteFactory3_FWD_DEFINED__ 262 #define __IDWriteFactory3_FWD_DEFINED__ 263 typedef interface IDWriteFactory3 IDWriteFactory3; 264 #ifdef __cplusplus 265 interface IDWriteFactory3; 266 #endif /* __cplusplus */ 267 #endif 268 269 #ifndef __IDWriteFontFace4_FWD_DEFINED__ 270 #define __IDWriteFontFace4_FWD_DEFINED__ 271 typedef interface IDWriteFontFace4 IDWriteFontFace4; 272 #ifdef __cplusplus 273 interface IDWriteFontFace4; 274 #endif /* __cplusplus */ 275 #endif 276 277 #ifndef __IDWriteFontFace5_FWD_DEFINED__ 278 #define __IDWriteFontFace5_FWD_DEFINED__ 279 typedef interface IDWriteFontFace5 IDWriteFontFace5; 280 #ifdef __cplusplus 281 interface IDWriteFontFace5; 282 #endif /* __cplusplus */ 283 #endif 284 285 #ifndef __IDWriteFontFace6_FWD_DEFINED__ 286 #define __IDWriteFontFace6_FWD_DEFINED__ 287 typedef interface IDWriteFontFace6 IDWriteFontFace6; 288 #ifdef __cplusplus 289 interface IDWriteFontFace6; 290 #endif /* __cplusplus */ 291 #endif 292 293 #ifndef __IDWritePaintReader_FWD_DEFINED__ 294 #define __IDWritePaintReader_FWD_DEFINED__ 295 typedef interface IDWritePaintReader IDWritePaintReader; 296 #ifdef __cplusplus 297 interface IDWritePaintReader; 298 #endif /* __cplusplus */ 299 #endif 300 301 #ifndef __IDWriteFontFace7_FWD_DEFINED__ 302 #define __IDWriteFontFace7_FWD_DEFINED__ 303 typedef interface IDWriteFontFace7 IDWriteFontFace7; 304 #ifdef __cplusplus 305 interface IDWriteFontFace7; 306 #endif /* __cplusplus */ 307 #endif 308 309 #ifndef __IDWriteColorGlyphRunEnumerator1_FWD_DEFINED__ 310 #define __IDWriteColorGlyphRunEnumerator1_FWD_DEFINED__ 311 typedef interface IDWriteColorGlyphRunEnumerator1 IDWriteColorGlyphRunEnumerator1; 312 #ifdef __cplusplus 313 interface IDWriteColorGlyphRunEnumerator1; 314 #endif /* __cplusplus */ 315 #endif 316 317 #ifndef __IDWriteFactory4_FWD_DEFINED__ 318 #define __IDWriteFactory4_FWD_DEFINED__ 319 typedef interface IDWriteFactory4 IDWriteFactory4; 320 #ifdef __cplusplus 321 interface IDWriteFactory4; 322 #endif /* __cplusplus */ 323 #endif 324 325 #ifndef __IDWriteAsyncResult_FWD_DEFINED__ 326 #define __IDWriteAsyncResult_FWD_DEFINED__ 327 typedef interface IDWriteAsyncResult IDWriteAsyncResult; 328 #ifdef __cplusplus 329 interface IDWriteAsyncResult; 330 #endif /* __cplusplus */ 331 #endif 332 333 #ifndef __IDWriteRemoteFontFileStream_FWD_DEFINED__ 334 #define __IDWriteRemoteFontFileStream_FWD_DEFINED__ 335 typedef interface IDWriteRemoteFontFileStream IDWriteRemoteFontFileStream; 336 #ifdef __cplusplus 337 interface IDWriteRemoteFontFileStream; 338 #endif /* __cplusplus */ 339 #endif 340 341 #ifndef __IDWriteRemoteFontFileLoader_FWD_DEFINED__ 342 #define __IDWriteRemoteFontFileLoader_FWD_DEFINED__ 343 typedef interface IDWriteRemoteFontFileLoader IDWriteRemoteFontFileLoader; 344 #ifdef __cplusplus 345 interface IDWriteRemoteFontFileLoader; 346 #endif /* __cplusplus */ 347 #endif 348 349 #ifndef __IDWriteInMemoryFontFileLoader_FWD_DEFINED__ 350 #define __IDWriteInMemoryFontFileLoader_FWD_DEFINED__ 351 typedef interface IDWriteInMemoryFontFileLoader IDWriteInMemoryFontFileLoader; 352 #ifdef __cplusplus 353 interface IDWriteInMemoryFontFileLoader; 354 #endif /* __cplusplus */ 355 #endif 356 357 #ifndef __IDWriteFactory5_FWD_DEFINED__ 358 #define __IDWriteFactory5_FWD_DEFINED__ 359 typedef interface IDWriteFactory5 IDWriteFactory5; 360 #ifdef __cplusplus 361 interface IDWriteFactory5; 362 #endif /* __cplusplus */ 363 #endif 364 365 #ifndef __IDWriteFactory6_FWD_DEFINED__ 366 #define __IDWriteFactory6_FWD_DEFINED__ 367 typedef interface IDWriteFactory6 IDWriteFactory6; 368 #ifdef __cplusplus 369 interface IDWriteFactory6; 370 #endif /* __cplusplus */ 371 #endif 372 373 #ifndef __IDWriteFactory7_FWD_DEFINED__ 374 #define __IDWriteFactory7_FWD_DEFINED__ 375 typedef interface IDWriteFactory7 IDWriteFactory7; 376 #ifdef __cplusplus 377 interface IDWriteFactory7; 378 #endif /* __cplusplus */ 379 #endif 380 381 #ifndef __IDWriteFactory8_FWD_DEFINED__ 382 #define __IDWriteFactory8_FWD_DEFINED__ 383 typedef interface IDWriteFactory8 IDWriteFactory8; 384 #ifdef __cplusplus 385 interface IDWriteFactory8; 386 #endif /* __cplusplus */ 387 #endif 388 389 #ifndef __IDWriteBitmapRenderTarget2_FWD_DEFINED__ 390 #define __IDWriteBitmapRenderTarget2_FWD_DEFINED__ 391 typedef interface IDWriteBitmapRenderTarget2 IDWriteBitmapRenderTarget2; 392 #ifdef __cplusplus 393 interface IDWriteBitmapRenderTarget2; 394 #endif /* __cplusplus */ 395 #endif 396 397 #ifndef __IDWriteBitmapRenderTarget3_FWD_DEFINED__ 398 #define __IDWriteBitmapRenderTarget3_FWD_DEFINED__ 399 typedef interface IDWriteBitmapRenderTarget3 IDWriteBitmapRenderTarget3; 400 #ifdef __cplusplus 401 interface IDWriteBitmapRenderTarget3; 402 #endif /* __cplusplus */ 403 #endif 404 405 /* Headers for imported files */ 406 407 #include <dwrite_2.h> 408 409 #ifdef __cplusplus 410 extern "C" { 411 #endif 412 413 #ifndef __IDWriteFontFaceReference_FWD_DEFINED__ 414 #define __IDWriteFontFaceReference_FWD_DEFINED__ 415 typedef interface IDWriteFontFaceReference IDWriteFontFaceReference; 416 #ifdef __cplusplus 417 interface IDWriteFontFaceReference; 418 #endif /* __cplusplus */ 419 #endif 420 421 #ifndef __IDWriteFontFaceReference1_FWD_DEFINED__ 422 #define __IDWriteFontFaceReference1_FWD_DEFINED__ 423 typedef interface IDWriteFontFaceReference1 IDWriteFontFaceReference1; 424 #ifdef __cplusplus 425 interface IDWriteFontFaceReference1; 426 #endif /* __cplusplus */ 427 #endif 428 429 #ifndef __IDWriteFontFace3_FWD_DEFINED__ 430 #define __IDWriteFontFace3_FWD_DEFINED__ 431 typedef interface IDWriteFontFace3 IDWriteFontFace3; 432 #ifdef __cplusplus 433 interface IDWriteFontFace3; 434 #endif /* __cplusplus */ 435 #endif 436 437 #ifndef __IDWriteFontSet_FWD_DEFINED__ 438 #define __IDWriteFontSet_FWD_DEFINED__ 439 typedef interface IDWriteFontSet IDWriteFontSet; 440 #ifdef __cplusplus 441 interface IDWriteFontSet; 442 #endif /* __cplusplus */ 443 #endif 444 445 #ifndef __IDWriteFontDownloadQueue_FWD_DEFINED__ 446 #define __IDWriteFontDownloadQueue_FWD_DEFINED__ 447 typedef interface IDWriteFontDownloadQueue IDWriteFontDownloadQueue; 448 #ifdef __cplusplus 449 interface IDWriteFontDownloadQueue; 450 #endif /* __cplusplus */ 451 #endif 452 453 #ifndef __IDWriteFontFace5_FWD_DEFINED__ 454 #define __IDWriteFontFace5_FWD_DEFINED__ 455 typedef interface IDWriteFontFace5 IDWriteFontFace5; 456 #ifdef __cplusplus 457 interface IDWriteFontFace5; 458 #endif /* __cplusplus */ 459 #endif 460 461 #ifndef __IDWriteFontList2_FWD_DEFINED__ 462 #define __IDWriteFontList2_FWD_DEFINED__ 463 typedef interface IDWriteFontList2 IDWriteFontList2; 464 #ifdef __cplusplus 465 interface IDWriteFontList2; 466 #endif /* __cplusplus */ 467 #endif 468 469 #ifndef _WINGDI_ 470 typedef struct FONTSIGNATURE FONTSIGNATURE; 471 #endif /* _WINGDI_ */ 472 typedef struct D2D1_GRADIENT_STOP D2D1_GRADIENT_STOP; 473 typedef enum DWRITE_COLOR_COMPOSITE_MODE { 474 DWRITE_COLOR_COMPOSITE_CLEAR = 0, 475 DWRITE_COLOR_COMPOSITE_SRC = 1, 476 DWRITE_COLOR_COMPOSITE_DEST = 2, 477 DWRITE_COLOR_COMPOSITE_SRC_OVER = 3, 478 DWRITE_COLOR_COMPOSITE_DEST_OVER = 4, 479 DWRITE_COLOR_COMPOSITE_SRC_IN = 5, 480 DWRITE_COLOR_COMPOSITE_DEST_IN = 6, 481 DWRITE_COLOR_COMPOSITE_SRC_OUT = 7, 482 DWRITE_COLOR_COMPOSITE_DEST_OUT = 8, 483 DWRITE_COLOR_COMPOSITE_SRC_ATOP = 9, 484 DWRITE_COLOR_COMPOSITE_DEST_ATOP = 10, 485 DWRITE_COLOR_COMPOSITE_XOR = 11, 486 DWRITE_COLOR_COMPOSITE_PLUS = 12, 487 DWRITE_COLOR_COMPOSITE_SCREEN = 13, 488 DWRITE_COLOR_COMPOSITE_OVERLAY = 14, 489 DWRITE_COLOR_COMPOSITE_DARKEN = 15, 490 DWRITE_COLOR_COMPOSITE_LIGHTEN = 16, 491 DWRITE_COLOR_COMPOSITE_COLOR_DODGE = 17, 492 DWRITE_COLOR_COMPOSITE_COLOR_BURN = 18, 493 DWRITE_COLOR_COMPOSITE_HARD_LIGHT = 19, 494 DWRITE_COLOR_COMPOSITE_SOFT_LIGHT = 20, 495 DWRITE_COLOR_COMPOSITE_DIFFERENCE = 21, 496 DWRITE_COLOR_COMPOSITE_EXCLUSION = 22, 497 DWRITE_COLOR_COMPOSITE_MULTIPLY = 23, 498 DWRITE_COLOR_COMPOSITE_HSL_HUE = 24, 499 DWRITE_COLOR_COMPOSITE_HSL_SATURATION = 25, 500 DWRITE_COLOR_COMPOSITE_HSL_COLOR = 26, 501 DWRITE_COLOR_COMPOSITE_HSL_LUMINOSITY = 27 502 } DWRITE_COLOR_COMPOSITE_MODE; 503 typedef enum DWRITE_LOCALITY { 504 DWRITE_LOCALITY_REMOTE = 0, 505 DWRITE_LOCALITY_PARTIAL = 1, 506 DWRITE_LOCALITY_LOCAL = 2 507 } DWRITE_LOCALITY; 508 typedef enum DWRITE_RENDERING_MODE1 { 509 DWRITE_RENDERING_MODE1_DEFAULT = 0, 510 DWRITE_RENDERING_MODE1_ALIASED = 1, 511 DWRITE_RENDERING_MODE1_GDI_CLASSIC = 2, 512 DWRITE_RENDERING_MODE1_GDI_NATURAL = 3, 513 DWRITE_RENDERING_MODE1_NATURAL = 4, 514 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC = 5, 515 DWRITE_RENDERING_MODE1_OUTLINE = 6, 516 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED = 7 517 } DWRITE_RENDERING_MODE1; 518 typedef enum DWRITE_FONT_PROPERTY_ID { 519 DWRITE_FONT_PROPERTY_ID_NONE = 0, 520 DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME = 1, 521 DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME = 2, 522 DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME = 3, 523 DWRITE_FONT_PROPERTY_ID_FULL_NAME = 4, 524 DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME = 5, 525 DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME = 6, 526 DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG = 7, 527 DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG = 8, 528 DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG = 9, 529 DWRITE_FONT_PROPERTY_ID_WEIGHT = 10, 530 DWRITE_FONT_PROPERTY_ID_STRETCH = 11, 531 DWRITE_FONT_PROPERTY_ID_STYLE = 12, 532 DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME = 13, 533 DWRITE_FONT_PROPERTY_ID_TOTAL = DWRITE_FONT_PROPERTY_ID_STYLE + 1, 534 DWRITE_FONT_PROPERTY_ID_TOTAL_RS3 = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME + 1, 535 DWRITE_FONT_PROPERTY_ID_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, 536 DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, 537 DWRITE_FONT_PROPERTY_ID_FACE_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME 538 } DWRITE_FONT_PROPERTY_ID; 539 typedef struct DWRITE_FONT_PROPERTY { 540 DWRITE_FONT_PROPERTY_ID propertyId; 541 const WCHAR *propertyValue; 542 const WCHAR *localeName; 543 } DWRITE_FONT_PROPERTY; 544 #ifdef __cplusplus 545 #define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (static_cast<DWRITE_FONT_AXIS_TAG>(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d))) 546 #else 547 #define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d)) 548 #endif 549 typedef enum DWRITE_FONT_AXIS_TAG { 550 DWRITE_FONT_AXIS_TAG_WEIGHT = 0x74686777, 551 DWRITE_FONT_AXIS_TAG_WIDTH = 0x68746477, 552 DWRITE_FONT_AXIS_TAG_SLANT = 0x746e6c73, 553 DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = 0x7a73706f, 554 DWRITE_FONT_AXIS_TAG_ITALIC = 0x6c617469 555 } DWRITE_FONT_AXIS_TAG; 556 typedef enum DWRITE_FONT_SOURCE_TYPE { 557 DWRITE_FONT_SOURCE_TYPE_UNKNOWN = 0, 558 DWRITE_FONT_SOURCE_TYPE_PER_MACHINE = 1, 559 DWRITE_FONT_SOURCE_TYPE_PER_USER = 2, 560 DWRITE_FONT_SOURCE_TYPE_APPX_PACKAGE = 3, 561 DWRITE_FONT_SOURCE_TYPE_REMOTE_FONT_PROVIDER = 4 562 } DWRITE_FONT_SOURCE_TYPE; 563 typedef struct DWRITE_FONT_AXIS_VALUE { 564 DWRITE_FONT_AXIS_TAG axisTag; 565 FLOAT value; 566 } DWRITE_FONT_AXIS_VALUE; 567 typedef struct DWRITE_FONT_AXIS_RANGE { 568 DWRITE_FONT_AXIS_TAG axisTag; 569 FLOAT minValue; 570 FLOAT maxValue; 571 } DWRITE_FONT_AXIS_RANGE; 572 typedef enum DWRITE_AUTOMATIC_FONT_AXES { 573 DWRITE_AUTOMATIC_FONT_AXES_NONE = 0, 574 DWRITE_AUTOMATIC_FONT_AXES_OPTICAL_SIZE = 1 575 } DWRITE_AUTOMATIC_FONT_AXES; 576 typedef enum DWRITE_FONT_AXIS_ATTRIBUTES { 577 DWRITE_FONT_AXIS_ATTRIBUTES_NONE = 0, 578 DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE = 1, 579 DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN = 2 580 } DWRITE_FONT_AXIS_ATTRIBUTES; 581 typedef enum DWRITE_FONT_FAMILY_MODEL { 582 DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC = 0, 583 DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE = 1 584 } DWRITE_FONT_FAMILY_MODEL; 585 typedef enum DWRITE_PAINT_TYPE { 586 DWRITE_PAINT_TYPE_NONE = 0, 587 DWRITE_PAINT_TYPE_LAYERS = 1, 588 DWRITE_PAINT_TYPE_SOLID_GLYPH = 2, 589 DWRITE_PAINT_TYPE_SOLID = 3, 590 DWRITE_PAINT_TYPE_LINEAR_GRADIENT = 4, 591 DWRITE_PAINT_TYPE_RADIAL_GRADIENT = 5, 592 DWRITE_PAINT_TYPE_SWEEP_GRADIENT = 6, 593 DWRITE_PAINT_TYPE_GLYPH = 7, 594 DWRITE_PAINT_TYPE_COLOR_GLYPH = 8, 595 DWRITE_PAINT_TYPE_TRANSFORM = 9, 596 DWRITE_PAINT_TYPE_COMPOSITE = 10 597 } DWRITE_PAINT_TYPE; 598 #ifndef DWRITE_PAINT_FEATURE_LEVEL_DEFINED 599 #define DWRITE_PAINT_FEATURE_LEVEL_DEFINED 600 typedef enum DWRITE_PAINT_FEATURE_LEVEL { 601 DWRITE_PAINT_FEATURE_LEVEL_NONE = 0, 602 DWRITE_PAINT_FEATURE_LEVEL_COLR_V0 = 1, 603 DWRITE_PAINT_FEATURE_LEVEL_COLR_V1 = 2 604 } DWRITE_PAINT_FEATURE_LEVEL; 605 #endif /* DWRITE_PAINT_FEATURE_LEVEL_DEFINED */ 606 typedef enum DWRITE_PAINT_ATTRIBUTES { 607 DWRITE_PAINT_ATTRIBUTES_NONE = 0, 608 DWRITE_PAINT_ATTRIBUTES_USES_PALETTE = 0x1, 609 DWRITE_PAINT_ATTRIBUTES_USES_TEXT_COLOR = 0x2 610 } DWRITE_PAINT_ATTRIBUTES; 611 DEFINE_ENUM_FLAG_OPERATORS(DWRITE_PAINT_ATTRIBUTES) 612 typedef struct DWRITE_PAINT_COLOR { 613 DWRITE_COLOR_F value; 614 UINT16 paletteEntryIndex; 615 float alphaMultiplier; 616 DWRITE_PAINT_ATTRIBUTES colorAttributes; 617 } DWRITE_PAINT_COLOR; 618 typedef struct DWRITE_PAINT_ELEMENT { 619 DWRITE_PAINT_TYPE paintType; 620 union PAINT_UNION { 621 struct PAINT_LAYERS { 622 UINT32 childCount; 623 } layers; 624 struct PAINT_SOLID_GLYPH { 625 UINT32 glyphIndex; 626 DWRITE_PAINT_COLOR color; 627 } solidGlyph; 628 DWRITE_PAINT_COLOR solid; 629 struct PAINT_LINEAR_GRADIENT { 630 UINT32 extendMode; 631 UINT32 gradientStopCount; 632 float x0; 633 float y0; 634 float x1; 635 float y1; 636 float x2; 637 float y2; 638 } linearGradient; 639 struct PAINT_RADIAL_GRADIENT { 640 UINT32 extendMode; 641 UINT32 gradientStopCount; 642 float x0; 643 float y0; 644 float radius0; 645 float x1; 646 float y1; 647 float radius1; 648 } radialGradient; 649 struct PAINT_SWEEP_GRADIENT { 650 UINT32 extendMode; 651 UINT32 gradientStopCount; 652 float centerX; 653 float centerY; 654 float startAngle; 655 float endAngle; 656 } sweepGradient; 657 struct PAINT_GLYPH { 658 UINT32 glyphIndex; 659 } glyph; 660 struct PAINT_COLOR_GLYPH { 661 UINT32 glyphIndex; 662 D2D_RECT_F clipBox; 663 } colorGlyph; 664 DWRITE_MATRIX transform; 665 struct PAINT_COMPOSITE { 666 DWRITE_COLOR_COMPOSITE_MODE mode; 667 } composite; 668 } paint; 669 } DWRITE_PAINT_ELEMENT; 670 /***************************************************************************** 671 * IDWriteFontDownloadListener interface 672 */ 673 #ifndef __IDWriteFontDownloadListener_INTERFACE_DEFINED__ 674 #define __IDWriteFontDownloadListener_INTERFACE_DEFINED__ 675 676 DEFINE_GUID(IID_IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88,0x1b, 0xdb,0xe4,0xdc,0x72,0xfd,0xa7); 677 #if defined(__cplusplus) && !defined(CINTERFACE) 678 MIDL_INTERFACE("b06fe5b9-43ec-4393-881b-dbe4dc72fda7") 679 IDWriteFontDownloadListener : public IUnknown 680 { 681 virtual void STDMETHODCALLTYPE DownloadCompleted( 682 IDWriteFontDownloadQueue *queue, 683 IUnknown *context, 684 HRESULT result) = 0; 685 686 }; 687 #ifdef __CRT_UUID_DECL 688 __CRT_UUID_DECL(IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88,0x1b, 0xdb,0xe4,0xdc,0x72,0xfd,0xa7) 689 #endif 690 #else 691 typedef struct IDWriteFontDownloadListenerVtbl { 692 BEGIN_INTERFACE 693 694 /*** IUnknown methods ***/ 695 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 696 IDWriteFontDownloadListener *This, 697 REFIID riid, 698 void **ppvObject); 699 700 ULONG (STDMETHODCALLTYPE *AddRef)( 701 IDWriteFontDownloadListener *This); 702 703 ULONG (STDMETHODCALLTYPE *Release)( 704 IDWriteFontDownloadListener *This); 705 706 /*** IDWriteFontDownloadListener methods ***/ 707 void (STDMETHODCALLTYPE *DownloadCompleted)( 708 IDWriteFontDownloadListener *This, 709 IDWriteFontDownloadQueue *queue, 710 IUnknown *context, 711 HRESULT result); 712 713 END_INTERFACE 714 } IDWriteFontDownloadListenerVtbl; 715 716 interface IDWriteFontDownloadListener { 717 CONST_VTBL IDWriteFontDownloadListenerVtbl* lpVtbl; 718 }; 719 720 #ifdef COBJMACROS 721 #ifndef WIDL_C_INLINE_WRAPPERS 722 /*** IUnknown methods ***/ 723 #define IDWriteFontDownloadListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 724 #define IDWriteFontDownloadListener_AddRef(This) (This)->lpVtbl->AddRef(This) 725 #define IDWriteFontDownloadListener_Release(This) (This)->lpVtbl->Release(This) 726 /*** IDWriteFontDownloadListener methods ***/ 727 #define IDWriteFontDownloadListener_DownloadCompleted(This,queue,context,result) (This)->lpVtbl->DownloadCompleted(This,queue,context,result) 728 #else 729 /*** IUnknown methods ***/ 730 static inline HRESULT IDWriteFontDownloadListener_QueryInterface(IDWriteFontDownloadListener* This,REFIID riid,void **ppvObject) { 731 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 732 } 733 static inline ULONG IDWriteFontDownloadListener_AddRef(IDWriteFontDownloadListener* This) { 734 return This->lpVtbl->AddRef(This); 735 } 736 static inline ULONG IDWriteFontDownloadListener_Release(IDWriteFontDownloadListener* This) { 737 return This->lpVtbl->Release(This); 738 } 739 /*** IDWriteFontDownloadListener methods ***/ 740 static inline void IDWriteFontDownloadListener_DownloadCompleted(IDWriteFontDownloadListener* This,IDWriteFontDownloadQueue *queue,IUnknown *context,HRESULT result) { 741 This->lpVtbl->DownloadCompleted(This,queue,context,result); 742 } 743 #endif 744 #endif 745 746 #endif 747 748 749 #endif /* __IDWriteFontDownloadListener_INTERFACE_DEFINED__ */ 750 751 /***************************************************************************** 752 * IDWriteFontDownloadQueue interface 753 */ 754 #ifndef __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ 755 #define __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ 756 757 DEFINE_GUID(IID_IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83,0x2e, 0xf6,0x0d,0x43,0x1f,0x7e,0x91); 758 #if defined(__cplusplus) && !defined(CINTERFACE) 759 MIDL_INTERFACE("b71e6052-5aea-4fa3-832e-f60d431f7e91") 760 IDWriteFontDownloadQueue : public IUnknown 761 { 762 virtual HRESULT STDMETHODCALLTYPE AddListener( 763 IDWriteFontDownloadListener *listener, 764 UINT32 *token) = 0; 765 766 virtual HRESULT STDMETHODCALLTYPE RemoveListener( 767 UINT32 token) = 0; 768 769 virtual WINBOOL STDMETHODCALLTYPE IsEmpty( 770 ) = 0; 771 772 virtual HRESULT STDMETHODCALLTYPE BeginDownload( 773 IUnknown *context) = 0; 774 775 virtual HRESULT STDMETHODCALLTYPE CancelDownload( 776 ) = 0; 777 778 virtual UINT64 STDMETHODCALLTYPE GetGenerationCount( 779 ) = 0; 780 781 }; 782 #ifdef __CRT_UUID_DECL 783 __CRT_UUID_DECL(IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83,0x2e, 0xf6,0x0d,0x43,0x1f,0x7e,0x91) 784 #endif 785 #else 786 typedef struct IDWriteFontDownloadQueueVtbl { 787 BEGIN_INTERFACE 788 789 /*** IUnknown methods ***/ 790 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 791 IDWriteFontDownloadQueue *This, 792 REFIID riid, 793 void **ppvObject); 794 795 ULONG (STDMETHODCALLTYPE *AddRef)( 796 IDWriteFontDownloadQueue *This); 797 798 ULONG (STDMETHODCALLTYPE *Release)( 799 IDWriteFontDownloadQueue *This); 800 801 /*** IDWriteFontDownloadQueue methods ***/ 802 HRESULT (STDMETHODCALLTYPE *AddListener)( 803 IDWriteFontDownloadQueue *This, 804 IDWriteFontDownloadListener *listener, 805 UINT32 *token); 806 807 HRESULT (STDMETHODCALLTYPE *RemoveListener)( 808 IDWriteFontDownloadQueue *This, 809 UINT32 token); 810 811 WINBOOL (STDMETHODCALLTYPE *IsEmpty)( 812 IDWriteFontDownloadQueue *This); 813 814 HRESULT (STDMETHODCALLTYPE *BeginDownload)( 815 IDWriteFontDownloadQueue *This, 816 IUnknown *context); 817 818 HRESULT (STDMETHODCALLTYPE *CancelDownload)( 819 IDWriteFontDownloadQueue *This); 820 821 UINT64 (STDMETHODCALLTYPE *GetGenerationCount)( 822 IDWriteFontDownloadQueue *This); 823 824 END_INTERFACE 825 } IDWriteFontDownloadQueueVtbl; 826 827 interface IDWriteFontDownloadQueue { 828 CONST_VTBL IDWriteFontDownloadQueueVtbl* lpVtbl; 829 }; 830 831 #ifdef COBJMACROS 832 #ifndef WIDL_C_INLINE_WRAPPERS 833 /*** IUnknown methods ***/ 834 #define IDWriteFontDownloadQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 835 #define IDWriteFontDownloadQueue_AddRef(This) (This)->lpVtbl->AddRef(This) 836 #define IDWriteFontDownloadQueue_Release(This) (This)->lpVtbl->Release(This) 837 /*** IDWriteFontDownloadQueue methods ***/ 838 #define IDWriteFontDownloadQueue_AddListener(This,listener,token) (This)->lpVtbl->AddListener(This,listener,token) 839 #define IDWriteFontDownloadQueue_RemoveListener(This,token) (This)->lpVtbl->RemoveListener(This,token) 840 #define IDWriteFontDownloadQueue_IsEmpty(This) (This)->lpVtbl->IsEmpty(This) 841 #define IDWriteFontDownloadQueue_BeginDownload(This,context) (This)->lpVtbl->BeginDownload(This,context) 842 #define IDWriteFontDownloadQueue_CancelDownload(This) (This)->lpVtbl->CancelDownload(This) 843 #define IDWriteFontDownloadQueue_GetGenerationCount(This) (This)->lpVtbl->GetGenerationCount(This) 844 #else 845 /*** IUnknown methods ***/ 846 static inline HRESULT IDWriteFontDownloadQueue_QueryInterface(IDWriteFontDownloadQueue* This,REFIID riid,void **ppvObject) { 847 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 848 } 849 static inline ULONG IDWriteFontDownloadQueue_AddRef(IDWriteFontDownloadQueue* This) { 850 return This->lpVtbl->AddRef(This); 851 } 852 static inline ULONG IDWriteFontDownloadQueue_Release(IDWriteFontDownloadQueue* This) { 853 return This->lpVtbl->Release(This); 854 } 855 /*** IDWriteFontDownloadQueue methods ***/ 856 static inline HRESULT IDWriteFontDownloadQueue_AddListener(IDWriteFontDownloadQueue* This,IDWriteFontDownloadListener *listener,UINT32 *token) { 857 return This->lpVtbl->AddListener(This,listener,token); 858 } 859 static inline HRESULT IDWriteFontDownloadQueue_RemoveListener(IDWriteFontDownloadQueue* This,UINT32 token) { 860 return This->lpVtbl->RemoveListener(This,token); 861 } 862 static inline WINBOOL IDWriteFontDownloadQueue_IsEmpty(IDWriteFontDownloadQueue* This) { 863 return This->lpVtbl->IsEmpty(This); 864 } 865 static inline HRESULT IDWriteFontDownloadQueue_BeginDownload(IDWriteFontDownloadQueue* This,IUnknown *context) { 866 return This->lpVtbl->BeginDownload(This,context); 867 } 868 static inline HRESULT IDWriteFontDownloadQueue_CancelDownload(IDWriteFontDownloadQueue* This) { 869 return This->lpVtbl->CancelDownload(This); 870 } 871 static inline UINT64 IDWriteFontDownloadQueue_GetGenerationCount(IDWriteFontDownloadQueue* This) { 872 return This->lpVtbl->GetGenerationCount(This); 873 } 874 #endif 875 #endif 876 877 #endif 878 879 880 #endif /* __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ */ 881 882 /***************************************************************************** 883 * IDWriteRenderingParams3 interface 884 */ 885 #ifndef __IDWriteRenderingParams3_INTERFACE_DEFINED__ 886 #define __IDWriteRenderingParams3_INTERFACE_DEFINED__ 887 888 DEFINE_GUID(IID_IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c,0x5c, 0xe4,0x4c,0xc2,0xd8,0x67,0xdc); 889 #if defined(__cplusplus) && !defined(CINTERFACE) 890 MIDL_INTERFACE("b7924baa-391b-412a-8c5c-e44cc2d867dc") 891 IDWriteRenderingParams3 : public IDWriteRenderingParams2 892 { 893 virtual DWRITE_RENDERING_MODE1 STDMETHODCALLTYPE GetRenderingMode1( 894 ) = 0; 895 896 }; 897 #ifdef __CRT_UUID_DECL 898 __CRT_UUID_DECL(IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c,0x5c, 0xe4,0x4c,0xc2,0xd8,0x67,0xdc) 899 #endif 900 #else 901 typedef struct IDWriteRenderingParams3Vtbl { 902 BEGIN_INTERFACE 903 904 /*** IUnknown methods ***/ 905 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 906 IDWriteRenderingParams3 *This, 907 REFIID riid, 908 void **ppvObject); 909 910 ULONG (STDMETHODCALLTYPE *AddRef)( 911 IDWriteRenderingParams3 *This); 912 913 ULONG (STDMETHODCALLTYPE *Release)( 914 IDWriteRenderingParams3 *This); 915 916 /*** IDWriteRenderingParams methods ***/ 917 FLOAT (STDMETHODCALLTYPE *GetGamma)( 918 IDWriteRenderingParams3 *This); 919 920 FLOAT (STDMETHODCALLTYPE *GetEnhancedContrast)( 921 IDWriteRenderingParams3 *This); 922 923 FLOAT (STDMETHODCALLTYPE *GetClearTypeLevel)( 924 IDWriteRenderingParams3 *This); 925 926 DWRITE_PIXEL_GEOMETRY (STDMETHODCALLTYPE *GetPixelGeometry)( 927 IDWriteRenderingParams3 *This); 928 929 DWRITE_RENDERING_MODE (STDMETHODCALLTYPE *GetRenderingMode)( 930 IDWriteRenderingParams3 *This); 931 932 /*** IDWriteRenderingParams1 methods ***/ 933 FLOAT (STDMETHODCALLTYPE *GetGrayscaleEnhancedContrast)( 934 IDWriteRenderingParams3 *This); 935 936 /*** IDWriteRenderingParams2 methods ***/ 937 DWRITE_GRID_FIT_MODE (STDMETHODCALLTYPE *GetGridFitMode)( 938 IDWriteRenderingParams3 *This); 939 940 /*** IDWriteRenderingParams3 methods ***/ 941 DWRITE_RENDERING_MODE1 (STDMETHODCALLTYPE *GetRenderingMode1)( 942 IDWriteRenderingParams3 *This); 943 944 END_INTERFACE 945 } IDWriteRenderingParams3Vtbl; 946 947 interface IDWriteRenderingParams3 { 948 CONST_VTBL IDWriteRenderingParams3Vtbl* lpVtbl; 949 }; 950 951 #ifdef COBJMACROS 952 #ifndef WIDL_C_INLINE_WRAPPERS 953 /*** IUnknown methods ***/ 954 #define IDWriteRenderingParams3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 955 #define IDWriteRenderingParams3_AddRef(This) (This)->lpVtbl->AddRef(This) 956 #define IDWriteRenderingParams3_Release(This) (This)->lpVtbl->Release(This) 957 /*** IDWriteRenderingParams methods ***/ 958 #define IDWriteRenderingParams3_GetGamma(This) (This)->lpVtbl->GetGamma(This) 959 #define IDWriteRenderingParams3_GetEnhancedContrast(This) (This)->lpVtbl->GetEnhancedContrast(This) 960 #define IDWriteRenderingParams3_GetClearTypeLevel(This) (This)->lpVtbl->GetClearTypeLevel(This) 961 #define IDWriteRenderingParams3_GetPixelGeometry(This) (This)->lpVtbl->GetPixelGeometry(This) 962 #define IDWriteRenderingParams3_GetRenderingMode(This) (This)->lpVtbl->GetRenderingMode(This) 963 /*** IDWriteRenderingParams1 methods ***/ 964 #define IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(This) (This)->lpVtbl->GetGrayscaleEnhancedContrast(This) 965 /*** IDWriteRenderingParams2 methods ***/ 966 #define IDWriteRenderingParams3_GetGridFitMode(This) (This)->lpVtbl->GetGridFitMode(This) 967 /*** IDWriteRenderingParams3 methods ***/ 968 #define IDWriteRenderingParams3_GetRenderingMode1(This) (This)->lpVtbl->GetRenderingMode1(This) 969 #else 970 /*** IUnknown methods ***/ 971 static inline HRESULT IDWriteRenderingParams3_QueryInterface(IDWriteRenderingParams3* This,REFIID riid,void **ppvObject) { 972 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 973 } 974 static inline ULONG IDWriteRenderingParams3_AddRef(IDWriteRenderingParams3* This) { 975 return This->lpVtbl->AddRef(This); 976 } 977 static inline ULONG IDWriteRenderingParams3_Release(IDWriteRenderingParams3* This) { 978 return This->lpVtbl->Release(This); 979 } 980 /*** IDWriteRenderingParams methods ***/ 981 static inline FLOAT IDWriteRenderingParams3_GetGamma(IDWriteRenderingParams3* This) { 982 return This->lpVtbl->GetGamma(This); 983 } 984 static inline FLOAT IDWriteRenderingParams3_GetEnhancedContrast(IDWriteRenderingParams3* This) { 985 return This->lpVtbl->GetEnhancedContrast(This); 986 } 987 static inline FLOAT IDWriteRenderingParams3_GetClearTypeLevel(IDWriteRenderingParams3* This) { 988 return This->lpVtbl->GetClearTypeLevel(This); 989 } 990 static inline DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams3_GetPixelGeometry(IDWriteRenderingParams3* This) { 991 return This->lpVtbl->GetPixelGeometry(This); 992 } 993 static inline DWRITE_RENDERING_MODE IDWriteRenderingParams3_GetRenderingMode(IDWriteRenderingParams3* This) { 994 return This->lpVtbl->GetRenderingMode(This); 995 } 996 /*** IDWriteRenderingParams1 methods ***/ 997 static inline FLOAT IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(IDWriteRenderingParams3* This) { 998 return This->lpVtbl->GetGrayscaleEnhancedContrast(This); 999 } 1000 /*** IDWriteRenderingParams2 methods ***/ 1001 static inline DWRITE_GRID_FIT_MODE IDWriteRenderingParams3_GetGridFitMode(IDWriteRenderingParams3* This) { 1002 return This->lpVtbl->GetGridFitMode(This); 1003 } 1004 /*** IDWriteRenderingParams3 methods ***/ 1005 static inline DWRITE_RENDERING_MODE1 IDWriteRenderingParams3_GetRenderingMode1(IDWriteRenderingParams3* This) { 1006 return This->lpVtbl->GetRenderingMode1(This); 1007 } 1008 #endif 1009 #endif 1010 1011 #endif 1012 1013 1014 #endif /* __IDWriteRenderingParams3_INTERFACE_DEFINED__ */ 1015 1016 /***************************************************************************** 1017 * IDWriteStringList interface 1018 */ 1019 #ifndef __IDWriteStringList_INTERFACE_DEFINED__ 1020 #define __IDWriteStringList_INTERFACE_DEFINED__ 1021 1022 DEFINE_GUID(IID_IDWriteStringList, 0xcfee3140, 0x1157, 0x47ca, 0x8b,0x85, 0x31,0xbf,0xcf,0x3f,0x2d,0x0e); 1023 #if defined(__cplusplus) && !defined(CINTERFACE) 1024 MIDL_INTERFACE("cfee3140-1157-47ca-8b85-31bfcf3f2d0e") 1025 IDWriteStringList : public IUnknown 1026 { 1027 virtual UINT32 STDMETHODCALLTYPE GetCount( 1028 ) = 0; 1029 1030 virtual HRESULT STDMETHODCALLTYPE GetLocaleNameLength( 1031 UINT32 index, 1032 UINT32 *length) = 0; 1033 1034 virtual HRESULT STDMETHODCALLTYPE GetLocaleName( 1035 UINT32 index, 1036 WCHAR *name, 1037 UINT32 size) = 0; 1038 1039 virtual HRESULT STDMETHODCALLTYPE GetStringLength( 1040 UINT32 index, 1041 UINT32 *length) = 0; 1042 1043 virtual HRESULT STDMETHODCALLTYPE GetString( 1044 UINT32 index, 1045 WCHAR *string, 1046 UINT32 size) = 0; 1047 1048 }; 1049 #ifdef __CRT_UUID_DECL 1050 __CRT_UUID_DECL(IDWriteStringList, 0xcfee3140, 0x1157, 0x47ca, 0x8b,0x85, 0x31,0xbf,0xcf,0x3f,0x2d,0x0e) 1051 #endif 1052 #else 1053 typedef struct IDWriteStringListVtbl { 1054 BEGIN_INTERFACE 1055 1056 /*** IUnknown methods ***/ 1057 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1058 IDWriteStringList *This, 1059 REFIID riid, 1060 void **ppvObject); 1061 1062 ULONG (STDMETHODCALLTYPE *AddRef)( 1063 IDWriteStringList *This); 1064 1065 ULONG (STDMETHODCALLTYPE *Release)( 1066 IDWriteStringList *This); 1067 1068 /*** IDWriteStringList methods ***/ 1069 UINT32 (STDMETHODCALLTYPE *GetCount)( 1070 IDWriteStringList *This); 1071 1072 HRESULT (STDMETHODCALLTYPE *GetLocaleNameLength)( 1073 IDWriteStringList *This, 1074 UINT32 index, 1075 UINT32 *length); 1076 1077 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 1078 IDWriteStringList *This, 1079 UINT32 index, 1080 WCHAR *name, 1081 UINT32 size); 1082 1083 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 1084 IDWriteStringList *This, 1085 UINT32 index, 1086 UINT32 *length); 1087 1088 HRESULT (STDMETHODCALLTYPE *GetString)( 1089 IDWriteStringList *This, 1090 UINT32 index, 1091 WCHAR *string, 1092 UINT32 size); 1093 1094 END_INTERFACE 1095 } IDWriteStringListVtbl; 1096 1097 interface IDWriteStringList { 1098 CONST_VTBL IDWriteStringListVtbl* lpVtbl; 1099 }; 1100 1101 #ifdef COBJMACROS 1102 #ifndef WIDL_C_INLINE_WRAPPERS 1103 /*** IUnknown methods ***/ 1104 #define IDWriteStringList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1105 #define IDWriteStringList_AddRef(This) (This)->lpVtbl->AddRef(This) 1106 #define IDWriteStringList_Release(This) (This)->lpVtbl->Release(This) 1107 /*** IDWriteStringList methods ***/ 1108 #define IDWriteStringList_GetCount(This) (This)->lpVtbl->GetCount(This) 1109 #define IDWriteStringList_GetLocaleNameLength(This,index,length) (This)->lpVtbl->GetLocaleNameLength(This,index,length) 1110 #define IDWriteStringList_GetLocaleName(This,index,name,size) (This)->lpVtbl->GetLocaleName(This,index,name,size) 1111 #define IDWriteStringList_GetStringLength(This,index,length) (This)->lpVtbl->GetStringLength(This,index,length) 1112 #define IDWriteStringList_GetString(This,index,string,size) (This)->lpVtbl->GetString(This,index,string,size) 1113 #else 1114 /*** IUnknown methods ***/ 1115 static inline HRESULT IDWriteStringList_QueryInterface(IDWriteStringList* This,REFIID riid,void **ppvObject) { 1116 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1117 } 1118 static inline ULONG IDWriteStringList_AddRef(IDWriteStringList* This) { 1119 return This->lpVtbl->AddRef(This); 1120 } 1121 static inline ULONG IDWriteStringList_Release(IDWriteStringList* This) { 1122 return This->lpVtbl->Release(This); 1123 } 1124 /*** IDWriteStringList methods ***/ 1125 static inline UINT32 IDWriteStringList_GetCount(IDWriteStringList* This) { 1126 return This->lpVtbl->GetCount(This); 1127 } 1128 static inline HRESULT IDWriteStringList_GetLocaleNameLength(IDWriteStringList* This,UINT32 index,UINT32 *length) { 1129 return This->lpVtbl->GetLocaleNameLength(This,index,length); 1130 } 1131 static inline HRESULT IDWriteStringList_GetLocaleName(IDWriteStringList* This,UINT32 index,WCHAR *name,UINT32 size) { 1132 return This->lpVtbl->GetLocaleName(This,index,name,size); 1133 } 1134 static inline HRESULT IDWriteStringList_GetStringLength(IDWriteStringList* This,UINT32 index,UINT32 *length) { 1135 return This->lpVtbl->GetStringLength(This,index,length); 1136 } 1137 static inline HRESULT IDWriteStringList_GetString(IDWriteStringList* This,UINT32 index,WCHAR *string,UINT32 size) { 1138 return This->lpVtbl->GetString(This,index,string,size); 1139 } 1140 #endif 1141 #endif 1142 1143 #endif 1144 1145 1146 #endif /* __IDWriteStringList_INTERFACE_DEFINED__ */ 1147 1148 /***************************************************************************** 1149 * IDWriteFontSet interface 1150 */ 1151 #ifndef __IDWriteFontSet_INTERFACE_DEFINED__ 1152 #define __IDWriteFontSet_INTERFACE_DEFINED__ 1153 1154 DEFINE_GUID(IID_IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6b); 1155 #if defined(__cplusplus) && !defined(CINTERFACE) 1156 MIDL_INTERFACE("53585141-d9f8-4095-8321-d73cf6bd116b") 1157 IDWriteFontSet : public IUnknown 1158 { 1159 virtual UINT32 STDMETHODCALLTYPE GetFontCount( 1160 ) = 0; 1161 1162 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 1163 UINT32 index, 1164 IDWriteFontFaceReference **reference) = 0; 1165 1166 virtual HRESULT STDMETHODCALLTYPE FindFontFaceReference( 1167 IDWriteFontFaceReference *reference, 1168 UINT32 *index, 1169 WINBOOL *exists) = 0; 1170 1171 virtual HRESULT STDMETHODCALLTYPE FindFontFace( 1172 IDWriteFontFace *fontface, 1173 UINT32 *index, 1174 WINBOOL *exists) = 0; 1175 1176 virtual HRESULT STDMETHODCALLTYPE GetPropertyValues__( 1177 DWRITE_FONT_PROPERTY_ID id, 1178 IDWriteStringList **values) = 0; 1179 1180 virtual HRESULT STDMETHODCALLTYPE GetPropertyValues_( 1181 DWRITE_FONT_PROPERTY_ID id, 1182 const WCHAR *preferred_locales, 1183 IDWriteStringList **values) = 0; 1184 1185 virtual HRESULT STDMETHODCALLTYPE GetPropertyValues( 1186 UINT32 index, 1187 DWRITE_FONT_PROPERTY_ID id, 1188 WINBOOL *exists, 1189 IDWriteLocalizedStrings **values) = 0; 1190 1191 virtual HRESULT STDMETHODCALLTYPE GetPropertyOccurrenceCount( 1192 const DWRITE_FONT_PROPERTY *property, 1193 UINT32 *count) = 0; 1194 1195 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts_( 1196 const WCHAR *family, 1197 DWRITE_FONT_WEIGHT weight, 1198 DWRITE_FONT_STRETCH stretch, 1199 DWRITE_FONT_STYLE style, 1200 IDWriteFontSet **fontset) = 0; 1201 1202 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 1203 const DWRITE_FONT_PROPERTY *props, 1204 UINT32 count, 1205 IDWriteFontSet **fontset) = 0; 1206 1207 }; 1208 #ifdef __CRT_UUID_DECL 1209 __CRT_UUID_DECL(IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6b) 1210 #endif 1211 #else 1212 typedef struct IDWriteFontSetVtbl { 1213 BEGIN_INTERFACE 1214 1215 /*** IUnknown methods ***/ 1216 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1217 IDWriteFontSet *This, 1218 REFIID riid, 1219 void **ppvObject); 1220 1221 ULONG (STDMETHODCALLTYPE *AddRef)( 1222 IDWriteFontSet *This); 1223 1224 ULONG (STDMETHODCALLTYPE *Release)( 1225 IDWriteFontSet *This); 1226 1227 /*** IDWriteFontSet methods ***/ 1228 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 1229 IDWriteFontSet *This); 1230 1231 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 1232 IDWriteFontSet *This, 1233 UINT32 index, 1234 IDWriteFontFaceReference **reference); 1235 1236 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 1237 IDWriteFontSet *This, 1238 IDWriteFontFaceReference *reference, 1239 UINT32 *index, 1240 WINBOOL *exists); 1241 1242 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 1243 IDWriteFontSet *This, 1244 IDWriteFontFace *fontface, 1245 UINT32 *index, 1246 WINBOOL *exists); 1247 1248 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 1249 IDWriteFontSet *This, 1250 DWRITE_FONT_PROPERTY_ID id, 1251 IDWriteStringList **values); 1252 1253 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 1254 IDWriteFontSet *This, 1255 DWRITE_FONT_PROPERTY_ID id, 1256 const WCHAR *preferred_locales, 1257 IDWriteStringList **values); 1258 1259 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 1260 IDWriteFontSet *This, 1261 UINT32 index, 1262 DWRITE_FONT_PROPERTY_ID id, 1263 WINBOOL *exists, 1264 IDWriteLocalizedStrings **values); 1265 1266 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 1267 IDWriteFontSet *This, 1268 const DWRITE_FONT_PROPERTY *property, 1269 UINT32 *count); 1270 1271 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 1272 IDWriteFontSet *This, 1273 const WCHAR *family, 1274 DWRITE_FONT_WEIGHT weight, 1275 DWRITE_FONT_STRETCH stretch, 1276 DWRITE_FONT_STYLE style, 1277 IDWriteFontSet **fontset); 1278 1279 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 1280 IDWriteFontSet *This, 1281 const DWRITE_FONT_PROPERTY *props, 1282 UINT32 count, 1283 IDWriteFontSet **fontset); 1284 1285 END_INTERFACE 1286 } IDWriteFontSetVtbl; 1287 1288 interface IDWriteFontSet { 1289 CONST_VTBL IDWriteFontSetVtbl* lpVtbl; 1290 }; 1291 1292 #ifdef COBJMACROS 1293 #ifndef WIDL_C_INLINE_WRAPPERS 1294 /*** IUnknown methods ***/ 1295 #define IDWriteFontSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1296 #define IDWriteFontSet_AddRef(This) (This)->lpVtbl->AddRef(This) 1297 #define IDWriteFontSet_Release(This) (This)->lpVtbl->Release(This) 1298 /*** IDWriteFontSet methods ***/ 1299 #define IDWriteFontSet_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 1300 #define IDWriteFontSet_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 1301 #define IDWriteFontSet_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 1302 #define IDWriteFontSet_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 1303 #define IDWriteFontSet_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 1304 #define IDWriteFontSet_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 1305 #define IDWriteFontSet_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 1306 #define IDWriteFontSet_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 1307 #define IDWriteFontSet_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 1308 #define IDWriteFontSet_GetMatchingFonts(This,props,count,fontset) (This)->lpVtbl->GetMatchingFonts(This,props,count,fontset) 1309 #else 1310 /*** IUnknown methods ***/ 1311 static inline HRESULT IDWriteFontSet_QueryInterface(IDWriteFontSet* This,REFIID riid,void **ppvObject) { 1312 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1313 } 1314 static inline ULONG IDWriteFontSet_AddRef(IDWriteFontSet* This) { 1315 return This->lpVtbl->AddRef(This); 1316 } 1317 static inline ULONG IDWriteFontSet_Release(IDWriteFontSet* This) { 1318 return This->lpVtbl->Release(This); 1319 } 1320 /*** IDWriteFontSet methods ***/ 1321 static inline UINT32 IDWriteFontSet_GetFontCount(IDWriteFontSet* This) { 1322 return This->lpVtbl->GetFontCount(This); 1323 } 1324 static inline HRESULT IDWriteFontSet_GetFontFaceReference(IDWriteFontSet* This,UINT32 index,IDWriteFontFaceReference **reference) { 1325 return This->lpVtbl->GetFontFaceReference(This,index,reference); 1326 } 1327 static inline HRESULT IDWriteFontSet_FindFontFaceReference(IDWriteFontSet* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 1328 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 1329 } 1330 static inline HRESULT IDWriteFontSet_FindFontFace(IDWriteFontSet* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 1331 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 1332 } 1333 static inline HRESULT IDWriteFontSet_GetPropertyValues__(IDWriteFontSet* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 1334 return This->lpVtbl->GetPropertyValues__(This,id,values); 1335 } 1336 static inline HRESULT IDWriteFontSet_GetPropertyValues_(IDWriteFontSet* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 1337 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 1338 } 1339 static inline HRESULT IDWriteFontSet_GetPropertyValues(IDWriteFontSet* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 1340 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 1341 } 1342 static inline HRESULT IDWriteFontSet_GetPropertyOccurrenceCount(IDWriteFontSet* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 1343 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 1344 } 1345 static inline HRESULT IDWriteFontSet_GetMatchingFonts_(IDWriteFontSet* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 1346 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 1347 } 1348 static inline HRESULT IDWriteFontSet_GetMatchingFonts(IDWriteFontSet* This,const DWRITE_FONT_PROPERTY *props,UINT32 count,IDWriteFontSet **fontset) { 1349 return This->lpVtbl->GetMatchingFonts(This,props,count,fontset); 1350 } 1351 #endif 1352 #endif 1353 1354 #endif 1355 1356 1357 #endif /* __IDWriteFontSet_INTERFACE_DEFINED__ */ 1358 1359 /***************************************************************************** 1360 * IDWriteFontResource interface 1361 */ 1362 #ifndef __IDWriteFontResource_INTERFACE_DEFINED__ 1363 #define __IDWriteFontResource_INTERFACE_DEFINED__ 1364 1365 DEFINE_GUID(IID_IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98,0x7f, 0xb9,0x75,0x55,0x1c,0x50,0xf2); 1366 #if defined(__cplusplus) && !defined(CINTERFACE) 1367 MIDL_INTERFACE("1f803a76-6871-48e8-987f-b975551c50f2") 1368 IDWriteFontResource : public IUnknown 1369 { 1370 virtual HRESULT STDMETHODCALLTYPE GetFontFile( 1371 IDWriteFontFile **fontfile) = 0; 1372 1373 virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex( 1374 ) = 0; 1375 1376 virtual UINT32 STDMETHODCALLTYPE GetFontAxisCount( 1377 ) = 0; 1378 1379 virtual HRESULT STDMETHODCALLTYPE GetDefaultFontAxisValues( 1380 DWRITE_FONT_AXIS_VALUE *values, 1381 UINT32 num_values) = 0; 1382 1383 virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges( 1384 DWRITE_FONT_AXIS_RANGE *ranges, 1385 UINT32 num_ranges) = 0; 1386 1387 virtual DWRITE_FONT_AXIS_ATTRIBUTES STDMETHODCALLTYPE GetFontAxisAttributes( 1388 UINT32 axis) = 0; 1389 1390 virtual HRESULT STDMETHODCALLTYPE GetAxisNames( 1391 UINT32 axis, 1392 IDWriteLocalizedStrings **names) = 0; 1393 1394 virtual UINT32 STDMETHODCALLTYPE GetAxisValueNameCount( 1395 UINT32 axis) = 0; 1396 1397 virtual HRESULT STDMETHODCALLTYPE GetAxisValueNames( 1398 UINT32 axis, 1399 UINT32 axis_value, 1400 DWRITE_FONT_AXIS_RANGE *axis_range, 1401 IDWriteLocalizedStrings **names) = 0; 1402 1403 virtual WINBOOL STDMETHODCALLTYPE HasVariations( 1404 ) = 0; 1405 1406 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 1407 DWRITE_FONT_SIMULATIONS simulations, 1408 const DWRITE_FONT_AXIS_VALUE *axis_values, 1409 UINT32 num_values, 1410 IDWriteFontFace5 **fontface) = 0; 1411 1412 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( 1413 DWRITE_FONT_SIMULATIONS simulations, 1414 const DWRITE_FONT_AXIS_VALUE *axis_values, 1415 UINT32 num_values, 1416 IDWriteFontFaceReference1 **reference) = 0; 1417 1418 }; 1419 #ifdef __CRT_UUID_DECL 1420 __CRT_UUID_DECL(IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98,0x7f, 0xb9,0x75,0x55,0x1c,0x50,0xf2) 1421 #endif 1422 #else 1423 typedef struct IDWriteFontResourceVtbl { 1424 BEGIN_INTERFACE 1425 1426 /*** IUnknown methods ***/ 1427 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1428 IDWriteFontResource *This, 1429 REFIID riid, 1430 void **ppvObject); 1431 1432 ULONG (STDMETHODCALLTYPE *AddRef)( 1433 IDWriteFontResource *This); 1434 1435 ULONG (STDMETHODCALLTYPE *Release)( 1436 IDWriteFontResource *This); 1437 1438 /*** IDWriteFontResource methods ***/ 1439 HRESULT (STDMETHODCALLTYPE *GetFontFile)( 1440 IDWriteFontResource *This, 1441 IDWriteFontFile **fontfile); 1442 1443 UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( 1444 IDWriteFontResource *This); 1445 1446 UINT32 (STDMETHODCALLTYPE *GetFontAxisCount)( 1447 IDWriteFontResource *This); 1448 1449 HRESULT (STDMETHODCALLTYPE *GetDefaultFontAxisValues)( 1450 IDWriteFontResource *This, 1451 DWRITE_FONT_AXIS_VALUE *values, 1452 UINT32 num_values); 1453 1454 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 1455 IDWriteFontResource *This, 1456 DWRITE_FONT_AXIS_RANGE *ranges, 1457 UINT32 num_ranges); 1458 1459 DWRITE_FONT_AXIS_ATTRIBUTES (STDMETHODCALLTYPE *GetFontAxisAttributes)( 1460 IDWriteFontResource *This, 1461 UINT32 axis); 1462 1463 HRESULT (STDMETHODCALLTYPE *GetAxisNames)( 1464 IDWriteFontResource *This, 1465 UINT32 axis, 1466 IDWriteLocalizedStrings **names); 1467 1468 UINT32 (STDMETHODCALLTYPE *GetAxisValueNameCount)( 1469 IDWriteFontResource *This, 1470 UINT32 axis); 1471 1472 HRESULT (STDMETHODCALLTYPE *GetAxisValueNames)( 1473 IDWriteFontResource *This, 1474 UINT32 axis, 1475 UINT32 axis_value, 1476 DWRITE_FONT_AXIS_RANGE *axis_range, 1477 IDWriteLocalizedStrings **names); 1478 1479 WINBOOL (STDMETHODCALLTYPE *HasVariations)( 1480 IDWriteFontResource *This); 1481 1482 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 1483 IDWriteFontResource *This, 1484 DWRITE_FONT_SIMULATIONS simulations, 1485 const DWRITE_FONT_AXIS_VALUE *axis_values, 1486 UINT32 num_values, 1487 IDWriteFontFace5 **fontface); 1488 1489 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 1490 IDWriteFontResource *This, 1491 DWRITE_FONT_SIMULATIONS simulations, 1492 const DWRITE_FONT_AXIS_VALUE *axis_values, 1493 UINT32 num_values, 1494 IDWriteFontFaceReference1 **reference); 1495 1496 END_INTERFACE 1497 } IDWriteFontResourceVtbl; 1498 1499 interface IDWriteFontResource { 1500 CONST_VTBL IDWriteFontResourceVtbl* lpVtbl; 1501 }; 1502 1503 #ifdef COBJMACROS 1504 #ifndef WIDL_C_INLINE_WRAPPERS 1505 /*** IUnknown methods ***/ 1506 #define IDWriteFontResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1507 #define IDWriteFontResource_AddRef(This) (This)->lpVtbl->AddRef(This) 1508 #define IDWriteFontResource_Release(This) (This)->lpVtbl->Release(This) 1509 /*** IDWriteFontResource methods ***/ 1510 #define IDWriteFontResource_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) 1511 #define IDWriteFontResource_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) 1512 #define IDWriteFontResource_GetFontAxisCount(This) (This)->lpVtbl->GetFontAxisCount(This) 1513 #define IDWriteFontResource_GetDefaultFontAxisValues(This,values,num_values) (This)->lpVtbl->GetDefaultFontAxisValues(This,values,num_values) 1514 #define IDWriteFontResource_GetFontAxisRanges(This,ranges,num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,ranges,num_ranges) 1515 #define IDWriteFontResource_GetFontAxisAttributes(This,axis) (This)->lpVtbl->GetFontAxisAttributes(This,axis) 1516 #define IDWriteFontResource_GetAxisNames(This,axis,names) (This)->lpVtbl->GetAxisNames(This,axis,names) 1517 #define IDWriteFontResource_GetAxisValueNameCount(This,axis) (This)->lpVtbl->GetAxisValueNameCount(This,axis) 1518 #define IDWriteFontResource_GetAxisValueNames(This,axis,axis_value,axis_range,names) (This)->lpVtbl->GetAxisValueNames(This,axis,axis_value,axis_range,names) 1519 #define IDWriteFontResource_HasVariations(This) (This)->lpVtbl->HasVariations(This) 1520 #define IDWriteFontResource_CreateFontFace(This,simulations,axis_values,num_values,fontface) (This)->lpVtbl->CreateFontFace(This,simulations,axis_values,num_values,fontface) 1521 #define IDWriteFontResource_CreateFontFaceReference(This,simulations,axis_values,num_values,reference) (This)->lpVtbl->CreateFontFaceReference(This,simulations,axis_values,num_values,reference) 1522 #else 1523 /*** IUnknown methods ***/ 1524 static inline HRESULT IDWriteFontResource_QueryInterface(IDWriteFontResource* This,REFIID riid,void **ppvObject) { 1525 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1526 } 1527 static inline ULONG IDWriteFontResource_AddRef(IDWriteFontResource* This) { 1528 return This->lpVtbl->AddRef(This); 1529 } 1530 static inline ULONG IDWriteFontResource_Release(IDWriteFontResource* This) { 1531 return This->lpVtbl->Release(This); 1532 } 1533 /*** IDWriteFontResource methods ***/ 1534 static inline HRESULT IDWriteFontResource_GetFontFile(IDWriteFontResource* This,IDWriteFontFile **fontfile) { 1535 return This->lpVtbl->GetFontFile(This,fontfile); 1536 } 1537 static inline UINT32 IDWriteFontResource_GetFontFaceIndex(IDWriteFontResource* This) { 1538 return This->lpVtbl->GetFontFaceIndex(This); 1539 } 1540 static inline UINT32 IDWriteFontResource_GetFontAxisCount(IDWriteFontResource* This) { 1541 return This->lpVtbl->GetFontAxisCount(This); 1542 } 1543 static inline HRESULT IDWriteFontResource_GetDefaultFontAxisValues(IDWriteFontResource* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values) { 1544 return This->lpVtbl->GetDefaultFontAxisValues(This,values,num_values); 1545 } 1546 static inline HRESULT IDWriteFontResource_GetFontAxisRanges(IDWriteFontResource* This,DWRITE_FONT_AXIS_RANGE *ranges,UINT32 num_ranges) { 1547 return This->lpVtbl->GetFontAxisRanges(This,ranges,num_ranges); 1548 } 1549 static inline DWRITE_FONT_AXIS_ATTRIBUTES IDWriteFontResource_GetFontAxisAttributes(IDWriteFontResource* This,UINT32 axis) { 1550 return This->lpVtbl->GetFontAxisAttributes(This,axis); 1551 } 1552 static inline HRESULT IDWriteFontResource_GetAxisNames(IDWriteFontResource* This,UINT32 axis,IDWriteLocalizedStrings **names) { 1553 return This->lpVtbl->GetAxisNames(This,axis,names); 1554 } 1555 static inline UINT32 IDWriteFontResource_GetAxisValueNameCount(IDWriteFontResource* This,UINT32 axis) { 1556 return This->lpVtbl->GetAxisValueNameCount(This,axis); 1557 } 1558 static inline HRESULT IDWriteFontResource_GetAxisValueNames(IDWriteFontResource* This,UINT32 axis,UINT32 axis_value,DWRITE_FONT_AXIS_RANGE *axis_range,IDWriteLocalizedStrings **names) { 1559 return This->lpVtbl->GetAxisValueNames(This,axis,axis_value,axis_range,names); 1560 } 1561 static inline WINBOOL IDWriteFontResource_HasVariations(IDWriteFontResource* This) { 1562 return This->lpVtbl->HasVariations(This); 1563 } 1564 static inline HRESULT IDWriteFontResource_CreateFontFace(IDWriteFontResource* This,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontFace5 **fontface) { 1565 return This->lpVtbl->CreateFontFace(This,simulations,axis_values,num_values,fontface); 1566 } 1567 static inline HRESULT IDWriteFontResource_CreateFontFaceReference(IDWriteFontResource* This,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontFaceReference1 **reference) { 1568 return This->lpVtbl->CreateFontFaceReference(This,simulations,axis_values,num_values,reference); 1569 } 1570 #endif 1571 #endif 1572 1573 #endif 1574 1575 1576 #endif /* __IDWriteFontResource_INTERFACE_DEFINED__ */ 1577 1578 /***************************************************************************** 1579 * IDWriteFontSet1 interface 1580 */ 1581 #ifndef __IDWriteFontSet1_INTERFACE_DEFINED__ 1582 #define __IDWriteFontSet1_INTERFACE_DEFINED__ 1583 1584 DEFINE_GUID(IID_IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc,0x47, 0x7a,0xe3,0x53,0x0d,0xb4,0xd3); 1585 #if defined(__cplusplus) && !defined(CINTERFACE) 1586 MIDL_INTERFACE("7e9fda85-6c92-4053-bc47-7ae3530db4d3") 1587 IDWriteFontSet1 : public IDWriteFontSet 1588 { 1589 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 1590 const DWRITE_FONT_PROPERTY *property, 1591 const DWRITE_FONT_AXIS_VALUE *axis_values, 1592 UINT32 num_values, 1593 IDWriteFontSet1 **fontset) = 0; 1594 1595 virtual HRESULT STDMETHODCALLTYPE GetFirstFontResources( 1596 IDWriteFontSet1 **fontset) = 0; 1597 1598 virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts__( 1599 const UINT32 *indices, 1600 UINT32 num_indices, 1601 IDWriteFontSet1 **fontset) = 0; 1602 1603 virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts_( 1604 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 1605 UINT32 num_ranges, 1606 WINBOOL select_any_range, 1607 IDWriteFontSet1 **fontset) = 0; 1608 1609 virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts( 1610 const DWRITE_FONT_PROPERTY *props, 1611 UINT32 num_properties, 1612 WINBOOL select_any_property, 1613 IDWriteFontSet1 **fontset) = 0; 1614 1615 virtual HRESULT STDMETHODCALLTYPE GetFilteredFontIndices_( 1616 const DWRITE_FONT_AXIS_RANGE *ranges, 1617 UINT32 num_ranges, 1618 WINBOOL select_any_range, 1619 UINT32 *indices, 1620 UINT32 num_indices, 1621 UINT32 *actual_num_indices) = 0; 1622 1623 virtual HRESULT STDMETHODCALLTYPE GetFilteredFontIndices( 1624 const DWRITE_FONT_PROPERTY *props, 1625 UINT32 num_properties, 1626 WINBOOL select_any_range, 1627 UINT32 *indices, 1628 UINT32 num_indices, 1629 UINT32 *actual_num_indices) = 0; 1630 1631 virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges_( 1632 UINT32 font_index, 1633 DWRITE_FONT_AXIS_RANGE *axis_ranges, 1634 UINT32 num_ranges, 1635 UINT32 *actual_num_ranges) = 0; 1636 1637 virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges( 1638 DWRITE_FONT_AXIS_RANGE *axis_ranges, 1639 UINT32 num_ranges, 1640 UINT32 *actual_num_ranges) = 0; 1641 1642 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 1643 UINT32 index, 1644 IDWriteFontFaceReference1 **reference) = 0; 1645 1646 virtual HRESULT STDMETHODCALLTYPE CreateFontResource( 1647 UINT32 index, 1648 IDWriteFontResource **resource) = 0; 1649 1650 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 1651 UINT32 index, 1652 IDWriteFontFace5 **fontface) = 0; 1653 1654 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( 1655 UINT32 index) = 0; 1656 1657 }; 1658 #ifdef __CRT_UUID_DECL 1659 __CRT_UUID_DECL(IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc,0x47, 0x7a,0xe3,0x53,0x0d,0xb4,0xd3) 1660 #endif 1661 #else 1662 typedef struct IDWriteFontSet1Vtbl { 1663 BEGIN_INTERFACE 1664 1665 /*** IUnknown methods ***/ 1666 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1667 IDWriteFontSet1 *This, 1668 REFIID riid, 1669 void **ppvObject); 1670 1671 ULONG (STDMETHODCALLTYPE *AddRef)( 1672 IDWriteFontSet1 *This); 1673 1674 ULONG (STDMETHODCALLTYPE *Release)( 1675 IDWriteFontSet1 *This); 1676 1677 /*** IDWriteFontSet methods ***/ 1678 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 1679 IDWriteFontSet1 *This); 1680 1681 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 1682 IDWriteFontSet1 *This, 1683 UINT32 index, 1684 IDWriteFontFaceReference **reference); 1685 1686 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 1687 IDWriteFontSet1 *This, 1688 IDWriteFontFaceReference *reference, 1689 UINT32 *index, 1690 WINBOOL *exists); 1691 1692 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 1693 IDWriteFontSet1 *This, 1694 IDWriteFontFace *fontface, 1695 UINT32 *index, 1696 WINBOOL *exists); 1697 1698 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 1699 IDWriteFontSet1 *This, 1700 DWRITE_FONT_PROPERTY_ID id, 1701 IDWriteStringList **values); 1702 1703 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 1704 IDWriteFontSet1 *This, 1705 DWRITE_FONT_PROPERTY_ID id, 1706 const WCHAR *preferred_locales, 1707 IDWriteStringList **values); 1708 1709 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 1710 IDWriteFontSet1 *This, 1711 UINT32 index, 1712 DWRITE_FONT_PROPERTY_ID id, 1713 WINBOOL *exists, 1714 IDWriteLocalizedStrings **values); 1715 1716 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 1717 IDWriteFontSet1 *This, 1718 const DWRITE_FONT_PROPERTY *property, 1719 UINT32 *count); 1720 1721 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 1722 IDWriteFontSet1 *This, 1723 const WCHAR *family, 1724 DWRITE_FONT_WEIGHT weight, 1725 DWRITE_FONT_STRETCH stretch, 1726 DWRITE_FONT_STYLE style, 1727 IDWriteFontSet **fontset); 1728 1729 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 1730 IDWriteFontSet1 *This, 1731 const DWRITE_FONT_PROPERTY *props, 1732 UINT32 count, 1733 IDWriteFontSet **fontset); 1734 1735 /*** IDWriteFontSet1 methods ***/ 1736 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( 1737 IDWriteFontSet1 *This, 1738 const DWRITE_FONT_PROPERTY *property, 1739 const DWRITE_FONT_AXIS_VALUE *axis_values, 1740 UINT32 num_values, 1741 IDWriteFontSet1 **fontset); 1742 1743 HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( 1744 IDWriteFontSet1 *This, 1745 IDWriteFontSet1 **fontset); 1746 1747 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( 1748 IDWriteFontSet1 *This, 1749 const UINT32 *indices, 1750 UINT32 num_indices, 1751 IDWriteFontSet1 **fontset); 1752 1753 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( 1754 IDWriteFontSet1 *This, 1755 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 1756 UINT32 num_ranges, 1757 WINBOOL select_any_range, 1758 IDWriteFontSet1 **fontset); 1759 1760 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( 1761 IDWriteFontSet1 *This, 1762 const DWRITE_FONT_PROPERTY *props, 1763 UINT32 num_properties, 1764 WINBOOL select_any_property, 1765 IDWriteFontSet1 **fontset); 1766 1767 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices_)( 1768 IDWriteFontSet1 *This, 1769 const DWRITE_FONT_AXIS_RANGE *ranges, 1770 UINT32 num_ranges, 1771 WINBOOL select_any_range, 1772 UINT32 *indices, 1773 UINT32 num_indices, 1774 UINT32 *actual_num_indices); 1775 1776 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( 1777 IDWriteFontSet1 *This, 1778 const DWRITE_FONT_PROPERTY *props, 1779 UINT32 num_properties, 1780 WINBOOL select_any_range, 1781 UINT32 *indices, 1782 UINT32 num_indices, 1783 UINT32 *actual_num_indices); 1784 1785 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( 1786 IDWriteFontSet1 *This, 1787 UINT32 font_index, 1788 DWRITE_FONT_AXIS_RANGE *axis_ranges, 1789 UINT32 num_ranges, 1790 UINT32 *actual_num_ranges); 1791 1792 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 1793 IDWriteFontSet1 *This, 1794 DWRITE_FONT_AXIS_RANGE *axis_ranges, 1795 UINT32 num_ranges, 1796 UINT32 *actual_num_ranges); 1797 1798 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( 1799 IDWriteFontSet1 *This, 1800 UINT32 index, 1801 IDWriteFontFaceReference1 **reference); 1802 1803 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 1804 IDWriteFontSet1 *This, 1805 UINT32 index, 1806 IDWriteFontResource **resource); 1807 1808 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 1809 IDWriteFontSet1 *This, 1810 UINT32 index, 1811 IDWriteFontFace5 **fontface); 1812 1813 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 1814 IDWriteFontSet1 *This, 1815 UINT32 index); 1816 1817 END_INTERFACE 1818 } IDWriteFontSet1Vtbl; 1819 1820 interface IDWriteFontSet1 { 1821 CONST_VTBL IDWriteFontSet1Vtbl* lpVtbl; 1822 }; 1823 1824 #ifdef COBJMACROS 1825 #ifndef WIDL_C_INLINE_WRAPPERS 1826 /*** IUnknown methods ***/ 1827 #define IDWriteFontSet1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1828 #define IDWriteFontSet1_AddRef(This) (This)->lpVtbl->AddRef(This) 1829 #define IDWriteFontSet1_Release(This) (This)->lpVtbl->Release(This) 1830 /*** IDWriteFontSet methods ***/ 1831 #define IDWriteFontSet1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 1832 #define IDWriteFontSet1_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 1833 #define IDWriteFontSet1_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 1834 #define IDWriteFontSet1_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 1835 #define IDWriteFontSet1_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 1836 #define IDWriteFontSet1_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 1837 #define IDWriteFontSet1_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 1838 #define IDWriteFontSet1_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 1839 /*** IDWriteFontSet1 methods ***/ 1840 #define IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) 1841 #define IDWriteFontSet1_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) 1842 #define IDWriteFontSet1_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) 1843 #define IDWriteFontSet1_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) 1844 #define IDWriteFontSet1_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) 1845 #define IDWriteFontSet1_GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices) 1846 #define IDWriteFontSet1_GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices) 1847 #define IDWriteFontSet1_GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges) 1848 #define IDWriteFontSet1_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) 1849 #define IDWriteFontSet1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) 1850 #define IDWriteFontSet1_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) 1851 #define IDWriteFontSet1_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) 1852 #define IDWriteFontSet1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 1853 #else 1854 /*** IUnknown methods ***/ 1855 static inline HRESULT IDWriteFontSet1_QueryInterface(IDWriteFontSet1* This,REFIID riid,void **ppvObject) { 1856 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1857 } 1858 static inline ULONG IDWriteFontSet1_AddRef(IDWriteFontSet1* This) { 1859 return This->lpVtbl->AddRef(This); 1860 } 1861 static inline ULONG IDWriteFontSet1_Release(IDWriteFontSet1* This) { 1862 return This->lpVtbl->Release(This); 1863 } 1864 /*** IDWriteFontSet methods ***/ 1865 static inline UINT32 IDWriteFontSet1_GetFontCount(IDWriteFontSet1* This) { 1866 return This->lpVtbl->GetFontCount(This); 1867 } 1868 static inline HRESULT IDWriteFontSet1_FindFontFaceReference(IDWriteFontSet1* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 1869 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 1870 } 1871 static inline HRESULT IDWriteFontSet1_FindFontFace(IDWriteFontSet1* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 1872 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 1873 } 1874 static inline HRESULT IDWriteFontSet1_GetPropertyValues__(IDWriteFontSet1* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 1875 return This->lpVtbl->GetPropertyValues__(This,id,values); 1876 } 1877 static inline HRESULT IDWriteFontSet1_GetPropertyValues_(IDWriteFontSet1* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 1878 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 1879 } 1880 static inline HRESULT IDWriteFontSet1_GetPropertyValues(IDWriteFontSet1* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 1881 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 1882 } 1883 static inline HRESULT IDWriteFontSet1_GetPropertyOccurrenceCount(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 1884 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 1885 } 1886 static inline HRESULT IDWriteFontSet1_GetMatchingFonts_(IDWriteFontSet1* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 1887 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 1888 } 1889 /*** IDWriteFontSet1 methods ***/ 1890 static inline HRESULT IDWriteFontSet1_GetMatchingFonts(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { 1891 return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); 1892 } 1893 static inline HRESULT IDWriteFontSet1_GetFirstFontResources(IDWriteFontSet1* This,IDWriteFontSet1 **fontset) { 1894 return This->lpVtbl->GetFirstFontResources(This,fontset); 1895 } 1896 static inline HRESULT IDWriteFontSet1_GetFilteredFonts__(IDWriteFontSet1* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { 1897 return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); 1898 } 1899 static inline HRESULT IDWriteFontSet1_GetFilteredFonts_(IDWriteFontSet1* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { 1900 return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); 1901 } 1902 static inline HRESULT IDWriteFontSet1_GetFilteredFonts(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { 1903 return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); 1904 } 1905 static inline HRESULT IDWriteFontSet1_GetFilteredFontIndices_(IDWriteFontSet1* This,const DWRITE_FONT_AXIS_RANGE *ranges,UINT32 num_ranges,WINBOOL select_any_range,UINT32 *indices,UINT32 num_indices,UINT32 *actual_num_indices) { 1906 return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); 1907 } 1908 static inline HRESULT IDWriteFontSet1_GetFilteredFontIndices(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_range,UINT32 *indices,UINT32 num_indices,UINT32 *actual_num_indices) { 1909 return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); 1910 } 1911 static inline HRESULT IDWriteFontSet1_GetFontAxisRanges_(IDWriteFontSet1* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 1912 return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); 1913 } 1914 static inline HRESULT IDWriteFontSet1_GetFontAxisRanges(IDWriteFontSet1* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 1915 return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); 1916 } 1917 static inline HRESULT IDWriteFontSet1_GetFontFaceReference(IDWriteFontSet1* This,UINT32 index,IDWriteFontFaceReference1 **reference) { 1918 return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); 1919 } 1920 static inline HRESULT IDWriteFontSet1_CreateFontResource(IDWriteFontSet1* This,UINT32 index,IDWriteFontResource **resource) { 1921 return This->lpVtbl->CreateFontResource(This,index,resource); 1922 } 1923 static inline HRESULT IDWriteFontSet1_CreateFontFace(IDWriteFontSet1* This,UINT32 index,IDWriteFontFace5 **fontface) { 1924 return This->lpVtbl->CreateFontFace(This,index,fontface); 1925 } 1926 static inline DWRITE_LOCALITY IDWriteFontSet1_GetFontLocality(IDWriteFontSet1* This,UINT32 index) { 1927 return This->lpVtbl->GetFontLocality(This,index); 1928 } 1929 #endif 1930 #endif 1931 1932 #endif 1933 1934 1935 #endif /* __IDWriteFontSet1_INTERFACE_DEFINED__ */ 1936 1937 /***************************************************************************** 1938 * IDWriteFont3 interface 1939 */ 1940 #ifndef __IDWriteFont3_INTERFACE_DEFINED__ 1941 #define __IDWriteFont3_INTERFACE_DEFINED__ 1942 1943 DEFINE_GUID(IID_IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe,0x0b, 0xd9,0x12,0xe8,0x53,0x89,0x44); 1944 #if defined(__cplusplus) && !defined(CINTERFACE) 1945 MIDL_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") 1946 IDWriteFont3 : public IDWriteFont2 1947 { 1948 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 1949 IDWriteFontFace3 **fontface) = 0; 1950 1951 virtual WINBOOL STDMETHODCALLTYPE Equals( 1952 IDWriteFont *font) = 0; 1953 1954 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 1955 IDWriteFontFaceReference **reference) = 0; 1956 1957 virtual WINBOOL STDMETHODCALLTYPE HasCharacter( 1958 UINT32 character) = 0; 1959 1960 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( 1961 ) = 0; 1962 1963 }; 1964 #ifdef __CRT_UUID_DECL 1965 __CRT_UUID_DECL(IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe,0x0b, 0xd9,0x12,0xe8,0x53,0x89,0x44) 1966 #endif 1967 #else 1968 typedef struct IDWriteFont3Vtbl { 1969 BEGIN_INTERFACE 1970 1971 /*** IUnknown methods ***/ 1972 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1973 IDWriteFont3 *This, 1974 REFIID riid, 1975 void **ppvObject); 1976 1977 ULONG (STDMETHODCALLTYPE *AddRef)( 1978 IDWriteFont3 *This); 1979 1980 ULONG (STDMETHODCALLTYPE *Release)( 1981 IDWriteFont3 *This); 1982 1983 /*** IDWriteFont methods ***/ 1984 HRESULT (STDMETHODCALLTYPE *GetFontFamily)( 1985 IDWriteFont3 *This, 1986 IDWriteFontFamily **family); 1987 1988 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 1989 IDWriteFont3 *This); 1990 1991 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 1992 IDWriteFont3 *This); 1993 1994 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 1995 IDWriteFont3 *This); 1996 1997 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 1998 IDWriteFont3 *This); 1999 2000 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 2001 IDWriteFont3 *This, 2002 IDWriteLocalizedStrings **names); 2003 2004 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 2005 IDWriteFont3 *This, 2006 DWRITE_INFORMATIONAL_STRING_ID stringid, 2007 IDWriteLocalizedStrings **strings, 2008 WINBOOL *exists); 2009 2010 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 2011 IDWriteFont3 *This); 2012 2013 void (STDMETHODCALLTYPE *GetMetrics)( 2014 IDWriteFont3 *This, 2015 DWRITE_FONT_METRICS *metrics); 2016 2017 HRESULT (STDMETHODCALLTYPE *HasCharacter)( 2018 IDWriteFont3 *This, 2019 UINT32 value, 2020 WINBOOL *exists); 2021 2022 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 2023 IDWriteFont3 *This, 2024 IDWriteFontFace **face); 2025 2026 /*** IDWriteFont1 methods ***/ 2027 void (STDMETHODCALLTYPE *IDWriteFont1_GetMetrics)( 2028 IDWriteFont3 *This, 2029 DWRITE_FONT_METRICS1 *metrics); 2030 2031 void (STDMETHODCALLTYPE *GetPanose)( 2032 IDWriteFont3 *This, 2033 DWRITE_PANOSE *panose); 2034 2035 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 2036 IDWriteFont3 *This, 2037 UINT32 max_count, 2038 DWRITE_UNICODE_RANGE *ranges, 2039 UINT32 *count); 2040 2041 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 2042 IDWriteFont3 *This); 2043 2044 /*** IDWriteFont2 methods ***/ 2045 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 2046 IDWriteFont3 *This); 2047 2048 /*** IDWriteFont3 methods ***/ 2049 HRESULT (STDMETHODCALLTYPE *IDWriteFont3_CreateFontFace)( 2050 IDWriteFont3 *This, 2051 IDWriteFontFace3 **fontface); 2052 2053 WINBOOL (STDMETHODCALLTYPE *Equals)( 2054 IDWriteFont3 *This, 2055 IDWriteFont *font); 2056 2057 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 2058 IDWriteFont3 *This, 2059 IDWriteFontFaceReference **reference); 2060 2061 WINBOOL (STDMETHODCALLTYPE *IDWriteFont3_HasCharacter)( 2062 IDWriteFont3 *This, 2063 UINT32 character); 2064 2065 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( 2066 IDWriteFont3 *This); 2067 2068 END_INTERFACE 2069 } IDWriteFont3Vtbl; 2070 2071 interface IDWriteFont3 { 2072 CONST_VTBL IDWriteFont3Vtbl* lpVtbl; 2073 }; 2074 2075 #ifdef COBJMACROS 2076 #ifndef WIDL_C_INLINE_WRAPPERS 2077 /*** IUnknown methods ***/ 2078 #define IDWriteFont3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2079 #define IDWriteFont3_AddRef(This) (This)->lpVtbl->AddRef(This) 2080 #define IDWriteFont3_Release(This) (This)->lpVtbl->Release(This) 2081 /*** IDWriteFont methods ***/ 2082 #define IDWriteFont3_GetFontFamily(This,family) (This)->lpVtbl->GetFontFamily(This,family) 2083 #define IDWriteFont3_GetWeight(This) (This)->lpVtbl->GetWeight(This) 2084 #define IDWriteFont3_GetStretch(This) (This)->lpVtbl->GetStretch(This) 2085 #define IDWriteFont3_GetStyle(This) (This)->lpVtbl->GetStyle(This) 2086 #define IDWriteFont3_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 2087 #define IDWriteFont3_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 2088 #define IDWriteFont3_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 2089 #define IDWriteFont3_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 2090 /*** IDWriteFont1 methods ***/ 2091 #define IDWriteFont3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFont1_GetMetrics(This,metrics) 2092 #define IDWriteFont3_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 2093 #define IDWriteFont3_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 2094 #define IDWriteFont3_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 2095 /*** IDWriteFont2 methods ***/ 2096 #define IDWriteFont3_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 2097 /*** IDWriteFont3 methods ***/ 2098 #define IDWriteFont3_CreateFontFace(This,fontface) (This)->lpVtbl->IDWriteFont3_CreateFontFace(This,fontface) 2099 #define IDWriteFont3_Equals(This,font) (This)->lpVtbl->Equals(This,font) 2100 #define IDWriteFont3_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 2101 #define IDWriteFont3_HasCharacter(This,character) (This)->lpVtbl->IDWriteFont3_HasCharacter(This,character) 2102 #define IDWriteFont3_GetLocality(This) (This)->lpVtbl->GetLocality(This) 2103 #else 2104 /*** IUnknown methods ***/ 2105 static inline HRESULT IDWriteFont3_QueryInterface(IDWriteFont3* This,REFIID riid,void **ppvObject) { 2106 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2107 } 2108 static inline ULONG IDWriteFont3_AddRef(IDWriteFont3* This) { 2109 return This->lpVtbl->AddRef(This); 2110 } 2111 static inline ULONG IDWriteFont3_Release(IDWriteFont3* This) { 2112 return This->lpVtbl->Release(This); 2113 } 2114 /*** IDWriteFont methods ***/ 2115 static inline HRESULT IDWriteFont3_GetFontFamily(IDWriteFont3* This,IDWriteFontFamily **family) { 2116 return This->lpVtbl->GetFontFamily(This,family); 2117 } 2118 static inline DWRITE_FONT_WEIGHT IDWriteFont3_GetWeight(IDWriteFont3* This) { 2119 return This->lpVtbl->GetWeight(This); 2120 } 2121 static inline DWRITE_FONT_STRETCH IDWriteFont3_GetStretch(IDWriteFont3* This) { 2122 return This->lpVtbl->GetStretch(This); 2123 } 2124 static inline DWRITE_FONT_STYLE IDWriteFont3_GetStyle(IDWriteFont3* This) { 2125 return This->lpVtbl->GetStyle(This); 2126 } 2127 static inline WINBOOL IDWriteFont3_IsSymbolFont(IDWriteFont3* This) { 2128 return This->lpVtbl->IsSymbolFont(This); 2129 } 2130 static inline HRESULT IDWriteFont3_GetFaceNames(IDWriteFont3* This,IDWriteLocalizedStrings **names) { 2131 return This->lpVtbl->GetFaceNames(This,names); 2132 } 2133 static inline HRESULT IDWriteFont3_GetInformationalStrings(IDWriteFont3* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 2134 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 2135 } 2136 static inline DWRITE_FONT_SIMULATIONS IDWriteFont3_GetSimulations(IDWriteFont3* This) { 2137 return This->lpVtbl->GetSimulations(This); 2138 } 2139 /*** IDWriteFont1 methods ***/ 2140 static inline void IDWriteFont3_GetMetrics(IDWriteFont3* This,DWRITE_FONT_METRICS1 *metrics) { 2141 This->lpVtbl->IDWriteFont1_GetMetrics(This,metrics); 2142 } 2143 static inline void IDWriteFont3_GetPanose(IDWriteFont3* This,DWRITE_PANOSE *panose) { 2144 This->lpVtbl->GetPanose(This,panose); 2145 } 2146 static inline HRESULT IDWriteFont3_GetUnicodeRanges(IDWriteFont3* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 2147 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 2148 } 2149 static inline WINBOOL IDWriteFont3_IsMonospacedFont(IDWriteFont3* This) { 2150 return This->lpVtbl->IsMonospacedFont(This); 2151 } 2152 /*** IDWriteFont2 methods ***/ 2153 static inline WINBOOL IDWriteFont3_IsColorFont(IDWriteFont3* This) { 2154 return This->lpVtbl->IsColorFont(This); 2155 } 2156 /*** IDWriteFont3 methods ***/ 2157 static inline HRESULT IDWriteFont3_CreateFontFace(IDWriteFont3* This,IDWriteFontFace3 **fontface) { 2158 return This->lpVtbl->IDWriteFont3_CreateFontFace(This,fontface); 2159 } 2160 static inline WINBOOL IDWriteFont3_Equals(IDWriteFont3* This,IDWriteFont *font) { 2161 return This->lpVtbl->Equals(This,font); 2162 } 2163 static inline HRESULT IDWriteFont3_GetFontFaceReference(IDWriteFont3* This,IDWriteFontFaceReference **reference) { 2164 return This->lpVtbl->GetFontFaceReference(This,reference); 2165 } 2166 static inline WINBOOL IDWriteFont3_HasCharacter(IDWriteFont3* This,UINT32 character) { 2167 return This->lpVtbl->IDWriteFont3_HasCharacter(This,character); 2168 } 2169 static inline DWRITE_LOCALITY IDWriteFont3_GetLocality(IDWriteFont3* This) { 2170 return This->lpVtbl->GetLocality(This); 2171 } 2172 #endif 2173 #endif 2174 2175 #endif 2176 2177 2178 #endif /* __IDWriteFont3_INTERFACE_DEFINED__ */ 2179 2180 /***************************************************************************** 2181 * IDWriteFontFamily1 interface 2182 */ 2183 #ifndef __IDWriteFontFamily1_INTERFACE_DEFINED__ 2184 #define __IDWriteFontFamily1_INTERFACE_DEFINED__ 2185 2186 DEFINE_GUID(IID_IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xdf); 2187 #if defined(__cplusplus) && !defined(CINTERFACE) 2188 MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7adf") 2189 IDWriteFontFamily1 : public IDWriteFontFamily 2190 { 2191 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( 2192 UINT32 index) = 0; 2193 2194 virtual HRESULT STDMETHODCALLTYPE GetFont( 2195 UINT32 index, 2196 IDWriteFont3 **font) = 0; 2197 2198 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 2199 UINT32 index, 2200 IDWriteFontFaceReference **reference) = 0; 2201 2202 }; 2203 #ifdef __CRT_UUID_DECL 2204 __CRT_UUID_DECL(IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xdf) 2205 #endif 2206 #else 2207 typedef struct IDWriteFontFamily1Vtbl { 2208 BEGIN_INTERFACE 2209 2210 /*** IUnknown methods ***/ 2211 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2212 IDWriteFontFamily1 *This, 2213 REFIID riid, 2214 void **ppvObject); 2215 2216 ULONG (STDMETHODCALLTYPE *AddRef)( 2217 IDWriteFontFamily1 *This); 2218 2219 ULONG (STDMETHODCALLTYPE *Release)( 2220 IDWriteFontFamily1 *This); 2221 2222 /*** IDWriteFontList methods ***/ 2223 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 2224 IDWriteFontFamily1 *This, 2225 IDWriteFontCollection **collection); 2226 2227 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 2228 IDWriteFontFamily1 *This); 2229 2230 HRESULT (STDMETHODCALLTYPE *GetFont)( 2231 IDWriteFontFamily1 *This, 2232 UINT32 index, 2233 IDWriteFont **font); 2234 2235 /*** IDWriteFontFamily methods ***/ 2236 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 2237 IDWriteFontFamily1 *This, 2238 IDWriteLocalizedStrings **names); 2239 2240 HRESULT (STDMETHODCALLTYPE *GetFirstMatchingFont)( 2241 IDWriteFontFamily1 *This, 2242 DWRITE_FONT_WEIGHT weight, 2243 DWRITE_FONT_STRETCH stretch, 2244 DWRITE_FONT_STYLE style, 2245 IDWriteFont **font); 2246 2247 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 2248 IDWriteFontFamily1 *This, 2249 DWRITE_FONT_WEIGHT weight, 2250 DWRITE_FONT_STRETCH stretch, 2251 DWRITE_FONT_STYLE style, 2252 IDWriteFontList **fonts); 2253 2254 /*** IDWriteFontFamily1 methods ***/ 2255 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 2256 IDWriteFontFamily1 *This, 2257 UINT32 index); 2258 2259 HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily1_GetFont)( 2260 IDWriteFontFamily1 *This, 2261 UINT32 index, 2262 IDWriteFont3 **font); 2263 2264 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 2265 IDWriteFontFamily1 *This, 2266 UINT32 index, 2267 IDWriteFontFaceReference **reference); 2268 2269 END_INTERFACE 2270 } IDWriteFontFamily1Vtbl; 2271 2272 interface IDWriteFontFamily1 { 2273 CONST_VTBL IDWriteFontFamily1Vtbl* lpVtbl; 2274 }; 2275 2276 #ifdef COBJMACROS 2277 #ifndef WIDL_C_INLINE_WRAPPERS 2278 /*** IUnknown methods ***/ 2279 #define IDWriteFontFamily1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2280 #define IDWriteFontFamily1_AddRef(This) (This)->lpVtbl->AddRef(This) 2281 #define IDWriteFontFamily1_Release(This) (This)->lpVtbl->Release(This) 2282 /*** IDWriteFontList methods ***/ 2283 #define IDWriteFontFamily1_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 2284 #define IDWriteFontFamily1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 2285 /*** IDWriteFontFamily methods ***/ 2286 #define IDWriteFontFamily1_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 2287 #define IDWriteFontFamily1_GetFirstMatchingFont(This,weight,stretch,style,font) (This)->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font) 2288 #define IDWriteFontFamily1_GetMatchingFonts(This,weight,stretch,style,fonts) (This)->lpVtbl->GetMatchingFonts(This,weight,stretch,style,fonts) 2289 /*** IDWriteFontFamily1 methods ***/ 2290 #define IDWriteFontFamily1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 2291 #define IDWriteFontFamily1_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font) 2292 #define IDWriteFontFamily1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 2293 #else 2294 /*** IUnknown methods ***/ 2295 static inline HRESULT IDWriteFontFamily1_QueryInterface(IDWriteFontFamily1* This,REFIID riid,void **ppvObject) { 2296 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2297 } 2298 static inline ULONG IDWriteFontFamily1_AddRef(IDWriteFontFamily1* This) { 2299 return This->lpVtbl->AddRef(This); 2300 } 2301 static inline ULONG IDWriteFontFamily1_Release(IDWriteFontFamily1* This) { 2302 return This->lpVtbl->Release(This); 2303 } 2304 /*** IDWriteFontList methods ***/ 2305 static inline HRESULT IDWriteFontFamily1_GetFontCollection(IDWriteFontFamily1* This,IDWriteFontCollection **collection) { 2306 return This->lpVtbl->GetFontCollection(This,collection); 2307 } 2308 static inline UINT32 IDWriteFontFamily1_GetFontCount(IDWriteFontFamily1* This) { 2309 return This->lpVtbl->GetFontCount(This); 2310 } 2311 /*** IDWriteFontFamily methods ***/ 2312 static inline HRESULT IDWriteFontFamily1_GetFamilyNames(IDWriteFontFamily1* This,IDWriteLocalizedStrings **names) { 2313 return This->lpVtbl->GetFamilyNames(This,names); 2314 } 2315 static inline HRESULT IDWriteFontFamily1_GetFirstMatchingFont(IDWriteFontFamily1* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFont **font) { 2316 return This->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font); 2317 } 2318 static inline HRESULT IDWriteFontFamily1_GetMatchingFonts(IDWriteFontFamily1* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontList **fonts) { 2319 return This->lpVtbl->GetMatchingFonts(This,weight,stretch,style,fonts); 2320 } 2321 /*** IDWriteFontFamily1 methods ***/ 2322 static inline DWRITE_LOCALITY IDWriteFontFamily1_GetFontLocality(IDWriteFontFamily1* This,UINT32 index) { 2323 return This->lpVtbl->GetFontLocality(This,index); 2324 } 2325 static inline HRESULT IDWriteFontFamily1_GetFont(IDWriteFontFamily1* This,UINT32 index,IDWriteFont3 **font) { 2326 return This->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font); 2327 } 2328 static inline HRESULT IDWriteFontFamily1_GetFontFaceReference(IDWriteFontFamily1* This,UINT32 index,IDWriteFontFaceReference **reference) { 2329 return This->lpVtbl->GetFontFaceReference(This,index,reference); 2330 } 2331 #endif 2332 #endif 2333 2334 #endif 2335 2336 2337 #endif /* __IDWriteFontFamily1_INTERFACE_DEFINED__ */ 2338 2339 /***************************************************************************** 2340 * IDWriteFontFamily2 interface 2341 */ 2342 #ifndef __IDWriteFontFamily2_INTERFACE_DEFINED__ 2343 #define __IDWriteFontFamily2_INTERFACE_DEFINED__ 2344 2345 DEFINE_GUID(IID_IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9,0xcf, 0xc1,0x26,0xc2,0x13,0x1e,0xf3); 2346 #if defined(__cplusplus) && !defined(CINTERFACE) 2347 MIDL_INTERFACE("3ed49e77-a398-4261-b9cf-c126c2131ef3") 2348 IDWriteFontFamily2 : public IDWriteFontFamily1 2349 { 2350 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 2351 const DWRITE_FONT_AXIS_VALUE *axis_values, 2352 UINT32 num_values, 2353 IDWriteFontList2 **fontlist) = 0; 2354 2355 virtual HRESULT STDMETHODCALLTYPE GetFontSet( 2356 IDWriteFontSet1 **fontset) = 0; 2357 2358 }; 2359 #ifdef __CRT_UUID_DECL 2360 __CRT_UUID_DECL(IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9,0xcf, 0xc1,0x26,0xc2,0x13,0x1e,0xf3) 2361 #endif 2362 #else 2363 typedef struct IDWriteFontFamily2Vtbl { 2364 BEGIN_INTERFACE 2365 2366 /*** IUnknown methods ***/ 2367 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2368 IDWriteFontFamily2 *This, 2369 REFIID riid, 2370 void **ppvObject); 2371 2372 ULONG (STDMETHODCALLTYPE *AddRef)( 2373 IDWriteFontFamily2 *This); 2374 2375 ULONG (STDMETHODCALLTYPE *Release)( 2376 IDWriteFontFamily2 *This); 2377 2378 /*** IDWriteFontList methods ***/ 2379 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 2380 IDWriteFontFamily2 *This, 2381 IDWriteFontCollection **collection); 2382 2383 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 2384 IDWriteFontFamily2 *This); 2385 2386 HRESULT (STDMETHODCALLTYPE *GetFont)( 2387 IDWriteFontFamily2 *This, 2388 UINT32 index, 2389 IDWriteFont **font); 2390 2391 /*** IDWriteFontFamily methods ***/ 2392 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 2393 IDWriteFontFamily2 *This, 2394 IDWriteLocalizedStrings **names); 2395 2396 HRESULT (STDMETHODCALLTYPE *GetFirstMatchingFont)( 2397 IDWriteFontFamily2 *This, 2398 DWRITE_FONT_WEIGHT weight, 2399 DWRITE_FONT_STRETCH stretch, 2400 DWRITE_FONT_STYLE style, 2401 IDWriteFont **font); 2402 2403 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 2404 IDWriteFontFamily2 *This, 2405 DWRITE_FONT_WEIGHT weight, 2406 DWRITE_FONT_STRETCH stretch, 2407 DWRITE_FONT_STYLE style, 2408 IDWriteFontList **fonts); 2409 2410 /*** IDWriteFontFamily1 methods ***/ 2411 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 2412 IDWriteFontFamily2 *This, 2413 UINT32 index); 2414 2415 HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily1_GetFont)( 2416 IDWriteFontFamily2 *This, 2417 UINT32 index, 2418 IDWriteFont3 **font); 2419 2420 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 2421 IDWriteFontFamily2 *This, 2422 UINT32 index, 2423 IDWriteFontFaceReference **reference); 2424 2425 /*** IDWriteFontFamily2 methods ***/ 2426 HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily2_GetMatchingFonts)( 2427 IDWriteFontFamily2 *This, 2428 const DWRITE_FONT_AXIS_VALUE *axis_values, 2429 UINT32 num_values, 2430 IDWriteFontList2 **fontlist); 2431 2432 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 2433 IDWriteFontFamily2 *This, 2434 IDWriteFontSet1 **fontset); 2435 2436 END_INTERFACE 2437 } IDWriteFontFamily2Vtbl; 2438 2439 interface IDWriteFontFamily2 { 2440 CONST_VTBL IDWriteFontFamily2Vtbl* lpVtbl; 2441 }; 2442 2443 #ifdef COBJMACROS 2444 #ifndef WIDL_C_INLINE_WRAPPERS 2445 /*** IUnknown methods ***/ 2446 #define IDWriteFontFamily2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2447 #define IDWriteFontFamily2_AddRef(This) (This)->lpVtbl->AddRef(This) 2448 #define IDWriteFontFamily2_Release(This) (This)->lpVtbl->Release(This) 2449 /*** IDWriteFontList methods ***/ 2450 #define IDWriteFontFamily2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 2451 #define IDWriteFontFamily2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 2452 /*** IDWriteFontFamily methods ***/ 2453 #define IDWriteFontFamily2_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 2454 #define IDWriteFontFamily2_GetFirstMatchingFont(This,weight,stretch,style,font) (This)->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font) 2455 /*** IDWriteFontFamily1 methods ***/ 2456 #define IDWriteFontFamily2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 2457 #define IDWriteFontFamily2_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font) 2458 #define IDWriteFontFamily2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 2459 /*** IDWriteFontFamily2 methods ***/ 2460 #define IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist) (This)->lpVtbl->IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist) 2461 #define IDWriteFontFamily2_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) 2462 #else 2463 /*** IUnknown methods ***/ 2464 static inline HRESULT IDWriteFontFamily2_QueryInterface(IDWriteFontFamily2* This,REFIID riid,void **ppvObject) { 2465 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2466 } 2467 static inline ULONG IDWriteFontFamily2_AddRef(IDWriteFontFamily2* This) { 2468 return This->lpVtbl->AddRef(This); 2469 } 2470 static inline ULONG IDWriteFontFamily2_Release(IDWriteFontFamily2* This) { 2471 return This->lpVtbl->Release(This); 2472 } 2473 /*** IDWriteFontList methods ***/ 2474 static inline HRESULT IDWriteFontFamily2_GetFontCollection(IDWriteFontFamily2* This,IDWriteFontCollection **collection) { 2475 return This->lpVtbl->GetFontCollection(This,collection); 2476 } 2477 static inline UINT32 IDWriteFontFamily2_GetFontCount(IDWriteFontFamily2* This) { 2478 return This->lpVtbl->GetFontCount(This); 2479 } 2480 /*** IDWriteFontFamily methods ***/ 2481 static inline HRESULT IDWriteFontFamily2_GetFamilyNames(IDWriteFontFamily2* This,IDWriteLocalizedStrings **names) { 2482 return This->lpVtbl->GetFamilyNames(This,names); 2483 } 2484 static inline HRESULT IDWriteFontFamily2_GetFirstMatchingFont(IDWriteFontFamily2* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFont **font) { 2485 return This->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font); 2486 } 2487 /*** IDWriteFontFamily1 methods ***/ 2488 static inline DWRITE_LOCALITY IDWriteFontFamily2_GetFontLocality(IDWriteFontFamily2* This,UINT32 index) { 2489 return This->lpVtbl->GetFontLocality(This,index); 2490 } 2491 static inline HRESULT IDWriteFontFamily2_GetFont(IDWriteFontFamily2* This,UINT32 index,IDWriteFont3 **font) { 2492 return This->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font); 2493 } 2494 static inline HRESULT IDWriteFontFamily2_GetFontFaceReference(IDWriteFontFamily2* This,UINT32 index,IDWriteFontFaceReference **reference) { 2495 return This->lpVtbl->GetFontFaceReference(This,index,reference); 2496 } 2497 /*** IDWriteFontFamily2 methods ***/ 2498 static inline HRESULT IDWriteFontFamily2_GetMatchingFonts(IDWriteFontFamily2* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { 2499 return This->lpVtbl->IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist); 2500 } 2501 static inline HRESULT IDWriteFontFamily2_GetFontSet(IDWriteFontFamily2* This,IDWriteFontSet1 **fontset) { 2502 return This->lpVtbl->GetFontSet(This,fontset); 2503 } 2504 #endif 2505 #endif 2506 2507 #endif 2508 2509 2510 #endif /* __IDWriteFontFamily2_INTERFACE_DEFINED__ */ 2511 2512 /***************************************************************************** 2513 * IDWriteFontCollection1 interface 2514 */ 2515 #ifndef __IDWriteFontCollection1_INTERFACE_DEFINED__ 2516 #define __IDWriteFontCollection1_INTERFACE_DEFINED__ 2517 2518 DEFINE_GUID(IID_IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6c); 2519 #if defined(__cplusplus) && !defined(CINTERFACE) 2520 MIDL_INTERFACE("53585141-d9f8-4095-8321-d73cf6bd116c") 2521 IDWriteFontCollection1 : public IDWriteFontCollection 2522 { 2523 virtual HRESULT STDMETHODCALLTYPE GetFontSet( 2524 IDWriteFontSet **fontset) = 0; 2525 2526 virtual HRESULT STDMETHODCALLTYPE GetFontFamily( 2527 UINT32 index, 2528 IDWriteFontFamily1 **family) = 0; 2529 2530 }; 2531 #ifdef __CRT_UUID_DECL 2532 __CRT_UUID_DECL(IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6c) 2533 #endif 2534 #else 2535 typedef struct IDWriteFontCollection1Vtbl { 2536 BEGIN_INTERFACE 2537 2538 /*** IUnknown methods ***/ 2539 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2540 IDWriteFontCollection1 *This, 2541 REFIID riid, 2542 void **ppvObject); 2543 2544 ULONG (STDMETHODCALLTYPE *AddRef)( 2545 IDWriteFontCollection1 *This); 2546 2547 ULONG (STDMETHODCALLTYPE *Release)( 2548 IDWriteFontCollection1 *This); 2549 2550 /*** IDWriteFontCollection methods ***/ 2551 UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( 2552 IDWriteFontCollection1 *This); 2553 2554 HRESULT (STDMETHODCALLTYPE *GetFontFamily)( 2555 IDWriteFontCollection1 *This, 2556 UINT32 index, 2557 IDWriteFontFamily **family); 2558 2559 HRESULT (STDMETHODCALLTYPE *FindFamilyName)( 2560 IDWriteFontCollection1 *This, 2561 const WCHAR *name, 2562 UINT32 *index, 2563 WINBOOL *exists); 2564 2565 HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( 2566 IDWriteFontCollection1 *This, 2567 IDWriteFontFace *face, 2568 IDWriteFont **font); 2569 2570 /*** IDWriteFontCollection1 methods ***/ 2571 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 2572 IDWriteFontCollection1 *This, 2573 IDWriteFontSet **fontset); 2574 2575 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( 2576 IDWriteFontCollection1 *This, 2577 UINT32 index, 2578 IDWriteFontFamily1 **family); 2579 2580 END_INTERFACE 2581 } IDWriteFontCollection1Vtbl; 2582 2583 interface IDWriteFontCollection1 { 2584 CONST_VTBL IDWriteFontCollection1Vtbl* lpVtbl; 2585 }; 2586 2587 #ifdef COBJMACROS 2588 #ifndef WIDL_C_INLINE_WRAPPERS 2589 /*** IUnknown methods ***/ 2590 #define IDWriteFontCollection1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2591 #define IDWriteFontCollection1_AddRef(This) (This)->lpVtbl->AddRef(This) 2592 #define IDWriteFontCollection1_Release(This) (This)->lpVtbl->Release(This) 2593 /*** IDWriteFontCollection methods ***/ 2594 #define IDWriteFontCollection1_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) 2595 #define IDWriteFontCollection1_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) 2596 #define IDWriteFontCollection1_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) 2597 /*** IDWriteFontCollection1 methods ***/ 2598 #define IDWriteFontCollection1_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) 2599 #define IDWriteFontCollection1_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection1_GetFontFamily(This,index,family) 2600 #else 2601 /*** IUnknown methods ***/ 2602 static inline HRESULT IDWriteFontCollection1_QueryInterface(IDWriteFontCollection1* This,REFIID riid,void **ppvObject) { 2603 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2604 } 2605 static inline ULONG IDWriteFontCollection1_AddRef(IDWriteFontCollection1* This) { 2606 return This->lpVtbl->AddRef(This); 2607 } 2608 static inline ULONG IDWriteFontCollection1_Release(IDWriteFontCollection1* This) { 2609 return This->lpVtbl->Release(This); 2610 } 2611 /*** IDWriteFontCollection methods ***/ 2612 static inline UINT32 IDWriteFontCollection1_GetFontFamilyCount(IDWriteFontCollection1* This) { 2613 return This->lpVtbl->GetFontFamilyCount(This); 2614 } 2615 static inline HRESULT IDWriteFontCollection1_FindFamilyName(IDWriteFontCollection1* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { 2616 return This->lpVtbl->FindFamilyName(This,name,index,exists); 2617 } 2618 static inline HRESULT IDWriteFontCollection1_GetFontFromFontFace(IDWriteFontCollection1* This,IDWriteFontFace *face,IDWriteFont **font) { 2619 return This->lpVtbl->GetFontFromFontFace(This,face,font); 2620 } 2621 /*** IDWriteFontCollection1 methods ***/ 2622 static inline HRESULT IDWriteFontCollection1_GetFontSet(IDWriteFontCollection1* This,IDWriteFontSet **fontset) { 2623 return This->lpVtbl->GetFontSet(This,fontset); 2624 } 2625 static inline HRESULT IDWriteFontCollection1_GetFontFamily(IDWriteFontCollection1* This,UINT32 index,IDWriteFontFamily1 **family) { 2626 return This->lpVtbl->IDWriteFontCollection1_GetFontFamily(This,index,family); 2627 } 2628 #endif 2629 #endif 2630 2631 #endif 2632 2633 2634 #endif /* __IDWriteFontCollection1_INTERFACE_DEFINED__ */ 2635 2636 /***************************************************************************** 2637 * IDWriteFontCollection2 interface 2638 */ 2639 #ifndef __IDWriteFontCollection2_INTERFACE_DEFINED__ 2640 #define __IDWriteFontCollection2_INTERFACE_DEFINED__ 2641 2642 DEFINE_GUID(IID_IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf,0x8b, 0x92,0xea,0x83,0xe5,0x06,0xe0); 2643 #if defined(__cplusplus) && !defined(CINTERFACE) 2644 MIDL_INTERFACE("514039c6-4617-4064-bf8b-92ea83e506e0") 2645 IDWriteFontCollection2 : public IDWriteFontCollection1 2646 { 2647 virtual HRESULT STDMETHODCALLTYPE GetFontFamily( 2648 UINT32 index, 2649 IDWriteFontFamily2 **family) = 0; 2650 2651 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 2652 const WCHAR *familyname, 2653 const DWRITE_FONT_AXIS_VALUE *axis_values, 2654 UINT32 num_values, 2655 IDWriteFontList2 **fontlist) = 0; 2656 2657 virtual DWRITE_FONT_FAMILY_MODEL STDMETHODCALLTYPE GetFontFamilyModel( 2658 ) = 0; 2659 2660 virtual HRESULT STDMETHODCALLTYPE GetFontSet( 2661 IDWriteFontSet1 **fontset) = 0; 2662 2663 }; 2664 #ifdef __CRT_UUID_DECL 2665 __CRT_UUID_DECL(IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf,0x8b, 0x92,0xea,0x83,0xe5,0x06,0xe0) 2666 #endif 2667 #else 2668 typedef struct IDWriteFontCollection2Vtbl { 2669 BEGIN_INTERFACE 2670 2671 /*** IUnknown methods ***/ 2672 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2673 IDWriteFontCollection2 *This, 2674 REFIID riid, 2675 void **ppvObject); 2676 2677 ULONG (STDMETHODCALLTYPE *AddRef)( 2678 IDWriteFontCollection2 *This); 2679 2680 ULONG (STDMETHODCALLTYPE *Release)( 2681 IDWriteFontCollection2 *This); 2682 2683 /*** IDWriteFontCollection methods ***/ 2684 UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( 2685 IDWriteFontCollection2 *This); 2686 2687 HRESULT (STDMETHODCALLTYPE *GetFontFamily)( 2688 IDWriteFontCollection2 *This, 2689 UINT32 index, 2690 IDWriteFontFamily **family); 2691 2692 HRESULT (STDMETHODCALLTYPE *FindFamilyName)( 2693 IDWriteFontCollection2 *This, 2694 const WCHAR *name, 2695 UINT32 *index, 2696 WINBOOL *exists); 2697 2698 HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( 2699 IDWriteFontCollection2 *This, 2700 IDWriteFontFace *face, 2701 IDWriteFont **font); 2702 2703 /*** IDWriteFontCollection1 methods ***/ 2704 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 2705 IDWriteFontCollection2 *This, 2706 IDWriteFontSet **fontset); 2707 2708 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( 2709 IDWriteFontCollection2 *This, 2710 UINT32 index, 2711 IDWriteFontFamily1 **family); 2712 2713 /*** IDWriteFontCollection2 methods ***/ 2714 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontFamily)( 2715 IDWriteFontCollection2 *This, 2716 UINT32 index, 2717 IDWriteFontFamily2 **family); 2718 2719 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 2720 IDWriteFontCollection2 *This, 2721 const WCHAR *familyname, 2722 const DWRITE_FONT_AXIS_VALUE *axis_values, 2723 UINT32 num_values, 2724 IDWriteFontList2 **fontlist); 2725 2726 DWRITE_FONT_FAMILY_MODEL (STDMETHODCALLTYPE *GetFontFamilyModel)( 2727 IDWriteFontCollection2 *This); 2728 2729 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontSet)( 2730 IDWriteFontCollection2 *This, 2731 IDWriteFontSet1 **fontset); 2732 2733 END_INTERFACE 2734 } IDWriteFontCollection2Vtbl; 2735 2736 interface IDWriteFontCollection2 { 2737 CONST_VTBL IDWriteFontCollection2Vtbl* lpVtbl; 2738 }; 2739 2740 #ifdef COBJMACROS 2741 #ifndef WIDL_C_INLINE_WRAPPERS 2742 /*** IUnknown methods ***/ 2743 #define IDWriteFontCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2744 #define IDWriteFontCollection2_AddRef(This) (This)->lpVtbl->AddRef(This) 2745 #define IDWriteFontCollection2_Release(This) (This)->lpVtbl->Release(This) 2746 /*** IDWriteFontCollection methods ***/ 2747 #define IDWriteFontCollection2_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) 2748 #define IDWriteFontCollection2_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) 2749 #define IDWriteFontCollection2_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) 2750 /*** IDWriteFontCollection1 methods ***/ 2751 /*** IDWriteFontCollection2 methods ***/ 2752 #define IDWriteFontCollection2_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family) 2753 #define IDWriteFontCollection2_GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) (This)->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) 2754 #define IDWriteFontCollection2_GetFontFamilyModel(This) (This)->lpVtbl->GetFontFamilyModel(This) 2755 #define IDWriteFontCollection2_GetFontSet(This,fontset) (This)->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset) 2756 #else 2757 /*** IUnknown methods ***/ 2758 static inline HRESULT IDWriteFontCollection2_QueryInterface(IDWriteFontCollection2* This,REFIID riid,void **ppvObject) { 2759 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2760 } 2761 static inline ULONG IDWriteFontCollection2_AddRef(IDWriteFontCollection2* This) { 2762 return This->lpVtbl->AddRef(This); 2763 } 2764 static inline ULONG IDWriteFontCollection2_Release(IDWriteFontCollection2* This) { 2765 return This->lpVtbl->Release(This); 2766 } 2767 /*** IDWriteFontCollection methods ***/ 2768 static inline UINT32 IDWriteFontCollection2_GetFontFamilyCount(IDWriteFontCollection2* This) { 2769 return This->lpVtbl->GetFontFamilyCount(This); 2770 } 2771 static inline HRESULT IDWriteFontCollection2_FindFamilyName(IDWriteFontCollection2* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { 2772 return This->lpVtbl->FindFamilyName(This,name,index,exists); 2773 } 2774 static inline HRESULT IDWriteFontCollection2_GetFontFromFontFace(IDWriteFontCollection2* This,IDWriteFontFace *face,IDWriteFont **font) { 2775 return This->lpVtbl->GetFontFromFontFace(This,face,font); 2776 } 2777 /*** IDWriteFontCollection1 methods ***/ 2778 /*** IDWriteFontCollection2 methods ***/ 2779 static inline HRESULT IDWriteFontCollection2_GetFontFamily(IDWriteFontCollection2* This,UINT32 index,IDWriteFontFamily2 **family) { 2780 return This->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family); 2781 } 2782 static inline HRESULT IDWriteFontCollection2_GetMatchingFonts(IDWriteFontCollection2* This,const WCHAR *familyname,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { 2783 return This->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist); 2784 } 2785 static inline DWRITE_FONT_FAMILY_MODEL IDWriteFontCollection2_GetFontFamilyModel(IDWriteFontCollection2* This) { 2786 return This->lpVtbl->GetFontFamilyModel(This); 2787 } 2788 static inline HRESULT IDWriteFontCollection2_GetFontSet(IDWriteFontCollection2* This,IDWriteFontSet1 **fontset) { 2789 return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset); 2790 } 2791 #endif 2792 #endif 2793 2794 #endif 2795 2796 2797 #endif /* __IDWriteFontCollection2_INTERFACE_DEFINED__ */ 2798 2799 /***************************************************************************** 2800 * IDWriteFontCollection3 interface 2801 */ 2802 #ifndef __IDWriteFontCollection3_INTERFACE_DEFINED__ 2803 #define __IDWriteFontCollection3_INTERFACE_DEFINED__ 2804 2805 DEFINE_GUID(IID_IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93,0xb7, 0x9e,0x30,0x9f,0x3a,0xf8,0xe9); 2806 #if defined(__cplusplus) && !defined(CINTERFACE) 2807 MIDL_INTERFACE("a4d055a6-f9e3-4e25-93b7-9e309f3af8e9") 2808 IDWriteFontCollection3 : public IDWriteFontCollection2 2809 { 2810 virtual HANDLE STDMETHODCALLTYPE GetExpirationEvent( 2811 ) = 0; 2812 2813 }; 2814 #ifdef __CRT_UUID_DECL 2815 __CRT_UUID_DECL(IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93,0xb7, 0x9e,0x30,0x9f,0x3a,0xf8,0xe9) 2816 #endif 2817 #else 2818 typedef struct IDWriteFontCollection3Vtbl { 2819 BEGIN_INTERFACE 2820 2821 /*** IUnknown methods ***/ 2822 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2823 IDWriteFontCollection3 *This, 2824 REFIID riid, 2825 void **ppvObject); 2826 2827 ULONG (STDMETHODCALLTYPE *AddRef)( 2828 IDWriteFontCollection3 *This); 2829 2830 ULONG (STDMETHODCALLTYPE *Release)( 2831 IDWriteFontCollection3 *This); 2832 2833 /*** IDWriteFontCollection methods ***/ 2834 UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( 2835 IDWriteFontCollection3 *This); 2836 2837 HRESULT (STDMETHODCALLTYPE *GetFontFamily)( 2838 IDWriteFontCollection3 *This, 2839 UINT32 index, 2840 IDWriteFontFamily **family); 2841 2842 HRESULT (STDMETHODCALLTYPE *FindFamilyName)( 2843 IDWriteFontCollection3 *This, 2844 const WCHAR *name, 2845 UINT32 *index, 2846 WINBOOL *exists); 2847 2848 HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( 2849 IDWriteFontCollection3 *This, 2850 IDWriteFontFace *face, 2851 IDWriteFont **font); 2852 2853 /*** IDWriteFontCollection1 methods ***/ 2854 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 2855 IDWriteFontCollection3 *This, 2856 IDWriteFontSet **fontset); 2857 2858 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( 2859 IDWriteFontCollection3 *This, 2860 UINT32 index, 2861 IDWriteFontFamily1 **family); 2862 2863 /*** IDWriteFontCollection2 methods ***/ 2864 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontFamily)( 2865 IDWriteFontCollection3 *This, 2866 UINT32 index, 2867 IDWriteFontFamily2 **family); 2868 2869 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 2870 IDWriteFontCollection3 *This, 2871 const WCHAR *familyname, 2872 const DWRITE_FONT_AXIS_VALUE *axis_values, 2873 UINT32 num_values, 2874 IDWriteFontList2 **fontlist); 2875 2876 DWRITE_FONT_FAMILY_MODEL (STDMETHODCALLTYPE *GetFontFamilyModel)( 2877 IDWriteFontCollection3 *This); 2878 2879 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontSet)( 2880 IDWriteFontCollection3 *This, 2881 IDWriteFontSet1 **fontset); 2882 2883 /*** IDWriteFontCollection3 methods ***/ 2884 HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( 2885 IDWriteFontCollection3 *This); 2886 2887 END_INTERFACE 2888 } IDWriteFontCollection3Vtbl; 2889 2890 interface IDWriteFontCollection3 { 2891 CONST_VTBL IDWriteFontCollection3Vtbl* lpVtbl; 2892 }; 2893 2894 #ifdef COBJMACROS 2895 #ifndef WIDL_C_INLINE_WRAPPERS 2896 /*** IUnknown methods ***/ 2897 #define IDWriteFontCollection3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2898 #define IDWriteFontCollection3_AddRef(This) (This)->lpVtbl->AddRef(This) 2899 #define IDWriteFontCollection3_Release(This) (This)->lpVtbl->Release(This) 2900 /*** IDWriteFontCollection methods ***/ 2901 #define IDWriteFontCollection3_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) 2902 #define IDWriteFontCollection3_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) 2903 #define IDWriteFontCollection3_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) 2904 /*** IDWriteFontCollection1 methods ***/ 2905 /*** IDWriteFontCollection2 methods ***/ 2906 #define IDWriteFontCollection3_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family) 2907 #define IDWriteFontCollection3_GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) (This)->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) 2908 #define IDWriteFontCollection3_GetFontFamilyModel(This) (This)->lpVtbl->GetFontFamilyModel(This) 2909 #define IDWriteFontCollection3_GetFontSet(This,fontset) (This)->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset) 2910 /*** IDWriteFontCollection3 methods ***/ 2911 #define IDWriteFontCollection3_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) 2912 #else 2913 /*** IUnknown methods ***/ 2914 static inline HRESULT IDWriteFontCollection3_QueryInterface(IDWriteFontCollection3* This,REFIID riid,void **ppvObject) { 2915 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2916 } 2917 static inline ULONG IDWriteFontCollection3_AddRef(IDWriteFontCollection3* This) { 2918 return This->lpVtbl->AddRef(This); 2919 } 2920 static inline ULONG IDWriteFontCollection3_Release(IDWriteFontCollection3* This) { 2921 return This->lpVtbl->Release(This); 2922 } 2923 /*** IDWriteFontCollection methods ***/ 2924 static inline UINT32 IDWriteFontCollection3_GetFontFamilyCount(IDWriteFontCollection3* This) { 2925 return This->lpVtbl->GetFontFamilyCount(This); 2926 } 2927 static inline HRESULT IDWriteFontCollection3_FindFamilyName(IDWriteFontCollection3* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { 2928 return This->lpVtbl->FindFamilyName(This,name,index,exists); 2929 } 2930 static inline HRESULT IDWriteFontCollection3_GetFontFromFontFace(IDWriteFontCollection3* This,IDWriteFontFace *face,IDWriteFont **font) { 2931 return This->lpVtbl->GetFontFromFontFace(This,face,font); 2932 } 2933 /*** IDWriteFontCollection1 methods ***/ 2934 /*** IDWriteFontCollection2 methods ***/ 2935 static inline HRESULT IDWriteFontCollection3_GetFontFamily(IDWriteFontCollection3* This,UINT32 index,IDWriteFontFamily2 **family) { 2936 return This->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family); 2937 } 2938 static inline HRESULT IDWriteFontCollection3_GetMatchingFonts(IDWriteFontCollection3* This,const WCHAR *familyname,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { 2939 return This->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist); 2940 } 2941 static inline DWRITE_FONT_FAMILY_MODEL IDWriteFontCollection3_GetFontFamilyModel(IDWriteFontCollection3* This) { 2942 return This->lpVtbl->GetFontFamilyModel(This); 2943 } 2944 static inline HRESULT IDWriteFontCollection3_GetFontSet(IDWriteFontCollection3* This,IDWriteFontSet1 **fontset) { 2945 return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset); 2946 } 2947 /*** IDWriteFontCollection3 methods ***/ 2948 static inline HANDLE IDWriteFontCollection3_GetExpirationEvent(IDWriteFontCollection3* This) { 2949 return This->lpVtbl->GetExpirationEvent(This); 2950 } 2951 #endif 2952 #endif 2953 2954 #endif 2955 2956 2957 #endif /* __IDWriteFontCollection3_INTERFACE_DEFINED__ */ 2958 2959 /***************************************************************************** 2960 * IDWriteFontFaceReference interface 2961 */ 2962 #ifndef __IDWriteFontFaceReference_INTERFACE_DEFINED__ 2963 #define __IDWriteFontFaceReference_INTERFACE_DEFINED__ 2964 2965 DEFINE_GUID(IID_IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89,0xf0, 0x9f,0xcd,0x6f,0xed,0x58,0xcd); 2966 #if defined(__cplusplus) && !defined(CINTERFACE) 2967 MIDL_INTERFACE("5e7fa7ca-dde3-424c-89f0-9fcd6fed58cd") 2968 IDWriteFontFaceReference : public IUnknown 2969 { 2970 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 2971 IDWriteFontFace3 **fontface) = 0; 2972 2973 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceWithSimulations( 2974 DWRITE_FONT_SIMULATIONS simulations, 2975 IDWriteFontFace3 **fontface) = 0; 2976 2977 virtual WINBOOL STDMETHODCALLTYPE Equals( 2978 IDWriteFontFaceReference *reference) = 0; 2979 2980 virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex( 2981 ) = 0; 2982 2983 virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations( 2984 ) = 0; 2985 2986 virtual HRESULT STDMETHODCALLTYPE GetFontFile( 2987 IDWriteFontFile **fontfile) = 0; 2988 2989 virtual UINT64 STDMETHODCALLTYPE GetLocalFileSize( 2990 ) = 0; 2991 2992 virtual UINT64 STDMETHODCALLTYPE GetFileSize( 2993 ) = 0; 2994 2995 virtual HRESULT STDMETHODCALLTYPE GetFileTime( 2996 FILETIME *writetime) = 0; 2997 2998 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( 2999 ) = 0; 3000 3001 virtual HRESULT STDMETHODCALLTYPE EnqueueFontDownloadRequest( 3002 ) = 0; 3003 3004 virtual HRESULT STDMETHODCALLTYPE EnqueueCharacterDownloadRequest( 3005 const WCHAR *chars, 3006 UINT32 count) = 0; 3007 3008 virtual HRESULT STDMETHODCALLTYPE EnqueueGlyphDownloadRequest( 3009 const UINT16 *glyphs, 3010 UINT32 count) = 0; 3011 3012 virtual HRESULT STDMETHODCALLTYPE EnqueueFileFragmentDownloadRequest( 3013 UINT64 offset, 3014 UINT64 size) = 0; 3015 3016 }; 3017 #ifdef __CRT_UUID_DECL 3018 __CRT_UUID_DECL(IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89,0xf0, 0x9f,0xcd,0x6f,0xed,0x58,0xcd) 3019 #endif 3020 #else 3021 typedef struct IDWriteFontFaceReferenceVtbl { 3022 BEGIN_INTERFACE 3023 3024 /*** IUnknown methods ***/ 3025 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3026 IDWriteFontFaceReference *This, 3027 REFIID riid, 3028 void **ppvObject); 3029 3030 ULONG (STDMETHODCALLTYPE *AddRef)( 3031 IDWriteFontFaceReference *This); 3032 3033 ULONG (STDMETHODCALLTYPE *Release)( 3034 IDWriteFontFaceReference *This); 3035 3036 /*** IDWriteFontFaceReference methods ***/ 3037 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 3038 IDWriteFontFaceReference *This, 3039 IDWriteFontFace3 **fontface); 3040 3041 HRESULT (STDMETHODCALLTYPE *CreateFontFaceWithSimulations)( 3042 IDWriteFontFaceReference *This, 3043 DWRITE_FONT_SIMULATIONS simulations, 3044 IDWriteFontFace3 **fontface); 3045 3046 WINBOOL (STDMETHODCALLTYPE *Equals)( 3047 IDWriteFontFaceReference *This, 3048 IDWriteFontFaceReference *reference); 3049 3050 UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( 3051 IDWriteFontFaceReference *This); 3052 3053 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 3054 IDWriteFontFaceReference *This); 3055 3056 HRESULT (STDMETHODCALLTYPE *GetFontFile)( 3057 IDWriteFontFaceReference *This, 3058 IDWriteFontFile **fontfile); 3059 3060 UINT64 (STDMETHODCALLTYPE *GetLocalFileSize)( 3061 IDWriteFontFaceReference *This); 3062 3063 UINT64 (STDMETHODCALLTYPE *GetFileSize)( 3064 IDWriteFontFaceReference *This); 3065 3066 HRESULT (STDMETHODCALLTYPE *GetFileTime)( 3067 IDWriteFontFaceReference *This, 3068 FILETIME *writetime); 3069 3070 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( 3071 IDWriteFontFaceReference *This); 3072 3073 HRESULT (STDMETHODCALLTYPE *EnqueueFontDownloadRequest)( 3074 IDWriteFontFaceReference *This); 3075 3076 HRESULT (STDMETHODCALLTYPE *EnqueueCharacterDownloadRequest)( 3077 IDWriteFontFaceReference *This, 3078 const WCHAR *chars, 3079 UINT32 count); 3080 3081 HRESULT (STDMETHODCALLTYPE *EnqueueGlyphDownloadRequest)( 3082 IDWriteFontFaceReference *This, 3083 const UINT16 *glyphs, 3084 UINT32 count); 3085 3086 HRESULT (STDMETHODCALLTYPE *EnqueueFileFragmentDownloadRequest)( 3087 IDWriteFontFaceReference *This, 3088 UINT64 offset, 3089 UINT64 size); 3090 3091 END_INTERFACE 3092 } IDWriteFontFaceReferenceVtbl; 3093 3094 interface IDWriteFontFaceReference { 3095 CONST_VTBL IDWriteFontFaceReferenceVtbl* lpVtbl; 3096 }; 3097 3098 #ifdef COBJMACROS 3099 #ifndef WIDL_C_INLINE_WRAPPERS 3100 /*** IUnknown methods ***/ 3101 #define IDWriteFontFaceReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3102 #define IDWriteFontFaceReference_AddRef(This) (This)->lpVtbl->AddRef(This) 3103 #define IDWriteFontFaceReference_Release(This) (This)->lpVtbl->Release(This) 3104 /*** IDWriteFontFaceReference methods ***/ 3105 #define IDWriteFontFaceReference_CreateFontFace(This,fontface) (This)->lpVtbl->CreateFontFace(This,fontface) 3106 #define IDWriteFontFaceReference_CreateFontFaceWithSimulations(This,simulations,fontface) (This)->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface) 3107 #define IDWriteFontFaceReference_Equals(This,reference) (This)->lpVtbl->Equals(This,reference) 3108 #define IDWriteFontFaceReference_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) 3109 #define IDWriteFontFaceReference_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 3110 #define IDWriteFontFaceReference_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) 3111 #define IDWriteFontFaceReference_GetLocalFileSize(This) (This)->lpVtbl->GetLocalFileSize(This) 3112 #define IDWriteFontFaceReference_GetFileSize(This) (This)->lpVtbl->GetFileSize(This) 3113 #define IDWriteFontFaceReference_GetFileTime(This,writetime) (This)->lpVtbl->GetFileTime(This,writetime) 3114 #define IDWriteFontFaceReference_GetLocality(This) (This)->lpVtbl->GetLocality(This) 3115 #define IDWriteFontFaceReference_EnqueueFontDownloadRequest(This) (This)->lpVtbl->EnqueueFontDownloadRequest(This) 3116 #define IDWriteFontFaceReference_EnqueueCharacterDownloadRequest(This,chars,count) (This)->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count) 3117 #define IDWriteFontFaceReference_EnqueueGlyphDownloadRequest(This,glyphs,count) (This)->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count) 3118 #define IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest(This,offset,size) (This)->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size) 3119 #else 3120 /*** IUnknown methods ***/ 3121 static inline HRESULT IDWriteFontFaceReference_QueryInterface(IDWriteFontFaceReference* This,REFIID riid,void **ppvObject) { 3122 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3123 } 3124 static inline ULONG IDWriteFontFaceReference_AddRef(IDWriteFontFaceReference* This) { 3125 return This->lpVtbl->AddRef(This); 3126 } 3127 static inline ULONG IDWriteFontFaceReference_Release(IDWriteFontFaceReference* This) { 3128 return This->lpVtbl->Release(This); 3129 } 3130 /*** IDWriteFontFaceReference methods ***/ 3131 static inline HRESULT IDWriteFontFaceReference_CreateFontFace(IDWriteFontFaceReference* This,IDWriteFontFace3 **fontface) { 3132 return This->lpVtbl->CreateFontFace(This,fontface); 3133 } 3134 static inline HRESULT IDWriteFontFaceReference_CreateFontFaceWithSimulations(IDWriteFontFaceReference* This,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFace3 **fontface) { 3135 return This->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface); 3136 } 3137 static inline WINBOOL IDWriteFontFaceReference_Equals(IDWriteFontFaceReference* This,IDWriteFontFaceReference *reference) { 3138 return This->lpVtbl->Equals(This,reference); 3139 } 3140 static inline UINT32 IDWriteFontFaceReference_GetFontFaceIndex(IDWriteFontFaceReference* This) { 3141 return This->lpVtbl->GetFontFaceIndex(This); 3142 } 3143 static inline DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference_GetSimulations(IDWriteFontFaceReference* This) { 3144 return This->lpVtbl->GetSimulations(This); 3145 } 3146 static inline HRESULT IDWriteFontFaceReference_GetFontFile(IDWriteFontFaceReference* This,IDWriteFontFile **fontfile) { 3147 return This->lpVtbl->GetFontFile(This,fontfile); 3148 } 3149 static inline UINT64 IDWriteFontFaceReference_GetLocalFileSize(IDWriteFontFaceReference* This) { 3150 return This->lpVtbl->GetLocalFileSize(This); 3151 } 3152 static inline UINT64 IDWriteFontFaceReference_GetFileSize(IDWriteFontFaceReference* This) { 3153 return This->lpVtbl->GetFileSize(This); 3154 } 3155 static inline HRESULT IDWriteFontFaceReference_GetFileTime(IDWriteFontFaceReference* This,FILETIME *writetime) { 3156 return This->lpVtbl->GetFileTime(This,writetime); 3157 } 3158 static inline DWRITE_LOCALITY IDWriteFontFaceReference_GetLocality(IDWriteFontFaceReference* This) { 3159 return This->lpVtbl->GetLocality(This); 3160 } 3161 static inline HRESULT IDWriteFontFaceReference_EnqueueFontDownloadRequest(IDWriteFontFaceReference* This) { 3162 return This->lpVtbl->EnqueueFontDownloadRequest(This); 3163 } 3164 static inline HRESULT IDWriteFontFaceReference_EnqueueCharacterDownloadRequest(IDWriteFontFaceReference* This,const WCHAR *chars,UINT32 count) { 3165 return This->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count); 3166 } 3167 static inline HRESULT IDWriteFontFaceReference_EnqueueGlyphDownloadRequest(IDWriteFontFaceReference* This,const UINT16 *glyphs,UINT32 count) { 3168 return This->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count); 3169 } 3170 static inline HRESULT IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest(IDWriteFontFaceReference* This,UINT64 offset,UINT64 size) { 3171 return This->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size); 3172 } 3173 #endif 3174 #endif 3175 3176 #endif 3177 3178 3179 #endif /* __IDWriteFontFaceReference_INTERFACE_DEFINED__ */ 3180 3181 /***************************************************************************** 3182 * IDWriteFontFaceReference1 interface 3183 */ 3184 #ifndef __IDWriteFontFaceReference1_INTERFACE_DEFINED__ 3185 #define __IDWriteFontFaceReference1_INTERFACE_DEFINED__ 3186 3187 DEFINE_GUID(IID_IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5,0xa3, 0x34,0x98,0x3c,0x4b,0xa6,0x1a); 3188 #if defined(__cplusplus) && !defined(CINTERFACE) 3189 MIDL_INTERFACE("c081fe77-2fd1-41ac-a5a3-34983c4ba61a") 3190 IDWriteFontFaceReference1 : public IDWriteFontFaceReference 3191 { 3192 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 3193 IDWriteFontFace5 **fontface) = 0; 3194 3195 virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( 3196 ) = 0; 3197 3198 virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( 3199 DWRITE_FONT_AXIS_VALUE *values, 3200 UINT32 num_values) = 0; 3201 3202 }; 3203 #ifdef __CRT_UUID_DECL 3204 __CRT_UUID_DECL(IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5,0xa3, 0x34,0x98,0x3c,0x4b,0xa6,0x1a) 3205 #endif 3206 #else 3207 typedef struct IDWriteFontFaceReference1Vtbl { 3208 BEGIN_INTERFACE 3209 3210 /*** IUnknown methods ***/ 3211 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3212 IDWriteFontFaceReference1 *This, 3213 REFIID riid, 3214 void **ppvObject); 3215 3216 ULONG (STDMETHODCALLTYPE *AddRef)( 3217 IDWriteFontFaceReference1 *This); 3218 3219 ULONG (STDMETHODCALLTYPE *Release)( 3220 IDWriteFontFaceReference1 *This); 3221 3222 /*** IDWriteFontFaceReference methods ***/ 3223 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 3224 IDWriteFontFaceReference1 *This, 3225 IDWriteFontFace3 **fontface); 3226 3227 HRESULT (STDMETHODCALLTYPE *CreateFontFaceWithSimulations)( 3228 IDWriteFontFaceReference1 *This, 3229 DWRITE_FONT_SIMULATIONS simulations, 3230 IDWriteFontFace3 **fontface); 3231 3232 WINBOOL (STDMETHODCALLTYPE *Equals)( 3233 IDWriteFontFaceReference1 *This, 3234 IDWriteFontFaceReference *reference); 3235 3236 UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( 3237 IDWriteFontFaceReference1 *This); 3238 3239 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 3240 IDWriteFontFaceReference1 *This); 3241 3242 HRESULT (STDMETHODCALLTYPE *GetFontFile)( 3243 IDWriteFontFaceReference1 *This, 3244 IDWriteFontFile **fontfile); 3245 3246 UINT64 (STDMETHODCALLTYPE *GetLocalFileSize)( 3247 IDWriteFontFaceReference1 *This); 3248 3249 UINT64 (STDMETHODCALLTYPE *GetFileSize)( 3250 IDWriteFontFaceReference1 *This); 3251 3252 HRESULT (STDMETHODCALLTYPE *GetFileTime)( 3253 IDWriteFontFaceReference1 *This, 3254 FILETIME *writetime); 3255 3256 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( 3257 IDWriteFontFaceReference1 *This); 3258 3259 HRESULT (STDMETHODCALLTYPE *EnqueueFontDownloadRequest)( 3260 IDWriteFontFaceReference1 *This); 3261 3262 HRESULT (STDMETHODCALLTYPE *EnqueueCharacterDownloadRequest)( 3263 IDWriteFontFaceReference1 *This, 3264 const WCHAR *chars, 3265 UINT32 count); 3266 3267 HRESULT (STDMETHODCALLTYPE *EnqueueGlyphDownloadRequest)( 3268 IDWriteFontFaceReference1 *This, 3269 const UINT16 *glyphs, 3270 UINT32 count); 3271 3272 HRESULT (STDMETHODCALLTYPE *EnqueueFileFragmentDownloadRequest)( 3273 IDWriteFontFaceReference1 *This, 3274 UINT64 offset, 3275 UINT64 size); 3276 3277 /*** IDWriteFontFaceReference1 methods ***/ 3278 HRESULT (STDMETHODCALLTYPE *IDWriteFontFaceReference1_CreateFontFace)( 3279 IDWriteFontFaceReference1 *This, 3280 IDWriteFontFace5 **fontface); 3281 3282 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 3283 IDWriteFontFaceReference1 *This); 3284 3285 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 3286 IDWriteFontFaceReference1 *This, 3287 DWRITE_FONT_AXIS_VALUE *values, 3288 UINT32 num_values); 3289 3290 END_INTERFACE 3291 } IDWriteFontFaceReference1Vtbl; 3292 3293 interface IDWriteFontFaceReference1 { 3294 CONST_VTBL IDWriteFontFaceReference1Vtbl* lpVtbl; 3295 }; 3296 3297 #ifdef COBJMACROS 3298 #ifndef WIDL_C_INLINE_WRAPPERS 3299 /*** IUnknown methods ***/ 3300 #define IDWriteFontFaceReference1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3301 #define IDWriteFontFaceReference1_AddRef(This) (This)->lpVtbl->AddRef(This) 3302 #define IDWriteFontFaceReference1_Release(This) (This)->lpVtbl->Release(This) 3303 /*** IDWriteFontFaceReference methods ***/ 3304 #define IDWriteFontFaceReference1_CreateFontFaceWithSimulations(This,simulations,fontface) (This)->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface) 3305 #define IDWriteFontFaceReference1_Equals(This,reference) (This)->lpVtbl->Equals(This,reference) 3306 #define IDWriteFontFaceReference1_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) 3307 #define IDWriteFontFaceReference1_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 3308 #define IDWriteFontFaceReference1_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) 3309 #define IDWriteFontFaceReference1_GetLocalFileSize(This) (This)->lpVtbl->GetLocalFileSize(This) 3310 #define IDWriteFontFaceReference1_GetFileSize(This) (This)->lpVtbl->GetFileSize(This) 3311 #define IDWriteFontFaceReference1_GetFileTime(This,writetime) (This)->lpVtbl->GetFileTime(This,writetime) 3312 #define IDWriteFontFaceReference1_GetLocality(This) (This)->lpVtbl->GetLocality(This) 3313 #define IDWriteFontFaceReference1_EnqueueFontDownloadRequest(This) (This)->lpVtbl->EnqueueFontDownloadRequest(This) 3314 #define IDWriteFontFaceReference1_EnqueueCharacterDownloadRequest(This,chars,count) (This)->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count) 3315 #define IDWriteFontFaceReference1_EnqueueGlyphDownloadRequest(This,glyphs,count) (This)->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count) 3316 #define IDWriteFontFaceReference1_EnqueueFileFragmentDownloadRequest(This,offset,size) (This)->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size) 3317 /*** IDWriteFontFaceReference1 methods ***/ 3318 #define IDWriteFontFaceReference1_CreateFontFace(This,fontface) (This)->lpVtbl->IDWriteFontFaceReference1_CreateFontFace(This,fontface) 3319 #define IDWriteFontFaceReference1_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) 3320 #define IDWriteFontFaceReference1_GetFontAxisValues(This,values,num_values) (This)->lpVtbl->GetFontAxisValues(This,values,num_values) 3321 #else 3322 /*** IUnknown methods ***/ 3323 static inline HRESULT IDWriteFontFaceReference1_QueryInterface(IDWriteFontFaceReference1* This,REFIID riid,void **ppvObject) { 3324 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3325 } 3326 static inline ULONG IDWriteFontFaceReference1_AddRef(IDWriteFontFaceReference1* This) { 3327 return This->lpVtbl->AddRef(This); 3328 } 3329 static inline ULONG IDWriteFontFaceReference1_Release(IDWriteFontFaceReference1* This) { 3330 return This->lpVtbl->Release(This); 3331 } 3332 /*** IDWriteFontFaceReference methods ***/ 3333 static inline HRESULT IDWriteFontFaceReference1_CreateFontFaceWithSimulations(IDWriteFontFaceReference1* This,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFace3 **fontface) { 3334 return This->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface); 3335 } 3336 static inline WINBOOL IDWriteFontFaceReference1_Equals(IDWriteFontFaceReference1* This,IDWriteFontFaceReference *reference) { 3337 return This->lpVtbl->Equals(This,reference); 3338 } 3339 static inline UINT32 IDWriteFontFaceReference1_GetFontFaceIndex(IDWriteFontFaceReference1* This) { 3340 return This->lpVtbl->GetFontFaceIndex(This); 3341 } 3342 static inline DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference1_GetSimulations(IDWriteFontFaceReference1* This) { 3343 return This->lpVtbl->GetSimulations(This); 3344 } 3345 static inline HRESULT IDWriteFontFaceReference1_GetFontFile(IDWriteFontFaceReference1* This,IDWriteFontFile **fontfile) { 3346 return This->lpVtbl->GetFontFile(This,fontfile); 3347 } 3348 static inline UINT64 IDWriteFontFaceReference1_GetLocalFileSize(IDWriteFontFaceReference1* This) { 3349 return This->lpVtbl->GetLocalFileSize(This); 3350 } 3351 static inline UINT64 IDWriteFontFaceReference1_GetFileSize(IDWriteFontFaceReference1* This) { 3352 return This->lpVtbl->GetFileSize(This); 3353 } 3354 static inline HRESULT IDWriteFontFaceReference1_GetFileTime(IDWriteFontFaceReference1* This,FILETIME *writetime) { 3355 return This->lpVtbl->GetFileTime(This,writetime); 3356 } 3357 static inline DWRITE_LOCALITY IDWriteFontFaceReference1_GetLocality(IDWriteFontFaceReference1* This) { 3358 return This->lpVtbl->GetLocality(This); 3359 } 3360 static inline HRESULT IDWriteFontFaceReference1_EnqueueFontDownloadRequest(IDWriteFontFaceReference1* This) { 3361 return This->lpVtbl->EnqueueFontDownloadRequest(This); 3362 } 3363 static inline HRESULT IDWriteFontFaceReference1_EnqueueCharacterDownloadRequest(IDWriteFontFaceReference1* This,const WCHAR *chars,UINT32 count) { 3364 return This->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count); 3365 } 3366 static inline HRESULT IDWriteFontFaceReference1_EnqueueGlyphDownloadRequest(IDWriteFontFaceReference1* This,const UINT16 *glyphs,UINT32 count) { 3367 return This->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count); 3368 } 3369 static inline HRESULT IDWriteFontFaceReference1_EnqueueFileFragmentDownloadRequest(IDWriteFontFaceReference1* This,UINT64 offset,UINT64 size) { 3370 return This->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size); 3371 } 3372 /*** IDWriteFontFaceReference1 methods ***/ 3373 static inline HRESULT IDWriteFontFaceReference1_CreateFontFace(IDWriteFontFaceReference1* This,IDWriteFontFace5 **fontface) { 3374 return This->lpVtbl->IDWriteFontFaceReference1_CreateFontFace(This,fontface); 3375 } 3376 static inline UINT32 IDWriteFontFaceReference1_GetFontAxisValueCount(IDWriteFontFaceReference1* This) { 3377 return This->lpVtbl->GetFontAxisValueCount(This); 3378 } 3379 static inline HRESULT IDWriteFontFaceReference1_GetFontAxisValues(IDWriteFontFaceReference1* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values) { 3380 return This->lpVtbl->GetFontAxisValues(This,values,num_values); 3381 } 3382 #endif 3383 #endif 3384 3385 #endif 3386 3387 3388 #endif /* __IDWriteFontFaceReference1_INTERFACE_DEFINED__ */ 3389 3390 /***************************************************************************** 3391 * IDWriteFontList1 interface 3392 */ 3393 #ifndef __IDWriteFontList1_INTERFACE_DEFINED__ 3394 #define __IDWriteFontList1_INTERFACE_DEFINED__ 3395 3396 DEFINE_GUID(IID_IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xde); 3397 #if defined(__cplusplus) && !defined(CINTERFACE) 3398 MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7ade") 3399 IDWriteFontList1 : public IDWriteFontList 3400 { 3401 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( 3402 UINT32 index) = 0; 3403 3404 virtual HRESULT STDMETHODCALLTYPE GetFont( 3405 UINT32 index, 3406 IDWriteFont3 **font) = 0; 3407 3408 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 3409 UINT32 index, 3410 IDWriteFontFaceReference **reference) = 0; 3411 3412 }; 3413 #ifdef __CRT_UUID_DECL 3414 __CRT_UUID_DECL(IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xde) 3415 #endif 3416 #else 3417 typedef struct IDWriteFontList1Vtbl { 3418 BEGIN_INTERFACE 3419 3420 /*** IUnknown methods ***/ 3421 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3422 IDWriteFontList1 *This, 3423 REFIID riid, 3424 void **ppvObject); 3425 3426 ULONG (STDMETHODCALLTYPE *AddRef)( 3427 IDWriteFontList1 *This); 3428 3429 ULONG (STDMETHODCALLTYPE *Release)( 3430 IDWriteFontList1 *This); 3431 3432 /*** IDWriteFontList methods ***/ 3433 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 3434 IDWriteFontList1 *This, 3435 IDWriteFontCollection **collection); 3436 3437 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 3438 IDWriteFontList1 *This); 3439 3440 HRESULT (STDMETHODCALLTYPE *GetFont)( 3441 IDWriteFontList1 *This, 3442 UINT32 index, 3443 IDWriteFont **font); 3444 3445 /*** IDWriteFontList1 methods ***/ 3446 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 3447 IDWriteFontList1 *This, 3448 UINT32 index); 3449 3450 HRESULT (STDMETHODCALLTYPE *IDWriteFontList1_GetFont)( 3451 IDWriteFontList1 *This, 3452 UINT32 index, 3453 IDWriteFont3 **font); 3454 3455 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 3456 IDWriteFontList1 *This, 3457 UINT32 index, 3458 IDWriteFontFaceReference **reference); 3459 3460 END_INTERFACE 3461 } IDWriteFontList1Vtbl; 3462 3463 interface IDWriteFontList1 { 3464 CONST_VTBL IDWriteFontList1Vtbl* lpVtbl; 3465 }; 3466 3467 #ifdef COBJMACROS 3468 #ifndef WIDL_C_INLINE_WRAPPERS 3469 /*** IUnknown methods ***/ 3470 #define IDWriteFontList1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3471 #define IDWriteFontList1_AddRef(This) (This)->lpVtbl->AddRef(This) 3472 #define IDWriteFontList1_Release(This) (This)->lpVtbl->Release(This) 3473 /*** IDWriteFontList methods ***/ 3474 #define IDWriteFontList1_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 3475 #define IDWriteFontList1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 3476 /*** IDWriteFontList1 methods ***/ 3477 #define IDWriteFontList1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 3478 #define IDWriteFontList1_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontList1_GetFont(This,index,font) 3479 #define IDWriteFontList1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 3480 #else 3481 /*** IUnknown methods ***/ 3482 static inline HRESULT IDWriteFontList1_QueryInterface(IDWriteFontList1* This,REFIID riid,void **ppvObject) { 3483 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3484 } 3485 static inline ULONG IDWriteFontList1_AddRef(IDWriteFontList1* This) { 3486 return This->lpVtbl->AddRef(This); 3487 } 3488 static inline ULONG IDWriteFontList1_Release(IDWriteFontList1* This) { 3489 return This->lpVtbl->Release(This); 3490 } 3491 /*** IDWriteFontList methods ***/ 3492 static inline HRESULT IDWriteFontList1_GetFontCollection(IDWriteFontList1* This,IDWriteFontCollection **collection) { 3493 return This->lpVtbl->GetFontCollection(This,collection); 3494 } 3495 static inline UINT32 IDWriteFontList1_GetFontCount(IDWriteFontList1* This) { 3496 return This->lpVtbl->GetFontCount(This); 3497 } 3498 /*** IDWriteFontList1 methods ***/ 3499 static inline DWRITE_LOCALITY IDWriteFontList1_GetFontLocality(IDWriteFontList1* This,UINT32 index) { 3500 return This->lpVtbl->GetFontLocality(This,index); 3501 } 3502 static inline HRESULT IDWriteFontList1_GetFont(IDWriteFontList1* This,UINT32 index,IDWriteFont3 **font) { 3503 return This->lpVtbl->IDWriteFontList1_GetFont(This,index,font); 3504 } 3505 static inline HRESULT IDWriteFontList1_GetFontFaceReference(IDWriteFontList1* This,UINT32 index,IDWriteFontFaceReference **reference) { 3506 return This->lpVtbl->GetFontFaceReference(This,index,reference); 3507 } 3508 #endif 3509 #endif 3510 3511 #endif 3512 3513 3514 #endif /* __IDWriteFontList1_INTERFACE_DEFINED__ */ 3515 3516 /***************************************************************************** 3517 * IDWriteFontList2 interface 3518 */ 3519 #ifndef __IDWriteFontList2_INTERFACE_DEFINED__ 3520 #define __IDWriteFontList2_INTERFACE_DEFINED__ 3521 3522 DEFINE_GUID(IID_IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7,0x35, 0x08,0xc3,0x7b,0x0a,0x5b,0xf5); 3523 #if defined(__cplusplus) && !defined(CINTERFACE) 3524 MIDL_INTERFACE("c0763a34-77af-445a-b735-08c37b0a5bf5") 3525 IDWriteFontList2 : public IDWriteFontList1 3526 { 3527 virtual HRESULT STDMETHODCALLTYPE GetFontSet( 3528 IDWriteFontSet1 **fontset) = 0; 3529 3530 }; 3531 #ifdef __CRT_UUID_DECL 3532 __CRT_UUID_DECL(IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7,0x35, 0x08,0xc3,0x7b,0x0a,0x5b,0xf5) 3533 #endif 3534 #else 3535 typedef struct IDWriteFontList2Vtbl { 3536 BEGIN_INTERFACE 3537 3538 /*** IUnknown methods ***/ 3539 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3540 IDWriteFontList2 *This, 3541 REFIID riid, 3542 void **ppvObject); 3543 3544 ULONG (STDMETHODCALLTYPE *AddRef)( 3545 IDWriteFontList2 *This); 3546 3547 ULONG (STDMETHODCALLTYPE *Release)( 3548 IDWriteFontList2 *This); 3549 3550 /*** IDWriteFontList methods ***/ 3551 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 3552 IDWriteFontList2 *This, 3553 IDWriteFontCollection **collection); 3554 3555 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 3556 IDWriteFontList2 *This); 3557 3558 HRESULT (STDMETHODCALLTYPE *GetFont)( 3559 IDWriteFontList2 *This, 3560 UINT32 index, 3561 IDWriteFont **font); 3562 3563 /*** IDWriteFontList1 methods ***/ 3564 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 3565 IDWriteFontList2 *This, 3566 UINT32 index); 3567 3568 HRESULT (STDMETHODCALLTYPE *IDWriteFontList1_GetFont)( 3569 IDWriteFontList2 *This, 3570 UINT32 index, 3571 IDWriteFont3 **font); 3572 3573 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 3574 IDWriteFontList2 *This, 3575 UINT32 index, 3576 IDWriteFontFaceReference **reference); 3577 3578 /*** IDWriteFontList2 methods ***/ 3579 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 3580 IDWriteFontList2 *This, 3581 IDWriteFontSet1 **fontset); 3582 3583 END_INTERFACE 3584 } IDWriteFontList2Vtbl; 3585 3586 interface IDWriteFontList2 { 3587 CONST_VTBL IDWriteFontList2Vtbl* lpVtbl; 3588 }; 3589 3590 #ifdef COBJMACROS 3591 #ifndef WIDL_C_INLINE_WRAPPERS 3592 /*** IUnknown methods ***/ 3593 #define IDWriteFontList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3594 #define IDWriteFontList2_AddRef(This) (This)->lpVtbl->AddRef(This) 3595 #define IDWriteFontList2_Release(This) (This)->lpVtbl->Release(This) 3596 /*** IDWriteFontList methods ***/ 3597 #define IDWriteFontList2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 3598 #define IDWriteFontList2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 3599 /*** IDWriteFontList1 methods ***/ 3600 #define IDWriteFontList2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 3601 #define IDWriteFontList2_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontList1_GetFont(This,index,font) 3602 #define IDWriteFontList2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 3603 /*** IDWriteFontList2 methods ***/ 3604 #define IDWriteFontList2_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) 3605 #else 3606 /*** IUnknown methods ***/ 3607 static inline HRESULT IDWriteFontList2_QueryInterface(IDWriteFontList2* This,REFIID riid,void **ppvObject) { 3608 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3609 } 3610 static inline ULONG IDWriteFontList2_AddRef(IDWriteFontList2* This) { 3611 return This->lpVtbl->AddRef(This); 3612 } 3613 static inline ULONG IDWriteFontList2_Release(IDWriteFontList2* This) { 3614 return This->lpVtbl->Release(This); 3615 } 3616 /*** IDWriteFontList methods ***/ 3617 static inline HRESULT IDWriteFontList2_GetFontCollection(IDWriteFontList2* This,IDWriteFontCollection **collection) { 3618 return This->lpVtbl->GetFontCollection(This,collection); 3619 } 3620 static inline UINT32 IDWriteFontList2_GetFontCount(IDWriteFontList2* This) { 3621 return This->lpVtbl->GetFontCount(This); 3622 } 3623 /*** IDWriteFontList1 methods ***/ 3624 static inline DWRITE_LOCALITY IDWriteFontList2_GetFontLocality(IDWriteFontList2* This,UINT32 index) { 3625 return This->lpVtbl->GetFontLocality(This,index); 3626 } 3627 static inline HRESULT IDWriteFontList2_GetFont(IDWriteFontList2* This,UINT32 index,IDWriteFont3 **font) { 3628 return This->lpVtbl->IDWriteFontList1_GetFont(This,index,font); 3629 } 3630 static inline HRESULT IDWriteFontList2_GetFontFaceReference(IDWriteFontList2* This,UINT32 index,IDWriteFontFaceReference **reference) { 3631 return This->lpVtbl->GetFontFaceReference(This,index,reference); 3632 } 3633 /*** IDWriteFontList2 methods ***/ 3634 static inline HRESULT IDWriteFontList2_GetFontSet(IDWriteFontList2* This,IDWriteFontSet1 **fontset) { 3635 return This->lpVtbl->GetFontSet(This,fontset); 3636 } 3637 #endif 3638 #endif 3639 3640 #endif 3641 3642 3643 #endif /* __IDWriteFontList2_INTERFACE_DEFINED__ */ 3644 3645 /***************************************************************************** 3646 * IDWriteFontSet2 interface 3647 */ 3648 #ifndef __IDWriteFontSet2_INTERFACE_DEFINED__ 3649 #define __IDWriteFontSet2_INTERFACE_DEFINED__ 3650 3651 DEFINE_GUID(IID_IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2,0xda, 0x4e,0x2b,0x79,0xba,0x3f,0x7f); 3652 #if defined(__cplusplus) && !defined(CINTERFACE) 3653 MIDL_INTERFACE("dc7ead19-e54c-43af-b2da-4e2b79ba3f7f") 3654 IDWriteFontSet2 : public IDWriteFontSet1 3655 { 3656 virtual HANDLE STDMETHODCALLTYPE GetExpirationEvent( 3657 ) = 0; 3658 3659 }; 3660 #ifdef __CRT_UUID_DECL 3661 __CRT_UUID_DECL(IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2,0xda, 0x4e,0x2b,0x79,0xba,0x3f,0x7f) 3662 #endif 3663 #else 3664 typedef struct IDWriteFontSet2Vtbl { 3665 BEGIN_INTERFACE 3666 3667 /*** IUnknown methods ***/ 3668 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3669 IDWriteFontSet2 *This, 3670 REFIID riid, 3671 void **ppvObject); 3672 3673 ULONG (STDMETHODCALLTYPE *AddRef)( 3674 IDWriteFontSet2 *This); 3675 3676 ULONG (STDMETHODCALLTYPE *Release)( 3677 IDWriteFontSet2 *This); 3678 3679 /*** IDWriteFontSet methods ***/ 3680 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 3681 IDWriteFontSet2 *This); 3682 3683 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 3684 IDWriteFontSet2 *This, 3685 UINT32 index, 3686 IDWriteFontFaceReference **reference); 3687 3688 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 3689 IDWriteFontSet2 *This, 3690 IDWriteFontFaceReference *reference, 3691 UINT32 *index, 3692 WINBOOL *exists); 3693 3694 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 3695 IDWriteFontSet2 *This, 3696 IDWriteFontFace *fontface, 3697 UINT32 *index, 3698 WINBOOL *exists); 3699 3700 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 3701 IDWriteFontSet2 *This, 3702 DWRITE_FONT_PROPERTY_ID id, 3703 IDWriteStringList **values); 3704 3705 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 3706 IDWriteFontSet2 *This, 3707 DWRITE_FONT_PROPERTY_ID id, 3708 const WCHAR *preferred_locales, 3709 IDWriteStringList **values); 3710 3711 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 3712 IDWriteFontSet2 *This, 3713 UINT32 index, 3714 DWRITE_FONT_PROPERTY_ID id, 3715 WINBOOL *exists, 3716 IDWriteLocalizedStrings **values); 3717 3718 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 3719 IDWriteFontSet2 *This, 3720 const DWRITE_FONT_PROPERTY *property, 3721 UINT32 *count); 3722 3723 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 3724 IDWriteFontSet2 *This, 3725 const WCHAR *family, 3726 DWRITE_FONT_WEIGHT weight, 3727 DWRITE_FONT_STRETCH stretch, 3728 DWRITE_FONT_STYLE style, 3729 IDWriteFontSet **fontset); 3730 3731 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 3732 IDWriteFontSet2 *This, 3733 const DWRITE_FONT_PROPERTY *props, 3734 UINT32 count, 3735 IDWriteFontSet **fontset); 3736 3737 /*** IDWriteFontSet1 methods ***/ 3738 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( 3739 IDWriteFontSet2 *This, 3740 const DWRITE_FONT_PROPERTY *property, 3741 const DWRITE_FONT_AXIS_VALUE *axis_values, 3742 UINT32 num_values, 3743 IDWriteFontSet1 **fontset); 3744 3745 HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( 3746 IDWriteFontSet2 *This, 3747 IDWriteFontSet1 **fontset); 3748 3749 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( 3750 IDWriteFontSet2 *This, 3751 const UINT32 *indices, 3752 UINT32 num_indices, 3753 IDWriteFontSet1 **fontset); 3754 3755 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( 3756 IDWriteFontSet2 *This, 3757 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 3758 UINT32 num_ranges, 3759 WINBOOL select_any_range, 3760 IDWriteFontSet1 **fontset); 3761 3762 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( 3763 IDWriteFontSet2 *This, 3764 const DWRITE_FONT_PROPERTY *props, 3765 UINT32 num_properties, 3766 WINBOOL select_any_property, 3767 IDWriteFontSet1 **fontset); 3768 3769 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices_)( 3770 IDWriteFontSet2 *This, 3771 const DWRITE_FONT_AXIS_RANGE *ranges, 3772 UINT32 num_ranges, 3773 WINBOOL select_any_range, 3774 UINT32 *indices, 3775 UINT32 num_indices, 3776 UINT32 *actual_num_indices); 3777 3778 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( 3779 IDWriteFontSet2 *This, 3780 const DWRITE_FONT_PROPERTY *props, 3781 UINT32 num_properties, 3782 WINBOOL select_any_range, 3783 UINT32 *indices, 3784 UINT32 num_indices, 3785 UINT32 *actual_num_indices); 3786 3787 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( 3788 IDWriteFontSet2 *This, 3789 UINT32 font_index, 3790 DWRITE_FONT_AXIS_RANGE *axis_ranges, 3791 UINT32 num_ranges, 3792 UINT32 *actual_num_ranges); 3793 3794 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 3795 IDWriteFontSet2 *This, 3796 DWRITE_FONT_AXIS_RANGE *axis_ranges, 3797 UINT32 num_ranges, 3798 UINT32 *actual_num_ranges); 3799 3800 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( 3801 IDWriteFontSet2 *This, 3802 UINT32 index, 3803 IDWriteFontFaceReference1 **reference); 3804 3805 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 3806 IDWriteFontSet2 *This, 3807 UINT32 index, 3808 IDWriteFontResource **resource); 3809 3810 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 3811 IDWriteFontSet2 *This, 3812 UINT32 index, 3813 IDWriteFontFace5 **fontface); 3814 3815 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 3816 IDWriteFontSet2 *This, 3817 UINT32 index); 3818 3819 /*** IDWriteFontSet2 methods ***/ 3820 HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( 3821 IDWriteFontSet2 *This); 3822 3823 END_INTERFACE 3824 } IDWriteFontSet2Vtbl; 3825 3826 interface IDWriteFontSet2 { 3827 CONST_VTBL IDWriteFontSet2Vtbl* lpVtbl; 3828 }; 3829 3830 #ifdef COBJMACROS 3831 #ifndef WIDL_C_INLINE_WRAPPERS 3832 /*** IUnknown methods ***/ 3833 #define IDWriteFontSet2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3834 #define IDWriteFontSet2_AddRef(This) (This)->lpVtbl->AddRef(This) 3835 #define IDWriteFontSet2_Release(This) (This)->lpVtbl->Release(This) 3836 /*** IDWriteFontSet methods ***/ 3837 #define IDWriteFontSet2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 3838 #define IDWriteFontSet2_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 3839 #define IDWriteFontSet2_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 3840 #define IDWriteFontSet2_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 3841 #define IDWriteFontSet2_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 3842 #define IDWriteFontSet2_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 3843 #define IDWriteFontSet2_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 3844 #define IDWriteFontSet2_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 3845 /*** IDWriteFontSet1 methods ***/ 3846 #define IDWriteFontSet2_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) 3847 #define IDWriteFontSet2_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) 3848 #define IDWriteFontSet2_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) 3849 #define IDWriteFontSet2_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) 3850 #define IDWriteFontSet2_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) 3851 #define IDWriteFontSet2_GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices) 3852 #define IDWriteFontSet2_GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices) 3853 #define IDWriteFontSet2_GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges) 3854 #define IDWriteFontSet2_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) 3855 #define IDWriteFontSet2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) 3856 #define IDWriteFontSet2_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) 3857 #define IDWriteFontSet2_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) 3858 #define IDWriteFontSet2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 3859 /*** IDWriteFontSet2 methods ***/ 3860 #define IDWriteFontSet2_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) 3861 #else 3862 /*** IUnknown methods ***/ 3863 static inline HRESULT IDWriteFontSet2_QueryInterface(IDWriteFontSet2* This,REFIID riid,void **ppvObject) { 3864 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3865 } 3866 static inline ULONG IDWriteFontSet2_AddRef(IDWriteFontSet2* This) { 3867 return This->lpVtbl->AddRef(This); 3868 } 3869 static inline ULONG IDWriteFontSet2_Release(IDWriteFontSet2* This) { 3870 return This->lpVtbl->Release(This); 3871 } 3872 /*** IDWriteFontSet methods ***/ 3873 static inline UINT32 IDWriteFontSet2_GetFontCount(IDWriteFontSet2* This) { 3874 return This->lpVtbl->GetFontCount(This); 3875 } 3876 static inline HRESULT IDWriteFontSet2_FindFontFaceReference(IDWriteFontSet2* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 3877 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 3878 } 3879 static inline HRESULT IDWriteFontSet2_FindFontFace(IDWriteFontSet2* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 3880 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 3881 } 3882 static inline HRESULT IDWriteFontSet2_GetPropertyValues__(IDWriteFontSet2* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 3883 return This->lpVtbl->GetPropertyValues__(This,id,values); 3884 } 3885 static inline HRESULT IDWriteFontSet2_GetPropertyValues_(IDWriteFontSet2* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 3886 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 3887 } 3888 static inline HRESULT IDWriteFontSet2_GetPropertyValues(IDWriteFontSet2* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 3889 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 3890 } 3891 static inline HRESULT IDWriteFontSet2_GetPropertyOccurrenceCount(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 3892 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 3893 } 3894 static inline HRESULT IDWriteFontSet2_GetMatchingFonts_(IDWriteFontSet2* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 3895 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 3896 } 3897 /*** IDWriteFontSet1 methods ***/ 3898 static inline HRESULT IDWriteFontSet2_GetMatchingFonts(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { 3899 return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); 3900 } 3901 static inline HRESULT IDWriteFontSet2_GetFirstFontResources(IDWriteFontSet2* This,IDWriteFontSet1 **fontset) { 3902 return This->lpVtbl->GetFirstFontResources(This,fontset); 3903 } 3904 static inline HRESULT IDWriteFontSet2_GetFilteredFonts__(IDWriteFontSet2* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { 3905 return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); 3906 } 3907 static inline HRESULT IDWriteFontSet2_GetFilteredFonts_(IDWriteFontSet2* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { 3908 return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); 3909 } 3910 static inline HRESULT IDWriteFontSet2_GetFilteredFonts(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { 3911 return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); 3912 } 3913 static inline HRESULT IDWriteFontSet2_GetFilteredFontIndices_(IDWriteFontSet2* This,const DWRITE_FONT_AXIS_RANGE *ranges,UINT32 num_ranges,WINBOOL select_any_range,UINT32 *indices,UINT32 num_indices,UINT32 *actual_num_indices) { 3914 return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); 3915 } 3916 static inline HRESULT IDWriteFontSet2_GetFilteredFontIndices(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_range,UINT32 *indices,UINT32 num_indices,UINT32 *actual_num_indices) { 3917 return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); 3918 } 3919 static inline HRESULT IDWriteFontSet2_GetFontAxisRanges_(IDWriteFontSet2* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 3920 return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); 3921 } 3922 static inline HRESULT IDWriteFontSet2_GetFontAxisRanges(IDWriteFontSet2* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 3923 return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); 3924 } 3925 static inline HRESULT IDWriteFontSet2_GetFontFaceReference(IDWriteFontSet2* This,UINT32 index,IDWriteFontFaceReference1 **reference) { 3926 return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); 3927 } 3928 static inline HRESULT IDWriteFontSet2_CreateFontResource(IDWriteFontSet2* This,UINT32 index,IDWriteFontResource **resource) { 3929 return This->lpVtbl->CreateFontResource(This,index,resource); 3930 } 3931 static inline HRESULT IDWriteFontSet2_CreateFontFace(IDWriteFontSet2* This,UINT32 index,IDWriteFontFace5 **fontface) { 3932 return This->lpVtbl->CreateFontFace(This,index,fontface); 3933 } 3934 static inline DWRITE_LOCALITY IDWriteFontSet2_GetFontLocality(IDWriteFontSet2* This,UINT32 index) { 3935 return This->lpVtbl->GetFontLocality(This,index); 3936 } 3937 /*** IDWriteFontSet2 methods ***/ 3938 static inline HANDLE IDWriteFontSet2_GetExpirationEvent(IDWriteFontSet2* This) { 3939 return This->lpVtbl->GetExpirationEvent(This); 3940 } 3941 #endif 3942 #endif 3943 3944 #endif 3945 3946 3947 #endif /* __IDWriteFontSet2_INTERFACE_DEFINED__ */ 3948 3949 /***************************************************************************** 3950 * IDWriteFontSet3 interface 3951 */ 3952 #ifndef __IDWriteFontSet3_INTERFACE_DEFINED__ 3953 #define __IDWriteFontSet3_INTERFACE_DEFINED__ 3954 3955 DEFINE_GUID(IID_IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c,0x32, 0x8a,0xb8,0xae,0x64,0x0f,0x90); 3956 #if defined(__cplusplus) && !defined(CINTERFACE) 3957 MIDL_INTERFACE("7c073ef2-a7f4-4045-8c32-8ab8ae640f90") 3958 IDWriteFontSet3 : public IDWriteFontSet2 3959 { 3960 virtual DWRITE_FONT_SOURCE_TYPE STDMETHODCALLTYPE GetFontSourceType( 3961 UINT32 index) = 0; 3962 3963 virtual UINT32 STDMETHODCALLTYPE GetFontSourceNameLength( 3964 UINT32 index) = 0; 3965 3966 virtual HRESULT STDMETHODCALLTYPE GetFontSourceName( 3967 UINT32 index, 3968 WCHAR *buffer, 3969 UINT32 buffer_size) = 0; 3970 3971 }; 3972 #ifdef __CRT_UUID_DECL 3973 __CRT_UUID_DECL(IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c,0x32, 0x8a,0xb8,0xae,0x64,0x0f,0x90) 3974 #endif 3975 #else 3976 typedef struct IDWriteFontSet3Vtbl { 3977 BEGIN_INTERFACE 3978 3979 /*** IUnknown methods ***/ 3980 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3981 IDWriteFontSet3 *This, 3982 REFIID riid, 3983 void **ppvObject); 3984 3985 ULONG (STDMETHODCALLTYPE *AddRef)( 3986 IDWriteFontSet3 *This); 3987 3988 ULONG (STDMETHODCALLTYPE *Release)( 3989 IDWriteFontSet3 *This); 3990 3991 /*** IDWriteFontSet methods ***/ 3992 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 3993 IDWriteFontSet3 *This); 3994 3995 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 3996 IDWriteFontSet3 *This, 3997 UINT32 index, 3998 IDWriteFontFaceReference **reference); 3999 4000 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 4001 IDWriteFontSet3 *This, 4002 IDWriteFontFaceReference *reference, 4003 UINT32 *index, 4004 WINBOOL *exists); 4005 4006 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 4007 IDWriteFontSet3 *This, 4008 IDWriteFontFace *fontface, 4009 UINT32 *index, 4010 WINBOOL *exists); 4011 4012 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 4013 IDWriteFontSet3 *This, 4014 DWRITE_FONT_PROPERTY_ID id, 4015 IDWriteStringList **values); 4016 4017 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 4018 IDWriteFontSet3 *This, 4019 DWRITE_FONT_PROPERTY_ID id, 4020 const WCHAR *preferred_locales, 4021 IDWriteStringList **values); 4022 4023 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 4024 IDWriteFontSet3 *This, 4025 UINT32 index, 4026 DWRITE_FONT_PROPERTY_ID id, 4027 WINBOOL *exists, 4028 IDWriteLocalizedStrings **values); 4029 4030 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 4031 IDWriteFontSet3 *This, 4032 const DWRITE_FONT_PROPERTY *property, 4033 UINT32 *count); 4034 4035 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 4036 IDWriteFontSet3 *This, 4037 const WCHAR *family, 4038 DWRITE_FONT_WEIGHT weight, 4039 DWRITE_FONT_STRETCH stretch, 4040 DWRITE_FONT_STYLE style, 4041 IDWriteFontSet **fontset); 4042 4043 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 4044 IDWriteFontSet3 *This, 4045 const DWRITE_FONT_PROPERTY *props, 4046 UINT32 count, 4047 IDWriteFontSet **fontset); 4048 4049 /*** IDWriteFontSet1 methods ***/ 4050 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( 4051 IDWriteFontSet3 *This, 4052 const DWRITE_FONT_PROPERTY *property, 4053 const DWRITE_FONT_AXIS_VALUE *axis_values, 4054 UINT32 num_values, 4055 IDWriteFontSet1 **fontset); 4056 4057 HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( 4058 IDWriteFontSet3 *This, 4059 IDWriteFontSet1 **fontset); 4060 4061 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( 4062 IDWriteFontSet3 *This, 4063 const UINT32 *indices, 4064 UINT32 num_indices, 4065 IDWriteFontSet1 **fontset); 4066 4067 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( 4068 IDWriteFontSet3 *This, 4069 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 4070 UINT32 num_ranges, 4071 WINBOOL select_any_range, 4072 IDWriteFontSet1 **fontset); 4073 4074 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( 4075 IDWriteFontSet3 *This, 4076 const DWRITE_FONT_PROPERTY *props, 4077 UINT32 num_properties, 4078 WINBOOL select_any_property, 4079 IDWriteFontSet1 **fontset); 4080 4081 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices_)( 4082 IDWriteFontSet3 *This, 4083 const DWRITE_FONT_AXIS_RANGE *ranges, 4084 UINT32 num_ranges, 4085 WINBOOL select_any_range, 4086 UINT32 *indices, 4087 UINT32 num_indices, 4088 UINT32 *actual_num_indices); 4089 4090 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( 4091 IDWriteFontSet3 *This, 4092 const DWRITE_FONT_PROPERTY *props, 4093 UINT32 num_properties, 4094 WINBOOL select_any_range, 4095 UINT32 *indices, 4096 UINT32 num_indices, 4097 UINT32 *actual_num_indices); 4098 4099 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( 4100 IDWriteFontSet3 *This, 4101 UINT32 font_index, 4102 DWRITE_FONT_AXIS_RANGE *axis_ranges, 4103 UINT32 num_ranges, 4104 UINT32 *actual_num_ranges); 4105 4106 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 4107 IDWriteFontSet3 *This, 4108 DWRITE_FONT_AXIS_RANGE *axis_ranges, 4109 UINT32 num_ranges, 4110 UINT32 *actual_num_ranges); 4111 4112 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( 4113 IDWriteFontSet3 *This, 4114 UINT32 index, 4115 IDWriteFontFaceReference1 **reference); 4116 4117 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 4118 IDWriteFontSet3 *This, 4119 UINT32 index, 4120 IDWriteFontResource **resource); 4121 4122 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 4123 IDWriteFontSet3 *This, 4124 UINT32 index, 4125 IDWriteFontFace5 **fontface); 4126 4127 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 4128 IDWriteFontSet3 *This, 4129 UINT32 index); 4130 4131 /*** IDWriteFontSet2 methods ***/ 4132 HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( 4133 IDWriteFontSet3 *This); 4134 4135 /*** IDWriteFontSet3 methods ***/ 4136 DWRITE_FONT_SOURCE_TYPE (STDMETHODCALLTYPE *GetFontSourceType)( 4137 IDWriteFontSet3 *This, 4138 UINT32 index); 4139 4140 UINT32 (STDMETHODCALLTYPE *GetFontSourceNameLength)( 4141 IDWriteFontSet3 *This, 4142 UINT32 index); 4143 4144 HRESULT (STDMETHODCALLTYPE *GetFontSourceName)( 4145 IDWriteFontSet3 *This, 4146 UINT32 index, 4147 WCHAR *buffer, 4148 UINT32 buffer_size); 4149 4150 END_INTERFACE 4151 } IDWriteFontSet3Vtbl; 4152 4153 interface IDWriteFontSet3 { 4154 CONST_VTBL IDWriteFontSet3Vtbl* lpVtbl; 4155 }; 4156 4157 #ifdef COBJMACROS 4158 #ifndef WIDL_C_INLINE_WRAPPERS 4159 /*** IUnknown methods ***/ 4160 #define IDWriteFontSet3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4161 #define IDWriteFontSet3_AddRef(This) (This)->lpVtbl->AddRef(This) 4162 #define IDWriteFontSet3_Release(This) (This)->lpVtbl->Release(This) 4163 /*** IDWriteFontSet methods ***/ 4164 #define IDWriteFontSet3_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 4165 #define IDWriteFontSet3_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 4166 #define IDWriteFontSet3_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 4167 #define IDWriteFontSet3_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 4168 #define IDWriteFontSet3_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 4169 #define IDWriteFontSet3_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 4170 #define IDWriteFontSet3_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 4171 #define IDWriteFontSet3_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 4172 /*** IDWriteFontSet1 methods ***/ 4173 #define IDWriteFontSet3_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) 4174 #define IDWriteFontSet3_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) 4175 #define IDWriteFontSet3_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) 4176 #define IDWriteFontSet3_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) 4177 #define IDWriteFontSet3_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) 4178 #define IDWriteFontSet3_GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices) 4179 #define IDWriteFontSet3_GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices) 4180 #define IDWriteFontSet3_GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges) 4181 #define IDWriteFontSet3_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) 4182 #define IDWriteFontSet3_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) 4183 #define IDWriteFontSet3_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) 4184 #define IDWriteFontSet3_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) 4185 #define IDWriteFontSet3_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 4186 /*** IDWriteFontSet2 methods ***/ 4187 #define IDWriteFontSet3_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) 4188 /*** IDWriteFontSet3 methods ***/ 4189 #define IDWriteFontSet3_GetFontSourceType(This,index) (This)->lpVtbl->GetFontSourceType(This,index) 4190 #define IDWriteFontSet3_GetFontSourceNameLength(This,index) (This)->lpVtbl->GetFontSourceNameLength(This,index) 4191 #define IDWriteFontSet3_GetFontSourceName(This,index,buffer,buffer_size) (This)->lpVtbl->GetFontSourceName(This,index,buffer,buffer_size) 4192 #else 4193 /*** IUnknown methods ***/ 4194 static inline HRESULT IDWriteFontSet3_QueryInterface(IDWriteFontSet3* This,REFIID riid,void **ppvObject) { 4195 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4196 } 4197 static inline ULONG IDWriteFontSet3_AddRef(IDWriteFontSet3* This) { 4198 return This->lpVtbl->AddRef(This); 4199 } 4200 static inline ULONG IDWriteFontSet3_Release(IDWriteFontSet3* This) { 4201 return This->lpVtbl->Release(This); 4202 } 4203 /*** IDWriteFontSet methods ***/ 4204 static inline UINT32 IDWriteFontSet3_GetFontCount(IDWriteFontSet3* This) { 4205 return This->lpVtbl->GetFontCount(This); 4206 } 4207 static inline HRESULT IDWriteFontSet3_FindFontFaceReference(IDWriteFontSet3* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 4208 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 4209 } 4210 static inline HRESULT IDWriteFontSet3_FindFontFace(IDWriteFontSet3* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 4211 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 4212 } 4213 static inline HRESULT IDWriteFontSet3_GetPropertyValues__(IDWriteFontSet3* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 4214 return This->lpVtbl->GetPropertyValues__(This,id,values); 4215 } 4216 static inline HRESULT IDWriteFontSet3_GetPropertyValues_(IDWriteFontSet3* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 4217 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 4218 } 4219 static inline HRESULT IDWriteFontSet3_GetPropertyValues(IDWriteFontSet3* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 4220 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 4221 } 4222 static inline HRESULT IDWriteFontSet3_GetPropertyOccurrenceCount(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 4223 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 4224 } 4225 static inline HRESULT IDWriteFontSet3_GetMatchingFonts_(IDWriteFontSet3* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 4226 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 4227 } 4228 /*** IDWriteFontSet1 methods ***/ 4229 static inline HRESULT IDWriteFontSet3_GetMatchingFonts(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { 4230 return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); 4231 } 4232 static inline HRESULT IDWriteFontSet3_GetFirstFontResources(IDWriteFontSet3* This,IDWriteFontSet1 **fontset) { 4233 return This->lpVtbl->GetFirstFontResources(This,fontset); 4234 } 4235 static inline HRESULT IDWriteFontSet3_GetFilteredFonts__(IDWriteFontSet3* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { 4236 return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); 4237 } 4238 static inline HRESULT IDWriteFontSet3_GetFilteredFonts_(IDWriteFontSet3* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { 4239 return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); 4240 } 4241 static inline HRESULT IDWriteFontSet3_GetFilteredFonts(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { 4242 return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); 4243 } 4244 static inline HRESULT IDWriteFontSet3_GetFilteredFontIndices_(IDWriteFontSet3* This,const DWRITE_FONT_AXIS_RANGE *ranges,UINT32 num_ranges,WINBOOL select_any_range,UINT32 *indices,UINT32 num_indices,UINT32 *actual_num_indices) { 4245 return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); 4246 } 4247 static inline HRESULT IDWriteFontSet3_GetFilteredFontIndices(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_range,UINT32 *indices,UINT32 num_indices,UINT32 *actual_num_indices) { 4248 return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); 4249 } 4250 static inline HRESULT IDWriteFontSet3_GetFontAxisRanges_(IDWriteFontSet3* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 4251 return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); 4252 } 4253 static inline HRESULT IDWriteFontSet3_GetFontAxisRanges(IDWriteFontSet3* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 4254 return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); 4255 } 4256 static inline HRESULT IDWriteFontSet3_GetFontFaceReference(IDWriteFontSet3* This,UINT32 index,IDWriteFontFaceReference1 **reference) { 4257 return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); 4258 } 4259 static inline HRESULT IDWriteFontSet3_CreateFontResource(IDWriteFontSet3* This,UINT32 index,IDWriteFontResource **resource) { 4260 return This->lpVtbl->CreateFontResource(This,index,resource); 4261 } 4262 static inline HRESULT IDWriteFontSet3_CreateFontFace(IDWriteFontSet3* This,UINT32 index,IDWriteFontFace5 **fontface) { 4263 return This->lpVtbl->CreateFontFace(This,index,fontface); 4264 } 4265 static inline DWRITE_LOCALITY IDWriteFontSet3_GetFontLocality(IDWriteFontSet3* This,UINT32 index) { 4266 return This->lpVtbl->GetFontLocality(This,index); 4267 } 4268 /*** IDWriteFontSet2 methods ***/ 4269 static inline HANDLE IDWriteFontSet3_GetExpirationEvent(IDWriteFontSet3* This) { 4270 return This->lpVtbl->GetExpirationEvent(This); 4271 } 4272 /*** IDWriteFontSet3 methods ***/ 4273 static inline DWRITE_FONT_SOURCE_TYPE IDWriteFontSet3_GetFontSourceType(IDWriteFontSet3* This,UINT32 index) { 4274 return This->lpVtbl->GetFontSourceType(This,index); 4275 } 4276 static inline UINT32 IDWriteFontSet3_GetFontSourceNameLength(IDWriteFontSet3* This,UINT32 index) { 4277 return This->lpVtbl->GetFontSourceNameLength(This,index); 4278 } 4279 static inline HRESULT IDWriteFontSet3_GetFontSourceName(IDWriteFontSet3* This,UINT32 index,WCHAR *buffer,UINT32 buffer_size) { 4280 return This->lpVtbl->GetFontSourceName(This,index,buffer,buffer_size); 4281 } 4282 #endif 4283 #endif 4284 4285 #endif 4286 4287 4288 #endif /* __IDWriteFontSet3_INTERFACE_DEFINED__ */ 4289 4290 /***************************************************************************** 4291 * IDWriteFontSet4 interface 4292 */ 4293 #ifndef __IDWriteFontSet4_INTERFACE_DEFINED__ 4294 #define __IDWriteFontSet4_INTERFACE_DEFINED__ 4295 4296 DEFINE_GUID(IID_IDWriteFontSet4, 0xeec175fc, 0xbea9, 0x4c86, 0x8b,0x53, 0xcc,0xbd,0xd7,0xdf,0x0c,0x82); 4297 #if defined(__cplusplus) && !defined(CINTERFACE) 4298 MIDL_INTERFACE("eec175fc-bea9-4c86-8b53-ccbdd7df0c82") 4299 IDWriteFontSet4 : public IDWriteFontSet3 4300 { 4301 virtual UINT32 STDMETHODCALLTYPE ConvertWeightStretchStyleToFontAxisValues( 4302 const DWRITE_FONT_AXIS_VALUE *input_axis_values, 4303 UINT32 input_axis_count, 4304 DWRITE_FONT_WEIGHT weight, 4305 DWRITE_FONT_STRETCH stretch, 4306 DWRITE_FONT_STYLE style, 4307 float size, 4308 DWRITE_FONT_AXIS_VALUE *output_axis_values) = 0; 4309 4310 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 4311 const WCHAR *family_name, 4312 const DWRITE_FONT_AXIS_VALUE *axis_values, 4313 UINT32 axis_value_count, 4314 DWRITE_FONT_SIMULATIONS allowed_simulations, 4315 IDWriteFontSet4 **fonts) = 0; 4316 4317 }; 4318 #ifdef __CRT_UUID_DECL 4319 __CRT_UUID_DECL(IDWriteFontSet4, 0xeec175fc, 0xbea9, 0x4c86, 0x8b,0x53, 0xcc,0xbd,0xd7,0xdf,0x0c,0x82) 4320 #endif 4321 #else 4322 typedef struct IDWriteFontSet4Vtbl { 4323 BEGIN_INTERFACE 4324 4325 /*** IUnknown methods ***/ 4326 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4327 IDWriteFontSet4 *This, 4328 REFIID riid, 4329 void **ppvObject); 4330 4331 ULONG (STDMETHODCALLTYPE *AddRef)( 4332 IDWriteFontSet4 *This); 4333 4334 ULONG (STDMETHODCALLTYPE *Release)( 4335 IDWriteFontSet4 *This); 4336 4337 /*** IDWriteFontSet methods ***/ 4338 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 4339 IDWriteFontSet4 *This); 4340 4341 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 4342 IDWriteFontSet4 *This, 4343 UINT32 index, 4344 IDWriteFontFaceReference **reference); 4345 4346 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 4347 IDWriteFontSet4 *This, 4348 IDWriteFontFaceReference *reference, 4349 UINT32 *index, 4350 WINBOOL *exists); 4351 4352 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 4353 IDWriteFontSet4 *This, 4354 IDWriteFontFace *fontface, 4355 UINT32 *index, 4356 WINBOOL *exists); 4357 4358 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 4359 IDWriteFontSet4 *This, 4360 DWRITE_FONT_PROPERTY_ID id, 4361 IDWriteStringList **values); 4362 4363 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 4364 IDWriteFontSet4 *This, 4365 DWRITE_FONT_PROPERTY_ID id, 4366 const WCHAR *preferred_locales, 4367 IDWriteStringList **values); 4368 4369 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 4370 IDWriteFontSet4 *This, 4371 UINT32 index, 4372 DWRITE_FONT_PROPERTY_ID id, 4373 WINBOOL *exists, 4374 IDWriteLocalizedStrings **values); 4375 4376 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 4377 IDWriteFontSet4 *This, 4378 const DWRITE_FONT_PROPERTY *property, 4379 UINT32 *count); 4380 4381 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 4382 IDWriteFontSet4 *This, 4383 const WCHAR *family, 4384 DWRITE_FONT_WEIGHT weight, 4385 DWRITE_FONT_STRETCH stretch, 4386 DWRITE_FONT_STYLE style, 4387 IDWriteFontSet **fontset); 4388 4389 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 4390 IDWriteFontSet4 *This, 4391 const DWRITE_FONT_PROPERTY *props, 4392 UINT32 count, 4393 IDWriteFontSet **fontset); 4394 4395 /*** IDWriteFontSet1 methods ***/ 4396 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( 4397 IDWriteFontSet4 *This, 4398 const DWRITE_FONT_PROPERTY *property, 4399 const DWRITE_FONT_AXIS_VALUE *axis_values, 4400 UINT32 num_values, 4401 IDWriteFontSet1 **fontset); 4402 4403 HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( 4404 IDWriteFontSet4 *This, 4405 IDWriteFontSet1 **fontset); 4406 4407 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( 4408 IDWriteFontSet4 *This, 4409 const UINT32 *indices, 4410 UINT32 num_indices, 4411 IDWriteFontSet1 **fontset); 4412 4413 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( 4414 IDWriteFontSet4 *This, 4415 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 4416 UINT32 num_ranges, 4417 WINBOOL select_any_range, 4418 IDWriteFontSet1 **fontset); 4419 4420 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( 4421 IDWriteFontSet4 *This, 4422 const DWRITE_FONT_PROPERTY *props, 4423 UINT32 num_properties, 4424 WINBOOL select_any_property, 4425 IDWriteFontSet1 **fontset); 4426 4427 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices_)( 4428 IDWriteFontSet4 *This, 4429 const DWRITE_FONT_AXIS_RANGE *ranges, 4430 UINT32 num_ranges, 4431 WINBOOL select_any_range, 4432 UINT32 *indices, 4433 UINT32 num_indices, 4434 UINT32 *actual_num_indices); 4435 4436 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( 4437 IDWriteFontSet4 *This, 4438 const DWRITE_FONT_PROPERTY *props, 4439 UINT32 num_properties, 4440 WINBOOL select_any_range, 4441 UINT32 *indices, 4442 UINT32 num_indices, 4443 UINT32 *actual_num_indices); 4444 4445 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( 4446 IDWriteFontSet4 *This, 4447 UINT32 font_index, 4448 DWRITE_FONT_AXIS_RANGE *axis_ranges, 4449 UINT32 num_ranges, 4450 UINT32 *actual_num_ranges); 4451 4452 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 4453 IDWriteFontSet4 *This, 4454 DWRITE_FONT_AXIS_RANGE *axis_ranges, 4455 UINT32 num_ranges, 4456 UINT32 *actual_num_ranges); 4457 4458 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( 4459 IDWriteFontSet4 *This, 4460 UINT32 index, 4461 IDWriteFontFaceReference1 **reference); 4462 4463 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 4464 IDWriteFontSet4 *This, 4465 UINT32 index, 4466 IDWriteFontResource **resource); 4467 4468 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 4469 IDWriteFontSet4 *This, 4470 UINT32 index, 4471 IDWriteFontFace5 **fontface); 4472 4473 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 4474 IDWriteFontSet4 *This, 4475 UINT32 index); 4476 4477 /*** IDWriteFontSet2 methods ***/ 4478 HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( 4479 IDWriteFontSet4 *This); 4480 4481 /*** IDWriteFontSet3 methods ***/ 4482 DWRITE_FONT_SOURCE_TYPE (STDMETHODCALLTYPE *GetFontSourceType)( 4483 IDWriteFontSet4 *This, 4484 UINT32 index); 4485 4486 UINT32 (STDMETHODCALLTYPE *GetFontSourceNameLength)( 4487 IDWriteFontSet4 *This, 4488 UINT32 index); 4489 4490 HRESULT (STDMETHODCALLTYPE *GetFontSourceName)( 4491 IDWriteFontSet4 *This, 4492 UINT32 index, 4493 WCHAR *buffer, 4494 UINT32 buffer_size); 4495 4496 /*** IDWriteFontSet4 methods ***/ 4497 UINT32 (STDMETHODCALLTYPE *ConvertWeightStretchStyleToFontAxisValues)( 4498 IDWriteFontSet4 *This, 4499 const DWRITE_FONT_AXIS_VALUE *input_axis_values, 4500 UINT32 input_axis_count, 4501 DWRITE_FONT_WEIGHT weight, 4502 DWRITE_FONT_STRETCH stretch, 4503 DWRITE_FONT_STYLE style, 4504 float size, 4505 DWRITE_FONT_AXIS_VALUE *output_axis_values); 4506 4507 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet4_GetMatchingFonts)( 4508 IDWriteFontSet4 *This, 4509 const WCHAR *family_name, 4510 const DWRITE_FONT_AXIS_VALUE *axis_values, 4511 UINT32 axis_value_count, 4512 DWRITE_FONT_SIMULATIONS allowed_simulations, 4513 IDWriteFontSet4 **fonts); 4514 4515 END_INTERFACE 4516 } IDWriteFontSet4Vtbl; 4517 4518 interface IDWriteFontSet4 { 4519 CONST_VTBL IDWriteFontSet4Vtbl* lpVtbl; 4520 }; 4521 4522 #ifdef COBJMACROS 4523 #ifndef WIDL_C_INLINE_WRAPPERS 4524 /*** IUnknown methods ***/ 4525 #define IDWriteFontSet4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4526 #define IDWriteFontSet4_AddRef(This) (This)->lpVtbl->AddRef(This) 4527 #define IDWriteFontSet4_Release(This) (This)->lpVtbl->Release(This) 4528 /*** IDWriteFontSet methods ***/ 4529 #define IDWriteFontSet4_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 4530 #define IDWriteFontSet4_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 4531 #define IDWriteFontSet4_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 4532 #define IDWriteFontSet4_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 4533 #define IDWriteFontSet4_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 4534 #define IDWriteFontSet4_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 4535 #define IDWriteFontSet4_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 4536 #define IDWriteFontSet4_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 4537 /*** IDWriteFontSet1 methods ***/ 4538 #define IDWriteFontSet4_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) 4539 #define IDWriteFontSet4_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) 4540 #define IDWriteFontSet4_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) 4541 #define IDWriteFontSet4_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) 4542 #define IDWriteFontSet4_GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices) 4543 #define IDWriteFontSet4_GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices) 4544 #define IDWriteFontSet4_GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges) 4545 #define IDWriteFontSet4_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) 4546 #define IDWriteFontSet4_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) 4547 #define IDWriteFontSet4_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) 4548 #define IDWriteFontSet4_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) 4549 #define IDWriteFontSet4_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 4550 /*** IDWriteFontSet2 methods ***/ 4551 #define IDWriteFontSet4_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) 4552 /*** IDWriteFontSet3 methods ***/ 4553 #define IDWriteFontSet4_GetFontSourceType(This,index) (This)->lpVtbl->GetFontSourceType(This,index) 4554 #define IDWriteFontSet4_GetFontSourceNameLength(This,index) (This)->lpVtbl->GetFontSourceNameLength(This,index) 4555 #define IDWriteFontSet4_GetFontSourceName(This,index,buffer,buffer_size) (This)->lpVtbl->GetFontSourceName(This,index,buffer,buffer_size) 4556 /*** IDWriteFontSet4 methods ***/ 4557 #define IDWriteFontSet4_ConvertWeightStretchStyleToFontAxisValues(This,input_axis_values,input_axis_count,weight,stretch,style,size,output_axis_values) (This)->lpVtbl->ConvertWeightStretchStyleToFontAxisValues(This,input_axis_values,input_axis_count,weight,stretch,style,size,output_axis_values) 4558 #define IDWriteFontSet4_GetMatchingFonts(This,family_name,axis_values,axis_value_count,allowed_simulations,fonts) (This)->lpVtbl->IDWriteFontSet4_GetMatchingFonts(This,family_name,axis_values,axis_value_count,allowed_simulations,fonts) 4559 #else 4560 /*** IUnknown methods ***/ 4561 static inline HRESULT IDWriteFontSet4_QueryInterface(IDWriteFontSet4* This,REFIID riid,void **ppvObject) { 4562 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4563 } 4564 static inline ULONG IDWriteFontSet4_AddRef(IDWriteFontSet4* This) { 4565 return This->lpVtbl->AddRef(This); 4566 } 4567 static inline ULONG IDWriteFontSet4_Release(IDWriteFontSet4* This) { 4568 return This->lpVtbl->Release(This); 4569 } 4570 /*** IDWriteFontSet methods ***/ 4571 static inline UINT32 IDWriteFontSet4_GetFontCount(IDWriteFontSet4* This) { 4572 return This->lpVtbl->GetFontCount(This); 4573 } 4574 static inline HRESULT IDWriteFontSet4_FindFontFaceReference(IDWriteFontSet4* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 4575 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 4576 } 4577 static inline HRESULT IDWriteFontSet4_FindFontFace(IDWriteFontSet4* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 4578 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 4579 } 4580 static inline HRESULT IDWriteFontSet4_GetPropertyValues__(IDWriteFontSet4* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 4581 return This->lpVtbl->GetPropertyValues__(This,id,values); 4582 } 4583 static inline HRESULT IDWriteFontSet4_GetPropertyValues_(IDWriteFontSet4* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 4584 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 4585 } 4586 static inline HRESULT IDWriteFontSet4_GetPropertyValues(IDWriteFontSet4* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 4587 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 4588 } 4589 static inline HRESULT IDWriteFontSet4_GetPropertyOccurrenceCount(IDWriteFontSet4* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 4590 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 4591 } 4592 static inline HRESULT IDWriteFontSet4_GetMatchingFonts_(IDWriteFontSet4* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 4593 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 4594 } 4595 /*** IDWriteFontSet1 methods ***/ 4596 static inline HRESULT IDWriteFontSet4_GetFirstFontResources(IDWriteFontSet4* This,IDWriteFontSet1 **fontset) { 4597 return This->lpVtbl->GetFirstFontResources(This,fontset); 4598 } 4599 static inline HRESULT IDWriteFontSet4_GetFilteredFonts__(IDWriteFontSet4* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { 4600 return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); 4601 } 4602 static inline HRESULT IDWriteFontSet4_GetFilteredFonts_(IDWriteFontSet4* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { 4603 return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); 4604 } 4605 static inline HRESULT IDWriteFontSet4_GetFilteredFonts(IDWriteFontSet4* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { 4606 return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); 4607 } 4608 static inline HRESULT IDWriteFontSet4_GetFilteredFontIndices_(IDWriteFontSet4* This,const DWRITE_FONT_AXIS_RANGE *ranges,UINT32 num_ranges,WINBOOL select_any_range,UINT32 *indices,UINT32 num_indices,UINT32 *actual_num_indices) { 4609 return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); 4610 } 4611 static inline HRESULT IDWriteFontSet4_GetFilteredFontIndices(IDWriteFontSet4* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_range,UINT32 *indices,UINT32 num_indices,UINT32 *actual_num_indices) { 4612 return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); 4613 } 4614 static inline HRESULT IDWriteFontSet4_GetFontAxisRanges_(IDWriteFontSet4* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 4615 return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); 4616 } 4617 static inline HRESULT IDWriteFontSet4_GetFontAxisRanges(IDWriteFontSet4* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 4618 return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); 4619 } 4620 static inline HRESULT IDWriteFontSet4_GetFontFaceReference(IDWriteFontSet4* This,UINT32 index,IDWriteFontFaceReference1 **reference) { 4621 return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); 4622 } 4623 static inline HRESULT IDWriteFontSet4_CreateFontResource(IDWriteFontSet4* This,UINT32 index,IDWriteFontResource **resource) { 4624 return This->lpVtbl->CreateFontResource(This,index,resource); 4625 } 4626 static inline HRESULT IDWriteFontSet4_CreateFontFace(IDWriteFontSet4* This,UINT32 index,IDWriteFontFace5 **fontface) { 4627 return This->lpVtbl->CreateFontFace(This,index,fontface); 4628 } 4629 static inline DWRITE_LOCALITY IDWriteFontSet4_GetFontLocality(IDWriteFontSet4* This,UINT32 index) { 4630 return This->lpVtbl->GetFontLocality(This,index); 4631 } 4632 /*** IDWriteFontSet2 methods ***/ 4633 static inline HANDLE IDWriteFontSet4_GetExpirationEvent(IDWriteFontSet4* This) { 4634 return This->lpVtbl->GetExpirationEvent(This); 4635 } 4636 /*** IDWriteFontSet3 methods ***/ 4637 static inline DWRITE_FONT_SOURCE_TYPE IDWriteFontSet4_GetFontSourceType(IDWriteFontSet4* This,UINT32 index) { 4638 return This->lpVtbl->GetFontSourceType(This,index); 4639 } 4640 static inline UINT32 IDWriteFontSet4_GetFontSourceNameLength(IDWriteFontSet4* This,UINT32 index) { 4641 return This->lpVtbl->GetFontSourceNameLength(This,index); 4642 } 4643 static inline HRESULT IDWriteFontSet4_GetFontSourceName(IDWriteFontSet4* This,UINT32 index,WCHAR *buffer,UINT32 buffer_size) { 4644 return This->lpVtbl->GetFontSourceName(This,index,buffer,buffer_size); 4645 } 4646 /*** IDWriteFontSet4 methods ***/ 4647 static inline UINT32 IDWriteFontSet4_ConvertWeightStretchStyleToFontAxisValues(IDWriteFontSet4* This,const DWRITE_FONT_AXIS_VALUE *input_axis_values,UINT32 input_axis_count,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,float size,DWRITE_FONT_AXIS_VALUE *output_axis_values) { 4648 return This->lpVtbl->ConvertWeightStretchStyleToFontAxisValues(This,input_axis_values,input_axis_count,weight,stretch,style,size,output_axis_values); 4649 } 4650 static inline HRESULT IDWriteFontSet4_GetMatchingFonts(IDWriteFontSet4* This,const WCHAR *family_name,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 axis_value_count,DWRITE_FONT_SIMULATIONS allowed_simulations,IDWriteFontSet4 **fonts) { 4651 return This->lpVtbl->IDWriteFontSet4_GetMatchingFonts(This,family_name,axis_values,axis_value_count,allowed_simulations,fonts); 4652 } 4653 #endif 4654 #endif 4655 4656 #endif 4657 4658 4659 #endif /* __IDWriteFontSet4_INTERFACE_DEFINED__ */ 4660 4661 /***************************************************************************** 4662 * IDWriteFontFace3 interface 4663 */ 4664 #ifndef __IDWriteFontFace3_INTERFACE_DEFINED__ 4665 #define __IDWriteFontFace3_INTERFACE_DEFINED__ 4666 4667 DEFINE_GUID(IID_IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2,0x36, 0x20,0x81,0x34,0x1c,0xc1,0xf2); 4668 #if defined(__cplusplus) && !defined(CINTERFACE) 4669 MIDL_INTERFACE("d37d7598-09be-4222-a236-2081341cc1f2") 4670 IDWriteFontFace3 : public IDWriteFontFace2 4671 { 4672 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 4673 IDWriteFontFaceReference **reference) = 0; 4674 4675 virtual void STDMETHODCALLTYPE GetPanose( 4676 DWRITE_PANOSE *panose) = 0; 4677 4678 virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight( 4679 ) = 0; 4680 4681 virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch( 4682 ) = 0; 4683 4684 virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle( 4685 ) = 0; 4686 4687 virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( 4688 IDWriteLocalizedStrings **names) = 0; 4689 4690 virtual HRESULT STDMETHODCALLTYPE GetFaceNames( 4691 IDWriteLocalizedStrings **names) = 0; 4692 4693 virtual HRESULT STDMETHODCALLTYPE GetInformationalStrings( 4694 DWRITE_INFORMATIONAL_STRING_ID stringid, 4695 IDWriteLocalizedStrings **strings, 4696 WINBOOL *exists) = 0; 4697 4698 virtual WINBOOL STDMETHODCALLTYPE HasCharacter( 4699 UINT32 character) = 0; 4700 4701 virtual HRESULT STDMETHODCALLTYPE GetRecommendedRenderingMode( 4702 FLOAT emsize, 4703 FLOAT dpi_x, 4704 FLOAT dpi_y, 4705 const DWRITE_MATRIX *transform, 4706 WINBOOL is_sideways, 4707 DWRITE_OUTLINE_THRESHOLD threshold, 4708 DWRITE_MEASURING_MODE measuring_mode, 4709 IDWriteRenderingParams *params, 4710 DWRITE_RENDERING_MODE1 *rendering_mode, 4711 DWRITE_GRID_FIT_MODE *gridfit_mode) = 0; 4712 4713 virtual WINBOOL STDMETHODCALLTYPE IsCharacterLocal( 4714 UINT32 character) = 0; 4715 4716 virtual WINBOOL STDMETHODCALLTYPE IsGlyphLocal( 4717 UINT16 glyph) = 0; 4718 4719 virtual HRESULT STDMETHODCALLTYPE AreCharactersLocal( 4720 const WCHAR *characters, 4721 UINT32 count, 4722 WINBOOL enqueue_if_not, 4723 WINBOOL *are_local) = 0; 4724 4725 virtual HRESULT STDMETHODCALLTYPE AreGlyphsLocal( 4726 const UINT16 *glyphs, 4727 UINT32 count, 4728 WINBOOL enqueue_if_not, 4729 WINBOOL *are_local) = 0; 4730 4731 }; 4732 #ifdef __CRT_UUID_DECL 4733 __CRT_UUID_DECL(IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2,0x36, 0x20,0x81,0x34,0x1c,0xc1,0xf2) 4734 #endif 4735 #else 4736 typedef struct IDWriteFontFace3Vtbl { 4737 BEGIN_INTERFACE 4738 4739 /*** IUnknown methods ***/ 4740 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4741 IDWriteFontFace3 *This, 4742 REFIID riid, 4743 void **ppvObject); 4744 4745 ULONG (STDMETHODCALLTYPE *AddRef)( 4746 IDWriteFontFace3 *This); 4747 4748 ULONG (STDMETHODCALLTYPE *Release)( 4749 IDWriteFontFace3 *This); 4750 4751 /*** IDWriteFontFace methods ***/ 4752 DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( 4753 IDWriteFontFace3 *This); 4754 4755 HRESULT (STDMETHODCALLTYPE *GetFiles)( 4756 IDWriteFontFace3 *This, 4757 UINT32 *number_of_files, 4758 IDWriteFontFile **fontfiles); 4759 4760 UINT32 (STDMETHODCALLTYPE *GetIndex)( 4761 IDWriteFontFace3 *This); 4762 4763 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 4764 IDWriteFontFace3 *This); 4765 4766 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 4767 IDWriteFontFace3 *This); 4768 4769 void (STDMETHODCALLTYPE *GetMetrics)( 4770 IDWriteFontFace3 *This, 4771 DWRITE_FONT_METRICS *metrics); 4772 4773 UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( 4774 IDWriteFontFace3 *This); 4775 4776 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( 4777 IDWriteFontFace3 *This, 4778 const UINT16 *glyph_indices, 4779 UINT32 glyph_count, 4780 DWRITE_GLYPH_METRICS *metrics, 4781 WINBOOL is_sideways); 4782 4783 HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( 4784 IDWriteFontFace3 *This, 4785 const UINT32 *codepoints, 4786 UINT32 count, 4787 UINT16 *glyph_indices); 4788 4789 HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( 4790 IDWriteFontFace3 *This, 4791 UINT32 table_tag, 4792 const void **table_data, 4793 UINT32 *table_size, 4794 void **context, 4795 WINBOOL *exists); 4796 4797 void (STDMETHODCALLTYPE *ReleaseFontTable)( 4798 IDWriteFontFace3 *This, 4799 void *table_context); 4800 4801 HRESULT (STDMETHODCALLTYPE *GetGlyphRunOutline)( 4802 IDWriteFontFace3 *This, 4803 FLOAT emSize, 4804 const UINT16 *glyph_indices, 4805 const FLOAT *glyph_advances, 4806 const DWRITE_GLYPH_OFFSET *glyph_offsets, 4807 UINT32 glyph_count, 4808 WINBOOL is_sideways, 4809 WINBOOL is_rtl, 4810 IDWriteGeometrySink *geometrysink); 4811 4812 HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( 4813 IDWriteFontFace3 *This, 4814 FLOAT emSize, 4815 FLOAT pixels_per_dip, 4816 DWRITE_MEASURING_MODE mode, 4817 IDWriteRenderingParams *params, 4818 DWRITE_RENDERING_MODE *rendering_mode); 4819 4820 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( 4821 IDWriteFontFace3 *This, 4822 FLOAT emSize, 4823 FLOAT pixels_per_dip, 4824 const DWRITE_MATRIX *transform, 4825 DWRITE_FONT_METRICS *metrics); 4826 4827 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphMetrics)( 4828 IDWriteFontFace3 *This, 4829 FLOAT emSize, 4830 FLOAT pixels_per_dip, 4831 const DWRITE_MATRIX *transform, 4832 WINBOOL use_gdi_natural, 4833 const UINT16 *glyph_indices, 4834 UINT32 glyph_count, 4835 DWRITE_GLYPH_METRICS *metrics, 4836 WINBOOL is_sideways); 4837 4838 /*** IDWriteFontFace1 methods ***/ 4839 void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( 4840 IDWriteFontFace3 *This, 4841 DWRITE_FONT_METRICS1 *metrics); 4842 4843 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( 4844 IDWriteFontFace3 *This, 4845 FLOAT em_size, 4846 FLOAT pixels_per_dip, 4847 const DWRITE_MATRIX *transform, 4848 DWRITE_FONT_METRICS1 *metrics); 4849 4850 void (STDMETHODCALLTYPE *GetCaretMetrics)( 4851 IDWriteFontFace3 *This, 4852 DWRITE_CARET_METRICS *metrics); 4853 4854 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 4855 IDWriteFontFace3 *This, 4856 UINT32 max_count, 4857 DWRITE_UNICODE_RANGE *ranges, 4858 UINT32 *count); 4859 4860 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 4861 IDWriteFontFace3 *This); 4862 4863 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( 4864 IDWriteFontFace3 *This, 4865 UINT32 glyph_count, 4866 const UINT16 *indices, 4867 INT32 *advances, 4868 WINBOOL is_sideways); 4869 4870 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphAdvances)( 4871 IDWriteFontFace3 *This, 4872 FLOAT em_size, 4873 FLOAT pixels_per_dip, 4874 const DWRITE_MATRIX *transform, 4875 WINBOOL use_gdi_natural, 4876 WINBOOL is_sideways, 4877 UINT32 glyph_count, 4878 const UINT16 *indices, 4879 INT32 *advances); 4880 4881 HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( 4882 IDWriteFontFace3 *This, 4883 UINT32 glyph_count, 4884 const UINT16 *indices, 4885 INT32 *adjustments); 4886 4887 WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( 4888 IDWriteFontFace3 *This); 4889 4890 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( 4891 IDWriteFontFace3 *This, 4892 FLOAT font_emsize, 4893 FLOAT dpiX, 4894 FLOAT dpiY, 4895 const DWRITE_MATRIX *transform, 4896 WINBOOL is_sideways, 4897 DWRITE_OUTLINE_THRESHOLD threshold, 4898 DWRITE_MEASURING_MODE measuring_mode, 4899 DWRITE_RENDERING_MODE *rendering_mode); 4900 4901 HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( 4902 IDWriteFontFace3 *This, 4903 UINT32 glyph_count, 4904 const UINT16 *nominal_indices, 4905 UINT16 *vertical_indices); 4906 4907 WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( 4908 IDWriteFontFace3 *This); 4909 4910 /*** IDWriteFontFace2 methods ***/ 4911 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 4912 IDWriteFontFace3 *This); 4913 4914 UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( 4915 IDWriteFontFace3 *This); 4916 4917 UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( 4918 IDWriteFontFace3 *This); 4919 4920 HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( 4921 IDWriteFontFace3 *This, 4922 UINT32 palette_index, 4923 UINT32 first_entry_index, 4924 UINT32 entry_count, 4925 DWRITE_COLOR_F *entries); 4926 4927 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( 4928 IDWriteFontFace3 *This, 4929 FLOAT fontEmSize, 4930 FLOAT dpiX, 4931 FLOAT dpiY, 4932 const DWRITE_MATRIX *transform, 4933 WINBOOL is_sideways, 4934 DWRITE_OUTLINE_THRESHOLD threshold, 4935 DWRITE_MEASURING_MODE measuringmode, 4936 IDWriteRenderingParams *params, 4937 DWRITE_RENDERING_MODE *renderingmode, 4938 DWRITE_GRID_FIT_MODE *gridfitmode); 4939 4940 /*** IDWriteFontFace3 methods ***/ 4941 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 4942 IDWriteFontFace3 *This, 4943 IDWriteFontFaceReference **reference); 4944 4945 void (STDMETHODCALLTYPE *GetPanose)( 4946 IDWriteFontFace3 *This, 4947 DWRITE_PANOSE *panose); 4948 4949 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 4950 IDWriteFontFace3 *This); 4951 4952 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 4953 IDWriteFontFace3 *This); 4954 4955 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 4956 IDWriteFontFace3 *This); 4957 4958 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 4959 IDWriteFontFace3 *This, 4960 IDWriteLocalizedStrings **names); 4961 4962 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 4963 IDWriteFontFace3 *This, 4964 IDWriteLocalizedStrings **names); 4965 4966 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 4967 IDWriteFontFace3 *This, 4968 DWRITE_INFORMATIONAL_STRING_ID stringid, 4969 IDWriteLocalizedStrings **strings, 4970 WINBOOL *exists); 4971 4972 WINBOOL (STDMETHODCALLTYPE *HasCharacter)( 4973 IDWriteFontFace3 *This, 4974 UINT32 character); 4975 4976 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_GetRecommendedRenderingMode)( 4977 IDWriteFontFace3 *This, 4978 FLOAT emsize, 4979 FLOAT dpi_x, 4980 FLOAT dpi_y, 4981 const DWRITE_MATRIX *transform, 4982 WINBOOL is_sideways, 4983 DWRITE_OUTLINE_THRESHOLD threshold, 4984 DWRITE_MEASURING_MODE measuring_mode, 4985 IDWriteRenderingParams *params, 4986 DWRITE_RENDERING_MODE1 *rendering_mode, 4987 DWRITE_GRID_FIT_MODE *gridfit_mode); 4988 4989 WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( 4990 IDWriteFontFace3 *This, 4991 UINT32 character); 4992 4993 WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( 4994 IDWriteFontFace3 *This, 4995 UINT16 glyph); 4996 4997 HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( 4998 IDWriteFontFace3 *This, 4999 const WCHAR *characters, 5000 UINT32 count, 5001 WINBOOL enqueue_if_not, 5002 WINBOOL *are_local); 5003 5004 HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( 5005 IDWriteFontFace3 *This, 5006 const UINT16 *glyphs, 5007 UINT32 count, 5008 WINBOOL enqueue_if_not, 5009 WINBOOL *are_local); 5010 5011 END_INTERFACE 5012 } IDWriteFontFace3Vtbl; 5013 5014 interface IDWriteFontFace3 { 5015 CONST_VTBL IDWriteFontFace3Vtbl* lpVtbl; 5016 }; 5017 5018 #ifdef COBJMACROS 5019 #ifndef WIDL_C_INLINE_WRAPPERS 5020 /*** IUnknown methods ***/ 5021 #define IDWriteFontFace3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5022 #define IDWriteFontFace3_AddRef(This) (This)->lpVtbl->AddRef(This) 5023 #define IDWriteFontFace3_Release(This) (This)->lpVtbl->Release(This) 5024 /*** IDWriteFontFace methods ***/ 5025 #define IDWriteFontFace3_GetType(This) (This)->lpVtbl->GetType(This) 5026 #define IDWriteFontFace3_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) 5027 #define IDWriteFontFace3_GetIndex(This) (This)->lpVtbl->GetIndex(This) 5028 #define IDWriteFontFace3_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 5029 #define IDWriteFontFace3_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 5030 #define IDWriteFontFace3_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) 5031 #define IDWriteFontFace3_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) 5032 #define IDWriteFontFace3_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) 5033 #define IDWriteFontFace3_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) 5034 #define IDWriteFontFace3_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) 5035 #define IDWriteFontFace3_GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) 5036 #define IDWriteFontFace3_GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) 5037 /*** IDWriteFontFace1 methods ***/ 5038 #define IDWriteFontFace3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) 5039 #define IDWriteFontFace3_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) 5040 #define IDWriteFontFace3_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) 5041 #define IDWriteFontFace3_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 5042 #define IDWriteFontFace3_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 5043 #define IDWriteFontFace3_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) 5044 #define IDWriteFontFace3_GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) 5045 #define IDWriteFontFace3_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) 5046 #define IDWriteFontFace3_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) 5047 #define IDWriteFontFace3_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) 5048 #define IDWriteFontFace3_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) 5049 /*** IDWriteFontFace2 methods ***/ 5050 #define IDWriteFontFace3_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 5051 #define IDWriteFontFace3_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) 5052 #define IDWriteFontFace3_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) 5053 #define IDWriteFontFace3_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) 5054 /*** IDWriteFontFace3 methods ***/ 5055 #define IDWriteFontFace3_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 5056 #define IDWriteFontFace3_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 5057 #define IDWriteFontFace3_GetWeight(This) (This)->lpVtbl->GetWeight(This) 5058 #define IDWriteFontFace3_GetStretch(This) (This)->lpVtbl->GetStretch(This) 5059 #define IDWriteFontFace3_GetStyle(This) (This)->lpVtbl->GetStyle(This) 5060 #define IDWriteFontFace3_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 5061 #define IDWriteFontFace3_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 5062 #define IDWriteFontFace3_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 5063 #define IDWriteFontFace3_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) 5064 #define IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) 5065 #define IDWriteFontFace3_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) 5066 #define IDWriteFontFace3_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) 5067 #define IDWriteFontFace3_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) 5068 #define IDWriteFontFace3_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) 5069 #else 5070 /*** IUnknown methods ***/ 5071 static inline HRESULT IDWriteFontFace3_QueryInterface(IDWriteFontFace3* This,REFIID riid,void **ppvObject) { 5072 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5073 } 5074 static inline ULONG IDWriteFontFace3_AddRef(IDWriteFontFace3* This) { 5075 return This->lpVtbl->AddRef(This); 5076 } 5077 static inline ULONG IDWriteFontFace3_Release(IDWriteFontFace3* This) { 5078 return This->lpVtbl->Release(This); 5079 } 5080 /*** IDWriteFontFace methods ***/ 5081 static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace3_GetType(IDWriteFontFace3* This) { 5082 return This->lpVtbl->GetType(This); 5083 } 5084 static inline HRESULT IDWriteFontFace3_GetFiles(IDWriteFontFace3* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { 5085 return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); 5086 } 5087 static inline UINT32 IDWriteFontFace3_GetIndex(IDWriteFontFace3* This) { 5088 return This->lpVtbl->GetIndex(This); 5089 } 5090 static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace3_GetSimulations(IDWriteFontFace3* This) { 5091 return This->lpVtbl->GetSimulations(This); 5092 } 5093 static inline WINBOOL IDWriteFontFace3_IsSymbolFont(IDWriteFontFace3* This) { 5094 return This->lpVtbl->IsSymbolFont(This); 5095 } 5096 static inline UINT16 IDWriteFontFace3_GetGlyphCount(IDWriteFontFace3* This) { 5097 return This->lpVtbl->GetGlyphCount(This); 5098 } 5099 static inline HRESULT IDWriteFontFace3_GetDesignGlyphMetrics(IDWriteFontFace3* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 5100 return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); 5101 } 5102 static inline HRESULT IDWriteFontFace3_GetGlyphIndices(IDWriteFontFace3* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { 5103 return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); 5104 } 5105 static inline HRESULT IDWriteFontFace3_TryGetFontTable(IDWriteFontFace3* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { 5106 return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); 5107 } 5108 static inline void IDWriteFontFace3_ReleaseFontTable(IDWriteFontFace3* This,void *table_context) { 5109 This->lpVtbl->ReleaseFontTable(This,table_context); 5110 } 5111 static inline HRESULT IDWriteFontFace3_GetGlyphRunOutline(IDWriteFontFace3* This,FLOAT emSize,const UINT16 *glyph_indices,const FLOAT *glyph_advances,const DWRITE_GLYPH_OFFSET *glyph_offsets,UINT32 glyph_count,WINBOOL is_sideways,WINBOOL is_rtl,IDWriteGeometrySink *geometrysink) { 5112 return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); 5113 } 5114 static inline HRESULT IDWriteFontFace3_GetGdiCompatibleGlyphMetrics(IDWriteFontFace3* This,FLOAT emSize,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 5115 return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); 5116 } 5117 /*** IDWriteFontFace1 methods ***/ 5118 static inline void IDWriteFontFace3_GetMetrics(IDWriteFontFace3* This,DWRITE_FONT_METRICS1 *metrics) { 5119 This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); 5120 } 5121 static inline HRESULT IDWriteFontFace3_GetGdiCompatibleMetrics(IDWriteFontFace3* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { 5122 return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); 5123 } 5124 static inline void IDWriteFontFace3_GetCaretMetrics(IDWriteFontFace3* This,DWRITE_CARET_METRICS *metrics) { 5125 This->lpVtbl->GetCaretMetrics(This,metrics); 5126 } 5127 static inline HRESULT IDWriteFontFace3_GetUnicodeRanges(IDWriteFontFace3* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 5128 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 5129 } 5130 static inline WINBOOL IDWriteFontFace3_IsMonospacedFont(IDWriteFontFace3* This) { 5131 return This->lpVtbl->IsMonospacedFont(This); 5132 } 5133 static inline HRESULT IDWriteFontFace3_GetDesignGlyphAdvances(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { 5134 return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); 5135 } 5136 static inline HRESULT IDWriteFontFace3_GetGdiCompatibleGlyphAdvances(IDWriteFontFace3* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,WINBOOL is_sideways,UINT32 glyph_count,const UINT16 *indices,INT32 *advances) { 5137 return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); 5138 } 5139 static inline HRESULT IDWriteFontFace3_GetKerningPairAdjustments(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { 5140 return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); 5141 } 5142 static inline WINBOOL IDWriteFontFace3_HasKerningPairs(IDWriteFontFace3* This) { 5143 return This->lpVtbl->HasKerningPairs(This); 5144 } 5145 static inline HRESULT IDWriteFontFace3_GetVerticalGlyphVariants(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { 5146 return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); 5147 } 5148 static inline WINBOOL IDWriteFontFace3_HasVerticalGlyphVariants(IDWriteFontFace3* This) { 5149 return This->lpVtbl->HasVerticalGlyphVariants(This); 5150 } 5151 /*** IDWriteFontFace2 methods ***/ 5152 static inline WINBOOL IDWriteFontFace3_IsColorFont(IDWriteFontFace3* This) { 5153 return This->lpVtbl->IsColorFont(This); 5154 } 5155 static inline UINT32 IDWriteFontFace3_GetColorPaletteCount(IDWriteFontFace3* This) { 5156 return This->lpVtbl->GetColorPaletteCount(This); 5157 } 5158 static inline UINT32 IDWriteFontFace3_GetPaletteEntryCount(IDWriteFontFace3* This) { 5159 return This->lpVtbl->GetPaletteEntryCount(This); 5160 } 5161 static inline HRESULT IDWriteFontFace3_GetPaletteEntries(IDWriteFontFace3* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { 5162 return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); 5163 } 5164 /*** IDWriteFontFace3 methods ***/ 5165 static inline HRESULT IDWriteFontFace3_GetFontFaceReference(IDWriteFontFace3* This,IDWriteFontFaceReference **reference) { 5166 return This->lpVtbl->GetFontFaceReference(This,reference); 5167 } 5168 static inline void IDWriteFontFace3_GetPanose(IDWriteFontFace3* This,DWRITE_PANOSE *panose) { 5169 This->lpVtbl->GetPanose(This,panose); 5170 } 5171 static inline DWRITE_FONT_WEIGHT IDWriteFontFace3_GetWeight(IDWriteFontFace3* This) { 5172 return This->lpVtbl->GetWeight(This); 5173 } 5174 static inline DWRITE_FONT_STRETCH IDWriteFontFace3_GetStretch(IDWriteFontFace3* This) { 5175 return This->lpVtbl->GetStretch(This); 5176 } 5177 static inline DWRITE_FONT_STYLE IDWriteFontFace3_GetStyle(IDWriteFontFace3* This) { 5178 return This->lpVtbl->GetStyle(This); 5179 } 5180 static inline HRESULT IDWriteFontFace3_GetFamilyNames(IDWriteFontFace3* This,IDWriteLocalizedStrings **names) { 5181 return This->lpVtbl->GetFamilyNames(This,names); 5182 } 5183 static inline HRESULT IDWriteFontFace3_GetFaceNames(IDWriteFontFace3* This,IDWriteLocalizedStrings **names) { 5184 return This->lpVtbl->GetFaceNames(This,names); 5185 } 5186 static inline HRESULT IDWriteFontFace3_GetInformationalStrings(IDWriteFontFace3* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 5187 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 5188 } 5189 static inline WINBOOL IDWriteFontFace3_HasCharacter(IDWriteFontFace3* This,UINT32 character) { 5190 return This->lpVtbl->HasCharacter(This,character); 5191 } 5192 static inline HRESULT IDWriteFontFace3_GetRecommendedRenderingMode(IDWriteFontFace3* This,FLOAT emsize,FLOAT dpi_x,FLOAT dpi_y,const DWRITE_MATRIX *transform,WINBOOL is_sideways,DWRITE_OUTLINE_THRESHOLD threshold,DWRITE_MEASURING_MODE measuring_mode,IDWriteRenderingParams *params,DWRITE_RENDERING_MODE1 *rendering_mode,DWRITE_GRID_FIT_MODE *gridfit_mode) { 5193 return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); 5194 } 5195 static inline WINBOOL IDWriteFontFace3_IsCharacterLocal(IDWriteFontFace3* This,UINT32 character) { 5196 return This->lpVtbl->IsCharacterLocal(This,character); 5197 } 5198 static inline WINBOOL IDWriteFontFace3_IsGlyphLocal(IDWriteFontFace3* This,UINT16 glyph) { 5199 return This->lpVtbl->IsGlyphLocal(This,glyph); 5200 } 5201 static inline HRESULT IDWriteFontFace3_AreCharactersLocal(IDWriteFontFace3* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 5202 return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); 5203 } 5204 static inline HRESULT IDWriteFontFace3_AreGlyphsLocal(IDWriteFontFace3* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 5205 return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); 5206 } 5207 #endif 5208 #endif 5209 5210 #endif 5211 5212 5213 #endif /* __IDWriteFontFace3_INTERFACE_DEFINED__ */ 5214 5215 typedef struct DWRITE_LINE_METRICS1 { 5216 UINT32 length; 5217 UINT32 trailingWhitespaceLength; 5218 UINT32 newlineLength; 5219 FLOAT height; 5220 FLOAT baseline; 5221 WINBOOL isTrimmed; 5222 FLOAT leadingBefore; 5223 FLOAT leadingAfter; 5224 } DWRITE_LINE_METRICS1; 5225 typedef enum DWRITE_FONT_LINE_GAP_USAGE { 5226 DWRITE_FONT_LINE_GAP_USAGE_DEFAULT = 0, 5227 DWRITE_FONT_LINE_GAP_USAGE_DISABLED = 1, 5228 DWRITE_FONT_LINE_GAP_USAGE_ENABLED = 2 5229 } DWRITE_FONT_LINE_GAP_USAGE; 5230 typedef struct DWRITE_LINE_SPACING { 5231 DWRITE_LINE_SPACING_METHOD method; 5232 FLOAT height; 5233 FLOAT baseline; 5234 FLOAT leadingBefore; 5235 DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage; 5236 } DWRITE_LINE_SPACING; 5237 /***************************************************************************** 5238 * IDWriteTextFormat2 interface 5239 */ 5240 #ifndef __IDWriteTextFormat2_INTERFACE_DEFINED__ 5241 #define __IDWriteTextFormat2_INTERFACE_DEFINED__ 5242 5243 DEFINE_GUID(IID_IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c,0x32, 0x41,0x83,0x25,0x3d,0xfe,0x70); 5244 #if defined(__cplusplus) && !defined(CINTERFACE) 5245 MIDL_INTERFACE("f67e0edd-9e3d-4ecc-8c32-4183253dfe70") 5246 IDWriteTextFormat2 : public IDWriteTextFormat1 5247 { 5248 virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( 5249 const DWRITE_LINE_SPACING *spacing) = 0; 5250 5251 virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( 5252 DWRITE_LINE_SPACING *spacing) = 0; 5253 5254 }; 5255 #ifdef __CRT_UUID_DECL 5256 __CRT_UUID_DECL(IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c,0x32, 0x41,0x83,0x25,0x3d,0xfe,0x70) 5257 #endif 5258 #else 5259 typedef struct IDWriteTextFormat2Vtbl { 5260 BEGIN_INTERFACE 5261 5262 /*** IUnknown methods ***/ 5263 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5264 IDWriteTextFormat2 *This, 5265 REFIID riid, 5266 void **ppvObject); 5267 5268 ULONG (STDMETHODCALLTYPE *AddRef)( 5269 IDWriteTextFormat2 *This); 5270 5271 ULONG (STDMETHODCALLTYPE *Release)( 5272 IDWriteTextFormat2 *This); 5273 5274 /*** IDWriteTextFormat methods ***/ 5275 HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( 5276 IDWriteTextFormat2 *This, 5277 DWRITE_TEXT_ALIGNMENT alignment); 5278 5279 HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( 5280 IDWriteTextFormat2 *This, 5281 DWRITE_PARAGRAPH_ALIGNMENT alignment); 5282 5283 HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( 5284 IDWriteTextFormat2 *This, 5285 DWRITE_WORD_WRAPPING wrapping); 5286 5287 HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( 5288 IDWriteTextFormat2 *This, 5289 DWRITE_READING_DIRECTION direction); 5290 5291 HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( 5292 IDWriteTextFormat2 *This, 5293 DWRITE_FLOW_DIRECTION direction); 5294 5295 HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( 5296 IDWriteTextFormat2 *This, 5297 FLOAT tabstop); 5298 5299 HRESULT (STDMETHODCALLTYPE *SetTrimming)( 5300 IDWriteTextFormat2 *This, 5301 const DWRITE_TRIMMING *trimming, 5302 IDWriteInlineObject *trimming_sign); 5303 5304 HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( 5305 IDWriteTextFormat2 *This, 5306 DWRITE_LINE_SPACING_METHOD spacing, 5307 FLOAT line_spacing, 5308 FLOAT baseline); 5309 5310 DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( 5311 IDWriteTextFormat2 *This); 5312 5313 DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( 5314 IDWriteTextFormat2 *This); 5315 5316 DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( 5317 IDWriteTextFormat2 *This); 5318 5319 DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( 5320 IDWriteTextFormat2 *This); 5321 5322 DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( 5323 IDWriteTextFormat2 *This); 5324 5325 FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( 5326 IDWriteTextFormat2 *This); 5327 5328 HRESULT (STDMETHODCALLTYPE *GetTrimming)( 5329 IDWriteTextFormat2 *This, 5330 DWRITE_TRIMMING *options, 5331 IDWriteInlineObject **trimming_sign); 5332 5333 HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( 5334 IDWriteTextFormat2 *This, 5335 DWRITE_LINE_SPACING_METHOD *method, 5336 FLOAT *spacing, 5337 FLOAT *baseline); 5338 5339 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 5340 IDWriteTextFormat2 *This, 5341 IDWriteFontCollection **collection); 5342 5343 UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( 5344 IDWriteTextFormat2 *This); 5345 5346 HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( 5347 IDWriteTextFormat2 *This, 5348 WCHAR *name, 5349 UINT32 size); 5350 5351 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( 5352 IDWriteTextFormat2 *This); 5353 5354 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( 5355 IDWriteTextFormat2 *This); 5356 5357 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( 5358 IDWriteTextFormat2 *This); 5359 5360 FLOAT (STDMETHODCALLTYPE *GetFontSize)( 5361 IDWriteTextFormat2 *This); 5362 5363 UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( 5364 IDWriteTextFormat2 *This); 5365 5366 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 5367 IDWriteTextFormat2 *This, 5368 WCHAR *name, 5369 UINT32 size); 5370 5371 /*** IDWriteTextFormat1 methods ***/ 5372 HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( 5373 IDWriteTextFormat2 *This, 5374 DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); 5375 5376 DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( 5377 IDWriteTextFormat2 *This); 5378 5379 HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( 5380 IDWriteTextFormat2 *This, 5381 WINBOOL lastline_wrapping_enabled); 5382 5383 WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( 5384 IDWriteTextFormat2 *This); 5385 5386 HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( 5387 IDWriteTextFormat2 *This, 5388 DWRITE_OPTICAL_ALIGNMENT alignment); 5389 5390 DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( 5391 IDWriteTextFormat2 *This); 5392 5393 HRESULT (STDMETHODCALLTYPE *SetFontFallback)( 5394 IDWriteTextFormat2 *This, 5395 IDWriteFontFallback *fallback); 5396 5397 HRESULT (STDMETHODCALLTYPE *GetFontFallback)( 5398 IDWriteTextFormat2 *This, 5399 IDWriteFontFallback **fallback); 5400 5401 /*** IDWriteTextFormat2 methods ***/ 5402 HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_SetLineSpacing)( 5403 IDWriteTextFormat2 *This, 5404 const DWRITE_LINE_SPACING *spacing); 5405 5406 HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_GetLineSpacing)( 5407 IDWriteTextFormat2 *This, 5408 DWRITE_LINE_SPACING *spacing); 5409 5410 END_INTERFACE 5411 } IDWriteTextFormat2Vtbl; 5412 5413 interface IDWriteTextFormat2 { 5414 CONST_VTBL IDWriteTextFormat2Vtbl* lpVtbl; 5415 }; 5416 5417 #ifdef COBJMACROS 5418 #ifndef WIDL_C_INLINE_WRAPPERS 5419 /*** IUnknown methods ***/ 5420 #define IDWriteTextFormat2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5421 #define IDWriteTextFormat2_AddRef(This) (This)->lpVtbl->AddRef(This) 5422 #define IDWriteTextFormat2_Release(This) (This)->lpVtbl->Release(This) 5423 /*** IDWriteTextFormat methods ***/ 5424 #define IDWriteTextFormat2_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) 5425 #define IDWriteTextFormat2_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) 5426 #define IDWriteTextFormat2_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) 5427 #define IDWriteTextFormat2_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) 5428 #define IDWriteTextFormat2_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) 5429 #define IDWriteTextFormat2_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) 5430 #define IDWriteTextFormat2_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) 5431 #define IDWriteTextFormat2_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) 5432 #define IDWriteTextFormat2_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) 5433 #define IDWriteTextFormat2_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) 5434 #define IDWriteTextFormat2_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) 5435 #define IDWriteTextFormat2_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) 5436 #define IDWriteTextFormat2_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) 5437 #define IDWriteTextFormat2_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) 5438 #define IDWriteTextFormat2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 5439 #define IDWriteTextFormat2_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) 5440 #define IDWriteTextFormat2_GetFontFamilyName(This,name,size) (This)->lpVtbl->GetFontFamilyName(This,name,size) 5441 #define IDWriteTextFormat2_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) 5442 #define IDWriteTextFormat2_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) 5443 #define IDWriteTextFormat2_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) 5444 #define IDWriteTextFormat2_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) 5445 #define IDWriteTextFormat2_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) 5446 #define IDWriteTextFormat2_GetLocaleName(This,name,size) (This)->lpVtbl->GetLocaleName(This,name,size) 5447 /*** IDWriteTextFormat1 methods ***/ 5448 #define IDWriteTextFormat2_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) 5449 #define IDWriteTextFormat2_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) 5450 #define IDWriteTextFormat2_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) 5451 #define IDWriteTextFormat2_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) 5452 #define IDWriteTextFormat2_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) 5453 #define IDWriteTextFormat2_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) 5454 #define IDWriteTextFormat2_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) 5455 #define IDWriteTextFormat2_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) 5456 /*** IDWriteTextFormat2 methods ***/ 5457 #define IDWriteTextFormat2_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing) 5458 #define IDWriteTextFormat2_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing) 5459 #else 5460 /*** IUnknown methods ***/ 5461 static inline HRESULT IDWriteTextFormat2_QueryInterface(IDWriteTextFormat2* This,REFIID riid,void **ppvObject) { 5462 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5463 } 5464 static inline ULONG IDWriteTextFormat2_AddRef(IDWriteTextFormat2* This) { 5465 return This->lpVtbl->AddRef(This); 5466 } 5467 static inline ULONG IDWriteTextFormat2_Release(IDWriteTextFormat2* This) { 5468 return This->lpVtbl->Release(This); 5469 } 5470 /*** IDWriteTextFormat methods ***/ 5471 static inline HRESULT IDWriteTextFormat2_SetTextAlignment(IDWriteTextFormat2* This,DWRITE_TEXT_ALIGNMENT alignment) { 5472 return This->lpVtbl->SetTextAlignment(This,alignment); 5473 } 5474 static inline HRESULT IDWriteTextFormat2_SetParagraphAlignment(IDWriteTextFormat2* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { 5475 return This->lpVtbl->SetParagraphAlignment(This,alignment); 5476 } 5477 static inline HRESULT IDWriteTextFormat2_SetWordWrapping(IDWriteTextFormat2* This,DWRITE_WORD_WRAPPING wrapping) { 5478 return This->lpVtbl->SetWordWrapping(This,wrapping); 5479 } 5480 static inline HRESULT IDWriteTextFormat2_SetReadingDirection(IDWriteTextFormat2* This,DWRITE_READING_DIRECTION direction) { 5481 return This->lpVtbl->SetReadingDirection(This,direction); 5482 } 5483 static inline HRESULT IDWriteTextFormat2_SetFlowDirection(IDWriteTextFormat2* This,DWRITE_FLOW_DIRECTION direction) { 5484 return This->lpVtbl->SetFlowDirection(This,direction); 5485 } 5486 static inline HRESULT IDWriteTextFormat2_SetIncrementalTabStop(IDWriteTextFormat2* This,FLOAT tabstop) { 5487 return This->lpVtbl->SetIncrementalTabStop(This,tabstop); 5488 } 5489 static inline HRESULT IDWriteTextFormat2_SetTrimming(IDWriteTextFormat2* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { 5490 return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); 5491 } 5492 static inline DWRITE_TEXT_ALIGNMENT IDWriteTextFormat2_GetTextAlignment(IDWriteTextFormat2* This) { 5493 return This->lpVtbl->GetTextAlignment(This); 5494 } 5495 static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat2_GetParagraphAlignment(IDWriteTextFormat2* This) { 5496 return This->lpVtbl->GetParagraphAlignment(This); 5497 } 5498 static inline DWRITE_WORD_WRAPPING IDWriteTextFormat2_GetWordWrapping(IDWriteTextFormat2* This) { 5499 return This->lpVtbl->GetWordWrapping(This); 5500 } 5501 static inline DWRITE_READING_DIRECTION IDWriteTextFormat2_GetReadingDirection(IDWriteTextFormat2* This) { 5502 return This->lpVtbl->GetReadingDirection(This); 5503 } 5504 static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat2_GetFlowDirection(IDWriteTextFormat2* This) { 5505 return This->lpVtbl->GetFlowDirection(This); 5506 } 5507 static inline FLOAT IDWriteTextFormat2_GetIncrementalTabStop(IDWriteTextFormat2* This) { 5508 return This->lpVtbl->GetIncrementalTabStop(This); 5509 } 5510 static inline HRESULT IDWriteTextFormat2_GetTrimming(IDWriteTextFormat2* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { 5511 return This->lpVtbl->GetTrimming(This,options,trimming_sign); 5512 } 5513 static inline HRESULT IDWriteTextFormat2_GetFontCollection(IDWriteTextFormat2* This,IDWriteFontCollection **collection) { 5514 return This->lpVtbl->GetFontCollection(This,collection); 5515 } 5516 static inline UINT32 IDWriteTextFormat2_GetFontFamilyNameLength(IDWriteTextFormat2* This) { 5517 return This->lpVtbl->GetFontFamilyNameLength(This); 5518 } 5519 static inline HRESULT IDWriteTextFormat2_GetFontFamilyName(IDWriteTextFormat2* This,WCHAR *name,UINT32 size) { 5520 return This->lpVtbl->GetFontFamilyName(This,name,size); 5521 } 5522 static inline DWRITE_FONT_WEIGHT IDWriteTextFormat2_GetFontWeight(IDWriteTextFormat2* This) { 5523 return This->lpVtbl->GetFontWeight(This); 5524 } 5525 static inline DWRITE_FONT_STYLE IDWriteTextFormat2_GetFontStyle(IDWriteTextFormat2* This) { 5526 return This->lpVtbl->GetFontStyle(This); 5527 } 5528 static inline DWRITE_FONT_STRETCH IDWriteTextFormat2_GetFontStretch(IDWriteTextFormat2* This) { 5529 return This->lpVtbl->GetFontStretch(This); 5530 } 5531 static inline FLOAT IDWriteTextFormat2_GetFontSize(IDWriteTextFormat2* This) { 5532 return This->lpVtbl->GetFontSize(This); 5533 } 5534 static inline UINT32 IDWriteTextFormat2_GetLocaleNameLength(IDWriteTextFormat2* This) { 5535 return This->lpVtbl->GetLocaleNameLength(This); 5536 } 5537 static inline HRESULT IDWriteTextFormat2_GetLocaleName(IDWriteTextFormat2* This,WCHAR *name,UINT32 size) { 5538 return This->lpVtbl->GetLocaleName(This,name,size); 5539 } 5540 /*** IDWriteTextFormat1 methods ***/ 5541 static inline HRESULT IDWriteTextFormat2_SetVerticalGlyphOrientation(IDWriteTextFormat2* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { 5542 return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); 5543 } 5544 static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat2_GetVerticalGlyphOrientation(IDWriteTextFormat2* This) { 5545 return This->lpVtbl->GetVerticalGlyphOrientation(This); 5546 } 5547 static inline HRESULT IDWriteTextFormat2_SetLastLineWrapping(IDWriteTextFormat2* This,WINBOOL lastline_wrapping_enabled) { 5548 return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); 5549 } 5550 static inline WINBOOL IDWriteTextFormat2_GetLastLineWrapping(IDWriteTextFormat2* This) { 5551 return This->lpVtbl->GetLastLineWrapping(This); 5552 } 5553 static inline HRESULT IDWriteTextFormat2_SetOpticalAlignment(IDWriteTextFormat2* This,DWRITE_OPTICAL_ALIGNMENT alignment) { 5554 return This->lpVtbl->SetOpticalAlignment(This,alignment); 5555 } 5556 static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat2_GetOpticalAlignment(IDWriteTextFormat2* This) { 5557 return This->lpVtbl->GetOpticalAlignment(This); 5558 } 5559 static inline HRESULT IDWriteTextFormat2_SetFontFallback(IDWriteTextFormat2* This,IDWriteFontFallback *fallback) { 5560 return This->lpVtbl->SetFontFallback(This,fallback); 5561 } 5562 static inline HRESULT IDWriteTextFormat2_GetFontFallback(IDWriteTextFormat2* This,IDWriteFontFallback **fallback) { 5563 return This->lpVtbl->GetFontFallback(This,fallback); 5564 } 5565 /*** IDWriteTextFormat2 methods ***/ 5566 static inline HRESULT IDWriteTextFormat2_SetLineSpacing(IDWriteTextFormat2* This,const DWRITE_LINE_SPACING *spacing) { 5567 return This->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing); 5568 } 5569 static inline HRESULT IDWriteTextFormat2_GetLineSpacing(IDWriteTextFormat2* This,DWRITE_LINE_SPACING *spacing) { 5570 return This->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing); 5571 } 5572 #endif 5573 #endif 5574 5575 #endif 5576 5577 5578 #endif /* __IDWriteTextFormat2_INTERFACE_DEFINED__ */ 5579 5580 /***************************************************************************** 5581 * IDWriteTextFormat3 interface 5582 */ 5583 #ifndef __IDWriteTextFormat3_INTERFACE_DEFINED__ 5584 #define __IDWriteTextFormat3_INTERFACE_DEFINED__ 5585 5586 DEFINE_GUID(IID_IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8,0x5b, 0xb7,0xbf,0x48,0xa9,0x34,0x27); 5587 #if defined(__cplusplus) && !defined(CINTERFACE) 5588 MIDL_INTERFACE("6d3b5641-e550-430d-a85b-b7bf48a93427") 5589 IDWriteTextFormat3 : public IDWriteTextFormat2 5590 { 5591 virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( 5592 const DWRITE_FONT_AXIS_VALUE *axis_values, 5593 UINT32 num_values) = 0; 5594 5595 virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( 5596 ) = 0; 5597 5598 virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( 5599 DWRITE_FONT_AXIS_VALUE *axis_values, 5600 UINT32 num_values) = 0; 5601 5602 virtual DWRITE_AUTOMATIC_FONT_AXES STDMETHODCALLTYPE GetAutomaticFontAxes( 5603 ) = 0; 5604 5605 virtual HRESULT STDMETHODCALLTYPE SetAutomaticFontAxes( 5606 DWRITE_AUTOMATIC_FONT_AXES axes) = 0; 5607 5608 }; 5609 #ifdef __CRT_UUID_DECL 5610 __CRT_UUID_DECL(IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8,0x5b, 0xb7,0xbf,0x48,0xa9,0x34,0x27) 5611 #endif 5612 #else 5613 typedef struct IDWriteTextFormat3Vtbl { 5614 BEGIN_INTERFACE 5615 5616 /*** IUnknown methods ***/ 5617 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5618 IDWriteTextFormat3 *This, 5619 REFIID riid, 5620 void **ppvObject); 5621 5622 ULONG (STDMETHODCALLTYPE *AddRef)( 5623 IDWriteTextFormat3 *This); 5624 5625 ULONG (STDMETHODCALLTYPE *Release)( 5626 IDWriteTextFormat3 *This); 5627 5628 /*** IDWriteTextFormat methods ***/ 5629 HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( 5630 IDWriteTextFormat3 *This, 5631 DWRITE_TEXT_ALIGNMENT alignment); 5632 5633 HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( 5634 IDWriteTextFormat3 *This, 5635 DWRITE_PARAGRAPH_ALIGNMENT alignment); 5636 5637 HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( 5638 IDWriteTextFormat3 *This, 5639 DWRITE_WORD_WRAPPING wrapping); 5640 5641 HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( 5642 IDWriteTextFormat3 *This, 5643 DWRITE_READING_DIRECTION direction); 5644 5645 HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( 5646 IDWriteTextFormat3 *This, 5647 DWRITE_FLOW_DIRECTION direction); 5648 5649 HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( 5650 IDWriteTextFormat3 *This, 5651 FLOAT tabstop); 5652 5653 HRESULT (STDMETHODCALLTYPE *SetTrimming)( 5654 IDWriteTextFormat3 *This, 5655 const DWRITE_TRIMMING *trimming, 5656 IDWriteInlineObject *trimming_sign); 5657 5658 HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( 5659 IDWriteTextFormat3 *This, 5660 DWRITE_LINE_SPACING_METHOD spacing, 5661 FLOAT line_spacing, 5662 FLOAT baseline); 5663 5664 DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( 5665 IDWriteTextFormat3 *This); 5666 5667 DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( 5668 IDWriteTextFormat3 *This); 5669 5670 DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( 5671 IDWriteTextFormat3 *This); 5672 5673 DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( 5674 IDWriteTextFormat3 *This); 5675 5676 DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( 5677 IDWriteTextFormat3 *This); 5678 5679 FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( 5680 IDWriteTextFormat3 *This); 5681 5682 HRESULT (STDMETHODCALLTYPE *GetTrimming)( 5683 IDWriteTextFormat3 *This, 5684 DWRITE_TRIMMING *options, 5685 IDWriteInlineObject **trimming_sign); 5686 5687 HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( 5688 IDWriteTextFormat3 *This, 5689 DWRITE_LINE_SPACING_METHOD *method, 5690 FLOAT *spacing, 5691 FLOAT *baseline); 5692 5693 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 5694 IDWriteTextFormat3 *This, 5695 IDWriteFontCollection **collection); 5696 5697 UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( 5698 IDWriteTextFormat3 *This); 5699 5700 HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( 5701 IDWriteTextFormat3 *This, 5702 WCHAR *name, 5703 UINT32 size); 5704 5705 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( 5706 IDWriteTextFormat3 *This); 5707 5708 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( 5709 IDWriteTextFormat3 *This); 5710 5711 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( 5712 IDWriteTextFormat3 *This); 5713 5714 FLOAT (STDMETHODCALLTYPE *GetFontSize)( 5715 IDWriteTextFormat3 *This); 5716 5717 UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( 5718 IDWriteTextFormat3 *This); 5719 5720 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 5721 IDWriteTextFormat3 *This, 5722 WCHAR *name, 5723 UINT32 size); 5724 5725 /*** IDWriteTextFormat1 methods ***/ 5726 HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( 5727 IDWriteTextFormat3 *This, 5728 DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); 5729 5730 DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( 5731 IDWriteTextFormat3 *This); 5732 5733 HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( 5734 IDWriteTextFormat3 *This, 5735 WINBOOL lastline_wrapping_enabled); 5736 5737 WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( 5738 IDWriteTextFormat3 *This); 5739 5740 HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( 5741 IDWriteTextFormat3 *This, 5742 DWRITE_OPTICAL_ALIGNMENT alignment); 5743 5744 DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( 5745 IDWriteTextFormat3 *This); 5746 5747 HRESULT (STDMETHODCALLTYPE *SetFontFallback)( 5748 IDWriteTextFormat3 *This, 5749 IDWriteFontFallback *fallback); 5750 5751 HRESULT (STDMETHODCALLTYPE *GetFontFallback)( 5752 IDWriteTextFormat3 *This, 5753 IDWriteFontFallback **fallback); 5754 5755 /*** IDWriteTextFormat2 methods ***/ 5756 HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_SetLineSpacing)( 5757 IDWriteTextFormat3 *This, 5758 const DWRITE_LINE_SPACING *spacing); 5759 5760 HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_GetLineSpacing)( 5761 IDWriteTextFormat3 *This, 5762 DWRITE_LINE_SPACING *spacing); 5763 5764 /*** IDWriteTextFormat3 methods ***/ 5765 HRESULT (STDMETHODCALLTYPE *SetFontAxisValues)( 5766 IDWriteTextFormat3 *This, 5767 const DWRITE_FONT_AXIS_VALUE *axis_values, 5768 UINT32 num_values); 5769 5770 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 5771 IDWriteTextFormat3 *This); 5772 5773 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 5774 IDWriteTextFormat3 *This, 5775 DWRITE_FONT_AXIS_VALUE *axis_values, 5776 UINT32 num_values); 5777 5778 DWRITE_AUTOMATIC_FONT_AXES (STDMETHODCALLTYPE *GetAutomaticFontAxes)( 5779 IDWriteTextFormat3 *This); 5780 5781 HRESULT (STDMETHODCALLTYPE *SetAutomaticFontAxes)( 5782 IDWriteTextFormat3 *This, 5783 DWRITE_AUTOMATIC_FONT_AXES axes); 5784 5785 END_INTERFACE 5786 } IDWriteTextFormat3Vtbl; 5787 5788 interface IDWriteTextFormat3 { 5789 CONST_VTBL IDWriteTextFormat3Vtbl* lpVtbl; 5790 }; 5791 5792 #ifdef COBJMACROS 5793 #ifndef WIDL_C_INLINE_WRAPPERS 5794 /*** IUnknown methods ***/ 5795 #define IDWriteTextFormat3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5796 #define IDWriteTextFormat3_AddRef(This) (This)->lpVtbl->AddRef(This) 5797 #define IDWriteTextFormat3_Release(This) (This)->lpVtbl->Release(This) 5798 /*** IDWriteTextFormat methods ***/ 5799 #define IDWriteTextFormat3_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) 5800 #define IDWriteTextFormat3_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) 5801 #define IDWriteTextFormat3_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) 5802 #define IDWriteTextFormat3_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) 5803 #define IDWriteTextFormat3_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) 5804 #define IDWriteTextFormat3_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) 5805 #define IDWriteTextFormat3_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) 5806 #define IDWriteTextFormat3_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) 5807 #define IDWriteTextFormat3_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) 5808 #define IDWriteTextFormat3_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) 5809 #define IDWriteTextFormat3_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) 5810 #define IDWriteTextFormat3_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) 5811 #define IDWriteTextFormat3_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) 5812 #define IDWriteTextFormat3_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) 5813 #define IDWriteTextFormat3_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 5814 #define IDWriteTextFormat3_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) 5815 #define IDWriteTextFormat3_GetFontFamilyName(This,name,size) (This)->lpVtbl->GetFontFamilyName(This,name,size) 5816 #define IDWriteTextFormat3_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) 5817 #define IDWriteTextFormat3_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) 5818 #define IDWriteTextFormat3_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) 5819 #define IDWriteTextFormat3_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) 5820 #define IDWriteTextFormat3_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) 5821 #define IDWriteTextFormat3_GetLocaleName(This,name,size) (This)->lpVtbl->GetLocaleName(This,name,size) 5822 /*** IDWriteTextFormat1 methods ***/ 5823 #define IDWriteTextFormat3_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) 5824 #define IDWriteTextFormat3_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) 5825 #define IDWriteTextFormat3_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) 5826 #define IDWriteTextFormat3_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) 5827 #define IDWriteTextFormat3_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) 5828 #define IDWriteTextFormat3_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) 5829 #define IDWriteTextFormat3_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) 5830 #define IDWriteTextFormat3_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) 5831 /*** IDWriteTextFormat2 methods ***/ 5832 #define IDWriteTextFormat3_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing) 5833 #define IDWriteTextFormat3_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing) 5834 /*** IDWriteTextFormat3 methods ***/ 5835 #define IDWriteTextFormat3_SetFontAxisValues(This,axis_values,num_values) (This)->lpVtbl->SetFontAxisValues(This,axis_values,num_values) 5836 #define IDWriteTextFormat3_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) 5837 #define IDWriteTextFormat3_GetFontAxisValues(This,axis_values,num_values) (This)->lpVtbl->GetFontAxisValues(This,axis_values,num_values) 5838 #define IDWriteTextFormat3_GetAutomaticFontAxes(This) (This)->lpVtbl->GetAutomaticFontAxes(This) 5839 #define IDWriteTextFormat3_SetAutomaticFontAxes(This,axes) (This)->lpVtbl->SetAutomaticFontAxes(This,axes) 5840 #else 5841 /*** IUnknown methods ***/ 5842 static inline HRESULT IDWriteTextFormat3_QueryInterface(IDWriteTextFormat3* This,REFIID riid,void **ppvObject) { 5843 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5844 } 5845 static inline ULONG IDWriteTextFormat3_AddRef(IDWriteTextFormat3* This) { 5846 return This->lpVtbl->AddRef(This); 5847 } 5848 static inline ULONG IDWriteTextFormat3_Release(IDWriteTextFormat3* This) { 5849 return This->lpVtbl->Release(This); 5850 } 5851 /*** IDWriteTextFormat methods ***/ 5852 static inline HRESULT IDWriteTextFormat3_SetTextAlignment(IDWriteTextFormat3* This,DWRITE_TEXT_ALIGNMENT alignment) { 5853 return This->lpVtbl->SetTextAlignment(This,alignment); 5854 } 5855 static inline HRESULT IDWriteTextFormat3_SetParagraphAlignment(IDWriteTextFormat3* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { 5856 return This->lpVtbl->SetParagraphAlignment(This,alignment); 5857 } 5858 static inline HRESULT IDWriteTextFormat3_SetWordWrapping(IDWriteTextFormat3* This,DWRITE_WORD_WRAPPING wrapping) { 5859 return This->lpVtbl->SetWordWrapping(This,wrapping); 5860 } 5861 static inline HRESULT IDWriteTextFormat3_SetReadingDirection(IDWriteTextFormat3* This,DWRITE_READING_DIRECTION direction) { 5862 return This->lpVtbl->SetReadingDirection(This,direction); 5863 } 5864 static inline HRESULT IDWriteTextFormat3_SetFlowDirection(IDWriteTextFormat3* This,DWRITE_FLOW_DIRECTION direction) { 5865 return This->lpVtbl->SetFlowDirection(This,direction); 5866 } 5867 static inline HRESULT IDWriteTextFormat3_SetIncrementalTabStop(IDWriteTextFormat3* This,FLOAT tabstop) { 5868 return This->lpVtbl->SetIncrementalTabStop(This,tabstop); 5869 } 5870 static inline HRESULT IDWriteTextFormat3_SetTrimming(IDWriteTextFormat3* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { 5871 return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); 5872 } 5873 static inline DWRITE_TEXT_ALIGNMENT IDWriteTextFormat3_GetTextAlignment(IDWriteTextFormat3* This) { 5874 return This->lpVtbl->GetTextAlignment(This); 5875 } 5876 static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat3_GetParagraphAlignment(IDWriteTextFormat3* This) { 5877 return This->lpVtbl->GetParagraphAlignment(This); 5878 } 5879 static inline DWRITE_WORD_WRAPPING IDWriteTextFormat3_GetWordWrapping(IDWriteTextFormat3* This) { 5880 return This->lpVtbl->GetWordWrapping(This); 5881 } 5882 static inline DWRITE_READING_DIRECTION IDWriteTextFormat3_GetReadingDirection(IDWriteTextFormat3* This) { 5883 return This->lpVtbl->GetReadingDirection(This); 5884 } 5885 static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat3_GetFlowDirection(IDWriteTextFormat3* This) { 5886 return This->lpVtbl->GetFlowDirection(This); 5887 } 5888 static inline FLOAT IDWriteTextFormat3_GetIncrementalTabStop(IDWriteTextFormat3* This) { 5889 return This->lpVtbl->GetIncrementalTabStop(This); 5890 } 5891 static inline HRESULT IDWriteTextFormat3_GetTrimming(IDWriteTextFormat3* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { 5892 return This->lpVtbl->GetTrimming(This,options,trimming_sign); 5893 } 5894 static inline HRESULT IDWriteTextFormat3_GetFontCollection(IDWriteTextFormat3* This,IDWriteFontCollection **collection) { 5895 return This->lpVtbl->GetFontCollection(This,collection); 5896 } 5897 static inline UINT32 IDWriteTextFormat3_GetFontFamilyNameLength(IDWriteTextFormat3* This) { 5898 return This->lpVtbl->GetFontFamilyNameLength(This); 5899 } 5900 static inline HRESULT IDWriteTextFormat3_GetFontFamilyName(IDWriteTextFormat3* This,WCHAR *name,UINT32 size) { 5901 return This->lpVtbl->GetFontFamilyName(This,name,size); 5902 } 5903 static inline DWRITE_FONT_WEIGHT IDWriteTextFormat3_GetFontWeight(IDWriteTextFormat3* This) { 5904 return This->lpVtbl->GetFontWeight(This); 5905 } 5906 static inline DWRITE_FONT_STYLE IDWriteTextFormat3_GetFontStyle(IDWriteTextFormat3* This) { 5907 return This->lpVtbl->GetFontStyle(This); 5908 } 5909 static inline DWRITE_FONT_STRETCH IDWriteTextFormat3_GetFontStretch(IDWriteTextFormat3* This) { 5910 return This->lpVtbl->GetFontStretch(This); 5911 } 5912 static inline FLOAT IDWriteTextFormat3_GetFontSize(IDWriteTextFormat3* This) { 5913 return This->lpVtbl->GetFontSize(This); 5914 } 5915 static inline UINT32 IDWriteTextFormat3_GetLocaleNameLength(IDWriteTextFormat3* This) { 5916 return This->lpVtbl->GetLocaleNameLength(This); 5917 } 5918 static inline HRESULT IDWriteTextFormat3_GetLocaleName(IDWriteTextFormat3* This,WCHAR *name,UINT32 size) { 5919 return This->lpVtbl->GetLocaleName(This,name,size); 5920 } 5921 /*** IDWriteTextFormat1 methods ***/ 5922 static inline HRESULT IDWriteTextFormat3_SetVerticalGlyphOrientation(IDWriteTextFormat3* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { 5923 return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); 5924 } 5925 static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat3_GetVerticalGlyphOrientation(IDWriteTextFormat3* This) { 5926 return This->lpVtbl->GetVerticalGlyphOrientation(This); 5927 } 5928 static inline HRESULT IDWriteTextFormat3_SetLastLineWrapping(IDWriteTextFormat3* This,WINBOOL lastline_wrapping_enabled) { 5929 return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); 5930 } 5931 static inline WINBOOL IDWriteTextFormat3_GetLastLineWrapping(IDWriteTextFormat3* This) { 5932 return This->lpVtbl->GetLastLineWrapping(This); 5933 } 5934 static inline HRESULT IDWriteTextFormat3_SetOpticalAlignment(IDWriteTextFormat3* This,DWRITE_OPTICAL_ALIGNMENT alignment) { 5935 return This->lpVtbl->SetOpticalAlignment(This,alignment); 5936 } 5937 static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat3_GetOpticalAlignment(IDWriteTextFormat3* This) { 5938 return This->lpVtbl->GetOpticalAlignment(This); 5939 } 5940 static inline HRESULT IDWriteTextFormat3_SetFontFallback(IDWriteTextFormat3* This,IDWriteFontFallback *fallback) { 5941 return This->lpVtbl->SetFontFallback(This,fallback); 5942 } 5943 static inline HRESULT IDWriteTextFormat3_GetFontFallback(IDWriteTextFormat3* This,IDWriteFontFallback **fallback) { 5944 return This->lpVtbl->GetFontFallback(This,fallback); 5945 } 5946 /*** IDWriteTextFormat2 methods ***/ 5947 static inline HRESULT IDWriteTextFormat3_SetLineSpacing(IDWriteTextFormat3* This,const DWRITE_LINE_SPACING *spacing) { 5948 return This->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing); 5949 } 5950 static inline HRESULT IDWriteTextFormat3_GetLineSpacing(IDWriteTextFormat3* This,DWRITE_LINE_SPACING *spacing) { 5951 return This->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing); 5952 } 5953 /*** IDWriteTextFormat3 methods ***/ 5954 static inline HRESULT IDWriteTextFormat3_SetFontAxisValues(IDWriteTextFormat3* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values) { 5955 return This->lpVtbl->SetFontAxisValues(This,axis_values,num_values); 5956 } 5957 static inline UINT32 IDWriteTextFormat3_GetFontAxisValueCount(IDWriteTextFormat3* This) { 5958 return This->lpVtbl->GetFontAxisValueCount(This); 5959 } 5960 static inline HRESULT IDWriteTextFormat3_GetFontAxisValues(IDWriteTextFormat3* This,DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values) { 5961 return This->lpVtbl->GetFontAxisValues(This,axis_values,num_values); 5962 } 5963 static inline DWRITE_AUTOMATIC_FONT_AXES IDWriteTextFormat3_GetAutomaticFontAxes(IDWriteTextFormat3* This) { 5964 return This->lpVtbl->GetAutomaticFontAxes(This); 5965 } 5966 static inline HRESULT IDWriteTextFormat3_SetAutomaticFontAxes(IDWriteTextFormat3* This,DWRITE_AUTOMATIC_FONT_AXES axes) { 5967 return This->lpVtbl->SetAutomaticFontAxes(This,axes); 5968 } 5969 #endif 5970 #endif 5971 5972 #endif 5973 5974 5975 #endif /* __IDWriteTextFormat3_INTERFACE_DEFINED__ */ 5976 5977 /***************************************************************************** 5978 * IDWriteTextLayout3 interface 5979 */ 5980 #ifndef __IDWriteTextLayout3_INTERFACE_DEFINED__ 5981 #define __IDWriteTextLayout3_INTERFACE_DEFINED__ 5982 5983 DEFINE_GUID(IID_IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac,0x33, 0x6c,0x95,0x3d,0x83,0xf9,0x2d); 5984 #if defined(__cplusplus) && !defined(CINTERFACE) 5985 MIDL_INTERFACE("07ddcd52-020e-4de8-ac33-6c953d83f92d") 5986 IDWriteTextLayout3 : public IDWriteTextLayout2 5987 { 5988 virtual HRESULT STDMETHODCALLTYPE InvalidateLayout( 5989 ) = 0; 5990 5991 virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( 5992 const DWRITE_LINE_SPACING *spacing) = 0; 5993 5994 virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( 5995 DWRITE_LINE_SPACING *spacing) = 0; 5996 5997 virtual HRESULT STDMETHODCALLTYPE GetLineMetrics( 5998 DWRITE_LINE_METRICS1 *metrics, 5999 UINT32 max_count, 6000 UINT32 *count) = 0; 6001 6002 }; 6003 #ifdef __CRT_UUID_DECL 6004 __CRT_UUID_DECL(IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac,0x33, 0x6c,0x95,0x3d,0x83,0xf9,0x2d) 6005 #endif 6006 #else 6007 typedef struct IDWriteTextLayout3Vtbl { 6008 BEGIN_INTERFACE 6009 6010 /*** IUnknown methods ***/ 6011 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6012 IDWriteTextLayout3 *This, 6013 REFIID riid, 6014 void **ppvObject); 6015 6016 ULONG (STDMETHODCALLTYPE *AddRef)( 6017 IDWriteTextLayout3 *This); 6018 6019 ULONG (STDMETHODCALLTYPE *Release)( 6020 IDWriteTextLayout3 *This); 6021 6022 /*** IDWriteTextFormat methods ***/ 6023 HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( 6024 IDWriteTextLayout3 *This, 6025 DWRITE_TEXT_ALIGNMENT alignment); 6026 6027 HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( 6028 IDWriteTextLayout3 *This, 6029 DWRITE_PARAGRAPH_ALIGNMENT alignment); 6030 6031 HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( 6032 IDWriteTextLayout3 *This, 6033 DWRITE_WORD_WRAPPING wrapping); 6034 6035 HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( 6036 IDWriteTextLayout3 *This, 6037 DWRITE_READING_DIRECTION direction); 6038 6039 HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( 6040 IDWriteTextLayout3 *This, 6041 DWRITE_FLOW_DIRECTION direction); 6042 6043 HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( 6044 IDWriteTextLayout3 *This, 6045 FLOAT tabstop); 6046 6047 HRESULT (STDMETHODCALLTYPE *SetTrimming)( 6048 IDWriteTextLayout3 *This, 6049 const DWRITE_TRIMMING *trimming, 6050 IDWriteInlineObject *trimming_sign); 6051 6052 HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( 6053 IDWriteTextLayout3 *This, 6054 DWRITE_LINE_SPACING_METHOD spacing, 6055 FLOAT line_spacing, 6056 FLOAT baseline); 6057 6058 DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( 6059 IDWriteTextLayout3 *This); 6060 6061 DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( 6062 IDWriteTextLayout3 *This); 6063 6064 DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( 6065 IDWriteTextLayout3 *This); 6066 6067 DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( 6068 IDWriteTextLayout3 *This); 6069 6070 DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( 6071 IDWriteTextLayout3 *This); 6072 6073 FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( 6074 IDWriteTextLayout3 *This); 6075 6076 HRESULT (STDMETHODCALLTYPE *GetTrimming)( 6077 IDWriteTextLayout3 *This, 6078 DWRITE_TRIMMING *options, 6079 IDWriteInlineObject **trimming_sign); 6080 6081 HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( 6082 IDWriteTextLayout3 *This, 6083 DWRITE_LINE_SPACING_METHOD *method, 6084 FLOAT *spacing, 6085 FLOAT *baseline); 6086 6087 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 6088 IDWriteTextLayout3 *This, 6089 IDWriteFontCollection **collection); 6090 6091 UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( 6092 IDWriteTextLayout3 *This); 6093 6094 HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( 6095 IDWriteTextLayout3 *This, 6096 WCHAR *name, 6097 UINT32 size); 6098 6099 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( 6100 IDWriteTextLayout3 *This); 6101 6102 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( 6103 IDWriteTextLayout3 *This); 6104 6105 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( 6106 IDWriteTextLayout3 *This); 6107 6108 FLOAT (STDMETHODCALLTYPE *GetFontSize)( 6109 IDWriteTextLayout3 *This); 6110 6111 UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( 6112 IDWriteTextLayout3 *This); 6113 6114 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 6115 IDWriteTextLayout3 *This, 6116 WCHAR *name, 6117 UINT32 size); 6118 6119 /*** IDWriteTextLayout methods ***/ 6120 HRESULT (STDMETHODCALLTYPE *SetMaxWidth)( 6121 IDWriteTextLayout3 *This, 6122 FLOAT maxWidth); 6123 6124 HRESULT (STDMETHODCALLTYPE *SetMaxHeight)( 6125 IDWriteTextLayout3 *This, 6126 FLOAT maxHeight); 6127 6128 HRESULT (STDMETHODCALLTYPE *SetFontCollection)( 6129 IDWriteTextLayout3 *This, 6130 IDWriteFontCollection *collection, 6131 DWRITE_TEXT_RANGE range); 6132 6133 HRESULT (STDMETHODCALLTYPE *SetFontFamilyName)( 6134 IDWriteTextLayout3 *This, 6135 const WCHAR *name, 6136 DWRITE_TEXT_RANGE range); 6137 6138 HRESULT (STDMETHODCALLTYPE *SetFontWeight)( 6139 IDWriteTextLayout3 *This, 6140 DWRITE_FONT_WEIGHT weight, 6141 DWRITE_TEXT_RANGE range); 6142 6143 HRESULT (STDMETHODCALLTYPE *SetFontStyle)( 6144 IDWriteTextLayout3 *This, 6145 DWRITE_FONT_STYLE style, 6146 DWRITE_TEXT_RANGE range); 6147 6148 HRESULT (STDMETHODCALLTYPE *SetFontStretch)( 6149 IDWriteTextLayout3 *This, 6150 DWRITE_FONT_STRETCH stretch, 6151 DWRITE_TEXT_RANGE range); 6152 6153 HRESULT (STDMETHODCALLTYPE *SetFontSize)( 6154 IDWriteTextLayout3 *This, 6155 FLOAT size, 6156 DWRITE_TEXT_RANGE range); 6157 6158 HRESULT (STDMETHODCALLTYPE *SetUnderline)( 6159 IDWriteTextLayout3 *This, 6160 WINBOOL underline, 6161 DWRITE_TEXT_RANGE range); 6162 6163 HRESULT (STDMETHODCALLTYPE *SetStrikethrough)( 6164 IDWriteTextLayout3 *This, 6165 WINBOOL strikethrough, 6166 DWRITE_TEXT_RANGE range); 6167 6168 HRESULT (STDMETHODCALLTYPE *SetDrawingEffect)( 6169 IDWriteTextLayout3 *This, 6170 IUnknown *effect, 6171 DWRITE_TEXT_RANGE range); 6172 6173 HRESULT (STDMETHODCALLTYPE *SetInlineObject)( 6174 IDWriteTextLayout3 *This, 6175 IDWriteInlineObject *object, 6176 DWRITE_TEXT_RANGE range); 6177 6178 HRESULT (STDMETHODCALLTYPE *SetTypography)( 6179 IDWriteTextLayout3 *This, 6180 IDWriteTypography *typography, 6181 DWRITE_TEXT_RANGE range); 6182 6183 HRESULT (STDMETHODCALLTYPE *SetLocaleName)( 6184 IDWriteTextLayout3 *This, 6185 const WCHAR *locale, 6186 DWRITE_TEXT_RANGE range); 6187 6188 FLOAT (STDMETHODCALLTYPE *GetMaxWidth)( 6189 IDWriteTextLayout3 *This); 6190 6191 FLOAT (STDMETHODCALLTYPE *GetMaxHeight)( 6192 IDWriteTextLayout3 *This); 6193 6194 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontCollection)( 6195 IDWriteTextLayout3 *This, 6196 UINT32 pos, 6197 IDWriteFontCollection **collection, 6198 DWRITE_TEXT_RANGE *range); 6199 6200 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyNameLength)( 6201 IDWriteTextLayout3 *This, 6202 UINT32 pos, 6203 UINT32 *len, 6204 DWRITE_TEXT_RANGE *range); 6205 6206 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyName)( 6207 IDWriteTextLayout3 *This, 6208 UINT32 position, 6209 WCHAR *name, 6210 UINT32 name_size, 6211 DWRITE_TEXT_RANGE *range); 6212 6213 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontWeight)( 6214 IDWriteTextLayout3 *This, 6215 UINT32 position, 6216 DWRITE_FONT_WEIGHT *weight, 6217 DWRITE_TEXT_RANGE *range); 6218 6219 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStyle)( 6220 IDWriteTextLayout3 *This, 6221 UINT32 currentPosition, 6222 DWRITE_FONT_STYLE *style, 6223 DWRITE_TEXT_RANGE *range); 6224 6225 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStretch)( 6226 IDWriteTextLayout3 *This, 6227 UINT32 position, 6228 DWRITE_FONT_STRETCH *stretch, 6229 DWRITE_TEXT_RANGE *range); 6230 6231 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontSize)( 6232 IDWriteTextLayout3 *This, 6233 UINT32 position, 6234 FLOAT *size, 6235 DWRITE_TEXT_RANGE *range); 6236 6237 HRESULT (STDMETHODCALLTYPE *GetUnderline)( 6238 IDWriteTextLayout3 *This, 6239 UINT32 position, 6240 WINBOOL *has_underline, 6241 DWRITE_TEXT_RANGE *range); 6242 6243 HRESULT (STDMETHODCALLTYPE *GetStrikethrough)( 6244 IDWriteTextLayout3 *This, 6245 UINT32 position, 6246 WINBOOL *has_strikethrough, 6247 DWRITE_TEXT_RANGE *range); 6248 6249 HRESULT (STDMETHODCALLTYPE *GetDrawingEffect)( 6250 IDWriteTextLayout3 *This, 6251 UINT32 position, 6252 IUnknown **effect, 6253 DWRITE_TEXT_RANGE *range); 6254 6255 HRESULT (STDMETHODCALLTYPE *GetInlineObject)( 6256 IDWriteTextLayout3 *This, 6257 UINT32 position, 6258 IDWriteInlineObject **object, 6259 DWRITE_TEXT_RANGE *range); 6260 6261 HRESULT (STDMETHODCALLTYPE *GetTypography)( 6262 IDWriteTextLayout3 *This, 6263 UINT32 position, 6264 IDWriteTypography **typography, 6265 DWRITE_TEXT_RANGE *range); 6266 6267 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleNameLength)( 6268 IDWriteTextLayout3 *This, 6269 UINT32 position, 6270 UINT32 *length, 6271 DWRITE_TEXT_RANGE *range); 6272 6273 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleName)( 6274 IDWriteTextLayout3 *This, 6275 UINT32 position, 6276 WCHAR *name, 6277 UINT32 name_size, 6278 DWRITE_TEXT_RANGE *range); 6279 6280 HRESULT (STDMETHODCALLTYPE *Draw)( 6281 IDWriteTextLayout3 *This, 6282 void *context, 6283 IDWriteTextRenderer *renderer, 6284 FLOAT originX, 6285 FLOAT originY); 6286 6287 HRESULT (STDMETHODCALLTYPE *GetLineMetrics)( 6288 IDWriteTextLayout3 *This, 6289 DWRITE_LINE_METRICS *metrics, 6290 UINT32 max_count, 6291 UINT32 *actual_count); 6292 6293 HRESULT (STDMETHODCALLTYPE *GetMetrics)( 6294 IDWriteTextLayout3 *This, 6295 DWRITE_TEXT_METRICS *metrics); 6296 6297 HRESULT (STDMETHODCALLTYPE *GetOverhangMetrics)( 6298 IDWriteTextLayout3 *This, 6299 DWRITE_OVERHANG_METRICS *overhangs); 6300 6301 HRESULT (STDMETHODCALLTYPE *GetClusterMetrics)( 6302 IDWriteTextLayout3 *This, 6303 DWRITE_CLUSTER_METRICS *metrics, 6304 UINT32 max_count, 6305 UINT32 *act_count); 6306 6307 HRESULT (STDMETHODCALLTYPE *DetermineMinWidth)( 6308 IDWriteTextLayout3 *This, 6309 FLOAT *min_width); 6310 6311 HRESULT (STDMETHODCALLTYPE *HitTestPoint)( 6312 IDWriteTextLayout3 *This, 6313 FLOAT pointX, 6314 FLOAT pointY, 6315 WINBOOL *is_trailinghit, 6316 WINBOOL *is_inside, 6317 DWRITE_HIT_TEST_METRICS *metrics); 6318 6319 HRESULT (STDMETHODCALLTYPE *HitTestTextPosition)( 6320 IDWriteTextLayout3 *This, 6321 UINT32 textPosition, 6322 WINBOOL is_trailinghit, 6323 FLOAT *pointX, 6324 FLOAT *pointY, 6325 DWRITE_HIT_TEST_METRICS *metrics); 6326 6327 HRESULT (STDMETHODCALLTYPE *HitTestTextRange)( 6328 IDWriteTextLayout3 *This, 6329 UINT32 textPosition, 6330 UINT32 textLength, 6331 FLOAT originX, 6332 FLOAT originY, 6333 DWRITE_HIT_TEST_METRICS *metrics, 6334 UINT32 max_metricscount, 6335 UINT32 *actual_metricscount); 6336 6337 /*** IDWriteTextLayout1 methods ***/ 6338 HRESULT (STDMETHODCALLTYPE *SetPairKerning)( 6339 IDWriteTextLayout3 *This, 6340 WINBOOL is_pairkerning_enabled, 6341 DWRITE_TEXT_RANGE range); 6342 6343 HRESULT (STDMETHODCALLTYPE *GetPairKerning)( 6344 IDWriteTextLayout3 *This, 6345 UINT32 position, 6346 WINBOOL *is_pairkerning_enabled, 6347 DWRITE_TEXT_RANGE *range); 6348 6349 HRESULT (STDMETHODCALLTYPE *SetCharacterSpacing)( 6350 IDWriteTextLayout3 *This, 6351 FLOAT leading_spacing, 6352 FLOAT trailing_spacing, 6353 FLOAT minimum_advance_width, 6354 DWRITE_TEXT_RANGE range); 6355 6356 HRESULT (STDMETHODCALLTYPE *GetCharacterSpacing)( 6357 IDWriteTextLayout3 *This, 6358 UINT32 position, 6359 FLOAT *leading_spacing, 6360 FLOAT *trailing_spacing, 6361 FLOAT *minimum_advance_width, 6362 DWRITE_TEXT_RANGE *range); 6363 6364 /*** IDWriteTextLayout2 methods ***/ 6365 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout2_GetMetrics)( 6366 IDWriteTextLayout3 *This, 6367 DWRITE_TEXT_METRICS1 *metrics); 6368 6369 HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( 6370 IDWriteTextLayout3 *This, 6371 DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); 6372 6373 DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( 6374 IDWriteTextLayout3 *This); 6375 6376 HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( 6377 IDWriteTextLayout3 *This, 6378 WINBOOL lastline_wrapping_enabled); 6379 6380 WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( 6381 IDWriteTextLayout3 *This); 6382 6383 HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( 6384 IDWriteTextLayout3 *This, 6385 DWRITE_OPTICAL_ALIGNMENT alignment); 6386 6387 DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( 6388 IDWriteTextLayout3 *This); 6389 6390 HRESULT (STDMETHODCALLTYPE *SetFontFallback)( 6391 IDWriteTextLayout3 *This, 6392 IDWriteFontFallback *fallback); 6393 6394 HRESULT (STDMETHODCALLTYPE *GetFontFallback)( 6395 IDWriteTextLayout3 *This, 6396 IDWriteFontFallback **fallback); 6397 6398 /*** IDWriteTextLayout3 methods ***/ 6399 HRESULT (STDMETHODCALLTYPE *InvalidateLayout)( 6400 IDWriteTextLayout3 *This); 6401 6402 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_SetLineSpacing)( 6403 IDWriteTextLayout3 *This, 6404 const DWRITE_LINE_SPACING *spacing); 6405 6406 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineSpacing)( 6407 IDWriteTextLayout3 *This, 6408 DWRITE_LINE_SPACING *spacing); 6409 6410 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineMetrics)( 6411 IDWriteTextLayout3 *This, 6412 DWRITE_LINE_METRICS1 *metrics, 6413 UINT32 max_count, 6414 UINT32 *count); 6415 6416 END_INTERFACE 6417 } IDWriteTextLayout3Vtbl; 6418 6419 interface IDWriteTextLayout3 { 6420 CONST_VTBL IDWriteTextLayout3Vtbl* lpVtbl; 6421 }; 6422 6423 #ifdef COBJMACROS 6424 #ifndef WIDL_C_INLINE_WRAPPERS 6425 /*** IUnknown methods ***/ 6426 #define IDWriteTextLayout3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6427 #define IDWriteTextLayout3_AddRef(This) (This)->lpVtbl->AddRef(This) 6428 #define IDWriteTextLayout3_Release(This) (This)->lpVtbl->Release(This) 6429 /*** IDWriteTextFormat methods ***/ 6430 #define IDWriteTextLayout3_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) 6431 #define IDWriteTextLayout3_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) 6432 #define IDWriteTextLayout3_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) 6433 #define IDWriteTextLayout3_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) 6434 #define IDWriteTextLayout3_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) 6435 #define IDWriteTextLayout3_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) 6436 #define IDWriteTextLayout3_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) 6437 #define IDWriteTextLayout3_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) 6438 #define IDWriteTextLayout3_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) 6439 #define IDWriteTextLayout3_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) 6440 #define IDWriteTextLayout3_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) 6441 #define IDWriteTextLayout3_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) 6442 #define IDWriteTextLayout3_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) 6443 #define IDWriteTextLayout3_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) 6444 /*** IDWriteTextLayout methods ***/ 6445 #define IDWriteTextLayout3_SetMaxWidth(This,maxWidth) (This)->lpVtbl->SetMaxWidth(This,maxWidth) 6446 #define IDWriteTextLayout3_SetMaxHeight(This,maxHeight) (This)->lpVtbl->SetMaxHeight(This,maxHeight) 6447 #define IDWriteTextLayout3_SetFontCollection(This,collection,range) (This)->lpVtbl->SetFontCollection(This,collection,range) 6448 #define IDWriteTextLayout3_SetFontFamilyName(This,name,range) (This)->lpVtbl->SetFontFamilyName(This,name,range) 6449 #define IDWriteTextLayout3_SetFontWeight(This,weight,range) (This)->lpVtbl->SetFontWeight(This,weight,range) 6450 #define IDWriteTextLayout3_SetFontStyle(This,style,range) (This)->lpVtbl->SetFontStyle(This,style,range) 6451 #define IDWriteTextLayout3_SetFontStretch(This,stretch,range) (This)->lpVtbl->SetFontStretch(This,stretch,range) 6452 #define IDWriteTextLayout3_SetFontSize(This,size,range) (This)->lpVtbl->SetFontSize(This,size,range) 6453 #define IDWriteTextLayout3_SetUnderline(This,underline,range) (This)->lpVtbl->SetUnderline(This,underline,range) 6454 #define IDWriteTextLayout3_SetStrikethrough(This,strikethrough,range) (This)->lpVtbl->SetStrikethrough(This,strikethrough,range) 6455 #define IDWriteTextLayout3_SetDrawingEffect(This,effect,range) (This)->lpVtbl->SetDrawingEffect(This,effect,range) 6456 #define IDWriteTextLayout3_SetInlineObject(This,object,range) (This)->lpVtbl->SetInlineObject(This,object,range) 6457 #define IDWriteTextLayout3_SetTypography(This,typography,range) (This)->lpVtbl->SetTypography(This,typography,range) 6458 #define IDWriteTextLayout3_SetLocaleName(This,locale,range) (This)->lpVtbl->SetLocaleName(This,locale,range) 6459 #define IDWriteTextLayout3_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) 6460 #define IDWriteTextLayout3_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) 6461 #define IDWriteTextLayout3_GetFontCollection(This,pos,collection,range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range) 6462 #define IDWriteTextLayout3_GetFontFamilyNameLength(This,pos,len,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range) 6463 #define IDWriteTextLayout3_GetFontFamilyName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range) 6464 #define IDWriteTextLayout3_GetFontWeight(This,position,weight,range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range) 6465 #define IDWriteTextLayout3_GetFontStyle(This,currentPosition,style,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range) 6466 #define IDWriteTextLayout3_GetFontStretch(This,position,stretch,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range) 6467 #define IDWriteTextLayout3_GetFontSize(This,position,size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range) 6468 #define IDWriteTextLayout3_GetUnderline(This,position,has_underline,range) (This)->lpVtbl->GetUnderline(This,position,has_underline,range) 6469 #define IDWriteTextLayout3_GetStrikethrough(This,position,has_strikethrough,range) (This)->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range) 6470 #define IDWriteTextLayout3_GetDrawingEffect(This,position,effect,range) (This)->lpVtbl->GetDrawingEffect(This,position,effect,range) 6471 #define IDWriteTextLayout3_GetInlineObject(This,position,object,range) (This)->lpVtbl->GetInlineObject(This,position,object,range) 6472 #define IDWriteTextLayout3_GetTypography(This,position,typography,range) (This)->lpVtbl->GetTypography(This,position,typography,range) 6473 #define IDWriteTextLayout3_GetLocaleNameLength(This,position,length,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range) 6474 #define IDWriteTextLayout3_GetLocaleName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range) 6475 #define IDWriteTextLayout3_Draw(This,context,renderer,originX,originY) (This)->lpVtbl->Draw(This,context,renderer,originX,originY) 6476 #define IDWriteTextLayout3_GetOverhangMetrics(This,overhangs) (This)->lpVtbl->GetOverhangMetrics(This,overhangs) 6477 #define IDWriteTextLayout3_GetClusterMetrics(This,metrics,max_count,act_count) (This)->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count) 6478 #define IDWriteTextLayout3_DetermineMinWidth(This,min_width) (This)->lpVtbl->DetermineMinWidth(This,min_width) 6479 #define IDWriteTextLayout3_HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) (This)->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) 6480 #define IDWriteTextLayout3_HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) (This)->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) 6481 #define IDWriteTextLayout3_HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount) (This)->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount) 6482 /*** IDWriteTextLayout1 methods ***/ 6483 #define IDWriteTextLayout3_SetPairKerning(This,is_pairkerning_enabled,range) (This)->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range) 6484 #define IDWriteTextLayout3_GetPairKerning(This,position,is_pairkerning_enabled,range) (This)->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range) 6485 #define IDWriteTextLayout3_SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) (This)->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) 6486 #define IDWriteTextLayout3_GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range) (This)->lpVtbl->GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range) 6487 /*** IDWriteTextLayout2 methods ***/ 6488 #define IDWriteTextLayout3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics) 6489 #define IDWriteTextLayout3_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) 6490 #define IDWriteTextLayout3_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) 6491 #define IDWriteTextLayout3_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) 6492 #define IDWriteTextLayout3_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) 6493 #define IDWriteTextLayout3_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) 6494 #define IDWriteTextLayout3_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) 6495 #define IDWriteTextLayout3_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) 6496 #define IDWriteTextLayout3_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) 6497 /*** IDWriteTextLayout3 methods ***/ 6498 #define IDWriteTextLayout3_InvalidateLayout(This) (This)->lpVtbl->InvalidateLayout(This) 6499 #define IDWriteTextLayout3_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing) 6500 #define IDWriteTextLayout3_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing) 6501 #define IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) (This)->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) 6502 #else 6503 /*** IUnknown methods ***/ 6504 static inline HRESULT IDWriteTextLayout3_QueryInterface(IDWriteTextLayout3* This,REFIID riid,void **ppvObject) { 6505 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6506 } 6507 static inline ULONG IDWriteTextLayout3_AddRef(IDWriteTextLayout3* This) { 6508 return This->lpVtbl->AddRef(This); 6509 } 6510 static inline ULONG IDWriteTextLayout3_Release(IDWriteTextLayout3* This) { 6511 return This->lpVtbl->Release(This); 6512 } 6513 /*** IDWriteTextFormat methods ***/ 6514 static inline HRESULT IDWriteTextLayout3_SetTextAlignment(IDWriteTextLayout3* This,DWRITE_TEXT_ALIGNMENT alignment) { 6515 return This->lpVtbl->SetTextAlignment(This,alignment); 6516 } 6517 static inline HRESULT IDWriteTextLayout3_SetParagraphAlignment(IDWriteTextLayout3* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { 6518 return This->lpVtbl->SetParagraphAlignment(This,alignment); 6519 } 6520 static inline HRESULT IDWriteTextLayout3_SetWordWrapping(IDWriteTextLayout3* This,DWRITE_WORD_WRAPPING wrapping) { 6521 return This->lpVtbl->SetWordWrapping(This,wrapping); 6522 } 6523 static inline HRESULT IDWriteTextLayout3_SetReadingDirection(IDWriteTextLayout3* This,DWRITE_READING_DIRECTION direction) { 6524 return This->lpVtbl->SetReadingDirection(This,direction); 6525 } 6526 static inline HRESULT IDWriteTextLayout3_SetFlowDirection(IDWriteTextLayout3* This,DWRITE_FLOW_DIRECTION direction) { 6527 return This->lpVtbl->SetFlowDirection(This,direction); 6528 } 6529 static inline HRESULT IDWriteTextLayout3_SetIncrementalTabStop(IDWriteTextLayout3* This,FLOAT tabstop) { 6530 return This->lpVtbl->SetIncrementalTabStop(This,tabstop); 6531 } 6532 static inline HRESULT IDWriteTextLayout3_SetTrimming(IDWriteTextLayout3* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { 6533 return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); 6534 } 6535 static inline DWRITE_TEXT_ALIGNMENT IDWriteTextLayout3_GetTextAlignment(IDWriteTextLayout3* This) { 6536 return This->lpVtbl->GetTextAlignment(This); 6537 } 6538 static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout3_GetParagraphAlignment(IDWriteTextLayout3* This) { 6539 return This->lpVtbl->GetParagraphAlignment(This); 6540 } 6541 static inline DWRITE_WORD_WRAPPING IDWriteTextLayout3_GetWordWrapping(IDWriteTextLayout3* This) { 6542 return This->lpVtbl->GetWordWrapping(This); 6543 } 6544 static inline DWRITE_READING_DIRECTION IDWriteTextLayout3_GetReadingDirection(IDWriteTextLayout3* This) { 6545 return This->lpVtbl->GetReadingDirection(This); 6546 } 6547 static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout3_GetFlowDirection(IDWriteTextLayout3* This) { 6548 return This->lpVtbl->GetFlowDirection(This); 6549 } 6550 static inline FLOAT IDWriteTextLayout3_GetIncrementalTabStop(IDWriteTextLayout3* This) { 6551 return This->lpVtbl->GetIncrementalTabStop(This); 6552 } 6553 static inline HRESULT IDWriteTextLayout3_GetTrimming(IDWriteTextLayout3* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { 6554 return This->lpVtbl->GetTrimming(This,options,trimming_sign); 6555 } 6556 /*** IDWriteTextLayout methods ***/ 6557 static inline HRESULT IDWriteTextLayout3_SetMaxWidth(IDWriteTextLayout3* This,FLOAT maxWidth) { 6558 return This->lpVtbl->SetMaxWidth(This,maxWidth); 6559 } 6560 static inline HRESULT IDWriteTextLayout3_SetMaxHeight(IDWriteTextLayout3* This,FLOAT maxHeight) { 6561 return This->lpVtbl->SetMaxHeight(This,maxHeight); 6562 } 6563 static inline HRESULT IDWriteTextLayout3_SetFontCollection(IDWriteTextLayout3* This,IDWriteFontCollection *collection,DWRITE_TEXT_RANGE range) { 6564 return This->lpVtbl->SetFontCollection(This,collection,range); 6565 } 6566 static inline HRESULT IDWriteTextLayout3_SetFontFamilyName(IDWriteTextLayout3* This,const WCHAR *name,DWRITE_TEXT_RANGE range) { 6567 return This->lpVtbl->SetFontFamilyName(This,name,range); 6568 } 6569 static inline HRESULT IDWriteTextLayout3_SetFontWeight(IDWriteTextLayout3* This,DWRITE_FONT_WEIGHT weight,DWRITE_TEXT_RANGE range) { 6570 return This->lpVtbl->SetFontWeight(This,weight,range); 6571 } 6572 static inline HRESULT IDWriteTextLayout3_SetFontStyle(IDWriteTextLayout3* This,DWRITE_FONT_STYLE style,DWRITE_TEXT_RANGE range) { 6573 return This->lpVtbl->SetFontStyle(This,style,range); 6574 } 6575 static inline HRESULT IDWriteTextLayout3_SetFontStretch(IDWriteTextLayout3* This,DWRITE_FONT_STRETCH stretch,DWRITE_TEXT_RANGE range) { 6576 return This->lpVtbl->SetFontStretch(This,stretch,range); 6577 } 6578 static inline HRESULT IDWriteTextLayout3_SetFontSize(IDWriteTextLayout3* This,FLOAT size,DWRITE_TEXT_RANGE range) { 6579 return This->lpVtbl->SetFontSize(This,size,range); 6580 } 6581 static inline HRESULT IDWriteTextLayout3_SetUnderline(IDWriteTextLayout3* This,WINBOOL underline,DWRITE_TEXT_RANGE range) { 6582 return This->lpVtbl->SetUnderline(This,underline,range); 6583 } 6584 static inline HRESULT IDWriteTextLayout3_SetStrikethrough(IDWriteTextLayout3* This,WINBOOL strikethrough,DWRITE_TEXT_RANGE range) { 6585 return This->lpVtbl->SetStrikethrough(This,strikethrough,range); 6586 } 6587 static inline HRESULT IDWriteTextLayout3_SetDrawingEffect(IDWriteTextLayout3* This,IUnknown *effect,DWRITE_TEXT_RANGE range) { 6588 return This->lpVtbl->SetDrawingEffect(This,effect,range); 6589 } 6590 static inline HRESULT IDWriteTextLayout3_SetInlineObject(IDWriteTextLayout3* This,IDWriteInlineObject *object,DWRITE_TEXT_RANGE range) { 6591 return This->lpVtbl->SetInlineObject(This,object,range); 6592 } 6593 static inline HRESULT IDWriteTextLayout3_SetTypography(IDWriteTextLayout3* This,IDWriteTypography *typography,DWRITE_TEXT_RANGE range) { 6594 return This->lpVtbl->SetTypography(This,typography,range); 6595 } 6596 static inline HRESULT IDWriteTextLayout3_SetLocaleName(IDWriteTextLayout3* This,const WCHAR *locale,DWRITE_TEXT_RANGE range) { 6597 return This->lpVtbl->SetLocaleName(This,locale,range); 6598 } 6599 static inline FLOAT IDWriteTextLayout3_GetMaxWidth(IDWriteTextLayout3* This) { 6600 return This->lpVtbl->GetMaxWidth(This); 6601 } 6602 static inline FLOAT IDWriteTextLayout3_GetMaxHeight(IDWriteTextLayout3* This) { 6603 return This->lpVtbl->GetMaxHeight(This); 6604 } 6605 static inline HRESULT IDWriteTextLayout3_GetFontCollection(IDWriteTextLayout3* This,UINT32 pos,IDWriteFontCollection **collection,DWRITE_TEXT_RANGE *range) { 6606 return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range); 6607 } 6608 static inline HRESULT IDWriteTextLayout3_GetFontFamilyNameLength(IDWriteTextLayout3* This,UINT32 pos,UINT32 *len,DWRITE_TEXT_RANGE *range) { 6609 return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range); 6610 } 6611 static inline HRESULT IDWriteTextLayout3_GetFontFamilyName(IDWriteTextLayout3* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { 6612 return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range); 6613 } 6614 static inline HRESULT IDWriteTextLayout3_GetFontWeight(IDWriteTextLayout3* This,UINT32 position,DWRITE_FONT_WEIGHT *weight,DWRITE_TEXT_RANGE *range) { 6615 return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range); 6616 } 6617 static inline HRESULT IDWriteTextLayout3_GetFontStyle(IDWriteTextLayout3* This,UINT32 currentPosition,DWRITE_FONT_STYLE *style,DWRITE_TEXT_RANGE *range) { 6618 return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range); 6619 } 6620 static inline HRESULT IDWriteTextLayout3_GetFontStretch(IDWriteTextLayout3* This,UINT32 position,DWRITE_FONT_STRETCH *stretch,DWRITE_TEXT_RANGE *range) { 6621 return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range); 6622 } 6623 static inline HRESULT IDWriteTextLayout3_GetFontSize(IDWriteTextLayout3* This,UINT32 position,FLOAT *size,DWRITE_TEXT_RANGE *range) { 6624 return This->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range); 6625 } 6626 static inline HRESULT IDWriteTextLayout3_GetUnderline(IDWriteTextLayout3* This,UINT32 position,WINBOOL *has_underline,DWRITE_TEXT_RANGE *range) { 6627 return This->lpVtbl->GetUnderline(This,position,has_underline,range); 6628 } 6629 static inline HRESULT IDWriteTextLayout3_GetStrikethrough(IDWriteTextLayout3* This,UINT32 position,WINBOOL *has_strikethrough,DWRITE_TEXT_RANGE *range) { 6630 return This->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range); 6631 } 6632 static inline HRESULT IDWriteTextLayout3_GetDrawingEffect(IDWriteTextLayout3* This,UINT32 position,IUnknown **effect,DWRITE_TEXT_RANGE *range) { 6633 return This->lpVtbl->GetDrawingEffect(This,position,effect,range); 6634 } 6635 static inline HRESULT IDWriteTextLayout3_GetInlineObject(IDWriteTextLayout3* This,UINT32 position,IDWriteInlineObject **object,DWRITE_TEXT_RANGE *range) { 6636 return This->lpVtbl->GetInlineObject(This,position,object,range); 6637 } 6638 static inline HRESULT IDWriteTextLayout3_GetTypography(IDWriteTextLayout3* This,UINT32 position,IDWriteTypography **typography,DWRITE_TEXT_RANGE *range) { 6639 return This->lpVtbl->GetTypography(This,position,typography,range); 6640 } 6641 static inline HRESULT IDWriteTextLayout3_GetLocaleNameLength(IDWriteTextLayout3* This,UINT32 position,UINT32 *length,DWRITE_TEXT_RANGE *range) { 6642 return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range); 6643 } 6644 static inline HRESULT IDWriteTextLayout3_GetLocaleName(IDWriteTextLayout3* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { 6645 return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range); 6646 } 6647 static inline HRESULT IDWriteTextLayout3_Draw(IDWriteTextLayout3* This,void *context,IDWriteTextRenderer *renderer,FLOAT originX,FLOAT originY) { 6648 return This->lpVtbl->Draw(This,context,renderer,originX,originY); 6649 } 6650 static inline HRESULT IDWriteTextLayout3_GetOverhangMetrics(IDWriteTextLayout3* This,DWRITE_OVERHANG_METRICS *overhangs) { 6651 return This->lpVtbl->GetOverhangMetrics(This,overhangs); 6652 } 6653 static inline HRESULT IDWriteTextLayout3_GetClusterMetrics(IDWriteTextLayout3* This,DWRITE_CLUSTER_METRICS *metrics,UINT32 max_count,UINT32 *act_count) { 6654 return This->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count); 6655 } 6656 static inline HRESULT IDWriteTextLayout3_DetermineMinWidth(IDWriteTextLayout3* This,FLOAT *min_width) { 6657 return This->lpVtbl->DetermineMinWidth(This,min_width); 6658 } 6659 static inline HRESULT IDWriteTextLayout3_HitTestPoint(IDWriteTextLayout3* This,FLOAT pointX,FLOAT pointY,WINBOOL *is_trailinghit,WINBOOL *is_inside,DWRITE_HIT_TEST_METRICS *metrics) { 6660 return This->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics); 6661 } 6662 static inline HRESULT IDWriteTextLayout3_HitTestTextPosition(IDWriteTextLayout3* This,UINT32 textPosition,WINBOOL is_trailinghit,FLOAT *pointX,FLOAT *pointY,DWRITE_HIT_TEST_METRICS *metrics) { 6663 return This->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics); 6664 } 6665 static inline HRESULT IDWriteTextLayout3_HitTestTextRange(IDWriteTextLayout3* This,UINT32 textPosition,UINT32 textLength,FLOAT originX,FLOAT originY,DWRITE_HIT_TEST_METRICS *metrics,UINT32 max_metricscount,UINT32 *actual_metricscount) { 6666 return This->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount); 6667 } 6668 /*** IDWriteTextLayout1 methods ***/ 6669 static inline HRESULT IDWriteTextLayout3_SetPairKerning(IDWriteTextLayout3* This,WINBOOL is_pairkerning_enabled,DWRITE_TEXT_RANGE range) { 6670 return This->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range); 6671 } 6672 static inline HRESULT IDWriteTextLayout3_GetPairKerning(IDWriteTextLayout3* This,UINT32 position,WINBOOL *is_pairkerning_enabled,DWRITE_TEXT_RANGE *range) { 6673 return This->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range); 6674 } 6675 static inline HRESULT IDWriteTextLayout3_SetCharacterSpacing(IDWriteTextLayout3* This,FLOAT leading_spacing,FLOAT trailing_spacing,FLOAT minimum_advance_width,DWRITE_TEXT_RANGE range) { 6676 return This->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range); 6677 } 6678 static inline HRESULT IDWriteTextLayout3_GetCharacterSpacing(IDWriteTextLayout3* This,UINT32 position,FLOAT *leading_spacing,FLOAT *trailing_spacing,FLOAT *minimum_advance_width,DWRITE_TEXT_RANGE *range) { 6679 return This->lpVtbl->GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range); 6680 } 6681 /*** IDWriteTextLayout2 methods ***/ 6682 static inline HRESULT IDWriteTextLayout3_GetMetrics(IDWriteTextLayout3* This,DWRITE_TEXT_METRICS1 *metrics) { 6683 return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics); 6684 } 6685 static inline HRESULT IDWriteTextLayout3_SetVerticalGlyphOrientation(IDWriteTextLayout3* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { 6686 return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); 6687 } 6688 static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout3_GetVerticalGlyphOrientation(IDWriteTextLayout3* This) { 6689 return This->lpVtbl->GetVerticalGlyphOrientation(This); 6690 } 6691 static inline HRESULT IDWriteTextLayout3_SetLastLineWrapping(IDWriteTextLayout3* This,WINBOOL lastline_wrapping_enabled) { 6692 return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); 6693 } 6694 static inline WINBOOL IDWriteTextLayout3_GetLastLineWrapping(IDWriteTextLayout3* This) { 6695 return This->lpVtbl->GetLastLineWrapping(This); 6696 } 6697 static inline HRESULT IDWriteTextLayout3_SetOpticalAlignment(IDWriteTextLayout3* This,DWRITE_OPTICAL_ALIGNMENT alignment) { 6698 return This->lpVtbl->SetOpticalAlignment(This,alignment); 6699 } 6700 static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout3_GetOpticalAlignment(IDWriteTextLayout3* This) { 6701 return This->lpVtbl->GetOpticalAlignment(This); 6702 } 6703 static inline HRESULT IDWriteTextLayout3_SetFontFallback(IDWriteTextLayout3* This,IDWriteFontFallback *fallback) { 6704 return This->lpVtbl->SetFontFallback(This,fallback); 6705 } 6706 static inline HRESULT IDWriteTextLayout3_GetFontFallback(IDWriteTextLayout3* This,IDWriteFontFallback **fallback) { 6707 return This->lpVtbl->GetFontFallback(This,fallback); 6708 } 6709 /*** IDWriteTextLayout3 methods ***/ 6710 static inline HRESULT IDWriteTextLayout3_InvalidateLayout(IDWriteTextLayout3* This) { 6711 return This->lpVtbl->InvalidateLayout(This); 6712 } 6713 static inline HRESULT IDWriteTextLayout3_SetLineSpacing(IDWriteTextLayout3* This,const DWRITE_LINE_SPACING *spacing) { 6714 return This->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing); 6715 } 6716 static inline HRESULT IDWriteTextLayout3_GetLineSpacing(IDWriteTextLayout3* This,DWRITE_LINE_SPACING *spacing) { 6717 return This->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing); 6718 } 6719 static inline HRESULT IDWriteTextLayout3_GetLineMetrics(IDWriteTextLayout3* This,DWRITE_LINE_METRICS1 *metrics,UINT32 max_count,UINT32 *count) { 6720 return This->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count); 6721 } 6722 #endif 6723 #endif 6724 6725 #endif 6726 6727 6728 #endif /* __IDWriteTextLayout3_INTERFACE_DEFINED__ */ 6729 6730 /***************************************************************************** 6731 * IDWriteTextLayout4 interface 6732 */ 6733 #ifndef __IDWriteTextLayout4_INTERFACE_DEFINED__ 6734 #define __IDWriteTextLayout4_INTERFACE_DEFINED__ 6735 6736 DEFINE_GUID(IID_IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5,0xfb, 0x82,0x63,0x68,0x5f,0x55,0xe9); 6737 #if defined(__cplusplus) && !defined(CINTERFACE) 6738 MIDL_INTERFACE("05a9bf42-223f-4441-b5fb-8263685f55e9") 6739 IDWriteTextLayout4 : public IDWriteTextLayout3 6740 { 6741 virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( 6742 const DWRITE_FONT_AXIS_VALUE *axis_values, 6743 UINT32 num_values, 6744 DWRITE_TEXT_RANGE range) = 0; 6745 6746 virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( 6747 UINT32 pos) = 0; 6748 6749 virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( 6750 UINT32 pos, 6751 DWRITE_FONT_AXIS_VALUE *values, 6752 UINT32 num_values, 6753 DWRITE_TEXT_RANGE *range) = 0; 6754 6755 virtual DWRITE_AUTOMATIC_FONT_AXES STDMETHODCALLTYPE GetAutomaticFontAxes( 6756 ) = 0; 6757 6758 virtual HRESULT STDMETHODCALLTYPE SetAutomaticFontAxes( 6759 DWRITE_AUTOMATIC_FONT_AXES axes) = 0; 6760 6761 }; 6762 #ifdef __CRT_UUID_DECL 6763 __CRT_UUID_DECL(IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5,0xfb, 0x82,0x63,0x68,0x5f,0x55,0xe9) 6764 #endif 6765 #else 6766 typedef struct IDWriteTextLayout4Vtbl { 6767 BEGIN_INTERFACE 6768 6769 /*** IUnknown methods ***/ 6770 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6771 IDWriteTextLayout4 *This, 6772 REFIID riid, 6773 void **ppvObject); 6774 6775 ULONG (STDMETHODCALLTYPE *AddRef)( 6776 IDWriteTextLayout4 *This); 6777 6778 ULONG (STDMETHODCALLTYPE *Release)( 6779 IDWriteTextLayout4 *This); 6780 6781 /*** IDWriteTextFormat methods ***/ 6782 HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( 6783 IDWriteTextLayout4 *This, 6784 DWRITE_TEXT_ALIGNMENT alignment); 6785 6786 HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( 6787 IDWriteTextLayout4 *This, 6788 DWRITE_PARAGRAPH_ALIGNMENT alignment); 6789 6790 HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( 6791 IDWriteTextLayout4 *This, 6792 DWRITE_WORD_WRAPPING wrapping); 6793 6794 HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( 6795 IDWriteTextLayout4 *This, 6796 DWRITE_READING_DIRECTION direction); 6797 6798 HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( 6799 IDWriteTextLayout4 *This, 6800 DWRITE_FLOW_DIRECTION direction); 6801 6802 HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( 6803 IDWriteTextLayout4 *This, 6804 FLOAT tabstop); 6805 6806 HRESULT (STDMETHODCALLTYPE *SetTrimming)( 6807 IDWriteTextLayout4 *This, 6808 const DWRITE_TRIMMING *trimming, 6809 IDWriteInlineObject *trimming_sign); 6810 6811 HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( 6812 IDWriteTextLayout4 *This, 6813 DWRITE_LINE_SPACING_METHOD spacing, 6814 FLOAT line_spacing, 6815 FLOAT baseline); 6816 6817 DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( 6818 IDWriteTextLayout4 *This); 6819 6820 DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( 6821 IDWriteTextLayout4 *This); 6822 6823 DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( 6824 IDWriteTextLayout4 *This); 6825 6826 DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( 6827 IDWriteTextLayout4 *This); 6828 6829 DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( 6830 IDWriteTextLayout4 *This); 6831 6832 FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( 6833 IDWriteTextLayout4 *This); 6834 6835 HRESULT (STDMETHODCALLTYPE *GetTrimming)( 6836 IDWriteTextLayout4 *This, 6837 DWRITE_TRIMMING *options, 6838 IDWriteInlineObject **trimming_sign); 6839 6840 HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( 6841 IDWriteTextLayout4 *This, 6842 DWRITE_LINE_SPACING_METHOD *method, 6843 FLOAT *spacing, 6844 FLOAT *baseline); 6845 6846 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 6847 IDWriteTextLayout4 *This, 6848 IDWriteFontCollection **collection); 6849 6850 UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( 6851 IDWriteTextLayout4 *This); 6852 6853 HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( 6854 IDWriteTextLayout4 *This, 6855 WCHAR *name, 6856 UINT32 size); 6857 6858 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( 6859 IDWriteTextLayout4 *This); 6860 6861 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( 6862 IDWriteTextLayout4 *This); 6863 6864 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( 6865 IDWriteTextLayout4 *This); 6866 6867 FLOAT (STDMETHODCALLTYPE *GetFontSize)( 6868 IDWriteTextLayout4 *This); 6869 6870 UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( 6871 IDWriteTextLayout4 *This); 6872 6873 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 6874 IDWriteTextLayout4 *This, 6875 WCHAR *name, 6876 UINT32 size); 6877 6878 /*** IDWriteTextLayout methods ***/ 6879 HRESULT (STDMETHODCALLTYPE *SetMaxWidth)( 6880 IDWriteTextLayout4 *This, 6881 FLOAT maxWidth); 6882 6883 HRESULT (STDMETHODCALLTYPE *SetMaxHeight)( 6884 IDWriteTextLayout4 *This, 6885 FLOAT maxHeight); 6886 6887 HRESULT (STDMETHODCALLTYPE *SetFontCollection)( 6888 IDWriteTextLayout4 *This, 6889 IDWriteFontCollection *collection, 6890 DWRITE_TEXT_RANGE range); 6891 6892 HRESULT (STDMETHODCALLTYPE *SetFontFamilyName)( 6893 IDWriteTextLayout4 *This, 6894 const WCHAR *name, 6895 DWRITE_TEXT_RANGE range); 6896 6897 HRESULT (STDMETHODCALLTYPE *SetFontWeight)( 6898 IDWriteTextLayout4 *This, 6899 DWRITE_FONT_WEIGHT weight, 6900 DWRITE_TEXT_RANGE range); 6901 6902 HRESULT (STDMETHODCALLTYPE *SetFontStyle)( 6903 IDWriteTextLayout4 *This, 6904 DWRITE_FONT_STYLE style, 6905 DWRITE_TEXT_RANGE range); 6906 6907 HRESULT (STDMETHODCALLTYPE *SetFontStretch)( 6908 IDWriteTextLayout4 *This, 6909 DWRITE_FONT_STRETCH stretch, 6910 DWRITE_TEXT_RANGE range); 6911 6912 HRESULT (STDMETHODCALLTYPE *SetFontSize)( 6913 IDWriteTextLayout4 *This, 6914 FLOAT size, 6915 DWRITE_TEXT_RANGE range); 6916 6917 HRESULT (STDMETHODCALLTYPE *SetUnderline)( 6918 IDWriteTextLayout4 *This, 6919 WINBOOL underline, 6920 DWRITE_TEXT_RANGE range); 6921 6922 HRESULT (STDMETHODCALLTYPE *SetStrikethrough)( 6923 IDWriteTextLayout4 *This, 6924 WINBOOL strikethrough, 6925 DWRITE_TEXT_RANGE range); 6926 6927 HRESULT (STDMETHODCALLTYPE *SetDrawingEffect)( 6928 IDWriteTextLayout4 *This, 6929 IUnknown *effect, 6930 DWRITE_TEXT_RANGE range); 6931 6932 HRESULT (STDMETHODCALLTYPE *SetInlineObject)( 6933 IDWriteTextLayout4 *This, 6934 IDWriteInlineObject *object, 6935 DWRITE_TEXT_RANGE range); 6936 6937 HRESULT (STDMETHODCALLTYPE *SetTypography)( 6938 IDWriteTextLayout4 *This, 6939 IDWriteTypography *typography, 6940 DWRITE_TEXT_RANGE range); 6941 6942 HRESULT (STDMETHODCALLTYPE *SetLocaleName)( 6943 IDWriteTextLayout4 *This, 6944 const WCHAR *locale, 6945 DWRITE_TEXT_RANGE range); 6946 6947 FLOAT (STDMETHODCALLTYPE *GetMaxWidth)( 6948 IDWriteTextLayout4 *This); 6949 6950 FLOAT (STDMETHODCALLTYPE *GetMaxHeight)( 6951 IDWriteTextLayout4 *This); 6952 6953 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontCollection)( 6954 IDWriteTextLayout4 *This, 6955 UINT32 pos, 6956 IDWriteFontCollection **collection, 6957 DWRITE_TEXT_RANGE *range); 6958 6959 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyNameLength)( 6960 IDWriteTextLayout4 *This, 6961 UINT32 pos, 6962 UINT32 *len, 6963 DWRITE_TEXT_RANGE *range); 6964 6965 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyName)( 6966 IDWriteTextLayout4 *This, 6967 UINT32 position, 6968 WCHAR *name, 6969 UINT32 name_size, 6970 DWRITE_TEXT_RANGE *range); 6971 6972 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontWeight)( 6973 IDWriteTextLayout4 *This, 6974 UINT32 position, 6975 DWRITE_FONT_WEIGHT *weight, 6976 DWRITE_TEXT_RANGE *range); 6977 6978 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStyle)( 6979 IDWriteTextLayout4 *This, 6980 UINT32 currentPosition, 6981 DWRITE_FONT_STYLE *style, 6982 DWRITE_TEXT_RANGE *range); 6983 6984 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStretch)( 6985 IDWriteTextLayout4 *This, 6986 UINT32 position, 6987 DWRITE_FONT_STRETCH *stretch, 6988 DWRITE_TEXT_RANGE *range); 6989 6990 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontSize)( 6991 IDWriteTextLayout4 *This, 6992 UINT32 position, 6993 FLOAT *size, 6994 DWRITE_TEXT_RANGE *range); 6995 6996 HRESULT (STDMETHODCALLTYPE *GetUnderline)( 6997 IDWriteTextLayout4 *This, 6998 UINT32 position, 6999 WINBOOL *has_underline, 7000 DWRITE_TEXT_RANGE *range); 7001 7002 HRESULT (STDMETHODCALLTYPE *GetStrikethrough)( 7003 IDWriteTextLayout4 *This, 7004 UINT32 position, 7005 WINBOOL *has_strikethrough, 7006 DWRITE_TEXT_RANGE *range); 7007 7008 HRESULT (STDMETHODCALLTYPE *GetDrawingEffect)( 7009 IDWriteTextLayout4 *This, 7010 UINT32 position, 7011 IUnknown **effect, 7012 DWRITE_TEXT_RANGE *range); 7013 7014 HRESULT (STDMETHODCALLTYPE *GetInlineObject)( 7015 IDWriteTextLayout4 *This, 7016 UINT32 position, 7017 IDWriteInlineObject **object, 7018 DWRITE_TEXT_RANGE *range); 7019 7020 HRESULT (STDMETHODCALLTYPE *GetTypography)( 7021 IDWriteTextLayout4 *This, 7022 UINT32 position, 7023 IDWriteTypography **typography, 7024 DWRITE_TEXT_RANGE *range); 7025 7026 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleNameLength)( 7027 IDWriteTextLayout4 *This, 7028 UINT32 position, 7029 UINT32 *length, 7030 DWRITE_TEXT_RANGE *range); 7031 7032 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleName)( 7033 IDWriteTextLayout4 *This, 7034 UINT32 position, 7035 WCHAR *name, 7036 UINT32 name_size, 7037 DWRITE_TEXT_RANGE *range); 7038 7039 HRESULT (STDMETHODCALLTYPE *Draw)( 7040 IDWriteTextLayout4 *This, 7041 void *context, 7042 IDWriteTextRenderer *renderer, 7043 FLOAT originX, 7044 FLOAT originY); 7045 7046 HRESULT (STDMETHODCALLTYPE *GetLineMetrics)( 7047 IDWriteTextLayout4 *This, 7048 DWRITE_LINE_METRICS *metrics, 7049 UINT32 max_count, 7050 UINT32 *actual_count); 7051 7052 HRESULT (STDMETHODCALLTYPE *GetMetrics)( 7053 IDWriteTextLayout4 *This, 7054 DWRITE_TEXT_METRICS *metrics); 7055 7056 HRESULT (STDMETHODCALLTYPE *GetOverhangMetrics)( 7057 IDWriteTextLayout4 *This, 7058 DWRITE_OVERHANG_METRICS *overhangs); 7059 7060 HRESULT (STDMETHODCALLTYPE *GetClusterMetrics)( 7061 IDWriteTextLayout4 *This, 7062 DWRITE_CLUSTER_METRICS *metrics, 7063 UINT32 max_count, 7064 UINT32 *act_count); 7065 7066 HRESULT (STDMETHODCALLTYPE *DetermineMinWidth)( 7067 IDWriteTextLayout4 *This, 7068 FLOAT *min_width); 7069 7070 HRESULT (STDMETHODCALLTYPE *HitTestPoint)( 7071 IDWriteTextLayout4 *This, 7072 FLOAT pointX, 7073 FLOAT pointY, 7074 WINBOOL *is_trailinghit, 7075 WINBOOL *is_inside, 7076 DWRITE_HIT_TEST_METRICS *metrics); 7077 7078 HRESULT (STDMETHODCALLTYPE *HitTestTextPosition)( 7079 IDWriteTextLayout4 *This, 7080 UINT32 textPosition, 7081 WINBOOL is_trailinghit, 7082 FLOAT *pointX, 7083 FLOAT *pointY, 7084 DWRITE_HIT_TEST_METRICS *metrics); 7085 7086 HRESULT (STDMETHODCALLTYPE *HitTestTextRange)( 7087 IDWriteTextLayout4 *This, 7088 UINT32 textPosition, 7089 UINT32 textLength, 7090 FLOAT originX, 7091 FLOAT originY, 7092 DWRITE_HIT_TEST_METRICS *metrics, 7093 UINT32 max_metricscount, 7094 UINT32 *actual_metricscount); 7095 7096 /*** IDWriteTextLayout1 methods ***/ 7097 HRESULT (STDMETHODCALLTYPE *SetPairKerning)( 7098 IDWriteTextLayout4 *This, 7099 WINBOOL is_pairkerning_enabled, 7100 DWRITE_TEXT_RANGE range); 7101 7102 HRESULT (STDMETHODCALLTYPE *GetPairKerning)( 7103 IDWriteTextLayout4 *This, 7104 UINT32 position, 7105 WINBOOL *is_pairkerning_enabled, 7106 DWRITE_TEXT_RANGE *range); 7107 7108 HRESULT (STDMETHODCALLTYPE *SetCharacterSpacing)( 7109 IDWriteTextLayout4 *This, 7110 FLOAT leading_spacing, 7111 FLOAT trailing_spacing, 7112 FLOAT minimum_advance_width, 7113 DWRITE_TEXT_RANGE range); 7114 7115 HRESULT (STDMETHODCALLTYPE *GetCharacterSpacing)( 7116 IDWriteTextLayout4 *This, 7117 UINT32 position, 7118 FLOAT *leading_spacing, 7119 FLOAT *trailing_spacing, 7120 FLOAT *minimum_advance_width, 7121 DWRITE_TEXT_RANGE *range); 7122 7123 /*** IDWriteTextLayout2 methods ***/ 7124 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout2_GetMetrics)( 7125 IDWriteTextLayout4 *This, 7126 DWRITE_TEXT_METRICS1 *metrics); 7127 7128 HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( 7129 IDWriteTextLayout4 *This, 7130 DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); 7131 7132 DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( 7133 IDWriteTextLayout4 *This); 7134 7135 HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( 7136 IDWriteTextLayout4 *This, 7137 WINBOOL lastline_wrapping_enabled); 7138 7139 WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( 7140 IDWriteTextLayout4 *This); 7141 7142 HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( 7143 IDWriteTextLayout4 *This, 7144 DWRITE_OPTICAL_ALIGNMENT alignment); 7145 7146 DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( 7147 IDWriteTextLayout4 *This); 7148 7149 HRESULT (STDMETHODCALLTYPE *SetFontFallback)( 7150 IDWriteTextLayout4 *This, 7151 IDWriteFontFallback *fallback); 7152 7153 HRESULT (STDMETHODCALLTYPE *GetFontFallback)( 7154 IDWriteTextLayout4 *This, 7155 IDWriteFontFallback **fallback); 7156 7157 /*** IDWriteTextLayout3 methods ***/ 7158 HRESULT (STDMETHODCALLTYPE *InvalidateLayout)( 7159 IDWriteTextLayout4 *This); 7160 7161 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_SetLineSpacing)( 7162 IDWriteTextLayout4 *This, 7163 const DWRITE_LINE_SPACING *spacing); 7164 7165 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineSpacing)( 7166 IDWriteTextLayout4 *This, 7167 DWRITE_LINE_SPACING *spacing); 7168 7169 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineMetrics)( 7170 IDWriteTextLayout4 *This, 7171 DWRITE_LINE_METRICS1 *metrics, 7172 UINT32 max_count, 7173 UINT32 *count); 7174 7175 /*** IDWriteTextLayout4 methods ***/ 7176 HRESULT (STDMETHODCALLTYPE *SetFontAxisValues)( 7177 IDWriteTextLayout4 *This, 7178 const DWRITE_FONT_AXIS_VALUE *axis_values, 7179 UINT32 num_values, 7180 DWRITE_TEXT_RANGE range); 7181 7182 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 7183 IDWriteTextLayout4 *This, 7184 UINT32 pos); 7185 7186 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 7187 IDWriteTextLayout4 *This, 7188 UINT32 pos, 7189 DWRITE_FONT_AXIS_VALUE *values, 7190 UINT32 num_values, 7191 DWRITE_TEXT_RANGE *range); 7192 7193 DWRITE_AUTOMATIC_FONT_AXES (STDMETHODCALLTYPE *GetAutomaticFontAxes)( 7194 IDWriteTextLayout4 *This); 7195 7196 HRESULT (STDMETHODCALLTYPE *SetAutomaticFontAxes)( 7197 IDWriteTextLayout4 *This, 7198 DWRITE_AUTOMATIC_FONT_AXES axes); 7199 7200 END_INTERFACE 7201 } IDWriteTextLayout4Vtbl; 7202 7203 interface IDWriteTextLayout4 { 7204 CONST_VTBL IDWriteTextLayout4Vtbl* lpVtbl; 7205 }; 7206 7207 #ifdef COBJMACROS 7208 #ifndef WIDL_C_INLINE_WRAPPERS 7209 /*** IUnknown methods ***/ 7210 #define IDWriteTextLayout4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7211 #define IDWriteTextLayout4_AddRef(This) (This)->lpVtbl->AddRef(This) 7212 #define IDWriteTextLayout4_Release(This) (This)->lpVtbl->Release(This) 7213 /*** IDWriteTextFormat methods ***/ 7214 #define IDWriteTextLayout4_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) 7215 #define IDWriteTextLayout4_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) 7216 #define IDWriteTextLayout4_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) 7217 #define IDWriteTextLayout4_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) 7218 #define IDWriteTextLayout4_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) 7219 #define IDWriteTextLayout4_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) 7220 #define IDWriteTextLayout4_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) 7221 #define IDWriteTextLayout4_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) 7222 #define IDWriteTextLayout4_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) 7223 #define IDWriteTextLayout4_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) 7224 #define IDWriteTextLayout4_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) 7225 #define IDWriteTextLayout4_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) 7226 #define IDWriteTextLayout4_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) 7227 #define IDWriteTextLayout4_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) 7228 /*** IDWriteTextLayout methods ***/ 7229 #define IDWriteTextLayout4_SetMaxWidth(This,maxWidth) (This)->lpVtbl->SetMaxWidth(This,maxWidth) 7230 #define IDWriteTextLayout4_SetMaxHeight(This,maxHeight) (This)->lpVtbl->SetMaxHeight(This,maxHeight) 7231 #define IDWriteTextLayout4_SetFontCollection(This,collection,range) (This)->lpVtbl->SetFontCollection(This,collection,range) 7232 #define IDWriteTextLayout4_SetFontFamilyName(This,name,range) (This)->lpVtbl->SetFontFamilyName(This,name,range) 7233 #define IDWriteTextLayout4_SetFontWeight(This,weight,range) (This)->lpVtbl->SetFontWeight(This,weight,range) 7234 #define IDWriteTextLayout4_SetFontStyle(This,style,range) (This)->lpVtbl->SetFontStyle(This,style,range) 7235 #define IDWriteTextLayout4_SetFontStretch(This,stretch,range) (This)->lpVtbl->SetFontStretch(This,stretch,range) 7236 #define IDWriteTextLayout4_SetFontSize(This,size,range) (This)->lpVtbl->SetFontSize(This,size,range) 7237 #define IDWriteTextLayout4_SetUnderline(This,underline,range) (This)->lpVtbl->SetUnderline(This,underline,range) 7238 #define IDWriteTextLayout4_SetStrikethrough(This,strikethrough,range) (This)->lpVtbl->SetStrikethrough(This,strikethrough,range) 7239 #define IDWriteTextLayout4_SetDrawingEffect(This,effect,range) (This)->lpVtbl->SetDrawingEffect(This,effect,range) 7240 #define IDWriteTextLayout4_SetInlineObject(This,object,range) (This)->lpVtbl->SetInlineObject(This,object,range) 7241 #define IDWriteTextLayout4_SetTypography(This,typography,range) (This)->lpVtbl->SetTypography(This,typography,range) 7242 #define IDWriteTextLayout4_SetLocaleName(This,locale,range) (This)->lpVtbl->SetLocaleName(This,locale,range) 7243 #define IDWriteTextLayout4_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) 7244 #define IDWriteTextLayout4_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) 7245 #define IDWriteTextLayout4_GetFontCollection(This,pos,collection,range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range) 7246 #define IDWriteTextLayout4_GetFontFamilyNameLength(This,pos,len,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range) 7247 #define IDWriteTextLayout4_GetFontFamilyName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range) 7248 #define IDWriteTextLayout4_GetFontWeight(This,position,weight,range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range) 7249 #define IDWriteTextLayout4_GetFontStyle(This,currentPosition,style,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range) 7250 #define IDWriteTextLayout4_GetFontStretch(This,position,stretch,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range) 7251 #define IDWriteTextLayout4_GetFontSize(This,position,size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range) 7252 #define IDWriteTextLayout4_GetUnderline(This,position,has_underline,range) (This)->lpVtbl->GetUnderline(This,position,has_underline,range) 7253 #define IDWriteTextLayout4_GetStrikethrough(This,position,has_strikethrough,range) (This)->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range) 7254 #define IDWriteTextLayout4_GetDrawingEffect(This,position,effect,range) (This)->lpVtbl->GetDrawingEffect(This,position,effect,range) 7255 #define IDWriteTextLayout4_GetInlineObject(This,position,object,range) (This)->lpVtbl->GetInlineObject(This,position,object,range) 7256 #define IDWriteTextLayout4_GetTypography(This,position,typography,range) (This)->lpVtbl->GetTypography(This,position,typography,range) 7257 #define IDWriteTextLayout4_GetLocaleNameLength(This,position,length,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range) 7258 #define IDWriteTextLayout4_GetLocaleName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range) 7259 #define IDWriteTextLayout4_Draw(This,context,renderer,originX,originY) (This)->lpVtbl->Draw(This,context,renderer,originX,originY) 7260 #define IDWriteTextLayout4_GetOverhangMetrics(This,overhangs) (This)->lpVtbl->GetOverhangMetrics(This,overhangs) 7261 #define IDWriteTextLayout4_GetClusterMetrics(This,metrics,max_count,act_count) (This)->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count) 7262 #define IDWriteTextLayout4_DetermineMinWidth(This,min_width) (This)->lpVtbl->DetermineMinWidth(This,min_width) 7263 #define IDWriteTextLayout4_HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) (This)->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) 7264 #define IDWriteTextLayout4_HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) (This)->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) 7265 #define IDWriteTextLayout4_HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount) (This)->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount) 7266 /*** IDWriteTextLayout1 methods ***/ 7267 #define IDWriteTextLayout4_SetPairKerning(This,is_pairkerning_enabled,range) (This)->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range) 7268 #define IDWriteTextLayout4_GetPairKerning(This,position,is_pairkerning_enabled,range) (This)->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range) 7269 #define IDWriteTextLayout4_SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) (This)->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) 7270 #define IDWriteTextLayout4_GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range) (This)->lpVtbl->GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range) 7271 /*** IDWriteTextLayout2 methods ***/ 7272 #define IDWriteTextLayout4_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics) 7273 #define IDWriteTextLayout4_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) 7274 #define IDWriteTextLayout4_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) 7275 #define IDWriteTextLayout4_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) 7276 #define IDWriteTextLayout4_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) 7277 #define IDWriteTextLayout4_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) 7278 #define IDWriteTextLayout4_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) 7279 #define IDWriteTextLayout4_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) 7280 #define IDWriteTextLayout4_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) 7281 /*** IDWriteTextLayout3 methods ***/ 7282 #define IDWriteTextLayout4_InvalidateLayout(This) (This)->lpVtbl->InvalidateLayout(This) 7283 #define IDWriteTextLayout4_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing) 7284 #define IDWriteTextLayout4_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing) 7285 #define IDWriteTextLayout4_GetLineMetrics(This,metrics,max_count,count) (This)->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) 7286 /*** IDWriteTextLayout4 methods ***/ 7287 #define IDWriteTextLayout4_SetFontAxisValues(This,axis_values,num_values,range) (This)->lpVtbl->SetFontAxisValues(This,axis_values,num_values,range) 7288 #define IDWriteTextLayout4_GetFontAxisValueCount(This,pos) (This)->lpVtbl->GetFontAxisValueCount(This,pos) 7289 #define IDWriteTextLayout4_GetFontAxisValues(This,pos,values,num_values,range) (This)->lpVtbl->GetFontAxisValues(This,pos,values,num_values,range) 7290 #define IDWriteTextLayout4_GetAutomaticFontAxes(This) (This)->lpVtbl->GetAutomaticFontAxes(This) 7291 #define IDWriteTextLayout4_SetAutomaticFontAxes(This,axes) (This)->lpVtbl->SetAutomaticFontAxes(This,axes) 7292 #else 7293 /*** IUnknown methods ***/ 7294 static inline HRESULT IDWriteTextLayout4_QueryInterface(IDWriteTextLayout4* This,REFIID riid,void **ppvObject) { 7295 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7296 } 7297 static inline ULONG IDWriteTextLayout4_AddRef(IDWriteTextLayout4* This) { 7298 return This->lpVtbl->AddRef(This); 7299 } 7300 static inline ULONG IDWriteTextLayout4_Release(IDWriteTextLayout4* This) { 7301 return This->lpVtbl->Release(This); 7302 } 7303 /*** IDWriteTextFormat methods ***/ 7304 static inline HRESULT IDWriteTextLayout4_SetTextAlignment(IDWriteTextLayout4* This,DWRITE_TEXT_ALIGNMENT alignment) { 7305 return This->lpVtbl->SetTextAlignment(This,alignment); 7306 } 7307 static inline HRESULT IDWriteTextLayout4_SetParagraphAlignment(IDWriteTextLayout4* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { 7308 return This->lpVtbl->SetParagraphAlignment(This,alignment); 7309 } 7310 static inline HRESULT IDWriteTextLayout4_SetWordWrapping(IDWriteTextLayout4* This,DWRITE_WORD_WRAPPING wrapping) { 7311 return This->lpVtbl->SetWordWrapping(This,wrapping); 7312 } 7313 static inline HRESULT IDWriteTextLayout4_SetReadingDirection(IDWriteTextLayout4* This,DWRITE_READING_DIRECTION direction) { 7314 return This->lpVtbl->SetReadingDirection(This,direction); 7315 } 7316 static inline HRESULT IDWriteTextLayout4_SetFlowDirection(IDWriteTextLayout4* This,DWRITE_FLOW_DIRECTION direction) { 7317 return This->lpVtbl->SetFlowDirection(This,direction); 7318 } 7319 static inline HRESULT IDWriteTextLayout4_SetIncrementalTabStop(IDWriteTextLayout4* This,FLOAT tabstop) { 7320 return This->lpVtbl->SetIncrementalTabStop(This,tabstop); 7321 } 7322 static inline HRESULT IDWriteTextLayout4_SetTrimming(IDWriteTextLayout4* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { 7323 return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); 7324 } 7325 static inline DWRITE_TEXT_ALIGNMENT IDWriteTextLayout4_GetTextAlignment(IDWriteTextLayout4* This) { 7326 return This->lpVtbl->GetTextAlignment(This); 7327 } 7328 static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout4_GetParagraphAlignment(IDWriteTextLayout4* This) { 7329 return This->lpVtbl->GetParagraphAlignment(This); 7330 } 7331 static inline DWRITE_WORD_WRAPPING IDWriteTextLayout4_GetWordWrapping(IDWriteTextLayout4* This) { 7332 return This->lpVtbl->GetWordWrapping(This); 7333 } 7334 static inline DWRITE_READING_DIRECTION IDWriteTextLayout4_GetReadingDirection(IDWriteTextLayout4* This) { 7335 return This->lpVtbl->GetReadingDirection(This); 7336 } 7337 static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout4_GetFlowDirection(IDWriteTextLayout4* This) { 7338 return This->lpVtbl->GetFlowDirection(This); 7339 } 7340 static inline FLOAT IDWriteTextLayout4_GetIncrementalTabStop(IDWriteTextLayout4* This) { 7341 return This->lpVtbl->GetIncrementalTabStop(This); 7342 } 7343 static inline HRESULT IDWriteTextLayout4_GetTrimming(IDWriteTextLayout4* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { 7344 return This->lpVtbl->GetTrimming(This,options,trimming_sign); 7345 } 7346 /*** IDWriteTextLayout methods ***/ 7347 static inline HRESULT IDWriteTextLayout4_SetMaxWidth(IDWriteTextLayout4* This,FLOAT maxWidth) { 7348 return This->lpVtbl->SetMaxWidth(This,maxWidth); 7349 } 7350 static inline HRESULT IDWriteTextLayout4_SetMaxHeight(IDWriteTextLayout4* This,FLOAT maxHeight) { 7351 return This->lpVtbl->SetMaxHeight(This,maxHeight); 7352 } 7353 static inline HRESULT IDWriteTextLayout4_SetFontCollection(IDWriteTextLayout4* This,IDWriteFontCollection *collection,DWRITE_TEXT_RANGE range) { 7354 return This->lpVtbl->SetFontCollection(This,collection,range); 7355 } 7356 static inline HRESULT IDWriteTextLayout4_SetFontFamilyName(IDWriteTextLayout4* This,const WCHAR *name,DWRITE_TEXT_RANGE range) { 7357 return This->lpVtbl->SetFontFamilyName(This,name,range); 7358 } 7359 static inline HRESULT IDWriteTextLayout4_SetFontWeight(IDWriteTextLayout4* This,DWRITE_FONT_WEIGHT weight,DWRITE_TEXT_RANGE range) { 7360 return This->lpVtbl->SetFontWeight(This,weight,range); 7361 } 7362 static inline HRESULT IDWriteTextLayout4_SetFontStyle(IDWriteTextLayout4* This,DWRITE_FONT_STYLE style,DWRITE_TEXT_RANGE range) { 7363 return This->lpVtbl->SetFontStyle(This,style,range); 7364 } 7365 static inline HRESULT IDWriteTextLayout4_SetFontStretch(IDWriteTextLayout4* This,DWRITE_FONT_STRETCH stretch,DWRITE_TEXT_RANGE range) { 7366 return This->lpVtbl->SetFontStretch(This,stretch,range); 7367 } 7368 static inline HRESULT IDWriteTextLayout4_SetFontSize(IDWriteTextLayout4* This,FLOAT size,DWRITE_TEXT_RANGE range) { 7369 return This->lpVtbl->SetFontSize(This,size,range); 7370 } 7371 static inline HRESULT IDWriteTextLayout4_SetUnderline(IDWriteTextLayout4* This,WINBOOL underline,DWRITE_TEXT_RANGE range) { 7372 return This->lpVtbl->SetUnderline(This,underline,range); 7373 } 7374 static inline HRESULT IDWriteTextLayout4_SetStrikethrough(IDWriteTextLayout4* This,WINBOOL strikethrough,DWRITE_TEXT_RANGE range) { 7375 return This->lpVtbl->SetStrikethrough(This,strikethrough,range); 7376 } 7377 static inline HRESULT IDWriteTextLayout4_SetDrawingEffect(IDWriteTextLayout4* This,IUnknown *effect,DWRITE_TEXT_RANGE range) { 7378 return This->lpVtbl->SetDrawingEffect(This,effect,range); 7379 } 7380 static inline HRESULT IDWriteTextLayout4_SetInlineObject(IDWriteTextLayout4* This,IDWriteInlineObject *object,DWRITE_TEXT_RANGE range) { 7381 return This->lpVtbl->SetInlineObject(This,object,range); 7382 } 7383 static inline HRESULT IDWriteTextLayout4_SetTypography(IDWriteTextLayout4* This,IDWriteTypography *typography,DWRITE_TEXT_RANGE range) { 7384 return This->lpVtbl->SetTypography(This,typography,range); 7385 } 7386 static inline HRESULT IDWriteTextLayout4_SetLocaleName(IDWriteTextLayout4* This,const WCHAR *locale,DWRITE_TEXT_RANGE range) { 7387 return This->lpVtbl->SetLocaleName(This,locale,range); 7388 } 7389 static inline FLOAT IDWriteTextLayout4_GetMaxWidth(IDWriteTextLayout4* This) { 7390 return This->lpVtbl->GetMaxWidth(This); 7391 } 7392 static inline FLOAT IDWriteTextLayout4_GetMaxHeight(IDWriteTextLayout4* This) { 7393 return This->lpVtbl->GetMaxHeight(This); 7394 } 7395 static inline HRESULT IDWriteTextLayout4_GetFontCollection(IDWriteTextLayout4* This,UINT32 pos,IDWriteFontCollection **collection,DWRITE_TEXT_RANGE *range) { 7396 return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range); 7397 } 7398 static inline HRESULT IDWriteTextLayout4_GetFontFamilyNameLength(IDWriteTextLayout4* This,UINT32 pos,UINT32 *len,DWRITE_TEXT_RANGE *range) { 7399 return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range); 7400 } 7401 static inline HRESULT IDWriteTextLayout4_GetFontFamilyName(IDWriteTextLayout4* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { 7402 return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range); 7403 } 7404 static inline HRESULT IDWriteTextLayout4_GetFontWeight(IDWriteTextLayout4* This,UINT32 position,DWRITE_FONT_WEIGHT *weight,DWRITE_TEXT_RANGE *range) { 7405 return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range); 7406 } 7407 static inline HRESULT IDWriteTextLayout4_GetFontStyle(IDWriteTextLayout4* This,UINT32 currentPosition,DWRITE_FONT_STYLE *style,DWRITE_TEXT_RANGE *range) { 7408 return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range); 7409 } 7410 static inline HRESULT IDWriteTextLayout4_GetFontStretch(IDWriteTextLayout4* This,UINT32 position,DWRITE_FONT_STRETCH *stretch,DWRITE_TEXT_RANGE *range) { 7411 return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range); 7412 } 7413 static inline HRESULT IDWriteTextLayout4_GetFontSize(IDWriteTextLayout4* This,UINT32 position,FLOAT *size,DWRITE_TEXT_RANGE *range) { 7414 return This->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range); 7415 } 7416 static inline HRESULT IDWriteTextLayout4_GetUnderline(IDWriteTextLayout4* This,UINT32 position,WINBOOL *has_underline,DWRITE_TEXT_RANGE *range) { 7417 return This->lpVtbl->GetUnderline(This,position,has_underline,range); 7418 } 7419 static inline HRESULT IDWriteTextLayout4_GetStrikethrough(IDWriteTextLayout4* This,UINT32 position,WINBOOL *has_strikethrough,DWRITE_TEXT_RANGE *range) { 7420 return This->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range); 7421 } 7422 static inline HRESULT IDWriteTextLayout4_GetDrawingEffect(IDWriteTextLayout4* This,UINT32 position,IUnknown **effect,DWRITE_TEXT_RANGE *range) { 7423 return This->lpVtbl->GetDrawingEffect(This,position,effect,range); 7424 } 7425 static inline HRESULT IDWriteTextLayout4_GetInlineObject(IDWriteTextLayout4* This,UINT32 position,IDWriteInlineObject **object,DWRITE_TEXT_RANGE *range) { 7426 return This->lpVtbl->GetInlineObject(This,position,object,range); 7427 } 7428 static inline HRESULT IDWriteTextLayout4_GetTypography(IDWriteTextLayout4* This,UINT32 position,IDWriteTypography **typography,DWRITE_TEXT_RANGE *range) { 7429 return This->lpVtbl->GetTypography(This,position,typography,range); 7430 } 7431 static inline HRESULT IDWriteTextLayout4_GetLocaleNameLength(IDWriteTextLayout4* This,UINT32 position,UINT32 *length,DWRITE_TEXT_RANGE *range) { 7432 return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range); 7433 } 7434 static inline HRESULT IDWriteTextLayout4_GetLocaleName(IDWriteTextLayout4* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { 7435 return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range); 7436 } 7437 static inline HRESULT IDWriteTextLayout4_Draw(IDWriteTextLayout4* This,void *context,IDWriteTextRenderer *renderer,FLOAT originX,FLOAT originY) { 7438 return This->lpVtbl->Draw(This,context,renderer,originX,originY); 7439 } 7440 static inline HRESULT IDWriteTextLayout4_GetOverhangMetrics(IDWriteTextLayout4* This,DWRITE_OVERHANG_METRICS *overhangs) { 7441 return This->lpVtbl->GetOverhangMetrics(This,overhangs); 7442 } 7443 static inline HRESULT IDWriteTextLayout4_GetClusterMetrics(IDWriteTextLayout4* This,DWRITE_CLUSTER_METRICS *metrics,UINT32 max_count,UINT32 *act_count) { 7444 return This->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count); 7445 } 7446 static inline HRESULT IDWriteTextLayout4_DetermineMinWidth(IDWriteTextLayout4* This,FLOAT *min_width) { 7447 return This->lpVtbl->DetermineMinWidth(This,min_width); 7448 } 7449 static inline HRESULT IDWriteTextLayout4_HitTestPoint(IDWriteTextLayout4* This,FLOAT pointX,FLOAT pointY,WINBOOL *is_trailinghit,WINBOOL *is_inside,DWRITE_HIT_TEST_METRICS *metrics) { 7450 return This->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics); 7451 } 7452 static inline HRESULT IDWriteTextLayout4_HitTestTextPosition(IDWriteTextLayout4* This,UINT32 textPosition,WINBOOL is_trailinghit,FLOAT *pointX,FLOAT *pointY,DWRITE_HIT_TEST_METRICS *metrics) { 7453 return This->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics); 7454 } 7455 static inline HRESULT IDWriteTextLayout4_HitTestTextRange(IDWriteTextLayout4* This,UINT32 textPosition,UINT32 textLength,FLOAT originX,FLOAT originY,DWRITE_HIT_TEST_METRICS *metrics,UINT32 max_metricscount,UINT32 *actual_metricscount) { 7456 return This->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount); 7457 } 7458 /*** IDWriteTextLayout1 methods ***/ 7459 static inline HRESULT IDWriteTextLayout4_SetPairKerning(IDWriteTextLayout4* This,WINBOOL is_pairkerning_enabled,DWRITE_TEXT_RANGE range) { 7460 return This->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range); 7461 } 7462 static inline HRESULT IDWriteTextLayout4_GetPairKerning(IDWriteTextLayout4* This,UINT32 position,WINBOOL *is_pairkerning_enabled,DWRITE_TEXT_RANGE *range) { 7463 return This->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range); 7464 } 7465 static inline HRESULT IDWriteTextLayout4_SetCharacterSpacing(IDWriteTextLayout4* This,FLOAT leading_spacing,FLOAT trailing_spacing,FLOAT minimum_advance_width,DWRITE_TEXT_RANGE range) { 7466 return This->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range); 7467 } 7468 static inline HRESULT IDWriteTextLayout4_GetCharacterSpacing(IDWriteTextLayout4* This,UINT32 position,FLOAT *leading_spacing,FLOAT *trailing_spacing,FLOAT *minimum_advance_width,DWRITE_TEXT_RANGE *range) { 7469 return This->lpVtbl->GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range); 7470 } 7471 /*** IDWriteTextLayout2 methods ***/ 7472 static inline HRESULT IDWriteTextLayout4_GetMetrics(IDWriteTextLayout4* This,DWRITE_TEXT_METRICS1 *metrics) { 7473 return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics); 7474 } 7475 static inline HRESULT IDWriteTextLayout4_SetVerticalGlyphOrientation(IDWriteTextLayout4* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { 7476 return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); 7477 } 7478 static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout4_GetVerticalGlyphOrientation(IDWriteTextLayout4* This) { 7479 return This->lpVtbl->GetVerticalGlyphOrientation(This); 7480 } 7481 static inline HRESULT IDWriteTextLayout4_SetLastLineWrapping(IDWriteTextLayout4* This,WINBOOL lastline_wrapping_enabled) { 7482 return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); 7483 } 7484 static inline WINBOOL IDWriteTextLayout4_GetLastLineWrapping(IDWriteTextLayout4* This) { 7485 return This->lpVtbl->GetLastLineWrapping(This); 7486 } 7487 static inline HRESULT IDWriteTextLayout4_SetOpticalAlignment(IDWriteTextLayout4* This,DWRITE_OPTICAL_ALIGNMENT alignment) { 7488 return This->lpVtbl->SetOpticalAlignment(This,alignment); 7489 } 7490 static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout4_GetOpticalAlignment(IDWriteTextLayout4* This) { 7491 return This->lpVtbl->GetOpticalAlignment(This); 7492 } 7493 static inline HRESULT IDWriteTextLayout4_SetFontFallback(IDWriteTextLayout4* This,IDWriteFontFallback *fallback) { 7494 return This->lpVtbl->SetFontFallback(This,fallback); 7495 } 7496 static inline HRESULT IDWriteTextLayout4_GetFontFallback(IDWriteTextLayout4* This,IDWriteFontFallback **fallback) { 7497 return This->lpVtbl->GetFontFallback(This,fallback); 7498 } 7499 /*** IDWriteTextLayout3 methods ***/ 7500 static inline HRESULT IDWriteTextLayout4_InvalidateLayout(IDWriteTextLayout4* This) { 7501 return This->lpVtbl->InvalidateLayout(This); 7502 } 7503 static inline HRESULT IDWriteTextLayout4_SetLineSpacing(IDWriteTextLayout4* This,const DWRITE_LINE_SPACING *spacing) { 7504 return This->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing); 7505 } 7506 static inline HRESULT IDWriteTextLayout4_GetLineSpacing(IDWriteTextLayout4* This,DWRITE_LINE_SPACING *spacing) { 7507 return This->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing); 7508 } 7509 static inline HRESULT IDWriteTextLayout4_GetLineMetrics(IDWriteTextLayout4* This,DWRITE_LINE_METRICS1 *metrics,UINT32 max_count,UINT32 *count) { 7510 return This->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count); 7511 } 7512 /*** IDWriteTextLayout4 methods ***/ 7513 static inline HRESULT IDWriteTextLayout4_SetFontAxisValues(IDWriteTextLayout4* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,DWRITE_TEXT_RANGE range) { 7514 return This->lpVtbl->SetFontAxisValues(This,axis_values,num_values,range); 7515 } 7516 static inline UINT32 IDWriteTextLayout4_GetFontAxisValueCount(IDWriteTextLayout4* This,UINT32 pos) { 7517 return This->lpVtbl->GetFontAxisValueCount(This,pos); 7518 } 7519 static inline HRESULT IDWriteTextLayout4_GetFontAxisValues(IDWriteTextLayout4* This,UINT32 pos,DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values,DWRITE_TEXT_RANGE *range) { 7520 return This->lpVtbl->GetFontAxisValues(This,pos,values,num_values,range); 7521 } 7522 static inline DWRITE_AUTOMATIC_FONT_AXES IDWriteTextLayout4_GetAutomaticFontAxes(IDWriteTextLayout4* This) { 7523 return This->lpVtbl->GetAutomaticFontAxes(This); 7524 } 7525 static inline HRESULT IDWriteTextLayout4_SetAutomaticFontAxes(IDWriteTextLayout4* This,DWRITE_AUTOMATIC_FONT_AXES axes) { 7526 return This->lpVtbl->SetAutomaticFontAxes(This,axes); 7527 } 7528 #endif 7529 #endif 7530 7531 #endif 7532 7533 7534 #endif /* __IDWriteTextLayout4_INTERFACE_DEFINED__ */ 7535 7536 /***************************************************************************** 7537 * IDWriteFontFallback1 interface 7538 */ 7539 #ifndef __IDWriteFontFallback1_INTERFACE_DEFINED__ 7540 #define __IDWriteFontFallback1_INTERFACE_DEFINED__ 7541 7542 DEFINE_GUID(IID_IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd,0x6a, 0xf4,0xf3,0x1e,0xaa,0xde,0x77); 7543 #if defined(__cplusplus) && !defined(CINTERFACE) 7544 MIDL_INTERFACE("2397599d-dd0d-4681-bd6a-f4f31eaade77") 7545 IDWriteFontFallback1 : public IDWriteFontFallback 7546 { 7547 virtual HRESULT STDMETHODCALLTYPE MapCharacters( 7548 IDWriteTextAnalysisSource *source, 7549 UINT32 pos, 7550 UINT32 length, 7551 IDWriteFontCollection *base_collection, 7552 const WCHAR *familyname, 7553 const DWRITE_FONT_AXIS_VALUE *axis_values, 7554 UINT32 num_values, 7555 UINT32 *mapped_length, 7556 FLOAT *scale, 7557 IDWriteFontFace5 **fontface) = 0; 7558 7559 }; 7560 #ifdef __CRT_UUID_DECL 7561 __CRT_UUID_DECL(IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd,0x6a, 0xf4,0xf3,0x1e,0xaa,0xde,0x77) 7562 #endif 7563 #else 7564 typedef struct IDWriteFontFallback1Vtbl { 7565 BEGIN_INTERFACE 7566 7567 /*** IUnknown methods ***/ 7568 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7569 IDWriteFontFallback1 *This, 7570 REFIID riid, 7571 void **ppvObject); 7572 7573 ULONG (STDMETHODCALLTYPE *AddRef)( 7574 IDWriteFontFallback1 *This); 7575 7576 ULONG (STDMETHODCALLTYPE *Release)( 7577 IDWriteFontFallback1 *This); 7578 7579 /*** IDWriteFontFallback methods ***/ 7580 HRESULT (STDMETHODCALLTYPE *MapCharacters)( 7581 IDWriteFontFallback1 *This, 7582 IDWriteTextAnalysisSource *source, 7583 UINT32 position, 7584 UINT32 length, 7585 IDWriteFontCollection *basecollection, 7586 const WCHAR *baseFamilyName, 7587 DWRITE_FONT_WEIGHT baseWeight, 7588 DWRITE_FONT_STYLE baseStyle, 7589 DWRITE_FONT_STRETCH baseStretch, 7590 UINT32 *mappedLength, 7591 IDWriteFont **mappedFont, 7592 FLOAT *scale); 7593 7594 /*** IDWriteFontFallback1 methods ***/ 7595 HRESULT (STDMETHODCALLTYPE *IDWriteFontFallback1_MapCharacters)( 7596 IDWriteFontFallback1 *This, 7597 IDWriteTextAnalysisSource *source, 7598 UINT32 pos, 7599 UINT32 length, 7600 IDWriteFontCollection *base_collection, 7601 const WCHAR *familyname, 7602 const DWRITE_FONT_AXIS_VALUE *axis_values, 7603 UINT32 num_values, 7604 UINT32 *mapped_length, 7605 FLOAT *scale, 7606 IDWriteFontFace5 **fontface); 7607 7608 END_INTERFACE 7609 } IDWriteFontFallback1Vtbl; 7610 7611 interface IDWriteFontFallback1 { 7612 CONST_VTBL IDWriteFontFallback1Vtbl* lpVtbl; 7613 }; 7614 7615 #ifdef COBJMACROS 7616 #ifndef WIDL_C_INLINE_WRAPPERS 7617 /*** IUnknown methods ***/ 7618 #define IDWriteFontFallback1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7619 #define IDWriteFontFallback1_AddRef(This) (This)->lpVtbl->AddRef(This) 7620 #define IDWriteFontFallback1_Release(This) (This)->lpVtbl->Release(This) 7621 /*** IDWriteFontFallback methods ***/ 7622 /*** IDWriteFontFallback1 methods ***/ 7623 #define IDWriteFontFallback1_MapCharacters(This,source,pos,length,base_collection,familyname,axis_values,num_values,mapped_length,scale,fontface) (This)->lpVtbl->IDWriteFontFallback1_MapCharacters(This,source,pos,length,base_collection,familyname,axis_values,num_values,mapped_length,scale,fontface) 7624 #else 7625 /*** IUnknown methods ***/ 7626 static inline HRESULT IDWriteFontFallback1_QueryInterface(IDWriteFontFallback1* This,REFIID riid,void **ppvObject) { 7627 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7628 } 7629 static inline ULONG IDWriteFontFallback1_AddRef(IDWriteFontFallback1* This) { 7630 return This->lpVtbl->AddRef(This); 7631 } 7632 static inline ULONG IDWriteFontFallback1_Release(IDWriteFontFallback1* This) { 7633 return This->lpVtbl->Release(This); 7634 } 7635 /*** IDWriteFontFallback methods ***/ 7636 /*** IDWriteFontFallback1 methods ***/ 7637 static inline HRESULT IDWriteFontFallback1_MapCharacters(IDWriteFontFallback1* This,IDWriteTextAnalysisSource *source,UINT32 pos,UINT32 length,IDWriteFontCollection *base_collection,const WCHAR *familyname,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,UINT32 *mapped_length,FLOAT *scale,IDWriteFontFace5 **fontface) { 7638 return This->lpVtbl->IDWriteFontFallback1_MapCharacters(This,source,pos,length,base_collection,familyname,axis_values,num_values,mapped_length,scale,fontface); 7639 } 7640 #endif 7641 #endif 7642 7643 #endif 7644 7645 7646 #endif /* __IDWriteFontFallback1_INTERFACE_DEFINED__ */ 7647 7648 /***************************************************************************** 7649 * IDWriteGdiInterop1 interface 7650 */ 7651 #ifndef __IDWriteGdiInterop1_INTERFACE_DEFINED__ 7652 #define __IDWriteGdiInterop1_INTERFACE_DEFINED__ 7653 7654 DEFINE_GUID(IID_IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90,0xbe, 0x42,0x17,0x80,0xa6,0xf5,0x15); 7655 #if defined(__cplusplus) && !defined(CINTERFACE) 7656 MIDL_INTERFACE("4556be70-3abd-4f70-90be-421780a6f515") 7657 IDWriteGdiInterop1 : public IDWriteGdiInterop 7658 { 7659 virtual HRESULT STDMETHODCALLTYPE CreateFontFromLOGFONT( 7660 const LOGFONTW *logfont, 7661 IDWriteFontCollection *collection, 7662 IDWriteFont **font) = 0; 7663 7664 virtual HRESULT STDMETHODCALLTYPE GetFontSignature_( 7665 IDWriteFontFace *fontface, 7666 FONTSIGNATURE *fontsig) = 0; 7667 7668 virtual HRESULT STDMETHODCALLTYPE GetFontSignature( 7669 IDWriteFont *font, 7670 FONTSIGNATURE *fontsig) = 0; 7671 7672 virtual HRESULT STDMETHODCALLTYPE GetMatchingFontsByLOGFONT( 7673 const LOGFONTW *logfont, 7674 IDWriteFontSet *fontset, 7675 IDWriteFontSet **subset) = 0; 7676 7677 }; 7678 #ifdef __CRT_UUID_DECL 7679 __CRT_UUID_DECL(IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90,0xbe, 0x42,0x17,0x80,0xa6,0xf5,0x15) 7680 #endif 7681 #else 7682 typedef struct IDWriteGdiInterop1Vtbl { 7683 BEGIN_INTERFACE 7684 7685 /*** IUnknown methods ***/ 7686 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7687 IDWriteGdiInterop1 *This, 7688 REFIID riid, 7689 void **ppvObject); 7690 7691 ULONG (STDMETHODCALLTYPE *AddRef)( 7692 IDWriteGdiInterop1 *This); 7693 7694 ULONG (STDMETHODCALLTYPE *Release)( 7695 IDWriteGdiInterop1 *This); 7696 7697 /*** IDWriteGdiInterop methods ***/ 7698 HRESULT (STDMETHODCALLTYPE *CreateFontFromLOGFONT)( 7699 IDWriteGdiInterop1 *This, 7700 const LOGFONTW *logfont, 7701 IDWriteFont **font); 7702 7703 HRESULT (STDMETHODCALLTYPE *ConvertFontToLOGFONT)( 7704 IDWriteGdiInterop1 *This, 7705 IDWriteFont *font, 7706 LOGFONTW *logfont, 7707 WINBOOL *is_systemfont); 7708 7709 HRESULT (STDMETHODCALLTYPE *ConvertFontFaceToLOGFONT)( 7710 IDWriteGdiInterop1 *This, 7711 IDWriteFontFace *font, 7712 LOGFONTW *logfont); 7713 7714 HRESULT (STDMETHODCALLTYPE *CreateFontFaceFromHdc)( 7715 IDWriteGdiInterop1 *This, 7716 HDC hdc, 7717 IDWriteFontFace **fontface); 7718 7719 HRESULT (STDMETHODCALLTYPE *CreateBitmapRenderTarget)( 7720 IDWriteGdiInterop1 *This, 7721 HDC hdc, 7722 UINT32 width, 7723 UINT32 height, 7724 IDWriteBitmapRenderTarget **target); 7725 7726 /*** IDWriteGdiInterop1 methods ***/ 7727 HRESULT (STDMETHODCALLTYPE *IDWriteGdiInterop1_CreateFontFromLOGFONT)( 7728 IDWriteGdiInterop1 *This, 7729 const LOGFONTW *logfont, 7730 IDWriteFontCollection *collection, 7731 IDWriteFont **font); 7732 7733 HRESULT (STDMETHODCALLTYPE *GetFontSignature_)( 7734 IDWriteGdiInterop1 *This, 7735 IDWriteFontFace *fontface, 7736 FONTSIGNATURE *fontsig); 7737 7738 HRESULT (STDMETHODCALLTYPE *GetFontSignature)( 7739 IDWriteGdiInterop1 *This, 7740 IDWriteFont *font, 7741 FONTSIGNATURE *fontsig); 7742 7743 HRESULT (STDMETHODCALLTYPE *GetMatchingFontsByLOGFONT)( 7744 IDWriteGdiInterop1 *This, 7745 const LOGFONTW *logfont, 7746 IDWriteFontSet *fontset, 7747 IDWriteFontSet **subset); 7748 7749 END_INTERFACE 7750 } IDWriteGdiInterop1Vtbl; 7751 7752 interface IDWriteGdiInterop1 { 7753 CONST_VTBL IDWriteGdiInterop1Vtbl* lpVtbl; 7754 }; 7755 7756 #ifdef COBJMACROS 7757 #ifndef WIDL_C_INLINE_WRAPPERS 7758 /*** IUnknown methods ***/ 7759 #define IDWriteGdiInterop1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7760 #define IDWriteGdiInterop1_AddRef(This) (This)->lpVtbl->AddRef(This) 7761 #define IDWriteGdiInterop1_Release(This) (This)->lpVtbl->Release(This) 7762 /*** IDWriteGdiInterop methods ***/ 7763 #define IDWriteGdiInterop1_ConvertFontToLOGFONT(This,font,logfont,is_systemfont) (This)->lpVtbl->ConvertFontToLOGFONT(This,font,logfont,is_systemfont) 7764 #define IDWriteGdiInterop1_ConvertFontFaceToLOGFONT(This,font,logfont) (This)->lpVtbl->ConvertFontFaceToLOGFONT(This,font,logfont) 7765 #define IDWriteGdiInterop1_CreateFontFaceFromHdc(This,hdc,fontface) (This)->lpVtbl->CreateFontFaceFromHdc(This,hdc,fontface) 7766 #define IDWriteGdiInterop1_CreateBitmapRenderTarget(This,hdc,width,height,target) (This)->lpVtbl->CreateBitmapRenderTarget(This,hdc,width,height,target) 7767 /*** IDWriteGdiInterop1 methods ***/ 7768 #define IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font) (This)->lpVtbl->IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font) 7769 #define IDWriteGdiInterop1_GetFontSignature_(This,fontface,fontsig) (This)->lpVtbl->GetFontSignature_(This,fontface,fontsig) 7770 #define IDWriteGdiInterop1_GetFontSignature(This,font,fontsig) (This)->lpVtbl->GetFontSignature(This,font,fontsig) 7771 #define IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(This,logfont,fontset,subset) (This)->lpVtbl->GetMatchingFontsByLOGFONT(This,logfont,fontset,subset) 7772 #else 7773 /*** IUnknown methods ***/ 7774 static inline HRESULT IDWriteGdiInterop1_QueryInterface(IDWriteGdiInterop1* This,REFIID riid,void **ppvObject) { 7775 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7776 } 7777 static inline ULONG IDWriteGdiInterop1_AddRef(IDWriteGdiInterop1* This) { 7778 return This->lpVtbl->AddRef(This); 7779 } 7780 static inline ULONG IDWriteGdiInterop1_Release(IDWriteGdiInterop1* This) { 7781 return This->lpVtbl->Release(This); 7782 } 7783 /*** IDWriteGdiInterop methods ***/ 7784 static inline HRESULT IDWriteGdiInterop1_ConvertFontToLOGFONT(IDWriteGdiInterop1* This,IDWriteFont *font,LOGFONTW *logfont,WINBOOL *is_systemfont) { 7785 return This->lpVtbl->ConvertFontToLOGFONT(This,font,logfont,is_systemfont); 7786 } 7787 static inline HRESULT IDWriteGdiInterop1_ConvertFontFaceToLOGFONT(IDWriteGdiInterop1* This,IDWriteFontFace *font,LOGFONTW *logfont) { 7788 return This->lpVtbl->ConvertFontFaceToLOGFONT(This,font,logfont); 7789 } 7790 static inline HRESULT IDWriteGdiInterop1_CreateFontFaceFromHdc(IDWriteGdiInterop1* This,HDC hdc,IDWriteFontFace **fontface) { 7791 return This->lpVtbl->CreateFontFaceFromHdc(This,hdc,fontface); 7792 } 7793 static inline HRESULT IDWriteGdiInterop1_CreateBitmapRenderTarget(IDWriteGdiInterop1* This,HDC hdc,UINT32 width,UINT32 height,IDWriteBitmapRenderTarget **target) { 7794 return This->lpVtbl->CreateBitmapRenderTarget(This,hdc,width,height,target); 7795 } 7796 /*** IDWriteGdiInterop1 methods ***/ 7797 static inline HRESULT IDWriteGdiInterop1_CreateFontFromLOGFONT(IDWriteGdiInterop1* This,const LOGFONTW *logfont,IDWriteFontCollection *collection,IDWriteFont **font) { 7798 return This->lpVtbl->IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font); 7799 } 7800 static inline HRESULT IDWriteGdiInterop1_GetFontSignature_(IDWriteGdiInterop1* This,IDWriteFontFace *fontface,FONTSIGNATURE *fontsig) { 7801 return This->lpVtbl->GetFontSignature_(This,fontface,fontsig); 7802 } 7803 static inline HRESULT IDWriteGdiInterop1_GetFontSignature(IDWriteGdiInterop1* This,IDWriteFont *font,FONTSIGNATURE *fontsig) { 7804 return This->lpVtbl->GetFontSignature(This,font,fontsig); 7805 } 7806 static inline HRESULT IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(IDWriteGdiInterop1* This,const LOGFONTW *logfont,IDWriteFontSet *fontset,IDWriteFontSet **subset) { 7807 return This->lpVtbl->GetMatchingFontsByLOGFONT(This,logfont,fontset,subset); 7808 } 7809 #endif 7810 #endif 7811 7812 #endif 7813 7814 7815 #endif /* __IDWriteGdiInterop1_INTERFACE_DEFINED__ */ 7816 7817 /***************************************************************************** 7818 * IDWriteFontSetBuilder interface 7819 */ 7820 #ifndef __IDWriteFontSetBuilder_INTERFACE_DEFINED__ 7821 #define __IDWriteFontSetBuilder_INTERFACE_DEFINED__ 7822 7823 DEFINE_GUID(IID_IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8,0xbe, 0x45,0x74,0x01,0xaf,0xcb,0x3d); 7824 #if defined(__cplusplus) && !defined(CINTERFACE) 7825 MIDL_INTERFACE("2f642afe-9c68-4f40-b8be-457401afcb3d") 7826 IDWriteFontSetBuilder : public IUnknown 7827 { 7828 virtual HRESULT STDMETHODCALLTYPE AddFontFaceReference_( 7829 IDWriteFontFaceReference *ref, 7830 const DWRITE_FONT_PROPERTY *props, 7831 UINT32 prop_count) = 0; 7832 7833 virtual HRESULT STDMETHODCALLTYPE AddFontFaceReference( 7834 IDWriteFontFaceReference *ref) = 0; 7835 7836 virtual HRESULT STDMETHODCALLTYPE AddFontSet( 7837 IDWriteFontSet *fontset) = 0; 7838 7839 virtual HRESULT STDMETHODCALLTYPE CreateFontSet( 7840 IDWriteFontSet **fontset) = 0; 7841 7842 }; 7843 #ifdef __CRT_UUID_DECL 7844 __CRT_UUID_DECL(IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8,0xbe, 0x45,0x74,0x01,0xaf,0xcb,0x3d) 7845 #endif 7846 #else 7847 typedef struct IDWriteFontSetBuilderVtbl { 7848 BEGIN_INTERFACE 7849 7850 /*** IUnknown methods ***/ 7851 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7852 IDWriteFontSetBuilder *This, 7853 REFIID riid, 7854 void **ppvObject); 7855 7856 ULONG (STDMETHODCALLTYPE *AddRef)( 7857 IDWriteFontSetBuilder *This); 7858 7859 ULONG (STDMETHODCALLTYPE *Release)( 7860 IDWriteFontSetBuilder *This); 7861 7862 /*** IDWriteFontSetBuilder methods ***/ 7863 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( 7864 IDWriteFontSetBuilder *This, 7865 IDWriteFontFaceReference *ref, 7866 const DWRITE_FONT_PROPERTY *props, 7867 UINT32 prop_count); 7868 7869 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( 7870 IDWriteFontSetBuilder *This, 7871 IDWriteFontFaceReference *ref); 7872 7873 HRESULT (STDMETHODCALLTYPE *AddFontSet)( 7874 IDWriteFontSetBuilder *This, 7875 IDWriteFontSet *fontset); 7876 7877 HRESULT (STDMETHODCALLTYPE *CreateFontSet)( 7878 IDWriteFontSetBuilder *This, 7879 IDWriteFontSet **fontset); 7880 7881 END_INTERFACE 7882 } IDWriteFontSetBuilderVtbl; 7883 7884 interface IDWriteFontSetBuilder { 7885 CONST_VTBL IDWriteFontSetBuilderVtbl* lpVtbl; 7886 }; 7887 7888 #ifdef COBJMACROS 7889 #ifndef WIDL_C_INLINE_WRAPPERS 7890 /*** IUnknown methods ***/ 7891 #define IDWriteFontSetBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7892 #define IDWriteFontSetBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 7893 #define IDWriteFontSetBuilder_Release(This) (This)->lpVtbl->Release(This) 7894 /*** IDWriteFontSetBuilder methods ***/ 7895 #define IDWriteFontSetBuilder_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) 7896 #define IDWriteFontSetBuilder_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) 7897 #define IDWriteFontSetBuilder_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) 7898 #define IDWriteFontSetBuilder_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) 7899 #else 7900 /*** IUnknown methods ***/ 7901 static inline HRESULT IDWriteFontSetBuilder_QueryInterface(IDWriteFontSetBuilder* This,REFIID riid,void **ppvObject) { 7902 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7903 } 7904 static inline ULONG IDWriteFontSetBuilder_AddRef(IDWriteFontSetBuilder* This) { 7905 return This->lpVtbl->AddRef(This); 7906 } 7907 static inline ULONG IDWriteFontSetBuilder_Release(IDWriteFontSetBuilder* This) { 7908 return This->lpVtbl->Release(This); 7909 } 7910 /*** IDWriteFontSetBuilder methods ***/ 7911 static inline HRESULT IDWriteFontSetBuilder_AddFontFaceReference_(IDWriteFontSetBuilder* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { 7912 return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); 7913 } 7914 static inline HRESULT IDWriteFontSetBuilder_AddFontFaceReference(IDWriteFontSetBuilder* This,IDWriteFontFaceReference *ref) { 7915 return This->lpVtbl->AddFontFaceReference(This,ref); 7916 } 7917 static inline HRESULT IDWriteFontSetBuilder_AddFontSet(IDWriteFontSetBuilder* This,IDWriteFontSet *fontset) { 7918 return This->lpVtbl->AddFontSet(This,fontset); 7919 } 7920 static inline HRESULT IDWriteFontSetBuilder_CreateFontSet(IDWriteFontSetBuilder* This,IDWriteFontSet **fontset) { 7921 return This->lpVtbl->CreateFontSet(This,fontset); 7922 } 7923 #endif 7924 #endif 7925 7926 #endif 7927 7928 7929 #endif /* __IDWriteFontSetBuilder_INTERFACE_DEFINED__ */ 7930 7931 /***************************************************************************** 7932 * IDWriteFontSetBuilder1 interface 7933 */ 7934 #ifndef __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ 7935 #define __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ 7936 7937 DEFINE_GUID(IID_IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b,0x72, 0xec,0x56,0x21,0xdc,0xca,0xfd); 7938 #if defined(__cplusplus) && !defined(CINTERFACE) 7939 MIDL_INTERFACE("3ff7715f-3cdc-4dc6-9b72-ec5621dccafd") 7940 IDWriteFontSetBuilder1 : public IDWriteFontSetBuilder 7941 { 7942 virtual HRESULT STDMETHODCALLTYPE AddFontFile( 7943 IDWriteFontFile *file) = 0; 7944 7945 }; 7946 #ifdef __CRT_UUID_DECL 7947 __CRT_UUID_DECL(IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b,0x72, 0xec,0x56,0x21,0xdc,0xca,0xfd) 7948 #endif 7949 #else 7950 typedef struct IDWriteFontSetBuilder1Vtbl { 7951 BEGIN_INTERFACE 7952 7953 /*** IUnknown methods ***/ 7954 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7955 IDWriteFontSetBuilder1 *This, 7956 REFIID riid, 7957 void **ppvObject); 7958 7959 ULONG (STDMETHODCALLTYPE *AddRef)( 7960 IDWriteFontSetBuilder1 *This); 7961 7962 ULONG (STDMETHODCALLTYPE *Release)( 7963 IDWriteFontSetBuilder1 *This); 7964 7965 /*** IDWriteFontSetBuilder methods ***/ 7966 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( 7967 IDWriteFontSetBuilder1 *This, 7968 IDWriteFontFaceReference *ref, 7969 const DWRITE_FONT_PROPERTY *props, 7970 UINT32 prop_count); 7971 7972 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( 7973 IDWriteFontSetBuilder1 *This, 7974 IDWriteFontFaceReference *ref); 7975 7976 HRESULT (STDMETHODCALLTYPE *AddFontSet)( 7977 IDWriteFontSetBuilder1 *This, 7978 IDWriteFontSet *fontset); 7979 7980 HRESULT (STDMETHODCALLTYPE *CreateFontSet)( 7981 IDWriteFontSetBuilder1 *This, 7982 IDWriteFontSet **fontset); 7983 7984 /*** IDWriteFontSetBuilder1 methods ***/ 7985 HRESULT (STDMETHODCALLTYPE *AddFontFile)( 7986 IDWriteFontSetBuilder1 *This, 7987 IDWriteFontFile *file); 7988 7989 END_INTERFACE 7990 } IDWriteFontSetBuilder1Vtbl; 7991 7992 interface IDWriteFontSetBuilder1 { 7993 CONST_VTBL IDWriteFontSetBuilder1Vtbl* lpVtbl; 7994 }; 7995 7996 #ifdef COBJMACROS 7997 #ifndef WIDL_C_INLINE_WRAPPERS 7998 /*** IUnknown methods ***/ 7999 #define IDWriteFontSetBuilder1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8000 #define IDWriteFontSetBuilder1_AddRef(This) (This)->lpVtbl->AddRef(This) 8001 #define IDWriteFontSetBuilder1_Release(This) (This)->lpVtbl->Release(This) 8002 /*** IDWriteFontSetBuilder methods ***/ 8003 #define IDWriteFontSetBuilder1_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) 8004 #define IDWriteFontSetBuilder1_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) 8005 #define IDWriteFontSetBuilder1_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) 8006 #define IDWriteFontSetBuilder1_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) 8007 /*** IDWriteFontSetBuilder1 methods ***/ 8008 #define IDWriteFontSetBuilder1_AddFontFile(This,file) (This)->lpVtbl->AddFontFile(This,file) 8009 #else 8010 /*** IUnknown methods ***/ 8011 static inline HRESULT IDWriteFontSetBuilder1_QueryInterface(IDWriteFontSetBuilder1* This,REFIID riid,void **ppvObject) { 8012 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8013 } 8014 static inline ULONG IDWriteFontSetBuilder1_AddRef(IDWriteFontSetBuilder1* This) { 8015 return This->lpVtbl->AddRef(This); 8016 } 8017 static inline ULONG IDWriteFontSetBuilder1_Release(IDWriteFontSetBuilder1* This) { 8018 return This->lpVtbl->Release(This); 8019 } 8020 /*** IDWriteFontSetBuilder methods ***/ 8021 static inline HRESULT IDWriteFontSetBuilder1_AddFontFaceReference_(IDWriteFontSetBuilder1* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { 8022 return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); 8023 } 8024 static inline HRESULT IDWriteFontSetBuilder1_AddFontFaceReference(IDWriteFontSetBuilder1* This,IDWriteFontFaceReference *ref) { 8025 return This->lpVtbl->AddFontFaceReference(This,ref); 8026 } 8027 static inline HRESULT IDWriteFontSetBuilder1_AddFontSet(IDWriteFontSetBuilder1* This,IDWriteFontSet *fontset) { 8028 return This->lpVtbl->AddFontSet(This,fontset); 8029 } 8030 static inline HRESULT IDWriteFontSetBuilder1_CreateFontSet(IDWriteFontSetBuilder1* This,IDWriteFontSet **fontset) { 8031 return This->lpVtbl->CreateFontSet(This,fontset); 8032 } 8033 /*** IDWriteFontSetBuilder1 methods ***/ 8034 static inline HRESULT IDWriteFontSetBuilder1_AddFontFile(IDWriteFontSetBuilder1* This,IDWriteFontFile *file) { 8035 return This->lpVtbl->AddFontFile(This,file); 8036 } 8037 #endif 8038 #endif 8039 8040 #endif 8041 8042 8043 #endif /* __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ */ 8044 8045 /***************************************************************************** 8046 * IDWriteFontSetBuilder2 interface 8047 */ 8048 #ifndef __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ 8049 #define __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ 8050 8051 DEFINE_GUID(IID_IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f,0x4f, 0x31,0x89,0xb9,0x40,0x1e,0x45); 8052 #if defined(__cplusplus) && !defined(CINTERFACE) 8053 MIDL_INTERFACE("ee5ba612-b131-463c-8f4f-3189b9401e45") 8054 IDWriteFontSetBuilder2 : public IDWriteFontSetBuilder1 8055 { 8056 virtual HRESULT STDMETHODCALLTYPE AddFont( 8057 IDWriteFontFile *fontfile, 8058 UINT32 face_index, 8059 DWRITE_FONT_SIMULATIONS simulations, 8060 const DWRITE_FONT_AXIS_VALUE *axis_values, 8061 UINT32 num_values, 8062 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 8063 UINT32 num_ranges, 8064 const DWRITE_FONT_PROPERTY *props, 8065 UINT32 num_properties) = 0; 8066 8067 virtual HRESULT STDMETHODCALLTYPE AddFontFile( 8068 const WCHAR *filepath) = 0; 8069 8070 }; 8071 #ifdef __CRT_UUID_DECL 8072 __CRT_UUID_DECL(IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f,0x4f, 0x31,0x89,0xb9,0x40,0x1e,0x45) 8073 #endif 8074 #else 8075 typedef struct IDWriteFontSetBuilder2Vtbl { 8076 BEGIN_INTERFACE 8077 8078 /*** IUnknown methods ***/ 8079 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8080 IDWriteFontSetBuilder2 *This, 8081 REFIID riid, 8082 void **ppvObject); 8083 8084 ULONG (STDMETHODCALLTYPE *AddRef)( 8085 IDWriteFontSetBuilder2 *This); 8086 8087 ULONG (STDMETHODCALLTYPE *Release)( 8088 IDWriteFontSetBuilder2 *This); 8089 8090 /*** IDWriteFontSetBuilder methods ***/ 8091 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( 8092 IDWriteFontSetBuilder2 *This, 8093 IDWriteFontFaceReference *ref, 8094 const DWRITE_FONT_PROPERTY *props, 8095 UINT32 prop_count); 8096 8097 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( 8098 IDWriteFontSetBuilder2 *This, 8099 IDWriteFontFaceReference *ref); 8100 8101 HRESULT (STDMETHODCALLTYPE *AddFontSet)( 8102 IDWriteFontSetBuilder2 *This, 8103 IDWriteFontSet *fontset); 8104 8105 HRESULT (STDMETHODCALLTYPE *CreateFontSet)( 8106 IDWriteFontSetBuilder2 *This, 8107 IDWriteFontSet **fontset); 8108 8109 /*** IDWriteFontSetBuilder1 methods ***/ 8110 HRESULT (STDMETHODCALLTYPE *AddFontFile)( 8111 IDWriteFontSetBuilder2 *This, 8112 IDWriteFontFile *file); 8113 8114 /*** IDWriteFontSetBuilder2 methods ***/ 8115 HRESULT (STDMETHODCALLTYPE *AddFont)( 8116 IDWriteFontSetBuilder2 *This, 8117 IDWriteFontFile *fontfile, 8118 UINT32 face_index, 8119 DWRITE_FONT_SIMULATIONS simulations, 8120 const DWRITE_FONT_AXIS_VALUE *axis_values, 8121 UINT32 num_values, 8122 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 8123 UINT32 num_ranges, 8124 const DWRITE_FONT_PROPERTY *props, 8125 UINT32 num_properties); 8126 8127 HRESULT (STDMETHODCALLTYPE *IDWriteFontSetBuilder2_AddFontFile)( 8128 IDWriteFontSetBuilder2 *This, 8129 const WCHAR *filepath); 8130 8131 END_INTERFACE 8132 } IDWriteFontSetBuilder2Vtbl; 8133 8134 interface IDWriteFontSetBuilder2 { 8135 CONST_VTBL IDWriteFontSetBuilder2Vtbl* lpVtbl; 8136 }; 8137 8138 #ifdef COBJMACROS 8139 #ifndef WIDL_C_INLINE_WRAPPERS 8140 /*** IUnknown methods ***/ 8141 #define IDWriteFontSetBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8142 #define IDWriteFontSetBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) 8143 #define IDWriteFontSetBuilder2_Release(This) (This)->lpVtbl->Release(This) 8144 /*** IDWriteFontSetBuilder methods ***/ 8145 #define IDWriteFontSetBuilder2_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) 8146 #define IDWriteFontSetBuilder2_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) 8147 #define IDWriteFontSetBuilder2_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) 8148 #define IDWriteFontSetBuilder2_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) 8149 /*** IDWriteFontSetBuilder1 methods ***/ 8150 /*** IDWriteFontSetBuilder2 methods ***/ 8151 #define IDWriteFontSetBuilder2_AddFont(This,fontfile,face_index,simulations,axis_values,num_values,axis_ranges,num_ranges,props,num_properties) (This)->lpVtbl->AddFont(This,fontfile,face_index,simulations,axis_values,num_values,axis_ranges,num_ranges,props,num_properties) 8152 #define IDWriteFontSetBuilder2_AddFontFile(This,filepath) (This)->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This,filepath) 8153 #else 8154 /*** IUnknown methods ***/ 8155 static inline HRESULT IDWriteFontSetBuilder2_QueryInterface(IDWriteFontSetBuilder2* This,REFIID riid,void **ppvObject) { 8156 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8157 } 8158 static inline ULONG IDWriteFontSetBuilder2_AddRef(IDWriteFontSetBuilder2* This) { 8159 return This->lpVtbl->AddRef(This); 8160 } 8161 static inline ULONG IDWriteFontSetBuilder2_Release(IDWriteFontSetBuilder2* This) { 8162 return This->lpVtbl->Release(This); 8163 } 8164 /*** IDWriteFontSetBuilder methods ***/ 8165 static inline HRESULT IDWriteFontSetBuilder2_AddFontFaceReference_(IDWriteFontSetBuilder2* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { 8166 return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); 8167 } 8168 static inline HRESULT IDWriteFontSetBuilder2_AddFontFaceReference(IDWriteFontSetBuilder2* This,IDWriteFontFaceReference *ref) { 8169 return This->lpVtbl->AddFontFaceReference(This,ref); 8170 } 8171 static inline HRESULT IDWriteFontSetBuilder2_AddFontSet(IDWriteFontSetBuilder2* This,IDWriteFontSet *fontset) { 8172 return This->lpVtbl->AddFontSet(This,fontset); 8173 } 8174 static inline HRESULT IDWriteFontSetBuilder2_CreateFontSet(IDWriteFontSetBuilder2* This,IDWriteFontSet **fontset) { 8175 return This->lpVtbl->CreateFontSet(This,fontset); 8176 } 8177 /*** IDWriteFontSetBuilder1 methods ***/ 8178 /*** IDWriteFontSetBuilder2 methods ***/ 8179 static inline HRESULT IDWriteFontSetBuilder2_AddFont(IDWriteFontSetBuilder2* This,IDWriteFontFile *fontfile,UINT32 face_index,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties) { 8180 return This->lpVtbl->AddFont(This,fontfile,face_index,simulations,axis_values,num_values,axis_ranges,num_ranges,props,num_properties); 8181 } 8182 static inline HRESULT IDWriteFontSetBuilder2_AddFontFile(IDWriteFontSetBuilder2* This,const WCHAR *filepath) { 8183 return This->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This,filepath); 8184 } 8185 #endif 8186 #endif 8187 8188 #endif 8189 8190 8191 #endif /* __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ */ 8192 8193 /***************************************************************************** 8194 * IDWriteFactory3 interface 8195 */ 8196 #ifndef __IDWriteFactory3_INTERFACE_DEFINED__ 8197 #define __IDWriteFactory3_INTERFACE_DEFINED__ 8198 8199 DEFINE_GUID(IID_IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87,0xfc, 0xfe,0x67,0x55,0x6a,0x3b,0x65); 8200 #if defined(__cplusplus) && !defined(CINTERFACE) 8201 MIDL_INTERFACE("9a1b41c3-d3bb-466a-87fc-fe67556a3b65") 8202 IDWriteFactory3 : public IDWriteFactory2 8203 { 8204 virtual HRESULT STDMETHODCALLTYPE CreateGlyphRunAnalysis( 8205 const DWRITE_GLYPH_RUN *run, 8206 const DWRITE_MATRIX *transform, 8207 DWRITE_RENDERING_MODE1 rendering_mode, 8208 DWRITE_MEASURING_MODE measuring_mode, 8209 DWRITE_GRID_FIT_MODE gridfit_mode, 8210 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 8211 FLOAT origin_x, 8212 FLOAT origin_y, 8213 IDWriteGlyphRunAnalysis **analysis) = 0; 8214 8215 virtual HRESULT STDMETHODCALLTYPE CreateCustomRenderingParams( 8216 FLOAT gamma, 8217 FLOAT enhanced_contrast, 8218 FLOAT grayscale_enhanced_contrast, 8219 FLOAT cleartype_level, 8220 DWRITE_PIXEL_GEOMETRY pixel_geometry, 8221 DWRITE_RENDERING_MODE1 rendering_mode, 8222 DWRITE_GRID_FIT_MODE gridfit_mode, 8223 IDWriteRenderingParams3 **params) = 0; 8224 8225 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference_( 8226 IDWriteFontFile *file, 8227 UINT32 index, 8228 DWRITE_FONT_SIMULATIONS simulations, 8229 IDWriteFontFaceReference **reference) = 0; 8230 8231 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( 8232 const WCHAR *path, 8233 const FILETIME *writetime, 8234 UINT32 index, 8235 DWRITE_FONT_SIMULATIONS simulations, 8236 IDWriteFontFaceReference **reference) = 0; 8237 8238 virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( 8239 IDWriteFontSet **fontset) = 0; 8240 8241 virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( 8242 IDWriteFontSetBuilder **builder) = 0; 8243 8244 virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( 8245 IDWriteFontSet *fontset, 8246 IDWriteFontCollection1 **collection) = 0; 8247 8248 virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( 8249 WINBOOL include_downloadable, 8250 IDWriteFontCollection1 **collection, 8251 WINBOOL check_for_updates) = 0; 8252 8253 virtual HRESULT STDMETHODCALLTYPE GetFontDownloadQueue( 8254 IDWriteFontDownloadQueue **queue) = 0; 8255 8256 }; 8257 #ifdef __CRT_UUID_DECL 8258 __CRT_UUID_DECL(IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87,0xfc, 0xfe,0x67,0x55,0x6a,0x3b,0x65) 8259 #endif 8260 #else 8261 typedef struct IDWriteFactory3Vtbl { 8262 BEGIN_INTERFACE 8263 8264 /*** IUnknown methods ***/ 8265 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8266 IDWriteFactory3 *This, 8267 REFIID riid, 8268 void **ppvObject); 8269 8270 ULONG (STDMETHODCALLTYPE *AddRef)( 8271 IDWriteFactory3 *This); 8272 8273 ULONG (STDMETHODCALLTYPE *Release)( 8274 IDWriteFactory3 *This); 8275 8276 /*** IDWriteFactory methods ***/ 8277 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 8278 IDWriteFactory3 *This, 8279 IDWriteFontCollection **collection, 8280 WINBOOL check_for_updates); 8281 8282 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 8283 IDWriteFactory3 *This, 8284 IDWriteFontCollectionLoader *loader, 8285 const void *key, 8286 UINT32 key_size, 8287 IDWriteFontCollection **collection); 8288 8289 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 8290 IDWriteFactory3 *This, 8291 IDWriteFontCollectionLoader *loader); 8292 8293 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 8294 IDWriteFactory3 *This, 8295 IDWriteFontCollectionLoader *loader); 8296 8297 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 8298 IDWriteFactory3 *This, 8299 const WCHAR *path, 8300 const FILETIME *writetime, 8301 IDWriteFontFile **font_file); 8302 8303 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 8304 IDWriteFactory3 *This, 8305 const void *reference_key, 8306 UINT32 key_size, 8307 IDWriteFontFileLoader *loader, 8308 IDWriteFontFile **font_file); 8309 8310 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 8311 IDWriteFactory3 *This, 8312 DWRITE_FONT_FACE_TYPE facetype, 8313 UINT32 files_number, 8314 IDWriteFontFile *const *font_files, 8315 UINT32 index, 8316 DWRITE_FONT_SIMULATIONS sim_flags, 8317 IDWriteFontFace **font_face); 8318 8319 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 8320 IDWriteFactory3 *This, 8321 IDWriteRenderingParams **params); 8322 8323 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 8324 IDWriteFactory3 *This, 8325 HMONITOR monitor, 8326 IDWriteRenderingParams **params); 8327 8328 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 8329 IDWriteFactory3 *This, 8330 FLOAT gamma, 8331 FLOAT enhancedContrast, 8332 FLOAT cleartype_level, 8333 DWRITE_PIXEL_GEOMETRY geometry, 8334 DWRITE_RENDERING_MODE mode, 8335 IDWriteRenderingParams **params); 8336 8337 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 8338 IDWriteFactory3 *This, 8339 IDWriteFontFileLoader *loader); 8340 8341 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 8342 IDWriteFactory3 *This, 8343 IDWriteFontFileLoader *loader); 8344 8345 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 8346 IDWriteFactory3 *This, 8347 const WCHAR *family_name, 8348 IDWriteFontCollection *collection, 8349 DWRITE_FONT_WEIGHT weight, 8350 DWRITE_FONT_STYLE style, 8351 DWRITE_FONT_STRETCH stretch, 8352 FLOAT size, 8353 const WCHAR *locale, 8354 IDWriteTextFormat **format); 8355 8356 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 8357 IDWriteFactory3 *This, 8358 IDWriteTypography **typography); 8359 8360 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 8361 IDWriteFactory3 *This, 8362 IDWriteGdiInterop **gdi_interop); 8363 8364 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 8365 IDWriteFactory3 *This, 8366 const WCHAR *string, 8367 UINT32 len, 8368 IDWriteTextFormat *format, 8369 FLOAT max_width, 8370 FLOAT max_height, 8371 IDWriteTextLayout **layout); 8372 8373 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 8374 IDWriteFactory3 *This, 8375 const WCHAR *string, 8376 UINT32 len, 8377 IDWriteTextFormat *format, 8378 FLOAT layout_width, 8379 FLOAT layout_height, 8380 FLOAT pixels_per_dip, 8381 const DWRITE_MATRIX *transform, 8382 WINBOOL use_gdi_natural, 8383 IDWriteTextLayout **layout); 8384 8385 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 8386 IDWriteFactory3 *This, 8387 IDWriteTextFormat *format, 8388 IDWriteInlineObject **trimming_sign); 8389 8390 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 8391 IDWriteFactory3 *This, 8392 IDWriteTextAnalyzer **analyzer); 8393 8394 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 8395 IDWriteFactory3 *This, 8396 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 8397 const WCHAR *locale, 8398 WINBOOL ignore_user_override, 8399 IDWriteNumberSubstitution **substitution); 8400 8401 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 8402 IDWriteFactory3 *This, 8403 const DWRITE_GLYPH_RUN *glyph_run, 8404 FLOAT pixels_per_dip, 8405 const DWRITE_MATRIX *transform, 8406 DWRITE_RENDERING_MODE rendering_mode, 8407 DWRITE_MEASURING_MODE measuring_mode, 8408 FLOAT baseline_x, 8409 FLOAT baseline_y, 8410 IDWriteGlyphRunAnalysis **analysis); 8411 8412 /*** IDWriteFactory1 methods ***/ 8413 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 8414 IDWriteFactory3 *This, 8415 IDWriteFontCollection **collection, 8416 WINBOOL check_for_updates); 8417 8418 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 8419 IDWriteFactory3 *This, 8420 FLOAT gamma, 8421 FLOAT enhcontrast, 8422 FLOAT enhcontrast_grayscale, 8423 FLOAT cleartype_level, 8424 DWRITE_PIXEL_GEOMETRY geometry, 8425 DWRITE_RENDERING_MODE mode, 8426 IDWriteRenderingParams1 **params); 8427 8428 /*** IDWriteFactory2 methods ***/ 8429 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 8430 IDWriteFactory3 *This, 8431 IDWriteFontFallback **fallback); 8432 8433 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 8434 IDWriteFactory3 *This, 8435 IDWriteFontFallbackBuilder **fallbackbuilder); 8436 8437 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 8438 IDWriteFactory3 *This, 8439 FLOAT originX, 8440 FLOAT originY, 8441 const DWRITE_GLYPH_RUN *run, 8442 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 8443 DWRITE_MEASURING_MODE mode, 8444 const DWRITE_MATRIX *transform, 8445 UINT32 palette_index, 8446 IDWriteColorGlyphRunEnumerator **colorlayers); 8447 8448 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 8449 IDWriteFactory3 *This, 8450 FLOAT gamma, 8451 FLOAT contrast, 8452 FLOAT grayscalecontrast, 8453 FLOAT cleartypeLevel, 8454 DWRITE_PIXEL_GEOMETRY pixelGeometry, 8455 DWRITE_RENDERING_MODE renderingMode, 8456 DWRITE_GRID_FIT_MODE gridFitMode, 8457 IDWriteRenderingParams2 **params); 8458 8459 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 8460 IDWriteFactory3 *This, 8461 const DWRITE_GLYPH_RUN *run, 8462 const DWRITE_MATRIX *transform, 8463 DWRITE_RENDERING_MODE renderingMode, 8464 DWRITE_MEASURING_MODE measuringMode, 8465 DWRITE_GRID_FIT_MODE gridFitMode, 8466 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 8467 FLOAT originX, 8468 FLOAT originY, 8469 IDWriteGlyphRunAnalysis **analysis); 8470 8471 /*** IDWriteFactory3 methods ***/ 8472 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 8473 IDWriteFactory3 *This, 8474 const DWRITE_GLYPH_RUN *run, 8475 const DWRITE_MATRIX *transform, 8476 DWRITE_RENDERING_MODE1 rendering_mode, 8477 DWRITE_MEASURING_MODE measuring_mode, 8478 DWRITE_GRID_FIT_MODE gridfit_mode, 8479 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 8480 FLOAT origin_x, 8481 FLOAT origin_y, 8482 IDWriteGlyphRunAnalysis **analysis); 8483 8484 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 8485 IDWriteFactory3 *This, 8486 FLOAT gamma, 8487 FLOAT enhanced_contrast, 8488 FLOAT grayscale_enhanced_contrast, 8489 FLOAT cleartype_level, 8490 DWRITE_PIXEL_GEOMETRY pixel_geometry, 8491 DWRITE_RENDERING_MODE1 rendering_mode, 8492 DWRITE_GRID_FIT_MODE gridfit_mode, 8493 IDWriteRenderingParams3 **params); 8494 8495 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 8496 IDWriteFactory3 *This, 8497 IDWriteFontFile *file, 8498 UINT32 index, 8499 DWRITE_FONT_SIMULATIONS simulations, 8500 IDWriteFontFaceReference **reference); 8501 8502 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 8503 IDWriteFactory3 *This, 8504 const WCHAR *path, 8505 const FILETIME *writetime, 8506 UINT32 index, 8507 DWRITE_FONT_SIMULATIONS simulations, 8508 IDWriteFontFaceReference **reference); 8509 8510 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 8511 IDWriteFactory3 *This, 8512 IDWriteFontSet **fontset); 8513 8514 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 8515 IDWriteFactory3 *This, 8516 IDWriteFontSetBuilder **builder); 8517 8518 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 8519 IDWriteFactory3 *This, 8520 IDWriteFontSet *fontset, 8521 IDWriteFontCollection1 **collection); 8522 8523 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 8524 IDWriteFactory3 *This, 8525 WINBOOL include_downloadable, 8526 IDWriteFontCollection1 **collection, 8527 WINBOOL check_for_updates); 8528 8529 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 8530 IDWriteFactory3 *This, 8531 IDWriteFontDownloadQueue **queue); 8532 8533 END_INTERFACE 8534 } IDWriteFactory3Vtbl; 8535 8536 interface IDWriteFactory3 { 8537 CONST_VTBL IDWriteFactory3Vtbl* lpVtbl; 8538 }; 8539 8540 #ifdef COBJMACROS 8541 #ifndef WIDL_C_INLINE_WRAPPERS 8542 /*** IUnknown methods ***/ 8543 #define IDWriteFactory3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8544 #define IDWriteFactory3_AddRef(This) (This)->lpVtbl->AddRef(This) 8545 #define IDWriteFactory3_Release(This) (This)->lpVtbl->Release(This) 8546 /*** IDWriteFactory methods ***/ 8547 #define IDWriteFactory3_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 8548 #define IDWriteFactory3_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 8549 #define IDWriteFactory3_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 8550 #define IDWriteFactory3_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 8551 #define IDWriteFactory3_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 8552 #define IDWriteFactory3_CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) (This)->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) 8553 #define IDWriteFactory3_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 8554 #define IDWriteFactory3_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 8555 #define IDWriteFactory3_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 8556 #define IDWriteFactory3_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 8557 #define IDWriteFactory3_CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format) (This)->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format) 8558 #define IDWriteFactory3_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 8559 #define IDWriteFactory3_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 8560 #define IDWriteFactory3_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 8561 #define IDWriteFactory3_CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) 8562 #define IDWriteFactory3_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 8563 #define IDWriteFactory3_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 8564 #define IDWriteFactory3_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 8565 /*** IDWriteFactory1 methods ***/ 8566 #define IDWriteFactory3_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 8567 /*** IDWriteFactory2 methods ***/ 8568 #define IDWriteFactory3_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 8569 #define IDWriteFactory3_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 8570 #define IDWriteFactory3_TranslateColorGlyphRun(This,originX,originY,run,rundescr,mode,transform,palette_index,colorlayers) (This)->lpVtbl->TranslateColorGlyphRun(This,originX,originY,run,rundescr,mode,transform,palette_index,colorlayers) 8571 /*** IDWriteFactory3 methods ***/ 8572 #define IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) 8573 #define IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) 8574 #define IDWriteFactory3_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 8575 #define IDWriteFactory3_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) 8576 #define IDWriteFactory3_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) 8577 #define IDWriteFactory3_CreateFontSetBuilder(This,builder) (This)->lpVtbl->CreateFontSetBuilder(This,builder) 8578 #define IDWriteFactory3_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) 8579 #define IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) 8580 #define IDWriteFactory3_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 8581 #else 8582 /*** IUnknown methods ***/ 8583 static inline HRESULT IDWriteFactory3_QueryInterface(IDWriteFactory3* This,REFIID riid,void **ppvObject) { 8584 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8585 } 8586 static inline ULONG IDWriteFactory3_AddRef(IDWriteFactory3* This) { 8587 return This->lpVtbl->AddRef(This); 8588 } 8589 static inline ULONG IDWriteFactory3_Release(IDWriteFactory3* This) { 8590 return This->lpVtbl->Release(This); 8591 } 8592 /*** IDWriteFactory methods ***/ 8593 static inline HRESULT IDWriteFactory3_CreateCustomFontCollection(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 8594 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 8595 } 8596 static inline HRESULT IDWriteFactory3_RegisterFontCollectionLoader(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader) { 8597 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 8598 } 8599 static inline HRESULT IDWriteFactory3_UnregisterFontCollectionLoader(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader) { 8600 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 8601 } 8602 static inline HRESULT IDWriteFactory3_CreateFontFileReference(IDWriteFactory3* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 8603 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 8604 } 8605 static inline HRESULT IDWriteFactory3_CreateCustomFontFileReference(IDWriteFactory3* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 8606 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 8607 } 8608 static inline HRESULT IDWriteFactory3_CreateFontFace(IDWriteFactory3* This,DWRITE_FONT_FACE_TYPE facetype,UINT32 files_number,IDWriteFontFile *const *font_files,UINT32 index,DWRITE_FONT_SIMULATIONS sim_flags,IDWriteFontFace **font_face) { 8609 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 8610 } 8611 static inline HRESULT IDWriteFactory3_CreateRenderingParams(IDWriteFactory3* This,IDWriteRenderingParams **params) { 8612 return This->lpVtbl->CreateRenderingParams(This,params); 8613 } 8614 static inline HRESULT IDWriteFactory3_CreateMonitorRenderingParams(IDWriteFactory3* This,HMONITOR monitor,IDWriteRenderingParams **params) { 8615 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 8616 } 8617 static inline HRESULT IDWriteFactory3_RegisterFontFileLoader(IDWriteFactory3* This,IDWriteFontFileLoader *loader) { 8618 return This->lpVtbl->RegisterFontFileLoader(This,loader); 8619 } 8620 static inline HRESULT IDWriteFactory3_UnregisterFontFileLoader(IDWriteFactory3* This,IDWriteFontFileLoader *loader) { 8621 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 8622 } 8623 static inline HRESULT IDWriteFactory3_CreateTextFormat(IDWriteFactory3* This,const WCHAR *family_name,IDWriteFontCollection *collection,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STYLE style,DWRITE_FONT_STRETCH stretch,FLOAT size,const WCHAR *locale,IDWriteTextFormat **format) { 8624 return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); 8625 } 8626 static inline HRESULT IDWriteFactory3_CreateTypography(IDWriteFactory3* This,IDWriteTypography **typography) { 8627 return This->lpVtbl->CreateTypography(This,typography); 8628 } 8629 static inline HRESULT IDWriteFactory3_GetGdiInterop(IDWriteFactory3* This,IDWriteGdiInterop **gdi_interop) { 8630 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 8631 } 8632 static inline HRESULT IDWriteFactory3_CreateTextLayout(IDWriteFactory3* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 8633 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 8634 } 8635 static inline HRESULT IDWriteFactory3_CreateGdiCompatibleTextLayout(IDWriteFactory3* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT layout_width,FLOAT layout_height,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,IDWriteTextLayout **layout) { 8636 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 8637 } 8638 static inline HRESULT IDWriteFactory3_CreateEllipsisTrimmingSign(IDWriteFactory3* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 8639 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 8640 } 8641 static inline HRESULT IDWriteFactory3_CreateTextAnalyzer(IDWriteFactory3* This,IDWriteTextAnalyzer **analyzer) { 8642 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 8643 } 8644 static inline HRESULT IDWriteFactory3_CreateNumberSubstitution(IDWriteFactory3* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 8645 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 8646 } 8647 /*** IDWriteFactory1 methods ***/ 8648 static inline HRESULT IDWriteFactory3_GetEudcFontCollection(IDWriteFactory3* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 8649 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 8650 } 8651 /*** IDWriteFactory2 methods ***/ 8652 static inline HRESULT IDWriteFactory3_GetSystemFontFallback(IDWriteFactory3* This,IDWriteFontFallback **fallback) { 8653 return This->lpVtbl->GetSystemFontFallback(This,fallback); 8654 } 8655 static inline HRESULT IDWriteFactory3_CreateFontFallbackBuilder(IDWriteFactory3* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 8656 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 8657 } 8658 static inline HRESULT IDWriteFactory3_TranslateColorGlyphRun(IDWriteFactory3* This,FLOAT originX,FLOAT originY,const DWRITE_GLYPH_RUN *run,const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr,DWRITE_MEASURING_MODE mode,const DWRITE_MATRIX *transform,UINT32 palette_index,IDWriteColorGlyphRunEnumerator **colorlayers) { 8659 return This->lpVtbl->TranslateColorGlyphRun(This,originX,originY,run,rundescr,mode,transform,palette_index,colorlayers); 8660 } 8661 /*** IDWriteFactory3 methods ***/ 8662 static inline HRESULT IDWriteFactory3_CreateGlyphRunAnalysis(IDWriteFactory3* This,const DWRITE_GLYPH_RUN *run,const DWRITE_MATRIX *transform,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_MEASURING_MODE measuring_mode,DWRITE_GRID_FIT_MODE gridfit_mode,DWRITE_TEXT_ANTIALIAS_MODE antialias_mode,FLOAT origin_x,FLOAT origin_y,IDWriteGlyphRunAnalysis **analysis) { 8663 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 8664 } 8665 static inline HRESULT IDWriteFactory3_CreateCustomRenderingParams(IDWriteFactory3* This,FLOAT gamma,FLOAT enhanced_contrast,FLOAT grayscale_enhanced_contrast,FLOAT cleartype_level,DWRITE_PIXEL_GEOMETRY pixel_geometry,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_GRID_FIT_MODE gridfit_mode,IDWriteRenderingParams3 **params) { 8666 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 8667 } 8668 static inline HRESULT IDWriteFactory3_CreateFontFaceReference_(IDWriteFactory3* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 8669 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 8670 } 8671 static inline HRESULT IDWriteFactory3_CreateFontFaceReference(IDWriteFactory3* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 8672 return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); 8673 } 8674 static inline HRESULT IDWriteFactory3_GetSystemFontSet(IDWriteFactory3* This,IDWriteFontSet **fontset) { 8675 return This->lpVtbl->GetSystemFontSet(This,fontset); 8676 } 8677 static inline HRESULT IDWriteFactory3_CreateFontSetBuilder(IDWriteFactory3* This,IDWriteFontSetBuilder **builder) { 8678 return This->lpVtbl->CreateFontSetBuilder(This,builder); 8679 } 8680 static inline HRESULT IDWriteFactory3_CreateFontCollectionFromFontSet(IDWriteFactory3* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { 8681 return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); 8682 } 8683 static inline HRESULT IDWriteFactory3_GetSystemFontCollection(IDWriteFactory3* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { 8684 return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); 8685 } 8686 static inline HRESULT IDWriteFactory3_GetFontDownloadQueue(IDWriteFactory3* This,IDWriteFontDownloadQueue **queue) { 8687 return This->lpVtbl->GetFontDownloadQueue(This,queue); 8688 } 8689 #endif 8690 #endif 8691 8692 #endif 8693 8694 8695 #endif /* __IDWriteFactory3_INTERFACE_DEFINED__ */ 8696 8697 typedef struct DWRITE_GLYPH_IMAGE_DATA { 8698 const void *imageData; 8699 UINT32 imageDataSize; 8700 UINT32 uniqueDataId; 8701 UINT32 pixelsPerEm; 8702 D2D1_SIZE_U pixelSize; 8703 D2D1_POINT_2L horizontalLeftOrigin; 8704 D2D1_POINT_2L horizontalRightOrigin; 8705 D2D1_POINT_2L verticalTopOrigin; 8706 D2D1_POINT_2L verticalBottomOrigin; 8707 } DWRITE_GLYPH_IMAGE_DATA; 8708 /***************************************************************************** 8709 * IDWriteFontFace4 interface 8710 */ 8711 #ifndef __IDWriteFontFace4_INTERFACE_DEFINED__ 8712 #define __IDWriteFontFace4_INTERFACE_DEFINED__ 8713 8714 DEFINE_GUID(IID_IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96,0x78, 0x05,0x63,0xf5,0x3e,0x3e,0x2f); 8715 #if defined(__cplusplus) && !defined(CINTERFACE) 8716 MIDL_INTERFACE("27f2a904-4eb8-441d-9678-0563f53e3e2f") 8717 IDWriteFontFace4 : public IDWriteFontFace3 8718 { 8719 virtual HRESULT STDMETHODCALLTYPE GetGlyphImageFormats_( 8720 UINT16 glyph, 8721 UINT32 ppem_first, 8722 UINT32 ppem_last, 8723 DWRITE_GLYPH_IMAGE_FORMATS *formats) = 0; 8724 8725 virtual DWRITE_GLYPH_IMAGE_FORMATS STDMETHODCALLTYPE GetGlyphImageFormats( 8726 ) = 0; 8727 8728 virtual HRESULT STDMETHODCALLTYPE GetGlyphImageData( 8729 UINT16 glyph, 8730 UINT32 ppem, 8731 DWRITE_GLYPH_IMAGE_FORMATS format, 8732 DWRITE_GLYPH_IMAGE_DATA *data, 8733 void **context) = 0; 8734 8735 virtual void STDMETHODCALLTYPE ReleaseGlyphImageData( 8736 void *context) = 0; 8737 8738 }; 8739 #ifdef __CRT_UUID_DECL 8740 __CRT_UUID_DECL(IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96,0x78, 0x05,0x63,0xf5,0x3e,0x3e,0x2f) 8741 #endif 8742 #else 8743 typedef struct IDWriteFontFace4Vtbl { 8744 BEGIN_INTERFACE 8745 8746 /*** IUnknown methods ***/ 8747 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8748 IDWriteFontFace4 *This, 8749 REFIID riid, 8750 void **ppvObject); 8751 8752 ULONG (STDMETHODCALLTYPE *AddRef)( 8753 IDWriteFontFace4 *This); 8754 8755 ULONG (STDMETHODCALLTYPE *Release)( 8756 IDWriteFontFace4 *This); 8757 8758 /*** IDWriteFontFace methods ***/ 8759 DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( 8760 IDWriteFontFace4 *This); 8761 8762 HRESULT (STDMETHODCALLTYPE *GetFiles)( 8763 IDWriteFontFace4 *This, 8764 UINT32 *number_of_files, 8765 IDWriteFontFile **fontfiles); 8766 8767 UINT32 (STDMETHODCALLTYPE *GetIndex)( 8768 IDWriteFontFace4 *This); 8769 8770 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 8771 IDWriteFontFace4 *This); 8772 8773 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 8774 IDWriteFontFace4 *This); 8775 8776 void (STDMETHODCALLTYPE *GetMetrics)( 8777 IDWriteFontFace4 *This, 8778 DWRITE_FONT_METRICS *metrics); 8779 8780 UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( 8781 IDWriteFontFace4 *This); 8782 8783 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( 8784 IDWriteFontFace4 *This, 8785 const UINT16 *glyph_indices, 8786 UINT32 glyph_count, 8787 DWRITE_GLYPH_METRICS *metrics, 8788 WINBOOL is_sideways); 8789 8790 HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( 8791 IDWriteFontFace4 *This, 8792 const UINT32 *codepoints, 8793 UINT32 count, 8794 UINT16 *glyph_indices); 8795 8796 HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( 8797 IDWriteFontFace4 *This, 8798 UINT32 table_tag, 8799 const void **table_data, 8800 UINT32 *table_size, 8801 void **context, 8802 WINBOOL *exists); 8803 8804 void (STDMETHODCALLTYPE *ReleaseFontTable)( 8805 IDWriteFontFace4 *This, 8806 void *table_context); 8807 8808 HRESULT (STDMETHODCALLTYPE *GetGlyphRunOutline)( 8809 IDWriteFontFace4 *This, 8810 FLOAT emSize, 8811 const UINT16 *glyph_indices, 8812 const FLOAT *glyph_advances, 8813 const DWRITE_GLYPH_OFFSET *glyph_offsets, 8814 UINT32 glyph_count, 8815 WINBOOL is_sideways, 8816 WINBOOL is_rtl, 8817 IDWriteGeometrySink *geometrysink); 8818 8819 HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( 8820 IDWriteFontFace4 *This, 8821 FLOAT emSize, 8822 FLOAT pixels_per_dip, 8823 DWRITE_MEASURING_MODE mode, 8824 IDWriteRenderingParams *params, 8825 DWRITE_RENDERING_MODE *rendering_mode); 8826 8827 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( 8828 IDWriteFontFace4 *This, 8829 FLOAT emSize, 8830 FLOAT pixels_per_dip, 8831 const DWRITE_MATRIX *transform, 8832 DWRITE_FONT_METRICS *metrics); 8833 8834 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphMetrics)( 8835 IDWriteFontFace4 *This, 8836 FLOAT emSize, 8837 FLOAT pixels_per_dip, 8838 const DWRITE_MATRIX *transform, 8839 WINBOOL use_gdi_natural, 8840 const UINT16 *glyph_indices, 8841 UINT32 glyph_count, 8842 DWRITE_GLYPH_METRICS *metrics, 8843 WINBOOL is_sideways); 8844 8845 /*** IDWriteFontFace1 methods ***/ 8846 void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( 8847 IDWriteFontFace4 *This, 8848 DWRITE_FONT_METRICS1 *metrics); 8849 8850 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( 8851 IDWriteFontFace4 *This, 8852 FLOAT em_size, 8853 FLOAT pixels_per_dip, 8854 const DWRITE_MATRIX *transform, 8855 DWRITE_FONT_METRICS1 *metrics); 8856 8857 void (STDMETHODCALLTYPE *GetCaretMetrics)( 8858 IDWriteFontFace4 *This, 8859 DWRITE_CARET_METRICS *metrics); 8860 8861 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 8862 IDWriteFontFace4 *This, 8863 UINT32 max_count, 8864 DWRITE_UNICODE_RANGE *ranges, 8865 UINT32 *count); 8866 8867 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 8868 IDWriteFontFace4 *This); 8869 8870 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( 8871 IDWriteFontFace4 *This, 8872 UINT32 glyph_count, 8873 const UINT16 *indices, 8874 INT32 *advances, 8875 WINBOOL is_sideways); 8876 8877 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphAdvances)( 8878 IDWriteFontFace4 *This, 8879 FLOAT em_size, 8880 FLOAT pixels_per_dip, 8881 const DWRITE_MATRIX *transform, 8882 WINBOOL use_gdi_natural, 8883 WINBOOL is_sideways, 8884 UINT32 glyph_count, 8885 const UINT16 *indices, 8886 INT32 *advances); 8887 8888 HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( 8889 IDWriteFontFace4 *This, 8890 UINT32 glyph_count, 8891 const UINT16 *indices, 8892 INT32 *adjustments); 8893 8894 WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( 8895 IDWriteFontFace4 *This); 8896 8897 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( 8898 IDWriteFontFace4 *This, 8899 FLOAT font_emsize, 8900 FLOAT dpiX, 8901 FLOAT dpiY, 8902 const DWRITE_MATRIX *transform, 8903 WINBOOL is_sideways, 8904 DWRITE_OUTLINE_THRESHOLD threshold, 8905 DWRITE_MEASURING_MODE measuring_mode, 8906 DWRITE_RENDERING_MODE *rendering_mode); 8907 8908 HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( 8909 IDWriteFontFace4 *This, 8910 UINT32 glyph_count, 8911 const UINT16 *nominal_indices, 8912 UINT16 *vertical_indices); 8913 8914 WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( 8915 IDWriteFontFace4 *This); 8916 8917 /*** IDWriteFontFace2 methods ***/ 8918 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 8919 IDWriteFontFace4 *This); 8920 8921 UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( 8922 IDWriteFontFace4 *This); 8923 8924 UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( 8925 IDWriteFontFace4 *This); 8926 8927 HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( 8928 IDWriteFontFace4 *This, 8929 UINT32 palette_index, 8930 UINT32 first_entry_index, 8931 UINT32 entry_count, 8932 DWRITE_COLOR_F *entries); 8933 8934 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( 8935 IDWriteFontFace4 *This, 8936 FLOAT fontEmSize, 8937 FLOAT dpiX, 8938 FLOAT dpiY, 8939 const DWRITE_MATRIX *transform, 8940 WINBOOL is_sideways, 8941 DWRITE_OUTLINE_THRESHOLD threshold, 8942 DWRITE_MEASURING_MODE measuringmode, 8943 IDWriteRenderingParams *params, 8944 DWRITE_RENDERING_MODE *renderingmode, 8945 DWRITE_GRID_FIT_MODE *gridfitmode); 8946 8947 /*** IDWriteFontFace3 methods ***/ 8948 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 8949 IDWriteFontFace4 *This, 8950 IDWriteFontFaceReference **reference); 8951 8952 void (STDMETHODCALLTYPE *GetPanose)( 8953 IDWriteFontFace4 *This, 8954 DWRITE_PANOSE *panose); 8955 8956 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 8957 IDWriteFontFace4 *This); 8958 8959 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 8960 IDWriteFontFace4 *This); 8961 8962 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 8963 IDWriteFontFace4 *This); 8964 8965 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 8966 IDWriteFontFace4 *This, 8967 IDWriteLocalizedStrings **names); 8968 8969 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 8970 IDWriteFontFace4 *This, 8971 IDWriteLocalizedStrings **names); 8972 8973 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 8974 IDWriteFontFace4 *This, 8975 DWRITE_INFORMATIONAL_STRING_ID stringid, 8976 IDWriteLocalizedStrings **strings, 8977 WINBOOL *exists); 8978 8979 WINBOOL (STDMETHODCALLTYPE *HasCharacter)( 8980 IDWriteFontFace4 *This, 8981 UINT32 character); 8982 8983 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_GetRecommendedRenderingMode)( 8984 IDWriteFontFace4 *This, 8985 FLOAT emsize, 8986 FLOAT dpi_x, 8987 FLOAT dpi_y, 8988 const DWRITE_MATRIX *transform, 8989 WINBOOL is_sideways, 8990 DWRITE_OUTLINE_THRESHOLD threshold, 8991 DWRITE_MEASURING_MODE measuring_mode, 8992 IDWriteRenderingParams *params, 8993 DWRITE_RENDERING_MODE1 *rendering_mode, 8994 DWRITE_GRID_FIT_MODE *gridfit_mode); 8995 8996 WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( 8997 IDWriteFontFace4 *This, 8998 UINT32 character); 8999 9000 WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( 9001 IDWriteFontFace4 *This, 9002 UINT16 glyph); 9003 9004 HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( 9005 IDWriteFontFace4 *This, 9006 const WCHAR *characters, 9007 UINT32 count, 9008 WINBOOL enqueue_if_not, 9009 WINBOOL *are_local); 9010 9011 HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( 9012 IDWriteFontFace4 *This, 9013 const UINT16 *glyphs, 9014 UINT32 count, 9015 WINBOOL enqueue_if_not, 9016 WINBOOL *are_local); 9017 9018 /*** IDWriteFontFace4 methods ***/ 9019 HRESULT (STDMETHODCALLTYPE *GetGlyphImageFormats_)( 9020 IDWriteFontFace4 *This, 9021 UINT16 glyph, 9022 UINT32 ppem_first, 9023 UINT32 ppem_last, 9024 DWRITE_GLYPH_IMAGE_FORMATS *formats); 9025 9026 DWRITE_GLYPH_IMAGE_FORMATS (STDMETHODCALLTYPE *GetGlyphImageFormats)( 9027 IDWriteFontFace4 *This); 9028 9029 HRESULT (STDMETHODCALLTYPE *GetGlyphImageData)( 9030 IDWriteFontFace4 *This, 9031 UINT16 glyph, 9032 UINT32 ppem, 9033 DWRITE_GLYPH_IMAGE_FORMATS format, 9034 DWRITE_GLYPH_IMAGE_DATA *data, 9035 void **context); 9036 9037 void (STDMETHODCALLTYPE *ReleaseGlyphImageData)( 9038 IDWriteFontFace4 *This, 9039 void *context); 9040 9041 END_INTERFACE 9042 } IDWriteFontFace4Vtbl; 9043 9044 interface IDWriteFontFace4 { 9045 CONST_VTBL IDWriteFontFace4Vtbl* lpVtbl; 9046 }; 9047 9048 #ifdef COBJMACROS 9049 #ifndef WIDL_C_INLINE_WRAPPERS 9050 /*** IUnknown methods ***/ 9051 #define IDWriteFontFace4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9052 #define IDWriteFontFace4_AddRef(This) (This)->lpVtbl->AddRef(This) 9053 #define IDWriteFontFace4_Release(This) (This)->lpVtbl->Release(This) 9054 /*** IDWriteFontFace methods ***/ 9055 #define IDWriteFontFace4_GetType(This) (This)->lpVtbl->GetType(This) 9056 #define IDWriteFontFace4_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) 9057 #define IDWriteFontFace4_GetIndex(This) (This)->lpVtbl->GetIndex(This) 9058 #define IDWriteFontFace4_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 9059 #define IDWriteFontFace4_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 9060 #define IDWriteFontFace4_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) 9061 #define IDWriteFontFace4_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) 9062 #define IDWriteFontFace4_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) 9063 #define IDWriteFontFace4_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) 9064 #define IDWriteFontFace4_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) 9065 #define IDWriteFontFace4_GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) 9066 #define IDWriteFontFace4_GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) 9067 /*** IDWriteFontFace1 methods ***/ 9068 #define IDWriteFontFace4_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) 9069 #define IDWriteFontFace4_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) 9070 #define IDWriteFontFace4_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) 9071 #define IDWriteFontFace4_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 9072 #define IDWriteFontFace4_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 9073 #define IDWriteFontFace4_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) 9074 #define IDWriteFontFace4_GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) 9075 #define IDWriteFontFace4_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) 9076 #define IDWriteFontFace4_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) 9077 #define IDWriteFontFace4_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) 9078 #define IDWriteFontFace4_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) 9079 /*** IDWriteFontFace2 methods ***/ 9080 #define IDWriteFontFace4_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 9081 #define IDWriteFontFace4_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) 9082 #define IDWriteFontFace4_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) 9083 #define IDWriteFontFace4_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) 9084 /*** IDWriteFontFace3 methods ***/ 9085 #define IDWriteFontFace4_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 9086 #define IDWriteFontFace4_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 9087 #define IDWriteFontFace4_GetWeight(This) (This)->lpVtbl->GetWeight(This) 9088 #define IDWriteFontFace4_GetStretch(This) (This)->lpVtbl->GetStretch(This) 9089 #define IDWriteFontFace4_GetStyle(This) (This)->lpVtbl->GetStyle(This) 9090 #define IDWriteFontFace4_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 9091 #define IDWriteFontFace4_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 9092 #define IDWriteFontFace4_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 9093 #define IDWriteFontFace4_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) 9094 #define IDWriteFontFace4_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) 9095 #define IDWriteFontFace4_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) 9096 #define IDWriteFontFace4_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) 9097 #define IDWriteFontFace4_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) 9098 #define IDWriteFontFace4_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) 9099 /*** IDWriteFontFace4 methods ***/ 9100 #define IDWriteFontFace4_GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) (This)->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) 9101 #define IDWriteFontFace4_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) 9102 #define IDWriteFontFace4_GetGlyphImageData(This,glyph,ppem,format,data,context) (This)->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context) 9103 #define IDWriteFontFace4_ReleaseGlyphImageData(This,context) (This)->lpVtbl->ReleaseGlyphImageData(This,context) 9104 #else 9105 /*** IUnknown methods ***/ 9106 static inline HRESULT IDWriteFontFace4_QueryInterface(IDWriteFontFace4* This,REFIID riid,void **ppvObject) { 9107 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9108 } 9109 static inline ULONG IDWriteFontFace4_AddRef(IDWriteFontFace4* This) { 9110 return This->lpVtbl->AddRef(This); 9111 } 9112 static inline ULONG IDWriteFontFace4_Release(IDWriteFontFace4* This) { 9113 return This->lpVtbl->Release(This); 9114 } 9115 /*** IDWriteFontFace methods ***/ 9116 static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace4_GetType(IDWriteFontFace4* This) { 9117 return This->lpVtbl->GetType(This); 9118 } 9119 static inline HRESULT IDWriteFontFace4_GetFiles(IDWriteFontFace4* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { 9120 return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); 9121 } 9122 static inline UINT32 IDWriteFontFace4_GetIndex(IDWriteFontFace4* This) { 9123 return This->lpVtbl->GetIndex(This); 9124 } 9125 static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace4_GetSimulations(IDWriteFontFace4* This) { 9126 return This->lpVtbl->GetSimulations(This); 9127 } 9128 static inline WINBOOL IDWriteFontFace4_IsSymbolFont(IDWriteFontFace4* This) { 9129 return This->lpVtbl->IsSymbolFont(This); 9130 } 9131 static inline UINT16 IDWriteFontFace4_GetGlyphCount(IDWriteFontFace4* This) { 9132 return This->lpVtbl->GetGlyphCount(This); 9133 } 9134 static inline HRESULT IDWriteFontFace4_GetDesignGlyphMetrics(IDWriteFontFace4* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 9135 return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); 9136 } 9137 static inline HRESULT IDWriteFontFace4_GetGlyphIndices(IDWriteFontFace4* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { 9138 return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); 9139 } 9140 static inline HRESULT IDWriteFontFace4_TryGetFontTable(IDWriteFontFace4* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { 9141 return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); 9142 } 9143 static inline void IDWriteFontFace4_ReleaseFontTable(IDWriteFontFace4* This,void *table_context) { 9144 This->lpVtbl->ReleaseFontTable(This,table_context); 9145 } 9146 static inline HRESULT IDWriteFontFace4_GetGlyphRunOutline(IDWriteFontFace4* This,FLOAT emSize,const UINT16 *glyph_indices,const FLOAT *glyph_advances,const DWRITE_GLYPH_OFFSET *glyph_offsets,UINT32 glyph_count,WINBOOL is_sideways,WINBOOL is_rtl,IDWriteGeometrySink *geometrysink) { 9147 return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); 9148 } 9149 static inline HRESULT IDWriteFontFace4_GetGdiCompatibleGlyphMetrics(IDWriteFontFace4* This,FLOAT emSize,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 9150 return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); 9151 } 9152 /*** IDWriteFontFace1 methods ***/ 9153 static inline void IDWriteFontFace4_GetMetrics(IDWriteFontFace4* This,DWRITE_FONT_METRICS1 *metrics) { 9154 This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); 9155 } 9156 static inline HRESULT IDWriteFontFace4_GetGdiCompatibleMetrics(IDWriteFontFace4* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { 9157 return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); 9158 } 9159 static inline void IDWriteFontFace4_GetCaretMetrics(IDWriteFontFace4* This,DWRITE_CARET_METRICS *metrics) { 9160 This->lpVtbl->GetCaretMetrics(This,metrics); 9161 } 9162 static inline HRESULT IDWriteFontFace4_GetUnicodeRanges(IDWriteFontFace4* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 9163 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 9164 } 9165 static inline WINBOOL IDWriteFontFace4_IsMonospacedFont(IDWriteFontFace4* This) { 9166 return This->lpVtbl->IsMonospacedFont(This); 9167 } 9168 static inline HRESULT IDWriteFontFace4_GetDesignGlyphAdvances(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { 9169 return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); 9170 } 9171 static inline HRESULT IDWriteFontFace4_GetGdiCompatibleGlyphAdvances(IDWriteFontFace4* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,WINBOOL is_sideways,UINT32 glyph_count,const UINT16 *indices,INT32 *advances) { 9172 return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); 9173 } 9174 static inline HRESULT IDWriteFontFace4_GetKerningPairAdjustments(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { 9175 return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); 9176 } 9177 static inline WINBOOL IDWriteFontFace4_HasKerningPairs(IDWriteFontFace4* This) { 9178 return This->lpVtbl->HasKerningPairs(This); 9179 } 9180 static inline HRESULT IDWriteFontFace4_GetVerticalGlyphVariants(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { 9181 return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); 9182 } 9183 static inline WINBOOL IDWriteFontFace4_HasVerticalGlyphVariants(IDWriteFontFace4* This) { 9184 return This->lpVtbl->HasVerticalGlyphVariants(This); 9185 } 9186 /*** IDWriteFontFace2 methods ***/ 9187 static inline WINBOOL IDWriteFontFace4_IsColorFont(IDWriteFontFace4* This) { 9188 return This->lpVtbl->IsColorFont(This); 9189 } 9190 static inline UINT32 IDWriteFontFace4_GetColorPaletteCount(IDWriteFontFace4* This) { 9191 return This->lpVtbl->GetColorPaletteCount(This); 9192 } 9193 static inline UINT32 IDWriteFontFace4_GetPaletteEntryCount(IDWriteFontFace4* This) { 9194 return This->lpVtbl->GetPaletteEntryCount(This); 9195 } 9196 static inline HRESULT IDWriteFontFace4_GetPaletteEntries(IDWriteFontFace4* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { 9197 return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); 9198 } 9199 /*** IDWriteFontFace3 methods ***/ 9200 static inline HRESULT IDWriteFontFace4_GetFontFaceReference(IDWriteFontFace4* This,IDWriteFontFaceReference **reference) { 9201 return This->lpVtbl->GetFontFaceReference(This,reference); 9202 } 9203 static inline void IDWriteFontFace4_GetPanose(IDWriteFontFace4* This,DWRITE_PANOSE *panose) { 9204 This->lpVtbl->GetPanose(This,panose); 9205 } 9206 static inline DWRITE_FONT_WEIGHT IDWriteFontFace4_GetWeight(IDWriteFontFace4* This) { 9207 return This->lpVtbl->GetWeight(This); 9208 } 9209 static inline DWRITE_FONT_STRETCH IDWriteFontFace4_GetStretch(IDWriteFontFace4* This) { 9210 return This->lpVtbl->GetStretch(This); 9211 } 9212 static inline DWRITE_FONT_STYLE IDWriteFontFace4_GetStyle(IDWriteFontFace4* This) { 9213 return This->lpVtbl->GetStyle(This); 9214 } 9215 static inline HRESULT IDWriteFontFace4_GetFamilyNames(IDWriteFontFace4* This,IDWriteLocalizedStrings **names) { 9216 return This->lpVtbl->GetFamilyNames(This,names); 9217 } 9218 static inline HRESULT IDWriteFontFace4_GetFaceNames(IDWriteFontFace4* This,IDWriteLocalizedStrings **names) { 9219 return This->lpVtbl->GetFaceNames(This,names); 9220 } 9221 static inline HRESULT IDWriteFontFace4_GetInformationalStrings(IDWriteFontFace4* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 9222 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 9223 } 9224 static inline WINBOOL IDWriteFontFace4_HasCharacter(IDWriteFontFace4* This,UINT32 character) { 9225 return This->lpVtbl->HasCharacter(This,character); 9226 } 9227 static inline HRESULT IDWriteFontFace4_GetRecommendedRenderingMode(IDWriteFontFace4* This,FLOAT emsize,FLOAT dpi_x,FLOAT dpi_y,const DWRITE_MATRIX *transform,WINBOOL is_sideways,DWRITE_OUTLINE_THRESHOLD threshold,DWRITE_MEASURING_MODE measuring_mode,IDWriteRenderingParams *params,DWRITE_RENDERING_MODE1 *rendering_mode,DWRITE_GRID_FIT_MODE *gridfit_mode) { 9228 return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); 9229 } 9230 static inline WINBOOL IDWriteFontFace4_IsCharacterLocal(IDWriteFontFace4* This,UINT32 character) { 9231 return This->lpVtbl->IsCharacterLocal(This,character); 9232 } 9233 static inline WINBOOL IDWriteFontFace4_IsGlyphLocal(IDWriteFontFace4* This,UINT16 glyph) { 9234 return This->lpVtbl->IsGlyphLocal(This,glyph); 9235 } 9236 static inline HRESULT IDWriteFontFace4_AreCharactersLocal(IDWriteFontFace4* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 9237 return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); 9238 } 9239 static inline HRESULT IDWriteFontFace4_AreGlyphsLocal(IDWriteFontFace4* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 9240 return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); 9241 } 9242 /*** IDWriteFontFace4 methods ***/ 9243 static inline HRESULT IDWriteFontFace4_GetGlyphImageFormats_(IDWriteFontFace4* This,UINT16 glyph,UINT32 ppem_first,UINT32 ppem_last,DWRITE_GLYPH_IMAGE_FORMATS *formats) { 9244 return This->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats); 9245 } 9246 static inline DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace4_GetGlyphImageFormats(IDWriteFontFace4* This) { 9247 return This->lpVtbl->GetGlyphImageFormats(This); 9248 } 9249 static inline HRESULT IDWriteFontFace4_GetGlyphImageData(IDWriteFontFace4* This,UINT16 glyph,UINT32 ppem,DWRITE_GLYPH_IMAGE_FORMATS format,DWRITE_GLYPH_IMAGE_DATA *data,void **context) { 9250 return This->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context); 9251 } 9252 static inline void IDWriteFontFace4_ReleaseGlyphImageData(IDWriteFontFace4* This,void *context) { 9253 This->lpVtbl->ReleaseGlyphImageData(This,context); 9254 } 9255 #endif 9256 #endif 9257 9258 #endif 9259 9260 9261 #endif /* __IDWriteFontFace4_INTERFACE_DEFINED__ */ 9262 9263 /***************************************************************************** 9264 * IDWriteFontFace5 interface 9265 */ 9266 #ifndef __IDWriteFontFace5_INTERFACE_DEFINED__ 9267 #define __IDWriteFontFace5_INTERFACE_DEFINED__ 9268 9269 DEFINE_GUID(IID_IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1,0x45, 0xe2,0xfa,0x5b,0x9f,0xdc,0x29); 9270 #if defined(__cplusplus) && !defined(CINTERFACE) 9271 MIDL_INTERFACE("98eff3a5-b667-479a-b145-e2fa5b9fdc29") 9272 IDWriteFontFace5 : public IDWriteFontFace4 9273 { 9274 virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( 9275 ) = 0; 9276 9277 virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( 9278 DWRITE_FONT_AXIS_VALUE *values, 9279 UINT32 value_count) = 0; 9280 9281 virtual WINBOOL STDMETHODCALLTYPE HasVariations( 9282 ) = 0; 9283 9284 virtual HRESULT STDMETHODCALLTYPE GetFontResource( 9285 IDWriteFontResource **resource) = 0; 9286 9287 virtual WINBOOL STDMETHODCALLTYPE Equals( 9288 IDWriteFontFace *fontface) = 0; 9289 9290 }; 9291 #ifdef __CRT_UUID_DECL 9292 __CRT_UUID_DECL(IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1,0x45, 0xe2,0xfa,0x5b,0x9f,0xdc,0x29) 9293 #endif 9294 #else 9295 typedef struct IDWriteFontFace5Vtbl { 9296 BEGIN_INTERFACE 9297 9298 /*** IUnknown methods ***/ 9299 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9300 IDWriteFontFace5 *This, 9301 REFIID riid, 9302 void **ppvObject); 9303 9304 ULONG (STDMETHODCALLTYPE *AddRef)( 9305 IDWriteFontFace5 *This); 9306 9307 ULONG (STDMETHODCALLTYPE *Release)( 9308 IDWriteFontFace5 *This); 9309 9310 /*** IDWriteFontFace methods ***/ 9311 DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( 9312 IDWriteFontFace5 *This); 9313 9314 HRESULT (STDMETHODCALLTYPE *GetFiles)( 9315 IDWriteFontFace5 *This, 9316 UINT32 *number_of_files, 9317 IDWriteFontFile **fontfiles); 9318 9319 UINT32 (STDMETHODCALLTYPE *GetIndex)( 9320 IDWriteFontFace5 *This); 9321 9322 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 9323 IDWriteFontFace5 *This); 9324 9325 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 9326 IDWriteFontFace5 *This); 9327 9328 void (STDMETHODCALLTYPE *GetMetrics)( 9329 IDWriteFontFace5 *This, 9330 DWRITE_FONT_METRICS *metrics); 9331 9332 UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( 9333 IDWriteFontFace5 *This); 9334 9335 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( 9336 IDWriteFontFace5 *This, 9337 const UINT16 *glyph_indices, 9338 UINT32 glyph_count, 9339 DWRITE_GLYPH_METRICS *metrics, 9340 WINBOOL is_sideways); 9341 9342 HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( 9343 IDWriteFontFace5 *This, 9344 const UINT32 *codepoints, 9345 UINT32 count, 9346 UINT16 *glyph_indices); 9347 9348 HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( 9349 IDWriteFontFace5 *This, 9350 UINT32 table_tag, 9351 const void **table_data, 9352 UINT32 *table_size, 9353 void **context, 9354 WINBOOL *exists); 9355 9356 void (STDMETHODCALLTYPE *ReleaseFontTable)( 9357 IDWriteFontFace5 *This, 9358 void *table_context); 9359 9360 HRESULT (STDMETHODCALLTYPE *GetGlyphRunOutline)( 9361 IDWriteFontFace5 *This, 9362 FLOAT emSize, 9363 const UINT16 *glyph_indices, 9364 const FLOAT *glyph_advances, 9365 const DWRITE_GLYPH_OFFSET *glyph_offsets, 9366 UINT32 glyph_count, 9367 WINBOOL is_sideways, 9368 WINBOOL is_rtl, 9369 IDWriteGeometrySink *geometrysink); 9370 9371 HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( 9372 IDWriteFontFace5 *This, 9373 FLOAT emSize, 9374 FLOAT pixels_per_dip, 9375 DWRITE_MEASURING_MODE mode, 9376 IDWriteRenderingParams *params, 9377 DWRITE_RENDERING_MODE *rendering_mode); 9378 9379 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( 9380 IDWriteFontFace5 *This, 9381 FLOAT emSize, 9382 FLOAT pixels_per_dip, 9383 const DWRITE_MATRIX *transform, 9384 DWRITE_FONT_METRICS *metrics); 9385 9386 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphMetrics)( 9387 IDWriteFontFace5 *This, 9388 FLOAT emSize, 9389 FLOAT pixels_per_dip, 9390 const DWRITE_MATRIX *transform, 9391 WINBOOL use_gdi_natural, 9392 const UINT16 *glyph_indices, 9393 UINT32 glyph_count, 9394 DWRITE_GLYPH_METRICS *metrics, 9395 WINBOOL is_sideways); 9396 9397 /*** IDWriteFontFace1 methods ***/ 9398 void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( 9399 IDWriteFontFace5 *This, 9400 DWRITE_FONT_METRICS1 *metrics); 9401 9402 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( 9403 IDWriteFontFace5 *This, 9404 FLOAT em_size, 9405 FLOAT pixels_per_dip, 9406 const DWRITE_MATRIX *transform, 9407 DWRITE_FONT_METRICS1 *metrics); 9408 9409 void (STDMETHODCALLTYPE *GetCaretMetrics)( 9410 IDWriteFontFace5 *This, 9411 DWRITE_CARET_METRICS *metrics); 9412 9413 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 9414 IDWriteFontFace5 *This, 9415 UINT32 max_count, 9416 DWRITE_UNICODE_RANGE *ranges, 9417 UINT32 *count); 9418 9419 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 9420 IDWriteFontFace5 *This); 9421 9422 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( 9423 IDWriteFontFace5 *This, 9424 UINT32 glyph_count, 9425 const UINT16 *indices, 9426 INT32 *advances, 9427 WINBOOL is_sideways); 9428 9429 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphAdvances)( 9430 IDWriteFontFace5 *This, 9431 FLOAT em_size, 9432 FLOAT pixels_per_dip, 9433 const DWRITE_MATRIX *transform, 9434 WINBOOL use_gdi_natural, 9435 WINBOOL is_sideways, 9436 UINT32 glyph_count, 9437 const UINT16 *indices, 9438 INT32 *advances); 9439 9440 HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( 9441 IDWriteFontFace5 *This, 9442 UINT32 glyph_count, 9443 const UINT16 *indices, 9444 INT32 *adjustments); 9445 9446 WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( 9447 IDWriteFontFace5 *This); 9448 9449 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( 9450 IDWriteFontFace5 *This, 9451 FLOAT font_emsize, 9452 FLOAT dpiX, 9453 FLOAT dpiY, 9454 const DWRITE_MATRIX *transform, 9455 WINBOOL is_sideways, 9456 DWRITE_OUTLINE_THRESHOLD threshold, 9457 DWRITE_MEASURING_MODE measuring_mode, 9458 DWRITE_RENDERING_MODE *rendering_mode); 9459 9460 HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( 9461 IDWriteFontFace5 *This, 9462 UINT32 glyph_count, 9463 const UINT16 *nominal_indices, 9464 UINT16 *vertical_indices); 9465 9466 WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( 9467 IDWriteFontFace5 *This); 9468 9469 /*** IDWriteFontFace2 methods ***/ 9470 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 9471 IDWriteFontFace5 *This); 9472 9473 UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( 9474 IDWriteFontFace5 *This); 9475 9476 UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( 9477 IDWriteFontFace5 *This); 9478 9479 HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( 9480 IDWriteFontFace5 *This, 9481 UINT32 palette_index, 9482 UINT32 first_entry_index, 9483 UINT32 entry_count, 9484 DWRITE_COLOR_F *entries); 9485 9486 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( 9487 IDWriteFontFace5 *This, 9488 FLOAT fontEmSize, 9489 FLOAT dpiX, 9490 FLOAT dpiY, 9491 const DWRITE_MATRIX *transform, 9492 WINBOOL is_sideways, 9493 DWRITE_OUTLINE_THRESHOLD threshold, 9494 DWRITE_MEASURING_MODE measuringmode, 9495 IDWriteRenderingParams *params, 9496 DWRITE_RENDERING_MODE *renderingmode, 9497 DWRITE_GRID_FIT_MODE *gridfitmode); 9498 9499 /*** IDWriteFontFace3 methods ***/ 9500 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 9501 IDWriteFontFace5 *This, 9502 IDWriteFontFaceReference **reference); 9503 9504 void (STDMETHODCALLTYPE *GetPanose)( 9505 IDWriteFontFace5 *This, 9506 DWRITE_PANOSE *panose); 9507 9508 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 9509 IDWriteFontFace5 *This); 9510 9511 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 9512 IDWriteFontFace5 *This); 9513 9514 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 9515 IDWriteFontFace5 *This); 9516 9517 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 9518 IDWriteFontFace5 *This, 9519 IDWriteLocalizedStrings **names); 9520 9521 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 9522 IDWriteFontFace5 *This, 9523 IDWriteLocalizedStrings **names); 9524 9525 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 9526 IDWriteFontFace5 *This, 9527 DWRITE_INFORMATIONAL_STRING_ID stringid, 9528 IDWriteLocalizedStrings **strings, 9529 WINBOOL *exists); 9530 9531 WINBOOL (STDMETHODCALLTYPE *HasCharacter)( 9532 IDWriteFontFace5 *This, 9533 UINT32 character); 9534 9535 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_GetRecommendedRenderingMode)( 9536 IDWriteFontFace5 *This, 9537 FLOAT emsize, 9538 FLOAT dpi_x, 9539 FLOAT dpi_y, 9540 const DWRITE_MATRIX *transform, 9541 WINBOOL is_sideways, 9542 DWRITE_OUTLINE_THRESHOLD threshold, 9543 DWRITE_MEASURING_MODE measuring_mode, 9544 IDWriteRenderingParams *params, 9545 DWRITE_RENDERING_MODE1 *rendering_mode, 9546 DWRITE_GRID_FIT_MODE *gridfit_mode); 9547 9548 WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( 9549 IDWriteFontFace5 *This, 9550 UINT32 character); 9551 9552 WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( 9553 IDWriteFontFace5 *This, 9554 UINT16 glyph); 9555 9556 HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( 9557 IDWriteFontFace5 *This, 9558 const WCHAR *characters, 9559 UINT32 count, 9560 WINBOOL enqueue_if_not, 9561 WINBOOL *are_local); 9562 9563 HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( 9564 IDWriteFontFace5 *This, 9565 const UINT16 *glyphs, 9566 UINT32 count, 9567 WINBOOL enqueue_if_not, 9568 WINBOOL *are_local); 9569 9570 /*** IDWriteFontFace4 methods ***/ 9571 HRESULT (STDMETHODCALLTYPE *GetGlyphImageFormats_)( 9572 IDWriteFontFace5 *This, 9573 UINT16 glyph, 9574 UINT32 ppem_first, 9575 UINT32 ppem_last, 9576 DWRITE_GLYPH_IMAGE_FORMATS *formats); 9577 9578 DWRITE_GLYPH_IMAGE_FORMATS (STDMETHODCALLTYPE *GetGlyphImageFormats)( 9579 IDWriteFontFace5 *This); 9580 9581 HRESULT (STDMETHODCALLTYPE *GetGlyphImageData)( 9582 IDWriteFontFace5 *This, 9583 UINT16 glyph, 9584 UINT32 ppem, 9585 DWRITE_GLYPH_IMAGE_FORMATS format, 9586 DWRITE_GLYPH_IMAGE_DATA *data, 9587 void **context); 9588 9589 void (STDMETHODCALLTYPE *ReleaseGlyphImageData)( 9590 IDWriteFontFace5 *This, 9591 void *context); 9592 9593 /*** IDWriteFontFace5 methods ***/ 9594 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 9595 IDWriteFontFace5 *This); 9596 9597 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 9598 IDWriteFontFace5 *This, 9599 DWRITE_FONT_AXIS_VALUE *values, 9600 UINT32 value_count); 9601 9602 WINBOOL (STDMETHODCALLTYPE *HasVariations)( 9603 IDWriteFontFace5 *This); 9604 9605 HRESULT (STDMETHODCALLTYPE *GetFontResource)( 9606 IDWriteFontFace5 *This, 9607 IDWriteFontResource **resource); 9608 9609 WINBOOL (STDMETHODCALLTYPE *Equals)( 9610 IDWriteFontFace5 *This, 9611 IDWriteFontFace *fontface); 9612 9613 END_INTERFACE 9614 } IDWriteFontFace5Vtbl; 9615 9616 interface IDWriteFontFace5 { 9617 CONST_VTBL IDWriteFontFace5Vtbl* lpVtbl; 9618 }; 9619 9620 #ifdef COBJMACROS 9621 #ifndef WIDL_C_INLINE_WRAPPERS 9622 /*** IUnknown methods ***/ 9623 #define IDWriteFontFace5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9624 #define IDWriteFontFace5_AddRef(This) (This)->lpVtbl->AddRef(This) 9625 #define IDWriteFontFace5_Release(This) (This)->lpVtbl->Release(This) 9626 /*** IDWriteFontFace methods ***/ 9627 #define IDWriteFontFace5_GetType(This) (This)->lpVtbl->GetType(This) 9628 #define IDWriteFontFace5_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) 9629 #define IDWriteFontFace5_GetIndex(This) (This)->lpVtbl->GetIndex(This) 9630 #define IDWriteFontFace5_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 9631 #define IDWriteFontFace5_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 9632 #define IDWriteFontFace5_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) 9633 #define IDWriteFontFace5_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) 9634 #define IDWriteFontFace5_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) 9635 #define IDWriteFontFace5_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) 9636 #define IDWriteFontFace5_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) 9637 #define IDWriteFontFace5_GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) 9638 #define IDWriteFontFace5_GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) 9639 /*** IDWriteFontFace1 methods ***/ 9640 #define IDWriteFontFace5_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) 9641 #define IDWriteFontFace5_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) 9642 #define IDWriteFontFace5_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) 9643 #define IDWriteFontFace5_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 9644 #define IDWriteFontFace5_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 9645 #define IDWriteFontFace5_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) 9646 #define IDWriteFontFace5_GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) 9647 #define IDWriteFontFace5_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) 9648 #define IDWriteFontFace5_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) 9649 #define IDWriteFontFace5_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) 9650 #define IDWriteFontFace5_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) 9651 /*** IDWriteFontFace2 methods ***/ 9652 #define IDWriteFontFace5_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 9653 #define IDWriteFontFace5_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) 9654 #define IDWriteFontFace5_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) 9655 #define IDWriteFontFace5_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) 9656 /*** IDWriteFontFace3 methods ***/ 9657 #define IDWriteFontFace5_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 9658 #define IDWriteFontFace5_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 9659 #define IDWriteFontFace5_GetWeight(This) (This)->lpVtbl->GetWeight(This) 9660 #define IDWriteFontFace5_GetStretch(This) (This)->lpVtbl->GetStretch(This) 9661 #define IDWriteFontFace5_GetStyle(This) (This)->lpVtbl->GetStyle(This) 9662 #define IDWriteFontFace5_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 9663 #define IDWriteFontFace5_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 9664 #define IDWriteFontFace5_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 9665 #define IDWriteFontFace5_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) 9666 #define IDWriteFontFace5_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) 9667 #define IDWriteFontFace5_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) 9668 #define IDWriteFontFace5_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) 9669 #define IDWriteFontFace5_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) 9670 #define IDWriteFontFace5_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) 9671 /*** IDWriteFontFace4 methods ***/ 9672 #define IDWriteFontFace5_GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) (This)->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) 9673 #define IDWriteFontFace5_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) 9674 #define IDWriteFontFace5_GetGlyphImageData(This,glyph,ppem,format,data,context) (This)->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context) 9675 #define IDWriteFontFace5_ReleaseGlyphImageData(This,context) (This)->lpVtbl->ReleaseGlyphImageData(This,context) 9676 /*** IDWriteFontFace5 methods ***/ 9677 #define IDWriteFontFace5_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) 9678 #define IDWriteFontFace5_GetFontAxisValues(This,values,value_count) (This)->lpVtbl->GetFontAxisValues(This,values,value_count) 9679 #define IDWriteFontFace5_HasVariations(This) (This)->lpVtbl->HasVariations(This) 9680 #define IDWriteFontFace5_GetFontResource(This,resource) (This)->lpVtbl->GetFontResource(This,resource) 9681 #define IDWriteFontFace5_Equals(This,fontface) (This)->lpVtbl->Equals(This,fontface) 9682 #else 9683 /*** IUnknown methods ***/ 9684 static inline HRESULT IDWriteFontFace5_QueryInterface(IDWriteFontFace5* This,REFIID riid,void **ppvObject) { 9685 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9686 } 9687 static inline ULONG IDWriteFontFace5_AddRef(IDWriteFontFace5* This) { 9688 return This->lpVtbl->AddRef(This); 9689 } 9690 static inline ULONG IDWriteFontFace5_Release(IDWriteFontFace5* This) { 9691 return This->lpVtbl->Release(This); 9692 } 9693 /*** IDWriteFontFace methods ***/ 9694 static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace5_GetType(IDWriteFontFace5* This) { 9695 return This->lpVtbl->GetType(This); 9696 } 9697 static inline HRESULT IDWriteFontFace5_GetFiles(IDWriteFontFace5* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { 9698 return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); 9699 } 9700 static inline UINT32 IDWriteFontFace5_GetIndex(IDWriteFontFace5* This) { 9701 return This->lpVtbl->GetIndex(This); 9702 } 9703 static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace5_GetSimulations(IDWriteFontFace5* This) { 9704 return This->lpVtbl->GetSimulations(This); 9705 } 9706 static inline WINBOOL IDWriteFontFace5_IsSymbolFont(IDWriteFontFace5* This) { 9707 return This->lpVtbl->IsSymbolFont(This); 9708 } 9709 static inline UINT16 IDWriteFontFace5_GetGlyphCount(IDWriteFontFace5* This) { 9710 return This->lpVtbl->GetGlyphCount(This); 9711 } 9712 static inline HRESULT IDWriteFontFace5_GetDesignGlyphMetrics(IDWriteFontFace5* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 9713 return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); 9714 } 9715 static inline HRESULT IDWriteFontFace5_GetGlyphIndices(IDWriteFontFace5* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { 9716 return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); 9717 } 9718 static inline HRESULT IDWriteFontFace5_TryGetFontTable(IDWriteFontFace5* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { 9719 return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); 9720 } 9721 static inline void IDWriteFontFace5_ReleaseFontTable(IDWriteFontFace5* This,void *table_context) { 9722 This->lpVtbl->ReleaseFontTable(This,table_context); 9723 } 9724 static inline HRESULT IDWriteFontFace5_GetGlyphRunOutline(IDWriteFontFace5* This,FLOAT emSize,const UINT16 *glyph_indices,const FLOAT *glyph_advances,const DWRITE_GLYPH_OFFSET *glyph_offsets,UINT32 glyph_count,WINBOOL is_sideways,WINBOOL is_rtl,IDWriteGeometrySink *geometrysink) { 9725 return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); 9726 } 9727 static inline HRESULT IDWriteFontFace5_GetGdiCompatibleGlyphMetrics(IDWriteFontFace5* This,FLOAT emSize,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 9728 return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); 9729 } 9730 /*** IDWriteFontFace1 methods ***/ 9731 static inline void IDWriteFontFace5_GetMetrics(IDWriteFontFace5* This,DWRITE_FONT_METRICS1 *metrics) { 9732 This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); 9733 } 9734 static inline HRESULT IDWriteFontFace5_GetGdiCompatibleMetrics(IDWriteFontFace5* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { 9735 return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); 9736 } 9737 static inline void IDWriteFontFace5_GetCaretMetrics(IDWriteFontFace5* This,DWRITE_CARET_METRICS *metrics) { 9738 This->lpVtbl->GetCaretMetrics(This,metrics); 9739 } 9740 static inline HRESULT IDWriteFontFace5_GetUnicodeRanges(IDWriteFontFace5* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 9741 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 9742 } 9743 static inline WINBOOL IDWriteFontFace5_IsMonospacedFont(IDWriteFontFace5* This) { 9744 return This->lpVtbl->IsMonospacedFont(This); 9745 } 9746 static inline HRESULT IDWriteFontFace5_GetDesignGlyphAdvances(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { 9747 return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); 9748 } 9749 static inline HRESULT IDWriteFontFace5_GetGdiCompatibleGlyphAdvances(IDWriteFontFace5* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,WINBOOL is_sideways,UINT32 glyph_count,const UINT16 *indices,INT32 *advances) { 9750 return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); 9751 } 9752 static inline HRESULT IDWriteFontFace5_GetKerningPairAdjustments(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { 9753 return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); 9754 } 9755 static inline WINBOOL IDWriteFontFace5_HasKerningPairs(IDWriteFontFace5* This) { 9756 return This->lpVtbl->HasKerningPairs(This); 9757 } 9758 static inline HRESULT IDWriteFontFace5_GetVerticalGlyphVariants(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { 9759 return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); 9760 } 9761 static inline WINBOOL IDWriteFontFace5_HasVerticalGlyphVariants(IDWriteFontFace5* This) { 9762 return This->lpVtbl->HasVerticalGlyphVariants(This); 9763 } 9764 /*** IDWriteFontFace2 methods ***/ 9765 static inline WINBOOL IDWriteFontFace5_IsColorFont(IDWriteFontFace5* This) { 9766 return This->lpVtbl->IsColorFont(This); 9767 } 9768 static inline UINT32 IDWriteFontFace5_GetColorPaletteCount(IDWriteFontFace5* This) { 9769 return This->lpVtbl->GetColorPaletteCount(This); 9770 } 9771 static inline UINT32 IDWriteFontFace5_GetPaletteEntryCount(IDWriteFontFace5* This) { 9772 return This->lpVtbl->GetPaletteEntryCount(This); 9773 } 9774 static inline HRESULT IDWriteFontFace5_GetPaletteEntries(IDWriteFontFace5* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { 9775 return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); 9776 } 9777 /*** IDWriteFontFace3 methods ***/ 9778 static inline HRESULT IDWriteFontFace5_GetFontFaceReference(IDWriteFontFace5* This,IDWriteFontFaceReference **reference) { 9779 return This->lpVtbl->GetFontFaceReference(This,reference); 9780 } 9781 static inline void IDWriteFontFace5_GetPanose(IDWriteFontFace5* This,DWRITE_PANOSE *panose) { 9782 This->lpVtbl->GetPanose(This,panose); 9783 } 9784 static inline DWRITE_FONT_WEIGHT IDWriteFontFace5_GetWeight(IDWriteFontFace5* This) { 9785 return This->lpVtbl->GetWeight(This); 9786 } 9787 static inline DWRITE_FONT_STRETCH IDWriteFontFace5_GetStretch(IDWriteFontFace5* This) { 9788 return This->lpVtbl->GetStretch(This); 9789 } 9790 static inline DWRITE_FONT_STYLE IDWriteFontFace5_GetStyle(IDWriteFontFace5* This) { 9791 return This->lpVtbl->GetStyle(This); 9792 } 9793 static inline HRESULT IDWriteFontFace5_GetFamilyNames(IDWriteFontFace5* This,IDWriteLocalizedStrings **names) { 9794 return This->lpVtbl->GetFamilyNames(This,names); 9795 } 9796 static inline HRESULT IDWriteFontFace5_GetFaceNames(IDWriteFontFace5* This,IDWriteLocalizedStrings **names) { 9797 return This->lpVtbl->GetFaceNames(This,names); 9798 } 9799 static inline HRESULT IDWriteFontFace5_GetInformationalStrings(IDWriteFontFace5* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 9800 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 9801 } 9802 static inline WINBOOL IDWriteFontFace5_HasCharacter(IDWriteFontFace5* This,UINT32 character) { 9803 return This->lpVtbl->HasCharacter(This,character); 9804 } 9805 static inline HRESULT IDWriteFontFace5_GetRecommendedRenderingMode(IDWriteFontFace5* This,FLOAT emsize,FLOAT dpi_x,FLOAT dpi_y,const DWRITE_MATRIX *transform,WINBOOL is_sideways,DWRITE_OUTLINE_THRESHOLD threshold,DWRITE_MEASURING_MODE measuring_mode,IDWriteRenderingParams *params,DWRITE_RENDERING_MODE1 *rendering_mode,DWRITE_GRID_FIT_MODE *gridfit_mode) { 9806 return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); 9807 } 9808 static inline WINBOOL IDWriteFontFace5_IsCharacterLocal(IDWriteFontFace5* This,UINT32 character) { 9809 return This->lpVtbl->IsCharacterLocal(This,character); 9810 } 9811 static inline WINBOOL IDWriteFontFace5_IsGlyphLocal(IDWriteFontFace5* This,UINT16 glyph) { 9812 return This->lpVtbl->IsGlyphLocal(This,glyph); 9813 } 9814 static inline HRESULT IDWriteFontFace5_AreCharactersLocal(IDWriteFontFace5* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 9815 return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); 9816 } 9817 static inline HRESULT IDWriteFontFace5_AreGlyphsLocal(IDWriteFontFace5* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 9818 return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); 9819 } 9820 /*** IDWriteFontFace4 methods ***/ 9821 static inline HRESULT IDWriteFontFace5_GetGlyphImageFormats_(IDWriteFontFace5* This,UINT16 glyph,UINT32 ppem_first,UINT32 ppem_last,DWRITE_GLYPH_IMAGE_FORMATS *formats) { 9822 return This->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats); 9823 } 9824 static inline DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace5_GetGlyphImageFormats(IDWriteFontFace5* This) { 9825 return This->lpVtbl->GetGlyphImageFormats(This); 9826 } 9827 static inline HRESULT IDWriteFontFace5_GetGlyphImageData(IDWriteFontFace5* This,UINT16 glyph,UINT32 ppem,DWRITE_GLYPH_IMAGE_FORMATS format,DWRITE_GLYPH_IMAGE_DATA *data,void **context) { 9828 return This->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context); 9829 } 9830 static inline void IDWriteFontFace5_ReleaseGlyphImageData(IDWriteFontFace5* This,void *context) { 9831 This->lpVtbl->ReleaseGlyphImageData(This,context); 9832 } 9833 /*** IDWriteFontFace5 methods ***/ 9834 static inline UINT32 IDWriteFontFace5_GetFontAxisValueCount(IDWriteFontFace5* This) { 9835 return This->lpVtbl->GetFontAxisValueCount(This); 9836 } 9837 static inline HRESULT IDWriteFontFace5_GetFontAxisValues(IDWriteFontFace5* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 value_count) { 9838 return This->lpVtbl->GetFontAxisValues(This,values,value_count); 9839 } 9840 static inline WINBOOL IDWriteFontFace5_HasVariations(IDWriteFontFace5* This) { 9841 return This->lpVtbl->HasVariations(This); 9842 } 9843 static inline HRESULT IDWriteFontFace5_GetFontResource(IDWriteFontFace5* This,IDWriteFontResource **resource) { 9844 return This->lpVtbl->GetFontResource(This,resource); 9845 } 9846 static inline WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This,IDWriteFontFace *fontface) { 9847 return This->lpVtbl->Equals(This,fontface); 9848 } 9849 #endif 9850 #endif 9851 9852 #endif 9853 9854 9855 #endif /* __IDWriteFontFace5_INTERFACE_DEFINED__ */ 9856 9857 /***************************************************************************** 9858 * IDWriteFontFace6 interface 9859 */ 9860 #ifndef __IDWriteFontFace6_INTERFACE_DEFINED__ 9861 #define __IDWriteFontFace6_INTERFACE_DEFINED__ 9862 9863 DEFINE_GUID(IID_IDWriteFontFace6, 0xc4b1fe1b, 0x6e84, 0x47d5, 0xb5,0x4c, 0xa5,0x97,0x98,0x1b,0x06,0xad); 9864 #if defined(__cplusplus) && !defined(CINTERFACE) 9865 MIDL_INTERFACE("c4b1fe1b-6e84-47d5-b54c-a597981b06ad") 9866 IDWriteFontFace6 : public IDWriteFontFace5 9867 { 9868 virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( 9869 DWRITE_FONT_FAMILY_MODEL font_family_model, 9870 IDWriteLocalizedStrings **names) = 0; 9871 9872 virtual HRESULT STDMETHODCALLTYPE GetFaceNames( 9873 DWRITE_FONT_FAMILY_MODEL font_family_model, 9874 IDWriteLocalizedStrings **names) = 0; 9875 9876 }; 9877 #ifdef __CRT_UUID_DECL 9878 __CRT_UUID_DECL(IDWriteFontFace6, 0xc4b1fe1b, 0x6e84, 0x47d5, 0xb5,0x4c, 0xa5,0x97,0x98,0x1b,0x06,0xad) 9879 #endif 9880 #else 9881 typedef struct IDWriteFontFace6Vtbl { 9882 BEGIN_INTERFACE 9883 9884 /*** IUnknown methods ***/ 9885 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9886 IDWriteFontFace6 *This, 9887 REFIID riid, 9888 void **ppvObject); 9889 9890 ULONG (STDMETHODCALLTYPE *AddRef)( 9891 IDWriteFontFace6 *This); 9892 9893 ULONG (STDMETHODCALLTYPE *Release)( 9894 IDWriteFontFace6 *This); 9895 9896 /*** IDWriteFontFace methods ***/ 9897 DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( 9898 IDWriteFontFace6 *This); 9899 9900 HRESULT (STDMETHODCALLTYPE *GetFiles)( 9901 IDWriteFontFace6 *This, 9902 UINT32 *number_of_files, 9903 IDWriteFontFile **fontfiles); 9904 9905 UINT32 (STDMETHODCALLTYPE *GetIndex)( 9906 IDWriteFontFace6 *This); 9907 9908 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 9909 IDWriteFontFace6 *This); 9910 9911 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 9912 IDWriteFontFace6 *This); 9913 9914 void (STDMETHODCALLTYPE *GetMetrics)( 9915 IDWriteFontFace6 *This, 9916 DWRITE_FONT_METRICS *metrics); 9917 9918 UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( 9919 IDWriteFontFace6 *This); 9920 9921 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( 9922 IDWriteFontFace6 *This, 9923 const UINT16 *glyph_indices, 9924 UINT32 glyph_count, 9925 DWRITE_GLYPH_METRICS *metrics, 9926 WINBOOL is_sideways); 9927 9928 HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( 9929 IDWriteFontFace6 *This, 9930 const UINT32 *codepoints, 9931 UINT32 count, 9932 UINT16 *glyph_indices); 9933 9934 HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( 9935 IDWriteFontFace6 *This, 9936 UINT32 table_tag, 9937 const void **table_data, 9938 UINT32 *table_size, 9939 void **context, 9940 WINBOOL *exists); 9941 9942 void (STDMETHODCALLTYPE *ReleaseFontTable)( 9943 IDWriteFontFace6 *This, 9944 void *table_context); 9945 9946 HRESULT (STDMETHODCALLTYPE *GetGlyphRunOutline)( 9947 IDWriteFontFace6 *This, 9948 FLOAT emSize, 9949 const UINT16 *glyph_indices, 9950 const FLOAT *glyph_advances, 9951 const DWRITE_GLYPH_OFFSET *glyph_offsets, 9952 UINT32 glyph_count, 9953 WINBOOL is_sideways, 9954 WINBOOL is_rtl, 9955 IDWriteGeometrySink *geometrysink); 9956 9957 HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( 9958 IDWriteFontFace6 *This, 9959 FLOAT emSize, 9960 FLOAT pixels_per_dip, 9961 DWRITE_MEASURING_MODE mode, 9962 IDWriteRenderingParams *params, 9963 DWRITE_RENDERING_MODE *rendering_mode); 9964 9965 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( 9966 IDWriteFontFace6 *This, 9967 FLOAT emSize, 9968 FLOAT pixels_per_dip, 9969 const DWRITE_MATRIX *transform, 9970 DWRITE_FONT_METRICS *metrics); 9971 9972 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphMetrics)( 9973 IDWriteFontFace6 *This, 9974 FLOAT emSize, 9975 FLOAT pixels_per_dip, 9976 const DWRITE_MATRIX *transform, 9977 WINBOOL use_gdi_natural, 9978 const UINT16 *glyph_indices, 9979 UINT32 glyph_count, 9980 DWRITE_GLYPH_METRICS *metrics, 9981 WINBOOL is_sideways); 9982 9983 /*** IDWriteFontFace1 methods ***/ 9984 void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( 9985 IDWriteFontFace6 *This, 9986 DWRITE_FONT_METRICS1 *metrics); 9987 9988 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( 9989 IDWriteFontFace6 *This, 9990 FLOAT em_size, 9991 FLOAT pixels_per_dip, 9992 const DWRITE_MATRIX *transform, 9993 DWRITE_FONT_METRICS1 *metrics); 9994 9995 void (STDMETHODCALLTYPE *GetCaretMetrics)( 9996 IDWriteFontFace6 *This, 9997 DWRITE_CARET_METRICS *metrics); 9998 9999 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 10000 IDWriteFontFace6 *This, 10001 UINT32 max_count, 10002 DWRITE_UNICODE_RANGE *ranges, 10003 UINT32 *count); 10004 10005 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 10006 IDWriteFontFace6 *This); 10007 10008 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( 10009 IDWriteFontFace6 *This, 10010 UINT32 glyph_count, 10011 const UINT16 *indices, 10012 INT32 *advances, 10013 WINBOOL is_sideways); 10014 10015 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphAdvances)( 10016 IDWriteFontFace6 *This, 10017 FLOAT em_size, 10018 FLOAT pixels_per_dip, 10019 const DWRITE_MATRIX *transform, 10020 WINBOOL use_gdi_natural, 10021 WINBOOL is_sideways, 10022 UINT32 glyph_count, 10023 const UINT16 *indices, 10024 INT32 *advances); 10025 10026 HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( 10027 IDWriteFontFace6 *This, 10028 UINT32 glyph_count, 10029 const UINT16 *indices, 10030 INT32 *adjustments); 10031 10032 WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( 10033 IDWriteFontFace6 *This); 10034 10035 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( 10036 IDWriteFontFace6 *This, 10037 FLOAT font_emsize, 10038 FLOAT dpiX, 10039 FLOAT dpiY, 10040 const DWRITE_MATRIX *transform, 10041 WINBOOL is_sideways, 10042 DWRITE_OUTLINE_THRESHOLD threshold, 10043 DWRITE_MEASURING_MODE measuring_mode, 10044 DWRITE_RENDERING_MODE *rendering_mode); 10045 10046 HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( 10047 IDWriteFontFace6 *This, 10048 UINT32 glyph_count, 10049 const UINT16 *nominal_indices, 10050 UINT16 *vertical_indices); 10051 10052 WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( 10053 IDWriteFontFace6 *This); 10054 10055 /*** IDWriteFontFace2 methods ***/ 10056 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 10057 IDWriteFontFace6 *This); 10058 10059 UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( 10060 IDWriteFontFace6 *This); 10061 10062 UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( 10063 IDWriteFontFace6 *This); 10064 10065 HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( 10066 IDWriteFontFace6 *This, 10067 UINT32 palette_index, 10068 UINT32 first_entry_index, 10069 UINT32 entry_count, 10070 DWRITE_COLOR_F *entries); 10071 10072 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( 10073 IDWriteFontFace6 *This, 10074 FLOAT fontEmSize, 10075 FLOAT dpiX, 10076 FLOAT dpiY, 10077 const DWRITE_MATRIX *transform, 10078 WINBOOL is_sideways, 10079 DWRITE_OUTLINE_THRESHOLD threshold, 10080 DWRITE_MEASURING_MODE measuringmode, 10081 IDWriteRenderingParams *params, 10082 DWRITE_RENDERING_MODE *renderingmode, 10083 DWRITE_GRID_FIT_MODE *gridfitmode); 10084 10085 /*** IDWriteFontFace3 methods ***/ 10086 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 10087 IDWriteFontFace6 *This, 10088 IDWriteFontFaceReference **reference); 10089 10090 void (STDMETHODCALLTYPE *GetPanose)( 10091 IDWriteFontFace6 *This, 10092 DWRITE_PANOSE *panose); 10093 10094 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 10095 IDWriteFontFace6 *This); 10096 10097 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 10098 IDWriteFontFace6 *This); 10099 10100 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 10101 IDWriteFontFace6 *This); 10102 10103 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 10104 IDWriteFontFace6 *This, 10105 IDWriteLocalizedStrings **names); 10106 10107 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 10108 IDWriteFontFace6 *This, 10109 IDWriteLocalizedStrings **names); 10110 10111 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 10112 IDWriteFontFace6 *This, 10113 DWRITE_INFORMATIONAL_STRING_ID stringid, 10114 IDWriteLocalizedStrings **strings, 10115 WINBOOL *exists); 10116 10117 WINBOOL (STDMETHODCALLTYPE *HasCharacter)( 10118 IDWriteFontFace6 *This, 10119 UINT32 character); 10120 10121 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_GetRecommendedRenderingMode)( 10122 IDWriteFontFace6 *This, 10123 FLOAT emsize, 10124 FLOAT dpi_x, 10125 FLOAT dpi_y, 10126 const DWRITE_MATRIX *transform, 10127 WINBOOL is_sideways, 10128 DWRITE_OUTLINE_THRESHOLD threshold, 10129 DWRITE_MEASURING_MODE measuring_mode, 10130 IDWriteRenderingParams *params, 10131 DWRITE_RENDERING_MODE1 *rendering_mode, 10132 DWRITE_GRID_FIT_MODE *gridfit_mode); 10133 10134 WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( 10135 IDWriteFontFace6 *This, 10136 UINT32 character); 10137 10138 WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( 10139 IDWriteFontFace6 *This, 10140 UINT16 glyph); 10141 10142 HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( 10143 IDWriteFontFace6 *This, 10144 const WCHAR *characters, 10145 UINT32 count, 10146 WINBOOL enqueue_if_not, 10147 WINBOOL *are_local); 10148 10149 HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( 10150 IDWriteFontFace6 *This, 10151 const UINT16 *glyphs, 10152 UINT32 count, 10153 WINBOOL enqueue_if_not, 10154 WINBOOL *are_local); 10155 10156 /*** IDWriteFontFace4 methods ***/ 10157 HRESULT (STDMETHODCALLTYPE *GetGlyphImageFormats_)( 10158 IDWriteFontFace6 *This, 10159 UINT16 glyph, 10160 UINT32 ppem_first, 10161 UINT32 ppem_last, 10162 DWRITE_GLYPH_IMAGE_FORMATS *formats); 10163 10164 DWRITE_GLYPH_IMAGE_FORMATS (STDMETHODCALLTYPE *GetGlyphImageFormats)( 10165 IDWriteFontFace6 *This); 10166 10167 HRESULT (STDMETHODCALLTYPE *GetGlyphImageData)( 10168 IDWriteFontFace6 *This, 10169 UINT16 glyph, 10170 UINT32 ppem, 10171 DWRITE_GLYPH_IMAGE_FORMATS format, 10172 DWRITE_GLYPH_IMAGE_DATA *data, 10173 void **context); 10174 10175 void (STDMETHODCALLTYPE *ReleaseGlyphImageData)( 10176 IDWriteFontFace6 *This, 10177 void *context); 10178 10179 /*** IDWriteFontFace5 methods ***/ 10180 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 10181 IDWriteFontFace6 *This); 10182 10183 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 10184 IDWriteFontFace6 *This, 10185 DWRITE_FONT_AXIS_VALUE *values, 10186 UINT32 value_count); 10187 10188 WINBOOL (STDMETHODCALLTYPE *HasVariations)( 10189 IDWriteFontFace6 *This); 10190 10191 HRESULT (STDMETHODCALLTYPE *GetFontResource)( 10192 IDWriteFontFace6 *This, 10193 IDWriteFontResource **resource); 10194 10195 WINBOOL (STDMETHODCALLTYPE *Equals)( 10196 IDWriteFontFace6 *This, 10197 IDWriteFontFace *fontface); 10198 10199 /*** IDWriteFontFace6 methods ***/ 10200 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace6_GetFamilyNames)( 10201 IDWriteFontFace6 *This, 10202 DWRITE_FONT_FAMILY_MODEL font_family_model, 10203 IDWriteLocalizedStrings **names); 10204 10205 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace6_GetFaceNames)( 10206 IDWriteFontFace6 *This, 10207 DWRITE_FONT_FAMILY_MODEL font_family_model, 10208 IDWriteLocalizedStrings **names); 10209 10210 END_INTERFACE 10211 } IDWriteFontFace6Vtbl; 10212 10213 interface IDWriteFontFace6 { 10214 CONST_VTBL IDWriteFontFace6Vtbl* lpVtbl; 10215 }; 10216 10217 #ifdef COBJMACROS 10218 #ifndef WIDL_C_INLINE_WRAPPERS 10219 /*** IUnknown methods ***/ 10220 #define IDWriteFontFace6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10221 #define IDWriteFontFace6_AddRef(This) (This)->lpVtbl->AddRef(This) 10222 #define IDWriteFontFace6_Release(This) (This)->lpVtbl->Release(This) 10223 /*** IDWriteFontFace methods ***/ 10224 #define IDWriteFontFace6_GetType(This) (This)->lpVtbl->GetType(This) 10225 #define IDWriteFontFace6_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) 10226 #define IDWriteFontFace6_GetIndex(This) (This)->lpVtbl->GetIndex(This) 10227 #define IDWriteFontFace6_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 10228 #define IDWriteFontFace6_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 10229 #define IDWriteFontFace6_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) 10230 #define IDWriteFontFace6_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) 10231 #define IDWriteFontFace6_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) 10232 #define IDWriteFontFace6_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) 10233 #define IDWriteFontFace6_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) 10234 #define IDWriteFontFace6_GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) 10235 #define IDWriteFontFace6_GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) 10236 /*** IDWriteFontFace1 methods ***/ 10237 #define IDWriteFontFace6_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) 10238 #define IDWriteFontFace6_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) 10239 #define IDWriteFontFace6_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) 10240 #define IDWriteFontFace6_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 10241 #define IDWriteFontFace6_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 10242 #define IDWriteFontFace6_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) 10243 #define IDWriteFontFace6_GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) 10244 #define IDWriteFontFace6_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) 10245 #define IDWriteFontFace6_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) 10246 #define IDWriteFontFace6_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) 10247 #define IDWriteFontFace6_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) 10248 /*** IDWriteFontFace2 methods ***/ 10249 #define IDWriteFontFace6_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 10250 #define IDWriteFontFace6_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) 10251 #define IDWriteFontFace6_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) 10252 #define IDWriteFontFace6_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) 10253 /*** IDWriteFontFace3 methods ***/ 10254 #define IDWriteFontFace6_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 10255 #define IDWriteFontFace6_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 10256 #define IDWriteFontFace6_GetWeight(This) (This)->lpVtbl->GetWeight(This) 10257 #define IDWriteFontFace6_GetStretch(This) (This)->lpVtbl->GetStretch(This) 10258 #define IDWriteFontFace6_GetStyle(This) (This)->lpVtbl->GetStyle(This) 10259 #define IDWriteFontFace6_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 10260 #define IDWriteFontFace6_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) 10261 #define IDWriteFontFace6_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) 10262 #define IDWriteFontFace6_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) 10263 #define IDWriteFontFace6_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) 10264 #define IDWriteFontFace6_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) 10265 #define IDWriteFontFace6_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) 10266 /*** IDWriteFontFace4 methods ***/ 10267 #define IDWriteFontFace6_GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) (This)->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) 10268 #define IDWriteFontFace6_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) 10269 #define IDWriteFontFace6_GetGlyphImageData(This,glyph,ppem,format,data,context) (This)->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context) 10270 #define IDWriteFontFace6_ReleaseGlyphImageData(This,context) (This)->lpVtbl->ReleaseGlyphImageData(This,context) 10271 /*** IDWriteFontFace5 methods ***/ 10272 #define IDWriteFontFace6_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) 10273 #define IDWriteFontFace6_GetFontAxisValues(This,values,value_count) (This)->lpVtbl->GetFontAxisValues(This,values,value_count) 10274 #define IDWriteFontFace6_HasVariations(This) (This)->lpVtbl->HasVariations(This) 10275 #define IDWriteFontFace6_GetFontResource(This,resource) (This)->lpVtbl->GetFontResource(This,resource) 10276 #define IDWriteFontFace6_Equals(This,fontface) (This)->lpVtbl->Equals(This,fontface) 10277 /*** IDWriteFontFace6 methods ***/ 10278 #define IDWriteFontFace6_GetFamilyNames(This,font_family_model,names) (This)->lpVtbl->IDWriteFontFace6_GetFamilyNames(This,font_family_model,names) 10279 #define IDWriteFontFace6_GetFaceNames(This,font_family_model,names) (This)->lpVtbl->IDWriteFontFace6_GetFaceNames(This,font_family_model,names) 10280 #else 10281 /*** IUnknown methods ***/ 10282 static inline HRESULT IDWriteFontFace6_QueryInterface(IDWriteFontFace6* This,REFIID riid,void **ppvObject) { 10283 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10284 } 10285 static inline ULONG IDWriteFontFace6_AddRef(IDWriteFontFace6* This) { 10286 return This->lpVtbl->AddRef(This); 10287 } 10288 static inline ULONG IDWriteFontFace6_Release(IDWriteFontFace6* This) { 10289 return This->lpVtbl->Release(This); 10290 } 10291 /*** IDWriteFontFace methods ***/ 10292 static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace6_GetType(IDWriteFontFace6* This) { 10293 return This->lpVtbl->GetType(This); 10294 } 10295 static inline HRESULT IDWriteFontFace6_GetFiles(IDWriteFontFace6* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { 10296 return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); 10297 } 10298 static inline UINT32 IDWriteFontFace6_GetIndex(IDWriteFontFace6* This) { 10299 return This->lpVtbl->GetIndex(This); 10300 } 10301 static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace6_GetSimulations(IDWriteFontFace6* This) { 10302 return This->lpVtbl->GetSimulations(This); 10303 } 10304 static inline WINBOOL IDWriteFontFace6_IsSymbolFont(IDWriteFontFace6* This) { 10305 return This->lpVtbl->IsSymbolFont(This); 10306 } 10307 static inline UINT16 IDWriteFontFace6_GetGlyphCount(IDWriteFontFace6* This) { 10308 return This->lpVtbl->GetGlyphCount(This); 10309 } 10310 static inline HRESULT IDWriteFontFace6_GetDesignGlyphMetrics(IDWriteFontFace6* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 10311 return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); 10312 } 10313 static inline HRESULT IDWriteFontFace6_GetGlyphIndices(IDWriteFontFace6* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { 10314 return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); 10315 } 10316 static inline HRESULT IDWriteFontFace6_TryGetFontTable(IDWriteFontFace6* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { 10317 return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); 10318 } 10319 static inline void IDWriteFontFace6_ReleaseFontTable(IDWriteFontFace6* This,void *table_context) { 10320 This->lpVtbl->ReleaseFontTable(This,table_context); 10321 } 10322 static inline HRESULT IDWriteFontFace6_GetGlyphRunOutline(IDWriteFontFace6* This,FLOAT emSize,const UINT16 *glyph_indices,const FLOAT *glyph_advances,const DWRITE_GLYPH_OFFSET *glyph_offsets,UINT32 glyph_count,WINBOOL is_sideways,WINBOOL is_rtl,IDWriteGeometrySink *geometrysink) { 10323 return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); 10324 } 10325 static inline HRESULT IDWriteFontFace6_GetGdiCompatibleGlyphMetrics(IDWriteFontFace6* This,FLOAT emSize,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 10326 return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); 10327 } 10328 /*** IDWriteFontFace1 methods ***/ 10329 static inline void IDWriteFontFace6_GetMetrics(IDWriteFontFace6* This,DWRITE_FONT_METRICS1 *metrics) { 10330 This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); 10331 } 10332 static inline HRESULT IDWriteFontFace6_GetGdiCompatibleMetrics(IDWriteFontFace6* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { 10333 return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); 10334 } 10335 static inline void IDWriteFontFace6_GetCaretMetrics(IDWriteFontFace6* This,DWRITE_CARET_METRICS *metrics) { 10336 This->lpVtbl->GetCaretMetrics(This,metrics); 10337 } 10338 static inline HRESULT IDWriteFontFace6_GetUnicodeRanges(IDWriteFontFace6* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 10339 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 10340 } 10341 static inline WINBOOL IDWriteFontFace6_IsMonospacedFont(IDWriteFontFace6* This) { 10342 return This->lpVtbl->IsMonospacedFont(This); 10343 } 10344 static inline HRESULT IDWriteFontFace6_GetDesignGlyphAdvances(IDWriteFontFace6* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { 10345 return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); 10346 } 10347 static inline HRESULT IDWriteFontFace6_GetGdiCompatibleGlyphAdvances(IDWriteFontFace6* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,WINBOOL is_sideways,UINT32 glyph_count,const UINT16 *indices,INT32 *advances) { 10348 return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); 10349 } 10350 static inline HRESULT IDWriteFontFace6_GetKerningPairAdjustments(IDWriteFontFace6* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { 10351 return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); 10352 } 10353 static inline WINBOOL IDWriteFontFace6_HasKerningPairs(IDWriteFontFace6* This) { 10354 return This->lpVtbl->HasKerningPairs(This); 10355 } 10356 static inline HRESULT IDWriteFontFace6_GetVerticalGlyphVariants(IDWriteFontFace6* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { 10357 return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); 10358 } 10359 static inline WINBOOL IDWriteFontFace6_HasVerticalGlyphVariants(IDWriteFontFace6* This) { 10360 return This->lpVtbl->HasVerticalGlyphVariants(This); 10361 } 10362 /*** IDWriteFontFace2 methods ***/ 10363 static inline WINBOOL IDWriteFontFace6_IsColorFont(IDWriteFontFace6* This) { 10364 return This->lpVtbl->IsColorFont(This); 10365 } 10366 static inline UINT32 IDWriteFontFace6_GetColorPaletteCount(IDWriteFontFace6* This) { 10367 return This->lpVtbl->GetColorPaletteCount(This); 10368 } 10369 static inline UINT32 IDWriteFontFace6_GetPaletteEntryCount(IDWriteFontFace6* This) { 10370 return This->lpVtbl->GetPaletteEntryCount(This); 10371 } 10372 static inline HRESULT IDWriteFontFace6_GetPaletteEntries(IDWriteFontFace6* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { 10373 return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); 10374 } 10375 /*** IDWriteFontFace3 methods ***/ 10376 static inline HRESULT IDWriteFontFace6_GetFontFaceReference(IDWriteFontFace6* This,IDWriteFontFaceReference **reference) { 10377 return This->lpVtbl->GetFontFaceReference(This,reference); 10378 } 10379 static inline void IDWriteFontFace6_GetPanose(IDWriteFontFace6* This,DWRITE_PANOSE *panose) { 10380 This->lpVtbl->GetPanose(This,panose); 10381 } 10382 static inline DWRITE_FONT_WEIGHT IDWriteFontFace6_GetWeight(IDWriteFontFace6* This) { 10383 return This->lpVtbl->GetWeight(This); 10384 } 10385 static inline DWRITE_FONT_STRETCH IDWriteFontFace6_GetStretch(IDWriteFontFace6* This) { 10386 return This->lpVtbl->GetStretch(This); 10387 } 10388 static inline DWRITE_FONT_STYLE IDWriteFontFace6_GetStyle(IDWriteFontFace6* This) { 10389 return This->lpVtbl->GetStyle(This); 10390 } 10391 static inline HRESULT IDWriteFontFace6_GetInformationalStrings(IDWriteFontFace6* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 10392 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 10393 } 10394 static inline WINBOOL IDWriteFontFace6_HasCharacter(IDWriteFontFace6* This,UINT32 character) { 10395 return This->lpVtbl->HasCharacter(This,character); 10396 } 10397 static inline HRESULT IDWriteFontFace6_GetRecommendedRenderingMode(IDWriteFontFace6* This,FLOAT emsize,FLOAT dpi_x,FLOAT dpi_y,const DWRITE_MATRIX *transform,WINBOOL is_sideways,DWRITE_OUTLINE_THRESHOLD threshold,DWRITE_MEASURING_MODE measuring_mode,IDWriteRenderingParams *params,DWRITE_RENDERING_MODE1 *rendering_mode,DWRITE_GRID_FIT_MODE *gridfit_mode) { 10398 return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); 10399 } 10400 static inline WINBOOL IDWriteFontFace6_IsCharacterLocal(IDWriteFontFace6* This,UINT32 character) { 10401 return This->lpVtbl->IsCharacterLocal(This,character); 10402 } 10403 static inline WINBOOL IDWriteFontFace6_IsGlyphLocal(IDWriteFontFace6* This,UINT16 glyph) { 10404 return This->lpVtbl->IsGlyphLocal(This,glyph); 10405 } 10406 static inline HRESULT IDWriteFontFace6_AreCharactersLocal(IDWriteFontFace6* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 10407 return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); 10408 } 10409 static inline HRESULT IDWriteFontFace6_AreGlyphsLocal(IDWriteFontFace6* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 10410 return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); 10411 } 10412 /*** IDWriteFontFace4 methods ***/ 10413 static inline HRESULT IDWriteFontFace6_GetGlyphImageFormats_(IDWriteFontFace6* This,UINT16 glyph,UINT32 ppem_first,UINT32 ppem_last,DWRITE_GLYPH_IMAGE_FORMATS *formats) { 10414 return This->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats); 10415 } 10416 static inline DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace6_GetGlyphImageFormats(IDWriteFontFace6* This) { 10417 return This->lpVtbl->GetGlyphImageFormats(This); 10418 } 10419 static inline HRESULT IDWriteFontFace6_GetGlyphImageData(IDWriteFontFace6* This,UINT16 glyph,UINT32 ppem,DWRITE_GLYPH_IMAGE_FORMATS format,DWRITE_GLYPH_IMAGE_DATA *data,void **context) { 10420 return This->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context); 10421 } 10422 static inline void IDWriteFontFace6_ReleaseGlyphImageData(IDWriteFontFace6* This,void *context) { 10423 This->lpVtbl->ReleaseGlyphImageData(This,context); 10424 } 10425 /*** IDWriteFontFace5 methods ***/ 10426 static inline UINT32 IDWriteFontFace6_GetFontAxisValueCount(IDWriteFontFace6* This) { 10427 return This->lpVtbl->GetFontAxisValueCount(This); 10428 } 10429 static inline HRESULT IDWriteFontFace6_GetFontAxisValues(IDWriteFontFace6* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 value_count) { 10430 return This->lpVtbl->GetFontAxisValues(This,values,value_count); 10431 } 10432 static inline WINBOOL IDWriteFontFace6_HasVariations(IDWriteFontFace6* This) { 10433 return This->lpVtbl->HasVariations(This); 10434 } 10435 static inline HRESULT IDWriteFontFace6_GetFontResource(IDWriteFontFace6* This,IDWriteFontResource **resource) { 10436 return This->lpVtbl->GetFontResource(This,resource); 10437 } 10438 static inline WINBOOL IDWriteFontFace6_Equals(IDWriteFontFace6* This,IDWriteFontFace *fontface) { 10439 return This->lpVtbl->Equals(This,fontface); 10440 } 10441 /*** IDWriteFontFace6 methods ***/ 10442 static inline HRESULT IDWriteFontFace6_GetFamilyNames(IDWriteFontFace6* This,DWRITE_FONT_FAMILY_MODEL font_family_model,IDWriteLocalizedStrings **names) { 10443 return This->lpVtbl->IDWriteFontFace6_GetFamilyNames(This,font_family_model,names); 10444 } 10445 static inline HRESULT IDWriteFontFace6_GetFaceNames(IDWriteFontFace6* This,DWRITE_FONT_FAMILY_MODEL font_family_model,IDWriteLocalizedStrings **names) { 10446 return This->lpVtbl->IDWriteFontFace6_GetFaceNames(This,font_family_model,names); 10447 } 10448 #endif 10449 #endif 10450 10451 #endif 10452 10453 10454 #endif /* __IDWriteFontFace6_INTERFACE_DEFINED__ */ 10455 10456 /***************************************************************************** 10457 * IDWritePaintReader interface 10458 */ 10459 #ifndef __IDWritePaintReader_INTERFACE_DEFINED__ 10460 #define __IDWritePaintReader_INTERFACE_DEFINED__ 10461 10462 DEFINE_GUID(IID_IDWritePaintReader, 0x8128e912, 0x3b97, 0x42a5, 0xab,0x6c, 0x24,0xaa,0xd3,0xa8,0x6e,0x54); 10463 #if defined(__cplusplus) && !defined(CINTERFACE) 10464 MIDL_INTERFACE("8128e912-3b97-42a5-ab6c-24aad3a86e54") 10465 IDWritePaintReader : public IUnknown 10466 { 10467 virtual HRESULT STDMETHODCALLTYPE SetCurrentGlyph( 10468 UINT32 glyph_index, 10469 DWRITE_PAINT_ELEMENT *paint_element, 10470 UINT32 struct_size, 10471 D2D_RECT_F *clip_box, 10472 DWRITE_PAINT_ATTRIBUTES *glyph_attributes = 0) = 0; 10473 10474 virtual HRESULT STDMETHODCALLTYPE SetTextColor( 10475 const DWRITE_COLOR_F *text_color) = 0; 10476 10477 virtual HRESULT STDMETHODCALLTYPE SetColorPaletteIndex( 10478 UINT32 color_palette_index) = 0; 10479 10480 virtual HRESULT STDMETHODCALLTYPE SetCustomColorPalette( 10481 const DWRITE_COLOR_F *palette_entries, 10482 UINT32 palette_entry_count) = 0; 10483 10484 virtual HRESULT STDMETHODCALLTYPE MoveToFirstChild( 10485 DWRITE_PAINT_ELEMENT *paint_element, 10486 UINT32 struct_size) = 0; 10487 10488 virtual HRESULT STDMETHODCALLTYPE MoveToNextSibling( 10489 DWRITE_PAINT_ELEMENT *paint_element, 10490 UINT32 struct_size) = 0; 10491 10492 virtual HRESULT STDMETHODCALLTYPE MoveToParent( 10493 ) = 0; 10494 10495 virtual HRESULT STDMETHODCALLTYPE GetGradientStops( 10496 UINT32 first_gradient_stop_index, 10497 UINT32 gradient_stop_count, 10498 D2D1_GRADIENT_STOP *gradient_stops) = 0; 10499 10500 virtual HRESULT STDMETHODCALLTYPE GetGradientStopColors( 10501 UINT32 first_gradient_stop_index, 10502 UINT32 gradient_stop_count, 10503 DWRITE_PAINT_COLOR *gradient_stop_colors) = 0; 10504 10505 }; 10506 #ifdef __CRT_UUID_DECL 10507 __CRT_UUID_DECL(IDWritePaintReader, 0x8128e912, 0x3b97, 0x42a5, 0xab,0x6c, 0x24,0xaa,0xd3,0xa8,0x6e,0x54) 10508 #endif 10509 #else 10510 typedef struct IDWritePaintReaderVtbl { 10511 BEGIN_INTERFACE 10512 10513 /*** IUnknown methods ***/ 10514 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10515 IDWritePaintReader *This, 10516 REFIID riid, 10517 void **ppvObject); 10518 10519 ULONG (STDMETHODCALLTYPE *AddRef)( 10520 IDWritePaintReader *This); 10521 10522 ULONG (STDMETHODCALLTYPE *Release)( 10523 IDWritePaintReader *This); 10524 10525 /*** IDWritePaintReader methods ***/ 10526 HRESULT (STDMETHODCALLTYPE *SetCurrentGlyph)( 10527 IDWritePaintReader *This, 10528 UINT32 glyph_index, 10529 DWRITE_PAINT_ELEMENT *paint_element, 10530 UINT32 struct_size, 10531 D2D_RECT_F *clip_box, 10532 DWRITE_PAINT_ATTRIBUTES *glyph_attributes); 10533 10534 HRESULT (STDMETHODCALLTYPE *SetTextColor)( 10535 IDWritePaintReader *This, 10536 const DWRITE_COLOR_F *text_color); 10537 10538 HRESULT (STDMETHODCALLTYPE *SetColorPaletteIndex)( 10539 IDWritePaintReader *This, 10540 UINT32 color_palette_index); 10541 10542 HRESULT (STDMETHODCALLTYPE *SetCustomColorPalette)( 10543 IDWritePaintReader *This, 10544 const DWRITE_COLOR_F *palette_entries, 10545 UINT32 palette_entry_count); 10546 10547 HRESULT (STDMETHODCALLTYPE *MoveToFirstChild)( 10548 IDWritePaintReader *This, 10549 DWRITE_PAINT_ELEMENT *paint_element, 10550 UINT32 struct_size); 10551 10552 HRESULT (STDMETHODCALLTYPE *MoveToNextSibling)( 10553 IDWritePaintReader *This, 10554 DWRITE_PAINT_ELEMENT *paint_element, 10555 UINT32 struct_size); 10556 10557 HRESULT (STDMETHODCALLTYPE *MoveToParent)( 10558 IDWritePaintReader *This); 10559 10560 HRESULT (STDMETHODCALLTYPE *GetGradientStops)( 10561 IDWritePaintReader *This, 10562 UINT32 first_gradient_stop_index, 10563 UINT32 gradient_stop_count, 10564 D2D1_GRADIENT_STOP *gradient_stops); 10565 10566 HRESULT (STDMETHODCALLTYPE *GetGradientStopColors)( 10567 IDWritePaintReader *This, 10568 UINT32 first_gradient_stop_index, 10569 UINT32 gradient_stop_count, 10570 DWRITE_PAINT_COLOR *gradient_stop_colors); 10571 10572 END_INTERFACE 10573 } IDWritePaintReaderVtbl; 10574 10575 interface IDWritePaintReader { 10576 CONST_VTBL IDWritePaintReaderVtbl* lpVtbl; 10577 }; 10578 10579 #ifdef COBJMACROS 10580 #ifndef WIDL_C_INLINE_WRAPPERS 10581 /*** IUnknown methods ***/ 10582 #define IDWritePaintReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10583 #define IDWritePaintReader_AddRef(This) (This)->lpVtbl->AddRef(This) 10584 #define IDWritePaintReader_Release(This) (This)->lpVtbl->Release(This) 10585 /*** IDWritePaintReader methods ***/ 10586 #define IDWritePaintReader_SetCurrentGlyph(This,glyph_index,paint_element,struct_size,clip_box,glyph_attributes) (This)->lpVtbl->SetCurrentGlyph(This,glyph_index,paint_element,struct_size,clip_box,glyph_attributes) 10587 #define IDWritePaintReader_SetTextColor(This,text_color) (This)->lpVtbl->SetTextColor(This,text_color) 10588 #define IDWritePaintReader_SetColorPaletteIndex(This,color_palette_index) (This)->lpVtbl->SetColorPaletteIndex(This,color_palette_index) 10589 #define IDWritePaintReader_SetCustomColorPalette(This,palette_entries,palette_entry_count) (This)->lpVtbl->SetCustomColorPalette(This,palette_entries,palette_entry_count) 10590 #define IDWritePaintReader_MoveToFirstChild(This,paint_element,struct_size) (This)->lpVtbl->MoveToFirstChild(This,paint_element,struct_size) 10591 #define IDWritePaintReader_MoveToNextSibling(This,paint_element,struct_size) (This)->lpVtbl->MoveToNextSibling(This,paint_element,struct_size) 10592 #define IDWritePaintReader_MoveToParent(This) (This)->lpVtbl->MoveToParent(This) 10593 #define IDWritePaintReader_GetGradientStops(This,first_gradient_stop_index,gradient_stop_count,gradient_stops) (This)->lpVtbl->GetGradientStops(This,first_gradient_stop_index,gradient_stop_count,gradient_stops) 10594 #define IDWritePaintReader_GetGradientStopColors(This,first_gradient_stop_index,gradient_stop_count,gradient_stop_colors) (This)->lpVtbl->GetGradientStopColors(This,first_gradient_stop_index,gradient_stop_count,gradient_stop_colors) 10595 #else 10596 /*** IUnknown methods ***/ 10597 static inline HRESULT IDWritePaintReader_QueryInterface(IDWritePaintReader* This,REFIID riid,void **ppvObject) { 10598 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10599 } 10600 static inline ULONG IDWritePaintReader_AddRef(IDWritePaintReader* This) { 10601 return This->lpVtbl->AddRef(This); 10602 } 10603 static inline ULONG IDWritePaintReader_Release(IDWritePaintReader* This) { 10604 return This->lpVtbl->Release(This); 10605 } 10606 /*** IDWritePaintReader methods ***/ 10607 static inline HRESULT IDWritePaintReader_SetCurrentGlyph(IDWritePaintReader* This,UINT32 glyph_index,DWRITE_PAINT_ELEMENT *paint_element,UINT32 struct_size,D2D_RECT_F *clip_box,DWRITE_PAINT_ATTRIBUTES *glyph_attributes) { 10608 return This->lpVtbl->SetCurrentGlyph(This,glyph_index,paint_element,struct_size,clip_box,glyph_attributes); 10609 } 10610 static inline HRESULT IDWritePaintReader_SetTextColor(IDWritePaintReader* This,const DWRITE_COLOR_F *text_color) { 10611 return This->lpVtbl->SetTextColor(This,text_color); 10612 } 10613 static inline HRESULT IDWritePaintReader_SetColorPaletteIndex(IDWritePaintReader* This,UINT32 color_palette_index) { 10614 return This->lpVtbl->SetColorPaletteIndex(This,color_palette_index); 10615 } 10616 static inline HRESULT IDWritePaintReader_SetCustomColorPalette(IDWritePaintReader* This,const DWRITE_COLOR_F *palette_entries,UINT32 palette_entry_count) { 10617 return This->lpVtbl->SetCustomColorPalette(This,palette_entries,palette_entry_count); 10618 } 10619 static inline HRESULT IDWritePaintReader_MoveToFirstChild(IDWritePaintReader* This,DWRITE_PAINT_ELEMENT *paint_element,UINT32 struct_size) { 10620 return This->lpVtbl->MoveToFirstChild(This,paint_element,struct_size); 10621 } 10622 static inline HRESULT IDWritePaintReader_MoveToNextSibling(IDWritePaintReader* This,DWRITE_PAINT_ELEMENT *paint_element,UINT32 struct_size) { 10623 return This->lpVtbl->MoveToNextSibling(This,paint_element,struct_size); 10624 } 10625 static inline HRESULT IDWritePaintReader_MoveToParent(IDWritePaintReader* This) { 10626 return This->lpVtbl->MoveToParent(This); 10627 } 10628 static inline HRESULT IDWritePaintReader_GetGradientStops(IDWritePaintReader* This,UINT32 first_gradient_stop_index,UINT32 gradient_stop_count,D2D1_GRADIENT_STOP *gradient_stops) { 10629 return This->lpVtbl->GetGradientStops(This,first_gradient_stop_index,gradient_stop_count,gradient_stops); 10630 } 10631 static inline HRESULT IDWritePaintReader_GetGradientStopColors(IDWritePaintReader* This,UINT32 first_gradient_stop_index,UINT32 gradient_stop_count,DWRITE_PAINT_COLOR *gradient_stop_colors) { 10632 return This->lpVtbl->GetGradientStopColors(This,first_gradient_stop_index,gradient_stop_count,gradient_stop_colors); 10633 } 10634 #endif 10635 #endif 10636 10637 #endif 10638 10639 10640 #endif /* __IDWritePaintReader_INTERFACE_DEFINED__ */ 10641 10642 /***************************************************************************** 10643 * IDWriteFontFace7 interface 10644 */ 10645 #ifndef __IDWriteFontFace7_INTERFACE_DEFINED__ 10646 #define __IDWriteFontFace7_INTERFACE_DEFINED__ 10647 10648 DEFINE_GUID(IID_IDWriteFontFace7, 0x3945b85b, 0xbc95, 0x40f7, 0xb7,0x2c, 0x8b,0x73,0xbf,0xc7,0xe1,0x3b); 10649 #if defined(__cplusplus) && !defined(CINTERFACE) 10650 MIDL_INTERFACE("3945b85b-bc95-40f7-b72c-8b73bfc7e13b") 10651 IDWriteFontFace7 : public IDWriteFontFace6 10652 { 10653 virtual DWRITE_PAINT_FEATURE_LEVEL STDMETHODCALLTYPE GetPaintFeatureLevel( 10654 DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format) = 0; 10655 10656 virtual HRESULT STDMETHODCALLTYPE CreatePaintReader( 10657 DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, 10658 DWRITE_PAINT_FEATURE_LEVEL paint_feature_level, 10659 IDWritePaintReader **paint_reader) = 0; 10660 10661 }; 10662 #ifdef __CRT_UUID_DECL 10663 __CRT_UUID_DECL(IDWriteFontFace7, 0x3945b85b, 0xbc95, 0x40f7, 0xb7,0x2c, 0x8b,0x73,0xbf,0xc7,0xe1,0x3b) 10664 #endif 10665 #else 10666 typedef struct IDWriteFontFace7Vtbl { 10667 BEGIN_INTERFACE 10668 10669 /*** IUnknown methods ***/ 10670 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10671 IDWriteFontFace7 *This, 10672 REFIID riid, 10673 void **ppvObject); 10674 10675 ULONG (STDMETHODCALLTYPE *AddRef)( 10676 IDWriteFontFace7 *This); 10677 10678 ULONG (STDMETHODCALLTYPE *Release)( 10679 IDWriteFontFace7 *This); 10680 10681 /*** IDWriteFontFace methods ***/ 10682 DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( 10683 IDWriteFontFace7 *This); 10684 10685 HRESULT (STDMETHODCALLTYPE *GetFiles)( 10686 IDWriteFontFace7 *This, 10687 UINT32 *number_of_files, 10688 IDWriteFontFile **fontfiles); 10689 10690 UINT32 (STDMETHODCALLTYPE *GetIndex)( 10691 IDWriteFontFace7 *This); 10692 10693 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 10694 IDWriteFontFace7 *This); 10695 10696 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 10697 IDWriteFontFace7 *This); 10698 10699 void (STDMETHODCALLTYPE *GetMetrics)( 10700 IDWriteFontFace7 *This, 10701 DWRITE_FONT_METRICS *metrics); 10702 10703 UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( 10704 IDWriteFontFace7 *This); 10705 10706 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( 10707 IDWriteFontFace7 *This, 10708 const UINT16 *glyph_indices, 10709 UINT32 glyph_count, 10710 DWRITE_GLYPH_METRICS *metrics, 10711 WINBOOL is_sideways); 10712 10713 HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( 10714 IDWriteFontFace7 *This, 10715 const UINT32 *codepoints, 10716 UINT32 count, 10717 UINT16 *glyph_indices); 10718 10719 HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( 10720 IDWriteFontFace7 *This, 10721 UINT32 table_tag, 10722 const void **table_data, 10723 UINT32 *table_size, 10724 void **context, 10725 WINBOOL *exists); 10726 10727 void (STDMETHODCALLTYPE *ReleaseFontTable)( 10728 IDWriteFontFace7 *This, 10729 void *table_context); 10730 10731 HRESULT (STDMETHODCALLTYPE *GetGlyphRunOutline)( 10732 IDWriteFontFace7 *This, 10733 FLOAT emSize, 10734 const UINT16 *glyph_indices, 10735 const FLOAT *glyph_advances, 10736 const DWRITE_GLYPH_OFFSET *glyph_offsets, 10737 UINT32 glyph_count, 10738 WINBOOL is_sideways, 10739 WINBOOL is_rtl, 10740 IDWriteGeometrySink *geometrysink); 10741 10742 HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( 10743 IDWriteFontFace7 *This, 10744 FLOAT emSize, 10745 FLOAT pixels_per_dip, 10746 DWRITE_MEASURING_MODE mode, 10747 IDWriteRenderingParams *params, 10748 DWRITE_RENDERING_MODE *rendering_mode); 10749 10750 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( 10751 IDWriteFontFace7 *This, 10752 FLOAT emSize, 10753 FLOAT pixels_per_dip, 10754 const DWRITE_MATRIX *transform, 10755 DWRITE_FONT_METRICS *metrics); 10756 10757 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphMetrics)( 10758 IDWriteFontFace7 *This, 10759 FLOAT emSize, 10760 FLOAT pixels_per_dip, 10761 const DWRITE_MATRIX *transform, 10762 WINBOOL use_gdi_natural, 10763 const UINT16 *glyph_indices, 10764 UINT32 glyph_count, 10765 DWRITE_GLYPH_METRICS *metrics, 10766 WINBOOL is_sideways); 10767 10768 /*** IDWriteFontFace1 methods ***/ 10769 void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( 10770 IDWriteFontFace7 *This, 10771 DWRITE_FONT_METRICS1 *metrics); 10772 10773 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( 10774 IDWriteFontFace7 *This, 10775 FLOAT em_size, 10776 FLOAT pixels_per_dip, 10777 const DWRITE_MATRIX *transform, 10778 DWRITE_FONT_METRICS1 *metrics); 10779 10780 void (STDMETHODCALLTYPE *GetCaretMetrics)( 10781 IDWriteFontFace7 *This, 10782 DWRITE_CARET_METRICS *metrics); 10783 10784 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 10785 IDWriteFontFace7 *This, 10786 UINT32 max_count, 10787 DWRITE_UNICODE_RANGE *ranges, 10788 UINT32 *count); 10789 10790 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 10791 IDWriteFontFace7 *This); 10792 10793 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( 10794 IDWriteFontFace7 *This, 10795 UINT32 glyph_count, 10796 const UINT16 *indices, 10797 INT32 *advances, 10798 WINBOOL is_sideways); 10799 10800 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphAdvances)( 10801 IDWriteFontFace7 *This, 10802 FLOAT em_size, 10803 FLOAT pixels_per_dip, 10804 const DWRITE_MATRIX *transform, 10805 WINBOOL use_gdi_natural, 10806 WINBOOL is_sideways, 10807 UINT32 glyph_count, 10808 const UINT16 *indices, 10809 INT32 *advances); 10810 10811 HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( 10812 IDWriteFontFace7 *This, 10813 UINT32 glyph_count, 10814 const UINT16 *indices, 10815 INT32 *adjustments); 10816 10817 WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( 10818 IDWriteFontFace7 *This); 10819 10820 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( 10821 IDWriteFontFace7 *This, 10822 FLOAT font_emsize, 10823 FLOAT dpiX, 10824 FLOAT dpiY, 10825 const DWRITE_MATRIX *transform, 10826 WINBOOL is_sideways, 10827 DWRITE_OUTLINE_THRESHOLD threshold, 10828 DWRITE_MEASURING_MODE measuring_mode, 10829 DWRITE_RENDERING_MODE *rendering_mode); 10830 10831 HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( 10832 IDWriteFontFace7 *This, 10833 UINT32 glyph_count, 10834 const UINT16 *nominal_indices, 10835 UINT16 *vertical_indices); 10836 10837 WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( 10838 IDWriteFontFace7 *This); 10839 10840 /*** IDWriteFontFace2 methods ***/ 10841 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 10842 IDWriteFontFace7 *This); 10843 10844 UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( 10845 IDWriteFontFace7 *This); 10846 10847 UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( 10848 IDWriteFontFace7 *This); 10849 10850 HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( 10851 IDWriteFontFace7 *This, 10852 UINT32 palette_index, 10853 UINT32 first_entry_index, 10854 UINT32 entry_count, 10855 DWRITE_COLOR_F *entries); 10856 10857 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( 10858 IDWriteFontFace7 *This, 10859 FLOAT fontEmSize, 10860 FLOAT dpiX, 10861 FLOAT dpiY, 10862 const DWRITE_MATRIX *transform, 10863 WINBOOL is_sideways, 10864 DWRITE_OUTLINE_THRESHOLD threshold, 10865 DWRITE_MEASURING_MODE measuringmode, 10866 IDWriteRenderingParams *params, 10867 DWRITE_RENDERING_MODE *renderingmode, 10868 DWRITE_GRID_FIT_MODE *gridfitmode); 10869 10870 /*** IDWriteFontFace3 methods ***/ 10871 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 10872 IDWriteFontFace7 *This, 10873 IDWriteFontFaceReference **reference); 10874 10875 void (STDMETHODCALLTYPE *GetPanose)( 10876 IDWriteFontFace7 *This, 10877 DWRITE_PANOSE *panose); 10878 10879 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 10880 IDWriteFontFace7 *This); 10881 10882 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 10883 IDWriteFontFace7 *This); 10884 10885 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 10886 IDWriteFontFace7 *This); 10887 10888 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 10889 IDWriteFontFace7 *This, 10890 IDWriteLocalizedStrings **names); 10891 10892 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 10893 IDWriteFontFace7 *This, 10894 IDWriteLocalizedStrings **names); 10895 10896 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 10897 IDWriteFontFace7 *This, 10898 DWRITE_INFORMATIONAL_STRING_ID stringid, 10899 IDWriteLocalizedStrings **strings, 10900 WINBOOL *exists); 10901 10902 WINBOOL (STDMETHODCALLTYPE *HasCharacter)( 10903 IDWriteFontFace7 *This, 10904 UINT32 character); 10905 10906 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_GetRecommendedRenderingMode)( 10907 IDWriteFontFace7 *This, 10908 FLOAT emsize, 10909 FLOAT dpi_x, 10910 FLOAT dpi_y, 10911 const DWRITE_MATRIX *transform, 10912 WINBOOL is_sideways, 10913 DWRITE_OUTLINE_THRESHOLD threshold, 10914 DWRITE_MEASURING_MODE measuring_mode, 10915 IDWriteRenderingParams *params, 10916 DWRITE_RENDERING_MODE1 *rendering_mode, 10917 DWRITE_GRID_FIT_MODE *gridfit_mode); 10918 10919 WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( 10920 IDWriteFontFace7 *This, 10921 UINT32 character); 10922 10923 WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( 10924 IDWriteFontFace7 *This, 10925 UINT16 glyph); 10926 10927 HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( 10928 IDWriteFontFace7 *This, 10929 const WCHAR *characters, 10930 UINT32 count, 10931 WINBOOL enqueue_if_not, 10932 WINBOOL *are_local); 10933 10934 HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( 10935 IDWriteFontFace7 *This, 10936 const UINT16 *glyphs, 10937 UINT32 count, 10938 WINBOOL enqueue_if_not, 10939 WINBOOL *are_local); 10940 10941 /*** IDWriteFontFace4 methods ***/ 10942 HRESULT (STDMETHODCALLTYPE *GetGlyphImageFormats_)( 10943 IDWriteFontFace7 *This, 10944 UINT16 glyph, 10945 UINT32 ppem_first, 10946 UINT32 ppem_last, 10947 DWRITE_GLYPH_IMAGE_FORMATS *formats); 10948 10949 DWRITE_GLYPH_IMAGE_FORMATS (STDMETHODCALLTYPE *GetGlyphImageFormats)( 10950 IDWriteFontFace7 *This); 10951 10952 HRESULT (STDMETHODCALLTYPE *GetGlyphImageData)( 10953 IDWriteFontFace7 *This, 10954 UINT16 glyph, 10955 UINT32 ppem, 10956 DWRITE_GLYPH_IMAGE_FORMATS format, 10957 DWRITE_GLYPH_IMAGE_DATA *data, 10958 void **context); 10959 10960 void (STDMETHODCALLTYPE *ReleaseGlyphImageData)( 10961 IDWriteFontFace7 *This, 10962 void *context); 10963 10964 /*** IDWriteFontFace5 methods ***/ 10965 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 10966 IDWriteFontFace7 *This); 10967 10968 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 10969 IDWriteFontFace7 *This, 10970 DWRITE_FONT_AXIS_VALUE *values, 10971 UINT32 value_count); 10972 10973 WINBOOL (STDMETHODCALLTYPE *HasVariations)( 10974 IDWriteFontFace7 *This); 10975 10976 HRESULT (STDMETHODCALLTYPE *GetFontResource)( 10977 IDWriteFontFace7 *This, 10978 IDWriteFontResource **resource); 10979 10980 WINBOOL (STDMETHODCALLTYPE *Equals)( 10981 IDWriteFontFace7 *This, 10982 IDWriteFontFace *fontface); 10983 10984 /*** IDWriteFontFace6 methods ***/ 10985 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace6_GetFamilyNames)( 10986 IDWriteFontFace7 *This, 10987 DWRITE_FONT_FAMILY_MODEL font_family_model, 10988 IDWriteLocalizedStrings **names); 10989 10990 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace6_GetFaceNames)( 10991 IDWriteFontFace7 *This, 10992 DWRITE_FONT_FAMILY_MODEL font_family_model, 10993 IDWriteLocalizedStrings **names); 10994 10995 /*** IDWriteFontFace7 methods ***/ 10996 DWRITE_PAINT_FEATURE_LEVEL (STDMETHODCALLTYPE *GetPaintFeatureLevel)( 10997 IDWriteFontFace7 *This, 10998 DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format); 10999 11000 HRESULT (STDMETHODCALLTYPE *CreatePaintReader)( 11001 IDWriteFontFace7 *This, 11002 DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, 11003 DWRITE_PAINT_FEATURE_LEVEL paint_feature_level, 11004 IDWritePaintReader **paint_reader); 11005 11006 END_INTERFACE 11007 } IDWriteFontFace7Vtbl; 11008 11009 interface IDWriteFontFace7 { 11010 CONST_VTBL IDWriteFontFace7Vtbl* lpVtbl; 11011 }; 11012 11013 #ifdef COBJMACROS 11014 #ifndef WIDL_C_INLINE_WRAPPERS 11015 /*** IUnknown methods ***/ 11016 #define IDWriteFontFace7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11017 #define IDWriteFontFace7_AddRef(This) (This)->lpVtbl->AddRef(This) 11018 #define IDWriteFontFace7_Release(This) (This)->lpVtbl->Release(This) 11019 /*** IDWriteFontFace methods ***/ 11020 #define IDWriteFontFace7_GetType(This) (This)->lpVtbl->GetType(This) 11021 #define IDWriteFontFace7_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) 11022 #define IDWriteFontFace7_GetIndex(This) (This)->lpVtbl->GetIndex(This) 11023 #define IDWriteFontFace7_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 11024 #define IDWriteFontFace7_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 11025 #define IDWriteFontFace7_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) 11026 #define IDWriteFontFace7_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) 11027 #define IDWriteFontFace7_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) 11028 #define IDWriteFontFace7_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) 11029 #define IDWriteFontFace7_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) 11030 #define IDWriteFontFace7_GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink) 11031 #define IDWriteFontFace7_GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways) 11032 /*** IDWriteFontFace1 methods ***/ 11033 #define IDWriteFontFace7_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) 11034 #define IDWriteFontFace7_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) 11035 #define IDWriteFontFace7_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) 11036 #define IDWriteFontFace7_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 11037 #define IDWriteFontFace7_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 11038 #define IDWriteFontFace7_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) 11039 #define IDWriteFontFace7_GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances) 11040 #define IDWriteFontFace7_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) 11041 #define IDWriteFontFace7_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) 11042 #define IDWriteFontFace7_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) 11043 #define IDWriteFontFace7_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) 11044 /*** IDWriteFontFace2 methods ***/ 11045 #define IDWriteFontFace7_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 11046 #define IDWriteFontFace7_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) 11047 #define IDWriteFontFace7_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) 11048 #define IDWriteFontFace7_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) 11049 /*** IDWriteFontFace3 methods ***/ 11050 #define IDWriteFontFace7_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 11051 #define IDWriteFontFace7_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 11052 #define IDWriteFontFace7_GetWeight(This) (This)->lpVtbl->GetWeight(This) 11053 #define IDWriteFontFace7_GetStretch(This) (This)->lpVtbl->GetStretch(This) 11054 #define IDWriteFontFace7_GetStyle(This) (This)->lpVtbl->GetStyle(This) 11055 #define IDWriteFontFace7_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 11056 #define IDWriteFontFace7_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) 11057 #define IDWriteFontFace7_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode) 11058 #define IDWriteFontFace7_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) 11059 #define IDWriteFontFace7_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) 11060 #define IDWriteFontFace7_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) 11061 #define IDWriteFontFace7_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) 11062 /*** IDWriteFontFace4 methods ***/ 11063 #define IDWriteFontFace7_GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) (This)->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) 11064 #define IDWriteFontFace7_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) 11065 #define IDWriteFontFace7_GetGlyphImageData(This,glyph,ppem,format,data,context) (This)->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context) 11066 #define IDWriteFontFace7_ReleaseGlyphImageData(This,context) (This)->lpVtbl->ReleaseGlyphImageData(This,context) 11067 /*** IDWriteFontFace5 methods ***/ 11068 #define IDWriteFontFace7_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) 11069 #define IDWriteFontFace7_GetFontAxisValues(This,values,value_count) (This)->lpVtbl->GetFontAxisValues(This,values,value_count) 11070 #define IDWriteFontFace7_HasVariations(This) (This)->lpVtbl->HasVariations(This) 11071 #define IDWriteFontFace7_GetFontResource(This,resource) (This)->lpVtbl->GetFontResource(This,resource) 11072 #define IDWriteFontFace7_Equals(This,fontface) (This)->lpVtbl->Equals(This,fontface) 11073 /*** IDWriteFontFace6 methods ***/ 11074 #define IDWriteFontFace7_GetFamilyNames(This,font_family_model,names) (This)->lpVtbl->IDWriteFontFace6_GetFamilyNames(This,font_family_model,names) 11075 #define IDWriteFontFace7_GetFaceNames(This,font_family_model,names) (This)->lpVtbl->IDWriteFontFace6_GetFaceNames(This,font_family_model,names) 11076 /*** IDWriteFontFace7 methods ***/ 11077 #define IDWriteFontFace7_GetPaintFeatureLevel(This,glyph_image_format) (This)->lpVtbl->GetPaintFeatureLevel(This,glyph_image_format) 11078 #define IDWriteFontFace7_CreatePaintReader(This,glyph_image_format,paint_feature_level,paint_reader) (This)->lpVtbl->CreatePaintReader(This,glyph_image_format,paint_feature_level,paint_reader) 11079 #else 11080 /*** IUnknown methods ***/ 11081 static inline HRESULT IDWriteFontFace7_QueryInterface(IDWriteFontFace7* This,REFIID riid,void **ppvObject) { 11082 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11083 } 11084 static inline ULONG IDWriteFontFace7_AddRef(IDWriteFontFace7* This) { 11085 return This->lpVtbl->AddRef(This); 11086 } 11087 static inline ULONG IDWriteFontFace7_Release(IDWriteFontFace7* This) { 11088 return This->lpVtbl->Release(This); 11089 } 11090 /*** IDWriteFontFace methods ***/ 11091 static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace7_GetType(IDWriteFontFace7* This) { 11092 return This->lpVtbl->GetType(This); 11093 } 11094 static inline HRESULT IDWriteFontFace7_GetFiles(IDWriteFontFace7* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { 11095 return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); 11096 } 11097 static inline UINT32 IDWriteFontFace7_GetIndex(IDWriteFontFace7* This) { 11098 return This->lpVtbl->GetIndex(This); 11099 } 11100 static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace7_GetSimulations(IDWriteFontFace7* This) { 11101 return This->lpVtbl->GetSimulations(This); 11102 } 11103 static inline WINBOOL IDWriteFontFace7_IsSymbolFont(IDWriteFontFace7* This) { 11104 return This->lpVtbl->IsSymbolFont(This); 11105 } 11106 static inline UINT16 IDWriteFontFace7_GetGlyphCount(IDWriteFontFace7* This) { 11107 return This->lpVtbl->GetGlyphCount(This); 11108 } 11109 static inline HRESULT IDWriteFontFace7_GetDesignGlyphMetrics(IDWriteFontFace7* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 11110 return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); 11111 } 11112 static inline HRESULT IDWriteFontFace7_GetGlyphIndices(IDWriteFontFace7* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { 11113 return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); 11114 } 11115 static inline HRESULT IDWriteFontFace7_TryGetFontTable(IDWriteFontFace7* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { 11116 return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); 11117 } 11118 static inline void IDWriteFontFace7_ReleaseFontTable(IDWriteFontFace7* This,void *table_context) { 11119 This->lpVtbl->ReleaseFontTable(This,table_context); 11120 } 11121 static inline HRESULT IDWriteFontFace7_GetGlyphRunOutline(IDWriteFontFace7* This,FLOAT emSize,const UINT16 *glyph_indices,const FLOAT *glyph_advances,const DWRITE_GLYPH_OFFSET *glyph_offsets,UINT32 glyph_count,WINBOOL is_sideways,WINBOOL is_rtl,IDWriteGeometrySink *geometrysink) { 11122 return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); 11123 } 11124 static inline HRESULT IDWriteFontFace7_GetGdiCompatibleGlyphMetrics(IDWriteFontFace7* This,FLOAT emSize,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 11125 return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); 11126 } 11127 /*** IDWriteFontFace1 methods ***/ 11128 static inline void IDWriteFontFace7_GetMetrics(IDWriteFontFace7* This,DWRITE_FONT_METRICS1 *metrics) { 11129 This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); 11130 } 11131 static inline HRESULT IDWriteFontFace7_GetGdiCompatibleMetrics(IDWriteFontFace7* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { 11132 return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); 11133 } 11134 static inline void IDWriteFontFace7_GetCaretMetrics(IDWriteFontFace7* This,DWRITE_CARET_METRICS *metrics) { 11135 This->lpVtbl->GetCaretMetrics(This,metrics); 11136 } 11137 static inline HRESULT IDWriteFontFace7_GetUnicodeRanges(IDWriteFontFace7* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 11138 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 11139 } 11140 static inline WINBOOL IDWriteFontFace7_IsMonospacedFont(IDWriteFontFace7* This) { 11141 return This->lpVtbl->IsMonospacedFont(This); 11142 } 11143 static inline HRESULT IDWriteFontFace7_GetDesignGlyphAdvances(IDWriteFontFace7* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { 11144 return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); 11145 } 11146 static inline HRESULT IDWriteFontFace7_GetGdiCompatibleGlyphAdvances(IDWriteFontFace7* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,WINBOOL is_sideways,UINT32 glyph_count,const UINT16 *indices,INT32 *advances) { 11147 return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); 11148 } 11149 static inline HRESULT IDWriteFontFace7_GetKerningPairAdjustments(IDWriteFontFace7* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { 11150 return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); 11151 } 11152 static inline WINBOOL IDWriteFontFace7_HasKerningPairs(IDWriteFontFace7* This) { 11153 return This->lpVtbl->HasKerningPairs(This); 11154 } 11155 static inline HRESULT IDWriteFontFace7_GetVerticalGlyphVariants(IDWriteFontFace7* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { 11156 return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); 11157 } 11158 static inline WINBOOL IDWriteFontFace7_HasVerticalGlyphVariants(IDWriteFontFace7* This) { 11159 return This->lpVtbl->HasVerticalGlyphVariants(This); 11160 } 11161 /*** IDWriteFontFace2 methods ***/ 11162 static inline WINBOOL IDWriteFontFace7_IsColorFont(IDWriteFontFace7* This) { 11163 return This->lpVtbl->IsColorFont(This); 11164 } 11165 static inline UINT32 IDWriteFontFace7_GetColorPaletteCount(IDWriteFontFace7* This) { 11166 return This->lpVtbl->GetColorPaletteCount(This); 11167 } 11168 static inline UINT32 IDWriteFontFace7_GetPaletteEntryCount(IDWriteFontFace7* This) { 11169 return This->lpVtbl->GetPaletteEntryCount(This); 11170 } 11171 static inline HRESULT IDWriteFontFace7_GetPaletteEntries(IDWriteFontFace7* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { 11172 return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); 11173 } 11174 /*** IDWriteFontFace3 methods ***/ 11175 static inline HRESULT IDWriteFontFace7_GetFontFaceReference(IDWriteFontFace7* This,IDWriteFontFaceReference **reference) { 11176 return This->lpVtbl->GetFontFaceReference(This,reference); 11177 } 11178 static inline void IDWriteFontFace7_GetPanose(IDWriteFontFace7* This,DWRITE_PANOSE *panose) { 11179 This->lpVtbl->GetPanose(This,panose); 11180 } 11181 static inline DWRITE_FONT_WEIGHT IDWriteFontFace7_GetWeight(IDWriteFontFace7* This) { 11182 return This->lpVtbl->GetWeight(This); 11183 } 11184 static inline DWRITE_FONT_STRETCH IDWriteFontFace7_GetStretch(IDWriteFontFace7* This) { 11185 return This->lpVtbl->GetStretch(This); 11186 } 11187 static inline DWRITE_FONT_STYLE IDWriteFontFace7_GetStyle(IDWriteFontFace7* This) { 11188 return This->lpVtbl->GetStyle(This); 11189 } 11190 static inline HRESULT IDWriteFontFace7_GetInformationalStrings(IDWriteFontFace7* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 11191 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 11192 } 11193 static inline WINBOOL IDWriteFontFace7_HasCharacter(IDWriteFontFace7* This,UINT32 character) { 11194 return This->lpVtbl->HasCharacter(This,character); 11195 } 11196 static inline HRESULT IDWriteFontFace7_GetRecommendedRenderingMode(IDWriteFontFace7* This,FLOAT emsize,FLOAT dpi_x,FLOAT dpi_y,const DWRITE_MATRIX *transform,WINBOOL is_sideways,DWRITE_OUTLINE_THRESHOLD threshold,DWRITE_MEASURING_MODE measuring_mode,IDWriteRenderingParams *params,DWRITE_RENDERING_MODE1 *rendering_mode,DWRITE_GRID_FIT_MODE *gridfit_mode) { 11197 return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); 11198 } 11199 static inline WINBOOL IDWriteFontFace7_IsCharacterLocal(IDWriteFontFace7* This,UINT32 character) { 11200 return This->lpVtbl->IsCharacterLocal(This,character); 11201 } 11202 static inline WINBOOL IDWriteFontFace7_IsGlyphLocal(IDWriteFontFace7* This,UINT16 glyph) { 11203 return This->lpVtbl->IsGlyphLocal(This,glyph); 11204 } 11205 static inline HRESULT IDWriteFontFace7_AreCharactersLocal(IDWriteFontFace7* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 11206 return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); 11207 } 11208 static inline HRESULT IDWriteFontFace7_AreGlyphsLocal(IDWriteFontFace7* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 11209 return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); 11210 } 11211 /*** IDWriteFontFace4 methods ***/ 11212 static inline HRESULT IDWriteFontFace7_GetGlyphImageFormats_(IDWriteFontFace7* This,UINT16 glyph,UINT32 ppem_first,UINT32 ppem_last,DWRITE_GLYPH_IMAGE_FORMATS *formats) { 11213 return This->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats); 11214 } 11215 static inline DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace7_GetGlyphImageFormats(IDWriteFontFace7* This) { 11216 return This->lpVtbl->GetGlyphImageFormats(This); 11217 } 11218 static inline HRESULT IDWriteFontFace7_GetGlyphImageData(IDWriteFontFace7* This,UINT16 glyph,UINT32 ppem,DWRITE_GLYPH_IMAGE_FORMATS format,DWRITE_GLYPH_IMAGE_DATA *data,void **context) { 11219 return This->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context); 11220 } 11221 static inline void IDWriteFontFace7_ReleaseGlyphImageData(IDWriteFontFace7* This,void *context) { 11222 This->lpVtbl->ReleaseGlyphImageData(This,context); 11223 } 11224 /*** IDWriteFontFace5 methods ***/ 11225 static inline UINT32 IDWriteFontFace7_GetFontAxisValueCount(IDWriteFontFace7* This) { 11226 return This->lpVtbl->GetFontAxisValueCount(This); 11227 } 11228 static inline HRESULT IDWriteFontFace7_GetFontAxisValues(IDWriteFontFace7* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 value_count) { 11229 return This->lpVtbl->GetFontAxisValues(This,values,value_count); 11230 } 11231 static inline WINBOOL IDWriteFontFace7_HasVariations(IDWriteFontFace7* This) { 11232 return This->lpVtbl->HasVariations(This); 11233 } 11234 static inline HRESULT IDWriteFontFace7_GetFontResource(IDWriteFontFace7* This,IDWriteFontResource **resource) { 11235 return This->lpVtbl->GetFontResource(This,resource); 11236 } 11237 static inline WINBOOL IDWriteFontFace7_Equals(IDWriteFontFace7* This,IDWriteFontFace *fontface) { 11238 return This->lpVtbl->Equals(This,fontface); 11239 } 11240 /*** IDWriteFontFace6 methods ***/ 11241 static inline HRESULT IDWriteFontFace7_GetFamilyNames(IDWriteFontFace7* This,DWRITE_FONT_FAMILY_MODEL font_family_model,IDWriteLocalizedStrings **names) { 11242 return This->lpVtbl->IDWriteFontFace6_GetFamilyNames(This,font_family_model,names); 11243 } 11244 static inline HRESULT IDWriteFontFace7_GetFaceNames(IDWriteFontFace7* This,DWRITE_FONT_FAMILY_MODEL font_family_model,IDWriteLocalizedStrings **names) { 11245 return This->lpVtbl->IDWriteFontFace6_GetFaceNames(This,font_family_model,names); 11246 } 11247 /*** IDWriteFontFace7 methods ***/ 11248 static inline DWRITE_PAINT_FEATURE_LEVEL IDWriteFontFace7_GetPaintFeatureLevel(IDWriteFontFace7* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format) { 11249 return This->lpVtbl->GetPaintFeatureLevel(This,glyph_image_format); 11250 } 11251 static inline HRESULT IDWriteFontFace7_CreatePaintReader(IDWriteFontFace7* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,DWRITE_PAINT_FEATURE_LEVEL paint_feature_level,IDWritePaintReader **paint_reader) { 11252 return This->lpVtbl->CreatePaintReader(This,glyph_image_format,paint_feature_level,paint_reader); 11253 } 11254 #endif 11255 #endif 11256 11257 #endif 11258 11259 11260 #endif /* __IDWriteFontFace7_INTERFACE_DEFINED__ */ 11261 11262 typedef struct DWRITE_COLOR_GLYPH_RUN1 DWRITE_COLOR_GLYPH_RUN1; 11263 struct DWRITE_COLOR_GLYPH_RUN1 11264 { 11265 DWRITE_GLYPH_RUN glyphRun; 11266 DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription; 11267 FLOAT baselineOriginX; 11268 FLOAT baselineOriginY; 11269 DWRITE_COLOR_F runColor; 11270 UINT16 paletteIndex; 11271 #ifdef _WIN64 11272 UINT32 _pad; 11273 #endif 11274 DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat; 11275 DWRITE_MEASURING_MODE measuringMode; 11276 }; 11277 /***************************************************************************** 11278 * IDWriteColorGlyphRunEnumerator1 interface 11279 */ 11280 #ifndef __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ 11281 #define __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ 11282 11283 DEFINE_GUID(IID_IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8,0xe1, 0x55,0xa1,0x79,0xfe,0x5a,0x35); 11284 #if defined(__cplusplus) && !defined(CINTERFACE) 11285 MIDL_INTERFACE("7c5f86da-c7a1-4f05-b8e1-55a179fe5a35") 11286 IDWriteColorGlyphRunEnumerator1 : public IDWriteColorGlyphRunEnumerator 11287 { 11288 virtual HRESULT STDMETHODCALLTYPE GetCurrentRun( 11289 const DWRITE_COLOR_GLYPH_RUN1 **run) = 0; 11290 11291 }; 11292 #ifdef __CRT_UUID_DECL 11293 __CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8,0xe1, 0x55,0xa1,0x79,0xfe,0x5a,0x35) 11294 #endif 11295 #else 11296 typedef struct IDWriteColorGlyphRunEnumerator1Vtbl { 11297 BEGIN_INTERFACE 11298 11299 /*** IUnknown methods ***/ 11300 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11301 IDWriteColorGlyphRunEnumerator1 *This, 11302 REFIID riid, 11303 void **ppvObject); 11304 11305 ULONG (STDMETHODCALLTYPE *AddRef)( 11306 IDWriteColorGlyphRunEnumerator1 *This); 11307 11308 ULONG (STDMETHODCALLTYPE *Release)( 11309 IDWriteColorGlyphRunEnumerator1 *This); 11310 11311 /*** IDWriteColorGlyphRunEnumerator methods ***/ 11312 HRESULT (STDMETHODCALLTYPE *MoveNext)( 11313 IDWriteColorGlyphRunEnumerator1 *This, 11314 WINBOOL *hasRun); 11315 11316 HRESULT (STDMETHODCALLTYPE *GetCurrentRun)( 11317 IDWriteColorGlyphRunEnumerator1 *This, 11318 const DWRITE_COLOR_GLYPH_RUN **run); 11319 11320 /*** IDWriteColorGlyphRunEnumerator1 methods ***/ 11321 HRESULT (STDMETHODCALLTYPE *IDWriteColorGlyphRunEnumerator1_GetCurrentRun)( 11322 IDWriteColorGlyphRunEnumerator1 *This, 11323 const DWRITE_COLOR_GLYPH_RUN1 **run); 11324 11325 END_INTERFACE 11326 } IDWriteColorGlyphRunEnumerator1Vtbl; 11327 11328 interface IDWriteColorGlyphRunEnumerator1 { 11329 CONST_VTBL IDWriteColorGlyphRunEnumerator1Vtbl* lpVtbl; 11330 }; 11331 11332 #ifdef COBJMACROS 11333 #ifndef WIDL_C_INLINE_WRAPPERS 11334 /*** IUnknown methods ***/ 11335 #define IDWriteColorGlyphRunEnumerator1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11336 #define IDWriteColorGlyphRunEnumerator1_AddRef(This) (This)->lpVtbl->AddRef(This) 11337 #define IDWriteColorGlyphRunEnumerator1_Release(This) (This)->lpVtbl->Release(This) 11338 /*** IDWriteColorGlyphRunEnumerator methods ***/ 11339 #define IDWriteColorGlyphRunEnumerator1_MoveNext(This,hasRun) (This)->lpVtbl->MoveNext(This,hasRun) 11340 /*** IDWriteColorGlyphRunEnumerator1 methods ***/ 11341 #define IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run) (This)->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run) 11342 #else 11343 /*** IUnknown methods ***/ 11344 static inline HRESULT IDWriteColorGlyphRunEnumerator1_QueryInterface(IDWriteColorGlyphRunEnumerator1* This,REFIID riid,void **ppvObject) { 11345 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11346 } 11347 static inline ULONG IDWriteColorGlyphRunEnumerator1_AddRef(IDWriteColorGlyphRunEnumerator1* This) { 11348 return This->lpVtbl->AddRef(This); 11349 } 11350 static inline ULONG IDWriteColorGlyphRunEnumerator1_Release(IDWriteColorGlyphRunEnumerator1* This) { 11351 return This->lpVtbl->Release(This); 11352 } 11353 /*** IDWriteColorGlyphRunEnumerator methods ***/ 11354 static inline HRESULT IDWriteColorGlyphRunEnumerator1_MoveNext(IDWriteColorGlyphRunEnumerator1* This,WINBOOL *hasRun) { 11355 return This->lpVtbl->MoveNext(This,hasRun); 11356 } 11357 /*** IDWriteColorGlyphRunEnumerator1 methods ***/ 11358 static inline HRESULT IDWriteColorGlyphRunEnumerator1_GetCurrentRun(IDWriteColorGlyphRunEnumerator1* This,const DWRITE_COLOR_GLYPH_RUN1 **run) { 11359 return This->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run); 11360 } 11361 #endif 11362 #endif 11363 11364 #endif 11365 11366 11367 #endif /* __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ */ 11368 11369 /***************************************************************************** 11370 * IDWriteFactory4 interface 11371 */ 11372 #ifndef __IDWriteFactory4_INTERFACE_DEFINED__ 11373 #define __IDWriteFactory4_INTERFACE_DEFINED__ 11374 11375 DEFINE_GUID(IID_IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a,0xc5, 0xfe,0x91,0x5c,0xc5,0x38,0x56); 11376 #if defined(__cplusplus) && !defined(CINTERFACE) 11377 MIDL_INTERFACE("4b0b5bd3-0797-4549-8ac5-fe915cc53856") 11378 IDWriteFactory4 : public IDWriteFactory3 11379 { 11380 virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun( 11381 D2D1_POINT_2F baseline_origin, 11382 const DWRITE_GLYPH_RUN *run, 11383 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 11384 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 11385 DWRITE_MEASURING_MODE measuring_mode, 11386 const DWRITE_MATRIX *transform, 11387 UINT32 palette, 11388 IDWriteColorGlyphRunEnumerator1 **layers) = 0; 11389 11390 virtual HRESULT STDMETHODCALLTYPE ComputeGlyphOrigins_( 11391 const DWRITE_GLYPH_RUN *run, 11392 D2D1_POINT_2F baseline_origin, 11393 D2D1_POINT_2F *origins) = 0; 11394 11395 virtual HRESULT STDMETHODCALLTYPE ComputeGlyphOrigins( 11396 const DWRITE_GLYPH_RUN *run, 11397 DWRITE_MEASURING_MODE measuring_mode, 11398 D2D1_POINT_2F baseline_origin, 11399 const DWRITE_MATRIX *transform, 11400 D2D1_POINT_2F *origins) = 0; 11401 11402 }; 11403 #ifdef __CRT_UUID_DECL 11404 __CRT_UUID_DECL(IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a,0xc5, 0xfe,0x91,0x5c,0xc5,0x38,0x56) 11405 #endif 11406 #else 11407 typedef struct IDWriteFactory4Vtbl { 11408 BEGIN_INTERFACE 11409 11410 /*** IUnknown methods ***/ 11411 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11412 IDWriteFactory4 *This, 11413 REFIID riid, 11414 void **ppvObject); 11415 11416 ULONG (STDMETHODCALLTYPE *AddRef)( 11417 IDWriteFactory4 *This); 11418 11419 ULONG (STDMETHODCALLTYPE *Release)( 11420 IDWriteFactory4 *This); 11421 11422 /*** IDWriteFactory methods ***/ 11423 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 11424 IDWriteFactory4 *This, 11425 IDWriteFontCollection **collection, 11426 WINBOOL check_for_updates); 11427 11428 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 11429 IDWriteFactory4 *This, 11430 IDWriteFontCollectionLoader *loader, 11431 const void *key, 11432 UINT32 key_size, 11433 IDWriteFontCollection **collection); 11434 11435 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 11436 IDWriteFactory4 *This, 11437 IDWriteFontCollectionLoader *loader); 11438 11439 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 11440 IDWriteFactory4 *This, 11441 IDWriteFontCollectionLoader *loader); 11442 11443 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 11444 IDWriteFactory4 *This, 11445 const WCHAR *path, 11446 const FILETIME *writetime, 11447 IDWriteFontFile **font_file); 11448 11449 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 11450 IDWriteFactory4 *This, 11451 const void *reference_key, 11452 UINT32 key_size, 11453 IDWriteFontFileLoader *loader, 11454 IDWriteFontFile **font_file); 11455 11456 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 11457 IDWriteFactory4 *This, 11458 DWRITE_FONT_FACE_TYPE facetype, 11459 UINT32 files_number, 11460 IDWriteFontFile *const *font_files, 11461 UINT32 index, 11462 DWRITE_FONT_SIMULATIONS sim_flags, 11463 IDWriteFontFace **font_face); 11464 11465 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 11466 IDWriteFactory4 *This, 11467 IDWriteRenderingParams **params); 11468 11469 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 11470 IDWriteFactory4 *This, 11471 HMONITOR monitor, 11472 IDWriteRenderingParams **params); 11473 11474 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 11475 IDWriteFactory4 *This, 11476 FLOAT gamma, 11477 FLOAT enhancedContrast, 11478 FLOAT cleartype_level, 11479 DWRITE_PIXEL_GEOMETRY geometry, 11480 DWRITE_RENDERING_MODE mode, 11481 IDWriteRenderingParams **params); 11482 11483 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 11484 IDWriteFactory4 *This, 11485 IDWriteFontFileLoader *loader); 11486 11487 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 11488 IDWriteFactory4 *This, 11489 IDWriteFontFileLoader *loader); 11490 11491 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 11492 IDWriteFactory4 *This, 11493 const WCHAR *family_name, 11494 IDWriteFontCollection *collection, 11495 DWRITE_FONT_WEIGHT weight, 11496 DWRITE_FONT_STYLE style, 11497 DWRITE_FONT_STRETCH stretch, 11498 FLOAT size, 11499 const WCHAR *locale, 11500 IDWriteTextFormat **format); 11501 11502 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 11503 IDWriteFactory4 *This, 11504 IDWriteTypography **typography); 11505 11506 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 11507 IDWriteFactory4 *This, 11508 IDWriteGdiInterop **gdi_interop); 11509 11510 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 11511 IDWriteFactory4 *This, 11512 const WCHAR *string, 11513 UINT32 len, 11514 IDWriteTextFormat *format, 11515 FLOAT max_width, 11516 FLOAT max_height, 11517 IDWriteTextLayout **layout); 11518 11519 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 11520 IDWriteFactory4 *This, 11521 const WCHAR *string, 11522 UINT32 len, 11523 IDWriteTextFormat *format, 11524 FLOAT layout_width, 11525 FLOAT layout_height, 11526 FLOAT pixels_per_dip, 11527 const DWRITE_MATRIX *transform, 11528 WINBOOL use_gdi_natural, 11529 IDWriteTextLayout **layout); 11530 11531 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 11532 IDWriteFactory4 *This, 11533 IDWriteTextFormat *format, 11534 IDWriteInlineObject **trimming_sign); 11535 11536 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 11537 IDWriteFactory4 *This, 11538 IDWriteTextAnalyzer **analyzer); 11539 11540 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 11541 IDWriteFactory4 *This, 11542 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 11543 const WCHAR *locale, 11544 WINBOOL ignore_user_override, 11545 IDWriteNumberSubstitution **substitution); 11546 11547 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 11548 IDWriteFactory4 *This, 11549 const DWRITE_GLYPH_RUN *glyph_run, 11550 FLOAT pixels_per_dip, 11551 const DWRITE_MATRIX *transform, 11552 DWRITE_RENDERING_MODE rendering_mode, 11553 DWRITE_MEASURING_MODE measuring_mode, 11554 FLOAT baseline_x, 11555 FLOAT baseline_y, 11556 IDWriteGlyphRunAnalysis **analysis); 11557 11558 /*** IDWriteFactory1 methods ***/ 11559 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 11560 IDWriteFactory4 *This, 11561 IDWriteFontCollection **collection, 11562 WINBOOL check_for_updates); 11563 11564 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 11565 IDWriteFactory4 *This, 11566 FLOAT gamma, 11567 FLOAT enhcontrast, 11568 FLOAT enhcontrast_grayscale, 11569 FLOAT cleartype_level, 11570 DWRITE_PIXEL_GEOMETRY geometry, 11571 DWRITE_RENDERING_MODE mode, 11572 IDWriteRenderingParams1 **params); 11573 11574 /*** IDWriteFactory2 methods ***/ 11575 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 11576 IDWriteFactory4 *This, 11577 IDWriteFontFallback **fallback); 11578 11579 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 11580 IDWriteFactory4 *This, 11581 IDWriteFontFallbackBuilder **fallbackbuilder); 11582 11583 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 11584 IDWriteFactory4 *This, 11585 FLOAT originX, 11586 FLOAT originY, 11587 const DWRITE_GLYPH_RUN *run, 11588 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 11589 DWRITE_MEASURING_MODE mode, 11590 const DWRITE_MATRIX *transform, 11591 UINT32 palette_index, 11592 IDWriteColorGlyphRunEnumerator **colorlayers); 11593 11594 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 11595 IDWriteFactory4 *This, 11596 FLOAT gamma, 11597 FLOAT contrast, 11598 FLOAT grayscalecontrast, 11599 FLOAT cleartypeLevel, 11600 DWRITE_PIXEL_GEOMETRY pixelGeometry, 11601 DWRITE_RENDERING_MODE renderingMode, 11602 DWRITE_GRID_FIT_MODE gridFitMode, 11603 IDWriteRenderingParams2 **params); 11604 11605 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 11606 IDWriteFactory4 *This, 11607 const DWRITE_GLYPH_RUN *run, 11608 const DWRITE_MATRIX *transform, 11609 DWRITE_RENDERING_MODE renderingMode, 11610 DWRITE_MEASURING_MODE measuringMode, 11611 DWRITE_GRID_FIT_MODE gridFitMode, 11612 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 11613 FLOAT originX, 11614 FLOAT originY, 11615 IDWriteGlyphRunAnalysis **analysis); 11616 11617 /*** IDWriteFactory3 methods ***/ 11618 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 11619 IDWriteFactory4 *This, 11620 const DWRITE_GLYPH_RUN *run, 11621 const DWRITE_MATRIX *transform, 11622 DWRITE_RENDERING_MODE1 rendering_mode, 11623 DWRITE_MEASURING_MODE measuring_mode, 11624 DWRITE_GRID_FIT_MODE gridfit_mode, 11625 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 11626 FLOAT origin_x, 11627 FLOAT origin_y, 11628 IDWriteGlyphRunAnalysis **analysis); 11629 11630 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 11631 IDWriteFactory4 *This, 11632 FLOAT gamma, 11633 FLOAT enhanced_contrast, 11634 FLOAT grayscale_enhanced_contrast, 11635 FLOAT cleartype_level, 11636 DWRITE_PIXEL_GEOMETRY pixel_geometry, 11637 DWRITE_RENDERING_MODE1 rendering_mode, 11638 DWRITE_GRID_FIT_MODE gridfit_mode, 11639 IDWriteRenderingParams3 **params); 11640 11641 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 11642 IDWriteFactory4 *This, 11643 IDWriteFontFile *file, 11644 UINT32 index, 11645 DWRITE_FONT_SIMULATIONS simulations, 11646 IDWriteFontFaceReference **reference); 11647 11648 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 11649 IDWriteFactory4 *This, 11650 const WCHAR *path, 11651 const FILETIME *writetime, 11652 UINT32 index, 11653 DWRITE_FONT_SIMULATIONS simulations, 11654 IDWriteFontFaceReference **reference); 11655 11656 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 11657 IDWriteFactory4 *This, 11658 IDWriteFontSet **fontset); 11659 11660 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 11661 IDWriteFactory4 *This, 11662 IDWriteFontSetBuilder **builder); 11663 11664 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 11665 IDWriteFactory4 *This, 11666 IDWriteFontSet *fontset, 11667 IDWriteFontCollection1 **collection); 11668 11669 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 11670 IDWriteFactory4 *This, 11671 WINBOOL include_downloadable, 11672 IDWriteFontCollection1 **collection, 11673 WINBOOL check_for_updates); 11674 11675 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 11676 IDWriteFactory4 *This, 11677 IDWriteFontDownloadQueue **queue); 11678 11679 /*** IDWriteFactory4 methods ***/ 11680 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 11681 IDWriteFactory4 *This, 11682 D2D1_POINT_2F baseline_origin, 11683 const DWRITE_GLYPH_RUN *run, 11684 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 11685 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 11686 DWRITE_MEASURING_MODE measuring_mode, 11687 const DWRITE_MATRIX *transform, 11688 UINT32 palette, 11689 IDWriteColorGlyphRunEnumerator1 **layers); 11690 11691 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 11692 IDWriteFactory4 *This, 11693 const DWRITE_GLYPH_RUN *run, 11694 D2D1_POINT_2F baseline_origin, 11695 D2D1_POINT_2F *origins); 11696 11697 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 11698 IDWriteFactory4 *This, 11699 const DWRITE_GLYPH_RUN *run, 11700 DWRITE_MEASURING_MODE measuring_mode, 11701 D2D1_POINT_2F baseline_origin, 11702 const DWRITE_MATRIX *transform, 11703 D2D1_POINT_2F *origins); 11704 11705 END_INTERFACE 11706 } IDWriteFactory4Vtbl; 11707 11708 interface IDWriteFactory4 { 11709 CONST_VTBL IDWriteFactory4Vtbl* lpVtbl; 11710 }; 11711 11712 #ifdef COBJMACROS 11713 #ifndef WIDL_C_INLINE_WRAPPERS 11714 /*** IUnknown methods ***/ 11715 #define IDWriteFactory4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11716 #define IDWriteFactory4_AddRef(This) (This)->lpVtbl->AddRef(This) 11717 #define IDWriteFactory4_Release(This) (This)->lpVtbl->Release(This) 11718 /*** IDWriteFactory methods ***/ 11719 #define IDWriteFactory4_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 11720 #define IDWriteFactory4_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 11721 #define IDWriteFactory4_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 11722 #define IDWriteFactory4_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 11723 #define IDWriteFactory4_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 11724 #define IDWriteFactory4_CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) (This)->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) 11725 #define IDWriteFactory4_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 11726 #define IDWriteFactory4_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 11727 #define IDWriteFactory4_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 11728 #define IDWriteFactory4_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 11729 #define IDWriteFactory4_CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format) (This)->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format) 11730 #define IDWriteFactory4_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 11731 #define IDWriteFactory4_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 11732 #define IDWriteFactory4_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 11733 #define IDWriteFactory4_CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) 11734 #define IDWriteFactory4_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 11735 #define IDWriteFactory4_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 11736 #define IDWriteFactory4_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 11737 /*** IDWriteFactory1 methods ***/ 11738 #define IDWriteFactory4_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 11739 /*** IDWriteFactory2 methods ***/ 11740 #define IDWriteFactory4_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 11741 #define IDWriteFactory4_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 11742 /*** IDWriteFactory3 methods ***/ 11743 #define IDWriteFactory4_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) 11744 #define IDWriteFactory4_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) 11745 #define IDWriteFactory4_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 11746 #define IDWriteFactory4_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) 11747 #define IDWriteFactory4_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) 11748 #define IDWriteFactory4_CreateFontSetBuilder(This,builder) (This)->lpVtbl->CreateFontSetBuilder(This,builder) 11749 #define IDWriteFactory4_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) 11750 #define IDWriteFactory4_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) 11751 #define IDWriteFactory4_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 11752 /*** IDWriteFactory4 methods ***/ 11753 #define IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers) (This)->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers) 11754 #define IDWriteFactory4_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 11755 #define IDWriteFactory4_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 11756 #else 11757 /*** IUnknown methods ***/ 11758 static inline HRESULT IDWriteFactory4_QueryInterface(IDWriteFactory4* This,REFIID riid,void **ppvObject) { 11759 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11760 } 11761 static inline ULONG IDWriteFactory4_AddRef(IDWriteFactory4* This) { 11762 return This->lpVtbl->AddRef(This); 11763 } 11764 static inline ULONG IDWriteFactory4_Release(IDWriteFactory4* This) { 11765 return This->lpVtbl->Release(This); 11766 } 11767 /*** IDWriteFactory methods ***/ 11768 static inline HRESULT IDWriteFactory4_CreateCustomFontCollection(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 11769 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 11770 } 11771 static inline HRESULT IDWriteFactory4_RegisterFontCollectionLoader(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader) { 11772 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 11773 } 11774 static inline HRESULT IDWriteFactory4_UnregisterFontCollectionLoader(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader) { 11775 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 11776 } 11777 static inline HRESULT IDWriteFactory4_CreateFontFileReference(IDWriteFactory4* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 11778 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 11779 } 11780 static inline HRESULT IDWriteFactory4_CreateCustomFontFileReference(IDWriteFactory4* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 11781 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 11782 } 11783 static inline HRESULT IDWriteFactory4_CreateFontFace(IDWriteFactory4* This,DWRITE_FONT_FACE_TYPE facetype,UINT32 files_number,IDWriteFontFile *const *font_files,UINT32 index,DWRITE_FONT_SIMULATIONS sim_flags,IDWriteFontFace **font_face) { 11784 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 11785 } 11786 static inline HRESULT IDWriteFactory4_CreateRenderingParams(IDWriteFactory4* This,IDWriteRenderingParams **params) { 11787 return This->lpVtbl->CreateRenderingParams(This,params); 11788 } 11789 static inline HRESULT IDWriteFactory4_CreateMonitorRenderingParams(IDWriteFactory4* This,HMONITOR monitor,IDWriteRenderingParams **params) { 11790 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 11791 } 11792 static inline HRESULT IDWriteFactory4_RegisterFontFileLoader(IDWriteFactory4* This,IDWriteFontFileLoader *loader) { 11793 return This->lpVtbl->RegisterFontFileLoader(This,loader); 11794 } 11795 static inline HRESULT IDWriteFactory4_UnregisterFontFileLoader(IDWriteFactory4* This,IDWriteFontFileLoader *loader) { 11796 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 11797 } 11798 static inline HRESULT IDWriteFactory4_CreateTextFormat(IDWriteFactory4* This,const WCHAR *family_name,IDWriteFontCollection *collection,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STYLE style,DWRITE_FONT_STRETCH stretch,FLOAT size,const WCHAR *locale,IDWriteTextFormat **format) { 11799 return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); 11800 } 11801 static inline HRESULT IDWriteFactory4_CreateTypography(IDWriteFactory4* This,IDWriteTypography **typography) { 11802 return This->lpVtbl->CreateTypography(This,typography); 11803 } 11804 static inline HRESULT IDWriteFactory4_GetGdiInterop(IDWriteFactory4* This,IDWriteGdiInterop **gdi_interop) { 11805 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 11806 } 11807 static inline HRESULT IDWriteFactory4_CreateTextLayout(IDWriteFactory4* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 11808 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 11809 } 11810 static inline HRESULT IDWriteFactory4_CreateGdiCompatibleTextLayout(IDWriteFactory4* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT layout_width,FLOAT layout_height,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,IDWriteTextLayout **layout) { 11811 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 11812 } 11813 static inline HRESULT IDWriteFactory4_CreateEllipsisTrimmingSign(IDWriteFactory4* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 11814 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 11815 } 11816 static inline HRESULT IDWriteFactory4_CreateTextAnalyzer(IDWriteFactory4* This,IDWriteTextAnalyzer **analyzer) { 11817 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 11818 } 11819 static inline HRESULT IDWriteFactory4_CreateNumberSubstitution(IDWriteFactory4* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 11820 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 11821 } 11822 /*** IDWriteFactory1 methods ***/ 11823 static inline HRESULT IDWriteFactory4_GetEudcFontCollection(IDWriteFactory4* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 11824 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 11825 } 11826 /*** IDWriteFactory2 methods ***/ 11827 static inline HRESULT IDWriteFactory4_GetSystemFontFallback(IDWriteFactory4* This,IDWriteFontFallback **fallback) { 11828 return This->lpVtbl->GetSystemFontFallback(This,fallback); 11829 } 11830 static inline HRESULT IDWriteFactory4_CreateFontFallbackBuilder(IDWriteFactory4* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 11831 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 11832 } 11833 /*** IDWriteFactory3 methods ***/ 11834 static inline HRESULT IDWriteFactory4_CreateGlyphRunAnalysis(IDWriteFactory4* This,const DWRITE_GLYPH_RUN *run,const DWRITE_MATRIX *transform,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_MEASURING_MODE measuring_mode,DWRITE_GRID_FIT_MODE gridfit_mode,DWRITE_TEXT_ANTIALIAS_MODE antialias_mode,FLOAT origin_x,FLOAT origin_y,IDWriteGlyphRunAnalysis **analysis) { 11835 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 11836 } 11837 static inline HRESULT IDWriteFactory4_CreateCustomRenderingParams(IDWriteFactory4* This,FLOAT gamma,FLOAT enhanced_contrast,FLOAT grayscale_enhanced_contrast,FLOAT cleartype_level,DWRITE_PIXEL_GEOMETRY pixel_geometry,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_GRID_FIT_MODE gridfit_mode,IDWriteRenderingParams3 **params) { 11838 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 11839 } 11840 static inline HRESULT IDWriteFactory4_CreateFontFaceReference_(IDWriteFactory4* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 11841 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 11842 } 11843 static inline HRESULT IDWriteFactory4_CreateFontFaceReference(IDWriteFactory4* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 11844 return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); 11845 } 11846 static inline HRESULT IDWriteFactory4_GetSystemFontSet(IDWriteFactory4* This,IDWriteFontSet **fontset) { 11847 return This->lpVtbl->GetSystemFontSet(This,fontset); 11848 } 11849 static inline HRESULT IDWriteFactory4_CreateFontSetBuilder(IDWriteFactory4* This,IDWriteFontSetBuilder **builder) { 11850 return This->lpVtbl->CreateFontSetBuilder(This,builder); 11851 } 11852 static inline HRESULT IDWriteFactory4_CreateFontCollectionFromFontSet(IDWriteFactory4* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { 11853 return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); 11854 } 11855 static inline HRESULT IDWriteFactory4_GetSystemFontCollection(IDWriteFactory4* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { 11856 return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); 11857 } 11858 static inline HRESULT IDWriteFactory4_GetFontDownloadQueue(IDWriteFactory4* This,IDWriteFontDownloadQueue **queue) { 11859 return This->lpVtbl->GetFontDownloadQueue(This,queue); 11860 } 11861 /*** IDWriteFactory4 methods ***/ 11862 static inline HRESULT IDWriteFactory4_TranslateColorGlyphRun(IDWriteFactory4* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *run,const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc,DWRITE_GLYPH_IMAGE_FORMATS desired_formats,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_MATRIX *transform,UINT32 palette,IDWriteColorGlyphRunEnumerator1 **layers) { 11863 return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); 11864 } 11865 static inline HRESULT IDWriteFactory4_ComputeGlyphOrigins_(IDWriteFactory4* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 11866 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 11867 } 11868 static inline HRESULT IDWriteFactory4_ComputeGlyphOrigins(IDWriteFactory4* This,const DWRITE_GLYPH_RUN *run,DWRITE_MEASURING_MODE measuring_mode,D2D1_POINT_2F baseline_origin,const DWRITE_MATRIX *transform,D2D1_POINT_2F *origins) { 11869 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 11870 } 11871 #endif 11872 #endif 11873 11874 #endif 11875 11876 11877 #endif /* __IDWriteFactory4_INTERFACE_DEFINED__ */ 11878 11879 /***************************************************************************** 11880 * IDWriteAsyncResult interface 11881 */ 11882 #ifndef __IDWriteAsyncResult_INTERFACE_DEFINED__ 11883 #define __IDWriteAsyncResult_INTERFACE_DEFINED__ 11884 11885 DEFINE_GUID(IID_IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96,0x51, 0xc1,0xf8,0x8d,0xc7,0x3f,0xe2); 11886 #if defined(__cplusplus) && !defined(CINTERFACE) 11887 MIDL_INTERFACE("ce25f8fd-863b-4d13-9651-c1f88dc73fe2") 11888 IDWriteAsyncResult : public IUnknown 11889 { 11890 virtual HANDLE STDMETHODCALLTYPE GetWaitHandle( 11891 ) = 0; 11892 11893 virtual HRESULT STDMETHODCALLTYPE GetResult( 11894 ) = 0; 11895 11896 }; 11897 #ifdef __CRT_UUID_DECL 11898 __CRT_UUID_DECL(IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96,0x51, 0xc1,0xf8,0x8d,0xc7,0x3f,0xe2) 11899 #endif 11900 #else 11901 typedef struct IDWriteAsyncResultVtbl { 11902 BEGIN_INTERFACE 11903 11904 /*** IUnknown methods ***/ 11905 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11906 IDWriteAsyncResult *This, 11907 REFIID riid, 11908 void **ppvObject); 11909 11910 ULONG (STDMETHODCALLTYPE *AddRef)( 11911 IDWriteAsyncResult *This); 11912 11913 ULONG (STDMETHODCALLTYPE *Release)( 11914 IDWriteAsyncResult *This); 11915 11916 /*** IDWriteAsyncResult methods ***/ 11917 HANDLE (STDMETHODCALLTYPE *GetWaitHandle)( 11918 IDWriteAsyncResult *This); 11919 11920 HRESULT (STDMETHODCALLTYPE *GetResult)( 11921 IDWriteAsyncResult *This); 11922 11923 END_INTERFACE 11924 } IDWriteAsyncResultVtbl; 11925 11926 interface IDWriteAsyncResult { 11927 CONST_VTBL IDWriteAsyncResultVtbl* lpVtbl; 11928 }; 11929 11930 #ifdef COBJMACROS 11931 #ifndef WIDL_C_INLINE_WRAPPERS 11932 /*** IUnknown methods ***/ 11933 #define IDWriteAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11934 #define IDWriteAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) 11935 #define IDWriteAsyncResult_Release(This) (This)->lpVtbl->Release(This) 11936 /*** IDWriteAsyncResult methods ***/ 11937 #define IDWriteAsyncResult_GetWaitHandle(This) (This)->lpVtbl->GetWaitHandle(This) 11938 #define IDWriteAsyncResult_GetResult(This) (This)->lpVtbl->GetResult(This) 11939 #else 11940 /*** IUnknown methods ***/ 11941 static inline HRESULT IDWriteAsyncResult_QueryInterface(IDWriteAsyncResult* This,REFIID riid,void **ppvObject) { 11942 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11943 } 11944 static inline ULONG IDWriteAsyncResult_AddRef(IDWriteAsyncResult* This) { 11945 return This->lpVtbl->AddRef(This); 11946 } 11947 static inline ULONG IDWriteAsyncResult_Release(IDWriteAsyncResult* This) { 11948 return This->lpVtbl->Release(This); 11949 } 11950 /*** IDWriteAsyncResult methods ***/ 11951 static inline HANDLE IDWriteAsyncResult_GetWaitHandle(IDWriteAsyncResult* This) { 11952 return This->lpVtbl->GetWaitHandle(This); 11953 } 11954 static inline HRESULT IDWriteAsyncResult_GetResult(IDWriteAsyncResult* This) { 11955 return This->lpVtbl->GetResult(This); 11956 } 11957 #endif 11958 #endif 11959 11960 #endif 11961 11962 11963 #endif /* __IDWriteAsyncResult_INTERFACE_DEFINED__ */ 11964 11965 typedef struct DWRITE_FILE_FRAGMENT { 11966 UINT64 fileOffset; 11967 UINT64 fragmentSize; 11968 } DWRITE_FILE_FRAGMENT; 11969 /***************************************************************************** 11970 * IDWriteRemoteFontFileStream interface 11971 */ 11972 #ifndef __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ 11973 #define __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ 11974 11975 DEFINE_GUID(IID_IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2,0xb6, 0x1a,0xba,0xbe,0x1a,0xff,0x9c); 11976 #if defined(__cplusplus) && !defined(CINTERFACE) 11977 MIDL_INTERFACE("4db3757a-2c72-4ed9-b2b6-1ababe1aff9c") 11978 IDWriteRemoteFontFileStream : public IDWriteFontFileStream 11979 { 11980 virtual HRESULT STDMETHODCALLTYPE GetLocalFileSize( 11981 UINT64 *size) = 0; 11982 11983 virtual HRESULT STDMETHODCALLTYPE GetFileFragmentLocality( 11984 UINT64 offset, 11985 UINT64 size, 11986 WINBOOL *is_local, 11987 UINT64 *partial_size) = 0; 11988 11989 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( 11990 ) = 0; 11991 11992 virtual HRESULT STDMETHODCALLTYPE BeginDownload( 11993 const GUID *operation_id, 11994 const DWRITE_FILE_FRAGMENT *fragments, 11995 UINT32 fragment_count, 11996 IDWriteAsyncResult **async_result) = 0; 11997 11998 }; 11999 #ifdef __CRT_UUID_DECL 12000 __CRT_UUID_DECL(IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2,0xb6, 0x1a,0xba,0xbe,0x1a,0xff,0x9c) 12001 #endif 12002 #else 12003 typedef struct IDWriteRemoteFontFileStreamVtbl { 12004 BEGIN_INTERFACE 12005 12006 /*** IUnknown methods ***/ 12007 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12008 IDWriteRemoteFontFileStream *This, 12009 REFIID riid, 12010 void **ppvObject); 12011 12012 ULONG (STDMETHODCALLTYPE *AddRef)( 12013 IDWriteRemoteFontFileStream *This); 12014 12015 ULONG (STDMETHODCALLTYPE *Release)( 12016 IDWriteRemoteFontFileStream *This); 12017 12018 /*** IDWriteFontFileStream methods ***/ 12019 HRESULT (STDMETHODCALLTYPE *ReadFileFragment)( 12020 IDWriteRemoteFontFileStream *This, 12021 const void **fragment_start, 12022 UINT64 offset, 12023 UINT64 fragment_size, 12024 void **fragment_context); 12025 12026 void (STDMETHODCALLTYPE *ReleaseFileFragment)( 12027 IDWriteRemoteFontFileStream *This, 12028 void *fragment_context); 12029 12030 HRESULT (STDMETHODCALLTYPE *GetFileSize)( 12031 IDWriteRemoteFontFileStream *This, 12032 UINT64 *size); 12033 12034 HRESULT (STDMETHODCALLTYPE *GetLastWriteTime)( 12035 IDWriteRemoteFontFileStream *This, 12036 UINT64 *last_writetime); 12037 12038 /*** IDWriteRemoteFontFileStream methods ***/ 12039 HRESULT (STDMETHODCALLTYPE *GetLocalFileSize)( 12040 IDWriteRemoteFontFileStream *This, 12041 UINT64 *size); 12042 12043 HRESULT (STDMETHODCALLTYPE *GetFileFragmentLocality)( 12044 IDWriteRemoteFontFileStream *This, 12045 UINT64 offset, 12046 UINT64 size, 12047 WINBOOL *is_local, 12048 UINT64 *partial_size); 12049 12050 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( 12051 IDWriteRemoteFontFileStream *This); 12052 12053 HRESULT (STDMETHODCALLTYPE *BeginDownload)( 12054 IDWriteRemoteFontFileStream *This, 12055 const GUID *operation_id, 12056 const DWRITE_FILE_FRAGMENT *fragments, 12057 UINT32 fragment_count, 12058 IDWriteAsyncResult **async_result); 12059 12060 END_INTERFACE 12061 } IDWriteRemoteFontFileStreamVtbl; 12062 12063 interface IDWriteRemoteFontFileStream { 12064 CONST_VTBL IDWriteRemoteFontFileStreamVtbl* lpVtbl; 12065 }; 12066 12067 #ifdef COBJMACROS 12068 #ifndef WIDL_C_INLINE_WRAPPERS 12069 /*** IUnknown methods ***/ 12070 #define IDWriteRemoteFontFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12071 #define IDWriteRemoteFontFileStream_AddRef(This) (This)->lpVtbl->AddRef(This) 12072 #define IDWriteRemoteFontFileStream_Release(This) (This)->lpVtbl->Release(This) 12073 /*** IDWriteFontFileStream methods ***/ 12074 #define IDWriteRemoteFontFileStream_ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context) (This)->lpVtbl->ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context) 12075 #define IDWriteRemoteFontFileStream_ReleaseFileFragment(This,fragment_context) (This)->lpVtbl->ReleaseFileFragment(This,fragment_context) 12076 #define IDWriteRemoteFontFileStream_GetFileSize(This,size) (This)->lpVtbl->GetFileSize(This,size) 12077 #define IDWriteRemoteFontFileStream_GetLastWriteTime(This,last_writetime) (This)->lpVtbl->GetLastWriteTime(This,last_writetime) 12078 /*** IDWriteRemoteFontFileStream methods ***/ 12079 #define IDWriteRemoteFontFileStream_GetLocalFileSize(This,size) (This)->lpVtbl->GetLocalFileSize(This,size) 12080 #define IDWriteRemoteFontFileStream_GetFileFragmentLocality(This,offset,size,is_local,partial_size) (This)->lpVtbl->GetFileFragmentLocality(This,offset,size,is_local,partial_size) 12081 #define IDWriteRemoteFontFileStream_GetLocality(This) (This)->lpVtbl->GetLocality(This) 12082 #define IDWriteRemoteFontFileStream_BeginDownload(This,operation_id,fragments,fragment_count,async_result) (This)->lpVtbl->BeginDownload(This,operation_id,fragments,fragment_count,async_result) 12083 #else 12084 /*** IUnknown methods ***/ 12085 static inline HRESULT IDWriteRemoteFontFileStream_QueryInterface(IDWriteRemoteFontFileStream* This,REFIID riid,void **ppvObject) { 12086 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12087 } 12088 static inline ULONG IDWriteRemoteFontFileStream_AddRef(IDWriteRemoteFontFileStream* This) { 12089 return This->lpVtbl->AddRef(This); 12090 } 12091 static inline ULONG IDWriteRemoteFontFileStream_Release(IDWriteRemoteFontFileStream* This) { 12092 return This->lpVtbl->Release(This); 12093 } 12094 /*** IDWriteFontFileStream methods ***/ 12095 static inline HRESULT IDWriteRemoteFontFileStream_ReadFileFragment(IDWriteRemoteFontFileStream* This,const void **fragment_start,UINT64 offset,UINT64 fragment_size,void **fragment_context) { 12096 return This->lpVtbl->ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context); 12097 } 12098 static inline void IDWriteRemoteFontFileStream_ReleaseFileFragment(IDWriteRemoteFontFileStream* This,void *fragment_context) { 12099 This->lpVtbl->ReleaseFileFragment(This,fragment_context); 12100 } 12101 static inline HRESULT IDWriteRemoteFontFileStream_GetFileSize(IDWriteRemoteFontFileStream* This,UINT64 *size) { 12102 return This->lpVtbl->GetFileSize(This,size); 12103 } 12104 static inline HRESULT IDWriteRemoteFontFileStream_GetLastWriteTime(IDWriteRemoteFontFileStream* This,UINT64 *last_writetime) { 12105 return This->lpVtbl->GetLastWriteTime(This,last_writetime); 12106 } 12107 /*** IDWriteRemoteFontFileStream methods ***/ 12108 static inline HRESULT IDWriteRemoteFontFileStream_GetLocalFileSize(IDWriteRemoteFontFileStream* This,UINT64 *size) { 12109 return This->lpVtbl->GetLocalFileSize(This,size); 12110 } 12111 static inline HRESULT IDWriteRemoteFontFileStream_GetFileFragmentLocality(IDWriteRemoteFontFileStream* This,UINT64 offset,UINT64 size,WINBOOL *is_local,UINT64 *partial_size) { 12112 return This->lpVtbl->GetFileFragmentLocality(This,offset,size,is_local,partial_size); 12113 } 12114 static inline DWRITE_LOCALITY IDWriteRemoteFontFileStream_GetLocality(IDWriteRemoteFontFileStream* This) { 12115 return This->lpVtbl->GetLocality(This); 12116 } 12117 static inline HRESULT IDWriteRemoteFontFileStream_BeginDownload(IDWriteRemoteFontFileStream* This,const GUID *operation_id,const DWRITE_FILE_FRAGMENT *fragments,UINT32 fragment_count,IDWriteAsyncResult **async_result) { 12118 return This->lpVtbl->BeginDownload(This,operation_id,fragments,fragment_count,async_result); 12119 } 12120 #endif 12121 #endif 12122 12123 #endif 12124 12125 12126 #endif /* __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ */ 12127 12128 typedef enum DWRITE_CONTAINER_TYPE { 12129 DWRITE_CONTAINER_TYPE_UNKNOWN = 0, 12130 DWRITE_CONTAINER_TYPE_WOFF = 1, 12131 DWRITE_CONTAINER_TYPE_WOFF2 = 2 12132 } DWRITE_CONTAINER_TYPE; 12133 /***************************************************************************** 12134 * IDWriteRemoteFontFileLoader interface 12135 */ 12136 #ifndef __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ 12137 #define __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ 12138 12139 DEFINE_GUID(IID_IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab,0x46, 0x20,0x08,0x3a,0x88,0x7f,0xde); 12140 #if defined(__cplusplus) && !defined(CINTERFACE) 12141 MIDL_INTERFACE("68648c83-6ede-46c0-ab46-20083a887fde") 12142 IDWriteRemoteFontFileLoader : public IDWriteFontFileLoader 12143 { 12144 virtual HRESULT STDMETHODCALLTYPE CreateRemoteStreamFromKey( 12145 const void *key, 12146 UINT32 key_size, 12147 IDWriteRemoteFontFileStream **stream) = 0; 12148 12149 virtual HRESULT STDMETHODCALLTYPE GetLocalityFromKey( 12150 const void *key, 12151 UINT32 key_size, 12152 DWRITE_LOCALITY *locality) = 0; 12153 12154 virtual HRESULT STDMETHODCALLTYPE CreateFontFileReferenceFromUrl( 12155 IDWriteFactory *factory, 12156 const WCHAR *base_url, 12157 const WCHAR *file_url, 12158 IDWriteFontFile **fontfile) = 0; 12159 12160 }; 12161 #ifdef __CRT_UUID_DECL 12162 __CRT_UUID_DECL(IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab,0x46, 0x20,0x08,0x3a,0x88,0x7f,0xde) 12163 #endif 12164 #else 12165 typedef struct IDWriteRemoteFontFileLoaderVtbl { 12166 BEGIN_INTERFACE 12167 12168 /*** IUnknown methods ***/ 12169 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12170 IDWriteRemoteFontFileLoader *This, 12171 REFIID riid, 12172 void **ppvObject); 12173 12174 ULONG (STDMETHODCALLTYPE *AddRef)( 12175 IDWriteRemoteFontFileLoader *This); 12176 12177 ULONG (STDMETHODCALLTYPE *Release)( 12178 IDWriteRemoteFontFileLoader *This); 12179 12180 /*** IDWriteFontFileLoader methods ***/ 12181 HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( 12182 IDWriteRemoteFontFileLoader *This, 12183 const void *key, 12184 UINT32 key_size, 12185 IDWriteFontFileStream **stream); 12186 12187 /*** IDWriteRemoteFontFileLoader methods ***/ 12188 HRESULT (STDMETHODCALLTYPE *CreateRemoteStreamFromKey)( 12189 IDWriteRemoteFontFileLoader *This, 12190 const void *key, 12191 UINT32 key_size, 12192 IDWriteRemoteFontFileStream **stream); 12193 12194 HRESULT (STDMETHODCALLTYPE *GetLocalityFromKey)( 12195 IDWriteRemoteFontFileLoader *This, 12196 const void *key, 12197 UINT32 key_size, 12198 DWRITE_LOCALITY *locality); 12199 12200 HRESULT (STDMETHODCALLTYPE *CreateFontFileReferenceFromUrl)( 12201 IDWriteRemoteFontFileLoader *This, 12202 IDWriteFactory *factory, 12203 const WCHAR *base_url, 12204 const WCHAR *file_url, 12205 IDWriteFontFile **fontfile); 12206 12207 END_INTERFACE 12208 } IDWriteRemoteFontFileLoaderVtbl; 12209 12210 interface IDWriteRemoteFontFileLoader { 12211 CONST_VTBL IDWriteRemoteFontFileLoaderVtbl* lpVtbl; 12212 }; 12213 12214 #ifdef COBJMACROS 12215 #ifndef WIDL_C_INLINE_WRAPPERS 12216 /*** IUnknown methods ***/ 12217 #define IDWriteRemoteFontFileLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12218 #define IDWriteRemoteFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) 12219 #define IDWriteRemoteFontFileLoader_Release(This) (This)->lpVtbl->Release(This) 12220 /*** IDWriteFontFileLoader methods ***/ 12221 #define IDWriteRemoteFontFileLoader_CreateStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateStreamFromKey(This,key,key_size,stream) 12222 /*** IDWriteRemoteFontFileLoader methods ***/ 12223 #define IDWriteRemoteFontFileLoader_CreateRemoteStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateRemoteStreamFromKey(This,key,key_size,stream) 12224 #define IDWriteRemoteFontFileLoader_GetLocalityFromKey(This,key,key_size,locality) (This)->lpVtbl->GetLocalityFromKey(This,key,key_size,locality) 12225 #define IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile) (This)->lpVtbl->CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile) 12226 #else 12227 /*** IUnknown methods ***/ 12228 static inline HRESULT IDWriteRemoteFontFileLoader_QueryInterface(IDWriteRemoteFontFileLoader* This,REFIID riid,void **ppvObject) { 12229 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12230 } 12231 static inline ULONG IDWriteRemoteFontFileLoader_AddRef(IDWriteRemoteFontFileLoader* This) { 12232 return This->lpVtbl->AddRef(This); 12233 } 12234 static inline ULONG IDWriteRemoteFontFileLoader_Release(IDWriteRemoteFontFileLoader* This) { 12235 return This->lpVtbl->Release(This); 12236 } 12237 /*** IDWriteFontFileLoader methods ***/ 12238 static inline HRESULT IDWriteRemoteFontFileLoader_CreateStreamFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,IDWriteFontFileStream **stream) { 12239 return This->lpVtbl->CreateStreamFromKey(This,key,key_size,stream); 12240 } 12241 /*** IDWriteRemoteFontFileLoader methods ***/ 12242 static inline HRESULT IDWriteRemoteFontFileLoader_CreateRemoteStreamFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,IDWriteRemoteFontFileStream **stream) { 12243 return This->lpVtbl->CreateRemoteStreamFromKey(This,key,key_size,stream); 12244 } 12245 static inline HRESULT IDWriteRemoteFontFileLoader_GetLocalityFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,DWRITE_LOCALITY *locality) { 12246 return This->lpVtbl->GetLocalityFromKey(This,key,key_size,locality); 12247 } 12248 static inline HRESULT IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl(IDWriteRemoteFontFileLoader* This,IDWriteFactory *factory,const WCHAR *base_url,const WCHAR *file_url,IDWriteFontFile **fontfile) { 12249 return This->lpVtbl->CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile); 12250 } 12251 #endif 12252 #endif 12253 12254 #endif 12255 12256 12257 #endif /* __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ */ 12258 12259 /***************************************************************************** 12260 * IDWriteInMemoryFontFileLoader interface 12261 */ 12262 #ifndef __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ 12263 #define __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ 12264 12265 DEFINE_GUID(IID_IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82,0x2d, 0x9e,0x11,0x7e,0x33,0x04,0x3f); 12266 #if defined(__cplusplus) && !defined(CINTERFACE) 12267 MIDL_INTERFACE("dc102f47-a12d-4b1c-822d-9e117e33043f") 12268 IDWriteInMemoryFontFileLoader : public IDWriteFontFileLoader 12269 { 12270 virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileReference( 12271 IDWriteFactory *factory, 12272 const void *data, 12273 UINT32 data_size, 12274 IUnknown *owner, 12275 IDWriteFontFile **fontfile) = 0; 12276 12277 virtual UINT32 STDMETHODCALLTYPE GetFileCount( 12278 ) = 0; 12279 12280 }; 12281 #ifdef __CRT_UUID_DECL 12282 __CRT_UUID_DECL(IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82,0x2d, 0x9e,0x11,0x7e,0x33,0x04,0x3f) 12283 #endif 12284 #else 12285 typedef struct IDWriteInMemoryFontFileLoaderVtbl { 12286 BEGIN_INTERFACE 12287 12288 /*** IUnknown methods ***/ 12289 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12290 IDWriteInMemoryFontFileLoader *This, 12291 REFIID riid, 12292 void **ppvObject); 12293 12294 ULONG (STDMETHODCALLTYPE *AddRef)( 12295 IDWriteInMemoryFontFileLoader *This); 12296 12297 ULONG (STDMETHODCALLTYPE *Release)( 12298 IDWriteInMemoryFontFileLoader *This); 12299 12300 /*** IDWriteFontFileLoader methods ***/ 12301 HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( 12302 IDWriteInMemoryFontFileLoader *This, 12303 const void *key, 12304 UINT32 key_size, 12305 IDWriteFontFileStream **stream); 12306 12307 /*** IDWriteInMemoryFontFileLoader methods ***/ 12308 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileReference)( 12309 IDWriteInMemoryFontFileLoader *This, 12310 IDWriteFactory *factory, 12311 const void *data, 12312 UINT32 data_size, 12313 IUnknown *owner, 12314 IDWriteFontFile **fontfile); 12315 12316 UINT32 (STDMETHODCALLTYPE *GetFileCount)( 12317 IDWriteInMemoryFontFileLoader *This); 12318 12319 END_INTERFACE 12320 } IDWriteInMemoryFontFileLoaderVtbl; 12321 12322 interface IDWriteInMemoryFontFileLoader { 12323 CONST_VTBL IDWriteInMemoryFontFileLoaderVtbl* lpVtbl; 12324 }; 12325 12326 #ifdef COBJMACROS 12327 #ifndef WIDL_C_INLINE_WRAPPERS 12328 /*** IUnknown methods ***/ 12329 #define IDWriteInMemoryFontFileLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12330 #define IDWriteInMemoryFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) 12331 #define IDWriteInMemoryFontFileLoader_Release(This) (This)->lpVtbl->Release(This) 12332 /*** IDWriteFontFileLoader methods ***/ 12333 #define IDWriteInMemoryFontFileLoader_CreateStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateStreamFromKey(This,key,key_size,stream) 12334 /*** IDWriteInMemoryFontFileLoader methods ***/ 12335 #define IDWriteInMemoryFontFileLoader_CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile) (This)->lpVtbl->CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile) 12336 #define IDWriteInMemoryFontFileLoader_GetFileCount(This) (This)->lpVtbl->GetFileCount(This) 12337 #else 12338 /*** IUnknown methods ***/ 12339 static inline HRESULT IDWriteInMemoryFontFileLoader_QueryInterface(IDWriteInMemoryFontFileLoader* This,REFIID riid,void **ppvObject) { 12340 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12341 } 12342 static inline ULONG IDWriteInMemoryFontFileLoader_AddRef(IDWriteInMemoryFontFileLoader* This) { 12343 return This->lpVtbl->AddRef(This); 12344 } 12345 static inline ULONG IDWriteInMemoryFontFileLoader_Release(IDWriteInMemoryFontFileLoader* This) { 12346 return This->lpVtbl->Release(This); 12347 } 12348 /*** IDWriteFontFileLoader methods ***/ 12349 static inline HRESULT IDWriteInMemoryFontFileLoader_CreateStreamFromKey(IDWriteInMemoryFontFileLoader* This,const void *key,UINT32 key_size,IDWriteFontFileStream **stream) { 12350 return This->lpVtbl->CreateStreamFromKey(This,key,key_size,stream); 12351 } 12352 /*** IDWriteInMemoryFontFileLoader methods ***/ 12353 static inline HRESULT IDWriteInMemoryFontFileLoader_CreateInMemoryFontFileReference(IDWriteInMemoryFontFileLoader* This,IDWriteFactory *factory,const void *data,UINT32 data_size,IUnknown *owner,IDWriteFontFile **fontfile) { 12354 return This->lpVtbl->CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile); 12355 } 12356 static inline UINT32 IDWriteInMemoryFontFileLoader_GetFileCount(IDWriteInMemoryFontFileLoader* This) { 12357 return This->lpVtbl->GetFileCount(This); 12358 } 12359 #endif 12360 #endif 12361 12362 #endif 12363 12364 12365 #endif /* __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ */ 12366 12367 /***************************************************************************** 12368 * IDWriteFactory5 interface 12369 */ 12370 #ifndef __IDWriteFactory5_INTERFACE_DEFINED__ 12371 #define __IDWriteFactory5_INTERFACE_DEFINED__ 12372 12373 DEFINE_GUID(IID_IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf,0x7d, 0x65,0x18,0x98,0x03,0xd1,0xd3); 12374 #if defined(__cplusplus) && !defined(CINTERFACE) 12375 MIDL_INTERFACE("958db99a-be2a-4f09-af7d-65189803d1d3") 12376 IDWriteFactory5 : public IDWriteFactory4 12377 { 12378 virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( 12379 IDWriteFontSetBuilder1 **fontset_builder) = 0; 12380 12381 virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileLoader( 12382 IDWriteInMemoryFontFileLoader **loader) = 0; 12383 12384 virtual HRESULT STDMETHODCALLTYPE CreateHttpFontFileLoader( 12385 const WCHAR *referrer_url, 12386 const WCHAR *extra_headers, 12387 IDWriteRemoteFontFileLoader **loader) = 0; 12388 12389 virtual DWRITE_CONTAINER_TYPE STDMETHODCALLTYPE AnalyzeContainerType( 12390 const void *data, 12391 UINT32 data_size) = 0; 12392 12393 virtual HRESULT STDMETHODCALLTYPE UnpackFontFile( 12394 DWRITE_CONTAINER_TYPE container_type, 12395 const void *data, 12396 UINT32 data_size, 12397 IDWriteFontFileStream **stream) = 0; 12398 12399 }; 12400 #ifdef __CRT_UUID_DECL 12401 __CRT_UUID_DECL(IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf,0x7d, 0x65,0x18,0x98,0x03,0xd1,0xd3) 12402 #endif 12403 #else 12404 typedef struct IDWriteFactory5Vtbl { 12405 BEGIN_INTERFACE 12406 12407 /*** IUnknown methods ***/ 12408 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12409 IDWriteFactory5 *This, 12410 REFIID riid, 12411 void **ppvObject); 12412 12413 ULONG (STDMETHODCALLTYPE *AddRef)( 12414 IDWriteFactory5 *This); 12415 12416 ULONG (STDMETHODCALLTYPE *Release)( 12417 IDWriteFactory5 *This); 12418 12419 /*** IDWriteFactory methods ***/ 12420 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 12421 IDWriteFactory5 *This, 12422 IDWriteFontCollection **collection, 12423 WINBOOL check_for_updates); 12424 12425 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 12426 IDWriteFactory5 *This, 12427 IDWriteFontCollectionLoader *loader, 12428 const void *key, 12429 UINT32 key_size, 12430 IDWriteFontCollection **collection); 12431 12432 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 12433 IDWriteFactory5 *This, 12434 IDWriteFontCollectionLoader *loader); 12435 12436 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 12437 IDWriteFactory5 *This, 12438 IDWriteFontCollectionLoader *loader); 12439 12440 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 12441 IDWriteFactory5 *This, 12442 const WCHAR *path, 12443 const FILETIME *writetime, 12444 IDWriteFontFile **font_file); 12445 12446 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 12447 IDWriteFactory5 *This, 12448 const void *reference_key, 12449 UINT32 key_size, 12450 IDWriteFontFileLoader *loader, 12451 IDWriteFontFile **font_file); 12452 12453 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 12454 IDWriteFactory5 *This, 12455 DWRITE_FONT_FACE_TYPE facetype, 12456 UINT32 files_number, 12457 IDWriteFontFile *const *font_files, 12458 UINT32 index, 12459 DWRITE_FONT_SIMULATIONS sim_flags, 12460 IDWriteFontFace **font_face); 12461 12462 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 12463 IDWriteFactory5 *This, 12464 IDWriteRenderingParams **params); 12465 12466 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 12467 IDWriteFactory5 *This, 12468 HMONITOR monitor, 12469 IDWriteRenderingParams **params); 12470 12471 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 12472 IDWriteFactory5 *This, 12473 FLOAT gamma, 12474 FLOAT enhancedContrast, 12475 FLOAT cleartype_level, 12476 DWRITE_PIXEL_GEOMETRY geometry, 12477 DWRITE_RENDERING_MODE mode, 12478 IDWriteRenderingParams **params); 12479 12480 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 12481 IDWriteFactory5 *This, 12482 IDWriteFontFileLoader *loader); 12483 12484 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 12485 IDWriteFactory5 *This, 12486 IDWriteFontFileLoader *loader); 12487 12488 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 12489 IDWriteFactory5 *This, 12490 const WCHAR *family_name, 12491 IDWriteFontCollection *collection, 12492 DWRITE_FONT_WEIGHT weight, 12493 DWRITE_FONT_STYLE style, 12494 DWRITE_FONT_STRETCH stretch, 12495 FLOAT size, 12496 const WCHAR *locale, 12497 IDWriteTextFormat **format); 12498 12499 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 12500 IDWriteFactory5 *This, 12501 IDWriteTypography **typography); 12502 12503 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 12504 IDWriteFactory5 *This, 12505 IDWriteGdiInterop **gdi_interop); 12506 12507 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 12508 IDWriteFactory5 *This, 12509 const WCHAR *string, 12510 UINT32 len, 12511 IDWriteTextFormat *format, 12512 FLOAT max_width, 12513 FLOAT max_height, 12514 IDWriteTextLayout **layout); 12515 12516 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 12517 IDWriteFactory5 *This, 12518 const WCHAR *string, 12519 UINT32 len, 12520 IDWriteTextFormat *format, 12521 FLOAT layout_width, 12522 FLOAT layout_height, 12523 FLOAT pixels_per_dip, 12524 const DWRITE_MATRIX *transform, 12525 WINBOOL use_gdi_natural, 12526 IDWriteTextLayout **layout); 12527 12528 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 12529 IDWriteFactory5 *This, 12530 IDWriteTextFormat *format, 12531 IDWriteInlineObject **trimming_sign); 12532 12533 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 12534 IDWriteFactory5 *This, 12535 IDWriteTextAnalyzer **analyzer); 12536 12537 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 12538 IDWriteFactory5 *This, 12539 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 12540 const WCHAR *locale, 12541 WINBOOL ignore_user_override, 12542 IDWriteNumberSubstitution **substitution); 12543 12544 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 12545 IDWriteFactory5 *This, 12546 const DWRITE_GLYPH_RUN *glyph_run, 12547 FLOAT pixels_per_dip, 12548 const DWRITE_MATRIX *transform, 12549 DWRITE_RENDERING_MODE rendering_mode, 12550 DWRITE_MEASURING_MODE measuring_mode, 12551 FLOAT baseline_x, 12552 FLOAT baseline_y, 12553 IDWriteGlyphRunAnalysis **analysis); 12554 12555 /*** IDWriteFactory1 methods ***/ 12556 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 12557 IDWriteFactory5 *This, 12558 IDWriteFontCollection **collection, 12559 WINBOOL check_for_updates); 12560 12561 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 12562 IDWriteFactory5 *This, 12563 FLOAT gamma, 12564 FLOAT enhcontrast, 12565 FLOAT enhcontrast_grayscale, 12566 FLOAT cleartype_level, 12567 DWRITE_PIXEL_GEOMETRY geometry, 12568 DWRITE_RENDERING_MODE mode, 12569 IDWriteRenderingParams1 **params); 12570 12571 /*** IDWriteFactory2 methods ***/ 12572 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 12573 IDWriteFactory5 *This, 12574 IDWriteFontFallback **fallback); 12575 12576 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 12577 IDWriteFactory5 *This, 12578 IDWriteFontFallbackBuilder **fallbackbuilder); 12579 12580 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 12581 IDWriteFactory5 *This, 12582 FLOAT originX, 12583 FLOAT originY, 12584 const DWRITE_GLYPH_RUN *run, 12585 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 12586 DWRITE_MEASURING_MODE mode, 12587 const DWRITE_MATRIX *transform, 12588 UINT32 palette_index, 12589 IDWriteColorGlyphRunEnumerator **colorlayers); 12590 12591 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 12592 IDWriteFactory5 *This, 12593 FLOAT gamma, 12594 FLOAT contrast, 12595 FLOAT grayscalecontrast, 12596 FLOAT cleartypeLevel, 12597 DWRITE_PIXEL_GEOMETRY pixelGeometry, 12598 DWRITE_RENDERING_MODE renderingMode, 12599 DWRITE_GRID_FIT_MODE gridFitMode, 12600 IDWriteRenderingParams2 **params); 12601 12602 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 12603 IDWriteFactory5 *This, 12604 const DWRITE_GLYPH_RUN *run, 12605 const DWRITE_MATRIX *transform, 12606 DWRITE_RENDERING_MODE renderingMode, 12607 DWRITE_MEASURING_MODE measuringMode, 12608 DWRITE_GRID_FIT_MODE gridFitMode, 12609 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 12610 FLOAT originX, 12611 FLOAT originY, 12612 IDWriteGlyphRunAnalysis **analysis); 12613 12614 /*** IDWriteFactory3 methods ***/ 12615 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 12616 IDWriteFactory5 *This, 12617 const DWRITE_GLYPH_RUN *run, 12618 const DWRITE_MATRIX *transform, 12619 DWRITE_RENDERING_MODE1 rendering_mode, 12620 DWRITE_MEASURING_MODE measuring_mode, 12621 DWRITE_GRID_FIT_MODE gridfit_mode, 12622 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 12623 FLOAT origin_x, 12624 FLOAT origin_y, 12625 IDWriteGlyphRunAnalysis **analysis); 12626 12627 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 12628 IDWriteFactory5 *This, 12629 FLOAT gamma, 12630 FLOAT enhanced_contrast, 12631 FLOAT grayscale_enhanced_contrast, 12632 FLOAT cleartype_level, 12633 DWRITE_PIXEL_GEOMETRY pixel_geometry, 12634 DWRITE_RENDERING_MODE1 rendering_mode, 12635 DWRITE_GRID_FIT_MODE gridfit_mode, 12636 IDWriteRenderingParams3 **params); 12637 12638 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 12639 IDWriteFactory5 *This, 12640 IDWriteFontFile *file, 12641 UINT32 index, 12642 DWRITE_FONT_SIMULATIONS simulations, 12643 IDWriteFontFaceReference **reference); 12644 12645 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 12646 IDWriteFactory5 *This, 12647 const WCHAR *path, 12648 const FILETIME *writetime, 12649 UINT32 index, 12650 DWRITE_FONT_SIMULATIONS simulations, 12651 IDWriteFontFaceReference **reference); 12652 12653 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 12654 IDWriteFactory5 *This, 12655 IDWriteFontSet **fontset); 12656 12657 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 12658 IDWriteFactory5 *This, 12659 IDWriteFontSetBuilder **builder); 12660 12661 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 12662 IDWriteFactory5 *This, 12663 IDWriteFontSet *fontset, 12664 IDWriteFontCollection1 **collection); 12665 12666 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 12667 IDWriteFactory5 *This, 12668 WINBOOL include_downloadable, 12669 IDWriteFontCollection1 **collection, 12670 WINBOOL check_for_updates); 12671 12672 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 12673 IDWriteFactory5 *This, 12674 IDWriteFontDownloadQueue **queue); 12675 12676 /*** IDWriteFactory4 methods ***/ 12677 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 12678 IDWriteFactory5 *This, 12679 D2D1_POINT_2F baseline_origin, 12680 const DWRITE_GLYPH_RUN *run, 12681 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 12682 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 12683 DWRITE_MEASURING_MODE measuring_mode, 12684 const DWRITE_MATRIX *transform, 12685 UINT32 palette, 12686 IDWriteColorGlyphRunEnumerator1 **layers); 12687 12688 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 12689 IDWriteFactory5 *This, 12690 const DWRITE_GLYPH_RUN *run, 12691 D2D1_POINT_2F baseline_origin, 12692 D2D1_POINT_2F *origins); 12693 12694 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 12695 IDWriteFactory5 *This, 12696 const DWRITE_GLYPH_RUN *run, 12697 DWRITE_MEASURING_MODE measuring_mode, 12698 D2D1_POINT_2F baseline_origin, 12699 const DWRITE_MATRIX *transform, 12700 D2D1_POINT_2F *origins); 12701 12702 /*** IDWriteFactory5 methods ***/ 12703 HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( 12704 IDWriteFactory5 *This, 12705 IDWriteFontSetBuilder1 **fontset_builder); 12706 12707 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( 12708 IDWriteFactory5 *This, 12709 IDWriteInMemoryFontFileLoader **loader); 12710 12711 HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( 12712 IDWriteFactory5 *This, 12713 const WCHAR *referrer_url, 12714 const WCHAR *extra_headers, 12715 IDWriteRemoteFontFileLoader **loader); 12716 12717 DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( 12718 IDWriteFactory5 *This, 12719 const void *data, 12720 UINT32 data_size); 12721 12722 HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( 12723 IDWriteFactory5 *This, 12724 DWRITE_CONTAINER_TYPE container_type, 12725 const void *data, 12726 UINT32 data_size, 12727 IDWriteFontFileStream **stream); 12728 12729 END_INTERFACE 12730 } IDWriteFactory5Vtbl; 12731 12732 interface IDWriteFactory5 { 12733 CONST_VTBL IDWriteFactory5Vtbl* lpVtbl; 12734 }; 12735 12736 #ifdef COBJMACROS 12737 #ifndef WIDL_C_INLINE_WRAPPERS 12738 /*** IUnknown methods ***/ 12739 #define IDWriteFactory5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12740 #define IDWriteFactory5_AddRef(This) (This)->lpVtbl->AddRef(This) 12741 #define IDWriteFactory5_Release(This) (This)->lpVtbl->Release(This) 12742 /*** IDWriteFactory methods ***/ 12743 #define IDWriteFactory5_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 12744 #define IDWriteFactory5_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 12745 #define IDWriteFactory5_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 12746 #define IDWriteFactory5_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 12747 #define IDWriteFactory5_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 12748 #define IDWriteFactory5_CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) (This)->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) 12749 #define IDWriteFactory5_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 12750 #define IDWriteFactory5_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 12751 #define IDWriteFactory5_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 12752 #define IDWriteFactory5_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 12753 #define IDWriteFactory5_CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format) (This)->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format) 12754 #define IDWriteFactory5_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 12755 #define IDWriteFactory5_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 12756 #define IDWriteFactory5_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 12757 #define IDWriteFactory5_CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) 12758 #define IDWriteFactory5_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 12759 #define IDWriteFactory5_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 12760 #define IDWriteFactory5_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 12761 /*** IDWriteFactory1 methods ***/ 12762 #define IDWriteFactory5_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 12763 /*** IDWriteFactory2 methods ***/ 12764 #define IDWriteFactory5_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 12765 #define IDWriteFactory5_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 12766 /*** IDWriteFactory3 methods ***/ 12767 #define IDWriteFactory5_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) 12768 #define IDWriteFactory5_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) 12769 #define IDWriteFactory5_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 12770 #define IDWriteFactory5_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) 12771 #define IDWriteFactory5_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) 12772 #define IDWriteFactory5_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) 12773 #define IDWriteFactory5_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) 12774 #define IDWriteFactory5_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 12775 /*** IDWriteFactory4 methods ***/ 12776 #define IDWriteFactory5_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers) (This)->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers) 12777 #define IDWriteFactory5_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 12778 #define IDWriteFactory5_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 12779 /*** IDWriteFactory5 methods ***/ 12780 #define IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder) (This)->lpVtbl->IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder) 12781 #define IDWriteFactory5_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) 12782 #define IDWriteFactory5_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) 12783 #define IDWriteFactory5_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) 12784 #define IDWriteFactory5_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) 12785 #else 12786 /*** IUnknown methods ***/ 12787 static inline HRESULT IDWriteFactory5_QueryInterface(IDWriteFactory5* This,REFIID riid,void **ppvObject) { 12788 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12789 } 12790 static inline ULONG IDWriteFactory5_AddRef(IDWriteFactory5* This) { 12791 return This->lpVtbl->AddRef(This); 12792 } 12793 static inline ULONG IDWriteFactory5_Release(IDWriteFactory5* This) { 12794 return This->lpVtbl->Release(This); 12795 } 12796 /*** IDWriteFactory methods ***/ 12797 static inline HRESULT IDWriteFactory5_CreateCustomFontCollection(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 12798 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 12799 } 12800 static inline HRESULT IDWriteFactory5_RegisterFontCollectionLoader(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader) { 12801 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 12802 } 12803 static inline HRESULT IDWriteFactory5_UnregisterFontCollectionLoader(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader) { 12804 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 12805 } 12806 static inline HRESULT IDWriteFactory5_CreateFontFileReference(IDWriteFactory5* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 12807 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 12808 } 12809 static inline HRESULT IDWriteFactory5_CreateCustomFontFileReference(IDWriteFactory5* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 12810 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 12811 } 12812 static inline HRESULT IDWriteFactory5_CreateFontFace(IDWriteFactory5* This,DWRITE_FONT_FACE_TYPE facetype,UINT32 files_number,IDWriteFontFile *const *font_files,UINT32 index,DWRITE_FONT_SIMULATIONS sim_flags,IDWriteFontFace **font_face) { 12813 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 12814 } 12815 static inline HRESULT IDWriteFactory5_CreateRenderingParams(IDWriteFactory5* This,IDWriteRenderingParams **params) { 12816 return This->lpVtbl->CreateRenderingParams(This,params); 12817 } 12818 static inline HRESULT IDWriteFactory5_CreateMonitorRenderingParams(IDWriteFactory5* This,HMONITOR monitor,IDWriteRenderingParams **params) { 12819 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 12820 } 12821 static inline HRESULT IDWriteFactory5_RegisterFontFileLoader(IDWriteFactory5* This,IDWriteFontFileLoader *loader) { 12822 return This->lpVtbl->RegisterFontFileLoader(This,loader); 12823 } 12824 static inline HRESULT IDWriteFactory5_UnregisterFontFileLoader(IDWriteFactory5* This,IDWriteFontFileLoader *loader) { 12825 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 12826 } 12827 static inline HRESULT IDWriteFactory5_CreateTextFormat(IDWriteFactory5* This,const WCHAR *family_name,IDWriteFontCollection *collection,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STYLE style,DWRITE_FONT_STRETCH stretch,FLOAT size,const WCHAR *locale,IDWriteTextFormat **format) { 12828 return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); 12829 } 12830 static inline HRESULT IDWriteFactory5_CreateTypography(IDWriteFactory5* This,IDWriteTypography **typography) { 12831 return This->lpVtbl->CreateTypography(This,typography); 12832 } 12833 static inline HRESULT IDWriteFactory5_GetGdiInterop(IDWriteFactory5* This,IDWriteGdiInterop **gdi_interop) { 12834 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 12835 } 12836 static inline HRESULT IDWriteFactory5_CreateTextLayout(IDWriteFactory5* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 12837 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 12838 } 12839 static inline HRESULT IDWriteFactory5_CreateGdiCompatibleTextLayout(IDWriteFactory5* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT layout_width,FLOAT layout_height,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,IDWriteTextLayout **layout) { 12840 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 12841 } 12842 static inline HRESULT IDWriteFactory5_CreateEllipsisTrimmingSign(IDWriteFactory5* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 12843 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 12844 } 12845 static inline HRESULT IDWriteFactory5_CreateTextAnalyzer(IDWriteFactory5* This,IDWriteTextAnalyzer **analyzer) { 12846 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 12847 } 12848 static inline HRESULT IDWriteFactory5_CreateNumberSubstitution(IDWriteFactory5* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 12849 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 12850 } 12851 /*** IDWriteFactory1 methods ***/ 12852 static inline HRESULT IDWriteFactory5_GetEudcFontCollection(IDWriteFactory5* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 12853 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 12854 } 12855 /*** IDWriteFactory2 methods ***/ 12856 static inline HRESULT IDWriteFactory5_GetSystemFontFallback(IDWriteFactory5* This,IDWriteFontFallback **fallback) { 12857 return This->lpVtbl->GetSystemFontFallback(This,fallback); 12858 } 12859 static inline HRESULT IDWriteFactory5_CreateFontFallbackBuilder(IDWriteFactory5* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 12860 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 12861 } 12862 /*** IDWriteFactory3 methods ***/ 12863 static inline HRESULT IDWriteFactory5_CreateGlyphRunAnalysis(IDWriteFactory5* This,const DWRITE_GLYPH_RUN *run,const DWRITE_MATRIX *transform,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_MEASURING_MODE measuring_mode,DWRITE_GRID_FIT_MODE gridfit_mode,DWRITE_TEXT_ANTIALIAS_MODE antialias_mode,FLOAT origin_x,FLOAT origin_y,IDWriteGlyphRunAnalysis **analysis) { 12864 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 12865 } 12866 static inline HRESULT IDWriteFactory5_CreateCustomRenderingParams(IDWriteFactory5* This,FLOAT gamma,FLOAT enhanced_contrast,FLOAT grayscale_enhanced_contrast,FLOAT cleartype_level,DWRITE_PIXEL_GEOMETRY pixel_geometry,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_GRID_FIT_MODE gridfit_mode,IDWriteRenderingParams3 **params) { 12867 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 12868 } 12869 static inline HRESULT IDWriteFactory5_CreateFontFaceReference_(IDWriteFactory5* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 12870 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 12871 } 12872 static inline HRESULT IDWriteFactory5_CreateFontFaceReference(IDWriteFactory5* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 12873 return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); 12874 } 12875 static inline HRESULT IDWriteFactory5_GetSystemFontSet(IDWriteFactory5* This,IDWriteFontSet **fontset) { 12876 return This->lpVtbl->GetSystemFontSet(This,fontset); 12877 } 12878 static inline HRESULT IDWriteFactory5_CreateFontCollectionFromFontSet(IDWriteFactory5* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { 12879 return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); 12880 } 12881 static inline HRESULT IDWriteFactory5_GetSystemFontCollection(IDWriteFactory5* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { 12882 return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); 12883 } 12884 static inline HRESULT IDWriteFactory5_GetFontDownloadQueue(IDWriteFactory5* This,IDWriteFontDownloadQueue **queue) { 12885 return This->lpVtbl->GetFontDownloadQueue(This,queue); 12886 } 12887 /*** IDWriteFactory4 methods ***/ 12888 static inline HRESULT IDWriteFactory5_TranslateColorGlyphRun(IDWriteFactory5* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *run,const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc,DWRITE_GLYPH_IMAGE_FORMATS desired_formats,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_MATRIX *transform,UINT32 palette,IDWriteColorGlyphRunEnumerator1 **layers) { 12889 return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); 12890 } 12891 static inline HRESULT IDWriteFactory5_ComputeGlyphOrigins_(IDWriteFactory5* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 12892 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 12893 } 12894 static inline HRESULT IDWriteFactory5_ComputeGlyphOrigins(IDWriteFactory5* This,const DWRITE_GLYPH_RUN *run,DWRITE_MEASURING_MODE measuring_mode,D2D1_POINT_2F baseline_origin,const DWRITE_MATRIX *transform,D2D1_POINT_2F *origins) { 12895 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 12896 } 12897 /*** IDWriteFactory5 methods ***/ 12898 static inline HRESULT IDWriteFactory5_CreateFontSetBuilder(IDWriteFactory5* This,IDWriteFontSetBuilder1 **fontset_builder) { 12899 return This->lpVtbl->IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder); 12900 } 12901 static inline HRESULT IDWriteFactory5_CreateInMemoryFontFileLoader(IDWriteFactory5* This,IDWriteInMemoryFontFileLoader **loader) { 12902 return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); 12903 } 12904 static inline HRESULT IDWriteFactory5_CreateHttpFontFileLoader(IDWriteFactory5* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { 12905 return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); 12906 } 12907 static inline DWRITE_CONTAINER_TYPE IDWriteFactory5_AnalyzeContainerType(IDWriteFactory5* This,const void *data,UINT32 data_size) { 12908 return This->lpVtbl->AnalyzeContainerType(This,data,data_size); 12909 } 12910 static inline HRESULT IDWriteFactory5_UnpackFontFile(IDWriteFactory5* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { 12911 return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); 12912 } 12913 #endif 12914 #endif 12915 12916 #endif 12917 12918 12919 #endif /* __IDWriteFactory5_INTERFACE_DEFINED__ */ 12920 12921 /***************************************************************************** 12922 * IDWriteFactory6 interface 12923 */ 12924 #ifndef __IDWriteFactory6_INTERFACE_DEFINED__ 12925 #define __IDWriteFactory6_INTERFACE_DEFINED__ 12926 12927 DEFINE_GUID(IID_IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3,0x5d, 0x99,0x5b,0xc7,0x2f,0xc2,0x23); 12928 #if defined(__cplusplus) && !defined(CINTERFACE) 12929 MIDL_INTERFACE("f3744d80-21f7-42eb-b35d-995bc72fc223") 12930 IDWriteFactory6 : public IDWriteFactory5 12931 { 12932 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( 12933 IDWriteFontFile *file, 12934 UINT32 face_index, 12935 DWRITE_FONT_SIMULATIONS simulations, 12936 const DWRITE_FONT_AXIS_VALUE *axis_values, 12937 UINT32 num_axis, 12938 IDWriteFontFaceReference1 **face_ref) = 0; 12939 12940 virtual HRESULT STDMETHODCALLTYPE CreateFontResource( 12941 IDWriteFontFile *file, 12942 UINT32 face_index, 12943 IDWriteFontResource **resource) = 0; 12944 12945 virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( 12946 WINBOOL include_downloadable, 12947 IDWriteFontSet1 **fontset) = 0; 12948 12949 virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( 12950 WINBOOL include_downloadable, 12951 DWRITE_FONT_FAMILY_MODEL family_model, 12952 IDWriteFontCollection2 **collection) = 0; 12953 12954 virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( 12955 IDWriteFontSet *fontset, 12956 DWRITE_FONT_FAMILY_MODEL family_model, 12957 IDWriteFontCollection2 **collection) = 0; 12958 12959 virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( 12960 IDWriteFontSetBuilder2 **builder) = 0; 12961 12962 virtual HRESULT STDMETHODCALLTYPE CreateTextFormat( 12963 const WCHAR *familyname, 12964 IDWriteFontCollection *collection, 12965 const DWRITE_FONT_AXIS_VALUE *axis_values, 12966 UINT32 num_axis, 12967 FLOAT fontsize, 12968 const WCHAR *localename, 12969 IDWriteTextFormat3 **format) = 0; 12970 12971 }; 12972 #ifdef __CRT_UUID_DECL 12973 __CRT_UUID_DECL(IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3,0x5d, 0x99,0x5b,0xc7,0x2f,0xc2,0x23) 12974 #endif 12975 #else 12976 typedef struct IDWriteFactory6Vtbl { 12977 BEGIN_INTERFACE 12978 12979 /*** IUnknown methods ***/ 12980 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12981 IDWriteFactory6 *This, 12982 REFIID riid, 12983 void **ppvObject); 12984 12985 ULONG (STDMETHODCALLTYPE *AddRef)( 12986 IDWriteFactory6 *This); 12987 12988 ULONG (STDMETHODCALLTYPE *Release)( 12989 IDWriteFactory6 *This); 12990 12991 /*** IDWriteFactory methods ***/ 12992 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 12993 IDWriteFactory6 *This, 12994 IDWriteFontCollection **collection, 12995 WINBOOL check_for_updates); 12996 12997 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 12998 IDWriteFactory6 *This, 12999 IDWriteFontCollectionLoader *loader, 13000 const void *key, 13001 UINT32 key_size, 13002 IDWriteFontCollection **collection); 13003 13004 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 13005 IDWriteFactory6 *This, 13006 IDWriteFontCollectionLoader *loader); 13007 13008 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 13009 IDWriteFactory6 *This, 13010 IDWriteFontCollectionLoader *loader); 13011 13012 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 13013 IDWriteFactory6 *This, 13014 const WCHAR *path, 13015 const FILETIME *writetime, 13016 IDWriteFontFile **font_file); 13017 13018 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 13019 IDWriteFactory6 *This, 13020 const void *reference_key, 13021 UINT32 key_size, 13022 IDWriteFontFileLoader *loader, 13023 IDWriteFontFile **font_file); 13024 13025 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 13026 IDWriteFactory6 *This, 13027 DWRITE_FONT_FACE_TYPE facetype, 13028 UINT32 files_number, 13029 IDWriteFontFile *const *font_files, 13030 UINT32 index, 13031 DWRITE_FONT_SIMULATIONS sim_flags, 13032 IDWriteFontFace **font_face); 13033 13034 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 13035 IDWriteFactory6 *This, 13036 IDWriteRenderingParams **params); 13037 13038 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 13039 IDWriteFactory6 *This, 13040 HMONITOR monitor, 13041 IDWriteRenderingParams **params); 13042 13043 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 13044 IDWriteFactory6 *This, 13045 FLOAT gamma, 13046 FLOAT enhancedContrast, 13047 FLOAT cleartype_level, 13048 DWRITE_PIXEL_GEOMETRY geometry, 13049 DWRITE_RENDERING_MODE mode, 13050 IDWriteRenderingParams **params); 13051 13052 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 13053 IDWriteFactory6 *This, 13054 IDWriteFontFileLoader *loader); 13055 13056 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 13057 IDWriteFactory6 *This, 13058 IDWriteFontFileLoader *loader); 13059 13060 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 13061 IDWriteFactory6 *This, 13062 const WCHAR *family_name, 13063 IDWriteFontCollection *collection, 13064 DWRITE_FONT_WEIGHT weight, 13065 DWRITE_FONT_STYLE style, 13066 DWRITE_FONT_STRETCH stretch, 13067 FLOAT size, 13068 const WCHAR *locale, 13069 IDWriteTextFormat **format); 13070 13071 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 13072 IDWriteFactory6 *This, 13073 IDWriteTypography **typography); 13074 13075 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 13076 IDWriteFactory6 *This, 13077 IDWriteGdiInterop **gdi_interop); 13078 13079 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 13080 IDWriteFactory6 *This, 13081 const WCHAR *string, 13082 UINT32 len, 13083 IDWriteTextFormat *format, 13084 FLOAT max_width, 13085 FLOAT max_height, 13086 IDWriteTextLayout **layout); 13087 13088 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 13089 IDWriteFactory6 *This, 13090 const WCHAR *string, 13091 UINT32 len, 13092 IDWriteTextFormat *format, 13093 FLOAT layout_width, 13094 FLOAT layout_height, 13095 FLOAT pixels_per_dip, 13096 const DWRITE_MATRIX *transform, 13097 WINBOOL use_gdi_natural, 13098 IDWriteTextLayout **layout); 13099 13100 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 13101 IDWriteFactory6 *This, 13102 IDWriteTextFormat *format, 13103 IDWriteInlineObject **trimming_sign); 13104 13105 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 13106 IDWriteFactory6 *This, 13107 IDWriteTextAnalyzer **analyzer); 13108 13109 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 13110 IDWriteFactory6 *This, 13111 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 13112 const WCHAR *locale, 13113 WINBOOL ignore_user_override, 13114 IDWriteNumberSubstitution **substitution); 13115 13116 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 13117 IDWriteFactory6 *This, 13118 const DWRITE_GLYPH_RUN *glyph_run, 13119 FLOAT pixels_per_dip, 13120 const DWRITE_MATRIX *transform, 13121 DWRITE_RENDERING_MODE rendering_mode, 13122 DWRITE_MEASURING_MODE measuring_mode, 13123 FLOAT baseline_x, 13124 FLOAT baseline_y, 13125 IDWriteGlyphRunAnalysis **analysis); 13126 13127 /*** IDWriteFactory1 methods ***/ 13128 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 13129 IDWriteFactory6 *This, 13130 IDWriteFontCollection **collection, 13131 WINBOOL check_for_updates); 13132 13133 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 13134 IDWriteFactory6 *This, 13135 FLOAT gamma, 13136 FLOAT enhcontrast, 13137 FLOAT enhcontrast_grayscale, 13138 FLOAT cleartype_level, 13139 DWRITE_PIXEL_GEOMETRY geometry, 13140 DWRITE_RENDERING_MODE mode, 13141 IDWriteRenderingParams1 **params); 13142 13143 /*** IDWriteFactory2 methods ***/ 13144 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 13145 IDWriteFactory6 *This, 13146 IDWriteFontFallback **fallback); 13147 13148 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 13149 IDWriteFactory6 *This, 13150 IDWriteFontFallbackBuilder **fallbackbuilder); 13151 13152 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 13153 IDWriteFactory6 *This, 13154 FLOAT originX, 13155 FLOAT originY, 13156 const DWRITE_GLYPH_RUN *run, 13157 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 13158 DWRITE_MEASURING_MODE mode, 13159 const DWRITE_MATRIX *transform, 13160 UINT32 palette_index, 13161 IDWriteColorGlyphRunEnumerator **colorlayers); 13162 13163 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 13164 IDWriteFactory6 *This, 13165 FLOAT gamma, 13166 FLOAT contrast, 13167 FLOAT grayscalecontrast, 13168 FLOAT cleartypeLevel, 13169 DWRITE_PIXEL_GEOMETRY pixelGeometry, 13170 DWRITE_RENDERING_MODE renderingMode, 13171 DWRITE_GRID_FIT_MODE gridFitMode, 13172 IDWriteRenderingParams2 **params); 13173 13174 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 13175 IDWriteFactory6 *This, 13176 const DWRITE_GLYPH_RUN *run, 13177 const DWRITE_MATRIX *transform, 13178 DWRITE_RENDERING_MODE renderingMode, 13179 DWRITE_MEASURING_MODE measuringMode, 13180 DWRITE_GRID_FIT_MODE gridFitMode, 13181 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 13182 FLOAT originX, 13183 FLOAT originY, 13184 IDWriteGlyphRunAnalysis **analysis); 13185 13186 /*** IDWriteFactory3 methods ***/ 13187 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 13188 IDWriteFactory6 *This, 13189 const DWRITE_GLYPH_RUN *run, 13190 const DWRITE_MATRIX *transform, 13191 DWRITE_RENDERING_MODE1 rendering_mode, 13192 DWRITE_MEASURING_MODE measuring_mode, 13193 DWRITE_GRID_FIT_MODE gridfit_mode, 13194 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 13195 FLOAT origin_x, 13196 FLOAT origin_y, 13197 IDWriteGlyphRunAnalysis **analysis); 13198 13199 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 13200 IDWriteFactory6 *This, 13201 FLOAT gamma, 13202 FLOAT enhanced_contrast, 13203 FLOAT grayscale_enhanced_contrast, 13204 FLOAT cleartype_level, 13205 DWRITE_PIXEL_GEOMETRY pixel_geometry, 13206 DWRITE_RENDERING_MODE1 rendering_mode, 13207 DWRITE_GRID_FIT_MODE gridfit_mode, 13208 IDWriteRenderingParams3 **params); 13209 13210 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 13211 IDWriteFactory6 *This, 13212 IDWriteFontFile *file, 13213 UINT32 index, 13214 DWRITE_FONT_SIMULATIONS simulations, 13215 IDWriteFontFaceReference **reference); 13216 13217 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 13218 IDWriteFactory6 *This, 13219 const WCHAR *path, 13220 const FILETIME *writetime, 13221 UINT32 index, 13222 DWRITE_FONT_SIMULATIONS simulations, 13223 IDWriteFontFaceReference **reference); 13224 13225 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 13226 IDWriteFactory6 *This, 13227 IDWriteFontSet **fontset); 13228 13229 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 13230 IDWriteFactory6 *This, 13231 IDWriteFontSetBuilder **builder); 13232 13233 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 13234 IDWriteFactory6 *This, 13235 IDWriteFontSet *fontset, 13236 IDWriteFontCollection1 **collection); 13237 13238 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 13239 IDWriteFactory6 *This, 13240 WINBOOL include_downloadable, 13241 IDWriteFontCollection1 **collection, 13242 WINBOOL check_for_updates); 13243 13244 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 13245 IDWriteFactory6 *This, 13246 IDWriteFontDownloadQueue **queue); 13247 13248 /*** IDWriteFactory4 methods ***/ 13249 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 13250 IDWriteFactory6 *This, 13251 D2D1_POINT_2F baseline_origin, 13252 const DWRITE_GLYPH_RUN *run, 13253 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 13254 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 13255 DWRITE_MEASURING_MODE measuring_mode, 13256 const DWRITE_MATRIX *transform, 13257 UINT32 palette, 13258 IDWriteColorGlyphRunEnumerator1 **layers); 13259 13260 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 13261 IDWriteFactory6 *This, 13262 const DWRITE_GLYPH_RUN *run, 13263 D2D1_POINT_2F baseline_origin, 13264 D2D1_POINT_2F *origins); 13265 13266 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 13267 IDWriteFactory6 *This, 13268 const DWRITE_GLYPH_RUN *run, 13269 DWRITE_MEASURING_MODE measuring_mode, 13270 D2D1_POINT_2F baseline_origin, 13271 const DWRITE_MATRIX *transform, 13272 D2D1_POINT_2F *origins); 13273 13274 /*** IDWriteFactory5 methods ***/ 13275 HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( 13276 IDWriteFactory6 *This, 13277 IDWriteFontSetBuilder1 **fontset_builder); 13278 13279 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( 13280 IDWriteFactory6 *This, 13281 IDWriteInMemoryFontFileLoader **loader); 13282 13283 HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( 13284 IDWriteFactory6 *This, 13285 const WCHAR *referrer_url, 13286 const WCHAR *extra_headers, 13287 IDWriteRemoteFontFileLoader **loader); 13288 13289 DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( 13290 IDWriteFactory6 *This, 13291 const void *data, 13292 UINT32 data_size); 13293 13294 HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( 13295 IDWriteFactory6 *This, 13296 DWRITE_CONTAINER_TYPE container_type, 13297 const void *data, 13298 UINT32 data_size, 13299 IDWriteFontFileStream **stream); 13300 13301 /*** IDWriteFactory6 methods ***/ 13302 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontFaceReference)( 13303 IDWriteFactory6 *This, 13304 IDWriteFontFile *file, 13305 UINT32 face_index, 13306 DWRITE_FONT_SIMULATIONS simulations, 13307 const DWRITE_FONT_AXIS_VALUE *axis_values, 13308 UINT32 num_axis, 13309 IDWriteFontFaceReference1 **face_ref); 13310 13311 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 13312 IDWriteFactory6 *This, 13313 IDWriteFontFile *file, 13314 UINT32 face_index, 13315 IDWriteFontResource **resource); 13316 13317 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( 13318 IDWriteFactory6 *This, 13319 WINBOOL include_downloadable, 13320 IDWriteFontSet1 **fontset); 13321 13322 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontCollection)( 13323 IDWriteFactory6 *This, 13324 WINBOOL include_downloadable, 13325 DWRITE_FONT_FAMILY_MODEL family_model, 13326 IDWriteFontCollection2 **collection); 13327 13328 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontCollectionFromFontSet)( 13329 IDWriteFactory6 *This, 13330 IDWriteFontSet *fontset, 13331 DWRITE_FONT_FAMILY_MODEL family_model, 13332 IDWriteFontCollection2 **collection); 13333 13334 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( 13335 IDWriteFactory6 *This, 13336 IDWriteFontSetBuilder2 **builder); 13337 13338 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateTextFormat)( 13339 IDWriteFactory6 *This, 13340 const WCHAR *familyname, 13341 IDWriteFontCollection *collection, 13342 const DWRITE_FONT_AXIS_VALUE *axis_values, 13343 UINT32 num_axis, 13344 FLOAT fontsize, 13345 const WCHAR *localename, 13346 IDWriteTextFormat3 **format); 13347 13348 END_INTERFACE 13349 } IDWriteFactory6Vtbl; 13350 13351 interface IDWriteFactory6 { 13352 CONST_VTBL IDWriteFactory6Vtbl* lpVtbl; 13353 }; 13354 13355 #ifdef COBJMACROS 13356 #ifndef WIDL_C_INLINE_WRAPPERS 13357 /*** IUnknown methods ***/ 13358 #define IDWriteFactory6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13359 #define IDWriteFactory6_AddRef(This) (This)->lpVtbl->AddRef(This) 13360 #define IDWriteFactory6_Release(This) (This)->lpVtbl->Release(This) 13361 /*** IDWriteFactory methods ***/ 13362 #define IDWriteFactory6_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 13363 #define IDWriteFactory6_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 13364 #define IDWriteFactory6_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 13365 #define IDWriteFactory6_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 13366 #define IDWriteFactory6_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 13367 #define IDWriteFactory6_CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) (This)->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) 13368 #define IDWriteFactory6_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 13369 #define IDWriteFactory6_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 13370 #define IDWriteFactory6_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 13371 #define IDWriteFactory6_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 13372 #define IDWriteFactory6_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 13373 #define IDWriteFactory6_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 13374 #define IDWriteFactory6_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 13375 #define IDWriteFactory6_CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) 13376 #define IDWriteFactory6_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 13377 #define IDWriteFactory6_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 13378 #define IDWriteFactory6_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 13379 /*** IDWriteFactory1 methods ***/ 13380 #define IDWriteFactory6_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 13381 /*** IDWriteFactory2 methods ***/ 13382 #define IDWriteFactory6_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 13383 #define IDWriteFactory6_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 13384 /*** IDWriteFactory3 methods ***/ 13385 #define IDWriteFactory6_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) 13386 #define IDWriteFactory6_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) 13387 #define IDWriteFactory6_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 13388 #define IDWriteFactory6_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 13389 /*** IDWriteFactory4 methods ***/ 13390 #define IDWriteFactory6_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers) (This)->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers) 13391 #define IDWriteFactory6_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 13392 #define IDWriteFactory6_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 13393 /*** IDWriteFactory5 methods ***/ 13394 #define IDWriteFactory6_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) 13395 #define IDWriteFactory6_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) 13396 #define IDWriteFactory6_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) 13397 #define IDWriteFactory6_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) 13398 /*** IDWriteFactory6 methods ***/ 13399 #define IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref) (This)->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref) 13400 #define IDWriteFactory6_CreateFontResource(This,file,face_index,resource) (This)->lpVtbl->CreateFontResource(This,file,face_index,resource) 13401 #define IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset) (This)->lpVtbl->IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset) 13402 #define IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection) (This)->lpVtbl->IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection) 13403 #define IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) 13404 #define IDWriteFactory6_CreateFontSetBuilder(This,builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder) 13405 #define IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format) (This)->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format) 13406 #else 13407 /*** IUnknown methods ***/ 13408 static inline HRESULT IDWriteFactory6_QueryInterface(IDWriteFactory6* This,REFIID riid,void **ppvObject) { 13409 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13410 } 13411 static inline ULONG IDWriteFactory6_AddRef(IDWriteFactory6* This) { 13412 return This->lpVtbl->AddRef(This); 13413 } 13414 static inline ULONG IDWriteFactory6_Release(IDWriteFactory6* This) { 13415 return This->lpVtbl->Release(This); 13416 } 13417 /*** IDWriteFactory methods ***/ 13418 static inline HRESULT IDWriteFactory6_CreateCustomFontCollection(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 13419 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 13420 } 13421 static inline HRESULT IDWriteFactory6_RegisterFontCollectionLoader(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader) { 13422 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 13423 } 13424 static inline HRESULT IDWriteFactory6_UnregisterFontCollectionLoader(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader) { 13425 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 13426 } 13427 static inline HRESULT IDWriteFactory6_CreateFontFileReference(IDWriteFactory6* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 13428 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 13429 } 13430 static inline HRESULT IDWriteFactory6_CreateCustomFontFileReference(IDWriteFactory6* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 13431 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 13432 } 13433 static inline HRESULT IDWriteFactory6_CreateFontFace(IDWriteFactory6* This,DWRITE_FONT_FACE_TYPE facetype,UINT32 files_number,IDWriteFontFile *const *font_files,UINT32 index,DWRITE_FONT_SIMULATIONS sim_flags,IDWriteFontFace **font_face) { 13434 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 13435 } 13436 static inline HRESULT IDWriteFactory6_CreateRenderingParams(IDWriteFactory6* This,IDWriteRenderingParams **params) { 13437 return This->lpVtbl->CreateRenderingParams(This,params); 13438 } 13439 static inline HRESULT IDWriteFactory6_CreateMonitorRenderingParams(IDWriteFactory6* This,HMONITOR monitor,IDWriteRenderingParams **params) { 13440 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 13441 } 13442 static inline HRESULT IDWriteFactory6_RegisterFontFileLoader(IDWriteFactory6* This,IDWriteFontFileLoader *loader) { 13443 return This->lpVtbl->RegisterFontFileLoader(This,loader); 13444 } 13445 static inline HRESULT IDWriteFactory6_UnregisterFontFileLoader(IDWriteFactory6* This,IDWriteFontFileLoader *loader) { 13446 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 13447 } 13448 static inline HRESULT IDWriteFactory6_CreateTypography(IDWriteFactory6* This,IDWriteTypography **typography) { 13449 return This->lpVtbl->CreateTypography(This,typography); 13450 } 13451 static inline HRESULT IDWriteFactory6_GetGdiInterop(IDWriteFactory6* This,IDWriteGdiInterop **gdi_interop) { 13452 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 13453 } 13454 static inline HRESULT IDWriteFactory6_CreateTextLayout(IDWriteFactory6* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 13455 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 13456 } 13457 static inline HRESULT IDWriteFactory6_CreateGdiCompatibleTextLayout(IDWriteFactory6* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT layout_width,FLOAT layout_height,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,IDWriteTextLayout **layout) { 13458 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 13459 } 13460 static inline HRESULT IDWriteFactory6_CreateEllipsisTrimmingSign(IDWriteFactory6* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 13461 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 13462 } 13463 static inline HRESULT IDWriteFactory6_CreateTextAnalyzer(IDWriteFactory6* This,IDWriteTextAnalyzer **analyzer) { 13464 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 13465 } 13466 static inline HRESULT IDWriteFactory6_CreateNumberSubstitution(IDWriteFactory6* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 13467 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 13468 } 13469 /*** IDWriteFactory1 methods ***/ 13470 static inline HRESULT IDWriteFactory6_GetEudcFontCollection(IDWriteFactory6* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 13471 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 13472 } 13473 /*** IDWriteFactory2 methods ***/ 13474 static inline HRESULT IDWriteFactory6_GetSystemFontFallback(IDWriteFactory6* This,IDWriteFontFallback **fallback) { 13475 return This->lpVtbl->GetSystemFontFallback(This,fallback); 13476 } 13477 static inline HRESULT IDWriteFactory6_CreateFontFallbackBuilder(IDWriteFactory6* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 13478 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 13479 } 13480 /*** IDWriteFactory3 methods ***/ 13481 static inline HRESULT IDWriteFactory6_CreateGlyphRunAnalysis(IDWriteFactory6* This,const DWRITE_GLYPH_RUN *run,const DWRITE_MATRIX *transform,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_MEASURING_MODE measuring_mode,DWRITE_GRID_FIT_MODE gridfit_mode,DWRITE_TEXT_ANTIALIAS_MODE antialias_mode,FLOAT origin_x,FLOAT origin_y,IDWriteGlyphRunAnalysis **analysis) { 13482 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 13483 } 13484 static inline HRESULT IDWriteFactory6_CreateCustomRenderingParams(IDWriteFactory6* This,FLOAT gamma,FLOAT enhanced_contrast,FLOAT grayscale_enhanced_contrast,FLOAT cleartype_level,DWRITE_PIXEL_GEOMETRY pixel_geometry,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_GRID_FIT_MODE gridfit_mode,IDWriteRenderingParams3 **params) { 13485 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 13486 } 13487 static inline HRESULT IDWriteFactory6_CreateFontFaceReference_(IDWriteFactory6* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 13488 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 13489 } 13490 static inline HRESULT IDWriteFactory6_GetFontDownloadQueue(IDWriteFactory6* This,IDWriteFontDownloadQueue **queue) { 13491 return This->lpVtbl->GetFontDownloadQueue(This,queue); 13492 } 13493 /*** IDWriteFactory4 methods ***/ 13494 static inline HRESULT IDWriteFactory6_TranslateColorGlyphRun(IDWriteFactory6* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *run,const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc,DWRITE_GLYPH_IMAGE_FORMATS desired_formats,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_MATRIX *transform,UINT32 palette,IDWriteColorGlyphRunEnumerator1 **layers) { 13495 return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); 13496 } 13497 static inline HRESULT IDWriteFactory6_ComputeGlyphOrigins_(IDWriteFactory6* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 13498 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 13499 } 13500 static inline HRESULT IDWriteFactory6_ComputeGlyphOrigins(IDWriteFactory6* This,const DWRITE_GLYPH_RUN *run,DWRITE_MEASURING_MODE measuring_mode,D2D1_POINT_2F baseline_origin,const DWRITE_MATRIX *transform,D2D1_POINT_2F *origins) { 13501 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 13502 } 13503 /*** IDWriteFactory5 methods ***/ 13504 static inline HRESULT IDWriteFactory6_CreateInMemoryFontFileLoader(IDWriteFactory6* This,IDWriteInMemoryFontFileLoader **loader) { 13505 return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); 13506 } 13507 static inline HRESULT IDWriteFactory6_CreateHttpFontFileLoader(IDWriteFactory6* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { 13508 return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); 13509 } 13510 static inline DWRITE_CONTAINER_TYPE IDWriteFactory6_AnalyzeContainerType(IDWriteFactory6* This,const void *data,UINT32 data_size) { 13511 return This->lpVtbl->AnalyzeContainerType(This,data,data_size); 13512 } 13513 static inline HRESULT IDWriteFactory6_UnpackFontFile(IDWriteFactory6* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { 13514 return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); 13515 } 13516 /*** IDWriteFactory6 methods ***/ 13517 static inline HRESULT IDWriteFactory6_CreateFontFaceReference(IDWriteFactory6* This,IDWriteFontFile *file,UINT32 face_index,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_axis,IDWriteFontFaceReference1 **face_ref) { 13518 return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref); 13519 } 13520 static inline HRESULT IDWriteFactory6_CreateFontResource(IDWriteFactory6* This,IDWriteFontFile *file,UINT32 face_index,IDWriteFontResource **resource) { 13521 return This->lpVtbl->CreateFontResource(This,file,face_index,resource); 13522 } 13523 static inline HRESULT IDWriteFactory6_GetSystemFontSet(IDWriteFactory6* This,WINBOOL include_downloadable,IDWriteFontSet1 **fontset) { 13524 return This->lpVtbl->IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset); 13525 } 13526 static inline HRESULT IDWriteFactory6_GetSystemFontCollection(IDWriteFactory6* This,WINBOOL include_downloadable,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { 13527 return This->lpVtbl->IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection); 13528 } 13529 static inline HRESULT IDWriteFactory6_CreateFontCollectionFromFontSet(IDWriteFactory6* This,IDWriteFontSet *fontset,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { 13530 return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection); 13531 } 13532 static inline HRESULT IDWriteFactory6_CreateFontSetBuilder(IDWriteFactory6* This,IDWriteFontSetBuilder2 **builder) { 13533 return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder); 13534 } 13535 static inline HRESULT IDWriteFactory6_CreateTextFormat(IDWriteFactory6* This,const WCHAR *familyname,IDWriteFontCollection *collection,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_axis,FLOAT fontsize,const WCHAR *localename,IDWriteTextFormat3 **format) { 13536 return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format); 13537 } 13538 #endif 13539 #endif 13540 13541 #endif 13542 13543 13544 #endif /* __IDWriteFactory6_INTERFACE_DEFINED__ */ 13545 13546 /***************************************************************************** 13547 * IDWriteFactory7 interface 13548 */ 13549 #ifndef __IDWriteFactory7_INTERFACE_DEFINED__ 13550 #define __IDWriteFactory7_INTERFACE_DEFINED__ 13551 13552 DEFINE_GUID(IID_IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0,0x16, 0xa9,0x1b,0x56,0x8a,0x06,0xb4); 13553 #if defined(__cplusplus) && !defined(CINTERFACE) 13554 MIDL_INTERFACE("35d0e0b3-9076-4d2e-a016-a91b568a06b4") 13555 IDWriteFactory7 : public IDWriteFactory6 13556 { 13557 virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( 13558 WINBOOL include_downloadable, 13559 IDWriteFontSet2 **fontset) = 0; 13560 13561 virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( 13562 WINBOOL include_downloadable, 13563 DWRITE_FONT_FAMILY_MODEL family_model, 13564 IDWriteFontCollection3 **collection) = 0; 13565 13566 }; 13567 #ifdef __CRT_UUID_DECL 13568 __CRT_UUID_DECL(IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0,0x16, 0xa9,0x1b,0x56,0x8a,0x06,0xb4) 13569 #endif 13570 #else 13571 typedef struct IDWriteFactory7Vtbl { 13572 BEGIN_INTERFACE 13573 13574 /*** IUnknown methods ***/ 13575 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13576 IDWriteFactory7 *This, 13577 REFIID riid, 13578 void **ppvObject); 13579 13580 ULONG (STDMETHODCALLTYPE *AddRef)( 13581 IDWriteFactory7 *This); 13582 13583 ULONG (STDMETHODCALLTYPE *Release)( 13584 IDWriteFactory7 *This); 13585 13586 /*** IDWriteFactory methods ***/ 13587 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 13588 IDWriteFactory7 *This, 13589 IDWriteFontCollection **collection, 13590 WINBOOL check_for_updates); 13591 13592 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 13593 IDWriteFactory7 *This, 13594 IDWriteFontCollectionLoader *loader, 13595 const void *key, 13596 UINT32 key_size, 13597 IDWriteFontCollection **collection); 13598 13599 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 13600 IDWriteFactory7 *This, 13601 IDWriteFontCollectionLoader *loader); 13602 13603 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 13604 IDWriteFactory7 *This, 13605 IDWriteFontCollectionLoader *loader); 13606 13607 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 13608 IDWriteFactory7 *This, 13609 const WCHAR *path, 13610 const FILETIME *writetime, 13611 IDWriteFontFile **font_file); 13612 13613 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 13614 IDWriteFactory7 *This, 13615 const void *reference_key, 13616 UINT32 key_size, 13617 IDWriteFontFileLoader *loader, 13618 IDWriteFontFile **font_file); 13619 13620 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 13621 IDWriteFactory7 *This, 13622 DWRITE_FONT_FACE_TYPE facetype, 13623 UINT32 files_number, 13624 IDWriteFontFile *const *font_files, 13625 UINT32 index, 13626 DWRITE_FONT_SIMULATIONS sim_flags, 13627 IDWriteFontFace **font_face); 13628 13629 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 13630 IDWriteFactory7 *This, 13631 IDWriteRenderingParams **params); 13632 13633 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 13634 IDWriteFactory7 *This, 13635 HMONITOR monitor, 13636 IDWriteRenderingParams **params); 13637 13638 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 13639 IDWriteFactory7 *This, 13640 FLOAT gamma, 13641 FLOAT enhancedContrast, 13642 FLOAT cleartype_level, 13643 DWRITE_PIXEL_GEOMETRY geometry, 13644 DWRITE_RENDERING_MODE mode, 13645 IDWriteRenderingParams **params); 13646 13647 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 13648 IDWriteFactory7 *This, 13649 IDWriteFontFileLoader *loader); 13650 13651 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 13652 IDWriteFactory7 *This, 13653 IDWriteFontFileLoader *loader); 13654 13655 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 13656 IDWriteFactory7 *This, 13657 const WCHAR *family_name, 13658 IDWriteFontCollection *collection, 13659 DWRITE_FONT_WEIGHT weight, 13660 DWRITE_FONT_STYLE style, 13661 DWRITE_FONT_STRETCH stretch, 13662 FLOAT size, 13663 const WCHAR *locale, 13664 IDWriteTextFormat **format); 13665 13666 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 13667 IDWriteFactory7 *This, 13668 IDWriteTypography **typography); 13669 13670 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 13671 IDWriteFactory7 *This, 13672 IDWriteGdiInterop **gdi_interop); 13673 13674 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 13675 IDWriteFactory7 *This, 13676 const WCHAR *string, 13677 UINT32 len, 13678 IDWriteTextFormat *format, 13679 FLOAT max_width, 13680 FLOAT max_height, 13681 IDWriteTextLayout **layout); 13682 13683 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 13684 IDWriteFactory7 *This, 13685 const WCHAR *string, 13686 UINT32 len, 13687 IDWriteTextFormat *format, 13688 FLOAT layout_width, 13689 FLOAT layout_height, 13690 FLOAT pixels_per_dip, 13691 const DWRITE_MATRIX *transform, 13692 WINBOOL use_gdi_natural, 13693 IDWriteTextLayout **layout); 13694 13695 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 13696 IDWriteFactory7 *This, 13697 IDWriteTextFormat *format, 13698 IDWriteInlineObject **trimming_sign); 13699 13700 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 13701 IDWriteFactory7 *This, 13702 IDWriteTextAnalyzer **analyzer); 13703 13704 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 13705 IDWriteFactory7 *This, 13706 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 13707 const WCHAR *locale, 13708 WINBOOL ignore_user_override, 13709 IDWriteNumberSubstitution **substitution); 13710 13711 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 13712 IDWriteFactory7 *This, 13713 const DWRITE_GLYPH_RUN *glyph_run, 13714 FLOAT pixels_per_dip, 13715 const DWRITE_MATRIX *transform, 13716 DWRITE_RENDERING_MODE rendering_mode, 13717 DWRITE_MEASURING_MODE measuring_mode, 13718 FLOAT baseline_x, 13719 FLOAT baseline_y, 13720 IDWriteGlyphRunAnalysis **analysis); 13721 13722 /*** IDWriteFactory1 methods ***/ 13723 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 13724 IDWriteFactory7 *This, 13725 IDWriteFontCollection **collection, 13726 WINBOOL check_for_updates); 13727 13728 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 13729 IDWriteFactory7 *This, 13730 FLOAT gamma, 13731 FLOAT enhcontrast, 13732 FLOAT enhcontrast_grayscale, 13733 FLOAT cleartype_level, 13734 DWRITE_PIXEL_GEOMETRY geometry, 13735 DWRITE_RENDERING_MODE mode, 13736 IDWriteRenderingParams1 **params); 13737 13738 /*** IDWriteFactory2 methods ***/ 13739 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 13740 IDWriteFactory7 *This, 13741 IDWriteFontFallback **fallback); 13742 13743 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 13744 IDWriteFactory7 *This, 13745 IDWriteFontFallbackBuilder **fallbackbuilder); 13746 13747 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 13748 IDWriteFactory7 *This, 13749 FLOAT originX, 13750 FLOAT originY, 13751 const DWRITE_GLYPH_RUN *run, 13752 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 13753 DWRITE_MEASURING_MODE mode, 13754 const DWRITE_MATRIX *transform, 13755 UINT32 palette_index, 13756 IDWriteColorGlyphRunEnumerator **colorlayers); 13757 13758 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 13759 IDWriteFactory7 *This, 13760 FLOAT gamma, 13761 FLOAT contrast, 13762 FLOAT grayscalecontrast, 13763 FLOAT cleartypeLevel, 13764 DWRITE_PIXEL_GEOMETRY pixelGeometry, 13765 DWRITE_RENDERING_MODE renderingMode, 13766 DWRITE_GRID_FIT_MODE gridFitMode, 13767 IDWriteRenderingParams2 **params); 13768 13769 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 13770 IDWriteFactory7 *This, 13771 const DWRITE_GLYPH_RUN *run, 13772 const DWRITE_MATRIX *transform, 13773 DWRITE_RENDERING_MODE renderingMode, 13774 DWRITE_MEASURING_MODE measuringMode, 13775 DWRITE_GRID_FIT_MODE gridFitMode, 13776 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 13777 FLOAT originX, 13778 FLOAT originY, 13779 IDWriteGlyphRunAnalysis **analysis); 13780 13781 /*** IDWriteFactory3 methods ***/ 13782 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 13783 IDWriteFactory7 *This, 13784 const DWRITE_GLYPH_RUN *run, 13785 const DWRITE_MATRIX *transform, 13786 DWRITE_RENDERING_MODE1 rendering_mode, 13787 DWRITE_MEASURING_MODE measuring_mode, 13788 DWRITE_GRID_FIT_MODE gridfit_mode, 13789 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 13790 FLOAT origin_x, 13791 FLOAT origin_y, 13792 IDWriteGlyphRunAnalysis **analysis); 13793 13794 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 13795 IDWriteFactory7 *This, 13796 FLOAT gamma, 13797 FLOAT enhanced_contrast, 13798 FLOAT grayscale_enhanced_contrast, 13799 FLOAT cleartype_level, 13800 DWRITE_PIXEL_GEOMETRY pixel_geometry, 13801 DWRITE_RENDERING_MODE1 rendering_mode, 13802 DWRITE_GRID_FIT_MODE gridfit_mode, 13803 IDWriteRenderingParams3 **params); 13804 13805 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 13806 IDWriteFactory7 *This, 13807 IDWriteFontFile *file, 13808 UINT32 index, 13809 DWRITE_FONT_SIMULATIONS simulations, 13810 IDWriteFontFaceReference **reference); 13811 13812 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 13813 IDWriteFactory7 *This, 13814 const WCHAR *path, 13815 const FILETIME *writetime, 13816 UINT32 index, 13817 DWRITE_FONT_SIMULATIONS simulations, 13818 IDWriteFontFaceReference **reference); 13819 13820 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 13821 IDWriteFactory7 *This, 13822 IDWriteFontSet **fontset); 13823 13824 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 13825 IDWriteFactory7 *This, 13826 IDWriteFontSetBuilder **builder); 13827 13828 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 13829 IDWriteFactory7 *This, 13830 IDWriteFontSet *fontset, 13831 IDWriteFontCollection1 **collection); 13832 13833 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 13834 IDWriteFactory7 *This, 13835 WINBOOL include_downloadable, 13836 IDWriteFontCollection1 **collection, 13837 WINBOOL check_for_updates); 13838 13839 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 13840 IDWriteFactory7 *This, 13841 IDWriteFontDownloadQueue **queue); 13842 13843 /*** IDWriteFactory4 methods ***/ 13844 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 13845 IDWriteFactory7 *This, 13846 D2D1_POINT_2F baseline_origin, 13847 const DWRITE_GLYPH_RUN *run, 13848 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 13849 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 13850 DWRITE_MEASURING_MODE measuring_mode, 13851 const DWRITE_MATRIX *transform, 13852 UINT32 palette, 13853 IDWriteColorGlyphRunEnumerator1 **layers); 13854 13855 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 13856 IDWriteFactory7 *This, 13857 const DWRITE_GLYPH_RUN *run, 13858 D2D1_POINT_2F baseline_origin, 13859 D2D1_POINT_2F *origins); 13860 13861 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 13862 IDWriteFactory7 *This, 13863 const DWRITE_GLYPH_RUN *run, 13864 DWRITE_MEASURING_MODE measuring_mode, 13865 D2D1_POINT_2F baseline_origin, 13866 const DWRITE_MATRIX *transform, 13867 D2D1_POINT_2F *origins); 13868 13869 /*** IDWriteFactory5 methods ***/ 13870 HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( 13871 IDWriteFactory7 *This, 13872 IDWriteFontSetBuilder1 **fontset_builder); 13873 13874 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( 13875 IDWriteFactory7 *This, 13876 IDWriteInMemoryFontFileLoader **loader); 13877 13878 HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( 13879 IDWriteFactory7 *This, 13880 const WCHAR *referrer_url, 13881 const WCHAR *extra_headers, 13882 IDWriteRemoteFontFileLoader **loader); 13883 13884 DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( 13885 IDWriteFactory7 *This, 13886 const void *data, 13887 UINT32 data_size); 13888 13889 HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( 13890 IDWriteFactory7 *This, 13891 DWRITE_CONTAINER_TYPE container_type, 13892 const void *data, 13893 UINT32 data_size, 13894 IDWriteFontFileStream **stream); 13895 13896 /*** IDWriteFactory6 methods ***/ 13897 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontFaceReference)( 13898 IDWriteFactory7 *This, 13899 IDWriteFontFile *file, 13900 UINT32 face_index, 13901 DWRITE_FONT_SIMULATIONS simulations, 13902 const DWRITE_FONT_AXIS_VALUE *axis_values, 13903 UINT32 num_axis, 13904 IDWriteFontFaceReference1 **face_ref); 13905 13906 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 13907 IDWriteFactory7 *This, 13908 IDWriteFontFile *file, 13909 UINT32 face_index, 13910 IDWriteFontResource **resource); 13911 13912 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( 13913 IDWriteFactory7 *This, 13914 WINBOOL include_downloadable, 13915 IDWriteFontSet1 **fontset); 13916 13917 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontCollection)( 13918 IDWriteFactory7 *This, 13919 WINBOOL include_downloadable, 13920 DWRITE_FONT_FAMILY_MODEL family_model, 13921 IDWriteFontCollection2 **collection); 13922 13923 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontCollectionFromFontSet)( 13924 IDWriteFactory7 *This, 13925 IDWriteFontSet *fontset, 13926 DWRITE_FONT_FAMILY_MODEL family_model, 13927 IDWriteFontCollection2 **collection); 13928 13929 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( 13930 IDWriteFactory7 *This, 13931 IDWriteFontSetBuilder2 **builder); 13932 13933 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateTextFormat)( 13934 IDWriteFactory7 *This, 13935 const WCHAR *familyname, 13936 IDWriteFontCollection *collection, 13937 const DWRITE_FONT_AXIS_VALUE *axis_values, 13938 UINT32 num_axis, 13939 FLOAT fontsize, 13940 const WCHAR *localename, 13941 IDWriteTextFormat3 **format); 13942 13943 /*** IDWriteFactory7 methods ***/ 13944 HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontSet)( 13945 IDWriteFactory7 *This, 13946 WINBOOL include_downloadable, 13947 IDWriteFontSet2 **fontset); 13948 13949 HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontCollection)( 13950 IDWriteFactory7 *This, 13951 WINBOOL include_downloadable, 13952 DWRITE_FONT_FAMILY_MODEL family_model, 13953 IDWriteFontCollection3 **collection); 13954 13955 END_INTERFACE 13956 } IDWriteFactory7Vtbl; 13957 13958 interface IDWriteFactory7 { 13959 CONST_VTBL IDWriteFactory7Vtbl* lpVtbl; 13960 }; 13961 13962 #ifdef COBJMACROS 13963 #ifndef WIDL_C_INLINE_WRAPPERS 13964 /*** IUnknown methods ***/ 13965 #define IDWriteFactory7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13966 #define IDWriteFactory7_AddRef(This) (This)->lpVtbl->AddRef(This) 13967 #define IDWriteFactory7_Release(This) (This)->lpVtbl->Release(This) 13968 /*** IDWriteFactory methods ***/ 13969 #define IDWriteFactory7_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 13970 #define IDWriteFactory7_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 13971 #define IDWriteFactory7_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 13972 #define IDWriteFactory7_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 13973 #define IDWriteFactory7_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 13974 #define IDWriteFactory7_CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) (This)->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) 13975 #define IDWriteFactory7_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 13976 #define IDWriteFactory7_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 13977 #define IDWriteFactory7_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 13978 #define IDWriteFactory7_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 13979 #define IDWriteFactory7_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 13980 #define IDWriteFactory7_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 13981 #define IDWriteFactory7_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 13982 #define IDWriteFactory7_CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) 13983 #define IDWriteFactory7_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 13984 #define IDWriteFactory7_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 13985 #define IDWriteFactory7_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 13986 /*** IDWriteFactory1 methods ***/ 13987 #define IDWriteFactory7_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 13988 /*** IDWriteFactory2 methods ***/ 13989 #define IDWriteFactory7_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 13990 #define IDWriteFactory7_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 13991 /*** IDWriteFactory3 methods ***/ 13992 #define IDWriteFactory7_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) 13993 #define IDWriteFactory7_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) 13994 #define IDWriteFactory7_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 13995 #define IDWriteFactory7_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 13996 /*** IDWriteFactory4 methods ***/ 13997 #define IDWriteFactory7_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers) (This)->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers) 13998 #define IDWriteFactory7_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 13999 #define IDWriteFactory7_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 14000 /*** IDWriteFactory5 methods ***/ 14001 #define IDWriteFactory7_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) 14002 #define IDWriteFactory7_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) 14003 #define IDWriteFactory7_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) 14004 #define IDWriteFactory7_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) 14005 /*** IDWriteFactory6 methods ***/ 14006 #define IDWriteFactory7_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref) (This)->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref) 14007 #define IDWriteFactory7_CreateFontResource(This,file,face_index,resource) (This)->lpVtbl->CreateFontResource(This,file,face_index,resource) 14008 #define IDWriteFactory7_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) 14009 #define IDWriteFactory7_CreateFontSetBuilder(This,builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder) 14010 #define IDWriteFactory7_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format) (This)->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format) 14011 /*** IDWriteFactory7 methods ***/ 14012 #define IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset) (This)->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset) 14013 #define IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection) (This)->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection) 14014 #else 14015 /*** IUnknown methods ***/ 14016 static inline HRESULT IDWriteFactory7_QueryInterface(IDWriteFactory7* This,REFIID riid,void **ppvObject) { 14017 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14018 } 14019 static inline ULONG IDWriteFactory7_AddRef(IDWriteFactory7* This) { 14020 return This->lpVtbl->AddRef(This); 14021 } 14022 static inline ULONG IDWriteFactory7_Release(IDWriteFactory7* This) { 14023 return This->lpVtbl->Release(This); 14024 } 14025 /*** IDWriteFactory methods ***/ 14026 static inline HRESULT IDWriteFactory7_CreateCustomFontCollection(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 14027 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 14028 } 14029 static inline HRESULT IDWriteFactory7_RegisterFontCollectionLoader(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader) { 14030 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 14031 } 14032 static inline HRESULT IDWriteFactory7_UnregisterFontCollectionLoader(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader) { 14033 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 14034 } 14035 static inline HRESULT IDWriteFactory7_CreateFontFileReference(IDWriteFactory7* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 14036 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 14037 } 14038 static inline HRESULT IDWriteFactory7_CreateCustomFontFileReference(IDWriteFactory7* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 14039 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 14040 } 14041 static inline HRESULT IDWriteFactory7_CreateFontFace(IDWriteFactory7* This,DWRITE_FONT_FACE_TYPE facetype,UINT32 files_number,IDWriteFontFile *const *font_files,UINT32 index,DWRITE_FONT_SIMULATIONS sim_flags,IDWriteFontFace **font_face) { 14042 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 14043 } 14044 static inline HRESULT IDWriteFactory7_CreateRenderingParams(IDWriteFactory7* This,IDWriteRenderingParams **params) { 14045 return This->lpVtbl->CreateRenderingParams(This,params); 14046 } 14047 static inline HRESULT IDWriteFactory7_CreateMonitorRenderingParams(IDWriteFactory7* This,HMONITOR monitor,IDWriteRenderingParams **params) { 14048 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 14049 } 14050 static inline HRESULT IDWriteFactory7_RegisterFontFileLoader(IDWriteFactory7* This,IDWriteFontFileLoader *loader) { 14051 return This->lpVtbl->RegisterFontFileLoader(This,loader); 14052 } 14053 static inline HRESULT IDWriteFactory7_UnregisterFontFileLoader(IDWriteFactory7* This,IDWriteFontFileLoader *loader) { 14054 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 14055 } 14056 static inline HRESULT IDWriteFactory7_CreateTypography(IDWriteFactory7* This,IDWriteTypography **typography) { 14057 return This->lpVtbl->CreateTypography(This,typography); 14058 } 14059 static inline HRESULT IDWriteFactory7_GetGdiInterop(IDWriteFactory7* This,IDWriteGdiInterop **gdi_interop) { 14060 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 14061 } 14062 static inline HRESULT IDWriteFactory7_CreateTextLayout(IDWriteFactory7* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 14063 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 14064 } 14065 static inline HRESULT IDWriteFactory7_CreateGdiCompatibleTextLayout(IDWriteFactory7* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT layout_width,FLOAT layout_height,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,IDWriteTextLayout **layout) { 14066 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 14067 } 14068 static inline HRESULT IDWriteFactory7_CreateEllipsisTrimmingSign(IDWriteFactory7* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 14069 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 14070 } 14071 static inline HRESULT IDWriteFactory7_CreateTextAnalyzer(IDWriteFactory7* This,IDWriteTextAnalyzer **analyzer) { 14072 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 14073 } 14074 static inline HRESULT IDWriteFactory7_CreateNumberSubstitution(IDWriteFactory7* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 14075 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 14076 } 14077 /*** IDWriteFactory1 methods ***/ 14078 static inline HRESULT IDWriteFactory7_GetEudcFontCollection(IDWriteFactory7* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 14079 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 14080 } 14081 /*** IDWriteFactory2 methods ***/ 14082 static inline HRESULT IDWriteFactory7_GetSystemFontFallback(IDWriteFactory7* This,IDWriteFontFallback **fallback) { 14083 return This->lpVtbl->GetSystemFontFallback(This,fallback); 14084 } 14085 static inline HRESULT IDWriteFactory7_CreateFontFallbackBuilder(IDWriteFactory7* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 14086 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 14087 } 14088 /*** IDWriteFactory3 methods ***/ 14089 static inline HRESULT IDWriteFactory7_CreateGlyphRunAnalysis(IDWriteFactory7* This,const DWRITE_GLYPH_RUN *run,const DWRITE_MATRIX *transform,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_MEASURING_MODE measuring_mode,DWRITE_GRID_FIT_MODE gridfit_mode,DWRITE_TEXT_ANTIALIAS_MODE antialias_mode,FLOAT origin_x,FLOAT origin_y,IDWriteGlyphRunAnalysis **analysis) { 14090 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 14091 } 14092 static inline HRESULT IDWriteFactory7_CreateCustomRenderingParams(IDWriteFactory7* This,FLOAT gamma,FLOAT enhanced_contrast,FLOAT grayscale_enhanced_contrast,FLOAT cleartype_level,DWRITE_PIXEL_GEOMETRY pixel_geometry,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_GRID_FIT_MODE gridfit_mode,IDWriteRenderingParams3 **params) { 14093 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 14094 } 14095 static inline HRESULT IDWriteFactory7_CreateFontFaceReference_(IDWriteFactory7* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 14096 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 14097 } 14098 static inline HRESULT IDWriteFactory7_GetFontDownloadQueue(IDWriteFactory7* This,IDWriteFontDownloadQueue **queue) { 14099 return This->lpVtbl->GetFontDownloadQueue(This,queue); 14100 } 14101 /*** IDWriteFactory4 methods ***/ 14102 static inline HRESULT IDWriteFactory7_TranslateColorGlyphRun(IDWriteFactory7* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *run,const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc,DWRITE_GLYPH_IMAGE_FORMATS desired_formats,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_MATRIX *transform,UINT32 palette,IDWriteColorGlyphRunEnumerator1 **layers) { 14103 return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); 14104 } 14105 static inline HRESULT IDWriteFactory7_ComputeGlyphOrigins_(IDWriteFactory7* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 14106 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 14107 } 14108 static inline HRESULT IDWriteFactory7_ComputeGlyphOrigins(IDWriteFactory7* This,const DWRITE_GLYPH_RUN *run,DWRITE_MEASURING_MODE measuring_mode,D2D1_POINT_2F baseline_origin,const DWRITE_MATRIX *transform,D2D1_POINT_2F *origins) { 14109 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 14110 } 14111 /*** IDWriteFactory5 methods ***/ 14112 static inline HRESULT IDWriteFactory7_CreateInMemoryFontFileLoader(IDWriteFactory7* This,IDWriteInMemoryFontFileLoader **loader) { 14113 return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); 14114 } 14115 static inline HRESULT IDWriteFactory7_CreateHttpFontFileLoader(IDWriteFactory7* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { 14116 return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); 14117 } 14118 static inline DWRITE_CONTAINER_TYPE IDWriteFactory7_AnalyzeContainerType(IDWriteFactory7* This,const void *data,UINT32 data_size) { 14119 return This->lpVtbl->AnalyzeContainerType(This,data,data_size); 14120 } 14121 static inline HRESULT IDWriteFactory7_UnpackFontFile(IDWriteFactory7* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { 14122 return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); 14123 } 14124 /*** IDWriteFactory6 methods ***/ 14125 static inline HRESULT IDWriteFactory7_CreateFontFaceReference(IDWriteFactory7* This,IDWriteFontFile *file,UINT32 face_index,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_axis,IDWriteFontFaceReference1 **face_ref) { 14126 return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref); 14127 } 14128 static inline HRESULT IDWriteFactory7_CreateFontResource(IDWriteFactory7* This,IDWriteFontFile *file,UINT32 face_index,IDWriteFontResource **resource) { 14129 return This->lpVtbl->CreateFontResource(This,file,face_index,resource); 14130 } 14131 static inline HRESULT IDWriteFactory7_CreateFontCollectionFromFontSet(IDWriteFactory7* This,IDWriteFontSet *fontset,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { 14132 return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection); 14133 } 14134 static inline HRESULT IDWriteFactory7_CreateFontSetBuilder(IDWriteFactory7* This,IDWriteFontSetBuilder2 **builder) { 14135 return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder); 14136 } 14137 static inline HRESULT IDWriteFactory7_CreateTextFormat(IDWriteFactory7* This,const WCHAR *familyname,IDWriteFontCollection *collection,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_axis,FLOAT fontsize,const WCHAR *localename,IDWriteTextFormat3 **format) { 14138 return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format); 14139 } 14140 /*** IDWriteFactory7 methods ***/ 14141 static inline HRESULT IDWriteFactory7_GetSystemFontSet(IDWriteFactory7* This,WINBOOL include_downloadable,IDWriteFontSet2 **fontset) { 14142 return This->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset); 14143 } 14144 static inline HRESULT IDWriteFactory7_GetSystemFontCollection(IDWriteFactory7* This,WINBOOL include_downloadable,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection3 **collection) { 14145 return This->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection); 14146 } 14147 #endif 14148 #endif 14149 14150 #endif 14151 14152 14153 #endif /* __IDWriteFactory7_INTERFACE_DEFINED__ */ 14154 14155 /***************************************************************************** 14156 * IDWriteFactory8 interface 14157 */ 14158 #ifndef __IDWriteFactory8_INTERFACE_DEFINED__ 14159 #define __IDWriteFactory8_INTERFACE_DEFINED__ 14160 14161 DEFINE_GUID(IID_IDWriteFactory8, 0xee0a7fb5, 0xdef4, 0x4c23, 0xa4,0x54, 0xc9,0xc7,0xdc,0x87,0x83,0x98); 14162 #if defined(__cplusplus) && !defined(CINTERFACE) 14163 MIDL_INTERFACE("ee0a7fb5-def4-4c23-a454-c9c7dc878398") 14164 IDWriteFactory8 : public IDWriteFactory7 14165 { 14166 virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun( 14167 D2D1_POINT_2F origin, 14168 const DWRITE_GLYPH_RUN *glyph_run, 14169 const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, 14170 DWRITE_GLYPH_IMAGE_FORMATS image_formats, 14171 DWRITE_PAINT_FEATURE_LEVEL feature_level, 14172 DWRITE_MEASURING_MODE measuring_mode, 14173 const DWRITE_MATRIX *world_and_dpi_transform, 14174 UINT32 palette_index, 14175 IDWriteColorGlyphRunEnumerator1 **enumerator) = 0; 14176 14177 }; 14178 #ifdef __CRT_UUID_DECL 14179 __CRT_UUID_DECL(IDWriteFactory8, 0xee0a7fb5, 0xdef4, 0x4c23, 0xa4,0x54, 0xc9,0xc7,0xdc,0x87,0x83,0x98) 14180 #endif 14181 #else 14182 typedef struct IDWriteFactory8Vtbl { 14183 BEGIN_INTERFACE 14184 14185 /*** IUnknown methods ***/ 14186 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14187 IDWriteFactory8 *This, 14188 REFIID riid, 14189 void **ppvObject); 14190 14191 ULONG (STDMETHODCALLTYPE *AddRef)( 14192 IDWriteFactory8 *This); 14193 14194 ULONG (STDMETHODCALLTYPE *Release)( 14195 IDWriteFactory8 *This); 14196 14197 /*** IDWriteFactory methods ***/ 14198 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 14199 IDWriteFactory8 *This, 14200 IDWriteFontCollection **collection, 14201 WINBOOL check_for_updates); 14202 14203 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 14204 IDWriteFactory8 *This, 14205 IDWriteFontCollectionLoader *loader, 14206 const void *key, 14207 UINT32 key_size, 14208 IDWriteFontCollection **collection); 14209 14210 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 14211 IDWriteFactory8 *This, 14212 IDWriteFontCollectionLoader *loader); 14213 14214 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 14215 IDWriteFactory8 *This, 14216 IDWriteFontCollectionLoader *loader); 14217 14218 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 14219 IDWriteFactory8 *This, 14220 const WCHAR *path, 14221 const FILETIME *writetime, 14222 IDWriteFontFile **font_file); 14223 14224 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 14225 IDWriteFactory8 *This, 14226 const void *reference_key, 14227 UINT32 key_size, 14228 IDWriteFontFileLoader *loader, 14229 IDWriteFontFile **font_file); 14230 14231 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 14232 IDWriteFactory8 *This, 14233 DWRITE_FONT_FACE_TYPE facetype, 14234 UINT32 files_number, 14235 IDWriteFontFile *const *font_files, 14236 UINT32 index, 14237 DWRITE_FONT_SIMULATIONS sim_flags, 14238 IDWriteFontFace **font_face); 14239 14240 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 14241 IDWriteFactory8 *This, 14242 IDWriteRenderingParams **params); 14243 14244 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 14245 IDWriteFactory8 *This, 14246 HMONITOR monitor, 14247 IDWriteRenderingParams **params); 14248 14249 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 14250 IDWriteFactory8 *This, 14251 FLOAT gamma, 14252 FLOAT enhancedContrast, 14253 FLOAT cleartype_level, 14254 DWRITE_PIXEL_GEOMETRY geometry, 14255 DWRITE_RENDERING_MODE mode, 14256 IDWriteRenderingParams **params); 14257 14258 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 14259 IDWriteFactory8 *This, 14260 IDWriteFontFileLoader *loader); 14261 14262 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 14263 IDWriteFactory8 *This, 14264 IDWriteFontFileLoader *loader); 14265 14266 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 14267 IDWriteFactory8 *This, 14268 const WCHAR *family_name, 14269 IDWriteFontCollection *collection, 14270 DWRITE_FONT_WEIGHT weight, 14271 DWRITE_FONT_STYLE style, 14272 DWRITE_FONT_STRETCH stretch, 14273 FLOAT size, 14274 const WCHAR *locale, 14275 IDWriteTextFormat **format); 14276 14277 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 14278 IDWriteFactory8 *This, 14279 IDWriteTypography **typography); 14280 14281 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 14282 IDWriteFactory8 *This, 14283 IDWriteGdiInterop **gdi_interop); 14284 14285 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 14286 IDWriteFactory8 *This, 14287 const WCHAR *string, 14288 UINT32 len, 14289 IDWriteTextFormat *format, 14290 FLOAT max_width, 14291 FLOAT max_height, 14292 IDWriteTextLayout **layout); 14293 14294 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 14295 IDWriteFactory8 *This, 14296 const WCHAR *string, 14297 UINT32 len, 14298 IDWriteTextFormat *format, 14299 FLOAT layout_width, 14300 FLOAT layout_height, 14301 FLOAT pixels_per_dip, 14302 const DWRITE_MATRIX *transform, 14303 WINBOOL use_gdi_natural, 14304 IDWriteTextLayout **layout); 14305 14306 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 14307 IDWriteFactory8 *This, 14308 IDWriteTextFormat *format, 14309 IDWriteInlineObject **trimming_sign); 14310 14311 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 14312 IDWriteFactory8 *This, 14313 IDWriteTextAnalyzer **analyzer); 14314 14315 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 14316 IDWriteFactory8 *This, 14317 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 14318 const WCHAR *locale, 14319 WINBOOL ignore_user_override, 14320 IDWriteNumberSubstitution **substitution); 14321 14322 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 14323 IDWriteFactory8 *This, 14324 const DWRITE_GLYPH_RUN *glyph_run, 14325 FLOAT pixels_per_dip, 14326 const DWRITE_MATRIX *transform, 14327 DWRITE_RENDERING_MODE rendering_mode, 14328 DWRITE_MEASURING_MODE measuring_mode, 14329 FLOAT baseline_x, 14330 FLOAT baseline_y, 14331 IDWriteGlyphRunAnalysis **analysis); 14332 14333 /*** IDWriteFactory1 methods ***/ 14334 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 14335 IDWriteFactory8 *This, 14336 IDWriteFontCollection **collection, 14337 WINBOOL check_for_updates); 14338 14339 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 14340 IDWriteFactory8 *This, 14341 FLOAT gamma, 14342 FLOAT enhcontrast, 14343 FLOAT enhcontrast_grayscale, 14344 FLOAT cleartype_level, 14345 DWRITE_PIXEL_GEOMETRY geometry, 14346 DWRITE_RENDERING_MODE mode, 14347 IDWriteRenderingParams1 **params); 14348 14349 /*** IDWriteFactory2 methods ***/ 14350 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 14351 IDWriteFactory8 *This, 14352 IDWriteFontFallback **fallback); 14353 14354 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 14355 IDWriteFactory8 *This, 14356 IDWriteFontFallbackBuilder **fallbackbuilder); 14357 14358 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 14359 IDWriteFactory8 *This, 14360 FLOAT originX, 14361 FLOAT originY, 14362 const DWRITE_GLYPH_RUN *run, 14363 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 14364 DWRITE_MEASURING_MODE mode, 14365 const DWRITE_MATRIX *transform, 14366 UINT32 palette_index, 14367 IDWriteColorGlyphRunEnumerator **colorlayers); 14368 14369 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 14370 IDWriteFactory8 *This, 14371 FLOAT gamma, 14372 FLOAT contrast, 14373 FLOAT grayscalecontrast, 14374 FLOAT cleartypeLevel, 14375 DWRITE_PIXEL_GEOMETRY pixelGeometry, 14376 DWRITE_RENDERING_MODE renderingMode, 14377 DWRITE_GRID_FIT_MODE gridFitMode, 14378 IDWriteRenderingParams2 **params); 14379 14380 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 14381 IDWriteFactory8 *This, 14382 const DWRITE_GLYPH_RUN *run, 14383 const DWRITE_MATRIX *transform, 14384 DWRITE_RENDERING_MODE renderingMode, 14385 DWRITE_MEASURING_MODE measuringMode, 14386 DWRITE_GRID_FIT_MODE gridFitMode, 14387 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 14388 FLOAT originX, 14389 FLOAT originY, 14390 IDWriteGlyphRunAnalysis **analysis); 14391 14392 /*** IDWriteFactory3 methods ***/ 14393 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 14394 IDWriteFactory8 *This, 14395 const DWRITE_GLYPH_RUN *run, 14396 const DWRITE_MATRIX *transform, 14397 DWRITE_RENDERING_MODE1 rendering_mode, 14398 DWRITE_MEASURING_MODE measuring_mode, 14399 DWRITE_GRID_FIT_MODE gridfit_mode, 14400 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 14401 FLOAT origin_x, 14402 FLOAT origin_y, 14403 IDWriteGlyphRunAnalysis **analysis); 14404 14405 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 14406 IDWriteFactory8 *This, 14407 FLOAT gamma, 14408 FLOAT enhanced_contrast, 14409 FLOAT grayscale_enhanced_contrast, 14410 FLOAT cleartype_level, 14411 DWRITE_PIXEL_GEOMETRY pixel_geometry, 14412 DWRITE_RENDERING_MODE1 rendering_mode, 14413 DWRITE_GRID_FIT_MODE gridfit_mode, 14414 IDWriteRenderingParams3 **params); 14415 14416 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 14417 IDWriteFactory8 *This, 14418 IDWriteFontFile *file, 14419 UINT32 index, 14420 DWRITE_FONT_SIMULATIONS simulations, 14421 IDWriteFontFaceReference **reference); 14422 14423 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 14424 IDWriteFactory8 *This, 14425 const WCHAR *path, 14426 const FILETIME *writetime, 14427 UINT32 index, 14428 DWRITE_FONT_SIMULATIONS simulations, 14429 IDWriteFontFaceReference **reference); 14430 14431 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 14432 IDWriteFactory8 *This, 14433 IDWriteFontSet **fontset); 14434 14435 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 14436 IDWriteFactory8 *This, 14437 IDWriteFontSetBuilder **builder); 14438 14439 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 14440 IDWriteFactory8 *This, 14441 IDWriteFontSet *fontset, 14442 IDWriteFontCollection1 **collection); 14443 14444 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 14445 IDWriteFactory8 *This, 14446 WINBOOL include_downloadable, 14447 IDWriteFontCollection1 **collection, 14448 WINBOOL check_for_updates); 14449 14450 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 14451 IDWriteFactory8 *This, 14452 IDWriteFontDownloadQueue **queue); 14453 14454 /*** IDWriteFactory4 methods ***/ 14455 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 14456 IDWriteFactory8 *This, 14457 D2D1_POINT_2F baseline_origin, 14458 const DWRITE_GLYPH_RUN *run, 14459 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 14460 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 14461 DWRITE_MEASURING_MODE measuring_mode, 14462 const DWRITE_MATRIX *transform, 14463 UINT32 palette, 14464 IDWriteColorGlyphRunEnumerator1 **layers); 14465 14466 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 14467 IDWriteFactory8 *This, 14468 const DWRITE_GLYPH_RUN *run, 14469 D2D1_POINT_2F baseline_origin, 14470 D2D1_POINT_2F *origins); 14471 14472 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 14473 IDWriteFactory8 *This, 14474 const DWRITE_GLYPH_RUN *run, 14475 DWRITE_MEASURING_MODE measuring_mode, 14476 D2D1_POINT_2F baseline_origin, 14477 const DWRITE_MATRIX *transform, 14478 D2D1_POINT_2F *origins); 14479 14480 /*** IDWriteFactory5 methods ***/ 14481 HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( 14482 IDWriteFactory8 *This, 14483 IDWriteFontSetBuilder1 **fontset_builder); 14484 14485 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( 14486 IDWriteFactory8 *This, 14487 IDWriteInMemoryFontFileLoader **loader); 14488 14489 HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( 14490 IDWriteFactory8 *This, 14491 const WCHAR *referrer_url, 14492 const WCHAR *extra_headers, 14493 IDWriteRemoteFontFileLoader **loader); 14494 14495 DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( 14496 IDWriteFactory8 *This, 14497 const void *data, 14498 UINT32 data_size); 14499 14500 HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( 14501 IDWriteFactory8 *This, 14502 DWRITE_CONTAINER_TYPE container_type, 14503 const void *data, 14504 UINT32 data_size, 14505 IDWriteFontFileStream **stream); 14506 14507 /*** IDWriteFactory6 methods ***/ 14508 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontFaceReference)( 14509 IDWriteFactory8 *This, 14510 IDWriteFontFile *file, 14511 UINT32 face_index, 14512 DWRITE_FONT_SIMULATIONS simulations, 14513 const DWRITE_FONT_AXIS_VALUE *axis_values, 14514 UINT32 num_axis, 14515 IDWriteFontFaceReference1 **face_ref); 14516 14517 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 14518 IDWriteFactory8 *This, 14519 IDWriteFontFile *file, 14520 UINT32 face_index, 14521 IDWriteFontResource **resource); 14522 14523 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( 14524 IDWriteFactory8 *This, 14525 WINBOOL include_downloadable, 14526 IDWriteFontSet1 **fontset); 14527 14528 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontCollection)( 14529 IDWriteFactory8 *This, 14530 WINBOOL include_downloadable, 14531 DWRITE_FONT_FAMILY_MODEL family_model, 14532 IDWriteFontCollection2 **collection); 14533 14534 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontCollectionFromFontSet)( 14535 IDWriteFactory8 *This, 14536 IDWriteFontSet *fontset, 14537 DWRITE_FONT_FAMILY_MODEL family_model, 14538 IDWriteFontCollection2 **collection); 14539 14540 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( 14541 IDWriteFactory8 *This, 14542 IDWriteFontSetBuilder2 **builder); 14543 14544 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateTextFormat)( 14545 IDWriteFactory8 *This, 14546 const WCHAR *familyname, 14547 IDWriteFontCollection *collection, 14548 const DWRITE_FONT_AXIS_VALUE *axis_values, 14549 UINT32 num_axis, 14550 FLOAT fontsize, 14551 const WCHAR *localename, 14552 IDWriteTextFormat3 **format); 14553 14554 /*** IDWriteFactory7 methods ***/ 14555 HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontSet)( 14556 IDWriteFactory8 *This, 14557 WINBOOL include_downloadable, 14558 IDWriteFontSet2 **fontset); 14559 14560 HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontCollection)( 14561 IDWriteFactory8 *This, 14562 WINBOOL include_downloadable, 14563 DWRITE_FONT_FAMILY_MODEL family_model, 14564 IDWriteFontCollection3 **collection); 14565 14566 /*** IDWriteFactory8 methods ***/ 14567 HRESULT (STDMETHODCALLTYPE *IDWriteFactory8_TranslateColorGlyphRun)( 14568 IDWriteFactory8 *This, 14569 D2D1_POINT_2F origin, 14570 const DWRITE_GLYPH_RUN *glyph_run, 14571 const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, 14572 DWRITE_GLYPH_IMAGE_FORMATS image_formats, 14573 DWRITE_PAINT_FEATURE_LEVEL feature_level, 14574 DWRITE_MEASURING_MODE measuring_mode, 14575 const DWRITE_MATRIX *world_and_dpi_transform, 14576 UINT32 palette_index, 14577 IDWriteColorGlyphRunEnumerator1 **enumerator); 14578 14579 END_INTERFACE 14580 } IDWriteFactory8Vtbl; 14581 14582 interface IDWriteFactory8 { 14583 CONST_VTBL IDWriteFactory8Vtbl* lpVtbl; 14584 }; 14585 14586 #ifdef COBJMACROS 14587 #ifndef WIDL_C_INLINE_WRAPPERS 14588 /*** IUnknown methods ***/ 14589 #define IDWriteFactory8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14590 #define IDWriteFactory8_AddRef(This) (This)->lpVtbl->AddRef(This) 14591 #define IDWriteFactory8_Release(This) (This)->lpVtbl->Release(This) 14592 /*** IDWriteFactory methods ***/ 14593 #define IDWriteFactory8_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 14594 #define IDWriteFactory8_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 14595 #define IDWriteFactory8_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 14596 #define IDWriteFactory8_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 14597 #define IDWriteFactory8_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 14598 #define IDWriteFactory8_CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) (This)->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) 14599 #define IDWriteFactory8_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 14600 #define IDWriteFactory8_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 14601 #define IDWriteFactory8_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 14602 #define IDWriteFactory8_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 14603 #define IDWriteFactory8_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 14604 #define IDWriteFactory8_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 14605 #define IDWriteFactory8_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 14606 #define IDWriteFactory8_CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) 14607 #define IDWriteFactory8_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 14608 #define IDWriteFactory8_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 14609 #define IDWriteFactory8_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 14610 /*** IDWriteFactory1 methods ***/ 14611 #define IDWriteFactory8_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 14612 /*** IDWriteFactory2 methods ***/ 14613 #define IDWriteFactory8_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 14614 #define IDWriteFactory8_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 14615 /*** IDWriteFactory3 methods ***/ 14616 #define IDWriteFactory8_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) 14617 #define IDWriteFactory8_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) 14618 #define IDWriteFactory8_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 14619 #define IDWriteFactory8_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 14620 /*** IDWriteFactory4 methods ***/ 14621 #define IDWriteFactory8_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 14622 #define IDWriteFactory8_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 14623 /*** IDWriteFactory5 methods ***/ 14624 #define IDWriteFactory8_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) 14625 #define IDWriteFactory8_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) 14626 #define IDWriteFactory8_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) 14627 #define IDWriteFactory8_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) 14628 /*** IDWriteFactory6 methods ***/ 14629 #define IDWriteFactory8_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref) (This)->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref) 14630 #define IDWriteFactory8_CreateFontResource(This,file,face_index,resource) (This)->lpVtbl->CreateFontResource(This,file,face_index,resource) 14631 #define IDWriteFactory8_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) 14632 #define IDWriteFactory8_CreateFontSetBuilder(This,builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder) 14633 #define IDWriteFactory8_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format) (This)->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format) 14634 /*** IDWriteFactory7 methods ***/ 14635 #define IDWriteFactory8_GetSystemFontSet(This,include_downloadable,fontset) (This)->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset) 14636 #define IDWriteFactory8_GetSystemFontCollection(This,include_downloadable,family_model,collection) (This)->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection) 14637 /*** IDWriteFactory8 methods ***/ 14638 #define IDWriteFactory8_TranslateColorGlyphRun(This,origin,glyph_run,glyph_run_desc,image_formats,feature_level,measuring_mode,world_and_dpi_transform,palette_index,enumerator) (This)->lpVtbl->IDWriteFactory8_TranslateColorGlyphRun(This,origin,glyph_run,glyph_run_desc,image_formats,feature_level,measuring_mode,world_and_dpi_transform,palette_index,enumerator) 14639 #else 14640 /*** IUnknown methods ***/ 14641 static inline HRESULT IDWriteFactory8_QueryInterface(IDWriteFactory8* This,REFIID riid,void **ppvObject) { 14642 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14643 } 14644 static inline ULONG IDWriteFactory8_AddRef(IDWriteFactory8* This) { 14645 return This->lpVtbl->AddRef(This); 14646 } 14647 static inline ULONG IDWriteFactory8_Release(IDWriteFactory8* This) { 14648 return This->lpVtbl->Release(This); 14649 } 14650 /*** IDWriteFactory methods ***/ 14651 static inline HRESULT IDWriteFactory8_CreateCustomFontCollection(IDWriteFactory8* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 14652 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 14653 } 14654 static inline HRESULT IDWriteFactory8_RegisterFontCollectionLoader(IDWriteFactory8* This,IDWriteFontCollectionLoader *loader) { 14655 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 14656 } 14657 static inline HRESULT IDWriteFactory8_UnregisterFontCollectionLoader(IDWriteFactory8* This,IDWriteFontCollectionLoader *loader) { 14658 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 14659 } 14660 static inline HRESULT IDWriteFactory8_CreateFontFileReference(IDWriteFactory8* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 14661 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 14662 } 14663 static inline HRESULT IDWriteFactory8_CreateCustomFontFileReference(IDWriteFactory8* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 14664 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 14665 } 14666 static inline HRESULT IDWriteFactory8_CreateFontFace(IDWriteFactory8* This,DWRITE_FONT_FACE_TYPE facetype,UINT32 files_number,IDWriteFontFile *const *font_files,UINT32 index,DWRITE_FONT_SIMULATIONS sim_flags,IDWriteFontFace **font_face) { 14667 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 14668 } 14669 static inline HRESULT IDWriteFactory8_CreateRenderingParams(IDWriteFactory8* This,IDWriteRenderingParams **params) { 14670 return This->lpVtbl->CreateRenderingParams(This,params); 14671 } 14672 static inline HRESULT IDWriteFactory8_CreateMonitorRenderingParams(IDWriteFactory8* This,HMONITOR monitor,IDWriteRenderingParams **params) { 14673 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 14674 } 14675 static inline HRESULT IDWriteFactory8_RegisterFontFileLoader(IDWriteFactory8* This,IDWriteFontFileLoader *loader) { 14676 return This->lpVtbl->RegisterFontFileLoader(This,loader); 14677 } 14678 static inline HRESULT IDWriteFactory8_UnregisterFontFileLoader(IDWriteFactory8* This,IDWriteFontFileLoader *loader) { 14679 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 14680 } 14681 static inline HRESULT IDWriteFactory8_CreateTypography(IDWriteFactory8* This,IDWriteTypography **typography) { 14682 return This->lpVtbl->CreateTypography(This,typography); 14683 } 14684 static inline HRESULT IDWriteFactory8_GetGdiInterop(IDWriteFactory8* This,IDWriteGdiInterop **gdi_interop) { 14685 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 14686 } 14687 static inline HRESULT IDWriteFactory8_CreateTextLayout(IDWriteFactory8* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 14688 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 14689 } 14690 static inline HRESULT IDWriteFactory8_CreateGdiCompatibleTextLayout(IDWriteFactory8* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT layout_width,FLOAT layout_height,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,IDWriteTextLayout **layout) { 14691 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 14692 } 14693 static inline HRESULT IDWriteFactory8_CreateEllipsisTrimmingSign(IDWriteFactory8* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 14694 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 14695 } 14696 static inline HRESULT IDWriteFactory8_CreateTextAnalyzer(IDWriteFactory8* This,IDWriteTextAnalyzer **analyzer) { 14697 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 14698 } 14699 static inline HRESULT IDWriteFactory8_CreateNumberSubstitution(IDWriteFactory8* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 14700 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 14701 } 14702 /*** IDWriteFactory1 methods ***/ 14703 static inline HRESULT IDWriteFactory8_GetEudcFontCollection(IDWriteFactory8* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 14704 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 14705 } 14706 /*** IDWriteFactory2 methods ***/ 14707 static inline HRESULT IDWriteFactory8_GetSystemFontFallback(IDWriteFactory8* This,IDWriteFontFallback **fallback) { 14708 return This->lpVtbl->GetSystemFontFallback(This,fallback); 14709 } 14710 static inline HRESULT IDWriteFactory8_CreateFontFallbackBuilder(IDWriteFactory8* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 14711 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 14712 } 14713 /*** IDWriteFactory3 methods ***/ 14714 static inline HRESULT IDWriteFactory8_CreateGlyphRunAnalysis(IDWriteFactory8* This,const DWRITE_GLYPH_RUN *run,const DWRITE_MATRIX *transform,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_MEASURING_MODE measuring_mode,DWRITE_GRID_FIT_MODE gridfit_mode,DWRITE_TEXT_ANTIALIAS_MODE antialias_mode,FLOAT origin_x,FLOAT origin_y,IDWriteGlyphRunAnalysis **analysis) { 14715 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 14716 } 14717 static inline HRESULT IDWriteFactory8_CreateCustomRenderingParams(IDWriteFactory8* This,FLOAT gamma,FLOAT enhanced_contrast,FLOAT grayscale_enhanced_contrast,FLOAT cleartype_level,DWRITE_PIXEL_GEOMETRY pixel_geometry,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_GRID_FIT_MODE gridfit_mode,IDWriteRenderingParams3 **params) { 14718 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 14719 } 14720 static inline HRESULT IDWriteFactory8_CreateFontFaceReference_(IDWriteFactory8* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 14721 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 14722 } 14723 static inline HRESULT IDWriteFactory8_GetFontDownloadQueue(IDWriteFactory8* This,IDWriteFontDownloadQueue **queue) { 14724 return This->lpVtbl->GetFontDownloadQueue(This,queue); 14725 } 14726 /*** IDWriteFactory4 methods ***/ 14727 static inline HRESULT IDWriteFactory8_ComputeGlyphOrigins_(IDWriteFactory8* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 14728 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 14729 } 14730 static inline HRESULT IDWriteFactory8_ComputeGlyphOrigins(IDWriteFactory8* This,const DWRITE_GLYPH_RUN *run,DWRITE_MEASURING_MODE measuring_mode,D2D1_POINT_2F baseline_origin,const DWRITE_MATRIX *transform,D2D1_POINT_2F *origins) { 14731 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 14732 } 14733 /*** IDWriteFactory5 methods ***/ 14734 static inline HRESULT IDWriteFactory8_CreateInMemoryFontFileLoader(IDWriteFactory8* This,IDWriteInMemoryFontFileLoader **loader) { 14735 return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); 14736 } 14737 static inline HRESULT IDWriteFactory8_CreateHttpFontFileLoader(IDWriteFactory8* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { 14738 return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); 14739 } 14740 static inline DWRITE_CONTAINER_TYPE IDWriteFactory8_AnalyzeContainerType(IDWriteFactory8* This,const void *data,UINT32 data_size) { 14741 return This->lpVtbl->AnalyzeContainerType(This,data,data_size); 14742 } 14743 static inline HRESULT IDWriteFactory8_UnpackFontFile(IDWriteFactory8* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { 14744 return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); 14745 } 14746 /*** IDWriteFactory6 methods ***/ 14747 static inline HRESULT IDWriteFactory8_CreateFontFaceReference(IDWriteFactory8* This,IDWriteFontFile *file,UINT32 face_index,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_axis,IDWriteFontFaceReference1 **face_ref) { 14748 return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref); 14749 } 14750 static inline HRESULT IDWriteFactory8_CreateFontResource(IDWriteFactory8* This,IDWriteFontFile *file,UINT32 face_index,IDWriteFontResource **resource) { 14751 return This->lpVtbl->CreateFontResource(This,file,face_index,resource); 14752 } 14753 static inline HRESULT IDWriteFactory8_CreateFontCollectionFromFontSet(IDWriteFactory8* This,IDWriteFontSet *fontset,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { 14754 return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection); 14755 } 14756 static inline HRESULT IDWriteFactory8_CreateFontSetBuilder(IDWriteFactory8* This,IDWriteFontSetBuilder2 **builder) { 14757 return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder); 14758 } 14759 static inline HRESULT IDWriteFactory8_CreateTextFormat(IDWriteFactory8* This,const WCHAR *familyname,IDWriteFontCollection *collection,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_axis,FLOAT fontsize,const WCHAR *localename,IDWriteTextFormat3 **format) { 14760 return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format); 14761 } 14762 /*** IDWriteFactory7 methods ***/ 14763 static inline HRESULT IDWriteFactory8_GetSystemFontSet(IDWriteFactory8* This,WINBOOL include_downloadable,IDWriteFontSet2 **fontset) { 14764 return This->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset); 14765 } 14766 static inline HRESULT IDWriteFactory8_GetSystemFontCollection(IDWriteFactory8* This,WINBOOL include_downloadable,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection3 **collection) { 14767 return This->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection); 14768 } 14769 /*** IDWriteFactory8 methods ***/ 14770 static inline HRESULT IDWriteFactory8_TranslateColorGlyphRun(IDWriteFactory8* This,D2D1_POINT_2F origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,DWRITE_GLYPH_IMAGE_FORMATS image_formats,DWRITE_PAINT_FEATURE_LEVEL feature_level,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_MATRIX *world_and_dpi_transform,UINT32 palette_index,IDWriteColorGlyphRunEnumerator1 **enumerator) { 14771 return This->lpVtbl->IDWriteFactory8_TranslateColorGlyphRun(This,origin,glyph_run,glyph_run_desc,image_formats,feature_level,measuring_mode,world_and_dpi_transform,palette_index,enumerator); 14772 } 14773 #endif 14774 #endif 14775 14776 #endif 14777 14778 14779 #endif /* __IDWriteFactory8_INTERFACE_DEFINED__ */ 14780 14781 typedef struct DWRITE_BITMAP_DATA_BGRA32 { 14782 UINT32 width; 14783 UINT32 height; 14784 UINT32 *pixels; 14785 } DWRITE_BITMAP_DATA_BGRA32; 14786 /***************************************************************************** 14787 * IDWriteBitmapRenderTarget2 interface 14788 */ 14789 #ifndef __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ 14790 #define __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ 14791 14792 DEFINE_GUID(IID_IDWriteBitmapRenderTarget2, 0xc553a742, 0xfc01, 0x44da, 0xa6,0x6e, 0xb8,0xb9,0xed,0x6c,0x39,0x95); 14793 #if defined(__cplusplus) && !defined(CINTERFACE) 14794 MIDL_INTERFACE("c553a742-fc01-44da-a66e-b8b9ed6c3995") 14795 IDWriteBitmapRenderTarget2 : public IDWriteBitmapRenderTarget1 14796 { 14797 virtual HRESULT STDMETHODCALLTYPE GetBitmapData( 14798 DWRITE_BITMAP_DATA_BGRA32 *bitmap_data) = 0; 14799 14800 }; 14801 #ifdef __CRT_UUID_DECL 14802 __CRT_UUID_DECL(IDWriteBitmapRenderTarget2, 0xc553a742, 0xfc01, 0x44da, 0xa6,0x6e, 0xb8,0xb9,0xed,0x6c,0x39,0x95) 14803 #endif 14804 #else 14805 typedef struct IDWriteBitmapRenderTarget2Vtbl { 14806 BEGIN_INTERFACE 14807 14808 /*** IUnknown methods ***/ 14809 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14810 IDWriteBitmapRenderTarget2 *This, 14811 REFIID riid, 14812 void **ppvObject); 14813 14814 ULONG (STDMETHODCALLTYPE *AddRef)( 14815 IDWriteBitmapRenderTarget2 *This); 14816 14817 ULONG (STDMETHODCALLTYPE *Release)( 14818 IDWriteBitmapRenderTarget2 *This); 14819 14820 /*** IDWriteBitmapRenderTarget methods ***/ 14821 HRESULT (STDMETHODCALLTYPE *DrawGlyphRun)( 14822 IDWriteBitmapRenderTarget2 *This, 14823 FLOAT baselineOriginX, 14824 FLOAT baselineOriginY, 14825 DWRITE_MEASURING_MODE measuring_mode, 14826 const DWRITE_GLYPH_RUN *glyph_run, 14827 IDWriteRenderingParams *params, 14828 COLORREF textColor, 14829 RECT *blackbox_rect); 14830 14831 HDC (STDMETHODCALLTYPE *GetMemoryDC)( 14832 IDWriteBitmapRenderTarget2 *This); 14833 14834 FLOAT (STDMETHODCALLTYPE *GetPixelsPerDip)( 14835 IDWriteBitmapRenderTarget2 *This); 14836 14837 HRESULT (STDMETHODCALLTYPE *SetPixelsPerDip)( 14838 IDWriteBitmapRenderTarget2 *This, 14839 FLOAT pixels_per_dip); 14840 14841 HRESULT (STDMETHODCALLTYPE *GetCurrentTransform)( 14842 IDWriteBitmapRenderTarget2 *This, 14843 DWRITE_MATRIX *transform); 14844 14845 HRESULT (STDMETHODCALLTYPE *SetCurrentTransform)( 14846 IDWriteBitmapRenderTarget2 *This, 14847 const DWRITE_MATRIX *transform); 14848 14849 HRESULT (STDMETHODCALLTYPE *GetSize)( 14850 IDWriteBitmapRenderTarget2 *This, 14851 SIZE *size); 14852 14853 HRESULT (STDMETHODCALLTYPE *Resize)( 14854 IDWriteBitmapRenderTarget2 *This, 14855 UINT32 width, 14856 UINT32 height); 14857 14858 /*** IDWriteBitmapRenderTarget1 methods ***/ 14859 DWRITE_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( 14860 IDWriteBitmapRenderTarget2 *This); 14861 14862 HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( 14863 IDWriteBitmapRenderTarget2 *This, 14864 DWRITE_TEXT_ANTIALIAS_MODE mode); 14865 14866 /*** IDWriteBitmapRenderTarget2 methods ***/ 14867 HRESULT (STDMETHODCALLTYPE *GetBitmapData)( 14868 IDWriteBitmapRenderTarget2 *This, 14869 DWRITE_BITMAP_DATA_BGRA32 *bitmap_data); 14870 14871 END_INTERFACE 14872 } IDWriteBitmapRenderTarget2Vtbl; 14873 14874 interface IDWriteBitmapRenderTarget2 { 14875 CONST_VTBL IDWriteBitmapRenderTarget2Vtbl* lpVtbl; 14876 }; 14877 14878 #ifdef COBJMACROS 14879 #ifndef WIDL_C_INLINE_WRAPPERS 14880 /*** IUnknown methods ***/ 14881 #define IDWriteBitmapRenderTarget2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14882 #define IDWriteBitmapRenderTarget2_AddRef(This) (This)->lpVtbl->AddRef(This) 14883 #define IDWriteBitmapRenderTarget2_Release(This) (This)->lpVtbl->Release(This) 14884 /*** IDWriteBitmapRenderTarget methods ***/ 14885 #define IDWriteBitmapRenderTarget2_DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect) (This)->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect) 14886 #define IDWriteBitmapRenderTarget2_GetMemoryDC(This) (This)->lpVtbl->GetMemoryDC(This) 14887 #define IDWriteBitmapRenderTarget2_GetPixelsPerDip(This) (This)->lpVtbl->GetPixelsPerDip(This) 14888 #define IDWriteBitmapRenderTarget2_SetPixelsPerDip(This,pixels_per_dip) (This)->lpVtbl->SetPixelsPerDip(This,pixels_per_dip) 14889 #define IDWriteBitmapRenderTarget2_GetCurrentTransform(This,transform) (This)->lpVtbl->GetCurrentTransform(This,transform) 14890 #define IDWriteBitmapRenderTarget2_SetCurrentTransform(This,transform) (This)->lpVtbl->SetCurrentTransform(This,transform) 14891 #define IDWriteBitmapRenderTarget2_GetSize(This,size) (This)->lpVtbl->GetSize(This,size) 14892 #define IDWriteBitmapRenderTarget2_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) 14893 /*** IDWriteBitmapRenderTarget1 methods ***/ 14894 #define IDWriteBitmapRenderTarget2_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) 14895 #define IDWriteBitmapRenderTarget2_SetTextAntialiasMode(This,mode) (This)->lpVtbl->SetTextAntialiasMode(This,mode) 14896 /*** IDWriteBitmapRenderTarget2 methods ***/ 14897 #define IDWriteBitmapRenderTarget2_GetBitmapData(This,bitmap_data) (This)->lpVtbl->GetBitmapData(This,bitmap_data) 14898 #else 14899 /*** IUnknown methods ***/ 14900 static inline HRESULT IDWriteBitmapRenderTarget2_QueryInterface(IDWriteBitmapRenderTarget2* This,REFIID riid,void **ppvObject) { 14901 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14902 } 14903 static inline ULONG IDWriteBitmapRenderTarget2_AddRef(IDWriteBitmapRenderTarget2* This) { 14904 return This->lpVtbl->AddRef(This); 14905 } 14906 static inline ULONG IDWriteBitmapRenderTarget2_Release(IDWriteBitmapRenderTarget2* This) { 14907 return This->lpVtbl->Release(This); 14908 } 14909 /*** IDWriteBitmapRenderTarget methods ***/ 14910 static inline HRESULT IDWriteBitmapRenderTarget2_DrawGlyphRun(IDWriteBitmapRenderTarget2* This,FLOAT baselineOriginX,FLOAT baselineOriginY,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_GLYPH_RUN *glyph_run,IDWriteRenderingParams *params,COLORREF textColor,RECT *blackbox_rect) { 14911 return This->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect); 14912 } 14913 static inline HDC IDWriteBitmapRenderTarget2_GetMemoryDC(IDWriteBitmapRenderTarget2* This) { 14914 return This->lpVtbl->GetMemoryDC(This); 14915 } 14916 static inline FLOAT IDWriteBitmapRenderTarget2_GetPixelsPerDip(IDWriteBitmapRenderTarget2* This) { 14917 return This->lpVtbl->GetPixelsPerDip(This); 14918 } 14919 static inline HRESULT IDWriteBitmapRenderTarget2_SetPixelsPerDip(IDWriteBitmapRenderTarget2* This,FLOAT pixels_per_dip) { 14920 return This->lpVtbl->SetPixelsPerDip(This,pixels_per_dip); 14921 } 14922 static inline HRESULT IDWriteBitmapRenderTarget2_GetCurrentTransform(IDWriteBitmapRenderTarget2* This,DWRITE_MATRIX *transform) { 14923 return This->lpVtbl->GetCurrentTransform(This,transform); 14924 } 14925 static inline HRESULT IDWriteBitmapRenderTarget2_SetCurrentTransform(IDWriteBitmapRenderTarget2* This,const DWRITE_MATRIX *transform) { 14926 return This->lpVtbl->SetCurrentTransform(This,transform); 14927 } 14928 static inline HRESULT IDWriteBitmapRenderTarget2_GetSize(IDWriteBitmapRenderTarget2* This,SIZE *size) { 14929 return This->lpVtbl->GetSize(This,size); 14930 } 14931 static inline HRESULT IDWriteBitmapRenderTarget2_Resize(IDWriteBitmapRenderTarget2* This,UINT32 width,UINT32 height) { 14932 return This->lpVtbl->Resize(This,width,height); 14933 } 14934 /*** IDWriteBitmapRenderTarget1 methods ***/ 14935 static inline DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget2_GetTextAntialiasMode(IDWriteBitmapRenderTarget2* This) { 14936 return This->lpVtbl->GetTextAntialiasMode(This); 14937 } 14938 static inline HRESULT IDWriteBitmapRenderTarget2_SetTextAntialiasMode(IDWriteBitmapRenderTarget2* This,DWRITE_TEXT_ANTIALIAS_MODE mode) { 14939 return This->lpVtbl->SetTextAntialiasMode(This,mode); 14940 } 14941 /*** IDWriteBitmapRenderTarget2 methods ***/ 14942 static inline HRESULT IDWriteBitmapRenderTarget2_GetBitmapData(IDWriteBitmapRenderTarget2* This,DWRITE_BITMAP_DATA_BGRA32 *bitmap_data) { 14943 return This->lpVtbl->GetBitmapData(This,bitmap_data); 14944 } 14945 #endif 14946 #endif 14947 14948 #endif 14949 14950 14951 #endif /* __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ */ 14952 14953 /***************************************************************************** 14954 * IDWriteBitmapRenderTarget3 interface 14955 */ 14956 #ifndef __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ 14957 #define __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ 14958 14959 DEFINE_GUID(IID_IDWriteBitmapRenderTarget3, 0xaeec37db, 0xc337, 0x40f1, 0x8e,0x2a, 0x9a,0x41,0xb1,0x67,0xb2,0x38); 14960 #if defined(__cplusplus) && !defined(CINTERFACE) 14961 MIDL_INTERFACE("aeec37db-c337-40f1-8e2a-9a41b167b238") 14962 IDWriteBitmapRenderTarget3 : public IDWriteBitmapRenderTarget2 14963 { 14964 virtual DWRITE_PAINT_FEATURE_LEVEL STDMETHODCALLTYPE GetPaintFeatureLevel( 14965 ) = 0; 14966 14967 virtual HRESULT STDMETHODCALLTYPE DrawPaintGlyphRun( 14968 FLOAT origin_x, 14969 FLOAT origin_y, 14970 DWRITE_MEASURING_MODE measuring_mode, 14971 const DWRITE_GLYPH_RUN *run, 14972 DWRITE_GLYPH_IMAGE_FORMATS image_format, 14973 COLORREF text_color, 14974 UINT32 palette_index, 14975 RECT *black_box) = 0; 14976 14977 virtual HRESULT STDMETHODCALLTYPE DrawGlyphRunWithColorSupport( 14978 FLOAT origin_x, 14979 FLOAT origin_y, 14980 DWRITE_MEASURING_MODE measuring_mode, 14981 const DWRITE_GLYPH_RUN *run, 14982 IDWriteRenderingParams *params, 14983 COLORREF text_color, 14984 UINT32 palette_index, 14985 RECT *black_box) = 0; 14986 14987 }; 14988 #ifdef __CRT_UUID_DECL 14989 __CRT_UUID_DECL(IDWriteBitmapRenderTarget3, 0xaeec37db, 0xc337, 0x40f1, 0x8e,0x2a, 0x9a,0x41,0xb1,0x67,0xb2,0x38) 14990 #endif 14991 #else 14992 typedef struct IDWriteBitmapRenderTarget3Vtbl { 14993 BEGIN_INTERFACE 14994 14995 /*** IUnknown methods ***/ 14996 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14997 IDWriteBitmapRenderTarget3 *This, 14998 REFIID riid, 14999 void **ppvObject); 15000 15001 ULONG (STDMETHODCALLTYPE *AddRef)( 15002 IDWriteBitmapRenderTarget3 *This); 15003 15004 ULONG (STDMETHODCALLTYPE *Release)( 15005 IDWriteBitmapRenderTarget3 *This); 15006 15007 /*** IDWriteBitmapRenderTarget methods ***/ 15008 HRESULT (STDMETHODCALLTYPE *DrawGlyphRun)( 15009 IDWriteBitmapRenderTarget3 *This, 15010 FLOAT baselineOriginX, 15011 FLOAT baselineOriginY, 15012 DWRITE_MEASURING_MODE measuring_mode, 15013 const DWRITE_GLYPH_RUN *glyph_run, 15014 IDWriteRenderingParams *params, 15015 COLORREF textColor, 15016 RECT *blackbox_rect); 15017 15018 HDC (STDMETHODCALLTYPE *GetMemoryDC)( 15019 IDWriteBitmapRenderTarget3 *This); 15020 15021 FLOAT (STDMETHODCALLTYPE *GetPixelsPerDip)( 15022 IDWriteBitmapRenderTarget3 *This); 15023 15024 HRESULT (STDMETHODCALLTYPE *SetPixelsPerDip)( 15025 IDWriteBitmapRenderTarget3 *This, 15026 FLOAT pixels_per_dip); 15027 15028 HRESULT (STDMETHODCALLTYPE *GetCurrentTransform)( 15029 IDWriteBitmapRenderTarget3 *This, 15030 DWRITE_MATRIX *transform); 15031 15032 HRESULT (STDMETHODCALLTYPE *SetCurrentTransform)( 15033 IDWriteBitmapRenderTarget3 *This, 15034 const DWRITE_MATRIX *transform); 15035 15036 HRESULT (STDMETHODCALLTYPE *GetSize)( 15037 IDWriteBitmapRenderTarget3 *This, 15038 SIZE *size); 15039 15040 HRESULT (STDMETHODCALLTYPE *Resize)( 15041 IDWriteBitmapRenderTarget3 *This, 15042 UINT32 width, 15043 UINT32 height); 15044 15045 /*** IDWriteBitmapRenderTarget1 methods ***/ 15046 DWRITE_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( 15047 IDWriteBitmapRenderTarget3 *This); 15048 15049 HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( 15050 IDWriteBitmapRenderTarget3 *This, 15051 DWRITE_TEXT_ANTIALIAS_MODE mode); 15052 15053 /*** IDWriteBitmapRenderTarget2 methods ***/ 15054 HRESULT (STDMETHODCALLTYPE *GetBitmapData)( 15055 IDWriteBitmapRenderTarget3 *This, 15056 DWRITE_BITMAP_DATA_BGRA32 *bitmap_data); 15057 15058 /*** IDWriteBitmapRenderTarget3 methods ***/ 15059 DWRITE_PAINT_FEATURE_LEVEL (STDMETHODCALLTYPE *GetPaintFeatureLevel)( 15060 IDWriteBitmapRenderTarget3 *This); 15061 15062 HRESULT (STDMETHODCALLTYPE *DrawPaintGlyphRun)( 15063 IDWriteBitmapRenderTarget3 *This, 15064 FLOAT origin_x, 15065 FLOAT origin_y, 15066 DWRITE_MEASURING_MODE measuring_mode, 15067 const DWRITE_GLYPH_RUN *run, 15068 DWRITE_GLYPH_IMAGE_FORMATS image_format, 15069 COLORREF text_color, 15070 UINT32 palette_index, 15071 RECT *black_box); 15072 15073 HRESULT (STDMETHODCALLTYPE *DrawGlyphRunWithColorSupport)( 15074 IDWriteBitmapRenderTarget3 *This, 15075 FLOAT origin_x, 15076 FLOAT origin_y, 15077 DWRITE_MEASURING_MODE measuring_mode, 15078 const DWRITE_GLYPH_RUN *run, 15079 IDWriteRenderingParams *params, 15080 COLORREF text_color, 15081 UINT32 palette_index, 15082 RECT *black_box); 15083 15084 END_INTERFACE 15085 } IDWriteBitmapRenderTarget3Vtbl; 15086 15087 interface IDWriteBitmapRenderTarget3 { 15088 CONST_VTBL IDWriteBitmapRenderTarget3Vtbl* lpVtbl; 15089 }; 15090 15091 #ifdef COBJMACROS 15092 #ifndef WIDL_C_INLINE_WRAPPERS 15093 /*** IUnknown methods ***/ 15094 #define IDWriteBitmapRenderTarget3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15095 #define IDWriteBitmapRenderTarget3_AddRef(This) (This)->lpVtbl->AddRef(This) 15096 #define IDWriteBitmapRenderTarget3_Release(This) (This)->lpVtbl->Release(This) 15097 /*** IDWriteBitmapRenderTarget methods ***/ 15098 #define IDWriteBitmapRenderTarget3_DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect) (This)->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect) 15099 #define IDWriteBitmapRenderTarget3_GetMemoryDC(This) (This)->lpVtbl->GetMemoryDC(This) 15100 #define IDWriteBitmapRenderTarget3_GetPixelsPerDip(This) (This)->lpVtbl->GetPixelsPerDip(This) 15101 #define IDWriteBitmapRenderTarget3_SetPixelsPerDip(This,pixels_per_dip) (This)->lpVtbl->SetPixelsPerDip(This,pixels_per_dip) 15102 #define IDWriteBitmapRenderTarget3_GetCurrentTransform(This,transform) (This)->lpVtbl->GetCurrentTransform(This,transform) 15103 #define IDWriteBitmapRenderTarget3_SetCurrentTransform(This,transform) (This)->lpVtbl->SetCurrentTransform(This,transform) 15104 #define IDWriteBitmapRenderTarget3_GetSize(This,size) (This)->lpVtbl->GetSize(This,size) 15105 #define IDWriteBitmapRenderTarget3_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) 15106 /*** IDWriteBitmapRenderTarget1 methods ***/ 15107 #define IDWriteBitmapRenderTarget3_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) 15108 #define IDWriteBitmapRenderTarget3_SetTextAntialiasMode(This,mode) (This)->lpVtbl->SetTextAntialiasMode(This,mode) 15109 /*** IDWriteBitmapRenderTarget2 methods ***/ 15110 #define IDWriteBitmapRenderTarget3_GetBitmapData(This,bitmap_data) (This)->lpVtbl->GetBitmapData(This,bitmap_data) 15111 /*** IDWriteBitmapRenderTarget3 methods ***/ 15112 #define IDWriteBitmapRenderTarget3_GetPaintFeatureLevel(This) (This)->lpVtbl->GetPaintFeatureLevel(This) 15113 #define IDWriteBitmapRenderTarget3_DrawPaintGlyphRun(This,origin_x,origin_y,measuring_mode,run,image_format,text_color,palette_index,black_box) (This)->lpVtbl->DrawPaintGlyphRun(This,origin_x,origin_y,measuring_mode,run,image_format,text_color,palette_index,black_box) 15114 #define IDWriteBitmapRenderTarget3_DrawGlyphRunWithColorSupport(This,origin_x,origin_y,measuring_mode,run,params,text_color,palette_index,black_box) (This)->lpVtbl->DrawGlyphRunWithColorSupport(This,origin_x,origin_y,measuring_mode,run,params,text_color,palette_index,black_box) 15115 #else 15116 /*** IUnknown methods ***/ 15117 static inline HRESULT IDWriteBitmapRenderTarget3_QueryInterface(IDWriteBitmapRenderTarget3* This,REFIID riid,void **ppvObject) { 15118 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 15119 } 15120 static inline ULONG IDWriteBitmapRenderTarget3_AddRef(IDWriteBitmapRenderTarget3* This) { 15121 return This->lpVtbl->AddRef(This); 15122 } 15123 static inline ULONG IDWriteBitmapRenderTarget3_Release(IDWriteBitmapRenderTarget3* This) { 15124 return This->lpVtbl->Release(This); 15125 } 15126 /*** IDWriteBitmapRenderTarget methods ***/ 15127 static inline HRESULT IDWriteBitmapRenderTarget3_DrawGlyphRun(IDWriteBitmapRenderTarget3* This,FLOAT baselineOriginX,FLOAT baselineOriginY,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_GLYPH_RUN *glyph_run,IDWriteRenderingParams *params,COLORREF textColor,RECT *blackbox_rect) { 15128 return This->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect); 15129 } 15130 static inline HDC IDWriteBitmapRenderTarget3_GetMemoryDC(IDWriteBitmapRenderTarget3* This) { 15131 return This->lpVtbl->GetMemoryDC(This); 15132 } 15133 static inline FLOAT IDWriteBitmapRenderTarget3_GetPixelsPerDip(IDWriteBitmapRenderTarget3* This) { 15134 return This->lpVtbl->GetPixelsPerDip(This); 15135 } 15136 static inline HRESULT IDWriteBitmapRenderTarget3_SetPixelsPerDip(IDWriteBitmapRenderTarget3* This,FLOAT pixels_per_dip) { 15137 return This->lpVtbl->SetPixelsPerDip(This,pixels_per_dip); 15138 } 15139 static inline HRESULT IDWriteBitmapRenderTarget3_GetCurrentTransform(IDWriteBitmapRenderTarget3* This,DWRITE_MATRIX *transform) { 15140 return This->lpVtbl->GetCurrentTransform(This,transform); 15141 } 15142 static inline HRESULT IDWriteBitmapRenderTarget3_SetCurrentTransform(IDWriteBitmapRenderTarget3* This,const DWRITE_MATRIX *transform) { 15143 return This->lpVtbl->SetCurrentTransform(This,transform); 15144 } 15145 static inline HRESULT IDWriteBitmapRenderTarget3_GetSize(IDWriteBitmapRenderTarget3* This,SIZE *size) { 15146 return This->lpVtbl->GetSize(This,size); 15147 } 15148 static inline HRESULT IDWriteBitmapRenderTarget3_Resize(IDWriteBitmapRenderTarget3* This,UINT32 width,UINT32 height) { 15149 return This->lpVtbl->Resize(This,width,height); 15150 } 15151 /*** IDWriteBitmapRenderTarget1 methods ***/ 15152 static inline DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget3_GetTextAntialiasMode(IDWriteBitmapRenderTarget3* This) { 15153 return This->lpVtbl->GetTextAntialiasMode(This); 15154 } 15155 static inline HRESULT IDWriteBitmapRenderTarget3_SetTextAntialiasMode(IDWriteBitmapRenderTarget3* This,DWRITE_TEXT_ANTIALIAS_MODE mode) { 15156 return This->lpVtbl->SetTextAntialiasMode(This,mode); 15157 } 15158 /*** IDWriteBitmapRenderTarget2 methods ***/ 15159 static inline HRESULT IDWriteBitmapRenderTarget3_GetBitmapData(IDWriteBitmapRenderTarget3* This,DWRITE_BITMAP_DATA_BGRA32 *bitmap_data) { 15160 return This->lpVtbl->GetBitmapData(This,bitmap_data); 15161 } 15162 /*** IDWriteBitmapRenderTarget3 methods ***/ 15163 static inline DWRITE_PAINT_FEATURE_LEVEL IDWriteBitmapRenderTarget3_GetPaintFeatureLevel(IDWriteBitmapRenderTarget3* This) { 15164 return This->lpVtbl->GetPaintFeatureLevel(This); 15165 } 15166 static inline HRESULT IDWriteBitmapRenderTarget3_DrawPaintGlyphRun(IDWriteBitmapRenderTarget3* This,FLOAT origin_x,FLOAT origin_y,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_GLYPH_RUN *run,DWRITE_GLYPH_IMAGE_FORMATS image_format,COLORREF text_color,UINT32 palette_index,RECT *black_box) { 15167 return This->lpVtbl->DrawPaintGlyphRun(This,origin_x,origin_y,measuring_mode,run,image_format,text_color,palette_index,black_box); 15168 } 15169 static inline HRESULT IDWriteBitmapRenderTarget3_DrawGlyphRunWithColorSupport(IDWriteBitmapRenderTarget3* This,FLOAT origin_x,FLOAT origin_y,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_GLYPH_RUN *run,IDWriteRenderingParams *params,COLORREF text_color,UINT32 palette_index,RECT *black_box) { 15170 return This->lpVtbl->DrawGlyphRunWithColorSupport(This,origin_x,origin_y,measuring_mode,run,params,text_color,palette_index,black_box); 15171 } 15172 #endif 15173 #endif 15174 15175 #endif 15176 15177 15178 #endif /* __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ */ 15179 15180 /* Begin additional prototypes for all interfaces */ 15181 15182 15183 /* End additional prototypes */ 15184 15185 #ifdef __cplusplus 15186 } 15187 #endif 15188 15189 #endif /* __dwrite_3_h__ */