1 /*** Autogenerated by WIDL 6.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 __IDWriteFontFace3_FWD_DEFINED__ 174 #define __IDWriteFontFace3_FWD_DEFINED__ 175 typedef interface IDWriteFontFace3 IDWriteFontFace3; 176 #ifdef __cplusplus 177 interface IDWriteFontFace3; 178 #endif /* __cplusplus */ 179 #endif 180 181 #ifndef __IDWriteTextFormat2_FWD_DEFINED__ 182 #define __IDWriteTextFormat2_FWD_DEFINED__ 183 typedef interface IDWriteTextFormat2 IDWriteTextFormat2; 184 #ifdef __cplusplus 185 interface IDWriteTextFormat2; 186 #endif /* __cplusplus */ 187 #endif 188 189 #ifndef __IDWriteTextFormat3_FWD_DEFINED__ 190 #define __IDWriteTextFormat3_FWD_DEFINED__ 191 typedef interface IDWriteTextFormat3 IDWriteTextFormat3; 192 #ifdef __cplusplus 193 interface IDWriteTextFormat3; 194 #endif /* __cplusplus */ 195 #endif 196 197 #ifndef __IDWriteTextLayout3_FWD_DEFINED__ 198 #define __IDWriteTextLayout3_FWD_DEFINED__ 199 typedef interface IDWriteTextLayout3 IDWriteTextLayout3; 200 #ifdef __cplusplus 201 interface IDWriteTextLayout3; 202 #endif /* __cplusplus */ 203 #endif 204 205 #ifndef __IDWriteTextLayout4_FWD_DEFINED__ 206 #define __IDWriteTextLayout4_FWD_DEFINED__ 207 typedef interface IDWriteTextLayout4 IDWriteTextLayout4; 208 #ifdef __cplusplus 209 interface IDWriteTextLayout4; 210 #endif /* __cplusplus */ 211 #endif 212 213 #ifndef __IDWriteFontFallback1_FWD_DEFINED__ 214 #define __IDWriteFontFallback1_FWD_DEFINED__ 215 typedef interface IDWriteFontFallback1 IDWriteFontFallback1; 216 #ifdef __cplusplus 217 interface IDWriteFontFallback1; 218 #endif /* __cplusplus */ 219 #endif 220 221 #ifndef __IDWriteGdiInterop1_FWD_DEFINED__ 222 #define __IDWriteGdiInterop1_FWD_DEFINED__ 223 typedef interface IDWriteGdiInterop1 IDWriteGdiInterop1; 224 #ifdef __cplusplus 225 interface IDWriteGdiInterop1; 226 #endif /* __cplusplus */ 227 #endif 228 229 #ifndef __IDWriteFontSetBuilder_FWD_DEFINED__ 230 #define __IDWriteFontSetBuilder_FWD_DEFINED__ 231 typedef interface IDWriteFontSetBuilder IDWriteFontSetBuilder; 232 #ifdef __cplusplus 233 interface IDWriteFontSetBuilder; 234 #endif /* __cplusplus */ 235 #endif 236 237 #ifndef __IDWriteFontSetBuilder1_FWD_DEFINED__ 238 #define __IDWriteFontSetBuilder1_FWD_DEFINED__ 239 typedef interface IDWriteFontSetBuilder1 IDWriteFontSetBuilder1; 240 #ifdef __cplusplus 241 interface IDWriteFontSetBuilder1; 242 #endif /* __cplusplus */ 243 #endif 244 245 #ifndef __IDWriteFontSetBuilder2_FWD_DEFINED__ 246 #define __IDWriteFontSetBuilder2_FWD_DEFINED__ 247 typedef interface IDWriteFontSetBuilder2 IDWriteFontSetBuilder2; 248 #ifdef __cplusplus 249 interface IDWriteFontSetBuilder2; 250 #endif /* __cplusplus */ 251 #endif 252 253 #ifndef __IDWriteFactory3_FWD_DEFINED__ 254 #define __IDWriteFactory3_FWD_DEFINED__ 255 typedef interface IDWriteFactory3 IDWriteFactory3; 256 #ifdef __cplusplus 257 interface IDWriteFactory3; 258 #endif /* __cplusplus */ 259 #endif 260 261 #ifndef __IDWriteFontFace4_FWD_DEFINED__ 262 #define __IDWriteFontFace4_FWD_DEFINED__ 263 typedef interface IDWriteFontFace4 IDWriteFontFace4; 264 #ifdef __cplusplus 265 interface IDWriteFontFace4; 266 #endif /* __cplusplus */ 267 #endif 268 269 #ifndef __IDWriteFontFace5_FWD_DEFINED__ 270 #define __IDWriteFontFace5_FWD_DEFINED__ 271 typedef interface IDWriteFontFace5 IDWriteFontFace5; 272 #ifdef __cplusplus 273 interface IDWriteFontFace5; 274 #endif /* __cplusplus */ 275 #endif 276 277 #ifndef __IDWriteColorGlyphRunEnumerator1_FWD_DEFINED__ 278 #define __IDWriteColorGlyphRunEnumerator1_FWD_DEFINED__ 279 typedef interface IDWriteColorGlyphRunEnumerator1 IDWriteColorGlyphRunEnumerator1; 280 #ifdef __cplusplus 281 interface IDWriteColorGlyphRunEnumerator1; 282 #endif /* __cplusplus */ 283 #endif 284 285 #ifndef __IDWriteFactory4_FWD_DEFINED__ 286 #define __IDWriteFactory4_FWD_DEFINED__ 287 typedef interface IDWriteFactory4 IDWriteFactory4; 288 #ifdef __cplusplus 289 interface IDWriteFactory4; 290 #endif /* __cplusplus */ 291 #endif 292 293 #ifndef __IDWriteAsyncResult_FWD_DEFINED__ 294 #define __IDWriteAsyncResult_FWD_DEFINED__ 295 typedef interface IDWriteAsyncResult IDWriteAsyncResult; 296 #ifdef __cplusplus 297 interface IDWriteAsyncResult; 298 #endif /* __cplusplus */ 299 #endif 300 301 #ifndef __IDWriteRemoteFontFileStream_FWD_DEFINED__ 302 #define __IDWriteRemoteFontFileStream_FWD_DEFINED__ 303 typedef interface IDWriteRemoteFontFileStream IDWriteRemoteFontFileStream; 304 #ifdef __cplusplus 305 interface IDWriteRemoteFontFileStream; 306 #endif /* __cplusplus */ 307 #endif 308 309 #ifndef __IDWriteRemoteFontFileLoader_FWD_DEFINED__ 310 #define __IDWriteRemoteFontFileLoader_FWD_DEFINED__ 311 typedef interface IDWriteRemoteFontFileLoader IDWriteRemoteFontFileLoader; 312 #ifdef __cplusplus 313 interface IDWriteRemoteFontFileLoader; 314 #endif /* __cplusplus */ 315 #endif 316 317 #ifndef __IDWriteInMemoryFontFileLoader_FWD_DEFINED__ 318 #define __IDWriteInMemoryFontFileLoader_FWD_DEFINED__ 319 typedef interface IDWriteInMemoryFontFileLoader IDWriteInMemoryFontFileLoader; 320 #ifdef __cplusplus 321 interface IDWriteInMemoryFontFileLoader; 322 #endif /* __cplusplus */ 323 #endif 324 325 #ifndef __IDWriteFactory5_FWD_DEFINED__ 326 #define __IDWriteFactory5_FWD_DEFINED__ 327 typedef interface IDWriteFactory5 IDWriteFactory5; 328 #ifdef __cplusplus 329 interface IDWriteFactory5; 330 #endif /* __cplusplus */ 331 #endif 332 333 #ifndef __IDWriteFactory6_FWD_DEFINED__ 334 #define __IDWriteFactory6_FWD_DEFINED__ 335 typedef interface IDWriteFactory6 IDWriteFactory6; 336 #ifdef __cplusplus 337 interface IDWriteFactory6; 338 #endif /* __cplusplus */ 339 #endif 340 341 #ifndef __IDWriteFactory7_FWD_DEFINED__ 342 #define __IDWriteFactory7_FWD_DEFINED__ 343 typedef interface IDWriteFactory7 IDWriteFactory7; 344 #ifdef __cplusplus 345 interface IDWriteFactory7; 346 #endif /* __cplusplus */ 347 #endif 348 349 /* Headers for imported files */ 350 351 #include <dwrite_2.h> 352 353 #ifdef __cplusplus 354 extern "C" { 355 #endif 356 357 #ifndef __IDWriteFontFaceReference_FWD_DEFINED__ 358 #define __IDWriteFontFaceReference_FWD_DEFINED__ 359 typedef interface IDWriteFontFaceReference IDWriteFontFaceReference; 360 #ifdef __cplusplus 361 interface IDWriteFontFaceReference; 362 #endif /* __cplusplus */ 363 #endif 364 365 #ifndef __IDWriteFontFaceReference1_FWD_DEFINED__ 366 #define __IDWriteFontFaceReference1_FWD_DEFINED__ 367 typedef interface IDWriteFontFaceReference1 IDWriteFontFaceReference1; 368 #ifdef __cplusplus 369 interface IDWriteFontFaceReference1; 370 #endif /* __cplusplus */ 371 #endif 372 373 #ifndef __IDWriteFontFace3_FWD_DEFINED__ 374 #define __IDWriteFontFace3_FWD_DEFINED__ 375 typedef interface IDWriteFontFace3 IDWriteFontFace3; 376 #ifdef __cplusplus 377 interface IDWriteFontFace3; 378 #endif /* __cplusplus */ 379 #endif 380 381 #ifndef __IDWriteFontSet_FWD_DEFINED__ 382 #define __IDWriteFontSet_FWD_DEFINED__ 383 typedef interface IDWriteFontSet IDWriteFontSet; 384 #ifdef __cplusplus 385 interface IDWriteFontSet; 386 #endif /* __cplusplus */ 387 #endif 388 389 #ifndef __IDWriteFontDownloadQueue_FWD_DEFINED__ 390 #define __IDWriteFontDownloadQueue_FWD_DEFINED__ 391 typedef interface IDWriteFontDownloadQueue IDWriteFontDownloadQueue; 392 #ifdef __cplusplus 393 interface IDWriteFontDownloadQueue; 394 #endif /* __cplusplus */ 395 #endif 396 397 #ifndef __IDWriteFontFace5_FWD_DEFINED__ 398 #define __IDWriteFontFace5_FWD_DEFINED__ 399 typedef interface IDWriteFontFace5 IDWriteFontFace5; 400 #ifdef __cplusplus 401 interface IDWriteFontFace5; 402 #endif /* __cplusplus */ 403 #endif 404 405 #ifndef __IDWriteFontList2_FWD_DEFINED__ 406 #define __IDWriteFontList2_FWD_DEFINED__ 407 typedef interface IDWriteFontList2 IDWriteFontList2; 408 #ifdef __cplusplus 409 interface IDWriteFontList2; 410 #endif /* __cplusplus */ 411 #endif 412 413 #ifndef _WINGDI_ 414 typedef struct FONTSIGNATURE FONTSIGNATURE; 415 #endif /* _WINGDI_ */ 416 typedef enum DWRITE_LOCALITY { 417 DWRITE_LOCALITY_REMOTE = 0, 418 DWRITE_LOCALITY_PARTIAL = 1, 419 DWRITE_LOCALITY_LOCAL = 2 420 } DWRITE_LOCALITY; 421 typedef enum DWRITE_RENDERING_MODE1 { 422 DWRITE_RENDERING_MODE1_DEFAULT = 0, 423 DWRITE_RENDERING_MODE1_ALIASED = 1, 424 DWRITE_RENDERING_MODE1_GDI_CLASSIC = 2, 425 DWRITE_RENDERING_MODE1_GDI_NATURAL = 3, 426 DWRITE_RENDERING_MODE1_NATURAL = 4, 427 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC = 5, 428 DWRITE_RENDERING_MODE1_OUTLINE = 6, 429 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED = 7 430 } DWRITE_RENDERING_MODE1; 431 typedef enum DWRITE_FONT_PROPERTY_ID { 432 DWRITE_FONT_PROPERTY_ID_NONE = 0, 433 DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME = 1, 434 DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME = 2, 435 DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME = 3, 436 DWRITE_FONT_PROPERTY_ID_FULL_NAME = 4, 437 DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME = 5, 438 DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME = 6, 439 DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG = 7, 440 DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG = 8, 441 DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG = 9, 442 DWRITE_FONT_PROPERTY_ID_WEIGHT = 10, 443 DWRITE_FONT_PROPERTY_ID_STRETCH = 11, 444 DWRITE_FONT_PROPERTY_ID_STYLE = 12, 445 DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME = 13, 446 DWRITE_FONT_PROPERTY_ID_TOTAL = DWRITE_FONT_PROPERTY_ID_STYLE + 1, 447 DWRITE_FONT_PROPERTY_ID_TOTAL_RS3 = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME + 1, 448 DWRITE_FONT_PROPERTY_ID_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, 449 DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, 450 DWRITE_FONT_PROPERTY_ID_FACE_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME 451 } DWRITE_FONT_PROPERTY_ID; 452 typedef struct DWRITE_FONT_PROPERTY { 453 DWRITE_FONT_PROPERTY_ID propertyId; 454 const WCHAR *propertyValue; 455 const WCHAR *localeName; 456 } DWRITE_FONT_PROPERTY; 457 #ifdef __cplusplus 458 #define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (static_cast<DWRITE_FONT_AXIS_TAG>(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d))) 459 #else 460 #define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d)) 461 #endif 462 typedef enum DWRITE_FONT_AXIS_TAG { 463 DWRITE_FONT_AXIS_TAG_WEIGHT = 0x74686777, 464 DWRITE_FONT_AXIS_TAG_WIDTH = 0x68746477, 465 DWRITE_FONT_AXIS_TAG_SLANT = 0x746e6c73, 466 DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = 0x7a73706f, 467 DWRITE_FONT_AXIS_TAG_ITALIC = 0x6c617469 468 } DWRITE_FONT_AXIS_TAG; 469 typedef enum DWRITE_FONT_SOURCE_TYPE { 470 DWRITE_FONT_SOURCE_TYPE_UNKNOWN = 0, 471 DWRITE_FONT_SOURCE_TYPE_PER_MACHINE = 1, 472 DWRITE_FONT_SOURCE_TYPE_PER_USER = 2, 473 DWRITE_FONT_SOURCE_TYPE_APPX_PACKAGE = 3, 474 DWRITE_FONT_SOURCE_TYPE_REMOTE_FONT_PROVIDER = 4 475 } DWRITE_FONT_SOURCE_TYPE; 476 typedef struct DWRITE_FONT_AXIS_VALUE { 477 DWRITE_FONT_AXIS_TAG axisTag; 478 FLOAT value; 479 } DWRITE_FONT_AXIS_VALUE; 480 typedef struct DWRITE_FONT_AXIS_RANGE { 481 DWRITE_FONT_AXIS_TAG axisTag; 482 FLOAT minValue; 483 FLOAT maxValue; 484 } DWRITE_FONT_AXIS_RANGE; 485 typedef enum DWRITE_AUTOMATIC_FONT_AXES { 486 DWRITE_AUTOMATIC_FONT_AXES_NONE = 0, 487 DWRITE_AUTOMATIC_FONT_AXES_OPTICAL_SIZE = 1 488 } DWRITE_AUTOMATIC_FONT_AXES; 489 typedef enum DWRITE_FONT_AXIS_ATTRIBUTES { 490 DWRITE_FONT_AXIS_ATTRIBUTES_NONE = 0, 491 DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE = 1, 492 DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN = 2 493 } DWRITE_FONT_AXIS_ATTRIBUTES; 494 typedef enum DWRITE_FONT_FAMILY_MODEL { 495 DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC = 0, 496 DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE = 1 497 } DWRITE_FONT_FAMILY_MODEL; 498 /***************************************************************************** 499 * IDWriteFontDownloadListener interface 500 */ 501 #ifndef __IDWriteFontDownloadListener_INTERFACE_DEFINED__ 502 #define __IDWriteFontDownloadListener_INTERFACE_DEFINED__ 503 504 DEFINE_GUID(IID_IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88,0x1b, 0xdb,0xe4,0xdc,0x72,0xfd,0xa7); 505 #if defined(__cplusplus) && !defined(CINTERFACE) 506 MIDL_INTERFACE("b06fe5b9-43ec-4393-881b-dbe4dc72fda7") 507 IDWriteFontDownloadListener : public IUnknown 508 { 509 virtual void STDMETHODCALLTYPE DownloadCompleted( 510 IDWriteFontDownloadQueue *queue, 511 IUnknown *context, 512 HRESULT result) = 0; 513 514 }; 515 #ifdef __CRT_UUID_DECL 516 __CRT_UUID_DECL(IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88,0x1b, 0xdb,0xe4,0xdc,0x72,0xfd,0xa7) 517 #endif 518 #else 519 typedef struct IDWriteFontDownloadListenerVtbl { 520 BEGIN_INTERFACE 521 522 /*** IUnknown methods ***/ 523 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 524 IDWriteFontDownloadListener *This, 525 REFIID riid, 526 void **ppvObject); 527 528 ULONG (STDMETHODCALLTYPE *AddRef)( 529 IDWriteFontDownloadListener *This); 530 531 ULONG (STDMETHODCALLTYPE *Release)( 532 IDWriteFontDownloadListener *This); 533 534 /*** IDWriteFontDownloadListener methods ***/ 535 void (STDMETHODCALLTYPE *DownloadCompleted)( 536 IDWriteFontDownloadListener *This, 537 IDWriteFontDownloadQueue *queue, 538 IUnknown *context, 539 HRESULT result); 540 541 END_INTERFACE 542 } IDWriteFontDownloadListenerVtbl; 543 544 interface IDWriteFontDownloadListener { 545 CONST_VTBL IDWriteFontDownloadListenerVtbl* lpVtbl; 546 }; 547 548 #ifdef COBJMACROS 549 #ifndef WIDL_C_INLINE_WRAPPERS 550 /*** IUnknown methods ***/ 551 #define IDWriteFontDownloadListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 552 #define IDWriteFontDownloadListener_AddRef(This) (This)->lpVtbl->AddRef(This) 553 #define IDWriteFontDownloadListener_Release(This) (This)->lpVtbl->Release(This) 554 /*** IDWriteFontDownloadListener methods ***/ 555 #define IDWriteFontDownloadListener_DownloadCompleted(This,queue,context,result) (This)->lpVtbl->DownloadCompleted(This,queue,context,result) 556 #else 557 /*** IUnknown methods ***/ 558 static FORCEINLINE HRESULT IDWriteFontDownloadListener_QueryInterface(IDWriteFontDownloadListener* This,REFIID riid,void **ppvObject) { 559 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 560 } 561 static FORCEINLINE ULONG IDWriteFontDownloadListener_AddRef(IDWriteFontDownloadListener* This) { 562 return This->lpVtbl->AddRef(This); 563 } 564 static FORCEINLINE ULONG IDWriteFontDownloadListener_Release(IDWriteFontDownloadListener* This) { 565 return This->lpVtbl->Release(This); 566 } 567 /*** IDWriteFontDownloadListener methods ***/ 568 static FORCEINLINE void IDWriteFontDownloadListener_DownloadCompleted(IDWriteFontDownloadListener* This,IDWriteFontDownloadQueue *queue,IUnknown *context,HRESULT result) { 569 This->lpVtbl->DownloadCompleted(This,queue,context,result); 570 } 571 #endif 572 #endif 573 574 #endif 575 576 577 #endif /* __IDWriteFontDownloadListener_INTERFACE_DEFINED__ */ 578 579 /***************************************************************************** 580 * IDWriteFontDownloadQueue interface 581 */ 582 #ifndef __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ 583 #define __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ 584 585 DEFINE_GUID(IID_IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83,0x2e, 0xf6,0x0d,0x43,0x1f,0x7e,0x91); 586 #if defined(__cplusplus) && !defined(CINTERFACE) 587 MIDL_INTERFACE("b71e6052-5aea-4fa3-832e-f60d431f7e91") 588 IDWriteFontDownloadQueue : public IUnknown 589 { 590 virtual HRESULT STDMETHODCALLTYPE AddListener( 591 IDWriteFontDownloadListener *listener, 592 UINT32 *token) = 0; 593 594 virtual HRESULT STDMETHODCALLTYPE RemoveListener( 595 UINT32 token) = 0; 596 597 virtual WINBOOL STDMETHODCALLTYPE IsEmpty( 598 ) = 0; 599 600 virtual HRESULT STDMETHODCALLTYPE BeginDownload( 601 IUnknown *context) = 0; 602 603 virtual HRESULT STDMETHODCALLTYPE CancelDownload( 604 ) = 0; 605 606 virtual UINT64 STDMETHODCALLTYPE GetGenerationCount( 607 ) = 0; 608 609 }; 610 #ifdef __CRT_UUID_DECL 611 __CRT_UUID_DECL(IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83,0x2e, 0xf6,0x0d,0x43,0x1f,0x7e,0x91) 612 #endif 613 #else 614 typedef struct IDWriteFontDownloadQueueVtbl { 615 BEGIN_INTERFACE 616 617 /*** IUnknown methods ***/ 618 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 619 IDWriteFontDownloadQueue *This, 620 REFIID riid, 621 void **ppvObject); 622 623 ULONG (STDMETHODCALLTYPE *AddRef)( 624 IDWriteFontDownloadQueue *This); 625 626 ULONG (STDMETHODCALLTYPE *Release)( 627 IDWriteFontDownloadQueue *This); 628 629 /*** IDWriteFontDownloadQueue methods ***/ 630 HRESULT (STDMETHODCALLTYPE *AddListener)( 631 IDWriteFontDownloadQueue *This, 632 IDWriteFontDownloadListener *listener, 633 UINT32 *token); 634 635 HRESULT (STDMETHODCALLTYPE *RemoveListener)( 636 IDWriteFontDownloadQueue *This, 637 UINT32 token); 638 639 WINBOOL (STDMETHODCALLTYPE *IsEmpty)( 640 IDWriteFontDownloadQueue *This); 641 642 HRESULT (STDMETHODCALLTYPE *BeginDownload)( 643 IDWriteFontDownloadQueue *This, 644 IUnknown *context); 645 646 HRESULT (STDMETHODCALLTYPE *CancelDownload)( 647 IDWriteFontDownloadQueue *This); 648 649 UINT64 (STDMETHODCALLTYPE *GetGenerationCount)( 650 IDWriteFontDownloadQueue *This); 651 652 END_INTERFACE 653 } IDWriteFontDownloadQueueVtbl; 654 655 interface IDWriteFontDownloadQueue { 656 CONST_VTBL IDWriteFontDownloadQueueVtbl* lpVtbl; 657 }; 658 659 #ifdef COBJMACROS 660 #ifndef WIDL_C_INLINE_WRAPPERS 661 /*** IUnknown methods ***/ 662 #define IDWriteFontDownloadQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 663 #define IDWriteFontDownloadQueue_AddRef(This) (This)->lpVtbl->AddRef(This) 664 #define IDWriteFontDownloadQueue_Release(This) (This)->lpVtbl->Release(This) 665 /*** IDWriteFontDownloadQueue methods ***/ 666 #define IDWriteFontDownloadQueue_AddListener(This,listener,token) (This)->lpVtbl->AddListener(This,listener,token) 667 #define IDWriteFontDownloadQueue_RemoveListener(This,token) (This)->lpVtbl->RemoveListener(This,token) 668 #define IDWriteFontDownloadQueue_IsEmpty(This) (This)->lpVtbl->IsEmpty(This) 669 #define IDWriteFontDownloadQueue_BeginDownload(This,context) (This)->lpVtbl->BeginDownload(This,context) 670 #define IDWriteFontDownloadQueue_CancelDownload(This) (This)->lpVtbl->CancelDownload(This) 671 #define IDWriteFontDownloadQueue_GetGenerationCount(This) (This)->lpVtbl->GetGenerationCount(This) 672 #else 673 /*** IUnknown methods ***/ 674 static FORCEINLINE HRESULT IDWriteFontDownloadQueue_QueryInterface(IDWriteFontDownloadQueue* This,REFIID riid,void **ppvObject) { 675 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 676 } 677 static FORCEINLINE ULONG IDWriteFontDownloadQueue_AddRef(IDWriteFontDownloadQueue* This) { 678 return This->lpVtbl->AddRef(This); 679 } 680 static FORCEINLINE ULONG IDWriteFontDownloadQueue_Release(IDWriteFontDownloadQueue* This) { 681 return This->lpVtbl->Release(This); 682 } 683 /*** IDWriteFontDownloadQueue methods ***/ 684 static FORCEINLINE HRESULT IDWriteFontDownloadQueue_AddListener(IDWriteFontDownloadQueue* This,IDWriteFontDownloadListener *listener,UINT32 *token) { 685 return This->lpVtbl->AddListener(This,listener,token); 686 } 687 static FORCEINLINE HRESULT IDWriteFontDownloadQueue_RemoveListener(IDWriteFontDownloadQueue* This,UINT32 token) { 688 return This->lpVtbl->RemoveListener(This,token); 689 } 690 static FORCEINLINE WINBOOL IDWriteFontDownloadQueue_IsEmpty(IDWriteFontDownloadQueue* This) { 691 return This->lpVtbl->IsEmpty(This); 692 } 693 static FORCEINLINE HRESULT IDWriteFontDownloadQueue_BeginDownload(IDWriteFontDownloadQueue* This,IUnknown *context) { 694 return This->lpVtbl->BeginDownload(This,context); 695 } 696 static FORCEINLINE HRESULT IDWriteFontDownloadQueue_CancelDownload(IDWriteFontDownloadQueue* This) { 697 return This->lpVtbl->CancelDownload(This); 698 } 699 static FORCEINLINE UINT64 IDWriteFontDownloadQueue_GetGenerationCount(IDWriteFontDownloadQueue* This) { 700 return This->lpVtbl->GetGenerationCount(This); 701 } 702 #endif 703 #endif 704 705 #endif 706 707 708 #endif /* __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ */ 709 710 /***************************************************************************** 711 * IDWriteRenderingParams3 interface 712 */ 713 #ifndef __IDWriteRenderingParams3_INTERFACE_DEFINED__ 714 #define __IDWriteRenderingParams3_INTERFACE_DEFINED__ 715 716 DEFINE_GUID(IID_IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c,0x5c, 0xe4,0x4c,0xc2,0xd8,0x67,0xdc); 717 #if defined(__cplusplus) && !defined(CINTERFACE) 718 MIDL_INTERFACE("b7924baa-391b-412a-8c5c-e44cc2d867dc") 719 IDWriteRenderingParams3 : public IDWriteRenderingParams2 720 { 721 virtual DWRITE_RENDERING_MODE1 STDMETHODCALLTYPE GetRenderingMode1( 722 ) = 0; 723 724 }; 725 #ifdef __CRT_UUID_DECL 726 __CRT_UUID_DECL(IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c,0x5c, 0xe4,0x4c,0xc2,0xd8,0x67,0xdc) 727 #endif 728 #else 729 typedef struct IDWriteRenderingParams3Vtbl { 730 BEGIN_INTERFACE 731 732 /*** IUnknown methods ***/ 733 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 734 IDWriteRenderingParams3 *This, 735 REFIID riid, 736 void **ppvObject); 737 738 ULONG (STDMETHODCALLTYPE *AddRef)( 739 IDWriteRenderingParams3 *This); 740 741 ULONG (STDMETHODCALLTYPE *Release)( 742 IDWriteRenderingParams3 *This); 743 744 /*** IDWriteRenderingParams methods ***/ 745 FLOAT (STDMETHODCALLTYPE *GetGamma)( 746 IDWriteRenderingParams3 *This); 747 748 FLOAT (STDMETHODCALLTYPE *GetEnhancedContrast)( 749 IDWriteRenderingParams3 *This); 750 751 FLOAT (STDMETHODCALLTYPE *GetClearTypeLevel)( 752 IDWriteRenderingParams3 *This); 753 754 DWRITE_PIXEL_GEOMETRY (STDMETHODCALLTYPE *GetPixelGeometry)( 755 IDWriteRenderingParams3 *This); 756 757 DWRITE_RENDERING_MODE (STDMETHODCALLTYPE *GetRenderingMode)( 758 IDWriteRenderingParams3 *This); 759 760 /*** IDWriteRenderingParams1 methods ***/ 761 FLOAT (STDMETHODCALLTYPE *GetGrayscaleEnhancedContrast)( 762 IDWriteRenderingParams3 *This); 763 764 /*** IDWriteRenderingParams2 methods ***/ 765 DWRITE_GRID_FIT_MODE (STDMETHODCALLTYPE *GetGridFitMode)( 766 IDWriteRenderingParams3 *This); 767 768 /*** IDWriteRenderingParams3 methods ***/ 769 DWRITE_RENDERING_MODE1 (STDMETHODCALLTYPE *GetRenderingMode1)( 770 IDWriteRenderingParams3 *This); 771 772 END_INTERFACE 773 } IDWriteRenderingParams3Vtbl; 774 775 interface IDWriteRenderingParams3 { 776 CONST_VTBL IDWriteRenderingParams3Vtbl* lpVtbl; 777 }; 778 779 #ifdef COBJMACROS 780 #ifndef WIDL_C_INLINE_WRAPPERS 781 /*** IUnknown methods ***/ 782 #define IDWriteRenderingParams3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 783 #define IDWriteRenderingParams3_AddRef(This) (This)->lpVtbl->AddRef(This) 784 #define IDWriteRenderingParams3_Release(This) (This)->lpVtbl->Release(This) 785 /*** IDWriteRenderingParams methods ***/ 786 #define IDWriteRenderingParams3_GetGamma(This) (This)->lpVtbl->GetGamma(This) 787 #define IDWriteRenderingParams3_GetEnhancedContrast(This) (This)->lpVtbl->GetEnhancedContrast(This) 788 #define IDWriteRenderingParams3_GetClearTypeLevel(This) (This)->lpVtbl->GetClearTypeLevel(This) 789 #define IDWriteRenderingParams3_GetPixelGeometry(This) (This)->lpVtbl->GetPixelGeometry(This) 790 #define IDWriteRenderingParams3_GetRenderingMode(This) (This)->lpVtbl->GetRenderingMode(This) 791 /*** IDWriteRenderingParams1 methods ***/ 792 #define IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(This) (This)->lpVtbl->GetGrayscaleEnhancedContrast(This) 793 /*** IDWriteRenderingParams2 methods ***/ 794 #define IDWriteRenderingParams3_GetGridFitMode(This) (This)->lpVtbl->GetGridFitMode(This) 795 /*** IDWriteRenderingParams3 methods ***/ 796 #define IDWriteRenderingParams3_GetRenderingMode1(This) (This)->lpVtbl->GetRenderingMode1(This) 797 #else 798 /*** IUnknown methods ***/ 799 static FORCEINLINE HRESULT IDWriteRenderingParams3_QueryInterface(IDWriteRenderingParams3* This,REFIID riid,void **ppvObject) { 800 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 801 } 802 static FORCEINLINE ULONG IDWriteRenderingParams3_AddRef(IDWriteRenderingParams3* This) { 803 return This->lpVtbl->AddRef(This); 804 } 805 static FORCEINLINE ULONG IDWriteRenderingParams3_Release(IDWriteRenderingParams3* This) { 806 return This->lpVtbl->Release(This); 807 } 808 /*** IDWriteRenderingParams methods ***/ 809 static FORCEINLINE FLOAT IDWriteRenderingParams3_GetGamma(IDWriteRenderingParams3* This) { 810 return This->lpVtbl->GetGamma(This); 811 } 812 static FORCEINLINE FLOAT IDWriteRenderingParams3_GetEnhancedContrast(IDWriteRenderingParams3* This) { 813 return This->lpVtbl->GetEnhancedContrast(This); 814 } 815 static FORCEINLINE FLOAT IDWriteRenderingParams3_GetClearTypeLevel(IDWriteRenderingParams3* This) { 816 return This->lpVtbl->GetClearTypeLevel(This); 817 } 818 static FORCEINLINE DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams3_GetPixelGeometry(IDWriteRenderingParams3* This) { 819 return This->lpVtbl->GetPixelGeometry(This); 820 } 821 static FORCEINLINE DWRITE_RENDERING_MODE IDWriteRenderingParams3_GetRenderingMode(IDWriteRenderingParams3* This) { 822 return This->lpVtbl->GetRenderingMode(This); 823 } 824 /*** IDWriteRenderingParams1 methods ***/ 825 static FORCEINLINE FLOAT IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(IDWriteRenderingParams3* This) { 826 return This->lpVtbl->GetGrayscaleEnhancedContrast(This); 827 } 828 /*** IDWriteRenderingParams2 methods ***/ 829 static FORCEINLINE DWRITE_GRID_FIT_MODE IDWriteRenderingParams3_GetGridFitMode(IDWriteRenderingParams3* This) { 830 return This->lpVtbl->GetGridFitMode(This); 831 } 832 /*** IDWriteRenderingParams3 methods ***/ 833 static FORCEINLINE DWRITE_RENDERING_MODE1 IDWriteRenderingParams3_GetRenderingMode1(IDWriteRenderingParams3* This) { 834 return This->lpVtbl->GetRenderingMode1(This); 835 } 836 #endif 837 #endif 838 839 #endif 840 841 842 #endif /* __IDWriteRenderingParams3_INTERFACE_DEFINED__ */ 843 844 /***************************************************************************** 845 * IDWriteStringList interface 846 */ 847 #ifndef __IDWriteStringList_INTERFACE_DEFINED__ 848 #define __IDWriteStringList_INTERFACE_DEFINED__ 849 850 DEFINE_GUID(IID_IDWriteStringList, 0xcfee3140, 0x1257, 0x47ca, 0x8b,0x85, 0x31,0xbf,0xcf,0x3f,0x2d,0x0e); 851 #if defined(__cplusplus) && !defined(CINTERFACE) 852 MIDL_INTERFACE("cfee3140-1257-47ca-8b85-31bfcf3f2d0e") 853 IDWriteStringList : public IUnknown 854 { 855 virtual UINT32 STDMETHODCALLTYPE GetCount( 856 ) = 0; 857 858 virtual HRESULT STDMETHODCALLTYPE GetLocaleNameLength( 859 UINT32 index, 860 UINT32 *length) = 0; 861 862 virtual HRESULT STDMETHODCALLTYPE GetLocaleName( 863 UINT32 index, 864 WCHAR *name, 865 UINT32 size) = 0; 866 867 virtual HRESULT STDMETHODCALLTYPE GetStringLength( 868 UINT32 index, 869 UINT32 *length) = 0; 870 871 virtual HRESULT STDMETHODCALLTYPE GetString( 872 UINT32 index, 873 WCHAR *string, 874 UINT32 size) = 0; 875 876 }; 877 #ifdef __CRT_UUID_DECL 878 __CRT_UUID_DECL(IDWriteStringList, 0xcfee3140, 0x1257, 0x47ca, 0x8b,0x85, 0x31,0xbf,0xcf,0x3f,0x2d,0x0e) 879 #endif 880 #else 881 typedef struct IDWriteStringListVtbl { 882 BEGIN_INTERFACE 883 884 /*** IUnknown methods ***/ 885 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 886 IDWriteStringList *This, 887 REFIID riid, 888 void **ppvObject); 889 890 ULONG (STDMETHODCALLTYPE *AddRef)( 891 IDWriteStringList *This); 892 893 ULONG (STDMETHODCALLTYPE *Release)( 894 IDWriteStringList *This); 895 896 /*** IDWriteStringList methods ***/ 897 UINT32 (STDMETHODCALLTYPE *GetCount)( 898 IDWriteStringList *This); 899 900 HRESULT (STDMETHODCALLTYPE *GetLocaleNameLength)( 901 IDWriteStringList *This, 902 UINT32 index, 903 UINT32 *length); 904 905 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 906 IDWriteStringList *This, 907 UINT32 index, 908 WCHAR *name, 909 UINT32 size); 910 911 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 912 IDWriteStringList *This, 913 UINT32 index, 914 UINT32 *length); 915 916 HRESULT (STDMETHODCALLTYPE *GetString)( 917 IDWriteStringList *This, 918 UINT32 index, 919 WCHAR *string, 920 UINT32 size); 921 922 END_INTERFACE 923 } IDWriteStringListVtbl; 924 925 interface IDWriteStringList { 926 CONST_VTBL IDWriteStringListVtbl* lpVtbl; 927 }; 928 929 #ifdef COBJMACROS 930 #ifndef WIDL_C_INLINE_WRAPPERS 931 /*** IUnknown methods ***/ 932 #define IDWriteStringList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 933 #define IDWriteStringList_AddRef(This) (This)->lpVtbl->AddRef(This) 934 #define IDWriteStringList_Release(This) (This)->lpVtbl->Release(This) 935 /*** IDWriteStringList methods ***/ 936 #define IDWriteStringList_GetCount(This) (This)->lpVtbl->GetCount(This) 937 #define IDWriteStringList_GetLocaleNameLength(This,index,length) (This)->lpVtbl->GetLocaleNameLength(This,index,length) 938 #define IDWriteStringList_GetLocaleName(This,index,name,size) (This)->lpVtbl->GetLocaleName(This,index,name,size) 939 #define IDWriteStringList_GetStringLength(This,index,length) (This)->lpVtbl->GetStringLength(This,index,length) 940 #define IDWriteStringList_GetString(This,index,string,size) (This)->lpVtbl->GetString(This,index,string,size) 941 #else 942 /*** IUnknown methods ***/ 943 static FORCEINLINE HRESULT IDWriteStringList_QueryInterface(IDWriteStringList* This,REFIID riid,void **ppvObject) { 944 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 945 } 946 static FORCEINLINE ULONG IDWriteStringList_AddRef(IDWriteStringList* This) { 947 return This->lpVtbl->AddRef(This); 948 } 949 static FORCEINLINE ULONG IDWriteStringList_Release(IDWriteStringList* This) { 950 return This->lpVtbl->Release(This); 951 } 952 /*** IDWriteStringList methods ***/ 953 static FORCEINLINE UINT32 IDWriteStringList_GetCount(IDWriteStringList* This) { 954 return This->lpVtbl->GetCount(This); 955 } 956 static FORCEINLINE HRESULT IDWriteStringList_GetLocaleNameLength(IDWriteStringList* This,UINT32 index,UINT32 *length) { 957 return This->lpVtbl->GetLocaleNameLength(This,index,length); 958 } 959 static FORCEINLINE HRESULT IDWriteStringList_GetLocaleName(IDWriteStringList* This,UINT32 index,WCHAR *name,UINT32 size) { 960 return This->lpVtbl->GetLocaleName(This,index,name,size); 961 } 962 static FORCEINLINE HRESULT IDWriteStringList_GetStringLength(IDWriteStringList* This,UINT32 index,UINT32 *length) { 963 return This->lpVtbl->GetStringLength(This,index,length); 964 } 965 static FORCEINLINE HRESULT IDWriteStringList_GetString(IDWriteStringList* This,UINT32 index,WCHAR *string,UINT32 size) { 966 return This->lpVtbl->GetString(This,index,string,size); 967 } 968 #endif 969 #endif 970 971 #endif 972 973 974 #endif /* __IDWriteStringList_INTERFACE_DEFINED__ */ 975 976 /***************************************************************************** 977 * IDWriteFontSet interface 978 */ 979 #ifndef __IDWriteFontSet_INTERFACE_DEFINED__ 980 #define __IDWriteFontSet_INTERFACE_DEFINED__ 981 982 DEFINE_GUID(IID_IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6b); 983 #if defined(__cplusplus) && !defined(CINTERFACE) 984 MIDL_INTERFACE("53585141-d9f8-4095-8321-d73cf6bd116b") 985 IDWriteFontSet : public IUnknown 986 { 987 virtual UINT32 STDMETHODCALLTYPE GetFontCount( 988 ) = 0; 989 990 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 991 UINT32 index, 992 IDWriteFontFaceReference **reference) = 0; 993 994 virtual HRESULT STDMETHODCALLTYPE FindFontFaceReference( 995 IDWriteFontFaceReference *reference, 996 UINT32 *index, 997 WINBOOL *exists) = 0; 998 999 virtual HRESULT STDMETHODCALLTYPE FindFontFace( 1000 IDWriteFontFace *fontface, 1001 UINT32 *index, 1002 WINBOOL *exists) = 0; 1003 1004 virtual HRESULT STDMETHODCALLTYPE GetPropertyValues__( 1005 DWRITE_FONT_PROPERTY_ID id, 1006 IDWriteStringList **values) = 0; 1007 1008 virtual HRESULT STDMETHODCALLTYPE GetPropertyValues_( 1009 DWRITE_FONT_PROPERTY_ID id, 1010 const WCHAR *preferred_locales, 1011 IDWriteStringList **values) = 0; 1012 1013 virtual HRESULT STDMETHODCALLTYPE GetPropertyValues( 1014 UINT32 index, 1015 DWRITE_FONT_PROPERTY_ID id, 1016 WINBOOL *exists, 1017 IDWriteLocalizedStrings **values) = 0; 1018 1019 virtual HRESULT STDMETHODCALLTYPE GetPropertyOccurrenceCount( 1020 const DWRITE_FONT_PROPERTY *property, 1021 UINT32 *count) = 0; 1022 1023 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts_( 1024 const WCHAR *family, 1025 DWRITE_FONT_WEIGHT weight, 1026 DWRITE_FONT_STRETCH stretch, 1027 DWRITE_FONT_STYLE style, 1028 IDWriteFontSet **fontset) = 0; 1029 1030 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 1031 const DWRITE_FONT_PROPERTY *props, 1032 UINT32 count, 1033 IDWriteFontSet **fontset) = 0; 1034 1035 }; 1036 #ifdef __CRT_UUID_DECL 1037 __CRT_UUID_DECL(IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6b) 1038 #endif 1039 #else 1040 typedef struct IDWriteFontSetVtbl { 1041 BEGIN_INTERFACE 1042 1043 /*** IUnknown methods ***/ 1044 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1045 IDWriteFontSet *This, 1046 REFIID riid, 1047 void **ppvObject); 1048 1049 ULONG (STDMETHODCALLTYPE *AddRef)( 1050 IDWriteFontSet *This); 1051 1052 ULONG (STDMETHODCALLTYPE *Release)( 1053 IDWriteFontSet *This); 1054 1055 /*** IDWriteFontSet methods ***/ 1056 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 1057 IDWriteFontSet *This); 1058 1059 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 1060 IDWriteFontSet *This, 1061 UINT32 index, 1062 IDWriteFontFaceReference **reference); 1063 1064 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 1065 IDWriteFontSet *This, 1066 IDWriteFontFaceReference *reference, 1067 UINT32 *index, 1068 WINBOOL *exists); 1069 1070 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 1071 IDWriteFontSet *This, 1072 IDWriteFontFace *fontface, 1073 UINT32 *index, 1074 WINBOOL *exists); 1075 1076 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 1077 IDWriteFontSet *This, 1078 DWRITE_FONT_PROPERTY_ID id, 1079 IDWriteStringList **values); 1080 1081 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 1082 IDWriteFontSet *This, 1083 DWRITE_FONT_PROPERTY_ID id, 1084 const WCHAR *preferred_locales, 1085 IDWriteStringList **values); 1086 1087 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 1088 IDWriteFontSet *This, 1089 UINT32 index, 1090 DWRITE_FONT_PROPERTY_ID id, 1091 WINBOOL *exists, 1092 IDWriteLocalizedStrings **values); 1093 1094 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 1095 IDWriteFontSet *This, 1096 const DWRITE_FONT_PROPERTY *property, 1097 UINT32 *count); 1098 1099 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 1100 IDWriteFontSet *This, 1101 const WCHAR *family, 1102 DWRITE_FONT_WEIGHT weight, 1103 DWRITE_FONT_STRETCH stretch, 1104 DWRITE_FONT_STYLE style, 1105 IDWriteFontSet **fontset); 1106 1107 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 1108 IDWriteFontSet *This, 1109 const DWRITE_FONT_PROPERTY *props, 1110 UINT32 count, 1111 IDWriteFontSet **fontset); 1112 1113 END_INTERFACE 1114 } IDWriteFontSetVtbl; 1115 1116 interface IDWriteFontSet { 1117 CONST_VTBL IDWriteFontSetVtbl* lpVtbl; 1118 }; 1119 1120 #ifdef COBJMACROS 1121 #ifndef WIDL_C_INLINE_WRAPPERS 1122 /*** IUnknown methods ***/ 1123 #define IDWriteFontSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1124 #define IDWriteFontSet_AddRef(This) (This)->lpVtbl->AddRef(This) 1125 #define IDWriteFontSet_Release(This) (This)->lpVtbl->Release(This) 1126 /*** IDWriteFontSet methods ***/ 1127 #define IDWriteFontSet_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 1128 #define IDWriteFontSet_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 1129 #define IDWriteFontSet_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 1130 #define IDWriteFontSet_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 1131 #define IDWriteFontSet_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 1132 #define IDWriteFontSet_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 1133 #define IDWriteFontSet_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 1134 #define IDWriteFontSet_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 1135 #define IDWriteFontSet_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 1136 #define IDWriteFontSet_GetMatchingFonts(This,props,count,fontset) (This)->lpVtbl->GetMatchingFonts(This,props,count,fontset) 1137 #else 1138 /*** IUnknown methods ***/ 1139 static FORCEINLINE HRESULT IDWriteFontSet_QueryInterface(IDWriteFontSet* This,REFIID riid,void **ppvObject) { 1140 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1141 } 1142 static FORCEINLINE ULONG IDWriteFontSet_AddRef(IDWriteFontSet* This) { 1143 return This->lpVtbl->AddRef(This); 1144 } 1145 static FORCEINLINE ULONG IDWriteFontSet_Release(IDWriteFontSet* This) { 1146 return This->lpVtbl->Release(This); 1147 } 1148 /*** IDWriteFontSet methods ***/ 1149 static FORCEINLINE UINT32 IDWriteFontSet_GetFontCount(IDWriteFontSet* This) { 1150 return This->lpVtbl->GetFontCount(This); 1151 } 1152 static FORCEINLINE HRESULT IDWriteFontSet_GetFontFaceReference(IDWriteFontSet* This,UINT32 index,IDWriteFontFaceReference **reference) { 1153 return This->lpVtbl->GetFontFaceReference(This,index,reference); 1154 } 1155 static FORCEINLINE HRESULT IDWriteFontSet_FindFontFaceReference(IDWriteFontSet* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 1156 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 1157 } 1158 static FORCEINLINE HRESULT IDWriteFontSet_FindFontFace(IDWriteFontSet* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 1159 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 1160 } 1161 static FORCEINLINE HRESULT IDWriteFontSet_GetPropertyValues__(IDWriteFontSet* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 1162 return This->lpVtbl->GetPropertyValues__(This,id,values); 1163 } 1164 static FORCEINLINE HRESULT IDWriteFontSet_GetPropertyValues_(IDWriteFontSet* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 1165 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 1166 } 1167 static FORCEINLINE HRESULT IDWriteFontSet_GetPropertyValues(IDWriteFontSet* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 1168 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 1169 } 1170 static FORCEINLINE HRESULT IDWriteFontSet_GetPropertyOccurrenceCount(IDWriteFontSet* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 1171 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 1172 } 1173 static FORCEINLINE HRESULT IDWriteFontSet_GetMatchingFonts_(IDWriteFontSet* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 1174 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 1175 } 1176 static FORCEINLINE HRESULT IDWriteFontSet_GetMatchingFonts(IDWriteFontSet* This,const DWRITE_FONT_PROPERTY *props,UINT32 count,IDWriteFontSet **fontset) { 1177 return This->lpVtbl->GetMatchingFonts(This,props,count,fontset); 1178 } 1179 #endif 1180 #endif 1181 1182 #endif 1183 1184 1185 #endif /* __IDWriteFontSet_INTERFACE_DEFINED__ */ 1186 1187 /***************************************************************************** 1188 * IDWriteFontResource interface 1189 */ 1190 #ifndef __IDWriteFontResource_INTERFACE_DEFINED__ 1191 #define __IDWriteFontResource_INTERFACE_DEFINED__ 1192 1193 DEFINE_GUID(IID_IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98,0x7f, 0xb9,0x75,0x55,0x1c,0x50,0xf2); 1194 #if defined(__cplusplus) && !defined(CINTERFACE) 1195 MIDL_INTERFACE("1f803a76-6871-48e8-987f-b975551c50f2") 1196 IDWriteFontResource : public IUnknown 1197 { 1198 virtual HRESULT STDMETHODCALLTYPE GetFontFile( 1199 IDWriteFontFile **fontfile) = 0; 1200 1201 virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex( 1202 ) = 0; 1203 1204 virtual UINT32 STDMETHODCALLTYPE GetFontAxisCount( 1205 ) = 0; 1206 1207 virtual HRESULT STDMETHODCALLTYPE GetDefaultFontAxisValues( 1208 const DWRITE_FONT_AXIS_VALUE *values, 1209 UINT32 num_values) = 0; 1210 1211 virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges( 1212 const DWRITE_FONT_AXIS_RANGE *ranges, 1213 UINT32 num_ranges) = 0; 1214 1215 virtual DWRITE_FONT_AXIS_ATTRIBUTES STDMETHODCALLTYPE GetFontAxisAttributes( 1216 UINT32 axis) = 0; 1217 1218 virtual HRESULT STDMETHODCALLTYPE GetAxisNames( 1219 UINT32 axis, 1220 IDWriteLocalizedStrings **names) = 0; 1221 1222 virtual UINT32 STDMETHODCALLTYPE GetAxisValueNameCount( 1223 UINT32 axis) = 0; 1224 1225 virtual HRESULT STDMETHODCALLTYPE GetAxisValueNames( 1226 UINT32 axis, 1227 UINT32 axis_value, 1228 DWRITE_FONT_AXIS_RANGE *axis_range, 1229 IDWriteLocalizedStrings **names) = 0; 1230 1231 virtual WINBOOL STDMETHODCALLTYPE HasVariations( 1232 ) = 0; 1233 1234 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 1235 DWRITE_FONT_SIMULATIONS simulations, 1236 const DWRITE_FONT_AXIS_VALUE *axis_values, 1237 UINT32 num_values, 1238 IDWriteFontFace5 **fontface) = 0; 1239 1240 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( 1241 DWRITE_FONT_SIMULATIONS simulations, 1242 const DWRITE_FONT_AXIS_VALUE *axis_values, 1243 UINT32 num_values, 1244 IDWriteFontFaceReference1 **reference) = 0; 1245 1246 }; 1247 #ifdef __CRT_UUID_DECL 1248 __CRT_UUID_DECL(IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98,0x7f, 0xb9,0x75,0x55,0x1c,0x50,0xf2) 1249 #endif 1250 #else 1251 typedef struct IDWriteFontResourceVtbl { 1252 BEGIN_INTERFACE 1253 1254 /*** IUnknown methods ***/ 1255 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1256 IDWriteFontResource *This, 1257 REFIID riid, 1258 void **ppvObject); 1259 1260 ULONG (STDMETHODCALLTYPE *AddRef)( 1261 IDWriteFontResource *This); 1262 1263 ULONG (STDMETHODCALLTYPE *Release)( 1264 IDWriteFontResource *This); 1265 1266 /*** IDWriteFontResource methods ***/ 1267 HRESULT (STDMETHODCALLTYPE *GetFontFile)( 1268 IDWriteFontResource *This, 1269 IDWriteFontFile **fontfile); 1270 1271 UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( 1272 IDWriteFontResource *This); 1273 1274 UINT32 (STDMETHODCALLTYPE *GetFontAxisCount)( 1275 IDWriteFontResource *This); 1276 1277 HRESULT (STDMETHODCALLTYPE *GetDefaultFontAxisValues)( 1278 IDWriteFontResource *This, 1279 const DWRITE_FONT_AXIS_VALUE *values, 1280 UINT32 num_values); 1281 1282 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 1283 IDWriteFontResource *This, 1284 const DWRITE_FONT_AXIS_RANGE *ranges, 1285 UINT32 num_ranges); 1286 1287 DWRITE_FONT_AXIS_ATTRIBUTES (STDMETHODCALLTYPE *GetFontAxisAttributes)( 1288 IDWriteFontResource *This, 1289 UINT32 axis); 1290 1291 HRESULT (STDMETHODCALLTYPE *GetAxisNames)( 1292 IDWriteFontResource *This, 1293 UINT32 axis, 1294 IDWriteLocalizedStrings **names); 1295 1296 UINT32 (STDMETHODCALLTYPE *GetAxisValueNameCount)( 1297 IDWriteFontResource *This, 1298 UINT32 axis); 1299 1300 HRESULT (STDMETHODCALLTYPE *GetAxisValueNames)( 1301 IDWriteFontResource *This, 1302 UINT32 axis, 1303 UINT32 axis_value, 1304 DWRITE_FONT_AXIS_RANGE *axis_range, 1305 IDWriteLocalizedStrings **names); 1306 1307 WINBOOL (STDMETHODCALLTYPE *HasVariations)( 1308 IDWriteFontResource *This); 1309 1310 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 1311 IDWriteFontResource *This, 1312 DWRITE_FONT_SIMULATIONS simulations, 1313 const DWRITE_FONT_AXIS_VALUE *axis_values, 1314 UINT32 num_values, 1315 IDWriteFontFace5 **fontface); 1316 1317 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 1318 IDWriteFontResource *This, 1319 DWRITE_FONT_SIMULATIONS simulations, 1320 const DWRITE_FONT_AXIS_VALUE *axis_values, 1321 UINT32 num_values, 1322 IDWriteFontFaceReference1 **reference); 1323 1324 END_INTERFACE 1325 } IDWriteFontResourceVtbl; 1326 1327 interface IDWriteFontResource { 1328 CONST_VTBL IDWriteFontResourceVtbl* lpVtbl; 1329 }; 1330 1331 #ifdef COBJMACROS 1332 #ifndef WIDL_C_INLINE_WRAPPERS 1333 /*** IUnknown methods ***/ 1334 #define IDWriteFontResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1335 #define IDWriteFontResource_AddRef(This) (This)->lpVtbl->AddRef(This) 1336 #define IDWriteFontResource_Release(This) (This)->lpVtbl->Release(This) 1337 /*** IDWriteFontResource methods ***/ 1338 #define IDWriteFontResource_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) 1339 #define IDWriteFontResource_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) 1340 #define IDWriteFontResource_GetFontAxisCount(This) (This)->lpVtbl->GetFontAxisCount(This) 1341 #define IDWriteFontResource_GetDefaultFontAxisValues(This,values,num_values) (This)->lpVtbl->GetDefaultFontAxisValues(This,values,num_values) 1342 #define IDWriteFontResource_GetFontAxisRanges(This,ranges,num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,ranges,num_ranges) 1343 #define IDWriteFontResource_GetFontAxisAttributes(This,axis) (This)->lpVtbl->GetFontAxisAttributes(This,axis) 1344 #define IDWriteFontResource_GetAxisNames(This,axis,names) (This)->lpVtbl->GetAxisNames(This,axis,names) 1345 #define IDWriteFontResource_GetAxisValueNameCount(This,axis) (This)->lpVtbl->GetAxisValueNameCount(This,axis) 1346 #define IDWriteFontResource_GetAxisValueNames(This,axis,axis_value,axis_range,names) (This)->lpVtbl->GetAxisValueNames(This,axis,axis_value,axis_range,names) 1347 #define IDWriteFontResource_HasVariations(This) (This)->lpVtbl->HasVariations(This) 1348 #define IDWriteFontResource_CreateFontFace(This,simulations,axis_values,num_values,fontface) (This)->lpVtbl->CreateFontFace(This,simulations,axis_values,num_values,fontface) 1349 #define IDWriteFontResource_CreateFontFaceReference(This,simulations,axis_values,num_values,reference) (This)->lpVtbl->CreateFontFaceReference(This,simulations,axis_values,num_values,reference) 1350 #else 1351 /*** IUnknown methods ***/ 1352 static FORCEINLINE HRESULT IDWriteFontResource_QueryInterface(IDWriteFontResource* This,REFIID riid,void **ppvObject) { 1353 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1354 } 1355 static FORCEINLINE ULONG IDWriteFontResource_AddRef(IDWriteFontResource* This) { 1356 return This->lpVtbl->AddRef(This); 1357 } 1358 static FORCEINLINE ULONG IDWriteFontResource_Release(IDWriteFontResource* This) { 1359 return This->lpVtbl->Release(This); 1360 } 1361 /*** IDWriteFontResource methods ***/ 1362 static FORCEINLINE HRESULT IDWriteFontResource_GetFontFile(IDWriteFontResource* This,IDWriteFontFile **fontfile) { 1363 return This->lpVtbl->GetFontFile(This,fontfile); 1364 } 1365 static FORCEINLINE UINT32 IDWriteFontResource_GetFontFaceIndex(IDWriteFontResource* This) { 1366 return This->lpVtbl->GetFontFaceIndex(This); 1367 } 1368 static FORCEINLINE UINT32 IDWriteFontResource_GetFontAxisCount(IDWriteFontResource* This) { 1369 return This->lpVtbl->GetFontAxisCount(This); 1370 } 1371 static FORCEINLINE HRESULT IDWriteFontResource_GetDefaultFontAxisValues(IDWriteFontResource* This,const DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values) { 1372 return This->lpVtbl->GetDefaultFontAxisValues(This,values,num_values); 1373 } 1374 static FORCEINLINE HRESULT IDWriteFontResource_GetFontAxisRanges(IDWriteFontResource* This,const DWRITE_FONT_AXIS_RANGE *ranges,UINT32 num_ranges) { 1375 return This->lpVtbl->GetFontAxisRanges(This,ranges,num_ranges); 1376 } 1377 static FORCEINLINE DWRITE_FONT_AXIS_ATTRIBUTES IDWriteFontResource_GetFontAxisAttributes(IDWriteFontResource* This,UINT32 axis) { 1378 return This->lpVtbl->GetFontAxisAttributes(This,axis); 1379 } 1380 static FORCEINLINE HRESULT IDWriteFontResource_GetAxisNames(IDWriteFontResource* This,UINT32 axis,IDWriteLocalizedStrings **names) { 1381 return This->lpVtbl->GetAxisNames(This,axis,names); 1382 } 1383 static FORCEINLINE UINT32 IDWriteFontResource_GetAxisValueNameCount(IDWriteFontResource* This,UINT32 axis) { 1384 return This->lpVtbl->GetAxisValueNameCount(This,axis); 1385 } 1386 static FORCEINLINE HRESULT IDWriteFontResource_GetAxisValueNames(IDWriteFontResource* This,UINT32 axis,UINT32 axis_value,DWRITE_FONT_AXIS_RANGE *axis_range,IDWriteLocalizedStrings **names) { 1387 return This->lpVtbl->GetAxisValueNames(This,axis,axis_value,axis_range,names); 1388 } 1389 static FORCEINLINE WINBOOL IDWriteFontResource_HasVariations(IDWriteFontResource* This) { 1390 return This->lpVtbl->HasVariations(This); 1391 } 1392 static FORCEINLINE HRESULT IDWriteFontResource_CreateFontFace(IDWriteFontResource* This,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontFace5 **fontface) { 1393 return This->lpVtbl->CreateFontFace(This,simulations,axis_values,num_values,fontface); 1394 } 1395 static FORCEINLINE HRESULT IDWriteFontResource_CreateFontFaceReference(IDWriteFontResource* This,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontFaceReference1 **reference) { 1396 return This->lpVtbl->CreateFontFaceReference(This,simulations,axis_values,num_values,reference); 1397 } 1398 #endif 1399 #endif 1400 1401 #endif 1402 1403 1404 #endif /* __IDWriteFontResource_INTERFACE_DEFINED__ */ 1405 1406 /***************************************************************************** 1407 * IDWriteFontSet1 interface 1408 */ 1409 #ifndef __IDWriteFontSet1_INTERFACE_DEFINED__ 1410 #define __IDWriteFontSet1_INTERFACE_DEFINED__ 1411 1412 DEFINE_GUID(IID_IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc,0x47, 0x7a,0xe3,0x53,0x0d,0xb4,0xd3); 1413 #if defined(__cplusplus) && !defined(CINTERFACE) 1414 MIDL_INTERFACE("7e9fda85-6c92-4053-bc47-7ae3530db4d3") 1415 IDWriteFontSet1 : public IDWriteFontSet 1416 { 1417 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 1418 const DWRITE_FONT_PROPERTY *property, 1419 const DWRITE_FONT_AXIS_VALUE *axis_values, 1420 UINT32 num_values, 1421 IDWriteFontSet1 **fontset) = 0; 1422 1423 virtual HRESULT STDMETHODCALLTYPE GetFirstFontResources( 1424 IDWriteFontSet1 **fontset) = 0; 1425 1426 virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts__( 1427 const UINT32 *indices, 1428 UINT32 num_indices, 1429 IDWriteFontSet1 **fontset) = 0; 1430 1431 virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts_( 1432 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 1433 UINT32 num_ranges, 1434 WINBOOL select_any_range, 1435 IDWriteFontSet1 **fontset) = 0; 1436 1437 virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts( 1438 const DWRITE_FONT_PROPERTY *props, 1439 UINT32 num_properties, 1440 WINBOOL select_any_property, 1441 IDWriteFontSet1 **fontset) = 0; 1442 1443 virtual HRESULT STDMETHODCALLTYPE GetFilteredFontIndices_( 1444 const DWRITE_FONT_AXIS_RANGE *ranges, 1445 UINT32 num_ranges, 1446 WINBOOL select_any_range, 1447 UINT32 *indices, 1448 UINT32 num_indices, 1449 UINT32 *actual_num_indices) = 0; 1450 1451 virtual HRESULT STDMETHODCALLTYPE GetFilteredFontIndices( 1452 const DWRITE_FONT_PROPERTY *props, 1453 UINT32 num_properties, 1454 WINBOOL select_any_range, 1455 UINT32 *indices, 1456 UINT32 num_indices, 1457 UINT32 *actual_num_indices) = 0; 1458 1459 virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges_( 1460 UINT32 font_index, 1461 DWRITE_FONT_AXIS_RANGE *axis_ranges, 1462 UINT32 num_ranges, 1463 UINT32 *actual_num_ranges) = 0; 1464 1465 virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges( 1466 DWRITE_FONT_AXIS_RANGE *axis_ranges, 1467 UINT32 num_ranges, 1468 UINT32 *actual_num_ranges) = 0; 1469 1470 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 1471 UINT32 index, 1472 IDWriteFontFaceReference1 **reference) = 0; 1473 1474 virtual HRESULT STDMETHODCALLTYPE CreateFontResource( 1475 UINT32 index, 1476 IDWriteFontResource **resource) = 0; 1477 1478 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 1479 UINT32 index, 1480 IDWriteFontFace5 **fontface) = 0; 1481 1482 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( 1483 UINT32 index) = 0; 1484 1485 }; 1486 #ifdef __CRT_UUID_DECL 1487 __CRT_UUID_DECL(IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc,0x47, 0x7a,0xe3,0x53,0x0d,0xb4,0xd3) 1488 #endif 1489 #else 1490 typedef struct IDWriteFontSet1Vtbl { 1491 BEGIN_INTERFACE 1492 1493 /*** IUnknown methods ***/ 1494 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1495 IDWriteFontSet1 *This, 1496 REFIID riid, 1497 void **ppvObject); 1498 1499 ULONG (STDMETHODCALLTYPE *AddRef)( 1500 IDWriteFontSet1 *This); 1501 1502 ULONG (STDMETHODCALLTYPE *Release)( 1503 IDWriteFontSet1 *This); 1504 1505 /*** IDWriteFontSet methods ***/ 1506 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 1507 IDWriteFontSet1 *This); 1508 1509 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 1510 IDWriteFontSet1 *This, 1511 UINT32 index, 1512 IDWriteFontFaceReference **reference); 1513 1514 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 1515 IDWriteFontSet1 *This, 1516 IDWriteFontFaceReference *reference, 1517 UINT32 *index, 1518 WINBOOL *exists); 1519 1520 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 1521 IDWriteFontSet1 *This, 1522 IDWriteFontFace *fontface, 1523 UINT32 *index, 1524 WINBOOL *exists); 1525 1526 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 1527 IDWriteFontSet1 *This, 1528 DWRITE_FONT_PROPERTY_ID id, 1529 IDWriteStringList **values); 1530 1531 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 1532 IDWriteFontSet1 *This, 1533 DWRITE_FONT_PROPERTY_ID id, 1534 const WCHAR *preferred_locales, 1535 IDWriteStringList **values); 1536 1537 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 1538 IDWriteFontSet1 *This, 1539 UINT32 index, 1540 DWRITE_FONT_PROPERTY_ID id, 1541 WINBOOL *exists, 1542 IDWriteLocalizedStrings **values); 1543 1544 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 1545 IDWriteFontSet1 *This, 1546 const DWRITE_FONT_PROPERTY *property, 1547 UINT32 *count); 1548 1549 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 1550 IDWriteFontSet1 *This, 1551 const WCHAR *family, 1552 DWRITE_FONT_WEIGHT weight, 1553 DWRITE_FONT_STRETCH stretch, 1554 DWRITE_FONT_STYLE style, 1555 IDWriteFontSet **fontset); 1556 1557 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 1558 IDWriteFontSet1 *This, 1559 const DWRITE_FONT_PROPERTY *props, 1560 UINT32 count, 1561 IDWriteFontSet **fontset); 1562 1563 /*** IDWriteFontSet1 methods ***/ 1564 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( 1565 IDWriteFontSet1 *This, 1566 const DWRITE_FONT_PROPERTY *property, 1567 const DWRITE_FONT_AXIS_VALUE *axis_values, 1568 UINT32 num_values, 1569 IDWriteFontSet1 **fontset); 1570 1571 HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( 1572 IDWriteFontSet1 *This, 1573 IDWriteFontSet1 **fontset); 1574 1575 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( 1576 IDWriteFontSet1 *This, 1577 const UINT32 *indices, 1578 UINT32 num_indices, 1579 IDWriteFontSet1 **fontset); 1580 1581 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( 1582 IDWriteFontSet1 *This, 1583 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 1584 UINT32 num_ranges, 1585 WINBOOL select_any_range, 1586 IDWriteFontSet1 **fontset); 1587 1588 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( 1589 IDWriteFontSet1 *This, 1590 const DWRITE_FONT_PROPERTY *props, 1591 UINT32 num_properties, 1592 WINBOOL select_any_property, 1593 IDWriteFontSet1 **fontset); 1594 1595 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices_)( 1596 IDWriteFontSet1 *This, 1597 const DWRITE_FONT_AXIS_RANGE *ranges, 1598 UINT32 num_ranges, 1599 WINBOOL select_any_range, 1600 UINT32 *indices, 1601 UINT32 num_indices, 1602 UINT32 *actual_num_indices); 1603 1604 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( 1605 IDWriteFontSet1 *This, 1606 const DWRITE_FONT_PROPERTY *props, 1607 UINT32 num_properties, 1608 WINBOOL select_any_range, 1609 UINT32 *indices, 1610 UINT32 num_indices, 1611 UINT32 *actual_num_indices); 1612 1613 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( 1614 IDWriteFontSet1 *This, 1615 UINT32 font_index, 1616 DWRITE_FONT_AXIS_RANGE *axis_ranges, 1617 UINT32 num_ranges, 1618 UINT32 *actual_num_ranges); 1619 1620 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 1621 IDWriteFontSet1 *This, 1622 DWRITE_FONT_AXIS_RANGE *axis_ranges, 1623 UINT32 num_ranges, 1624 UINT32 *actual_num_ranges); 1625 1626 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( 1627 IDWriteFontSet1 *This, 1628 UINT32 index, 1629 IDWriteFontFaceReference1 **reference); 1630 1631 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 1632 IDWriteFontSet1 *This, 1633 UINT32 index, 1634 IDWriteFontResource **resource); 1635 1636 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 1637 IDWriteFontSet1 *This, 1638 UINT32 index, 1639 IDWriteFontFace5 **fontface); 1640 1641 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 1642 IDWriteFontSet1 *This, 1643 UINT32 index); 1644 1645 END_INTERFACE 1646 } IDWriteFontSet1Vtbl; 1647 1648 interface IDWriteFontSet1 { 1649 CONST_VTBL IDWriteFontSet1Vtbl* lpVtbl; 1650 }; 1651 1652 #ifdef COBJMACROS 1653 #ifndef WIDL_C_INLINE_WRAPPERS 1654 /*** IUnknown methods ***/ 1655 #define IDWriteFontSet1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1656 #define IDWriteFontSet1_AddRef(This) (This)->lpVtbl->AddRef(This) 1657 #define IDWriteFontSet1_Release(This) (This)->lpVtbl->Release(This) 1658 /*** IDWriteFontSet methods ***/ 1659 #define IDWriteFontSet1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 1660 #define IDWriteFontSet1_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 1661 #define IDWriteFontSet1_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 1662 #define IDWriteFontSet1_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 1663 #define IDWriteFontSet1_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 1664 #define IDWriteFontSet1_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 1665 #define IDWriteFontSet1_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 1666 #define IDWriteFontSet1_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 1667 /*** IDWriteFontSet1 methods ***/ 1668 #define IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) 1669 #define IDWriteFontSet1_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) 1670 #define IDWriteFontSet1_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) 1671 #define IDWriteFontSet1_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) 1672 #define IDWriteFontSet1_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) 1673 #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) 1674 #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) 1675 #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) 1676 #define IDWriteFontSet1_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) 1677 #define IDWriteFontSet1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) 1678 #define IDWriteFontSet1_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) 1679 #define IDWriteFontSet1_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) 1680 #define IDWriteFontSet1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 1681 #else 1682 /*** IUnknown methods ***/ 1683 static FORCEINLINE HRESULT IDWriteFontSet1_QueryInterface(IDWriteFontSet1* This,REFIID riid,void **ppvObject) { 1684 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1685 } 1686 static FORCEINLINE ULONG IDWriteFontSet1_AddRef(IDWriteFontSet1* This) { 1687 return This->lpVtbl->AddRef(This); 1688 } 1689 static FORCEINLINE ULONG IDWriteFontSet1_Release(IDWriteFontSet1* This) { 1690 return This->lpVtbl->Release(This); 1691 } 1692 /*** IDWriteFontSet methods ***/ 1693 static FORCEINLINE UINT32 IDWriteFontSet1_GetFontCount(IDWriteFontSet1* This) { 1694 return This->lpVtbl->GetFontCount(This); 1695 } 1696 static FORCEINLINE HRESULT IDWriteFontSet1_FindFontFaceReference(IDWriteFontSet1* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 1697 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 1698 } 1699 static FORCEINLINE HRESULT IDWriteFontSet1_FindFontFace(IDWriteFontSet1* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 1700 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 1701 } 1702 static FORCEINLINE HRESULT IDWriteFontSet1_GetPropertyValues__(IDWriteFontSet1* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 1703 return This->lpVtbl->GetPropertyValues__(This,id,values); 1704 } 1705 static FORCEINLINE HRESULT IDWriteFontSet1_GetPropertyValues_(IDWriteFontSet1* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 1706 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 1707 } 1708 static FORCEINLINE HRESULT IDWriteFontSet1_GetPropertyValues(IDWriteFontSet1* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 1709 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 1710 } 1711 static FORCEINLINE HRESULT IDWriteFontSet1_GetPropertyOccurrenceCount(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 1712 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 1713 } 1714 static FORCEINLINE HRESULT IDWriteFontSet1_GetMatchingFonts_(IDWriteFontSet1* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 1715 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 1716 } 1717 /*** IDWriteFontSet1 methods ***/ 1718 static FORCEINLINE HRESULT IDWriteFontSet1_GetMatchingFonts(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { 1719 return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); 1720 } 1721 static FORCEINLINE HRESULT IDWriteFontSet1_GetFirstFontResources(IDWriteFontSet1* This,IDWriteFontSet1 **fontset) { 1722 return This->lpVtbl->GetFirstFontResources(This,fontset); 1723 } 1724 static FORCEINLINE HRESULT IDWriteFontSet1_GetFilteredFonts__(IDWriteFontSet1* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { 1725 return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); 1726 } 1727 static FORCEINLINE HRESULT IDWriteFontSet1_GetFilteredFonts_(IDWriteFontSet1* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { 1728 return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); 1729 } 1730 static FORCEINLINE HRESULT IDWriteFontSet1_GetFilteredFonts(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { 1731 return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); 1732 } 1733 static FORCEINLINE 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) { 1734 return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); 1735 } 1736 static FORCEINLINE 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) { 1737 return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); 1738 } 1739 static FORCEINLINE HRESULT IDWriteFontSet1_GetFontAxisRanges_(IDWriteFontSet1* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 1740 return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); 1741 } 1742 static FORCEINLINE HRESULT IDWriteFontSet1_GetFontAxisRanges(IDWriteFontSet1* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 1743 return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); 1744 } 1745 static FORCEINLINE HRESULT IDWriteFontSet1_GetFontFaceReference(IDWriteFontSet1* This,UINT32 index,IDWriteFontFaceReference1 **reference) { 1746 return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); 1747 } 1748 static FORCEINLINE HRESULT IDWriteFontSet1_CreateFontResource(IDWriteFontSet1* This,UINT32 index,IDWriteFontResource **resource) { 1749 return This->lpVtbl->CreateFontResource(This,index,resource); 1750 } 1751 static FORCEINLINE HRESULT IDWriteFontSet1_CreateFontFace(IDWriteFontSet1* This,UINT32 index,IDWriteFontFace5 **fontface) { 1752 return This->lpVtbl->CreateFontFace(This,index,fontface); 1753 } 1754 static FORCEINLINE DWRITE_LOCALITY IDWriteFontSet1_GetFontLocality(IDWriteFontSet1* This,UINT32 index) { 1755 return This->lpVtbl->GetFontLocality(This,index); 1756 } 1757 #endif 1758 #endif 1759 1760 #endif 1761 1762 1763 #endif /* __IDWriteFontSet1_INTERFACE_DEFINED__ */ 1764 1765 /***************************************************************************** 1766 * IDWriteFont3 interface 1767 */ 1768 #ifndef __IDWriteFont3_INTERFACE_DEFINED__ 1769 #define __IDWriteFont3_INTERFACE_DEFINED__ 1770 1771 DEFINE_GUID(IID_IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe,0x0b, 0xd9,0x12,0xe8,0x53,0x89,0x44); 1772 #if defined(__cplusplus) && !defined(CINTERFACE) 1773 MIDL_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") 1774 IDWriteFont3 : public IDWriteFont2 1775 { 1776 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 1777 IDWriteFontFace3 **fontface) = 0; 1778 1779 virtual WINBOOL STDMETHODCALLTYPE Equals( 1780 IDWriteFont *font) = 0; 1781 1782 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 1783 IDWriteFontFaceReference **reference) = 0; 1784 1785 virtual WINBOOL STDMETHODCALLTYPE HasCharacter( 1786 UINT32 character) = 0; 1787 1788 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( 1789 ) = 0; 1790 1791 }; 1792 #ifdef __CRT_UUID_DECL 1793 __CRT_UUID_DECL(IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe,0x0b, 0xd9,0x12,0xe8,0x53,0x89,0x44) 1794 #endif 1795 #else 1796 typedef struct IDWriteFont3Vtbl { 1797 BEGIN_INTERFACE 1798 1799 /*** IUnknown methods ***/ 1800 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1801 IDWriteFont3 *This, 1802 REFIID riid, 1803 void **ppvObject); 1804 1805 ULONG (STDMETHODCALLTYPE *AddRef)( 1806 IDWriteFont3 *This); 1807 1808 ULONG (STDMETHODCALLTYPE *Release)( 1809 IDWriteFont3 *This); 1810 1811 /*** IDWriteFont methods ***/ 1812 HRESULT (STDMETHODCALLTYPE *GetFontFamily)( 1813 IDWriteFont3 *This, 1814 IDWriteFontFamily **family); 1815 1816 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 1817 IDWriteFont3 *This); 1818 1819 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 1820 IDWriteFont3 *This); 1821 1822 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 1823 IDWriteFont3 *This); 1824 1825 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 1826 IDWriteFont3 *This); 1827 1828 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 1829 IDWriteFont3 *This, 1830 IDWriteLocalizedStrings **names); 1831 1832 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 1833 IDWriteFont3 *This, 1834 DWRITE_INFORMATIONAL_STRING_ID stringid, 1835 IDWriteLocalizedStrings **strings, 1836 WINBOOL *exists); 1837 1838 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 1839 IDWriteFont3 *This); 1840 1841 void (STDMETHODCALLTYPE *GetMetrics)( 1842 IDWriteFont3 *This, 1843 DWRITE_FONT_METRICS *metrics); 1844 1845 HRESULT (STDMETHODCALLTYPE *HasCharacter)( 1846 IDWriteFont3 *This, 1847 UINT32 value, 1848 WINBOOL *exists); 1849 1850 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 1851 IDWriteFont3 *This, 1852 IDWriteFontFace **face); 1853 1854 /*** IDWriteFont1 methods ***/ 1855 void (STDMETHODCALLTYPE *IDWriteFont1_GetMetrics)( 1856 IDWriteFont3 *This, 1857 DWRITE_FONT_METRICS1 *metrics); 1858 1859 void (STDMETHODCALLTYPE *GetPanose)( 1860 IDWriteFont3 *This, 1861 DWRITE_PANOSE *panose); 1862 1863 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 1864 IDWriteFont3 *This, 1865 UINT32 max_count, 1866 DWRITE_UNICODE_RANGE *ranges, 1867 UINT32 *count); 1868 1869 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 1870 IDWriteFont3 *This); 1871 1872 /*** IDWriteFont2 methods ***/ 1873 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 1874 IDWriteFont3 *This); 1875 1876 /*** IDWriteFont3 methods ***/ 1877 HRESULT (STDMETHODCALLTYPE *IDWriteFont3_CreateFontFace)( 1878 IDWriteFont3 *This, 1879 IDWriteFontFace3 **fontface); 1880 1881 WINBOOL (STDMETHODCALLTYPE *Equals)( 1882 IDWriteFont3 *This, 1883 IDWriteFont *font); 1884 1885 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 1886 IDWriteFont3 *This, 1887 IDWriteFontFaceReference **reference); 1888 1889 WINBOOL (STDMETHODCALLTYPE *IDWriteFont3_HasCharacter)( 1890 IDWriteFont3 *This, 1891 UINT32 character); 1892 1893 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( 1894 IDWriteFont3 *This); 1895 1896 END_INTERFACE 1897 } IDWriteFont3Vtbl; 1898 1899 interface IDWriteFont3 { 1900 CONST_VTBL IDWriteFont3Vtbl* lpVtbl; 1901 }; 1902 1903 #ifdef COBJMACROS 1904 #ifndef WIDL_C_INLINE_WRAPPERS 1905 /*** IUnknown methods ***/ 1906 #define IDWriteFont3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1907 #define IDWriteFont3_AddRef(This) (This)->lpVtbl->AddRef(This) 1908 #define IDWriteFont3_Release(This) (This)->lpVtbl->Release(This) 1909 /*** IDWriteFont methods ***/ 1910 #define IDWriteFont3_GetFontFamily(This,family) (This)->lpVtbl->GetFontFamily(This,family) 1911 #define IDWriteFont3_GetWeight(This) (This)->lpVtbl->GetWeight(This) 1912 #define IDWriteFont3_GetStretch(This) (This)->lpVtbl->GetStretch(This) 1913 #define IDWriteFont3_GetStyle(This) (This)->lpVtbl->GetStyle(This) 1914 #define IDWriteFont3_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 1915 #define IDWriteFont3_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 1916 #define IDWriteFont3_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 1917 #define IDWriteFont3_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 1918 /*** IDWriteFont1 methods ***/ 1919 #define IDWriteFont3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFont1_GetMetrics(This,metrics) 1920 #define IDWriteFont3_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 1921 #define IDWriteFont3_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 1922 #define IDWriteFont3_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 1923 /*** IDWriteFont2 methods ***/ 1924 #define IDWriteFont3_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 1925 /*** IDWriteFont3 methods ***/ 1926 #define IDWriteFont3_CreateFontFace(This,fontface) (This)->lpVtbl->IDWriteFont3_CreateFontFace(This,fontface) 1927 #define IDWriteFont3_Equals(This,font) (This)->lpVtbl->Equals(This,font) 1928 #define IDWriteFont3_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 1929 #define IDWriteFont3_HasCharacter(This,character) (This)->lpVtbl->IDWriteFont3_HasCharacter(This,character) 1930 #define IDWriteFont3_GetLocality(This) (This)->lpVtbl->GetLocality(This) 1931 #else 1932 /*** IUnknown methods ***/ 1933 static FORCEINLINE HRESULT IDWriteFont3_QueryInterface(IDWriteFont3* This,REFIID riid,void **ppvObject) { 1934 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1935 } 1936 static FORCEINLINE ULONG IDWriteFont3_AddRef(IDWriteFont3* This) { 1937 return This->lpVtbl->AddRef(This); 1938 } 1939 static FORCEINLINE ULONG IDWriteFont3_Release(IDWriteFont3* This) { 1940 return This->lpVtbl->Release(This); 1941 } 1942 /*** IDWriteFont methods ***/ 1943 static FORCEINLINE HRESULT IDWriteFont3_GetFontFamily(IDWriteFont3* This,IDWriteFontFamily **family) { 1944 return This->lpVtbl->GetFontFamily(This,family); 1945 } 1946 static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteFont3_GetWeight(IDWriteFont3* This) { 1947 return This->lpVtbl->GetWeight(This); 1948 } 1949 static FORCEINLINE DWRITE_FONT_STRETCH IDWriteFont3_GetStretch(IDWriteFont3* This) { 1950 return This->lpVtbl->GetStretch(This); 1951 } 1952 static FORCEINLINE DWRITE_FONT_STYLE IDWriteFont3_GetStyle(IDWriteFont3* This) { 1953 return This->lpVtbl->GetStyle(This); 1954 } 1955 static FORCEINLINE WINBOOL IDWriteFont3_IsSymbolFont(IDWriteFont3* This) { 1956 return This->lpVtbl->IsSymbolFont(This); 1957 } 1958 static FORCEINLINE HRESULT IDWriteFont3_GetFaceNames(IDWriteFont3* This,IDWriteLocalizedStrings **names) { 1959 return This->lpVtbl->GetFaceNames(This,names); 1960 } 1961 static FORCEINLINE HRESULT IDWriteFont3_GetInformationalStrings(IDWriteFont3* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 1962 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 1963 } 1964 static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFont3_GetSimulations(IDWriteFont3* This) { 1965 return This->lpVtbl->GetSimulations(This); 1966 } 1967 /*** IDWriteFont1 methods ***/ 1968 static FORCEINLINE void IDWriteFont3_GetMetrics(IDWriteFont3* This,DWRITE_FONT_METRICS1 *metrics) { 1969 This->lpVtbl->IDWriteFont1_GetMetrics(This,metrics); 1970 } 1971 static FORCEINLINE void IDWriteFont3_GetPanose(IDWriteFont3* This,DWRITE_PANOSE *panose) { 1972 This->lpVtbl->GetPanose(This,panose); 1973 } 1974 static FORCEINLINE HRESULT IDWriteFont3_GetUnicodeRanges(IDWriteFont3* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 1975 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 1976 } 1977 static FORCEINLINE WINBOOL IDWriteFont3_IsMonospacedFont(IDWriteFont3* This) { 1978 return This->lpVtbl->IsMonospacedFont(This); 1979 } 1980 /*** IDWriteFont2 methods ***/ 1981 static FORCEINLINE WINBOOL IDWriteFont3_IsColorFont(IDWriteFont3* This) { 1982 return This->lpVtbl->IsColorFont(This); 1983 } 1984 /*** IDWriteFont3 methods ***/ 1985 static FORCEINLINE HRESULT IDWriteFont3_CreateFontFace(IDWriteFont3* This,IDWriteFontFace3 **fontface) { 1986 return This->lpVtbl->IDWriteFont3_CreateFontFace(This,fontface); 1987 } 1988 static FORCEINLINE WINBOOL IDWriteFont3_Equals(IDWriteFont3* This,IDWriteFont *font) { 1989 return This->lpVtbl->Equals(This,font); 1990 } 1991 static FORCEINLINE HRESULT IDWriteFont3_GetFontFaceReference(IDWriteFont3* This,IDWriteFontFaceReference **reference) { 1992 return This->lpVtbl->GetFontFaceReference(This,reference); 1993 } 1994 static FORCEINLINE WINBOOL IDWriteFont3_HasCharacter(IDWriteFont3* This,UINT32 character) { 1995 return This->lpVtbl->IDWriteFont3_HasCharacter(This,character); 1996 } 1997 static FORCEINLINE DWRITE_LOCALITY IDWriteFont3_GetLocality(IDWriteFont3* This) { 1998 return This->lpVtbl->GetLocality(This); 1999 } 2000 #endif 2001 #endif 2002 2003 #endif 2004 2005 2006 #endif /* __IDWriteFont3_INTERFACE_DEFINED__ */ 2007 2008 /***************************************************************************** 2009 * IDWriteFontFamily1 interface 2010 */ 2011 #ifndef __IDWriteFontFamily1_INTERFACE_DEFINED__ 2012 #define __IDWriteFontFamily1_INTERFACE_DEFINED__ 2013 2014 DEFINE_GUID(IID_IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xdf); 2015 #if defined(__cplusplus) && !defined(CINTERFACE) 2016 MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7adf") 2017 IDWriteFontFamily1 : public IDWriteFontFamily 2018 { 2019 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( 2020 UINT32 index) = 0; 2021 2022 virtual HRESULT STDMETHODCALLTYPE GetFont( 2023 UINT32 index, 2024 IDWriteFont3 **font) = 0; 2025 2026 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 2027 UINT32 index, 2028 IDWriteFontFaceReference **reference) = 0; 2029 2030 }; 2031 #ifdef __CRT_UUID_DECL 2032 __CRT_UUID_DECL(IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xdf) 2033 #endif 2034 #else 2035 typedef struct IDWriteFontFamily1Vtbl { 2036 BEGIN_INTERFACE 2037 2038 /*** IUnknown methods ***/ 2039 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2040 IDWriteFontFamily1 *This, 2041 REFIID riid, 2042 void **ppvObject); 2043 2044 ULONG (STDMETHODCALLTYPE *AddRef)( 2045 IDWriteFontFamily1 *This); 2046 2047 ULONG (STDMETHODCALLTYPE *Release)( 2048 IDWriteFontFamily1 *This); 2049 2050 /*** IDWriteFontList methods ***/ 2051 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 2052 IDWriteFontFamily1 *This, 2053 IDWriteFontCollection **collection); 2054 2055 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 2056 IDWriteFontFamily1 *This); 2057 2058 HRESULT (STDMETHODCALLTYPE *GetFont)( 2059 IDWriteFontFamily1 *This, 2060 UINT32 index, 2061 IDWriteFont **font); 2062 2063 /*** IDWriteFontFamily methods ***/ 2064 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 2065 IDWriteFontFamily1 *This, 2066 IDWriteLocalizedStrings **names); 2067 2068 HRESULT (STDMETHODCALLTYPE *GetFirstMatchingFont)( 2069 IDWriteFontFamily1 *This, 2070 DWRITE_FONT_WEIGHT weight, 2071 DWRITE_FONT_STRETCH stretch, 2072 DWRITE_FONT_STYLE style, 2073 IDWriteFont **font); 2074 2075 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 2076 IDWriteFontFamily1 *This, 2077 DWRITE_FONT_WEIGHT weight, 2078 DWRITE_FONT_STRETCH stretch, 2079 DWRITE_FONT_STYLE style, 2080 IDWriteFontList **fonts); 2081 2082 /*** IDWriteFontFamily1 methods ***/ 2083 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 2084 IDWriteFontFamily1 *This, 2085 UINT32 index); 2086 2087 HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily1_GetFont)( 2088 IDWriteFontFamily1 *This, 2089 UINT32 index, 2090 IDWriteFont3 **font); 2091 2092 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 2093 IDWriteFontFamily1 *This, 2094 UINT32 index, 2095 IDWriteFontFaceReference **reference); 2096 2097 END_INTERFACE 2098 } IDWriteFontFamily1Vtbl; 2099 2100 interface IDWriteFontFamily1 { 2101 CONST_VTBL IDWriteFontFamily1Vtbl* lpVtbl; 2102 }; 2103 2104 #ifdef COBJMACROS 2105 #ifndef WIDL_C_INLINE_WRAPPERS 2106 /*** IUnknown methods ***/ 2107 #define IDWriteFontFamily1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2108 #define IDWriteFontFamily1_AddRef(This) (This)->lpVtbl->AddRef(This) 2109 #define IDWriteFontFamily1_Release(This) (This)->lpVtbl->Release(This) 2110 /*** IDWriteFontList methods ***/ 2111 #define IDWriteFontFamily1_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 2112 #define IDWriteFontFamily1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 2113 /*** IDWriteFontFamily methods ***/ 2114 #define IDWriteFontFamily1_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 2115 #define IDWriteFontFamily1_GetFirstMatchingFont(This,weight,stretch,style,font) (This)->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font) 2116 #define IDWriteFontFamily1_GetMatchingFonts(This,weight,stretch,style,fonts) (This)->lpVtbl->GetMatchingFonts(This,weight,stretch,style,fonts) 2117 /*** IDWriteFontFamily1 methods ***/ 2118 #define IDWriteFontFamily1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 2119 #define IDWriteFontFamily1_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font) 2120 #define IDWriteFontFamily1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 2121 #else 2122 /*** IUnknown methods ***/ 2123 static FORCEINLINE HRESULT IDWriteFontFamily1_QueryInterface(IDWriteFontFamily1* This,REFIID riid,void **ppvObject) { 2124 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2125 } 2126 static FORCEINLINE ULONG IDWriteFontFamily1_AddRef(IDWriteFontFamily1* This) { 2127 return This->lpVtbl->AddRef(This); 2128 } 2129 static FORCEINLINE ULONG IDWriteFontFamily1_Release(IDWriteFontFamily1* This) { 2130 return This->lpVtbl->Release(This); 2131 } 2132 /*** IDWriteFontList methods ***/ 2133 static FORCEINLINE HRESULT IDWriteFontFamily1_GetFontCollection(IDWriteFontFamily1* This,IDWriteFontCollection **collection) { 2134 return This->lpVtbl->GetFontCollection(This,collection); 2135 } 2136 static FORCEINLINE UINT32 IDWriteFontFamily1_GetFontCount(IDWriteFontFamily1* This) { 2137 return This->lpVtbl->GetFontCount(This); 2138 } 2139 /*** IDWriteFontFamily methods ***/ 2140 static FORCEINLINE HRESULT IDWriteFontFamily1_GetFamilyNames(IDWriteFontFamily1* This,IDWriteLocalizedStrings **names) { 2141 return This->lpVtbl->GetFamilyNames(This,names); 2142 } 2143 static FORCEINLINE HRESULT IDWriteFontFamily1_GetFirstMatchingFont(IDWriteFontFamily1* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFont **font) { 2144 return This->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font); 2145 } 2146 static FORCEINLINE HRESULT IDWriteFontFamily1_GetMatchingFonts(IDWriteFontFamily1* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontList **fonts) { 2147 return This->lpVtbl->GetMatchingFonts(This,weight,stretch,style,fonts); 2148 } 2149 /*** IDWriteFontFamily1 methods ***/ 2150 static FORCEINLINE DWRITE_LOCALITY IDWriteFontFamily1_GetFontLocality(IDWriteFontFamily1* This,UINT32 index) { 2151 return This->lpVtbl->GetFontLocality(This,index); 2152 } 2153 static FORCEINLINE HRESULT IDWriteFontFamily1_GetFont(IDWriteFontFamily1* This,UINT32 index,IDWriteFont3 **font) { 2154 return This->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font); 2155 } 2156 static FORCEINLINE HRESULT IDWriteFontFamily1_GetFontFaceReference(IDWriteFontFamily1* This,UINT32 index,IDWriteFontFaceReference **reference) { 2157 return This->lpVtbl->GetFontFaceReference(This,index,reference); 2158 } 2159 #endif 2160 #endif 2161 2162 #endif 2163 2164 2165 #endif /* __IDWriteFontFamily1_INTERFACE_DEFINED__ */ 2166 2167 /***************************************************************************** 2168 * IDWriteFontFamily2 interface 2169 */ 2170 #ifndef __IDWriteFontFamily2_INTERFACE_DEFINED__ 2171 #define __IDWriteFontFamily2_INTERFACE_DEFINED__ 2172 2173 DEFINE_GUID(IID_IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9,0xcf, 0xc1,0x26,0xc2,0x13,0x1e,0xf3); 2174 #if defined(__cplusplus) && !defined(CINTERFACE) 2175 MIDL_INTERFACE("3ed49e77-a398-4261-b9cf-c126c2131ef3") 2176 IDWriteFontFamily2 : public IDWriteFontFamily1 2177 { 2178 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 2179 const DWRITE_FONT_AXIS_VALUE *axis_values, 2180 UINT32 num_values, 2181 IDWriteFontList2 **fontlist) = 0; 2182 2183 virtual HRESULT STDMETHODCALLTYPE GetFontSet( 2184 IDWriteFontSet1 **fontset) = 0; 2185 2186 }; 2187 #ifdef __CRT_UUID_DECL 2188 __CRT_UUID_DECL(IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9,0xcf, 0xc1,0x26,0xc2,0x13,0x1e,0xf3) 2189 #endif 2190 #else 2191 typedef struct IDWriteFontFamily2Vtbl { 2192 BEGIN_INTERFACE 2193 2194 /*** IUnknown methods ***/ 2195 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2196 IDWriteFontFamily2 *This, 2197 REFIID riid, 2198 void **ppvObject); 2199 2200 ULONG (STDMETHODCALLTYPE *AddRef)( 2201 IDWriteFontFamily2 *This); 2202 2203 ULONG (STDMETHODCALLTYPE *Release)( 2204 IDWriteFontFamily2 *This); 2205 2206 /*** IDWriteFontList methods ***/ 2207 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 2208 IDWriteFontFamily2 *This, 2209 IDWriteFontCollection **collection); 2210 2211 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 2212 IDWriteFontFamily2 *This); 2213 2214 HRESULT (STDMETHODCALLTYPE *GetFont)( 2215 IDWriteFontFamily2 *This, 2216 UINT32 index, 2217 IDWriteFont **font); 2218 2219 /*** IDWriteFontFamily methods ***/ 2220 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 2221 IDWriteFontFamily2 *This, 2222 IDWriteLocalizedStrings **names); 2223 2224 HRESULT (STDMETHODCALLTYPE *GetFirstMatchingFont)( 2225 IDWriteFontFamily2 *This, 2226 DWRITE_FONT_WEIGHT weight, 2227 DWRITE_FONT_STRETCH stretch, 2228 DWRITE_FONT_STYLE style, 2229 IDWriteFont **font); 2230 2231 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 2232 IDWriteFontFamily2 *This, 2233 DWRITE_FONT_WEIGHT weight, 2234 DWRITE_FONT_STRETCH stretch, 2235 DWRITE_FONT_STYLE style, 2236 IDWriteFontList **fonts); 2237 2238 /*** IDWriteFontFamily1 methods ***/ 2239 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 2240 IDWriteFontFamily2 *This, 2241 UINT32 index); 2242 2243 HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily1_GetFont)( 2244 IDWriteFontFamily2 *This, 2245 UINT32 index, 2246 IDWriteFont3 **font); 2247 2248 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 2249 IDWriteFontFamily2 *This, 2250 UINT32 index, 2251 IDWriteFontFaceReference **reference); 2252 2253 /*** IDWriteFontFamily2 methods ***/ 2254 HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily2_GetMatchingFonts)( 2255 IDWriteFontFamily2 *This, 2256 const DWRITE_FONT_AXIS_VALUE *axis_values, 2257 UINT32 num_values, 2258 IDWriteFontList2 **fontlist); 2259 2260 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 2261 IDWriteFontFamily2 *This, 2262 IDWriteFontSet1 **fontset); 2263 2264 END_INTERFACE 2265 } IDWriteFontFamily2Vtbl; 2266 2267 interface IDWriteFontFamily2 { 2268 CONST_VTBL IDWriteFontFamily2Vtbl* lpVtbl; 2269 }; 2270 2271 #ifdef COBJMACROS 2272 #ifndef WIDL_C_INLINE_WRAPPERS 2273 /*** IUnknown methods ***/ 2274 #define IDWriteFontFamily2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2275 #define IDWriteFontFamily2_AddRef(This) (This)->lpVtbl->AddRef(This) 2276 #define IDWriteFontFamily2_Release(This) (This)->lpVtbl->Release(This) 2277 /*** IDWriteFontList methods ***/ 2278 #define IDWriteFontFamily2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 2279 #define IDWriteFontFamily2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 2280 /*** IDWriteFontFamily methods ***/ 2281 #define IDWriteFontFamily2_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 2282 #define IDWriteFontFamily2_GetFirstMatchingFont(This,weight,stretch,style,font) (This)->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font) 2283 /*** IDWriteFontFamily1 methods ***/ 2284 #define IDWriteFontFamily2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 2285 #define IDWriteFontFamily2_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font) 2286 #define IDWriteFontFamily2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 2287 /*** IDWriteFontFamily2 methods ***/ 2288 #define IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist) (This)->lpVtbl->IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist) 2289 #define IDWriteFontFamily2_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) 2290 #else 2291 /*** IUnknown methods ***/ 2292 static FORCEINLINE HRESULT IDWriteFontFamily2_QueryInterface(IDWriteFontFamily2* This,REFIID riid,void **ppvObject) { 2293 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2294 } 2295 static FORCEINLINE ULONG IDWriteFontFamily2_AddRef(IDWriteFontFamily2* This) { 2296 return This->lpVtbl->AddRef(This); 2297 } 2298 static FORCEINLINE ULONG IDWriteFontFamily2_Release(IDWriteFontFamily2* This) { 2299 return This->lpVtbl->Release(This); 2300 } 2301 /*** IDWriteFontList methods ***/ 2302 static FORCEINLINE HRESULT IDWriteFontFamily2_GetFontCollection(IDWriteFontFamily2* This,IDWriteFontCollection **collection) { 2303 return This->lpVtbl->GetFontCollection(This,collection); 2304 } 2305 static FORCEINLINE UINT32 IDWriteFontFamily2_GetFontCount(IDWriteFontFamily2* This) { 2306 return This->lpVtbl->GetFontCount(This); 2307 } 2308 /*** IDWriteFontFamily methods ***/ 2309 static FORCEINLINE HRESULT IDWriteFontFamily2_GetFamilyNames(IDWriteFontFamily2* This,IDWriteLocalizedStrings **names) { 2310 return This->lpVtbl->GetFamilyNames(This,names); 2311 } 2312 static FORCEINLINE HRESULT IDWriteFontFamily2_GetFirstMatchingFont(IDWriteFontFamily2* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFont **font) { 2313 return This->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font); 2314 } 2315 /*** IDWriteFontFamily1 methods ***/ 2316 static FORCEINLINE DWRITE_LOCALITY IDWriteFontFamily2_GetFontLocality(IDWriteFontFamily2* This,UINT32 index) { 2317 return This->lpVtbl->GetFontLocality(This,index); 2318 } 2319 static FORCEINLINE HRESULT IDWriteFontFamily2_GetFont(IDWriteFontFamily2* This,UINT32 index,IDWriteFont3 **font) { 2320 return This->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font); 2321 } 2322 static FORCEINLINE HRESULT IDWriteFontFamily2_GetFontFaceReference(IDWriteFontFamily2* This,UINT32 index,IDWriteFontFaceReference **reference) { 2323 return This->lpVtbl->GetFontFaceReference(This,index,reference); 2324 } 2325 /*** IDWriteFontFamily2 methods ***/ 2326 static FORCEINLINE HRESULT IDWriteFontFamily2_GetMatchingFonts(IDWriteFontFamily2* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { 2327 return This->lpVtbl->IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist); 2328 } 2329 static FORCEINLINE HRESULT IDWriteFontFamily2_GetFontSet(IDWriteFontFamily2* This,IDWriteFontSet1 **fontset) { 2330 return This->lpVtbl->GetFontSet(This,fontset); 2331 } 2332 #endif 2333 #endif 2334 2335 #endif 2336 2337 2338 #endif /* __IDWriteFontFamily2_INTERFACE_DEFINED__ */ 2339 2340 /***************************************************************************** 2341 * IDWriteFontCollection1 interface 2342 */ 2343 #ifndef __IDWriteFontCollection1_INTERFACE_DEFINED__ 2344 #define __IDWriteFontCollection1_INTERFACE_DEFINED__ 2345 2346 DEFINE_GUID(IID_IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6c); 2347 #if defined(__cplusplus) && !defined(CINTERFACE) 2348 MIDL_INTERFACE("53585141-d9f8-4095-8321-d73cf6bd116c") 2349 IDWriteFontCollection1 : public IDWriteFontCollection 2350 { 2351 virtual HRESULT STDMETHODCALLTYPE GetFontSet( 2352 IDWriteFontSet **fontset) = 0; 2353 2354 virtual HRESULT STDMETHODCALLTYPE GetFontFamily( 2355 UINT32 index, 2356 IDWriteFontFamily1 **family) = 0; 2357 2358 }; 2359 #ifdef __CRT_UUID_DECL 2360 __CRT_UUID_DECL(IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6c) 2361 #endif 2362 #else 2363 typedef struct IDWriteFontCollection1Vtbl { 2364 BEGIN_INTERFACE 2365 2366 /*** IUnknown methods ***/ 2367 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2368 IDWriteFontCollection1 *This, 2369 REFIID riid, 2370 void **ppvObject); 2371 2372 ULONG (STDMETHODCALLTYPE *AddRef)( 2373 IDWriteFontCollection1 *This); 2374 2375 ULONG (STDMETHODCALLTYPE *Release)( 2376 IDWriteFontCollection1 *This); 2377 2378 /*** IDWriteFontCollection methods ***/ 2379 UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( 2380 IDWriteFontCollection1 *This); 2381 2382 HRESULT (STDMETHODCALLTYPE *GetFontFamily)( 2383 IDWriteFontCollection1 *This, 2384 UINT32 index, 2385 IDWriteFontFamily **family); 2386 2387 HRESULT (STDMETHODCALLTYPE *FindFamilyName)( 2388 IDWriteFontCollection1 *This, 2389 const WCHAR *name, 2390 UINT32 *index, 2391 WINBOOL *exists); 2392 2393 HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( 2394 IDWriteFontCollection1 *This, 2395 IDWriteFontFace *face, 2396 IDWriteFont **font); 2397 2398 /*** IDWriteFontCollection1 methods ***/ 2399 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 2400 IDWriteFontCollection1 *This, 2401 IDWriteFontSet **fontset); 2402 2403 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( 2404 IDWriteFontCollection1 *This, 2405 UINT32 index, 2406 IDWriteFontFamily1 **family); 2407 2408 END_INTERFACE 2409 } IDWriteFontCollection1Vtbl; 2410 2411 interface IDWriteFontCollection1 { 2412 CONST_VTBL IDWriteFontCollection1Vtbl* lpVtbl; 2413 }; 2414 2415 #ifdef COBJMACROS 2416 #ifndef WIDL_C_INLINE_WRAPPERS 2417 /*** IUnknown methods ***/ 2418 #define IDWriteFontCollection1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2419 #define IDWriteFontCollection1_AddRef(This) (This)->lpVtbl->AddRef(This) 2420 #define IDWriteFontCollection1_Release(This) (This)->lpVtbl->Release(This) 2421 /*** IDWriteFontCollection methods ***/ 2422 #define IDWriteFontCollection1_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) 2423 #define IDWriteFontCollection1_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) 2424 #define IDWriteFontCollection1_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) 2425 /*** IDWriteFontCollection1 methods ***/ 2426 #define IDWriteFontCollection1_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) 2427 #define IDWriteFontCollection1_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection1_GetFontFamily(This,index,family) 2428 #else 2429 /*** IUnknown methods ***/ 2430 static FORCEINLINE HRESULT IDWriteFontCollection1_QueryInterface(IDWriteFontCollection1* This,REFIID riid,void **ppvObject) { 2431 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2432 } 2433 static FORCEINLINE ULONG IDWriteFontCollection1_AddRef(IDWriteFontCollection1* This) { 2434 return This->lpVtbl->AddRef(This); 2435 } 2436 static FORCEINLINE ULONG IDWriteFontCollection1_Release(IDWriteFontCollection1* This) { 2437 return This->lpVtbl->Release(This); 2438 } 2439 /*** IDWriteFontCollection methods ***/ 2440 static FORCEINLINE UINT32 IDWriteFontCollection1_GetFontFamilyCount(IDWriteFontCollection1* This) { 2441 return This->lpVtbl->GetFontFamilyCount(This); 2442 } 2443 static FORCEINLINE HRESULT IDWriteFontCollection1_FindFamilyName(IDWriteFontCollection1* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { 2444 return This->lpVtbl->FindFamilyName(This,name,index,exists); 2445 } 2446 static FORCEINLINE HRESULT IDWriteFontCollection1_GetFontFromFontFace(IDWriteFontCollection1* This,IDWriteFontFace *face,IDWriteFont **font) { 2447 return This->lpVtbl->GetFontFromFontFace(This,face,font); 2448 } 2449 /*** IDWriteFontCollection1 methods ***/ 2450 static FORCEINLINE HRESULT IDWriteFontCollection1_GetFontSet(IDWriteFontCollection1* This,IDWriteFontSet **fontset) { 2451 return This->lpVtbl->GetFontSet(This,fontset); 2452 } 2453 static FORCEINLINE HRESULT IDWriteFontCollection1_GetFontFamily(IDWriteFontCollection1* This,UINT32 index,IDWriteFontFamily1 **family) { 2454 return This->lpVtbl->IDWriteFontCollection1_GetFontFamily(This,index,family); 2455 } 2456 #endif 2457 #endif 2458 2459 #endif 2460 2461 2462 #endif /* __IDWriteFontCollection1_INTERFACE_DEFINED__ */ 2463 2464 /***************************************************************************** 2465 * IDWriteFontCollection2 interface 2466 */ 2467 #ifndef __IDWriteFontCollection2_INTERFACE_DEFINED__ 2468 #define __IDWriteFontCollection2_INTERFACE_DEFINED__ 2469 2470 DEFINE_GUID(IID_IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf,0x8b, 0x92,0xea,0x83,0xe5,0x06,0xe0); 2471 #if defined(__cplusplus) && !defined(CINTERFACE) 2472 MIDL_INTERFACE("514039c6-4617-4064-bf8b-92ea83e506e0") 2473 IDWriteFontCollection2 : public IDWriteFontCollection1 2474 { 2475 virtual HRESULT STDMETHODCALLTYPE GetFontFamily( 2476 UINT32 index, 2477 IDWriteFontFamily2 **family) = 0; 2478 2479 virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( 2480 const WCHAR *familyname, 2481 const DWRITE_FONT_AXIS_VALUE *axis_values, 2482 UINT32 num_values, 2483 IDWriteFontList2 **fontlist) = 0; 2484 2485 virtual DWRITE_FONT_FAMILY_MODEL STDMETHODCALLTYPE GetFontFamilyModel( 2486 ) = 0; 2487 2488 virtual HRESULT STDMETHODCALLTYPE GetFontSet( 2489 IDWriteFontSet1 **fontset) = 0; 2490 2491 }; 2492 #ifdef __CRT_UUID_DECL 2493 __CRT_UUID_DECL(IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf,0x8b, 0x92,0xea,0x83,0xe5,0x06,0xe0) 2494 #endif 2495 #else 2496 typedef struct IDWriteFontCollection2Vtbl { 2497 BEGIN_INTERFACE 2498 2499 /*** IUnknown methods ***/ 2500 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2501 IDWriteFontCollection2 *This, 2502 REFIID riid, 2503 void **ppvObject); 2504 2505 ULONG (STDMETHODCALLTYPE *AddRef)( 2506 IDWriteFontCollection2 *This); 2507 2508 ULONG (STDMETHODCALLTYPE *Release)( 2509 IDWriteFontCollection2 *This); 2510 2511 /*** IDWriteFontCollection methods ***/ 2512 UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( 2513 IDWriteFontCollection2 *This); 2514 2515 HRESULT (STDMETHODCALLTYPE *GetFontFamily)( 2516 IDWriteFontCollection2 *This, 2517 UINT32 index, 2518 IDWriteFontFamily **family); 2519 2520 HRESULT (STDMETHODCALLTYPE *FindFamilyName)( 2521 IDWriteFontCollection2 *This, 2522 const WCHAR *name, 2523 UINT32 *index, 2524 WINBOOL *exists); 2525 2526 HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( 2527 IDWriteFontCollection2 *This, 2528 IDWriteFontFace *face, 2529 IDWriteFont **font); 2530 2531 /*** IDWriteFontCollection1 methods ***/ 2532 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 2533 IDWriteFontCollection2 *This, 2534 IDWriteFontSet **fontset); 2535 2536 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( 2537 IDWriteFontCollection2 *This, 2538 UINT32 index, 2539 IDWriteFontFamily1 **family); 2540 2541 /*** IDWriteFontCollection2 methods ***/ 2542 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontFamily)( 2543 IDWriteFontCollection2 *This, 2544 UINT32 index, 2545 IDWriteFontFamily2 **family); 2546 2547 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 2548 IDWriteFontCollection2 *This, 2549 const WCHAR *familyname, 2550 const DWRITE_FONT_AXIS_VALUE *axis_values, 2551 UINT32 num_values, 2552 IDWriteFontList2 **fontlist); 2553 2554 DWRITE_FONT_FAMILY_MODEL (STDMETHODCALLTYPE *GetFontFamilyModel)( 2555 IDWriteFontCollection2 *This); 2556 2557 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontSet)( 2558 IDWriteFontCollection2 *This, 2559 IDWriteFontSet1 **fontset); 2560 2561 END_INTERFACE 2562 } IDWriteFontCollection2Vtbl; 2563 2564 interface IDWriteFontCollection2 { 2565 CONST_VTBL IDWriteFontCollection2Vtbl* lpVtbl; 2566 }; 2567 2568 #ifdef COBJMACROS 2569 #ifndef WIDL_C_INLINE_WRAPPERS 2570 /*** IUnknown methods ***/ 2571 #define IDWriteFontCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2572 #define IDWriteFontCollection2_AddRef(This) (This)->lpVtbl->AddRef(This) 2573 #define IDWriteFontCollection2_Release(This) (This)->lpVtbl->Release(This) 2574 /*** IDWriteFontCollection methods ***/ 2575 #define IDWriteFontCollection2_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) 2576 #define IDWriteFontCollection2_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) 2577 #define IDWriteFontCollection2_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) 2578 /*** IDWriteFontCollection1 methods ***/ 2579 /*** IDWriteFontCollection2 methods ***/ 2580 #define IDWriteFontCollection2_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family) 2581 #define IDWriteFontCollection2_GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) (This)->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) 2582 #define IDWriteFontCollection2_GetFontFamilyModel(This) (This)->lpVtbl->GetFontFamilyModel(This) 2583 #define IDWriteFontCollection2_GetFontSet(This,fontset) (This)->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset) 2584 #else 2585 /*** IUnknown methods ***/ 2586 static FORCEINLINE HRESULT IDWriteFontCollection2_QueryInterface(IDWriteFontCollection2* This,REFIID riid,void **ppvObject) { 2587 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2588 } 2589 static FORCEINLINE ULONG IDWriteFontCollection2_AddRef(IDWriteFontCollection2* This) { 2590 return This->lpVtbl->AddRef(This); 2591 } 2592 static FORCEINLINE ULONG IDWriteFontCollection2_Release(IDWriteFontCollection2* This) { 2593 return This->lpVtbl->Release(This); 2594 } 2595 /*** IDWriteFontCollection methods ***/ 2596 static FORCEINLINE UINT32 IDWriteFontCollection2_GetFontFamilyCount(IDWriteFontCollection2* This) { 2597 return This->lpVtbl->GetFontFamilyCount(This); 2598 } 2599 static FORCEINLINE HRESULT IDWriteFontCollection2_FindFamilyName(IDWriteFontCollection2* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { 2600 return This->lpVtbl->FindFamilyName(This,name,index,exists); 2601 } 2602 static FORCEINLINE HRESULT IDWriteFontCollection2_GetFontFromFontFace(IDWriteFontCollection2* This,IDWriteFontFace *face,IDWriteFont **font) { 2603 return This->lpVtbl->GetFontFromFontFace(This,face,font); 2604 } 2605 /*** IDWriteFontCollection1 methods ***/ 2606 /*** IDWriteFontCollection2 methods ***/ 2607 static FORCEINLINE HRESULT IDWriteFontCollection2_GetFontFamily(IDWriteFontCollection2* This,UINT32 index,IDWriteFontFamily2 **family) { 2608 return This->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family); 2609 } 2610 static FORCEINLINE HRESULT IDWriteFontCollection2_GetMatchingFonts(IDWriteFontCollection2* This,const WCHAR *familyname,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { 2611 return This->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist); 2612 } 2613 static FORCEINLINE DWRITE_FONT_FAMILY_MODEL IDWriteFontCollection2_GetFontFamilyModel(IDWriteFontCollection2* This) { 2614 return This->lpVtbl->GetFontFamilyModel(This); 2615 } 2616 static FORCEINLINE HRESULT IDWriteFontCollection2_GetFontSet(IDWriteFontCollection2* This,IDWriteFontSet1 **fontset) { 2617 return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset); 2618 } 2619 #endif 2620 #endif 2621 2622 #endif 2623 2624 2625 #endif /* __IDWriteFontCollection2_INTERFACE_DEFINED__ */ 2626 2627 /***************************************************************************** 2628 * IDWriteFontCollection3 interface 2629 */ 2630 #ifndef __IDWriteFontCollection3_INTERFACE_DEFINED__ 2631 #define __IDWriteFontCollection3_INTERFACE_DEFINED__ 2632 2633 DEFINE_GUID(IID_IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93,0xb7, 0x9e,0x30,0x9f,0x3a,0xf8,0xe9); 2634 #if defined(__cplusplus) && !defined(CINTERFACE) 2635 MIDL_INTERFACE("a4d055a6-f9e3-4e25-93b7-9e309f3af8e9") 2636 IDWriteFontCollection3 : public IDWriteFontCollection2 2637 { 2638 virtual HANDLE STDMETHODCALLTYPE GetExpirationEvent( 2639 ) = 0; 2640 2641 }; 2642 #ifdef __CRT_UUID_DECL 2643 __CRT_UUID_DECL(IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93,0xb7, 0x9e,0x30,0x9f,0x3a,0xf8,0xe9) 2644 #endif 2645 #else 2646 typedef struct IDWriteFontCollection3Vtbl { 2647 BEGIN_INTERFACE 2648 2649 /*** IUnknown methods ***/ 2650 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2651 IDWriteFontCollection3 *This, 2652 REFIID riid, 2653 void **ppvObject); 2654 2655 ULONG (STDMETHODCALLTYPE *AddRef)( 2656 IDWriteFontCollection3 *This); 2657 2658 ULONG (STDMETHODCALLTYPE *Release)( 2659 IDWriteFontCollection3 *This); 2660 2661 /*** IDWriteFontCollection methods ***/ 2662 UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( 2663 IDWriteFontCollection3 *This); 2664 2665 HRESULT (STDMETHODCALLTYPE *GetFontFamily)( 2666 IDWriteFontCollection3 *This, 2667 UINT32 index, 2668 IDWriteFontFamily **family); 2669 2670 HRESULT (STDMETHODCALLTYPE *FindFamilyName)( 2671 IDWriteFontCollection3 *This, 2672 const WCHAR *name, 2673 UINT32 *index, 2674 WINBOOL *exists); 2675 2676 HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( 2677 IDWriteFontCollection3 *This, 2678 IDWriteFontFace *face, 2679 IDWriteFont **font); 2680 2681 /*** IDWriteFontCollection1 methods ***/ 2682 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 2683 IDWriteFontCollection3 *This, 2684 IDWriteFontSet **fontset); 2685 2686 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( 2687 IDWriteFontCollection3 *This, 2688 UINT32 index, 2689 IDWriteFontFamily1 **family); 2690 2691 /*** IDWriteFontCollection2 methods ***/ 2692 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontFamily)( 2693 IDWriteFontCollection3 *This, 2694 UINT32 index, 2695 IDWriteFontFamily2 **family); 2696 2697 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 2698 IDWriteFontCollection3 *This, 2699 const WCHAR *familyname, 2700 const DWRITE_FONT_AXIS_VALUE *axis_values, 2701 UINT32 num_values, 2702 IDWriteFontList2 **fontlist); 2703 2704 DWRITE_FONT_FAMILY_MODEL (STDMETHODCALLTYPE *GetFontFamilyModel)( 2705 IDWriteFontCollection3 *This); 2706 2707 HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontSet)( 2708 IDWriteFontCollection3 *This, 2709 IDWriteFontSet1 **fontset); 2710 2711 /*** IDWriteFontCollection3 methods ***/ 2712 HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( 2713 IDWriteFontCollection3 *This); 2714 2715 END_INTERFACE 2716 } IDWriteFontCollection3Vtbl; 2717 2718 interface IDWriteFontCollection3 { 2719 CONST_VTBL IDWriteFontCollection3Vtbl* lpVtbl; 2720 }; 2721 2722 #ifdef COBJMACROS 2723 #ifndef WIDL_C_INLINE_WRAPPERS 2724 /*** IUnknown methods ***/ 2725 #define IDWriteFontCollection3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2726 #define IDWriteFontCollection3_AddRef(This) (This)->lpVtbl->AddRef(This) 2727 #define IDWriteFontCollection3_Release(This) (This)->lpVtbl->Release(This) 2728 /*** IDWriteFontCollection methods ***/ 2729 #define IDWriteFontCollection3_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) 2730 #define IDWriteFontCollection3_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) 2731 #define IDWriteFontCollection3_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) 2732 /*** IDWriteFontCollection1 methods ***/ 2733 /*** IDWriteFontCollection2 methods ***/ 2734 #define IDWriteFontCollection3_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family) 2735 #define IDWriteFontCollection3_GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) (This)->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) 2736 #define IDWriteFontCollection3_GetFontFamilyModel(This) (This)->lpVtbl->GetFontFamilyModel(This) 2737 #define IDWriteFontCollection3_GetFontSet(This,fontset) (This)->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset) 2738 /*** IDWriteFontCollection3 methods ***/ 2739 #define IDWriteFontCollection3_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) 2740 #else 2741 /*** IUnknown methods ***/ 2742 static FORCEINLINE HRESULT IDWriteFontCollection3_QueryInterface(IDWriteFontCollection3* This,REFIID riid,void **ppvObject) { 2743 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2744 } 2745 static FORCEINLINE ULONG IDWriteFontCollection3_AddRef(IDWriteFontCollection3* This) { 2746 return This->lpVtbl->AddRef(This); 2747 } 2748 static FORCEINLINE ULONG IDWriteFontCollection3_Release(IDWriteFontCollection3* This) { 2749 return This->lpVtbl->Release(This); 2750 } 2751 /*** IDWriteFontCollection methods ***/ 2752 static FORCEINLINE UINT32 IDWriteFontCollection3_GetFontFamilyCount(IDWriteFontCollection3* This) { 2753 return This->lpVtbl->GetFontFamilyCount(This); 2754 } 2755 static FORCEINLINE HRESULT IDWriteFontCollection3_FindFamilyName(IDWriteFontCollection3* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { 2756 return This->lpVtbl->FindFamilyName(This,name,index,exists); 2757 } 2758 static FORCEINLINE HRESULT IDWriteFontCollection3_GetFontFromFontFace(IDWriteFontCollection3* This,IDWriteFontFace *face,IDWriteFont **font) { 2759 return This->lpVtbl->GetFontFromFontFace(This,face,font); 2760 } 2761 /*** IDWriteFontCollection1 methods ***/ 2762 /*** IDWriteFontCollection2 methods ***/ 2763 static FORCEINLINE HRESULT IDWriteFontCollection3_GetFontFamily(IDWriteFontCollection3* This,UINT32 index,IDWriteFontFamily2 **family) { 2764 return This->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family); 2765 } 2766 static FORCEINLINE HRESULT IDWriteFontCollection3_GetMatchingFonts(IDWriteFontCollection3* This,const WCHAR *familyname,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { 2767 return This->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist); 2768 } 2769 static FORCEINLINE DWRITE_FONT_FAMILY_MODEL IDWriteFontCollection3_GetFontFamilyModel(IDWriteFontCollection3* This) { 2770 return This->lpVtbl->GetFontFamilyModel(This); 2771 } 2772 static FORCEINLINE HRESULT IDWriteFontCollection3_GetFontSet(IDWriteFontCollection3* This,IDWriteFontSet1 **fontset) { 2773 return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset); 2774 } 2775 /*** IDWriteFontCollection3 methods ***/ 2776 static FORCEINLINE HANDLE IDWriteFontCollection3_GetExpirationEvent(IDWriteFontCollection3* This) { 2777 return This->lpVtbl->GetExpirationEvent(This); 2778 } 2779 #endif 2780 #endif 2781 2782 #endif 2783 2784 2785 #endif /* __IDWriteFontCollection3_INTERFACE_DEFINED__ */ 2786 2787 /***************************************************************************** 2788 * IDWriteFontFaceReference interface 2789 */ 2790 #ifndef __IDWriteFontFaceReference_INTERFACE_DEFINED__ 2791 #define __IDWriteFontFaceReference_INTERFACE_DEFINED__ 2792 2793 DEFINE_GUID(IID_IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89,0xf0, 0x9f,0xcd,0x6f,0xed,0x58,0xcd); 2794 #if defined(__cplusplus) && !defined(CINTERFACE) 2795 MIDL_INTERFACE("5e7fa7ca-dde3-424c-89f0-9fcd6fed58cd") 2796 IDWriteFontFaceReference : public IUnknown 2797 { 2798 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 2799 IDWriteFontFace3 **fontface) = 0; 2800 2801 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceWithSimulations( 2802 DWRITE_FONT_SIMULATIONS simulations, 2803 IDWriteFontFace3 **fontface) = 0; 2804 2805 virtual WINBOOL STDMETHODCALLTYPE Equals( 2806 IDWriteFontFaceReference *reference) = 0; 2807 2808 virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex( 2809 ) = 0; 2810 2811 virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations( 2812 ) = 0; 2813 2814 virtual HRESULT STDMETHODCALLTYPE GetFontFile( 2815 IDWriteFontFile **fontfile) = 0; 2816 2817 virtual UINT64 STDMETHODCALLTYPE GetLocalFileSize( 2818 ) = 0; 2819 2820 virtual UINT64 STDMETHODCALLTYPE GetFileSize( 2821 ) = 0; 2822 2823 virtual HRESULT STDMETHODCALLTYPE GetFileTime( 2824 FILETIME *writetime) = 0; 2825 2826 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( 2827 ) = 0; 2828 2829 virtual HRESULT STDMETHODCALLTYPE EnqueueFontDownloadRequest( 2830 ) = 0; 2831 2832 virtual HRESULT STDMETHODCALLTYPE EnqueueCharacterDownloadRequest( 2833 const WCHAR *chars, 2834 UINT32 count) = 0; 2835 2836 virtual HRESULT STDMETHODCALLTYPE EnqueueGlyphDownloadRequest( 2837 const UINT16 *glyphs, 2838 UINT32 count) = 0; 2839 2840 virtual HRESULT STDMETHODCALLTYPE EnqueueFileFragmentDownloadRequest( 2841 UINT64 offset, 2842 UINT64 size) = 0; 2843 2844 }; 2845 #ifdef __CRT_UUID_DECL 2846 __CRT_UUID_DECL(IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89,0xf0, 0x9f,0xcd,0x6f,0xed,0x58,0xcd) 2847 #endif 2848 #else 2849 typedef struct IDWriteFontFaceReferenceVtbl { 2850 BEGIN_INTERFACE 2851 2852 /*** IUnknown methods ***/ 2853 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2854 IDWriteFontFaceReference *This, 2855 REFIID riid, 2856 void **ppvObject); 2857 2858 ULONG (STDMETHODCALLTYPE *AddRef)( 2859 IDWriteFontFaceReference *This); 2860 2861 ULONG (STDMETHODCALLTYPE *Release)( 2862 IDWriteFontFaceReference *This); 2863 2864 /*** IDWriteFontFaceReference methods ***/ 2865 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 2866 IDWriteFontFaceReference *This, 2867 IDWriteFontFace3 **fontface); 2868 2869 HRESULT (STDMETHODCALLTYPE *CreateFontFaceWithSimulations)( 2870 IDWriteFontFaceReference *This, 2871 DWRITE_FONT_SIMULATIONS simulations, 2872 IDWriteFontFace3 **fontface); 2873 2874 WINBOOL (STDMETHODCALLTYPE *Equals)( 2875 IDWriteFontFaceReference *This, 2876 IDWriteFontFaceReference *reference); 2877 2878 UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( 2879 IDWriteFontFaceReference *This); 2880 2881 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 2882 IDWriteFontFaceReference *This); 2883 2884 HRESULT (STDMETHODCALLTYPE *GetFontFile)( 2885 IDWriteFontFaceReference *This, 2886 IDWriteFontFile **fontfile); 2887 2888 UINT64 (STDMETHODCALLTYPE *GetLocalFileSize)( 2889 IDWriteFontFaceReference *This); 2890 2891 UINT64 (STDMETHODCALLTYPE *GetFileSize)( 2892 IDWriteFontFaceReference *This); 2893 2894 HRESULT (STDMETHODCALLTYPE *GetFileTime)( 2895 IDWriteFontFaceReference *This, 2896 FILETIME *writetime); 2897 2898 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( 2899 IDWriteFontFaceReference *This); 2900 2901 HRESULT (STDMETHODCALLTYPE *EnqueueFontDownloadRequest)( 2902 IDWriteFontFaceReference *This); 2903 2904 HRESULT (STDMETHODCALLTYPE *EnqueueCharacterDownloadRequest)( 2905 IDWriteFontFaceReference *This, 2906 const WCHAR *chars, 2907 UINT32 count); 2908 2909 HRESULT (STDMETHODCALLTYPE *EnqueueGlyphDownloadRequest)( 2910 IDWriteFontFaceReference *This, 2911 const UINT16 *glyphs, 2912 UINT32 count); 2913 2914 HRESULT (STDMETHODCALLTYPE *EnqueueFileFragmentDownloadRequest)( 2915 IDWriteFontFaceReference *This, 2916 UINT64 offset, 2917 UINT64 size); 2918 2919 END_INTERFACE 2920 } IDWriteFontFaceReferenceVtbl; 2921 2922 interface IDWriteFontFaceReference { 2923 CONST_VTBL IDWriteFontFaceReferenceVtbl* lpVtbl; 2924 }; 2925 2926 #ifdef COBJMACROS 2927 #ifndef WIDL_C_INLINE_WRAPPERS 2928 /*** IUnknown methods ***/ 2929 #define IDWriteFontFaceReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2930 #define IDWriteFontFaceReference_AddRef(This) (This)->lpVtbl->AddRef(This) 2931 #define IDWriteFontFaceReference_Release(This) (This)->lpVtbl->Release(This) 2932 /*** IDWriteFontFaceReference methods ***/ 2933 #define IDWriteFontFaceReference_CreateFontFace(This,fontface) (This)->lpVtbl->CreateFontFace(This,fontface) 2934 #define IDWriteFontFaceReference_CreateFontFaceWithSimulations(This,simulations,fontface) (This)->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface) 2935 #define IDWriteFontFaceReference_Equals(This,reference) (This)->lpVtbl->Equals(This,reference) 2936 #define IDWriteFontFaceReference_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) 2937 #define IDWriteFontFaceReference_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 2938 #define IDWriteFontFaceReference_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) 2939 #define IDWriteFontFaceReference_GetLocalFileSize(This) (This)->lpVtbl->GetLocalFileSize(This) 2940 #define IDWriteFontFaceReference_GetFileSize(This) (This)->lpVtbl->GetFileSize(This) 2941 #define IDWriteFontFaceReference_GetFileTime(This,writetime) (This)->lpVtbl->GetFileTime(This,writetime) 2942 #define IDWriteFontFaceReference_GetLocality(This) (This)->lpVtbl->GetLocality(This) 2943 #define IDWriteFontFaceReference_EnqueueFontDownloadRequest(This) (This)->lpVtbl->EnqueueFontDownloadRequest(This) 2944 #define IDWriteFontFaceReference_EnqueueCharacterDownloadRequest(This,chars,count) (This)->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count) 2945 #define IDWriteFontFaceReference_EnqueueGlyphDownloadRequest(This,glyphs,count) (This)->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count) 2946 #define IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest(This,offset,size) (This)->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size) 2947 #else 2948 /*** IUnknown methods ***/ 2949 static FORCEINLINE HRESULT IDWriteFontFaceReference_QueryInterface(IDWriteFontFaceReference* This,REFIID riid,void **ppvObject) { 2950 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2951 } 2952 static FORCEINLINE ULONG IDWriteFontFaceReference_AddRef(IDWriteFontFaceReference* This) { 2953 return This->lpVtbl->AddRef(This); 2954 } 2955 static FORCEINLINE ULONG IDWriteFontFaceReference_Release(IDWriteFontFaceReference* This) { 2956 return This->lpVtbl->Release(This); 2957 } 2958 /*** IDWriteFontFaceReference methods ***/ 2959 static FORCEINLINE HRESULT IDWriteFontFaceReference_CreateFontFace(IDWriteFontFaceReference* This,IDWriteFontFace3 **fontface) { 2960 return This->lpVtbl->CreateFontFace(This,fontface); 2961 } 2962 static FORCEINLINE HRESULT IDWriteFontFaceReference_CreateFontFaceWithSimulations(IDWriteFontFaceReference* This,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFace3 **fontface) { 2963 return This->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface); 2964 } 2965 static FORCEINLINE WINBOOL IDWriteFontFaceReference_Equals(IDWriteFontFaceReference* This,IDWriteFontFaceReference *reference) { 2966 return This->lpVtbl->Equals(This,reference); 2967 } 2968 static FORCEINLINE UINT32 IDWriteFontFaceReference_GetFontFaceIndex(IDWriteFontFaceReference* This) { 2969 return This->lpVtbl->GetFontFaceIndex(This); 2970 } 2971 static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference_GetSimulations(IDWriteFontFaceReference* This) { 2972 return This->lpVtbl->GetSimulations(This); 2973 } 2974 static FORCEINLINE HRESULT IDWriteFontFaceReference_GetFontFile(IDWriteFontFaceReference* This,IDWriteFontFile **fontfile) { 2975 return This->lpVtbl->GetFontFile(This,fontfile); 2976 } 2977 static FORCEINLINE UINT64 IDWriteFontFaceReference_GetLocalFileSize(IDWriteFontFaceReference* This) { 2978 return This->lpVtbl->GetLocalFileSize(This); 2979 } 2980 static FORCEINLINE UINT64 IDWriteFontFaceReference_GetFileSize(IDWriteFontFaceReference* This) { 2981 return This->lpVtbl->GetFileSize(This); 2982 } 2983 static FORCEINLINE HRESULT IDWriteFontFaceReference_GetFileTime(IDWriteFontFaceReference* This,FILETIME *writetime) { 2984 return This->lpVtbl->GetFileTime(This,writetime); 2985 } 2986 static FORCEINLINE DWRITE_LOCALITY IDWriteFontFaceReference_GetLocality(IDWriteFontFaceReference* This) { 2987 return This->lpVtbl->GetLocality(This); 2988 } 2989 static FORCEINLINE HRESULT IDWriteFontFaceReference_EnqueueFontDownloadRequest(IDWriteFontFaceReference* This) { 2990 return This->lpVtbl->EnqueueFontDownloadRequest(This); 2991 } 2992 static FORCEINLINE HRESULT IDWriteFontFaceReference_EnqueueCharacterDownloadRequest(IDWriteFontFaceReference* This,const WCHAR *chars,UINT32 count) { 2993 return This->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count); 2994 } 2995 static FORCEINLINE HRESULT IDWriteFontFaceReference_EnqueueGlyphDownloadRequest(IDWriteFontFaceReference* This,const UINT16 *glyphs,UINT32 count) { 2996 return This->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count); 2997 } 2998 static FORCEINLINE HRESULT IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest(IDWriteFontFaceReference* This,UINT64 offset,UINT64 size) { 2999 return This->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size); 3000 } 3001 #endif 3002 #endif 3003 3004 #endif 3005 3006 3007 #endif /* __IDWriteFontFaceReference_INTERFACE_DEFINED__ */ 3008 3009 /***************************************************************************** 3010 * IDWriteFontFaceReference1 interface 3011 */ 3012 #ifndef __IDWriteFontFaceReference1_INTERFACE_DEFINED__ 3013 #define __IDWriteFontFaceReference1_INTERFACE_DEFINED__ 3014 3015 DEFINE_GUID(IID_IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5,0xa3, 0x34,0x98,0x3c,0x4b,0xa6,0x1a); 3016 #if defined(__cplusplus) && !defined(CINTERFACE) 3017 MIDL_INTERFACE("c081fe77-2fd1-41ac-a5a3-34983c4ba61a") 3018 IDWriteFontFaceReference1 : public IDWriteFontFaceReference 3019 { 3020 virtual HRESULT STDMETHODCALLTYPE CreateFontFace( 3021 IDWriteFontFace5 **fontface) = 0; 3022 3023 virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( 3024 ) = 0; 3025 3026 virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( 3027 DWRITE_FONT_AXIS_VALUE *values, 3028 UINT32 num_values) = 0; 3029 3030 }; 3031 #ifdef __CRT_UUID_DECL 3032 __CRT_UUID_DECL(IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5,0xa3, 0x34,0x98,0x3c,0x4b,0xa6,0x1a) 3033 #endif 3034 #else 3035 typedef struct IDWriteFontFaceReference1Vtbl { 3036 BEGIN_INTERFACE 3037 3038 /*** IUnknown methods ***/ 3039 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3040 IDWriteFontFaceReference1 *This, 3041 REFIID riid, 3042 void **ppvObject); 3043 3044 ULONG (STDMETHODCALLTYPE *AddRef)( 3045 IDWriteFontFaceReference1 *This); 3046 3047 ULONG (STDMETHODCALLTYPE *Release)( 3048 IDWriteFontFaceReference1 *This); 3049 3050 /*** IDWriteFontFaceReference methods ***/ 3051 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 3052 IDWriteFontFaceReference1 *This, 3053 IDWriteFontFace3 **fontface); 3054 3055 HRESULT (STDMETHODCALLTYPE *CreateFontFaceWithSimulations)( 3056 IDWriteFontFaceReference1 *This, 3057 DWRITE_FONT_SIMULATIONS simulations, 3058 IDWriteFontFace3 **fontface); 3059 3060 WINBOOL (STDMETHODCALLTYPE *Equals)( 3061 IDWriteFontFaceReference1 *This, 3062 IDWriteFontFaceReference *reference); 3063 3064 UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( 3065 IDWriteFontFaceReference1 *This); 3066 3067 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 3068 IDWriteFontFaceReference1 *This); 3069 3070 HRESULT (STDMETHODCALLTYPE *GetFontFile)( 3071 IDWriteFontFaceReference1 *This, 3072 IDWriteFontFile **fontfile); 3073 3074 UINT64 (STDMETHODCALLTYPE *GetLocalFileSize)( 3075 IDWriteFontFaceReference1 *This); 3076 3077 UINT64 (STDMETHODCALLTYPE *GetFileSize)( 3078 IDWriteFontFaceReference1 *This); 3079 3080 HRESULT (STDMETHODCALLTYPE *GetFileTime)( 3081 IDWriteFontFaceReference1 *This, 3082 FILETIME *writetime); 3083 3084 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( 3085 IDWriteFontFaceReference1 *This); 3086 3087 HRESULT (STDMETHODCALLTYPE *EnqueueFontDownloadRequest)( 3088 IDWriteFontFaceReference1 *This); 3089 3090 HRESULT (STDMETHODCALLTYPE *EnqueueCharacterDownloadRequest)( 3091 IDWriteFontFaceReference1 *This, 3092 const WCHAR *chars, 3093 UINT32 count); 3094 3095 HRESULT (STDMETHODCALLTYPE *EnqueueGlyphDownloadRequest)( 3096 IDWriteFontFaceReference1 *This, 3097 const UINT16 *glyphs, 3098 UINT32 count); 3099 3100 HRESULT (STDMETHODCALLTYPE *EnqueueFileFragmentDownloadRequest)( 3101 IDWriteFontFaceReference1 *This, 3102 UINT64 offset, 3103 UINT64 size); 3104 3105 /*** IDWriteFontFaceReference1 methods ***/ 3106 HRESULT (STDMETHODCALLTYPE *IDWriteFontFaceReference1_CreateFontFace)( 3107 IDWriteFontFaceReference1 *This, 3108 IDWriteFontFace5 **fontface); 3109 3110 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 3111 IDWriteFontFaceReference1 *This); 3112 3113 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 3114 IDWriteFontFaceReference1 *This, 3115 DWRITE_FONT_AXIS_VALUE *values, 3116 UINT32 num_values); 3117 3118 END_INTERFACE 3119 } IDWriteFontFaceReference1Vtbl; 3120 3121 interface IDWriteFontFaceReference1 { 3122 CONST_VTBL IDWriteFontFaceReference1Vtbl* lpVtbl; 3123 }; 3124 3125 #ifdef COBJMACROS 3126 #ifndef WIDL_C_INLINE_WRAPPERS 3127 /*** IUnknown methods ***/ 3128 #define IDWriteFontFaceReference1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3129 #define IDWriteFontFaceReference1_AddRef(This) (This)->lpVtbl->AddRef(This) 3130 #define IDWriteFontFaceReference1_Release(This) (This)->lpVtbl->Release(This) 3131 /*** IDWriteFontFaceReference methods ***/ 3132 #define IDWriteFontFaceReference1_CreateFontFaceWithSimulations(This,simulations,fontface) (This)->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface) 3133 #define IDWriteFontFaceReference1_Equals(This,reference) (This)->lpVtbl->Equals(This,reference) 3134 #define IDWriteFontFaceReference1_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) 3135 #define IDWriteFontFaceReference1_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 3136 #define IDWriteFontFaceReference1_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) 3137 #define IDWriteFontFaceReference1_GetLocalFileSize(This) (This)->lpVtbl->GetLocalFileSize(This) 3138 #define IDWriteFontFaceReference1_GetFileSize(This) (This)->lpVtbl->GetFileSize(This) 3139 #define IDWriteFontFaceReference1_GetFileTime(This,writetime) (This)->lpVtbl->GetFileTime(This,writetime) 3140 #define IDWriteFontFaceReference1_GetLocality(This) (This)->lpVtbl->GetLocality(This) 3141 #define IDWriteFontFaceReference1_EnqueueFontDownloadRequest(This) (This)->lpVtbl->EnqueueFontDownloadRequest(This) 3142 #define IDWriteFontFaceReference1_EnqueueCharacterDownloadRequest(This,chars,count) (This)->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count) 3143 #define IDWriteFontFaceReference1_EnqueueGlyphDownloadRequest(This,glyphs,count) (This)->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count) 3144 #define IDWriteFontFaceReference1_EnqueueFileFragmentDownloadRequest(This,offset,size) (This)->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size) 3145 /*** IDWriteFontFaceReference1 methods ***/ 3146 #define IDWriteFontFaceReference1_CreateFontFace(This,fontface) (This)->lpVtbl->IDWriteFontFaceReference1_CreateFontFace(This,fontface) 3147 #define IDWriteFontFaceReference1_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) 3148 #define IDWriteFontFaceReference1_GetFontAxisValues(This,values,num_values) (This)->lpVtbl->GetFontAxisValues(This,values,num_values) 3149 #else 3150 /*** IUnknown methods ***/ 3151 static FORCEINLINE HRESULT IDWriteFontFaceReference1_QueryInterface(IDWriteFontFaceReference1* This,REFIID riid,void **ppvObject) { 3152 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3153 } 3154 static FORCEINLINE ULONG IDWriteFontFaceReference1_AddRef(IDWriteFontFaceReference1* This) { 3155 return This->lpVtbl->AddRef(This); 3156 } 3157 static FORCEINLINE ULONG IDWriteFontFaceReference1_Release(IDWriteFontFaceReference1* This) { 3158 return This->lpVtbl->Release(This); 3159 } 3160 /*** IDWriteFontFaceReference methods ***/ 3161 static FORCEINLINE HRESULT IDWriteFontFaceReference1_CreateFontFaceWithSimulations(IDWriteFontFaceReference1* This,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFace3 **fontface) { 3162 return This->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface); 3163 } 3164 static FORCEINLINE WINBOOL IDWriteFontFaceReference1_Equals(IDWriteFontFaceReference1* This,IDWriteFontFaceReference *reference) { 3165 return This->lpVtbl->Equals(This,reference); 3166 } 3167 static FORCEINLINE UINT32 IDWriteFontFaceReference1_GetFontFaceIndex(IDWriteFontFaceReference1* This) { 3168 return This->lpVtbl->GetFontFaceIndex(This); 3169 } 3170 static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference1_GetSimulations(IDWriteFontFaceReference1* This) { 3171 return This->lpVtbl->GetSimulations(This); 3172 } 3173 static FORCEINLINE HRESULT IDWriteFontFaceReference1_GetFontFile(IDWriteFontFaceReference1* This,IDWriteFontFile **fontfile) { 3174 return This->lpVtbl->GetFontFile(This,fontfile); 3175 } 3176 static FORCEINLINE UINT64 IDWriteFontFaceReference1_GetLocalFileSize(IDWriteFontFaceReference1* This) { 3177 return This->lpVtbl->GetLocalFileSize(This); 3178 } 3179 static FORCEINLINE UINT64 IDWriteFontFaceReference1_GetFileSize(IDWriteFontFaceReference1* This) { 3180 return This->lpVtbl->GetFileSize(This); 3181 } 3182 static FORCEINLINE HRESULT IDWriteFontFaceReference1_GetFileTime(IDWriteFontFaceReference1* This,FILETIME *writetime) { 3183 return This->lpVtbl->GetFileTime(This,writetime); 3184 } 3185 static FORCEINLINE DWRITE_LOCALITY IDWriteFontFaceReference1_GetLocality(IDWriteFontFaceReference1* This) { 3186 return This->lpVtbl->GetLocality(This); 3187 } 3188 static FORCEINLINE HRESULT IDWriteFontFaceReference1_EnqueueFontDownloadRequest(IDWriteFontFaceReference1* This) { 3189 return This->lpVtbl->EnqueueFontDownloadRequest(This); 3190 } 3191 static FORCEINLINE HRESULT IDWriteFontFaceReference1_EnqueueCharacterDownloadRequest(IDWriteFontFaceReference1* This,const WCHAR *chars,UINT32 count) { 3192 return This->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count); 3193 } 3194 static FORCEINLINE HRESULT IDWriteFontFaceReference1_EnqueueGlyphDownloadRequest(IDWriteFontFaceReference1* This,const UINT16 *glyphs,UINT32 count) { 3195 return This->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count); 3196 } 3197 static FORCEINLINE HRESULT IDWriteFontFaceReference1_EnqueueFileFragmentDownloadRequest(IDWriteFontFaceReference1* This,UINT64 offset,UINT64 size) { 3198 return This->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size); 3199 } 3200 /*** IDWriteFontFaceReference1 methods ***/ 3201 static FORCEINLINE HRESULT IDWriteFontFaceReference1_CreateFontFace(IDWriteFontFaceReference1* This,IDWriteFontFace5 **fontface) { 3202 return This->lpVtbl->IDWriteFontFaceReference1_CreateFontFace(This,fontface); 3203 } 3204 static FORCEINLINE UINT32 IDWriteFontFaceReference1_GetFontAxisValueCount(IDWriteFontFaceReference1* This) { 3205 return This->lpVtbl->GetFontAxisValueCount(This); 3206 } 3207 static FORCEINLINE HRESULT IDWriteFontFaceReference1_GetFontAxisValues(IDWriteFontFaceReference1* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values) { 3208 return This->lpVtbl->GetFontAxisValues(This,values,num_values); 3209 } 3210 #endif 3211 #endif 3212 3213 #endif 3214 3215 3216 #endif /* __IDWriteFontFaceReference1_INTERFACE_DEFINED__ */ 3217 3218 /***************************************************************************** 3219 * IDWriteFontList1 interface 3220 */ 3221 #ifndef __IDWriteFontList1_INTERFACE_DEFINED__ 3222 #define __IDWriteFontList1_INTERFACE_DEFINED__ 3223 3224 DEFINE_GUID(IID_IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xde); 3225 #if defined(__cplusplus) && !defined(CINTERFACE) 3226 MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7ade") 3227 IDWriteFontList1 : public IDWriteFontList 3228 { 3229 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( 3230 UINT32 index) = 0; 3231 3232 virtual HRESULT STDMETHODCALLTYPE GetFont( 3233 UINT32 index, 3234 IDWriteFont3 **font) = 0; 3235 3236 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 3237 UINT32 index, 3238 IDWriteFontFaceReference **reference) = 0; 3239 3240 }; 3241 #ifdef __CRT_UUID_DECL 3242 __CRT_UUID_DECL(IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xde) 3243 #endif 3244 #else 3245 typedef struct IDWriteFontList1Vtbl { 3246 BEGIN_INTERFACE 3247 3248 /*** IUnknown methods ***/ 3249 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3250 IDWriteFontList1 *This, 3251 REFIID riid, 3252 void **ppvObject); 3253 3254 ULONG (STDMETHODCALLTYPE *AddRef)( 3255 IDWriteFontList1 *This); 3256 3257 ULONG (STDMETHODCALLTYPE *Release)( 3258 IDWriteFontList1 *This); 3259 3260 /*** IDWriteFontList methods ***/ 3261 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 3262 IDWriteFontList1 *This, 3263 IDWriteFontCollection **collection); 3264 3265 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 3266 IDWriteFontList1 *This); 3267 3268 HRESULT (STDMETHODCALLTYPE *GetFont)( 3269 IDWriteFontList1 *This, 3270 UINT32 index, 3271 IDWriteFont **font); 3272 3273 /*** IDWriteFontList1 methods ***/ 3274 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 3275 IDWriteFontList1 *This, 3276 UINT32 index); 3277 3278 HRESULT (STDMETHODCALLTYPE *IDWriteFontList1_GetFont)( 3279 IDWriteFontList1 *This, 3280 UINT32 index, 3281 IDWriteFont3 **font); 3282 3283 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 3284 IDWriteFontList1 *This, 3285 UINT32 index, 3286 IDWriteFontFaceReference **reference); 3287 3288 END_INTERFACE 3289 } IDWriteFontList1Vtbl; 3290 3291 interface IDWriteFontList1 { 3292 CONST_VTBL IDWriteFontList1Vtbl* lpVtbl; 3293 }; 3294 3295 #ifdef COBJMACROS 3296 #ifndef WIDL_C_INLINE_WRAPPERS 3297 /*** IUnknown methods ***/ 3298 #define IDWriteFontList1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3299 #define IDWriteFontList1_AddRef(This) (This)->lpVtbl->AddRef(This) 3300 #define IDWriteFontList1_Release(This) (This)->lpVtbl->Release(This) 3301 /*** IDWriteFontList methods ***/ 3302 #define IDWriteFontList1_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 3303 #define IDWriteFontList1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 3304 /*** IDWriteFontList1 methods ***/ 3305 #define IDWriteFontList1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 3306 #define IDWriteFontList1_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontList1_GetFont(This,index,font) 3307 #define IDWriteFontList1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 3308 #else 3309 /*** IUnknown methods ***/ 3310 static FORCEINLINE HRESULT IDWriteFontList1_QueryInterface(IDWriteFontList1* This,REFIID riid,void **ppvObject) { 3311 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3312 } 3313 static FORCEINLINE ULONG IDWriteFontList1_AddRef(IDWriteFontList1* This) { 3314 return This->lpVtbl->AddRef(This); 3315 } 3316 static FORCEINLINE ULONG IDWriteFontList1_Release(IDWriteFontList1* This) { 3317 return This->lpVtbl->Release(This); 3318 } 3319 /*** IDWriteFontList methods ***/ 3320 static FORCEINLINE HRESULT IDWriteFontList1_GetFontCollection(IDWriteFontList1* This,IDWriteFontCollection **collection) { 3321 return This->lpVtbl->GetFontCollection(This,collection); 3322 } 3323 static FORCEINLINE UINT32 IDWriteFontList1_GetFontCount(IDWriteFontList1* This) { 3324 return This->lpVtbl->GetFontCount(This); 3325 } 3326 /*** IDWriteFontList1 methods ***/ 3327 static FORCEINLINE DWRITE_LOCALITY IDWriteFontList1_GetFontLocality(IDWriteFontList1* This,UINT32 index) { 3328 return This->lpVtbl->GetFontLocality(This,index); 3329 } 3330 static FORCEINLINE HRESULT IDWriteFontList1_GetFont(IDWriteFontList1* This,UINT32 index,IDWriteFont3 **font) { 3331 return This->lpVtbl->IDWriteFontList1_GetFont(This,index,font); 3332 } 3333 static FORCEINLINE HRESULT IDWriteFontList1_GetFontFaceReference(IDWriteFontList1* This,UINT32 index,IDWriteFontFaceReference **reference) { 3334 return This->lpVtbl->GetFontFaceReference(This,index,reference); 3335 } 3336 #endif 3337 #endif 3338 3339 #endif 3340 3341 3342 #endif /* __IDWriteFontList1_INTERFACE_DEFINED__ */ 3343 3344 /***************************************************************************** 3345 * IDWriteFontList2 interface 3346 */ 3347 #ifndef __IDWriteFontList2_INTERFACE_DEFINED__ 3348 #define __IDWriteFontList2_INTERFACE_DEFINED__ 3349 3350 DEFINE_GUID(IID_IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7,0x35, 0x08,0xc3,0x7b,0x0a,0x5b,0xf5); 3351 #if defined(__cplusplus) && !defined(CINTERFACE) 3352 MIDL_INTERFACE("c0763a34-77af-445a-b735-08c37b0a5bf5") 3353 IDWriteFontList2 : public IDWriteFontList1 3354 { 3355 virtual HRESULT STDMETHODCALLTYPE GetFontSet( 3356 IDWriteFontSet1 **fontset) = 0; 3357 3358 }; 3359 #ifdef __CRT_UUID_DECL 3360 __CRT_UUID_DECL(IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7,0x35, 0x08,0xc3,0x7b,0x0a,0x5b,0xf5) 3361 #endif 3362 #else 3363 typedef struct IDWriteFontList2Vtbl { 3364 BEGIN_INTERFACE 3365 3366 /*** IUnknown methods ***/ 3367 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3368 IDWriteFontList2 *This, 3369 REFIID riid, 3370 void **ppvObject); 3371 3372 ULONG (STDMETHODCALLTYPE *AddRef)( 3373 IDWriteFontList2 *This); 3374 3375 ULONG (STDMETHODCALLTYPE *Release)( 3376 IDWriteFontList2 *This); 3377 3378 /*** IDWriteFontList methods ***/ 3379 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 3380 IDWriteFontList2 *This, 3381 IDWriteFontCollection **collection); 3382 3383 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 3384 IDWriteFontList2 *This); 3385 3386 HRESULT (STDMETHODCALLTYPE *GetFont)( 3387 IDWriteFontList2 *This, 3388 UINT32 index, 3389 IDWriteFont **font); 3390 3391 /*** IDWriteFontList1 methods ***/ 3392 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 3393 IDWriteFontList2 *This, 3394 UINT32 index); 3395 3396 HRESULT (STDMETHODCALLTYPE *IDWriteFontList1_GetFont)( 3397 IDWriteFontList2 *This, 3398 UINT32 index, 3399 IDWriteFont3 **font); 3400 3401 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 3402 IDWriteFontList2 *This, 3403 UINT32 index, 3404 IDWriteFontFaceReference **reference); 3405 3406 /*** IDWriteFontList2 methods ***/ 3407 HRESULT (STDMETHODCALLTYPE *GetFontSet)( 3408 IDWriteFontList2 *This, 3409 IDWriteFontSet1 **fontset); 3410 3411 END_INTERFACE 3412 } IDWriteFontList2Vtbl; 3413 3414 interface IDWriteFontList2 { 3415 CONST_VTBL IDWriteFontList2Vtbl* lpVtbl; 3416 }; 3417 3418 #ifdef COBJMACROS 3419 #ifndef WIDL_C_INLINE_WRAPPERS 3420 /*** IUnknown methods ***/ 3421 #define IDWriteFontList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3422 #define IDWriteFontList2_AddRef(This) (This)->lpVtbl->AddRef(This) 3423 #define IDWriteFontList2_Release(This) (This)->lpVtbl->Release(This) 3424 /*** IDWriteFontList methods ***/ 3425 #define IDWriteFontList2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 3426 #define IDWriteFontList2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 3427 /*** IDWriteFontList1 methods ***/ 3428 #define IDWriteFontList2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 3429 #define IDWriteFontList2_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontList1_GetFont(This,index,font) 3430 #define IDWriteFontList2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) 3431 /*** IDWriteFontList2 methods ***/ 3432 #define IDWriteFontList2_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) 3433 #else 3434 /*** IUnknown methods ***/ 3435 static FORCEINLINE HRESULT IDWriteFontList2_QueryInterface(IDWriteFontList2* This,REFIID riid,void **ppvObject) { 3436 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3437 } 3438 static FORCEINLINE ULONG IDWriteFontList2_AddRef(IDWriteFontList2* This) { 3439 return This->lpVtbl->AddRef(This); 3440 } 3441 static FORCEINLINE ULONG IDWriteFontList2_Release(IDWriteFontList2* This) { 3442 return This->lpVtbl->Release(This); 3443 } 3444 /*** IDWriteFontList methods ***/ 3445 static FORCEINLINE HRESULT IDWriteFontList2_GetFontCollection(IDWriteFontList2* This,IDWriteFontCollection **collection) { 3446 return This->lpVtbl->GetFontCollection(This,collection); 3447 } 3448 static FORCEINLINE UINT32 IDWriteFontList2_GetFontCount(IDWriteFontList2* This) { 3449 return This->lpVtbl->GetFontCount(This); 3450 } 3451 /*** IDWriteFontList1 methods ***/ 3452 static FORCEINLINE DWRITE_LOCALITY IDWriteFontList2_GetFontLocality(IDWriteFontList2* This,UINT32 index) { 3453 return This->lpVtbl->GetFontLocality(This,index); 3454 } 3455 static FORCEINLINE HRESULT IDWriteFontList2_GetFont(IDWriteFontList2* This,UINT32 index,IDWriteFont3 **font) { 3456 return This->lpVtbl->IDWriteFontList1_GetFont(This,index,font); 3457 } 3458 static FORCEINLINE HRESULT IDWriteFontList2_GetFontFaceReference(IDWriteFontList2* This,UINT32 index,IDWriteFontFaceReference **reference) { 3459 return This->lpVtbl->GetFontFaceReference(This,index,reference); 3460 } 3461 /*** IDWriteFontList2 methods ***/ 3462 static FORCEINLINE HRESULT IDWriteFontList2_GetFontSet(IDWriteFontList2* This,IDWriteFontSet1 **fontset) { 3463 return This->lpVtbl->GetFontSet(This,fontset); 3464 } 3465 #endif 3466 #endif 3467 3468 #endif 3469 3470 3471 #endif /* __IDWriteFontList2_INTERFACE_DEFINED__ */ 3472 3473 /***************************************************************************** 3474 * IDWriteFontSet2 interface 3475 */ 3476 #ifndef __IDWriteFontSet2_INTERFACE_DEFINED__ 3477 #define __IDWriteFontSet2_INTERFACE_DEFINED__ 3478 3479 DEFINE_GUID(IID_IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2,0xda, 0x4e,0x2b,0x79,0xba,0x3f,0x7f); 3480 #if defined(__cplusplus) && !defined(CINTERFACE) 3481 MIDL_INTERFACE("dc7ead19-e54c-43af-b2da-4e2b79ba3f7f") 3482 IDWriteFontSet2 : public IDWriteFontSet1 3483 { 3484 virtual HANDLE STDMETHODCALLTYPE GetExpirationEvent( 3485 ) = 0; 3486 3487 }; 3488 #ifdef __CRT_UUID_DECL 3489 __CRT_UUID_DECL(IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2,0xda, 0x4e,0x2b,0x79,0xba,0x3f,0x7f) 3490 #endif 3491 #else 3492 typedef struct IDWriteFontSet2Vtbl { 3493 BEGIN_INTERFACE 3494 3495 /*** IUnknown methods ***/ 3496 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3497 IDWriteFontSet2 *This, 3498 REFIID riid, 3499 void **ppvObject); 3500 3501 ULONG (STDMETHODCALLTYPE *AddRef)( 3502 IDWriteFontSet2 *This); 3503 3504 ULONG (STDMETHODCALLTYPE *Release)( 3505 IDWriteFontSet2 *This); 3506 3507 /*** IDWriteFontSet methods ***/ 3508 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 3509 IDWriteFontSet2 *This); 3510 3511 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 3512 IDWriteFontSet2 *This, 3513 UINT32 index, 3514 IDWriteFontFaceReference **reference); 3515 3516 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 3517 IDWriteFontSet2 *This, 3518 IDWriteFontFaceReference *reference, 3519 UINT32 *index, 3520 WINBOOL *exists); 3521 3522 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 3523 IDWriteFontSet2 *This, 3524 IDWriteFontFace *fontface, 3525 UINT32 *index, 3526 WINBOOL *exists); 3527 3528 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 3529 IDWriteFontSet2 *This, 3530 DWRITE_FONT_PROPERTY_ID id, 3531 IDWriteStringList **values); 3532 3533 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 3534 IDWriteFontSet2 *This, 3535 DWRITE_FONT_PROPERTY_ID id, 3536 const WCHAR *preferred_locales, 3537 IDWriteStringList **values); 3538 3539 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 3540 IDWriteFontSet2 *This, 3541 UINT32 index, 3542 DWRITE_FONT_PROPERTY_ID id, 3543 WINBOOL *exists, 3544 IDWriteLocalizedStrings **values); 3545 3546 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 3547 IDWriteFontSet2 *This, 3548 const DWRITE_FONT_PROPERTY *property, 3549 UINT32 *count); 3550 3551 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 3552 IDWriteFontSet2 *This, 3553 const WCHAR *family, 3554 DWRITE_FONT_WEIGHT weight, 3555 DWRITE_FONT_STRETCH stretch, 3556 DWRITE_FONT_STYLE style, 3557 IDWriteFontSet **fontset); 3558 3559 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 3560 IDWriteFontSet2 *This, 3561 const DWRITE_FONT_PROPERTY *props, 3562 UINT32 count, 3563 IDWriteFontSet **fontset); 3564 3565 /*** IDWriteFontSet1 methods ***/ 3566 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( 3567 IDWriteFontSet2 *This, 3568 const DWRITE_FONT_PROPERTY *property, 3569 const DWRITE_FONT_AXIS_VALUE *axis_values, 3570 UINT32 num_values, 3571 IDWriteFontSet1 **fontset); 3572 3573 HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( 3574 IDWriteFontSet2 *This, 3575 IDWriteFontSet1 **fontset); 3576 3577 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( 3578 IDWriteFontSet2 *This, 3579 const UINT32 *indices, 3580 UINT32 num_indices, 3581 IDWriteFontSet1 **fontset); 3582 3583 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( 3584 IDWriteFontSet2 *This, 3585 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 3586 UINT32 num_ranges, 3587 WINBOOL select_any_range, 3588 IDWriteFontSet1 **fontset); 3589 3590 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( 3591 IDWriteFontSet2 *This, 3592 const DWRITE_FONT_PROPERTY *props, 3593 UINT32 num_properties, 3594 WINBOOL select_any_property, 3595 IDWriteFontSet1 **fontset); 3596 3597 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices_)( 3598 IDWriteFontSet2 *This, 3599 const DWRITE_FONT_AXIS_RANGE *ranges, 3600 UINT32 num_ranges, 3601 WINBOOL select_any_range, 3602 UINT32 *indices, 3603 UINT32 num_indices, 3604 UINT32 *actual_num_indices); 3605 3606 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( 3607 IDWriteFontSet2 *This, 3608 const DWRITE_FONT_PROPERTY *props, 3609 UINT32 num_properties, 3610 WINBOOL select_any_range, 3611 UINT32 *indices, 3612 UINT32 num_indices, 3613 UINT32 *actual_num_indices); 3614 3615 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( 3616 IDWriteFontSet2 *This, 3617 UINT32 font_index, 3618 DWRITE_FONT_AXIS_RANGE *axis_ranges, 3619 UINT32 num_ranges, 3620 UINT32 *actual_num_ranges); 3621 3622 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 3623 IDWriteFontSet2 *This, 3624 DWRITE_FONT_AXIS_RANGE *axis_ranges, 3625 UINT32 num_ranges, 3626 UINT32 *actual_num_ranges); 3627 3628 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( 3629 IDWriteFontSet2 *This, 3630 UINT32 index, 3631 IDWriteFontFaceReference1 **reference); 3632 3633 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 3634 IDWriteFontSet2 *This, 3635 UINT32 index, 3636 IDWriteFontResource **resource); 3637 3638 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 3639 IDWriteFontSet2 *This, 3640 UINT32 index, 3641 IDWriteFontFace5 **fontface); 3642 3643 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 3644 IDWriteFontSet2 *This, 3645 UINT32 index); 3646 3647 /*** IDWriteFontSet2 methods ***/ 3648 HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( 3649 IDWriteFontSet2 *This); 3650 3651 END_INTERFACE 3652 } IDWriteFontSet2Vtbl; 3653 3654 interface IDWriteFontSet2 { 3655 CONST_VTBL IDWriteFontSet2Vtbl* lpVtbl; 3656 }; 3657 3658 #ifdef COBJMACROS 3659 #ifndef WIDL_C_INLINE_WRAPPERS 3660 /*** IUnknown methods ***/ 3661 #define IDWriteFontSet2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3662 #define IDWriteFontSet2_AddRef(This) (This)->lpVtbl->AddRef(This) 3663 #define IDWriteFontSet2_Release(This) (This)->lpVtbl->Release(This) 3664 /*** IDWriteFontSet methods ***/ 3665 #define IDWriteFontSet2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 3666 #define IDWriteFontSet2_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 3667 #define IDWriteFontSet2_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 3668 #define IDWriteFontSet2_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 3669 #define IDWriteFontSet2_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 3670 #define IDWriteFontSet2_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 3671 #define IDWriteFontSet2_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 3672 #define IDWriteFontSet2_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 3673 /*** IDWriteFontSet1 methods ***/ 3674 #define IDWriteFontSet2_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) 3675 #define IDWriteFontSet2_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) 3676 #define IDWriteFontSet2_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) 3677 #define IDWriteFontSet2_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) 3678 #define IDWriteFontSet2_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) 3679 #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) 3680 #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) 3681 #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) 3682 #define IDWriteFontSet2_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) 3683 #define IDWriteFontSet2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) 3684 #define IDWriteFontSet2_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) 3685 #define IDWriteFontSet2_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) 3686 #define IDWriteFontSet2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 3687 /*** IDWriteFontSet2 methods ***/ 3688 #define IDWriteFontSet2_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) 3689 #else 3690 /*** IUnknown methods ***/ 3691 static FORCEINLINE HRESULT IDWriteFontSet2_QueryInterface(IDWriteFontSet2* This,REFIID riid,void **ppvObject) { 3692 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3693 } 3694 static FORCEINLINE ULONG IDWriteFontSet2_AddRef(IDWriteFontSet2* This) { 3695 return This->lpVtbl->AddRef(This); 3696 } 3697 static FORCEINLINE ULONG IDWriteFontSet2_Release(IDWriteFontSet2* This) { 3698 return This->lpVtbl->Release(This); 3699 } 3700 /*** IDWriteFontSet methods ***/ 3701 static FORCEINLINE UINT32 IDWriteFontSet2_GetFontCount(IDWriteFontSet2* This) { 3702 return This->lpVtbl->GetFontCount(This); 3703 } 3704 static FORCEINLINE HRESULT IDWriteFontSet2_FindFontFaceReference(IDWriteFontSet2* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 3705 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 3706 } 3707 static FORCEINLINE HRESULT IDWriteFontSet2_FindFontFace(IDWriteFontSet2* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 3708 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 3709 } 3710 static FORCEINLINE HRESULT IDWriteFontSet2_GetPropertyValues__(IDWriteFontSet2* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 3711 return This->lpVtbl->GetPropertyValues__(This,id,values); 3712 } 3713 static FORCEINLINE HRESULT IDWriteFontSet2_GetPropertyValues_(IDWriteFontSet2* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 3714 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 3715 } 3716 static FORCEINLINE HRESULT IDWriteFontSet2_GetPropertyValues(IDWriteFontSet2* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 3717 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 3718 } 3719 static FORCEINLINE HRESULT IDWriteFontSet2_GetPropertyOccurrenceCount(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 3720 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 3721 } 3722 static FORCEINLINE HRESULT IDWriteFontSet2_GetMatchingFonts_(IDWriteFontSet2* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 3723 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 3724 } 3725 /*** IDWriteFontSet1 methods ***/ 3726 static FORCEINLINE HRESULT IDWriteFontSet2_GetMatchingFonts(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { 3727 return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); 3728 } 3729 static FORCEINLINE HRESULT IDWriteFontSet2_GetFirstFontResources(IDWriteFontSet2* This,IDWriteFontSet1 **fontset) { 3730 return This->lpVtbl->GetFirstFontResources(This,fontset); 3731 } 3732 static FORCEINLINE HRESULT IDWriteFontSet2_GetFilteredFonts__(IDWriteFontSet2* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { 3733 return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); 3734 } 3735 static FORCEINLINE HRESULT IDWriteFontSet2_GetFilteredFonts_(IDWriteFontSet2* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { 3736 return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); 3737 } 3738 static FORCEINLINE HRESULT IDWriteFontSet2_GetFilteredFonts(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { 3739 return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); 3740 } 3741 static FORCEINLINE 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) { 3742 return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); 3743 } 3744 static FORCEINLINE 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) { 3745 return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); 3746 } 3747 static FORCEINLINE HRESULT IDWriteFontSet2_GetFontAxisRanges_(IDWriteFontSet2* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 3748 return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); 3749 } 3750 static FORCEINLINE HRESULT IDWriteFontSet2_GetFontAxisRanges(IDWriteFontSet2* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 3751 return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); 3752 } 3753 static FORCEINLINE HRESULT IDWriteFontSet2_GetFontFaceReference(IDWriteFontSet2* This,UINT32 index,IDWriteFontFaceReference1 **reference) { 3754 return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); 3755 } 3756 static FORCEINLINE HRESULT IDWriteFontSet2_CreateFontResource(IDWriteFontSet2* This,UINT32 index,IDWriteFontResource **resource) { 3757 return This->lpVtbl->CreateFontResource(This,index,resource); 3758 } 3759 static FORCEINLINE HRESULT IDWriteFontSet2_CreateFontFace(IDWriteFontSet2* This,UINT32 index,IDWriteFontFace5 **fontface) { 3760 return This->lpVtbl->CreateFontFace(This,index,fontface); 3761 } 3762 static FORCEINLINE DWRITE_LOCALITY IDWriteFontSet2_GetFontLocality(IDWriteFontSet2* This,UINT32 index) { 3763 return This->lpVtbl->GetFontLocality(This,index); 3764 } 3765 /*** IDWriteFontSet2 methods ***/ 3766 static FORCEINLINE HANDLE IDWriteFontSet2_GetExpirationEvent(IDWriteFontSet2* This) { 3767 return This->lpVtbl->GetExpirationEvent(This); 3768 } 3769 #endif 3770 #endif 3771 3772 #endif 3773 3774 3775 #endif /* __IDWriteFontSet2_INTERFACE_DEFINED__ */ 3776 3777 /***************************************************************************** 3778 * IDWriteFontSet3 interface 3779 */ 3780 #ifndef __IDWriteFontSet3_INTERFACE_DEFINED__ 3781 #define __IDWriteFontSet3_INTERFACE_DEFINED__ 3782 3783 DEFINE_GUID(IID_IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c,0x32, 0x8a,0xb8,0xae,0x64,0x0f,0x90); 3784 #if defined(__cplusplus) && !defined(CINTERFACE) 3785 MIDL_INTERFACE("7c073ef2-a7f4-4045-8c32-8ab8ae640f90") 3786 IDWriteFontSet3 : public IDWriteFontSet2 3787 { 3788 virtual DWRITE_FONT_SOURCE_TYPE STDMETHODCALLTYPE GetFontSourceType( 3789 UINT32 index) = 0; 3790 3791 virtual UINT32 STDMETHODCALLTYPE GetFontSourceNameLength( 3792 UINT32 index) = 0; 3793 3794 virtual HRESULT STDMETHODCALLTYPE GetFontSourceName( 3795 UINT32 index, 3796 WCHAR *buffer, 3797 UINT32 buffer_size) = 0; 3798 3799 }; 3800 #ifdef __CRT_UUID_DECL 3801 __CRT_UUID_DECL(IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c,0x32, 0x8a,0xb8,0xae,0x64,0x0f,0x90) 3802 #endif 3803 #else 3804 typedef struct IDWriteFontSet3Vtbl { 3805 BEGIN_INTERFACE 3806 3807 /*** IUnknown methods ***/ 3808 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3809 IDWriteFontSet3 *This, 3810 REFIID riid, 3811 void **ppvObject); 3812 3813 ULONG (STDMETHODCALLTYPE *AddRef)( 3814 IDWriteFontSet3 *This); 3815 3816 ULONG (STDMETHODCALLTYPE *Release)( 3817 IDWriteFontSet3 *This); 3818 3819 /*** IDWriteFontSet methods ***/ 3820 UINT32 (STDMETHODCALLTYPE *GetFontCount)( 3821 IDWriteFontSet3 *This); 3822 3823 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 3824 IDWriteFontSet3 *This, 3825 UINT32 index, 3826 IDWriteFontFaceReference **reference); 3827 3828 HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( 3829 IDWriteFontSet3 *This, 3830 IDWriteFontFaceReference *reference, 3831 UINT32 *index, 3832 WINBOOL *exists); 3833 3834 HRESULT (STDMETHODCALLTYPE *FindFontFace)( 3835 IDWriteFontSet3 *This, 3836 IDWriteFontFace *fontface, 3837 UINT32 *index, 3838 WINBOOL *exists); 3839 3840 HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( 3841 IDWriteFontSet3 *This, 3842 DWRITE_FONT_PROPERTY_ID id, 3843 IDWriteStringList **values); 3844 3845 HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( 3846 IDWriteFontSet3 *This, 3847 DWRITE_FONT_PROPERTY_ID id, 3848 const WCHAR *preferred_locales, 3849 IDWriteStringList **values); 3850 3851 HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( 3852 IDWriteFontSet3 *This, 3853 UINT32 index, 3854 DWRITE_FONT_PROPERTY_ID id, 3855 WINBOOL *exists, 3856 IDWriteLocalizedStrings **values); 3857 3858 HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( 3859 IDWriteFontSet3 *This, 3860 const DWRITE_FONT_PROPERTY *property, 3861 UINT32 *count); 3862 3863 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( 3864 IDWriteFontSet3 *This, 3865 const WCHAR *family, 3866 DWRITE_FONT_WEIGHT weight, 3867 DWRITE_FONT_STRETCH stretch, 3868 DWRITE_FONT_STYLE style, 3869 IDWriteFontSet **fontset); 3870 3871 HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( 3872 IDWriteFontSet3 *This, 3873 const DWRITE_FONT_PROPERTY *props, 3874 UINT32 count, 3875 IDWriteFontSet **fontset); 3876 3877 /*** IDWriteFontSet1 methods ***/ 3878 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( 3879 IDWriteFontSet3 *This, 3880 const DWRITE_FONT_PROPERTY *property, 3881 const DWRITE_FONT_AXIS_VALUE *axis_values, 3882 UINT32 num_values, 3883 IDWriteFontSet1 **fontset); 3884 3885 HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( 3886 IDWriteFontSet3 *This, 3887 IDWriteFontSet1 **fontset); 3888 3889 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( 3890 IDWriteFontSet3 *This, 3891 const UINT32 *indices, 3892 UINT32 num_indices, 3893 IDWriteFontSet1 **fontset); 3894 3895 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( 3896 IDWriteFontSet3 *This, 3897 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 3898 UINT32 num_ranges, 3899 WINBOOL select_any_range, 3900 IDWriteFontSet1 **fontset); 3901 3902 HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( 3903 IDWriteFontSet3 *This, 3904 const DWRITE_FONT_PROPERTY *props, 3905 UINT32 num_properties, 3906 WINBOOL select_any_property, 3907 IDWriteFontSet1 **fontset); 3908 3909 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices_)( 3910 IDWriteFontSet3 *This, 3911 const DWRITE_FONT_AXIS_RANGE *ranges, 3912 UINT32 num_ranges, 3913 WINBOOL select_any_range, 3914 UINT32 *indices, 3915 UINT32 num_indices, 3916 UINT32 *actual_num_indices); 3917 3918 HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( 3919 IDWriteFontSet3 *This, 3920 const DWRITE_FONT_PROPERTY *props, 3921 UINT32 num_properties, 3922 WINBOOL select_any_range, 3923 UINT32 *indices, 3924 UINT32 num_indices, 3925 UINT32 *actual_num_indices); 3926 3927 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( 3928 IDWriteFontSet3 *This, 3929 UINT32 font_index, 3930 DWRITE_FONT_AXIS_RANGE *axis_ranges, 3931 UINT32 num_ranges, 3932 UINT32 *actual_num_ranges); 3933 3934 HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( 3935 IDWriteFontSet3 *This, 3936 DWRITE_FONT_AXIS_RANGE *axis_ranges, 3937 UINT32 num_ranges, 3938 UINT32 *actual_num_ranges); 3939 3940 HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( 3941 IDWriteFontSet3 *This, 3942 UINT32 index, 3943 IDWriteFontFaceReference1 **reference); 3944 3945 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 3946 IDWriteFontSet3 *This, 3947 UINT32 index, 3948 IDWriteFontResource **resource); 3949 3950 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 3951 IDWriteFontSet3 *This, 3952 UINT32 index, 3953 IDWriteFontFace5 **fontface); 3954 3955 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( 3956 IDWriteFontSet3 *This, 3957 UINT32 index); 3958 3959 /*** IDWriteFontSet2 methods ***/ 3960 HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( 3961 IDWriteFontSet3 *This); 3962 3963 /*** IDWriteFontSet3 methods ***/ 3964 DWRITE_FONT_SOURCE_TYPE (STDMETHODCALLTYPE *GetFontSourceType)( 3965 IDWriteFontSet3 *This, 3966 UINT32 index); 3967 3968 UINT32 (STDMETHODCALLTYPE *GetFontSourceNameLength)( 3969 IDWriteFontSet3 *This, 3970 UINT32 index); 3971 3972 HRESULT (STDMETHODCALLTYPE *GetFontSourceName)( 3973 IDWriteFontSet3 *This, 3974 UINT32 index, 3975 WCHAR *buffer, 3976 UINT32 buffer_size); 3977 3978 END_INTERFACE 3979 } IDWriteFontSet3Vtbl; 3980 3981 interface IDWriteFontSet3 { 3982 CONST_VTBL IDWriteFontSet3Vtbl* lpVtbl; 3983 }; 3984 3985 #ifdef COBJMACROS 3986 #ifndef WIDL_C_INLINE_WRAPPERS 3987 /*** IUnknown methods ***/ 3988 #define IDWriteFontSet3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3989 #define IDWriteFontSet3_AddRef(This) (This)->lpVtbl->AddRef(This) 3990 #define IDWriteFontSet3_Release(This) (This)->lpVtbl->Release(This) 3991 /*** IDWriteFontSet methods ***/ 3992 #define IDWriteFontSet3_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) 3993 #define IDWriteFontSet3_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) 3994 #define IDWriteFontSet3_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) 3995 #define IDWriteFontSet3_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) 3996 #define IDWriteFontSet3_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) 3997 #define IDWriteFontSet3_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) 3998 #define IDWriteFontSet3_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) 3999 #define IDWriteFontSet3_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) 4000 /*** IDWriteFontSet1 methods ***/ 4001 #define IDWriteFontSet3_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) 4002 #define IDWriteFontSet3_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) 4003 #define IDWriteFontSet3_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) 4004 #define IDWriteFontSet3_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) 4005 #define IDWriteFontSet3_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) 4006 #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) 4007 #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) 4008 #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) 4009 #define IDWriteFontSet3_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) 4010 #define IDWriteFontSet3_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) 4011 #define IDWriteFontSet3_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) 4012 #define IDWriteFontSet3_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) 4013 #define IDWriteFontSet3_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) 4014 /*** IDWriteFontSet2 methods ***/ 4015 #define IDWriteFontSet3_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) 4016 /*** IDWriteFontSet3 methods ***/ 4017 #define IDWriteFontSet3_GetFontSourceType(This,index) (This)->lpVtbl->GetFontSourceType(This,index) 4018 #define IDWriteFontSet3_GetFontSourceNameLength(This,index) (This)->lpVtbl->GetFontSourceNameLength(This,index) 4019 #define IDWriteFontSet3_GetFontSourceName(This,index,buffer,buffer_size) (This)->lpVtbl->GetFontSourceName(This,index,buffer,buffer_size) 4020 #else 4021 /*** IUnknown methods ***/ 4022 static FORCEINLINE HRESULT IDWriteFontSet3_QueryInterface(IDWriteFontSet3* This,REFIID riid,void **ppvObject) { 4023 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4024 } 4025 static FORCEINLINE ULONG IDWriteFontSet3_AddRef(IDWriteFontSet3* This) { 4026 return This->lpVtbl->AddRef(This); 4027 } 4028 static FORCEINLINE ULONG IDWriteFontSet3_Release(IDWriteFontSet3* This) { 4029 return This->lpVtbl->Release(This); 4030 } 4031 /*** IDWriteFontSet methods ***/ 4032 static FORCEINLINE UINT32 IDWriteFontSet3_GetFontCount(IDWriteFontSet3* This) { 4033 return This->lpVtbl->GetFontCount(This); 4034 } 4035 static FORCEINLINE HRESULT IDWriteFontSet3_FindFontFaceReference(IDWriteFontSet3* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { 4036 return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); 4037 } 4038 static FORCEINLINE HRESULT IDWriteFontSet3_FindFontFace(IDWriteFontSet3* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { 4039 return This->lpVtbl->FindFontFace(This,fontface,index,exists); 4040 } 4041 static FORCEINLINE HRESULT IDWriteFontSet3_GetPropertyValues__(IDWriteFontSet3* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { 4042 return This->lpVtbl->GetPropertyValues__(This,id,values); 4043 } 4044 static FORCEINLINE HRESULT IDWriteFontSet3_GetPropertyValues_(IDWriteFontSet3* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { 4045 return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); 4046 } 4047 static FORCEINLINE HRESULT IDWriteFontSet3_GetPropertyValues(IDWriteFontSet3* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { 4048 return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); 4049 } 4050 static FORCEINLINE HRESULT IDWriteFontSet3_GetPropertyOccurrenceCount(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { 4051 return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); 4052 } 4053 static FORCEINLINE HRESULT IDWriteFontSet3_GetMatchingFonts_(IDWriteFontSet3* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { 4054 return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); 4055 } 4056 /*** IDWriteFontSet1 methods ***/ 4057 static FORCEINLINE HRESULT IDWriteFontSet3_GetMatchingFonts(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { 4058 return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); 4059 } 4060 static FORCEINLINE HRESULT IDWriteFontSet3_GetFirstFontResources(IDWriteFontSet3* This,IDWriteFontSet1 **fontset) { 4061 return This->lpVtbl->GetFirstFontResources(This,fontset); 4062 } 4063 static FORCEINLINE HRESULT IDWriteFontSet3_GetFilteredFonts__(IDWriteFontSet3* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { 4064 return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); 4065 } 4066 static FORCEINLINE HRESULT IDWriteFontSet3_GetFilteredFonts_(IDWriteFontSet3* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { 4067 return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); 4068 } 4069 static FORCEINLINE HRESULT IDWriteFontSet3_GetFilteredFonts(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { 4070 return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); 4071 } 4072 static FORCEINLINE 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) { 4073 return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); 4074 } 4075 static FORCEINLINE 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) { 4076 return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); 4077 } 4078 static FORCEINLINE HRESULT IDWriteFontSet3_GetFontAxisRanges_(IDWriteFontSet3* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 4079 return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); 4080 } 4081 static FORCEINLINE HRESULT IDWriteFontSet3_GetFontAxisRanges(IDWriteFontSet3* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { 4082 return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); 4083 } 4084 static FORCEINLINE HRESULT IDWriteFontSet3_GetFontFaceReference(IDWriteFontSet3* This,UINT32 index,IDWriteFontFaceReference1 **reference) { 4085 return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); 4086 } 4087 static FORCEINLINE HRESULT IDWriteFontSet3_CreateFontResource(IDWriteFontSet3* This,UINT32 index,IDWriteFontResource **resource) { 4088 return This->lpVtbl->CreateFontResource(This,index,resource); 4089 } 4090 static FORCEINLINE HRESULT IDWriteFontSet3_CreateFontFace(IDWriteFontSet3* This,UINT32 index,IDWriteFontFace5 **fontface) { 4091 return This->lpVtbl->CreateFontFace(This,index,fontface); 4092 } 4093 static FORCEINLINE DWRITE_LOCALITY IDWriteFontSet3_GetFontLocality(IDWriteFontSet3* This,UINT32 index) { 4094 return This->lpVtbl->GetFontLocality(This,index); 4095 } 4096 /*** IDWriteFontSet2 methods ***/ 4097 static FORCEINLINE HANDLE IDWriteFontSet3_GetExpirationEvent(IDWriteFontSet3* This) { 4098 return This->lpVtbl->GetExpirationEvent(This); 4099 } 4100 /*** IDWriteFontSet3 methods ***/ 4101 static FORCEINLINE DWRITE_FONT_SOURCE_TYPE IDWriteFontSet3_GetFontSourceType(IDWriteFontSet3* This,UINT32 index) { 4102 return This->lpVtbl->GetFontSourceType(This,index); 4103 } 4104 static FORCEINLINE UINT32 IDWriteFontSet3_GetFontSourceNameLength(IDWriteFontSet3* This,UINT32 index) { 4105 return This->lpVtbl->GetFontSourceNameLength(This,index); 4106 } 4107 static FORCEINLINE HRESULT IDWriteFontSet3_GetFontSourceName(IDWriteFontSet3* This,UINT32 index,WCHAR *buffer,UINT32 buffer_size) { 4108 return This->lpVtbl->GetFontSourceName(This,index,buffer,buffer_size); 4109 } 4110 #endif 4111 #endif 4112 4113 #endif 4114 4115 4116 #endif /* __IDWriteFontSet3_INTERFACE_DEFINED__ */ 4117 4118 /***************************************************************************** 4119 * IDWriteFontFace3 interface 4120 */ 4121 #ifndef __IDWriteFontFace3_INTERFACE_DEFINED__ 4122 #define __IDWriteFontFace3_INTERFACE_DEFINED__ 4123 4124 DEFINE_GUID(IID_IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2,0x36, 0x20,0x81,0x34,0x1c,0xc1,0xf2); 4125 #if defined(__cplusplus) && !defined(CINTERFACE) 4126 MIDL_INTERFACE("d37d7598-09be-4222-a236-2081341cc1f2") 4127 IDWriteFontFace3 : public IDWriteFontFace2 4128 { 4129 virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( 4130 IDWriteFontFaceReference **reference) = 0; 4131 4132 virtual void STDMETHODCALLTYPE GetPanose( 4133 DWRITE_PANOSE *panose) = 0; 4134 4135 virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight( 4136 ) = 0; 4137 4138 virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch( 4139 ) = 0; 4140 4141 virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle( 4142 ) = 0; 4143 4144 virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( 4145 IDWriteLocalizedStrings **names) = 0; 4146 4147 virtual HRESULT STDMETHODCALLTYPE GetFaceNames( 4148 IDWriteLocalizedStrings **names) = 0; 4149 4150 virtual HRESULT STDMETHODCALLTYPE GetInformationalStrings( 4151 DWRITE_INFORMATIONAL_STRING_ID stringid, 4152 IDWriteLocalizedStrings **strings, 4153 WINBOOL *exists) = 0; 4154 4155 virtual WINBOOL STDMETHODCALLTYPE HasCharacter( 4156 UINT32 character) = 0; 4157 4158 virtual HRESULT STDMETHODCALLTYPE GetRecommendedRenderingMode( 4159 FLOAT emsize, 4160 FLOAT dpi_x, 4161 FLOAT dpi_y, 4162 const DWRITE_MATRIX *transform, 4163 WINBOOL is_sideways, 4164 DWRITE_OUTLINE_THRESHOLD threshold, 4165 DWRITE_MEASURING_MODE measuring_mode, 4166 IDWriteRenderingParams *params, 4167 DWRITE_RENDERING_MODE1 *rendering_mode, 4168 DWRITE_GRID_FIT_MODE *gridfit_mode) = 0; 4169 4170 virtual WINBOOL STDMETHODCALLTYPE IsCharacterLocal( 4171 UINT32 character) = 0; 4172 4173 virtual WINBOOL STDMETHODCALLTYPE IsGlyphLocal( 4174 UINT16 glyph) = 0; 4175 4176 virtual HRESULT STDMETHODCALLTYPE AreCharactersLocal( 4177 const WCHAR *characters, 4178 UINT32 count, 4179 WINBOOL enqueue_if_not, 4180 WINBOOL *are_local) = 0; 4181 4182 virtual HRESULT STDMETHODCALLTYPE AreGlyphsLocal( 4183 const UINT16 *glyphs, 4184 UINT32 count, 4185 WINBOOL enqueue_if_not, 4186 WINBOOL *are_local) = 0; 4187 4188 }; 4189 #ifdef __CRT_UUID_DECL 4190 __CRT_UUID_DECL(IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2,0x36, 0x20,0x81,0x34,0x1c,0xc1,0xf2) 4191 #endif 4192 #else 4193 typedef struct IDWriteFontFace3Vtbl { 4194 BEGIN_INTERFACE 4195 4196 /*** IUnknown methods ***/ 4197 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4198 IDWriteFontFace3 *This, 4199 REFIID riid, 4200 void **ppvObject); 4201 4202 ULONG (STDMETHODCALLTYPE *AddRef)( 4203 IDWriteFontFace3 *This); 4204 4205 ULONG (STDMETHODCALLTYPE *Release)( 4206 IDWriteFontFace3 *This); 4207 4208 /*** IDWriteFontFace methods ***/ 4209 DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( 4210 IDWriteFontFace3 *This); 4211 4212 HRESULT (STDMETHODCALLTYPE *GetFiles)( 4213 IDWriteFontFace3 *This, 4214 UINT32 *number_of_files, 4215 IDWriteFontFile **fontfiles); 4216 4217 UINT32 (STDMETHODCALLTYPE *GetIndex)( 4218 IDWriteFontFace3 *This); 4219 4220 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 4221 IDWriteFontFace3 *This); 4222 4223 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 4224 IDWriteFontFace3 *This); 4225 4226 void (STDMETHODCALLTYPE *GetMetrics)( 4227 IDWriteFontFace3 *This, 4228 DWRITE_FONT_METRICS *metrics); 4229 4230 UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( 4231 IDWriteFontFace3 *This); 4232 4233 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( 4234 IDWriteFontFace3 *This, 4235 const UINT16 *glyph_indices, 4236 UINT32 glyph_count, 4237 DWRITE_GLYPH_METRICS *metrics, 4238 WINBOOL is_sideways); 4239 4240 HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( 4241 IDWriteFontFace3 *This, 4242 const UINT32 *codepoints, 4243 UINT32 count, 4244 UINT16 *glyph_indices); 4245 4246 HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( 4247 IDWriteFontFace3 *This, 4248 UINT32 table_tag, 4249 const void **table_data, 4250 UINT32 *table_size, 4251 void **context, 4252 WINBOOL *exists); 4253 4254 void (STDMETHODCALLTYPE *ReleaseFontTable)( 4255 IDWriteFontFace3 *This, 4256 void *table_context); 4257 4258 HRESULT (STDMETHODCALLTYPE *GetGlyphRunOutline)( 4259 IDWriteFontFace3 *This, 4260 FLOAT emSize, 4261 const UINT16 *glyph_indices, 4262 const FLOAT *glyph_advances, 4263 const DWRITE_GLYPH_OFFSET *glyph_offsets, 4264 UINT32 glyph_count, 4265 WINBOOL is_sideways, 4266 WINBOOL is_rtl, 4267 IDWriteGeometrySink *geometrysink); 4268 4269 HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( 4270 IDWriteFontFace3 *This, 4271 FLOAT emSize, 4272 FLOAT pixels_per_dip, 4273 DWRITE_MEASURING_MODE mode, 4274 IDWriteRenderingParams *params, 4275 DWRITE_RENDERING_MODE *rendering_mode); 4276 4277 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( 4278 IDWriteFontFace3 *This, 4279 FLOAT emSize, 4280 FLOAT pixels_per_dip, 4281 const DWRITE_MATRIX *transform, 4282 DWRITE_FONT_METRICS *metrics); 4283 4284 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphMetrics)( 4285 IDWriteFontFace3 *This, 4286 FLOAT emSize, 4287 FLOAT pixels_per_dip, 4288 const DWRITE_MATRIX *transform, 4289 WINBOOL use_gdi_natural, 4290 const UINT16 *glyph_indices, 4291 UINT32 glyph_count, 4292 DWRITE_GLYPH_METRICS *metrics, 4293 WINBOOL is_sideways); 4294 4295 /*** IDWriteFontFace1 methods ***/ 4296 void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( 4297 IDWriteFontFace3 *This, 4298 DWRITE_FONT_METRICS1 *metrics); 4299 4300 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( 4301 IDWriteFontFace3 *This, 4302 FLOAT em_size, 4303 FLOAT pixels_per_dip, 4304 const DWRITE_MATRIX *transform, 4305 DWRITE_FONT_METRICS1 *metrics); 4306 4307 void (STDMETHODCALLTYPE *GetCaretMetrics)( 4308 IDWriteFontFace3 *This, 4309 DWRITE_CARET_METRICS *metrics); 4310 4311 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 4312 IDWriteFontFace3 *This, 4313 UINT32 max_count, 4314 DWRITE_UNICODE_RANGE *ranges, 4315 UINT32 *count); 4316 4317 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 4318 IDWriteFontFace3 *This); 4319 4320 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( 4321 IDWriteFontFace3 *This, 4322 UINT32 glyph_count, 4323 const UINT16 *indices, 4324 INT32 *advances, 4325 WINBOOL is_sideways); 4326 4327 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphAdvances)( 4328 IDWriteFontFace3 *This, 4329 FLOAT em_size, 4330 FLOAT pixels_per_dip, 4331 const DWRITE_MATRIX *transform, 4332 WINBOOL use_gdi_natural, 4333 WINBOOL is_sideways, 4334 UINT32 glyph_count, 4335 const UINT16 *indices, 4336 INT32 *advances); 4337 4338 HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( 4339 IDWriteFontFace3 *This, 4340 UINT32 glyph_count, 4341 const UINT16 *indices, 4342 INT32 *adjustments); 4343 4344 WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( 4345 IDWriteFontFace3 *This); 4346 4347 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( 4348 IDWriteFontFace3 *This, 4349 FLOAT font_emsize, 4350 FLOAT dpiX, 4351 FLOAT dpiY, 4352 const DWRITE_MATRIX *transform, 4353 WINBOOL is_sideways, 4354 DWRITE_OUTLINE_THRESHOLD threshold, 4355 DWRITE_MEASURING_MODE measuring_mode, 4356 DWRITE_RENDERING_MODE *rendering_mode); 4357 4358 HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( 4359 IDWriteFontFace3 *This, 4360 UINT32 glyph_count, 4361 const UINT16 *nominal_indices, 4362 UINT16 *vertical_indices); 4363 4364 WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( 4365 IDWriteFontFace3 *This); 4366 4367 /*** IDWriteFontFace2 methods ***/ 4368 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 4369 IDWriteFontFace3 *This); 4370 4371 UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( 4372 IDWriteFontFace3 *This); 4373 4374 UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( 4375 IDWriteFontFace3 *This); 4376 4377 HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( 4378 IDWriteFontFace3 *This, 4379 UINT32 palette_index, 4380 UINT32 first_entry_index, 4381 UINT32 entry_count, 4382 DWRITE_COLOR_F *entries); 4383 4384 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( 4385 IDWriteFontFace3 *This, 4386 FLOAT fontEmSize, 4387 FLOAT dpiX, 4388 FLOAT dpiY, 4389 const DWRITE_MATRIX *transform, 4390 WINBOOL is_sideways, 4391 DWRITE_OUTLINE_THRESHOLD threshold, 4392 DWRITE_MEASURING_MODE measuringmode, 4393 IDWriteRenderingParams *params, 4394 DWRITE_RENDERING_MODE *renderingmode, 4395 DWRITE_GRID_FIT_MODE *gridfitmode); 4396 4397 /*** IDWriteFontFace3 methods ***/ 4398 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 4399 IDWriteFontFace3 *This, 4400 IDWriteFontFaceReference **reference); 4401 4402 void (STDMETHODCALLTYPE *GetPanose)( 4403 IDWriteFontFace3 *This, 4404 DWRITE_PANOSE *panose); 4405 4406 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 4407 IDWriteFontFace3 *This); 4408 4409 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 4410 IDWriteFontFace3 *This); 4411 4412 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 4413 IDWriteFontFace3 *This); 4414 4415 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 4416 IDWriteFontFace3 *This, 4417 IDWriteLocalizedStrings **names); 4418 4419 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 4420 IDWriteFontFace3 *This, 4421 IDWriteLocalizedStrings **names); 4422 4423 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 4424 IDWriteFontFace3 *This, 4425 DWRITE_INFORMATIONAL_STRING_ID stringid, 4426 IDWriteLocalizedStrings **strings, 4427 WINBOOL *exists); 4428 4429 WINBOOL (STDMETHODCALLTYPE *HasCharacter)( 4430 IDWriteFontFace3 *This, 4431 UINT32 character); 4432 4433 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_GetRecommendedRenderingMode)( 4434 IDWriteFontFace3 *This, 4435 FLOAT emsize, 4436 FLOAT dpi_x, 4437 FLOAT dpi_y, 4438 const DWRITE_MATRIX *transform, 4439 WINBOOL is_sideways, 4440 DWRITE_OUTLINE_THRESHOLD threshold, 4441 DWRITE_MEASURING_MODE measuring_mode, 4442 IDWriteRenderingParams *params, 4443 DWRITE_RENDERING_MODE1 *rendering_mode, 4444 DWRITE_GRID_FIT_MODE *gridfit_mode); 4445 4446 WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( 4447 IDWriteFontFace3 *This, 4448 UINT32 character); 4449 4450 WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( 4451 IDWriteFontFace3 *This, 4452 UINT16 glyph); 4453 4454 HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( 4455 IDWriteFontFace3 *This, 4456 const WCHAR *characters, 4457 UINT32 count, 4458 WINBOOL enqueue_if_not, 4459 WINBOOL *are_local); 4460 4461 HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( 4462 IDWriteFontFace3 *This, 4463 const UINT16 *glyphs, 4464 UINT32 count, 4465 WINBOOL enqueue_if_not, 4466 WINBOOL *are_local); 4467 4468 END_INTERFACE 4469 } IDWriteFontFace3Vtbl; 4470 4471 interface IDWriteFontFace3 { 4472 CONST_VTBL IDWriteFontFace3Vtbl* lpVtbl; 4473 }; 4474 4475 #ifdef COBJMACROS 4476 #ifndef WIDL_C_INLINE_WRAPPERS 4477 /*** IUnknown methods ***/ 4478 #define IDWriteFontFace3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4479 #define IDWriteFontFace3_AddRef(This) (This)->lpVtbl->AddRef(This) 4480 #define IDWriteFontFace3_Release(This) (This)->lpVtbl->Release(This) 4481 /*** IDWriteFontFace methods ***/ 4482 #define IDWriteFontFace3_GetType(This) (This)->lpVtbl->GetType(This) 4483 #define IDWriteFontFace3_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) 4484 #define IDWriteFontFace3_GetIndex(This) (This)->lpVtbl->GetIndex(This) 4485 #define IDWriteFontFace3_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 4486 #define IDWriteFontFace3_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 4487 #define IDWriteFontFace3_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) 4488 #define IDWriteFontFace3_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) 4489 #define IDWriteFontFace3_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) 4490 #define IDWriteFontFace3_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) 4491 #define IDWriteFontFace3_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) 4492 #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) 4493 #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) 4494 /*** IDWriteFontFace1 methods ***/ 4495 #define IDWriteFontFace3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) 4496 #define IDWriteFontFace3_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) 4497 #define IDWriteFontFace3_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) 4498 #define IDWriteFontFace3_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 4499 #define IDWriteFontFace3_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 4500 #define IDWriteFontFace3_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) 4501 #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) 4502 #define IDWriteFontFace3_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) 4503 #define IDWriteFontFace3_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) 4504 #define IDWriteFontFace3_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) 4505 #define IDWriteFontFace3_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) 4506 /*** IDWriteFontFace2 methods ***/ 4507 #define IDWriteFontFace3_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 4508 #define IDWriteFontFace3_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) 4509 #define IDWriteFontFace3_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) 4510 #define IDWriteFontFace3_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) 4511 /*** IDWriteFontFace3 methods ***/ 4512 #define IDWriteFontFace3_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 4513 #define IDWriteFontFace3_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 4514 #define IDWriteFontFace3_GetWeight(This) (This)->lpVtbl->GetWeight(This) 4515 #define IDWriteFontFace3_GetStretch(This) (This)->lpVtbl->GetStretch(This) 4516 #define IDWriteFontFace3_GetStyle(This) (This)->lpVtbl->GetStyle(This) 4517 #define IDWriteFontFace3_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 4518 #define IDWriteFontFace3_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 4519 #define IDWriteFontFace3_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 4520 #define IDWriteFontFace3_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) 4521 #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) 4522 #define IDWriteFontFace3_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) 4523 #define IDWriteFontFace3_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) 4524 #define IDWriteFontFace3_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) 4525 #define IDWriteFontFace3_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) 4526 #else 4527 /*** IUnknown methods ***/ 4528 static FORCEINLINE HRESULT IDWriteFontFace3_QueryInterface(IDWriteFontFace3* This,REFIID riid,void **ppvObject) { 4529 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4530 } 4531 static FORCEINLINE ULONG IDWriteFontFace3_AddRef(IDWriteFontFace3* This) { 4532 return This->lpVtbl->AddRef(This); 4533 } 4534 static FORCEINLINE ULONG IDWriteFontFace3_Release(IDWriteFontFace3* This) { 4535 return This->lpVtbl->Release(This); 4536 } 4537 /*** IDWriteFontFace methods ***/ 4538 static FORCEINLINE DWRITE_FONT_FACE_TYPE IDWriteFontFace3_GetType(IDWriteFontFace3* This) { 4539 return This->lpVtbl->GetType(This); 4540 } 4541 static FORCEINLINE HRESULT IDWriteFontFace3_GetFiles(IDWriteFontFace3* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { 4542 return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); 4543 } 4544 static FORCEINLINE UINT32 IDWriteFontFace3_GetIndex(IDWriteFontFace3* This) { 4545 return This->lpVtbl->GetIndex(This); 4546 } 4547 static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFace3_GetSimulations(IDWriteFontFace3* This) { 4548 return This->lpVtbl->GetSimulations(This); 4549 } 4550 static FORCEINLINE WINBOOL IDWriteFontFace3_IsSymbolFont(IDWriteFontFace3* This) { 4551 return This->lpVtbl->IsSymbolFont(This); 4552 } 4553 static FORCEINLINE UINT16 IDWriteFontFace3_GetGlyphCount(IDWriteFontFace3* This) { 4554 return This->lpVtbl->GetGlyphCount(This); 4555 } 4556 static FORCEINLINE HRESULT IDWriteFontFace3_GetDesignGlyphMetrics(IDWriteFontFace3* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 4557 return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); 4558 } 4559 static FORCEINLINE HRESULT IDWriteFontFace3_GetGlyphIndices(IDWriteFontFace3* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { 4560 return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); 4561 } 4562 static FORCEINLINE HRESULT IDWriteFontFace3_TryGetFontTable(IDWriteFontFace3* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { 4563 return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); 4564 } 4565 static FORCEINLINE void IDWriteFontFace3_ReleaseFontTable(IDWriteFontFace3* This,void *table_context) { 4566 This->lpVtbl->ReleaseFontTable(This,table_context); 4567 } 4568 static FORCEINLINE 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) { 4569 return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); 4570 } 4571 static FORCEINLINE 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) { 4572 return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); 4573 } 4574 /*** IDWriteFontFace1 methods ***/ 4575 static FORCEINLINE void IDWriteFontFace3_GetMetrics(IDWriteFontFace3* This,DWRITE_FONT_METRICS1 *metrics) { 4576 This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); 4577 } 4578 static FORCEINLINE HRESULT IDWriteFontFace3_GetGdiCompatibleMetrics(IDWriteFontFace3* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { 4579 return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); 4580 } 4581 static FORCEINLINE void IDWriteFontFace3_GetCaretMetrics(IDWriteFontFace3* This,DWRITE_CARET_METRICS *metrics) { 4582 This->lpVtbl->GetCaretMetrics(This,metrics); 4583 } 4584 static FORCEINLINE HRESULT IDWriteFontFace3_GetUnicodeRanges(IDWriteFontFace3* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 4585 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 4586 } 4587 static FORCEINLINE WINBOOL IDWriteFontFace3_IsMonospacedFont(IDWriteFontFace3* This) { 4588 return This->lpVtbl->IsMonospacedFont(This); 4589 } 4590 static FORCEINLINE HRESULT IDWriteFontFace3_GetDesignGlyphAdvances(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { 4591 return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); 4592 } 4593 static FORCEINLINE 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) { 4594 return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); 4595 } 4596 static FORCEINLINE HRESULT IDWriteFontFace3_GetKerningPairAdjustments(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { 4597 return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); 4598 } 4599 static FORCEINLINE WINBOOL IDWriteFontFace3_HasKerningPairs(IDWriteFontFace3* This) { 4600 return This->lpVtbl->HasKerningPairs(This); 4601 } 4602 static FORCEINLINE HRESULT IDWriteFontFace3_GetVerticalGlyphVariants(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { 4603 return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); 4604 } 4605 static FORCEINLINE WINBOOL IDWriteFontFace3_HasVerticalGlyphVariants(IDWriteFontFace3* This) { 4606 return This->lpVtbl->HasVerticalGlyphVariants(This); 4607 } 4608 /*** IDWriteFontFace2 methods ***/ 4609 static FORCEINLINE WINBOOL IDWriteFontFace3_IsColorFont(IDWriteFontFace3* This) { 4610 return This->lpVtbl->IsColorFont(This); 4611 } 4612 static FORCEINLINE UINT32 IDWriteFontFace3_GetColorPaletteCount(IDWriteFontFace3* This) { 4613 return This->lpVtbl->GetColorPaletteCount(This); 4614 } 4615 static FORCEINLINE UINT32 IDWriteFontFace3_GetPaletteEntryCount(IDWriteFontFace3* This) { 4616 return This->lpVtbl->GetPaletteEntryCount(This); 4617 } 4618 static FORCEINLINE HRESULT IDWriteFontFace3_GetPaletteEntries(IDWriteFontFace3* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { 4619 return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); 4620 } 4621 /*** IDWriteFontFace3 methods ***/ 4622 static FORCEINLINE HRESULT IDWriteFontFace3_GetFontFaceReference(IDWriteFontFace3* This,IDWriteFontFaceReference **reference) { 4623 return This->lpVtbl->GetFontFaceReference(This,reference); 4624 } 4625 static FORCEINLINE void IDWriteFontFace3_GetPanose(IDWriteFontFace3* This,DWRITE_PANOSE *panose) { 4626 This->lpVtbl->GetPanose(This,panose); 4627 } 4628 static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteFontFace3_GetWeight(IDWriteFontFace3* This) { 4629 return This->lpVtbl->GetWeight(This); 4630 } 4631 static FORCEINLINE DWRITE_FONT_STRETCH IDWriteFontFace3_GetStretch(IDWriteFontFace3* This) { 4632 return This->lpVtbl->GetStretch(This); 4633 } 4634 static FORCEINLINE DWRITE_FONT_STYLE IDWriteFontFace3_GetStyle(IDWriteFontFace3* This) { 4635 return This->lpVtbl->GetStyle(This); 4636 } 4637 static FORCEINLINE HRESULT IDWriteFontFace3_GetFamilyNames(IDWriteFontFace3* This,IDWriteLocalizedStrings **names) { 4638 return This->lpVtbl->GetFamilyNames(This,names); 4639 } 4640 static FORCEINLINE HRESULT IDWriteFontFace3_GetFaceNames(IDWriteFontFace3* This,IDWriteLocalizedStrings **names) { 4641 return This->lpVtbl->GetFaceNames(This,names); 4642 } 4643 static FORCEINLINE HRESULT IDWriteFontFace3_GetInformationalStrings(IDWriteFontFace3* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 4644 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 4645 } 4646 static FORCEINLINE WINBOOL IDWriteFontFace3_HasCharacter(IDWriteFontFace3* This,UINT32 character) { 4647 return This->lpVtbl->HasCharacter(This,character); 4648 } 4649 static FORCEINLINE 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) { 4650 return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); 4651 } 4652 static FORCEINLINE WINBOOL IDWriteFontFace3_IsCharacterLocal(IDWriteFontFace3* This,UINT32 character) { 4653 return This->lpVtbl->IsCharacterLocal(This,character); 4654 } 4655 static FORCEINLINE WINBOOL IDWriteFontFace3_IsGlyphLocal(IDWriteFontFace3* This,UINT16 glyph) { 4656 return This->lpVtbl->IsGlyphLocal(This,glyph); 4657 } 4658 static FORCEINLINE HRESULT IDWriteFontFace3_AreCharactersLocal(IDWriteFontFace3* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 4659 return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); 4660 } 4661 static FORCEINLINE HRESULT IDWriteFontFace3_AreGlyphsLocal(IDWriteFontFace3* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 4662 return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); 4663 } 4664 #endif 4665 #endif 4666 4667 #endif 4668 4669 4670 #endif /* __IDWriteFontFace3_INTERFACE_DEFINED__ */ 4671 4672 typedef struct DWRITE_LINE_METRICS1 { 4673 UINT32 length; 4674 UINT32 trailingWhitespaceLength; 4675 UINT32 newlineLength; 4676 FLOAT height; 4677 FLOAT baseline; 4678 WINBOOL isTrimmed; 4679 FLOAT leadingBefore; 4680 FLOAT leadingAfter; 4681 } DWRITE_LINE_METRICS1; 4682 typedef enum DWRITE_FONT_LINE_GAP_USAGE { 4683 DWRITE_FONT_LINE_GAP_USAGE_DEFAULT = 0, 4684 DWRITE_FONT_LINE_GAP_USAGE_DISABLED = 1, 4685 DWRITE_FONT_LINE_GAP_USAGE_ENABLED = 2 4686 } DWRITE_FONT_LINE_GAP_USAGE; 4687 typedef struct DWRITE_LINE_SPACING { 4688 DWRITE_LINE_SPACING_METHOD method; 4689 FLOAT height; 4690 FLOAT baseline; 4691 FLOAT leadingBefore; 4692 DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage; 4693 } DWRITE_LINE_SPACING; 4694 /***************************************************************************** 4695 * IDWriteTextFormat2 interface 4696 */ 4697 #ifndef __IDWriteTextFormat2_INTERFACE_DEFINED__ 4698 #define __IDWriteTextFormat2_INTERFACE_DEFINED__ 4699 4700 DEFINE_GUID(IID_IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c,0x32, 0x41,0x83,0x25,0x3d,0xfe,0x70); 4701 #if defined(__cplusplus) && !defined(CINTERFACE) 4702 MIDL_INTERFACE("f67e0edd-9e3d-4ecc-8c32-4183253dfe70") 4703 IDWriteTextFormat2 : public IDWriteTextFormat1 4704 { 4705 virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( 4706 const DWRITE_LINE_SPACING *spacing) = 0; 4707 4708 virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( 4709 DWRITE_LINE_SPACING *spacing) = 0; 4710 4711 }; 4712 #ifdef __CRT_UUID_DECL 4713 __CRT_UUID_DECL(IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c,0x32, 0x41,0x83,0x25,0x3d,0xfe,0x70) 4714 #endif 4715 #else 4716 typedef struct IDWriteTextFormat2Vtbl { 4717 BEGIN_INTERFACE 4718 4719 /*** IUnknown methods ***/ 4720 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4721 IDWriteTextFormat2 *This, 4722 REFIID riid, 4723 void **ppvObject); 4724 4725 ULONG (STDMETHODCALLTYPE *AddRef)( 4726 IDWriteTextFormat2 *This); 4727 4728 ULONG (STDMETHODCALLTYPE *Release)( 4729 IDWriteTextFormat2 *This); 4730 4731 /*** IDWriteTextFormat methods ***/ 4732 HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( 4733 IDWriteTextFormat2 *This, 4734 DWRITE_TEXT_ALIGNMENT alignment); 4735 4736 HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( 4737 IDWriteTextFormat2 *This, 4738 DWRITE_PARAGRAPH_ALIGNMENT alignment); 4739 4740 HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( 4741 IDWriteTextFormat2 *This, 4742 DWRITE_WORD_WRAPPING wrapping); 4743 4744 HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( 4745 IDWriteTextFormat2 *This, 4746 DWRITE_READING_DIRECTION direction); 4747 4748 HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( 4749 IDWriteTextFormat2 *This, 4750 DWRITE_FLOW_DIRECTION direction); 4751 4752 HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( 4753 IDWriteTextFormat2 *This, 4754 FLOAT tabstop); 4755 4756 HRESULT (STDMETHODCALLTYPE *SetTrimming)( 4757 IDWriteTextFormat2 *This, 4758 const DWRITE_TRIMMING *trimming, 4759 IDWriteInlineObject *trimming_sign); 4760 4761 HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( 4762 IDWriteTextFormat2 *This, 4763 DWRITE_LINE_SPACING_METHOD spacing, 4764 FLOAT line_spacing, 4765 FLOAT baseline); 4766 4767 DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( 4768 IDWriteTextFormat2 *This); 4769 4770 DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( 4771 IDWriteTextFormat2 *This); 4772 4773 DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( 4774 IDWriteTextFormat2 *This); 4775 4776 DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( 4777 IDWriteTextFormat2 *This); 4778 4779 DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( 4780 IDWriteTextFormat2 *This); 4781 4782 FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( 4783 IDWriteTextFormat2 *This); 4784 4785 HRESULT (STDMETHODCALLTYPE *GetTrimming)( 4786 IDWriteTextFormat2 *This, 4787 DWRITE_TRIMMING *options, 4788 IDWriteInlineObject **trimming_sign); 4789 4790 HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( 4791 IDWriteTextFormat2 *This, 4792 DWRITE_LINE_SPACING_METHOD *method, 4793 FLOAT *spacing, 4794 FLOAT *baseline); 4795 4796 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 4797 IDWriteTextFormat2 *This, 4798 IDWriteFontCollection **collection); 4799 4800 UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( 4801 IDWriteTextFormat2 *This); 4802 4803 HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( 4804 IDWriteTextFormat2 *This, 4805 WCHAR *name, 4806 UINT32 size); 4807 4808 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( 4809 IDWriteTextFormat2 *This); 4810 4811 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( 4812 IDWriteTextFormat2 *This); 4813 4814 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( 4815 IDWriteTextFormat2 *This); 4816 4817 FLOAT (STDMETHODCALLTYPE *GetFontSize)( 4818 IDWriteTextFormat2 *This); 4819 4820 UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( 4821 IDWriteTextFormat2 *This); 4822 4823 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 4824 IDWriteTextFormat2 *This, 4825 WCHAR *name, 4826 UINT32 size); 4827 4828 /*** IDWriteTextFormat1 methods ***/ 4829 HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( 4830 IDWriteTextFormat2 *This, 4831 DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); 4832 4833 DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( 4834 IDWriteTextFormat2 *This); 4835 4836 HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( 4837 IDWriteTextFormat2 *This, 4838 WINBOOL lastline_wrapping_enabled); 4839 4840 WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( 4841 IDWriteTextFormat2 *This); 4842 4843 HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( 4844 IDWriteTextFormat2 *This, 4845 DWRITE_OPTICAL_ALIGNMENT alignment); 4846 4847 DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( 4848 IDWriteTextFormat2 *This); 4849 4850 HRESULT (STDMETHODCALLTYPE *SetFontFallback)( 4851 IDWriteTextFormat2 *This, 4852 IDWriteFontFallback *fallback); 4853 4854 HRESULT (STDMETHODCALLTYPE *GetFontFallback)( 4855 IDWriteTextFormat2 *This, 4856 IDWriteFontFallback **fallback); 4857 4858 /*** IDWriteTextFormat2 methods ***/ 4859 HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_SetLineSpacing)( 4860 IDWriteTextFormat2 *This, 4861 const DWRITE_LINE_SPACING *spacing); 4862 4863 HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_GetLineSpacing)( 4864 IDWriteTextFormat2 *This, 4865 DWRITE_LINE_SPACING *spacing); 4866 4867 END_INTERFACE 4868 } IDWriteTextFormat2Vtbl; 4869 4870 interface IDWriteTextFormat2 { 4871 CONST_VTBL IDWriteTextFormat2Vtbl* lpVtbl; 4872 }; 4873 4874 #ifdef COBJMACROS 4875 #ifndef WIDL_C_INLINE_WRAPPERS 4876 /*** IUnknown methods ***/ 4877 #define IDWriteTextFormat2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4878 #define IDWriteTextFormat2_AddRef(This) (This)->lpVtbl->AddRef(This) 4879 #define IDWriteTextFormat2_Release(This) (This)->lpVtbl->Release(This) 4880 /*** IDWriteTextFormat methods ***/ 4881 #define IDWriteTextFormat2_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) 4882 #define IDWriteTextFormat2_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) 4883 #define IDWriteTextFormat2_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) 4884 #define IDWriteTextFormat2_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) 4885 #define IDWriteTextFormat2_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) 4886 #define IDWriteTextFormat2_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) 4887 #define IDWriteTextFormat2_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) 4888 #define IDWriteTextFormat2_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) 4889 #define IDWriteTextFormat2_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) 4890 #define IDWriteTextFormat2_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) 4891 #define IDWriteTextFormat2_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) 4892 #define IDWriteTextFormat2_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) 4893 #define IDWriteTextFormat2_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) 4894 #define IDWriteTextFormat2_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) 4895 #define IDWriteTextFormat2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 4896 #define IDWriteTextFormat2_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) 4897 #define IDWriteTextFormat2_GetFontFamilyName(This,name,size) (This)->lpVtbl->GetFontFamilyName(This,name,size) 4898 #define IDWriteTextFormat2_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) 4899 #define IDWriteTextFormat2_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) 4900 #define IDWriteTextFormat2_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) 4901 #define IDWriteTextFormat2_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) 4902 #define IDWriteTextFormat2_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) 4903 #define IDWriteTextFormat2_GetLocaleName(This,name,size) (This)->lpVtbl->GetLocaleName(This,name,size) 4904 /*** IDWriteTextFormat1 methods ***/ 4905 #define IDWriteTextFormat2_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) 4906 #define IDWriteTextFormat2_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) 4907 #define IDWriteTextFormat2_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) 4908 #define IDWriteTextFormat2_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) 4909 #define IDWriteTextFormat2_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) 4910 #define IDWriteTextFormat2_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) 4911 #define IDWriteTextFormat2_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) 4912 #define IDWriteTextFormat2_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) 4913 /*** IDWriteTextFormat2 methods ***/ 4914 #define IDWriteTextFormat2_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing) 4915 #define IDWriteTextFormat2_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing) 4916 #else 4917 /*** IUnknown methods ***/ 4918 static FORCEINLINE HRESULT IDWriteTextFormat2_QueryInterface(IDWriteTextFormat2* This,REFIID riid,void **ppvObject) { 4919 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4920 } 4921 static FORCEINLINE ULONG IDWriteTextFormat2_AddRef(IDWriteTextFormat2* This) { 4922 return This->lpVtbl->AddRef(This); 4923 } 4924 static FORCEINLINE ULONG IDWriteTextFormat2_Release(IDWriteTextFormat2* This) { 4925 return This->lpVtbl->Release(This); 4926 } 4927 /*** IDWriteTextFormat methods ***/ 4928 static FORCEINLINE HRESULT IDWriteTextFormat2_SetTextAlignment(IDWriteTextFormat2* This,DWRITE_TEXT_ALIGNMENT alignment) { 4929 return This->lpVtbl->SetTextAlignment(This,alignment); 4930 } 4931 static FORCEINLINE HRESULT IDWriteTextFormat2_SetParagraphAlignment(IDWriteTextFormat2* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { 4932 return This->lpVtbl->SetParagraphAlignment(This,alignment); 4933 } 4934 static FORCEINLINE HRESULT IDWriteTextFormat2_SetWordWrapping(IDWriteTextFormat2* This,DWRITE_WORD_WRAPPING wrapping) { 4935 return This->lpVtbl->SetWordWrapping(This,wrapping); 4936 } 4937 static FORCEINLINE HRESULT IDWriteTextFormat2_SetReadingDirection(IDWriteTextFormat2* This,DWRITE_READING_DIRECTION direction) { 4938 return This->lpVtbl->SetReadingDirection(This,direction); 4939 } 4940 static FORCEINLINE HRESULT IDWriteTextFormat2_SetFlowDirection(IDWriteTextFormat2* This,DWRITE_FLOW_DIRECTION direction) { 4941 return This->lpVtbl->SetFlowDirection(This,direction); 4942 } 4943 static FORCEINLINE HRESULT IDWriteTextFormat2_SetIncrementalTabStop(IDWriteTextFormat2* This,FLOAT tabstop) { 4944 return This->lpVtbl->SetIncrementalTabStop(This,tabstop); 4945 } 4946 static FORCEINLINE HRESULT IDWriteTextFormat2_SetTrimming(IDWriteTextFormat2* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { 4947 return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); 4948 } 4949 static FORCEINLINE DWRITE_TEXT_ALIGNMENT IDWriteTextFormat2_GetTextAlignment(IDWriteTextFormat2* This) { 4950 return This->lpVtbl->GetTextAlignment(This); 4951 } 4952 static FORCEINLINE DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat2_GetParagraphAlignment(IDWriteTextFormat2* This) { 4953 return This->lpVtbl->GetParagraphAlignment(This); 4954 } 4955 static FORCEINLINE DWRITE_WORD_WRAPPING IDWriteTextFormat2_GetWordWrapping(IDWriteTextFormat2* This) { 4956 return This->lpVtbl->GetWordWrapping(This); 4957 } 4958 static FORCEINLINE DWRITE_READING_DIRECTION IDWriteTextFormat2_GetReadingDirection(IDWriteTextFormat2* This) { 4959 return This->lpVtbl->GetReadingDirection(This); 4960 } 4961 static FORCEINLINE DWRITE_FLOW_DIRECTION IDWriteTextFormat2_GetFlowDirection(IDWriteTextFormat2* This) { 4962 return This->lpVtbl->GetFlowDirection(This); 4963 } 4964 static FORCEINLINE FLOAT IDWriteTextFormat2_GetIncrementalTabStop(IDWriteTextFormat2* This) { 4965 return This->lpVtbl->GetIncrementalTabStop(This); 4966 } 4967 static FORCEINLINE HRESULT IDWriteTextFormat2_GetTrimming(IDWriteTextFormat2* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { 4968 return This->lpVtbl->GetTrimming(This,options,trimming_sign); 4969 } 4970 static FORCEINLINE HRESULT IDWriteTextFormat2_GetFontCollection(IDWriteTextFormat2* This,IDWriteFontCollection **collection) { 4971 return This->lpVtbl->GetFontCollection(This,collection); 4972 } 4973 static FORCEINLINE UINT32 IDWriteTextFormat2_GetFontFamilyNameLength(IDWriteTextFormat2* This) { 4974 return This->lpVtbl->GetFontFamilyNameLength(This); 4975 } 4976 static FORCEINLINE HRESULT IDWriteTextFormat2_GetFontFamilyName(IDWriteTextFormat2* This,WCHAR *name,UINT32 size) { 4977 return This->lpVtbl->GetFontFamilyName(This,name,size); 4978 } 4979 static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteTextFormat2_GetFontWeight(IDWriteTextFormat2* This) { 4980 return This->lpVtbl->GetFontWeight(This); 4981 } 4982 static FORCEINLINE DWRITE_FONT_STYLE IDWriteTextFormat2_GetFontStyle(IDWriteTextFormat2* This) { 4983 return This->lpVtbl->GetFontStyle(This); 4984 } 4985 static FORCEINLINE DWRITE_FONT_STRETCH IDWriteTextFormat2_GetFontStretch(IDWriteTextFormat2* This) { 4986 return This->lpVtbl->GetFontStretch(This); 4987 } 4988 static FORCEINLINE FLOAT IDWriteTextFormat2_GetFontSize(IDWriteTextFormat2* This) { 4989 return This->lpVtbl->GetFontSize(This); 4990 } 4991 static FORCEINLINE UINT32 IDWriteTextFormat2_GetLocaleNameLength(IDWriteTextFormat2* This) { 4992 return This->lpVtbl->GetLocaleNameLength(This); 4993 } 4994 static FORCEINLINE HRESULT IDWriteTextFormat2_GetLocaleName(IDWriteTextFormat2* This,WCHAR *name,UINT32 size) { 4995 return This->lpVtbl->GetLocaleName(This,name,size); 4996 } 4997 /*** IDWriteTextFormat1 methods ***/ 4998 static FORCEINLINE HRESULT IDWriteTextFormat2_SetVerticalGlyphOrientation(IDWriteTextFormat2* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { 4999 return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); 5000 } 5001 static FORCEINLINE DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat2_GetVerticalGlyphOrientation(IDWriteTextFormat2* This) { 5002 return This->lpVtbl->GetVerticalGlyphOrientation(This); 5003 } 5004 static FORCEINLINE HRESULT IDWriteTextFormat2_SetLastLineWrapping(IDWriteTextFormat2* This,WINBOOL lastline_wrapping_enabled) { 5005 return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); 5006 } 5007 static FORCEINLINE WINBOOL IDWriteTextFormat2_GetLastLineWrapping(IDWriteTextFormat2* This) { 5008 return This->lpVtbl->GetLastLineWrapping(This); 5009 } 5010 static FORCEINLINE HRESULT IDWriteTextFormat2_SetOpticalAlignment(IDWriteTextFormat2* This,DWRITE_OPTICAL_ALIGNMENT alignment) { 5011 return This->lpVtbl->SetOpticalAlignment(This,alignment); 5012 } 5013 static FORCEINLINE DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat2_GetOpticalAlignment(IDWriteTextFormat2* This) { 5014 return This->lpVtbl->GetOpticalAlignment(This); 5015 } 5016 static FORCEINLINE HRESULT IDWriteTextFormat2_SetFontFallback(IDWriteTextFormat2* This,IDWriteFontFallback *fallback) { 5017 return This->lpVtbl->SetFontFallback(This,fallback); 5018 } 5019 static FORCEINLINE HRESULT IDWriteTextFormat2_GetFontFallback(IDWriteTextFormat2* This,IDWriteFontFallback **fallback) { 5020 return This->lpVtbl->GetFontFallback(This,fallback); 5021 } 5022 /*** IDWriteTextFormat2 methods ***/ 5023 static FORCEINLINE HRESULT IDWriteTextFormat2_SetLineSpacing(IDWriteTextFormat2* This,const DWRITE_LINE_SPACING *spacing) { 5024 return This->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing); 5025 } 5026 static FORCEINLINE HRESULT IDWriteTextFormat2_GetLineSpacing(IDWriteTextFormat2* This,DWRITE_LINE_SPACING *spacing) { 5027 return This->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing); 5028 } 5029 #endif 5030 #endif 5031 5032 #endif 5033 5034 5035 #endif /* __IDWriteTextFormat2_INTERFACE_DEFINED__ */ 5036 5037 /***************************************************************************** 5038 * IDWriteTextFormat3 interface 5039 */ 5040 #ifndef __IDWriteTextFormat3_INTERFACE_DEFINED__ 5041 #define __IDWriteTextFormat3_INTERFACE_DEFINED__ 5042 5043 DEFINE_GUID(IID_IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8,0x5b, 0xb7,0xbf,0x48,0xa9,0x34,0x27); 5044 #if defined(__cplusplus) && !defined(CINTERFACE) 5045 MIDL_INTERFACE("6d3b5641-e550-430d-a85b-b7bf48a93427") 5046 IDWriteTextFormat3 : public IDWriteTextFormat2 5047 { 5048 virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( 5049 const DWRITE_FONT_AXIS_VALUE *axis_values, 5050 UINT32 num_values) = 0; 5051 5052 virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( 5053 ) = 0; 5054 5055 virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( 5056 DWRITE_FONT_AXIS_VALUE *axis_values, 5057 UINT32 num_values) = 0; 5058 5059 virtual DWRITE_AUTOMATIC_FONT_AXES STDMETHODCALLTYPE GetAutomaticFontAxes( 5060 ) = 0; 5061 5062 virtual HRESULT STDMETHODCALLTYPE SetAutomaticFontAxes( 5063 DWRITE_AUTOMATIC_FONT_AXES axes) = 0; 5064 5065 }; 5066 #ifdef __CRT_UUID_DECL 5067 __CRT_UUID_DECL(IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8,0x5b, 0xb7,0xbf,0x48,0xa9,0x34,0x27) 5068 #endif 5069 #else 5070 typedef struct IDWriteTextFormat3Vtbl { 5071 BEGIN_INTERFACE 5072 5073 /*** IUnknown methods ***/ 5074 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5075 IDWriteTextFormat3 *This, 5076 REFIID riid, 5077 void **ppvObject); 5078 5079 ULONG (STDMETHODCALLTYPE *AddRef)( 5080 IDWriteTextFormat3 *This); 5081 5082 ULONG (STDMETHODCALLTYPE *Release)( 5083 IDWriteTextFormat3 *This); 5084 5085 /*** IDWriteTextFormat methods ***/ 5086 HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( 5087 IDWriteTextFormat3 *This, 5088 DWRITE_TEXT_ALIGNMENT alignment); 5089 5090 HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( 5091 IDWriteTextFormat3 *This, 5092 DWRITE_PARAGRAPH_ALIGNMENT alignment); 5093 5094 HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( 5095 IDWriteTextFormat3 *This, 5096 DWRITE_WORD_WRAPPING wrapping); 5097 5098 HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( 5099 IDWriteTextFormat3 *This, 5100 DWRITE_READING_DIRECTION direction); 5101 5102 HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( 5103 IDWriteTextFormat3 *This, 5104 DWRITE_FLOW_DIRECTION direction); 5105 5106 HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( 5107 IDWriteTextFormat3 *This, 5108 FLOAT tabstop); 5109 5110 HRESULT (STDMETHODCALLTYPE *SetTrimming)( 5111 IDWriteTextFormat3 *This, 5112 const DWRITE_TRIMMING *trimming, 5113 IDWriteInlineObject *trimming_sign); 5114 5115 HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( 5116 IDWriteTextFormat3 *This, 5117 DWRITE_LINE_SPACING_METHOD spacing, 5118 FLOAT line_spacing, 5119 FLOAT baseline); 5120 5121 DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( 5122 IDWriteTextFormat3 *This); 5123 5124 DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( 5125 IDWriteTextFormat3 *This); 5126 5127 DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( 5128 IDWriteTextFormat3 *This); 5129 5130 DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( 5131 IDWriteTextFormat3 *This); 5132 5133 DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( 5134 IDWriteTextFormat3 *This); 5135 5136 FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( 5137 IDWriteTextFormat3 *This); 5138 5139 HRESULT (STDMETHODCALLTYPE *GetTrimming)( 5140 IDWriteTextFormat3 *This, 5141 DWRITE_TRIMMING *options, 5142 IDWriteInlineObject **trimming_sign); 5143 5144 HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( 5145 IDWriteTextFormat3 *This, 5146 DWRITE_LINE_SPACING_METHOD *method, 5147 FLOAT *spacing, 5148 FLOAT *baseline); 5149 5150 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 5151 IDWriteTextFormat3 *This, 5152 IDWriteFontCollection **collection); 5153 5154 UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( 5155 IDWriteTextFormat3 *This); 5156 5157 HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( 5158 IDWriteTextFormat3 *This, 5159 WCHAR *name, 5160 UINT32 size); 5161 5162 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( 5163 IDWriteTextFormat3 *This); 5164 5165 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( 5166 IDWriteTextFormat3 *This); 5167 5168 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( 5169 IDWriteTextFormat3 *This); 5170 5171 FLOAT (STDMETHODCALLTYPE *GetFontSize)( 5172 IDWriteTextFormat3 *This); 5173 5174 UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( 5175 IDWriteTextFormat3 *This); 5176 5177 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 5178 IDWriteTextFormat3 *This, 5179 WCHAR *name, 5180 UINT32 size); 5181 5182 /*** IDWriteTextFormat1 methods ***/ 5183 HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( 5184 IDWriteTextFormat3 *This, 5185 DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); 5186 5187 DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( 5188 IDWriteTextFormat3 *This); 5189 5190 HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( 5191 IDWriteTextFormat3 *This, 5192 WINBOOL lastline_wrapping_enabled); 5193 5194 WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( 5195 IDWriteTextFormat3 *This); 5196 5197 HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( 5198 IDWriteTextFormat3 *This, 5199 DWRITE_OPTICAL_ALIGNMENT alignment); 5200 5201 DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( 5202 IDWriteTextFormat3 *This); 5203 5204 HRESULT (STDMETHODCALLTYPE *SetFontFallback)( 5205 IDWriteTextFormat3 *This, 5206 IDWriteFontFallback *fallback); 5207 5208 HRESULT (STDMETHODCALLTYPE *GetFontFallback)( 5209 IDWriteTextFormat3 *This, 5210 IDWriteFontFallback **fallback); 5211 5212 /*** IDWriteTextFormat2 methods ***/ 5213 HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_SetLineSpacing)( 5214 IDWriteTextFormat3 *This, 5215 const DWRITE_LINE_SPACING *spacing); 5216 5217 HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_GetLineSpacing)( 5218 IDWriteTextFormat3 *This, 5219 DWRITE_LINE_SPACING *spacing); 5220 5221 /*** IDWriteTextFormat3 methods ***/ 5222 HRESULT (STDMETHODCALLTYPE *SetFontAxisValues)( 5223 IDWriteTextFormat3 *This, 5224 const DWRITE_FONT_AXIS_VALUE *axis_values, 5225 UINT32 num_values); 5226 5227 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 5228 IDWriteTextFormat3 *This); 5229 5230 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 5231 IDWriteTextFormat3 *This, 5232 DWRITE_FONT_AXIS_VALUE *axis_values, 5233 UINT32 num_values); 5234 5235 DWRITE_AUTOMATIC_FONT_AXES (STDMETHODCALLTYPE *GetAutomaticFontAxes)( 5236 IDWriteTextFormat3 *This); 5237 5238 HRESULT (STDMETHODCALLTYPE *SetAutomaticFontAxes)( 5239 IDWriteTextFormat3 *This, 5240 DWRITE_AUTOMATIC_FONT_AXES axes); 5241 5242 END_INTERFACE 5243 } IDWriteTextFormat3Vtbl; 5244 5245 interface IDWriteTextFormat3 { 5246 CONST_VTBL IDWriteTextFormat3Vtbl* lpVtbl; 5247 }; 5248 5249 #ifdef COBJMACROS 5250 #ifndef WIDL_C_INLINE_WRAPPERS 5251 /*** IUnknown methods ***/ 5252 #define IDWriteTextFormat3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5253 #define IDWriteTextFormat3_AddRef(This) (This)->lpVtbl->AddRef(This) 5254 #define IDWriteTextFormat3_Release(This) (This)->lpVtbl->Release(This) 5255 /*** IDWriteTextFormat methods ***/ 5256 #define IDWriteTextFormat3_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) 5257 #define IDWriteTextFormat3_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) 5258 #define IDWriteTextFormat3_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) 5259 #define IDWriteTextFormat3_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) 5260 #define IDWriteTextFormat3_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) 5261 #define IDWriteTextFormat3_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) 5262 #define IDWriteTextFormat3_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) 5263 #define IDWriteTextFormat3_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) 5264 #define IDWriteTextFormat3_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) 5265 #define IDWriteTextFormat3_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) 5266 #define IDWriteTextFormat3_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) 5267 #define IDWriteTextFormat3_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) 5268 #define IDWriteTextFormat3_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) 5269 #define IDWriteTextFormat3_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) 5270 #define IDWriteTextFormat3_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) 5271 #define IDWriteTextFormat3_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) 5272 #define IDWriteTextFormat3_GetFontFamilyName(This,name,size) (This)->lpVtbl->GetFontFamilyName(This,name,size) 5273 #define IDWriteTextFormat3_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) 5274 #define IDWriteTextFormat3_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) 5275 #define IDWriteTextFormat3_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) 5276 #define IDWriteTextFormat3_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) 5277 #define IDWriteTextFormat3_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) 5278 #define IDWriteTextFormat3_GetLocaleName(This,name,size) (This)->lpVtbl->GetLocaleName(This,name,size) 5279 /*** IDWriteTextFormat1 methods ***/ 5280 #define IDWriteTextFormat3_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) 5281 #define IDWriteTextFormat3_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) 5282 #define IDWriteTextFormat3_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) 5283 #define IDWriteTextFormat3_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) 5284 #define IDWriteTextFormat3_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) 5285 #define IDWriteTextFormat3_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) 5286 #define IDWriteTextFormat3_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) 5287 #define IDWriteTextFormat3_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) 5288 /*** IDWriteTextFormat2 methods ***/ 5289 #define IDWriteTextFormat3_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing) 5290 #define IDWriteTextFormat3_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing) 5291 /*** IDWriteTextFormat3 methods ***/ 5292 #define IDWriteTextFormat3_SetFontAxisValues(This,axis_values,num_values) (This)->lpVtbl->SetFontAxisValues(This,axis_values,num_values) 5293 #define IDWriteTextFormat3_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) 5294 #define IDWriteTextFormat3_GetFontAxisValues(This,axis_values,num_values) (This)->lpVtbl->GetFontAxisValues(This,axis_values,num_values) 5295 #define IDWriteTextFormat3_GetAutomaticFontAxes(This) (This)->lpVtbl->GetAutomaticFontAxes(This) 5296 #define IDWriteTextFormat3_SetAutomaticFontAxes(This,axes) (This)->lpVtbl->SetAutomaticFontAxes(This,axes) 5297 #else 5298 /*** IUnknown methods ***/ 5299 static FORCEINLINE HRESULT IDWriteTextFormat3_QueryInterface(IDWriteTextFormat3* This,REFIID riid,void **ppvObject) { 5300 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5301 } 5302 static FORCEINLINE ULONG IDWriteTextFormat3_AddRef(IDWriteTextFormat3* This) { 5303 return This->lpVtbl->AddRef(This); 5304 } 5305 static FORCEINLINE ULONG IDWriteTextFormat3_Release(IDWriteTextFormat3* This) { 5306 return This->lpVtbl->Release(This); 5307 } 5308 /*** IDWriteTextFormat methods ***/ 5309 static FORCEINLINE HRESULT IDWriteTextFormat3_SetTextAlignment(IDWriteTextFormat3* This,DWRITE_TEXT_ALIGNMENT alignment) { 5310 return This->lpVtbl->SetTextAlignment(This,alignment); 5311 } 5312 static FORCEINLINE HRESULT IDWriteTextFormat3_SetParagraphAlignment(IDWriteTextFormat3* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { 5313 return This->lpVtbl->SetParagraphAlignment(This,alignment); 5314 } 5315 static FORCEINLINE HRESULT IDWriteTextFormat3_SetWordWrapping(IDWriteTextFormat3* This,DWRITE_WORD_WRAPPING wrapping) { 5316 return This->lpVtbl->SetWordWrapping(This,wrapping); 5317 } 5318 static FORCEINLINE HRESULT IDWriteTextFormat3_SetReadingDirection(IDWriteTextFormat3* This,DWRITE_READING_DIRECTION direction) { 5319 return This->lpVtbl->SetReadingDirection(This,direction); 5320 } 5321 static FORCEINLINE HRESULT IDWriteTextFormat3_SetFlowDirection(IDWriteTextFormat3* This,DWRITE_FLOW_DIRECTION direction) { 5322 return This->lpVtbl->SetFlowDirection(This,direction); 5323 } 5324 static FORCEINLINE HRESULT IDWriteTextFormat3_SetIncrementalTabStop(IDWriteTextFormat3* This,FLOAT tabstop) { 5325 return This->lpVtbl->SetIncrementalTabStop(This,tabstop); 5326 } 5327 static FORCEINLINE HRESULT IDWriteTextFormat3_SetTrimming(IDWriteTextFormat3* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { 5328 return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); 5329 } 5330 static FORCEINLINE DWRITE_TEXT_ALIGNMENT IDWriteTextFormat3_GetTextAlignment(IDWriteTextFormat3* This) { 5331 return This->lpVtbl->GetTextAlignment(This); 5332 } 5333 static FORCEINLINE DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat3_GetParagraphAlignment(IDWriteTextFormat3* This) { 5334 return This->lpVtbl->GetParagraphAlignment(This); 5335 } 5336 static FORCEINLINE DWRITE_WORD_WRAPPING IDWriteTextFormat3_GetWordWrapping(IDWriteTextFormat3* This) { 5337 return This->lpVtbl->GetWordWrapping(This); 5338 } 5339 static FORCEINLINE DWRITE_READING_DIRECTION IDWriteTextFormat3_GetReadingDirection(IDWriteTextFormat3* This) { 5340 return This->lpVtbl->GetReadingDirection(This); 5341 } 5342 static FORCEINLINE DWRITE_FLOW_DIRECTION IDWriteTextFormat3_GetFlowDirection(IDWriteTextFormat3* This) { 5343 return This->lpVtbl->GetFlowDirection(This); 5344 } 5345 static FORCEINLINE FLOAT IDWriteTextFormat3_GetIncrementalTabStop(IDWriteTextFormat3* This) { 5346 return This->lpVtbl->GetIncrementalTabStop(This); 5347 } 5348 static FORCEINLINE HRESULT IDWriteTextFormat3_GetTrimming(IDWriteTextFormat3* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { 5349 return This->lpVtbl->GetTrimming(This,options,trimming_sign); 5350 } 5351 static FORCEINLINE HRESULT IDWriteTextFormat3_GetFontCollection(IDWriteTextFormat3* This,IDWriteFontCollection **collection) { 5352 return This->lpVtbl->GetFontCollection(This,collection); 5353 } 5354 static FORCEINLINE UINT32 IDWriteTextFormat3_GetFontFamilyNameLength(IDWriteTextFormat3* This) { 5355 return This->lpVtbl->GetFontFamilyNameLength(This); 5356 } 5357 static FORCEINLINE HRESULT IDWriteTextFormat3_GetFontFamilyName(IDWriteTextFormat3* This,WCHAR *name,UINT32 size) { 5358 return This->lpVtbl->GetFontFamilyName(This,name,size); 5359 } 5360 static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteTextFormat3_GetFontWeight(IDWriteTextFormat3* This) { 5361 return This->lpVtbl->GetFontWeight(This); 5362 } 5363 static FORCEINLINE DWRITE_FONT_STYLE IDWriteTextFormat3_GetFontStyle(IDWriteTextFormat3* This) { 5364 return This->lpVtbl->GetFontStyle(This); 5365 } 5366 static FORCEINLINE DWRITE_FONT_STRETCH IDWriteTextFormat3_GetFontStretch(IDWriteTextFormat3* This) { 5367 return This->lpVtbl->GetFontStretch(This); 5368 } 5369 static FORCEINLINE FLOAT IDWriteTextFormat3_GetFontSize(IDWriteTextFormat3* This) { 5370 return This->lpVtbl->GetFontSize(This); 5371 } 5372 static FORCEINLINE UINT32 IDWriteTextFormat3_GetLocaleNameLength(IDWriteTextFormat3* This) { 5373 return This->lpVtbl->GetLocaleNameLength(This); 5374 } 5375 static FORCEINLINE HRESULT IDWriteTextFormat3_GetLocaleName(IDWriteTextFormat3* This,WCHAR *name,UINT32 size) { 5376 return This->lpVtbl->GetLocaleName(This,name,size); 5377 } 5378 /*** IDWriteTextFormat1 methods ***/ 5379 static FORCEINLINE HRESULT IDWriteTextFormat3_SetVerticalGlyphOrientation(IDWriteTextFormat3* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { 5380 return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); 5381 } 5382 static FORCEINLINE DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat3_GetVerticalGlyphOrientation(IDWriteTextFormat3* This) { 5383 return This->lpVtbl->GetVerticalGlyphOrientation(This); 5384 } 5385 static FORCEINLINE HRESULT IDWriteTextFormat3_SetLastLineWrapping(IDWriteTextFormat3* This,WINBOOL lastline_wrapping_enabled) { 5386 return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); 5387 } 5388 static FORCEINLINE WINBOOL IDWriteTextFormat3_GetLastLineWrapping(IDWriteTextFormat3* This) { 5389 return This->lpVtbl->GetLastLineWrapping(This); 5390 } 5391 static FORCEINLINE HRESULT IDWriteTextFormat3_SetOpticalAlignment(IDWriteTextFormat3* This,DWRITE_OPTICAL_ALIGNMENT alignment) { 5392 return This->lpVtbl->SetOpticalAlignment(This,alignment); 5393 } 5394 static FORCEINLINE DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat3_GetOpticalAlignment(IDWriteTextFormat3* This) { 5395 return This->lpVtbl->GetOpticalAlignment(This); 5396 } 5397 static FORCEINLINE HRESULT IDWriteTextFormat3_SetFontFallback(IDWriteTextFormat3* This,IDWriteFontFallback *fallback) { 5398 return This->lpVtbl->SetFontFallback(This,fallback); 5399 } 5400 static FORCEINLINE HRESULT IDWriteTextFormat3_GetFontFallback(IDWriteTextFormat3* This,IDWriteFontFallback **fallback) { 5401 return This->lpVtbl->GetFontFallback(This,fallback); 5402 } 5403 /*** IDWriteTextFormat2 methods ***/ 5404 static FORCEINLINE HRESULT IDWriteTextFormat3_SetLineSpacing(IDWriteTextFormat3* This,const DWRITE_LINE_SPACING *spacing) { 5405 return This->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing); 5406 } 5407 static FORCEINLINE HRESULT IDWriteTextFormat3_GetLineSpacing(IDWriteTextFormat3* This,DWRITE_LINE_SPACING *spacing) { 5408 return This->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing); 5409 } 5410 /*** IDWriteTextFormat3 methods ***/ 5411 static FORCEINLINE HRESULT IDWriteTextFormat3_SetFontAxisValues(IDWriteTextFormat3* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values) { 5412 return This->lpVtbl->SetFontAxisValues(This,axis_values,num_values); 5413 } 5414 static FORCEINLINE UINT32 IDWriteTextFormat3_GetFontAxisValueCount(IDWriteTextFormat3* This) { 5415 return This->lpVtbl->GetFontAxisValueCount(This); 5416 } 5417 static FORCEINLINE HRESULT IDWriteTextFormat3_GetFontAxisValues(IDWriteTextFormat3* This,DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values) { 5418 return This->lpVtbl->GetFontAxisValues(This,axis_values,num_values); 5419 } 5420 static FORCEINLINE DWRITE_AUTOMATIC_FONT_AXES IDWriteTextFormat3_GetAutomaticFontAxes(IDWriteTextFormat3* This) { 5421 return This->lpVtbl->GetAutomaticFontAxes(This); 5422 } 5423 static FORCEINLINE HRESULT IDWriteTextFormat3_SetAutomaticFontAxes(IDWriteTextFormat3* This,DWRITE_AUTOMATIC_FONT_AXES axes) { 5424 return This->lpVtbl->SetAutomaticFontAxes(This,axes); 5425 } 5426 #endif 5427 #endif 5428 5429 #endif 5430 5431 5432 #endif /* __IDWriteTextFormat3_INTERFACE_DEFINED__ */ 5433 5434 /***************************************************************************** 5435 * IDWriteTextLayout3 interface 5436 */ 5437 #ifndef __IDWriteTextLayout3_INTERFACE_DEFINED__ 5438 #define __IDWriteTextLayout3_INTERFACE_DEFINED__ 5439 5440 DEFINE_GUID(IID_IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac,0x33, 0x6c,0x95,0x3d,0x83,0xf9,0x2d); 5441 #if defined(__cplusplus) && !defined(CINTERFACE) 5442 MIDL_INTERFACE("07ddcd52-020e-4de8-ac33-6c953d83f92d") 5443 IDWriteTextLayout3 : public IDWriteTextLayout2 5444 { 5445 virtual HRESULT STDMETHODCALLTYPE InvalidateLayout( 5446 ) = 0; 5447 5448 virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( 5449 const DWRITE_LINE_SPACING *spacing) = 0; 5450 5451 virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( 5452 DWRITE_LINE_SPACING *spacing) = 0; 5453 5454 virtual HRESULT STDMETHODCALLTYPE GetLineMetrics( 5455 DWRITE_LINE_METRICS1 *metrics, 5456 UINT32 max_count, 5457 UINT32 *count) = 0; 5458 5459 }; 5460 #ifdef __CRT_UUID_DECL 5461 __CRT_UUID_DECL(IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac,0x33, 0x6c,0x95,0x3d,0x83,0xf9,0x2d) 5462 #endif 5463 #else 5464 typedef struct IDWriteTextLayout3Vtbl { 5465 BEGIN_INTERFACE 5466 5467 /*** IUnknown methods ***/ 5468 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5469 IDWriteTextLayout3 *This, 5470 REFIID riid, 5471 void **ppvObject); 5472 5473 ULONG (STDMETHODCALLTYPE *AddRef)( 5474 IDWriteTextLayout3 *This); 5475 5476 ULONG (STDMETHODCALLTYPE *Release)( 5477 IDWriteTextLayout3 *This); 5478 5479 /*** IDWriteTextFormat methods ***/ 5480 HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( 5481 IDWriteTextLayout3 *This, 5482 DWRITE_TEXT_ALIGNMENT alignment); 5483 5484 HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( 5485 IDWriteTextLayout3 *This, 5486 DWRITE_PARAGRAPH_ALIGNMENT alignment); 5487 5488 HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( 5489 IDWriteTextLayout3 *This, 5490 DWRITE_WORD_WRAPPING wrapping); 5491 5492 HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( 5493 IDWriteTextLayout3 *This, 5494 DWRITE_READING_DIRECTION direction); 5495 5496 HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( 5497 IDWriteTextLayout3 *This, 5498 DWRITE_FLOW_DIRECTION direction); 5499 5500 HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( 5501 IDWriteTextLayout3 *This, 5502 FLOAT tabstop); 5503 5504 HRESULT (STDMETHODCALLTYPE *SetTrimming)( 5505 IDWriteTextLayout3 *This, 5506 const DWRITE_TRIMMING *trimming, 5507 IDWriteInlineObject *trimming_sign); 5508 5509 HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( 5510 IDWriteTextLayout3 *This, 5511 DWRITE_LINE_SPACING_METHOD spacing, 5512 FLOAT line_spacing, 5513 FLOAT baseline); 5514 5515 DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( 5516 IDWriteTextLayout3 *This); 5517 5518 DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( 5519 IDWriteTextLayout3 *This); 5520 5521 DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( 5522 IDWriteTextLayout3 *This); 5523 5524 DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( 5525 IDWriteTextLayout3 *This); 5526 5527 DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( 5528 IDWriteTextLayout3 *This); 5529 5530 FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( 5531 IDWriteTextLayout3 *This); 5532 5533 HRESULT (STDMETHODCALLTYPE *GetTrimming)( 5534 IDWriteTextLayout3 *This, 5535 DWRITE_TRIMMING *options, 5536 IDWriteInlineObject **trimming_sign); 5537 5538 HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( 5539 IDWriteTextLayout3 *This, 5540 DWRITE_LINE_SPACING_METHOD *method, 5541 FLOAT *spacing, 5542 FLOAT *baseline); 5543 5544 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 5545 IDWriteTextLayout3 *This, 5546 IDWriteFontCollection **collection); 5547 5548 UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( 5549 IDWriteTextLayout3 *This); 5550 5551 HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( 5552 IDWriteTextLayout3 *This, 5553 WCHAR *name, 5554 UINT32 size); 5555 5556 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( 5557 IDWriteTextLayout3 *This); 5558 5559 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( 5560 IDWriteTextLayout3 *This); 5561 5562 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( 5563 IDWriteTextLayout3 *This); 5564 5565 FLOAT (STDMETHODCALLTYPE *GetFontSize)( 5566 IDWriteTextLayout3 *This); 5567 5568 UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( 5569 IDWriteTextLayout3 *This); 5570 5571 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 5572 IDWriteTextLayout3 *This, 5573 WCHAR *name, 5574 UINT32 size); 5575 5576 /*** IDWriteTextLayout methods ***/ 5577 HRESULT (STDMETHODCALLTYPE *SetMaxWidth)( 5578 IDWriteTextLayout3 *This, 5579 FLOAT maxWidth); 5580 5581 HRESULT (STDMETHODCALLTYPE *SetMaxHeight)( 5582 IDWriteTextLayout3 *This, 5583 FLOAT maxHeight); 5584 5585 HRESULT (STDMETHODCALLTYPE *SetFontCollection)( 5586 IDWriteTextLayout3 *This, 5587 IDWriteFontCollection *collection, 5588 DWRITE_TEXT_RANGE range); 5589 5590 HRESULT (STDMETHODCALLTYPE *SetFontFamilyName)( 5591 IDWriteTextLayout3 *This, 5592 const WCHAR *name, 5593 DWRITE_TEXT_RANGE range); 5594 5595 HRESULT (STDMETHODCALLTYPE *SetFontWeight)( 5596 IDWriteTextLayout3 *This, 5597 DWRITE_FONT_WEIGHT weight, 5598 DWRITE_TEXT_RANGE range); 5599 5600 HRESULT (STDMETHODCALLTYPE *SetFontStyle)( 5601 IDWriteTextLayout3 *This, 5602 DWRITE_FONT_STYLE style, 5603 DWRITE_TEXT_RANGE range); 5604 5605 HRESULT (STDMETHODCALLTYPE *SetFontStretch)( 5606 IDWriteTextLayout3 *This, 5607 DWRITE_FONT_STRETCH stretch, 5608 DWRITE_TEXT_RANGE range); 5609 5610 HRESULT (STDMETHODCALLTYPE *SetFontSize)( 5611 IDWriteTextLayout3 *This, 5612 FLOAT size, 5613 DWRITE_TEXT_RANGE range); 5614 5615 HRESULT (STDMETHODCALLTYPE *SetUnderline)( 5616 IDWriteTextLayout3 *This, 5617 WINBOOL underline, 5618 DWRITE_TEXT_RANGE range); 5619 5620 HRESULT (STDMETHODCALLTYPE *SetStrikethrough)( 5621 IDWriteTextLayout3 *This, 5622 WINBOOL strikethrough, 5623 DWRITE_TEXT_RANGE range); 5624 5625 HRESULT (STDMETHODCALLTYPE *SetDrawingEffect)( 5626 IDWriteTextLayout3 *This, 5627 IUnknown *effect, 5628 DWRITE_TEXT_RANGE range); 5629 5630 HRESULT (STDMETHODCALLTYPE *SetInlineObject)( 5631 IDWriteTextLayout3 *This, 5632 IDWriteInlineObject *object, 5633 DWRITE_TEXT_RANGE range); 5634 5635 HRESULT (STDMETHODCALLTYPE *SetTypography)( 5636 IDWriteTextLayout3 *This, 5637 IDWriteTypography *typography, 5638 DWRITE_TEXT_RANGE range); 5639 5640 HRESULT (STDMETHODCALLTYPE *SetLocaleName)( 5641 IDWriteTextLayout3 *This, 5642 const WCHAR *locale, 5643 DWRITE_TEXT_RANGE range); 5644 5645 FLOAT (STDMETHODCALLTYPE *GetMaxWidth)( 5646 IDWriteTextLayout3 *This); 5647 5648 FLOAT (STDMETHODCALLTYPE *GetMaxHeight)( 5649 IDWriteTextLayout3 *This); 5650 5651 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontCollection)( 5652 IDWriteTextLayout3 *This, 5653 UINT32 pos, 5654 IDWriteFontCollection **collection, 5655 DWRITE_TEXT_RANGE *range); 5656 5657 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyNameLength)( 5658 IDWriteTextLayout3 *This, 5659 UINT32 pos, 5660 UINT32 *len, 5661 DWRITE_TEXT_RANGE *range); 5662 5663 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyName)( 5664 IDWriteTextLayout3 *This, 5665 UINT32 position, 5666 WCHAR *name, 5667 UINT32 name_size, 5668 DWRITE_TEXT_RANGE *range); 5669 5670 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontWeight)( 5671 IDWriteTextLayout3 *This, 5672 UINT32 position, 5673 DWRITE_FONT_WEIGHT *weight, 5674 DWRITE_TEXT_RANGE *range); 5675 5676 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStyle)( 5677 IDWriteTextLayout3 *This, 5678 UINT32 currentPosition, 5679 DWRITE_FONT_STYLE *style, 5680 DWRITE_TEXT_RANGE *range); 5681 5682 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStretch)( 5683 IDWriteTextLayout3 *This, 5684 UINT32 position, 5685 DWRITE_FONT_STRETCH *stretch, 5686 DWRITE_TEXT_RANGE *range); 5687 5688 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontSize)( 5689 IDWriteTextLayout3 *This, 5690 UINT32 position, 5691 FLOAT *size, 5692 DWRITE_TEXT_RANGE *range); 5693 5694 HRESULT (STDMETHODCALLTYPE *GetUnderline)( 5695 IDWriteTextLayout3 *This, 5696 UINT32 position, 5697 WINBOOL *has_underline, 5698 DWRITE_TEXT_RANGE *range); 5699 5700 HRESULT (STDMETHODCALLTYPE *GetStrikethrough)( 5701 IDWriteTextLayout3 *This, 5702 UINT32 position, 5703 WINBOOL *has_strikethrough, 5704 DWRITE_TEXT_RANGE *range); 5705 5706 HRESULT (STDMETHODCALLTYPE *GetDrawingEffect)( 5707 IDWriteTextLayout3 *This, 5708 UINT32 position, 5709 IUnknown **effect, 5710 DWRITE_TEXT_RANGE *range); 5711 5712 HRESULT (STDMETHODCALLTYPE *GetInlineObject)( 5713 IDWriteTextLayout3 *This, 5714 UINT32 position, 5715 IDWriteInlineObject **object, 5716 DWRITE_TEXT_RANGE *range); 5717 5718 HRESULT (STDMETHODCALLTYPE *GetTypography)( 5719 IDWriteTextLayout3 *This, 5720 UINT32 position, 5721 IDWriteTypography **typography, 5722 DWRITE_TEXT_RANGE *range); 5723 5724 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleNameLength)( 5725 IDWriteTextLayout3 *This, 5726 UINT32 position, 5727 UINT32 *length, 5728 DWRITE_TEXT_RANGE *range); 5729 5730 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleName)( 5731 IDWriteTextLayout3 *This, 5732 UINT32 position, 5733 WCHAR *name, 5734 UINT32 name_size, 5735 DWRITE_TEXT_RANGE *range); 5736 5737 HRESULT (STDMETHODCALLTYPE *Draw)( 5738 IDWriteTextLayout3 *This, 5739 void *context, 5740 IDWriteTextRenderer *renderer, 5741 FLOAT originX, 5742 FLOAT originY); 5743 5744 HRESULT (STDMETHODCALLTYPE *GetLineMetrics)( 5745 IDWriteTextLayout3 *This, 5746 DWRITE_LINE_METRICS *metrics, 5747 UINT32 max_count, 5748 UINT32 *actual_count); 5749 5750 HRESULT (STDMETHODCALLTYPE *GetMetrics)( 5751 IDWriteTextLayout3 *This, 5752 DWRITE_TEXT_METRICS *metrics); 5753 5754 HRESULT (STDMETHODCALLTYPE *GetOverhangMetrics)( 5755 IDWriteTextLayout3 *This, 5756 DWRITE_OVERHANG_METRICS *overhangs); 5757 5758 HRESULT (STDMETHODCALLTYPE *GetClusterMetrics)( 5759 IDWriteTextLayout3 *This, 5760 DWRITE_CLUSTER_METRICS *metrics, 5761 UINT32 max_count, 5762 UINT32 *act_count); 5763 5764 HRESULT (STDMETHODCALLTYPE *DetermineMinWidth)( 5765 IDWriteTextLayout3 *This, 5766 FLOAT *min_width); 5767 5768 HRESULT (STDMETHODCALLTYPE *HitTestPoint)( 5769 IDWriteTextLayout3 *This, 5770 FLOAT pointX, 5771 FLOAT pointY, 5772 WINBOOL *is_trailinghit, 5773 WINBOOL *is_inside, 5774 DWRITE_HIT_TEST_METRICS *metrics); 5775 5776 HRESULT (STDMETHODCALLTYPE *HitTestTextPosition)( 5777 IDWriteTextLayout3 *This, 5778 UINT32 textPosition, 5779 WINBOOL is_trailinghit, 5780 FLOAT *pointX, 5781 FLOAT *pointY, 5782 DWRITE_HIT_TEST_METRICS *metrics); 5783 5784 HRESULT (STDMETHODCALLTYPE *HitTestTextRange)( 5785 IDWriteTextLayout3 *This, 5786 UINT32 textPosition, 5787 UINT32 textLength, 5788 FLOAT originX, 5789 FLOAT originY, 5790 DWRITE_HIT_TEST_METRICS *metrics, 5791 UINT32 max_metricscount, 5792 UINT32 *actual_metricscount); 5793 5794 /*** IDWriteTextLayout1 methods ***/ 5795 HRESULT (STDMETHODCALLTYPE *SetPairKerning)( 5796 IDWriteTextLayout3 *This, 5797 WINBOOL is_pairkerning_enabled, 5798 DWRITE_TEXT_RANGE range); 5799 5800 HRESULT (STDMETHODCALLTYPE *GetPairKerning)( 5801 IDWriteTextLayout3 *This, 5802 UINT32 position, 5803 WINBOOL *is_pairkerning_enabled, 5804 DWRITE_TEXT_RANGE *range); 5805 5806 HRESULT (STDMETHODCALLTYPE *SetCharacterSpacing)( 5807 IDWriteTextLayout3 *This, 5808 FLOAT leading_spacing, 5809 FLOAT trailing_spacing, 5810 FLOAT minimum_advance_width, 5811 DWRITE_TEXT_RANGE range); 5812 5813 HRESULT (STDMETHODCALLTYPE *GetCharacterSpacing)( 5814 IDWriteTextLayout3 *This, 5815 UINT32 position, 5816 FLOAT *leading_spacing, 5817 FLOAT *trailing_spacing, 5818 FLOAT *minimum_advance_width, 5819 DWRITE_TEXT_RANGE *range); 5820 5821 /*** IDWriteTextLayout2 methods ***/ 5822 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout2_GetMetrics)( 5823 IDWriteTextLayout3 *This, 5824 DWRITE_TEXT_METRICS1 *metrics); 5825 5826 HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( 5827 IDWriteTextLayout3 *This, 5828 DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); 5829 5830 DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( 5831 IDWriteTextLayout3 *This); 5832 5833 HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( 5834 IDWriteTextLayout3 *This, 5835 WINBOOL lastline_wrapping_enabled); 5836 5837 WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( 5838 IDWriteTextLayout3 *This); 5839 5840 HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( 5841 IDWriteTextLayout3 *This, 5842 DWRITE_OPTICAL_ALIGNMENT alignment); 5843 5844 DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( 5845 IDWriteTextLayout3 *This); 5846 5847 HRESULT (STDMETHODCALLTYPE *SetFontFallback)( 5848 IDWriteTextLayout3 *This, 5849 IDWriteFontFallback *fallback); 5850 5851 HRESULT (STDMETHODCALLTYPE *GetFontFallback)( 5852 IDWriteTextLayout3 *This, 5853 IDWriteFontFallback **fallback); 5854 5855 /*** IDWriteTextLayout3 methods ***/ 5856 HRESULT (STDMETHODCALLTYPE *InvalidateLayout)( 5857 IDWriteTextLayout3 *This); 5858 5859 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_SetLineSpacing)( 5860 IDWriteTextLayout3 *This, 5861 const DWRITE_LINE_SPACING *spacing); 5862 5863 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineSpacing)( 5864 IDWriteTextLayout3 *This, 5865 DWRITE_LINE_SPACING *spacing); 5866 5867 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineMetrics)( 5868 IDWriteTextLayout3 *This, 5869 DWRITE_LINE_METRICS1 *metrics, 5870 UINT32 max_count, 5871 UINT32 *count); 5872 5873 END_INTERFACE 5874 } IDWriteTextLayout3Vtbl; 5875 5876 interface IDWriteTextLayout3 { 5877 CONST_VTBL IDWriteTextLayout3Vtbl* lpVtbl; 5878 }; 5879 5880 #ifdef COBJMACROS 5881 #ifndef WIDL_C_INLINE_WRAPPERS 5882 /*** IUnknown methods ***/ 5883 #define IDWriteTextLayout3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5884 #define IDWriteTextLayout3_AddRef(This) (This)->lpVtbl->AddRef(This) 5885 #define IDWriteTextLayout3_Release(This) (This)->lpVtbl->Release(This) 5886 /*** IDWriteTextFormat methods ***/ 5887 #define IDWriteTextLayout3_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) 5888 #define IDWriteTextLayout3_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) 5889 #define IDWriteTextLayout3_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) 5890 #define IDWriteTextLayout3_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) 5891 #define IDWriteTextLayout3_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) 5892 #define IDWriteTextLayout3_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) 5893 #define IDWriteTextLayout3_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) 5894 #define IDWriteTextLayout3_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) 5895 #define IDWriteTextLayout3_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) 5896 #define IDWriteTextLayout3_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) 5897 #define IDWriteTextLayout3_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) 5898 #define IDWriteTextLayout3_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) 5899 #define IDWriteTextLayout3_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) 5900 #define IDWriteTextLayout3_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) 5901 /*** IDWriteTextLayout methods ***/ 5902 #define IDWriteTextLayout3_SetMaxWidth(This,maxWidth) (This)->lpVtbl->SetMaxWidth(This,maxWidth) 5903 #define IDWriteTextLayout3_SetMaxHeight(This,maxHeight) (This)->lpVtbl->SetMaxHeight(This,maxHeight) 5904 #define IDWriteTextLayout3_SetFontCollection(This,collection,range) (This)->lpVtbl->SetFontCollection(This,collection,range) 5905 #define IDWriteTextLayout3_SetFontFamilyName(This,name,range) (This)->lpVtbl->SetFontFamilyName(This,name,range) 5906 #define IDWriteTextLayout3_SetFontWeight(This,weight,range) (This)->lpVtbl->SetFontWeight(This,weight,range) 5907 #define IDWriteTextLayout3_SetFontStyle(This,style,range) (This)->lpVtbl->SetFontStyle(This,style,range) 5908 #define IDWriteTextLayout3_SetFontStretch(This,stretch,range) (This)->lpVtbl->SetFontStretch(This,stretch,range) 5909 #define IDWriteTextLayout3_SetFontSize(This,size,range) (This)->lpVtbl->SetFontSize(This,size,range) 5910 #define IDWriteTextLayout3_SetUnderline(This,underline,range) (This)->lpVtbl->SetUnderline(This,underline,range) 5911 #define IDWriteTextLayout3_SetStrikethrough(This,strikethrough,range) (This)->lpVtbl->SetStrikethrough(This,strikethrough,range) 5912 #define IDWriteTextLayout3_SetDrawingEffect(This,effect,range) (This)->lpVtbl->SetDrawingEffect(This,effect,range) 5913 #define IDWriteTextLayout3_SetInlineObject(This,object,range) (This)->lpVtbl->SetInlineObject(This,object,range) 5914 #define IDWriteTextLayout3_SetTypography(This,typography,range) (This)->lpVtbl->SetTypography(This,typography,range) 5915 #define IDWriteTextLayout3_SetLocaleName(This,locale,range) (This)->lpVtbl->SetLocaleName(This,locale,range) 5916 #define IDWriteTextLayout3_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) 5917 #define IDWriteTextLayout3_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) 5918 #define IDWriteTextLayout3_GetFontCollection(This,pos,collection,range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range) 5919 #define IDWriteTextLayout3_GetFontFamilyNameLength(This,pos,len,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range) 5920 #define IDWriteTextLayout3_GetFontFamilyName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range) 5921 #define IDWriteTextLayout3_GetFontWeight(This,position,weight,range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range) 5922 #define IDWriteTextLayout3_GetFontStyle(This,currentPosition,style,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range) 5923 #define IDWriteTextLayout3_GetFontStretch(This,position,stretch,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range) 5924 #define IDWriteTextLayout3_GetFontSize(This,position,size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range) 5925 #define IDWriteTextLayout3_GetUnderline(This,position,has_underline,range) (This)->lpVtbl->GetUnderline(This,position,has_underline,range) 5926 #define IDWriteTextLayout3_GetStrikethrough(This,position,has_strikethrough,range) (This)->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range) 5927 #define IDWriteTextLayout3_GetDrawingEffect(This,position,effect,range) (This)->lpVtbl->GetDrawingEffect(This,position,effect,range) 5928 #define IDWriteTextLayout3_GetInlineObject(This,position,object,range) (This)->lpVtbl->GetInlineObject(This,position,object,range) 5929 #define IDWriteTextLayout3_GetTypography(This,position,typography,range) (This)->lpVtbl->GetTypography(This,position,typography,range) 5930 #define IDWriteTextLayout3_GetLocaleNameLength(This,position,length,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range) 5931 #define IDWriteTextLayout3_GetLocaleName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range) 5932 #define IDWriteTextLayout3_Draw(This,context,renderer,originX,originY) (This)->lpVtbl->Draw(This,context,renderer,originX,originY) 5933 #define IDWriteTextLayout3_GetOverhangMetrics(This,overhangs) (This)->lpVtbl->GetOverhangMetrics(This,overhangs) 5934 #define IDWriteTextLayout3_GetClusterMetrics(This,metrics,max_count,act_count) (This)->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count) 5935 #define IDWriteTextLayout3_DetermineMinWidth(This,min_width) (This)->lpVtbl->DetermineMinWidth(This,min_width) 5936 #define IDWriteTextLayout3_HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) (This)->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) 5937 #define IDWriteTextLayout3_HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) (This)->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) 5938 #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) 5939 /*** IDWriteTextLayout1 methods ***/ 5940 #define IDWriteTextLayout3_SetPairKerning(This,is_pairkerning_enabled,range) (This)->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range) 5941 #define IDWriteTextLayout3_GetPairKerning(This,position,is_pairkerning_enabled,range) (This)->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range) 5942 #define IDWriteTextLayout3_SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) (This)->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) 5943 #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) 5944 /*** IDWriteTextLayout2 methods ***/ 5945 #define IDWriteTextLayout3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics) 5946 #define IDWriteTextLayout3_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) 5947 #define IDWriteTextLayout3_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) 5948 #define IDWriteTextLayout3_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) 5949 #define IDWriteTextLayout3_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) 5950 #define IDWriteTextLayout3_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) 5951 #define IDWriteTextLayout3_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) 5952 #define IDWriteTextLayout3_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) 5953 #define IDWriteTextLayout3_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) 5954 /*** IDWriteTextLayout3 methods ***/ 5955 #define IDWriteTextLayout3_InvalidateLayout(This) (This)->lpVtbl->InvalidateLayout(This) 5956 #define IDWriteTextLayout3_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing) 5957 #define IDWriteTextLayout3_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing) 5958 #define IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) (This)->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) 5959 #else 5960 /*** IUnknown methods ***/ 5961 static FORCEINLINE HRESULT IDWriteTextLayout3_QueryInterface(IDWriteTextLayout3* This,REFIID riid,void **ppvObject) { 5962 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5963 } 5964 static FORCEINLINE ULONG IDWriteTextLayout3_AddRef(IDWriteTextLayout3* This) { 5965 return This->lpVtbl->AddRef(This); 5966 } 5967 static FORCEINLINE ULONG IDWriteTextLayout3_Release(IDWriteTextLayout3* This) { 5968 return This->lpVtbl->Release(This); 5969 } 5970 /*** IDWriteTextFormat methods ***/ 5971 static FORCEINLINE HRESULT IDWriteTextLayout3_SetTextAlignment(IDWriteTextLayout3* This,DWRITE_TEXT_ALIGNMENT alignment) { 5972 return This->lpVtbl->SetTextAlignment(This,alignment); 5973 } 5974 static FORCEINLINE HRESULT IDWriteTextLayout3_SetParagraphAlignment(IDWriteTextLayout3* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { 5975 return This->lpVtbl->SetParagraphAlignment(This,alignment); 5976 } 5977 static FORCEINLINE HRESULT IDWriteTextLayout3_SetWordWrapping(IDWriteTextLayout3* This,DWRITE_WORD_WRAPPING wrapping) { 5978 return This->lpVtbl->SetWordWrapping(This,wrapping); 5979 } 5980 static FORCEINLINE HRESULT IDWriteTextLayout3_SetReadingDirection(IDWriteTextLayout3* This,DWRITE_READING_DIRECTION direction) { 5981 return This->lpVtbl->SetReadingDirection(This,direction); 5982 } 5983 static FORCEINLINE HRESULT IDWriteTextLayout3_SetFlowDirection(IDWriteTextLayout3* This,DWRITE_FLOW_DIRECTION direction) { 5984 return This->lpVtbl->SetFlowDirection(This,direction); 5985 } 5986 static FORCEINLINE HRESULT IDWriteTextLayout3_SetIncrementalTabStop(IDWriteTextLayout3* This,FLOAT tabstop) { 5987 return This->lpVtbl->SetIncrementalTabStop(This,tabstop); 5988 } 5989 static FORCEINLINE HRESULT IDWriteTextLayout3_SetTrimming(IDWriteTextLayout3* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { 5990 return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); 5991 } 5992 static FORCEINLINE DWRITE_TEXT_ALIGNMENT IDWriteTextLayout3_GetTextAlignment(IDWriteTextLayout3* This) { 5993 return This->lpVtbl->GetTextAlignment(This); 5994 } 5995 static FORCEINLINE DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout3_GetParagraphAlignment(IDWriteTextLayout3* This) { 5996 return This->lpVtbl->GetParagraphAlignment(This); 5997 } 5998 static FORCEINLINE DWRITE_WORD_WRAPPING IDWriteTextLayout3_GetWordWrapping(IDWriteTextLayout3* This) { 5999 return This->lpVtbl->GetWordWrapping(This); 6000 } 6001 static FORCEINLINE DWRITE_READING_DIRECTION IDWriteTextLayout3_GetReadingDirection(IDWriteTextLayout3* This) { 6002 return This->lpVtbl->GetReadingDirection(This); 6003 } 6004 static FORCEINLINE DWRITE_FLOW_DIRECTION IDWriteTextLayout3_GetFlowDirection(IDWriteTextLayout3* This) { 6005 return This->lpVtbl->GetFlowDirection(This); 6006 } 6007 static FORCEINLINE FLOAT IDWriteTextLayout3_GetIncrementalTabStop(IDWriteTextLayout3* This) { 6008 return This->lpVtbl->GetIncrementalTabStop(This); 6009 } 6010 static FORCEINLINE HRESULT IDWriteTextLayout3_GetTrimming(IDWriteTextLayout3* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { 6011 return This->lpVtbl->GetTrimming(This,options,trimming_sign); 6012 } 6013 /*** IDWriteTextLayout methods ***/ 6014 static FORCEINLINE HRESULT IDWriteTextLayout3_SetMaxWidth(IDWriteTextLayout3* This,FLOAT maxWidth) { 6015 return This->lpVtbl->SetMaxWidth(This,maxWidth); 6016 } 6017 static FORCEINLINE HRESULT IDWriteTextLayout3_SetMaxHeight(IDWriteTextLayout3* This,FLOAT maxHeight) { 6018 return This->lpVtbl->SetMaxHeight(This,maxHeight); 6019 } 6020 static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontCollection(IDWriteTextLayout3* This,IDWriteFontCollection *collection,DWRITE_TEXT_RANGE range) { 6021 return This->lpVtbl->SetFontCollection(This,collection,range); 6022 } 6023 static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontFamilyName(IDWriteTextLayout3* This,const WCHAR *name,DWRITE_TEXT_RANGE range) { 6024 return This->lpVtbl->SetFontFamilyName(This,name,range); 6025 } 6026 static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontWeight(IDWriteTextLayout3* This,DWRITE_FONT_WEIGHT weight,DWRITE_TEXT_RANGE range) { 6027 return This->lpVtbl->SetFontWeight(This,weight,range); 6028 } 6029 static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontStyle(IDWriteTextLayout3* This,DWRITE_FONT_STYLE style,DWRITE_TEXT_RANGE range) { 6030 return This->lpVtbl->SetFontStyle(This,style,range); 6031 } 6032 static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontStretch(IDWriteTextLayout3* This,DWRITE_FONT_STRETCH stretch,DWRITE_TEXT_RANGE range) { 6033 return This->lpVtbl->SetFontStretch(This,stretch,range); 6034 } 6035 static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontSize(IDWriteTextLayout3* This,FLOAT size,DWRITE_TEXT_RANGE range) { 6036 return This->lpVtbl->SetFontSize(This,size,range); 6037 } 6038 static FORCEINLINE HRESULT IDWriteTextLayout3_SetUnderline(IDWriteTextLayout3* This,WINBOOL underline,DWRITE_TEXT_RANGE range) { 6039 return This->lpVtbl->SetUnderline(This,underline,range); 6040 } 6041 static FORCEINLINE HRESULT IDWriteTextLayout3_SetStrikethrough(IDWriteTextLayout3* This,WINBOOL strikethrough,DWRITE_TEXT_RANGE range) { 6042 return This->lpVtbl->SetStrikethrough(This,strikethrough,range); 6043 } 6044 static FORCEINLINE HRESULT IDWriteTextLayout3_SetDrawingEffect(IDWriteTextLayout3* This,IUnknown *effect,DWRITE_TEXT_RANGE range) { 6045 return This->lpVtbl->SetDrawingEffect(This,effect,range); 6046 } 6047 static FORCEINLINE HRESULT IDWriteTextLayout3_SetInlineObject(IDWriteTextLayout3* This,IDWriteInlineObject *object,DWRITE_TEXT_RANGE range) { 6048 return This->lpVtbl->SetInlineObject(This,object,range); 6049 } 6050 static FORCEINLINE HRESULT IDWriteTextLayout3_SetTypography(IDWriteTextLayout3* This,IDWriteTypography *typography,DWRITE_TEXT_RANGE range) { 6051 return This->lpVtbl->SetTypography(This,typography,range); 6052 } 6053 static FORCEINLINE HRESULT IDWriteTextLayout3_SetLocaleName(IDWriteTextLayout3* This,const WCHAR *locale,DWRITE_TEXT_RANGE range) { 6054 return This->lpVtbl->SetLocaleName(This,locale,range); 6055 } 6056 static FORCEINLINE FLOAT IDWriteTextLayout3_GetMaxWidth(IDWriteTextLayout3* This) { 6057 return This->lpVtbl->GetMaxWidth(This); 6058 } 6059 static FORCEINLINE FLOAT IDWriteTextLayout3_GetMaxHeight(IDWriteTextLayout3* This) { 6060 return This->lpVtbl->GetMaxHeight(This); 6061 } 6062 static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontCollection(IDWriteTextLayout3* This,UINT32 pos,IDWriteFontCollection **collection,DWRITE_TEXT_RANGE *range) { 6063 return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range); 6064 } 6065 static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontFamilyNameLength(IDWriteTextLayout3* This,UINT32 pos,UINT32 *len,DWRITE_TEXT_RANGE *range) { 6066 return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range); 6067 } 6068 static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontFamilyName(IDWriteTextLayout3* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { 6069 return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range); 6070 } 6071 static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontWeight(IDWriteTextLayout3* This,UINT32 position,DWRITE_FONT_WEIGHT *weight,DWRITE_TEXT_RANGE *range) { 6072 return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range); 6073 } 6074 static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontStyle(IDWriteTextLayout3* This,UINT32 currentPosition,DWRITE_FONT_STYLE *style,DWRITE_TEXT_RANGE *range) { 6075 return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range); 6076 } 6077 static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontStretch(IDWriteTextLayout3* This,UINT32 position,DWRITE_FONT_STRETCH *stretch,DWRITE_TEXT_RANGE *range) { 6078 return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range); 6079 } 6080 static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontSize(IDWriteTextLayout3* This,UINT32 position,FLOAT *size,DWRITE_TEXT_RANGE *range) { 6081 return This->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range); 6082 } 6083 static FORCEINLINE HRESULT IDWriteTextLayout3_GetUnderline(IDWriteTextLayout3* This,UINT32 position,WINBOOL *has_underline,DWRITE_TEXT_RANGE *range) { 6084 return This->lpVtbl->GetUnderline(This,position,has_underline,range); 6085 } 6086 static FORCEINLINE HRESULT IDWriteTextLayout3_GetStrikethrough(IDWriteTextLayout3* This,UINT32 position,WINBOOL *has_strikethrough,DWRITE_TEXT_RANGE *range) { 6087 return This->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range); 6088 } 6089 static FORCEINLINE HRESULT IDWriteTextLayout3_GetDrawingEffect(IDWriteTextLayout3* This,UINT32 position,IUnknown **effect,DWRITE_TEXT_RANGE *range) { 6090 return This->lpVtbl->GetDrawingEffect(This,position,effect,range); 6091 } 6092 static FORCEINLINE HRESULT IDWriteTextLayout3_GetInlineObject(IDWriteTextLayout3* This,UINT32 position,IDWriteInlineObject **object,DWRITE_TEXT_RANGE *range) { 6093 return This->lpVtbl->GetInlineObject(This,position,object,range); 6094 } 6095 static FORCEINLINE HRESULT IDWriteTextLayout3_GetTypography(IDWriteTextLayout3* This,UINT32 position,IDWriteTypography **typography,DWRITE_TEXT_RANGE *range) { 6096 return This->lpVtbl->GetTypography(This,position,typography,range); 6097 } 6098 static FORCEINLINE HRESULT IDWriteTextLayout3_GetLocaleNameLength(IDWriteTextLayout3* This,UINT32 position,UINT32 *length,DWRITE_TEXT_RANGE *range) { 6099 return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range); 6100 } 6101 static FORCEINLINE HRESULT IDWriteTextLayout3_GetLocaleName(IDWriteTextLayout3* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { 6102 return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range); 6103 } 6104 static FORCEINLINE HRESULT IDWriteTextLayout3_Draw(IDWriteTextLayout3* This,void *context,IDWriteTextRenderer *renderer,FLOAT originX,FLOAT originY) { 6105 return This->lpVtbl->Draw(This,context,renderer,originX,originY); 6106 } 6107 static FORCEINLINE HRESULT IDWriteTextLayout3_GetOverhangMetrics(IDWriteTextLayout3* This,DWRITE_OVERHANG_METRICS *overhangs) { 6108 return This->lpVtbl->GetOverhangMetrics(This,overhangs); 6109 } 6110 static FORCEINLINE HRESULT IDWriteTextLayout3_GetClusterMetrics(IDWriteTextLayout3* This,DWRITE_CLUSTER_METRICS *metrics,UINT32 max_count,UINT32 *act_count) { 6111 return This->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count); 6112 } 6113 static FORCEINLINE HRESULT IDWriteTextLayout3_DetermineMinWidth(IDWriteTextLayout3* This,FLOAT *min_width) { 6114 return This->lpVtbl->DetermineMinWidth(This,min_width); 6115 } 6116 static FORCEINLINE HRESULT IDWriteTextLayout3_HitTestPoint(IDWriteTextLayout3* This,FLOAT pointX,FLOAT pointY,WINBOOL *is_trailinghit,WINBOOL *is_inside,DWRITE_HIT_TEST_METRICS *metrics) { 6117 return This->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics); 6118 } 6119 static FORCEINLINE HRESULT IDWriteTextLayout3_HitTestTextPosition(IDWriteTextLayout3* This,UINT32 textPosition,WINBOOL is_trailinghit,FLOAT *pointX,FLOAT *pointY,DWRITE_HIT_TEST_METRICS *metrics) { 6120 return This->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics); 6121 } 6122 static FORCEINLINE HRESULT IDWriteTextLayout3_HitTestTextRange(IDWriteTextLayout3* This,UINT32 textPosition,UINT32 textLength,FLOAT originX,FLOAT originY,DWRITE_HIT_TEST_METRICS *metrics,UINT32 max_metricscount,UINT32 *actual_metricscount) { 6123 return This->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount); 6124 } 6125 /*** IDWriteTextLayout1 methods ***/ 6126 static FORCEINLINE HRESULT IDWriteTextLayout3_SetPairKerning(IDWriteTextLayout3* This,WINBOOL is_pairkerning_enabled,DWRITE_TEXT_RANGE range) { 6127 return This->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range); 6128 } 6129 static FORCEINLINE HRESULT IDWriteTextLayout3_GetPairKerning(IDWriteTextLayout3* This,UINT32 position,WINBOOL *is_pairkerning_enabled,DWRITE_TEXT_RANGE *range) { 6130 return This->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range); 6131 } 6132 static FORCEINLINE HRESULT IDWriteTextLayout3_SetCharacterSpacing(IDWriteTextLayout3* This,FLOAT leading_spacing,FLOAT trailing_spacing,FLOAT minimum_advance_width,DWRITE_TEXT_RANGE range) { 6133 return This->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range); 6134 } 6135 static FORCEINLINE HRESULT IDWriteTextLayout3_GetCharacterSpacing(IDWriteTextLayout3* This,UINT32 position,FLOAT *leading_spacing,FLOAT *trailing_spacing,FLOAT *minimum_advance_width,DWRITE_TEXT_RANGE *range) { 6136 return This->lpVtbl->GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range); 6137 } 6138 /*** IDWriteTextLayout2 methods ***/ 6139 static FORCEINLINE HRESULT IDWriteTextLayout3_GetMetrics(IDWriteTextLayout3* This,DWRITE_TEXT_METRICS1 *metrics) { 6140 return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics); 6141 } 6142 static FORCEINLINE HRESULT IDWriteTextLayout3_SetVerticalGlyphOrientation(IDWriteTextLayout3* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { 6143 return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); 6144 } 6145 static FORCEINLINE DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout3_GetVerticalGlyphOrientation(IDWriteTextLayout3* This) { 6146 return This->lpVtbl->GetVerticalGlyphOrientation(This); 6147 } 6148 static FORCEINLINE HRESULT IDWriteTextLayout3_SetLastLineWrapping(IDWriteTextLayout3* This,WINBOOL lastline_wrapping_enabled) { 6149 return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); 6150 } 6151 static FORCEINLINE WINBOOL IDWriteTextLayout3_GetLastLineWrapping(IDWriteTextLayout3* This) { 6152 return This->lpVtbl->GetLastLineWrapping(This); 6153 } 6154 static FORCEINLINE HRESULT IDWriteTextLayout3_SetOpticalAlignment(IDWriteTextLayout3* This,DWRITE_OPTICAL_ALIGNMENT alignment) { 6155 return This->lpVtbl->SetOpticalAlignment(This,alignment); 6156 } 6157 static FORCEINLINE DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout3_GetOpticalAlignment(IDWriteTextLayout3* This) { 6158 return This->lpVtbl->GetOpticalAlignment(This); 6159 } 6160 static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontFallback(IDWriteTextLayout3* This,IDWriteFontFallback *fallback) { 6161 return This->lpVtbl->SetFontFallback(This,fallback); 6162 } 6163 static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontFallback(IDWriteTextLayout3* This,IDWriteFontFallback **fallback) { 6164 return This->lpVtbl->GetFontFallback(This,fallback); 6165 } 6166 /*** IDWriteTextLayout3 methods ***/ 6167 static FORCEINLINE HRESULT IDWriteTextLayout3_InvalidateLayout(IDWriteTextLayout3* This) { 6168 return This->lpVtbl->InvalidateLayout(This); 6169 } 6170 static FORCEINLINE HRESULT IDWriteTextLayout3_SetLineSpacing(IDWriteTextLayout3* This,const DWRITE_LINE_SPACING *spacing) { 6171 return This->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing); 6172 } 6173 static FORCEINLINE HRESULT IDWriteTextLayout3_GetLineSpacing(IDWriteTextLayout3* This,DWRITE_LINE_SPACING *spacing) { 6174 return This->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing); 6175 } 6176 static FORCEINLINE HRESULT IDWriteTextLayout3_GetLineMetrics(IDWriteTextLayout3* This,DWRITE_LINE_METRICS1 *metrics,UINT32 max_count,UINT32 *count) { 6177 return This->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count); 6178 } 6179 #endif 6180 #endif 6181 6182 #endif 6183 6184 6185 #endif /* __IDWriteTextLayout3_INTERFACE_DEFINED__ */ 6186 6187 /***************************************************************************** 6188 * IDWriteTextLayout4 interface 6189 */ 6190 #ifndef __IDWriteTextLayout4_INTERFACE_DEFINED__ 6191 #define __IDWriteTextLayout4_INTERFACE_DEFINED__ 6192 6193 DEFINE_GUID(IID_IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5,0xfb, 0x82,0x63,0x68,0x5f,0x55,0xe9); 6194 #if defined(__cplusplus) && !defined(CINTERFACE) 6195 MIDL_INTERFACE("05a9bf42-223f-4441-b5fb-8263685f55e9") 6196 IDWriteTextLayout4 : public IDWriteTextLayout3 6197 { 6198 virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( 6199 const DWRITE_FONT_AXIS_VALUE *axis_values, 6200 UINT32 num_values, 6201 DWRITE_TEXT_RANGE range) = 0; 6202 6203 virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( 6204 UINT32 pos) = 0; 6205 6206 virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( 6207 UINT32 pos, 6208 DWRITE_FONT_AXIS_VALUE *values, 6209 UINT32 num_values, 6210 DWRITE_TEXT_RANGE *range) = 0; 6211 6212 virtual DWRITE_AUTOMATIC_FONT_AXES STDMETHODCALLTYPE GetAutomaticFontAxes( 6213 ) = 0; 6214 6215 virtual HRESULT STDMETHODCALLTYPE SetAutomaticFontAxes( 6216 DWRITE_AUTOMATIC_FONT_AXES axes) = 0; 6217 6218 }; 6219 #ifdef __CRT_UUID_DECL 6220 __CRT_UUID_DECL(IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5,0xfb, 0x82,0x63,0x68,0x5f,0x55,0xe9) 6221 #endif 6222 #else 6223 typedef struct IDWriteTextLayout4Vtbl { 6224 BEGIN_INTERFACE 6225 6226 /*** IUnknown methods ***/ 6227 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6228 IDWriteTextLayout4 *This, 6229 REFIID riid, 6230 void **ppvObject); 6231 6232 ULONG (STDMETHODCALLTYPE *AddRef)( 6233 IDWriteTextLayout4 *This); 6234 6235 ULONG (STDMETHODCALLTYPE *Release)( 6236 IDWriteTextLayout4 *This); 6237 6238 /*** IDWriteTextFormat methods ***/ 6239 HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( 6240 IDWriteTextLayout4 *This, 6241 DWRITE_TEXT_ALIGNMENT alignment); 6242 6243 HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( 6244 IDWriteTextLayout4 *This, 6245 DWRITE_PARAGRAPH_ALIGNMENT alignment); 6246 6247 HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( 6248 IDWriteTextLayout4 *This, 6249 DWRITE_WORD_WRAPPING wrapping); 6250 6251 HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( 6252 IDWriteTextLayout4 *This, 6253 DWRITE_READING_DIRECTION direction); 6254 6255 HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( 6256 IDWriteTextLayout4 *This, 6257 DWRITE_FLOW_DIRECTION direction); 6258 6259 HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( 6260 IDWriteTextLayout4 *This, 6261 FLOAT tabstop); 6262 6263 HRESULT (STDMETHODCALLTYPE *SetTrimming)( 6264 IDWriteTextLayout4 *This, 6265 const DWRITE_TRIMMING *trimming, 6266 IDWriteInlineObject *trimming_sign); 6267 6268 HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( 6269 IDWriteTextLayout4 *This, 6270 DWRITE_LINE_SPACING_METHOD spacing, 6271 FLOAT line_spacing, 6272 FLOAT baseline); 6273 6274 DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( 6275 IDWriteTextLayout4 *This); 6276 6277 DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( 6278 IDWriteTextLayout4 *This); 6279 6280 DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( 6281 IDWriteTextLayout4 *This); 6282 6283 DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( 6284 IDWriteTextLayout4 *This); 6285 6286 DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( 6287 IDWriteTextLayout4 *This); 6288 6289 FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( 6290 IDWriteTextLayout4 *This); 6291 6292 HRESULT (STDMETHODCALLTYPE *GetTrimming)( 6293 IDWriteTextLayout4 *This, 6294 DWRITE_TRIMMING *options, 6295 IDWriteInlineObject **trimming_sign); 6296 6297 HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( 6298 IDWriteTextLayout4 *This, 6299 DWRITE_LINE_SPACING_METHOD *method, 6300 FLOAT *spacing, 6301 FLOAT *baseline); 6302 6303 HRESULT (STDMETHODCALLTYPE *GetFontCollection)( 6304 IDWriteTextLayout4 *This, 6305 IDWriteFontCollection **collection); 6306 6307 UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( 6308 IDWriteTextLayout4 *This); 6309 6310 HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( 6311 IDWriteTextLayout4 *This, 6312 WCHAR *name, 6313 UINT32 size); 6314 6315 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( 6316 IDWriteTextLayout4 *This); 6317 6318 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( 6319 IDWriteTextLayout4 *This); 6320 6321 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( 6322 IDWriteTextLayout4 *This); 6323 6324 FLOAT (STDMETHODCALLTYPE *GetFontSize)( 6325 IDWriteTextLayout4 *This); 6326 6327 UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( 6328 IDWriteTextLayout4 *This); 6329 6330 HRESULT (STDMETHODCALLTYPE *GetLocaleName)( 6331 IDWriteTextLayout4 *This, 6332 WCHAR *name, 6333 UINT32 size); 6334 6335 /*** IDWriteTextLayout methods ***/ 6336 HRESULT (STDMETHODCALLTYPE *SetMaxWidth)( 6337 IDWriteTextLayout4 *This, 6338 FLOAT maxWidth); 6339 6340 HRESULT (STDMETHODCALLTYPE *SetMaxHeight)( 6341 IDWriteTextLayout4 *This, 6342 FLOAT maxHeight); 6343 6344 HRESULT (STDMETHODCALLTYPE *SetFontCollection)( 6345 IDWriteTextLayout4 *This, 6346 IDWriteFontCollection *collection, 6347 DWRITE_TEXT_RANGE range); 6348 6349 HRESULT (STDMETHODCALLTYPE *SetFontFamilyName)( 6350 IDWriteTextLayout4 *This, 6351 const WCHAR *name, 6352 DWRITE_TEXT_RANGE range); 6353 6354 HRESULT (STDMETHODCALLTYPE *SetFontWeight)( 6355 IDWriteTextLayout4 *This, 6356 DWRITE_FONT_WEIGHT weight, 6357 DWRITE_TEXT_RANGE range); 6358 6359 HRESULT (STDMETHODCALLTYPE *SetFontStyle)( 6360 IDWriteTextLayout4 *This, 6361 DWRITE_FONT_STYLE style, 6362 DWRITE_TEXT_RANGE range); 6363 6364 HRESULT (STDMETHODCALLTYPE *SetFontStretch)( 6365 IDWriteTextLayout4 *This, 6366 DWRITE_FONT_STRETCH stretch, 6367 DWRITE_TEXT_RANGE range); 6368 6369 HRESULT (STDMETHODCALLTYPE *SetFontSize)( 6370 IDWriteTextLayout4 *This, 6371 FLOAT size, 6372 DWRITE_TEXT_RANGE range); 6373 6374 HRESULT (STDMETHODCALLTYPE *SetUnderline)( 6375 IDWriteTextLayout4 *This, 6376 WINBOOL underline, 6377 DWRITE_TEXT_RANGE range); 6378 6379 HRESULT (STDMETHODCALLTYPE *SetStrikethrough)( 6380 IDWriteTextLayout4 *This, 6381 WINBOOL strikethrough, 6382 DWRITE_TEXT_RANGE range); 6383 6384 HRESULT (STDMETHODCALLTYPE *SetDrawingEffect)( 6385 IDWriteTextLayout4 *This, 6386 IUnknown *effect, 6387 DWRITE_TEXT_RANGE range); 6388 6389 HRESULT (STDMETHODCALLTYPE *SetInlineObject)( 6390 IDWriteTextLayout4 *This, 6391 IDWriteInlineObject *object, 6392 DWRITE_TEXT_RANGE range); 6393 6394 HRESULT (STDMETHODCALLTYPE *SetTypography)( 6395 IDWriteTextLayout4 *This, 6396 IDWriteTypography *typography, 6397 DWRITE_TEXT_RANGE range); 6398 6399 HRESULT (STDMETHODCALLTYPE *SetLocaleName)( 6400 IDWriteTextLayout4 *This, 6401 const WCHAR *locale, 6402 DWRITE_TEXT_RANGE range); 6403 6404 FLOAT (STDMETHODCALLTYPE *GetMaxWidth)( 6405 IDWriteTextLayout4 *This); 6406 6407 FLOAT (STDMETHODCALLTYPE *GetMaxHeight)( 6408 IDWriteTextLayout4 *This); 6409 6410 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontCollection)( 6411 IDWriteTextLayout4 *This, 6412 UINT32 pos, 6413 IDWriteFontCollection **collection, 6414 DWRITE_TEXT_RANGE *range); 6415 6416 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyNameLength)( 6417 IDWriteTextLayout4 *This, 6418 UINT32 pos, 6419 UINT32 *len, 6420 DWRITE_TEXT_RANGE *range); 6421 6422 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyName)( 6423 IDWriteTextLayout4 *This, 6424 UINT32 position, 6425 WCHAR *name, 6426 UINT32 name_size, 6427 DWRITE_TEXT_RANGE *range); 6428 6429 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontWeight)( 6430 IDWriteTextLayout4 *This, 6431 UINT32 position, 6432 DWRITE_FONT_WEIGHT *weight, 6433 DWRITE_TEXT_RANGE *range); 6434 6435 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStyle)( 6436 IDWriteTextLayout4 *This, 6437 UINT32 currentPosition, 6438 DWRITE_FONT_STYLE *style, 6439 DWRITE_TEXT_RANGE *range); 6440 6441 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStretch)( 6442 IDWriteTextLayout4 *This, 6443 UINT32 position, 6444 DWRITE_FONT_STRETCH *stretch, 6445 DWRITE_TEXT_RANGE *range); 6446 6447 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontSize)( 6448 IDWriteTextLayout4 *This, 6449 UINT32 position, 6450 FLOAT *size, 6451 DWRITE_TEXT_RANGE *range); 6452 6453 HRESULT (STDMETHODCALLTYPE *GetUnderline)( 6454 IDWriteTextLayout4 *This, 6455 UINT32 position, 6456 WINBOOL *has_underline, 6457 DWRITE_TEXT_RANGE *range); 6458 6459 HRESULT (STDMETHODCALLTYPE *GetStrikethrough)( 6460 IDWriteTextLayout4 *This, 6461 UINT32 position, 6462 WINBOOL *has_strikethrough, 6463 DWRITE_TEXT_RANGE *range); 6464 6465 HRESULT (STDMETHODCALLTYPE *GetDrawingEffect)( 6466 IDWriteTextLayout4 *This, 6467 UINT32 position, 6468 IUnknown **effect, 6469 DWRITE_TEXT_RANGE *range); 6470 6471 HRESULT (STDMETHODCALLTYPE *GetInlineObject)( 6472 IDWriteTextLayout4 *This, 6473 UINT32 position, 6474 IDWriteInlineObject **object, 6475 DWRITE_TEXT_RANGE *range); 6476 6477 HRESULT (STDMETHODCALLTYPE *GetTypography)( 6478 IDWriteTextLayout4 *This, 6479 UINT32 position, 6480 IDWriteTypography **typography, 6481 DWRITE_TEXT_RANGE *range); 6482 6483 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleNameLength)( 6484 IDWriteTextLayout4 *This, 6485 UINT32 position, 6486 UINT32 *length, 6487 DWRITE_TEXT_RANGE *range); 6488 6489 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleName)( 6490 IDWriteTextLayout4 *This, 6491 UINT32 position, 6492 WCHAR *name, 6493 UINT32 name_size, 6494 DWRITE_TEXT_RANGE *range); 6495 6496 HRESULT (STDMETHODCALLTYPE *Draw)( 6497 IDWriteTextLayout4 *This, 6498 void *context, 6499 IDWriteTextRenderer *renderer, 6500 FLOAT originX, 6501 FLOAT originY); 6502 6503 HRESULT (STDMETHODCALLTYPE *GetLineMetrics)( 6504 IDWriteTextLayout4 *This, 6505 DWRITE_LINE_METRICS *metrics, 6506 UINT32 max_count, 6507 UINT32 *actual_count); 6508 6509 HRESULT (STDMETHODCALLTYPE *GetMetrics)( 6510 IDWriteTextLayout4 *This, 6511 DWRITE_TEXT_METRICS *metrics); 6512 6513 HRESULT (STDMETHODCALLTYPE *GetOverhangMetrics)( 6514 IDWriteTextLayout4 *This, 6515 DWRITE_OVERHANG_METRICS *overhangs); 6516 6517 HRESULT (STDMETHODCALLTYPE *GetClusterMetrics)( 6518 IDWriteTextLayout4 *This, 6519 DWRITE_CLUSTER_METRICS *metrics, 6520 UINT32 max_count, 6521 UINT32 *act_count); 6522 6523 HRESULT (STDMETHODCALLTYPE *DetermineMinWidth)( 6524 IDWriteTextLayout4 *This, 6525 FLOAT *min_width); 6526 6527 HRESULT (STDMETHODCALLTYPE *HitTestPoint)( 6528 IDWriteTextLayout4 *This, 6529 FLOAT pointX, 6530 FLOAT pointY, 6531 WINBOOL *is_trailinghit, 6532 WINBOOL *is_inside, 6533 DWRITE_HIT_TEST_METRICS *metrics); 6534 6535 HRESULT (STDMETHODCALLTYPE *HitTestTextPosition)( 6536 IDWriteTextLayout4 *This, 6537 UINT32 textPosition, 6538 WINBOOL is_trailinghit, 6539 FLOAT *pointX, 6540 FLOAT *pointY, 6541 DWRITE_HIT_TEST_METRICS *metrics); 6542 6543 HRESULT (STDMETHODCALLTYPE *HitTestTextRange)( 6544 IDWriteTextLayout4 *This, 6545 UINT32 textPosition, 6546 UINT32 textLength, 6547 FLOAT originX, 6548 FLOAT originY, 6549 DWRITE_HIT_TEST_METRICS *metrics, 6550 UINT32 max_metricscount, 6551 UINT32 *actual_metricscount); 6552 6553 /*** IDWriteTextLayout1 methods ***/ 6554 HRESULT (STDMETHODCALLTYPE *SetPairKerning)( 6555 IDWriteTextLayout4 *This, 6556 WINBOOL is_pairkerning_enabled, 6557 DWRITE_TEXT_RANGE range); 6558 6559 HRESULT (STDMETHODCALLTYPE *GetPairKerning)( 6560 IDWriteTextLayout4 *This, 6561 UINT32 position, 6562 WINBOOL *is_pairkerning_enabled, 6563 DWRITE_TEXT_RANGE *range); 6564 6565 HRESULT (STDMETHODCALLTYPE *SetCharacterSpacing)( 6566 IDWriteTextLayout4 *This, 6567 FLOAT leading_spacing, 6568 FLOAT trailing_spacing, 6569 FLOAT minimum_advance_width, 6570 DWRITE_TEXT_RANGE range); 6571 6572 HRESULT (STDMETHODCALLTYPE *GetCharacterSpacing)( 6573 IDWriteTextLayout4 *This, 6574 UINT32 position, 6575 FLOAT *leading_spacing, 6576 FLOAT *trailing_spacing, 6577 FLOAT *minimum_advance_width, 6578 DWRITE_TEXT_RANGE *range); 6579 6580 /*** IDWriteTextLayout2 methods ***/ 6581 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout2_GetMetrics)( 6582 IDWriteTextLayout4 *This, 6583 DWRITE_TEXT_METRICS1 *metrics); 6584 6585 HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( 6586 IDWriteTextLayout4 *This, 6587 DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); 6588 6589 DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( 6590 IDWriteTextLayout4 *This); 6591 6592 HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( 6593 IDWriteTextLayout4 *This, 6594 WINBOOL lastline_wrapping_enabled); 6595 6596 WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( 6597 IDWriteTextLayout4 *This); 6598 6599 HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( 6600 IDWriteTextLayout4 *This, 6601 DWRITE_OPTICAL_ALIGNMENT alignment); 6602 6603 DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( 6604 IDWriteTextLayout4 *This); 6605 6606 HRESULT (STDMETHODCALLTYPE *SetFontFallback)( 6607 IDWriteTextLayout4 *This, 6608 IDWriteFontFallback *fallback); 6609 6610 HRESULT (STDMETHODCALLTYPE *GetFontFallback)( 6611 IDWriteTextLayout4 *This, 6612 IDWriteFontFallback **fallback); 6613 6614 /*** IDWriteTextLayout3 methods ***/ 6615 HRESULT (STDMETHODCALLTYPE *InvalidateLayout)( 6616 IDWriteTextLayout4 *This); 6617 6618 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_SetLineSpacing)( 6619 IDWriteTextLayout4 *This, 6620 const DWRITE_LINE_SPACING *spacing); 6621 6622 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineSpacing)( 6623 IDWriteTextLayout4 *This, 6624 DWRITE_LINE_SPACING *spacing); 6625 6626 HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineMetrics)( 6627 IDWriteTextLayout4 *This, 6628 DWRITE_LINE_METRICS1 *metrics, 6629 UINT32 max_count, 6630 UINT32 *count); 6631 6632 /*** IDWriteTextLayout4 methods ***/ 6633 HRESULT (STDMETHODCALLTYPE *SetFontAxisValues)( 6634 IDWriteTextLayout4 *This, 6635 const DWRITE_FONT_AXIS_VALUE *axis_values, 6636 UINT32 num_values, 6637 DWRITE_TEXT_RANGE range); 6638 6639 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 6640 IDWriteTextLayout4 *This, 6641 UINT32 pos); 6642 6643 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 6644 IDWriteTextLayout4 *This, 6645 UINT32 pos, 6646 DWRITE_FONT_AXIS_VALUE *values, 6647 UINT32 num_values, 6648 DWRITE_TEXT_RANGE *range); 6649 6650 DWRITE_AUTOMATIC_FONT_AXES (STDMETHODCALLTYPE *GetAutomaticFontAxes)( 6651 IDWriteTextLayout4 *This); 6652 6653 HRESULT (STDMETHODCALLTYPE *SetAutomaticFontAxes)( 6654 IDWriteTextLayout4 *This, 6655 DWRITE_AUTOMATIC_FONT_AXES axes); 6656 6657 END_INTERFACE 6658 } IDWriteTextLayout4Vtbl; 6659 6660 interface IDWriteTextLayout4 { 6661 CONST_VTBL IDWriteTextLayout4Vtbl* lpVtbl; 6662 }; 6663 6664 #ifdef COBJMACROS 6665 #ifndef WIDL_C_INLINE_WRAPPERS 6666 /*** IUnknown methods ***/ 6667 #define IDWriteTextLayout4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6668 #define IDWriteTextLayout4_AddRef(This) (This)->lpVtbl->AddRef(This) 6669 #define IDWriteTextLayout4_Release(This) (This)->lpVtbl->Release(This) 6670 /*** IDWriteTextFormat methods ***/ 6671 #define IDWriteTextLayout4_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) 6672 #define IDWriteTextLayout4_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) 6673 #define IDWriteTextLayout4_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) 6674 #define IDWriteTextLayout4_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) 6675 #define IDWriteTextLayout4_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) 6676 #define IDWriteTextLayout4_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) 6677 #define IDWriteTextLayout4_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) 6678 #define IDWriteTextLayout4_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) 6679 #define IDWriteTextLayout4_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) 6680 #define IDWriteTextLayout4_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) 6681 #define IDWriteTextLayout4_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) 6682 #define IDWriteTextLayout4_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) 6683 #define IDWriteTextLayout4_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) 6684 #define IDWriteTextLayout4_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) 6685 /*** IDWriteTextLayout methods ***/ 6686 #define IDWriteTextLayout4_SetMaxWidth(This,maxWidth) (This)->lpVtbl->SetMaxWidth(This,maxWidth) 6687 #define IDWriteTextLayout4_SetMaxHeight(This,maxHeight) (This)->lpVtbl->SetMaxHeight(This,maxHeight) 6688 #define IDWriteTextLayout4_SetFontCollection(This,collection,range) (This)->lpVtbl->SetFontCollection(This,collection,range) 6689 #define IDWriteTextLayout4_SetFontFamilyName(This,name,range) (This)->lpVtbl->SetFontFamilyName(This,name,range) 6690 #define IDWriteTextLayout4_SetFontWeight(This,weight,range) (This)->lpVtbl->SetFontWeight(This,weight,range) 6691 #define IDWriteTextLayout4_SetFontStyle(This,style,range) (This)->lpVtbl->SetFontStyle(This,style,range) 6692 #define IDWriteTextLayout4_SetFontStretch(This,stretch,range) (This)->lpVtbl->SetFontStretch(This,stretch,range) 6693 #define IDWriteTextLayout4_SetFontSize(This,size,range) (This)->lpVtbl->SetFontSize(This,size,range) 6694 #define IDWriteTextLayout4_SetUnderline(This,underline,range) (This)->lpVtbl->SetUnderline(This,underline,range) 6695 #define IDWriteTextLayout4_SetStrikethrough(This,strikethrough,range) (This)->lpVtbl->SetStrikethrough(This,strikethrough,range) 6696 #define IDWriteTextLayout4_SetDrawingEffect(This,effect,range) (This)->lpVtbl->SetDrawingEffect(This,effect,range) 6697 #define IDWriteTextLayout4_SetInlineObject(This,object,range) (This)->lpVtbl->SetInlineObject(This,object,range) 6698 #define IDWriteTextLayout4_SetTypography(This,typography,range) (This)->lpVtbl->SetTypography(This,typography,range) 6699 #define IDWriteTextLayout4_SetLocaleName(This,locale,range) (This)->lpVtbl->SetLocaleName(This,locale,range) 6700 #define IDWriteTextLayout4_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) 6701 #define IDWriteTextLayout4_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) 6702 #define IDWriteTextLayout4_GetFontCollection(This,pos,collection,range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range) 6703 #define IDWriteTextLayout4_GetFontFamilyNameLength(This,pos,len,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range) 6704 #define IDWriteTextLayout4_GetFontFamilyName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range) 6705 #define IDWriteTextLayout4_GetFontWeight(This,position,weight,range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range) 6706 #define IDWriteTextLayout4_GetFontStyle(This,currentPosition,style,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range) 6707 #define IDWriteTextLayout4_GetFontStretch(This,position,stretch,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range) 6708 #define IDWriteTextLayout4_GetFontSize(This,position,size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range) 6709 #define IDWriteTextLayout4_GetUnderline(This,position,has_underline,range) (This)->lpVtbl->GetUnderline(This,position,has_underline,range) 6710 #define IDWriteTextLayout4_GetStrikethrough(This,position,has_strikethrough,range) (This)->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range) 6711 #define IDWriteTextLayout4_GetDrawingEffect(This,position,effect,range) (This)->lpVtbl->GetDrawingEffect(This,position,effect,range) 6712 #define IDWriteTextLayout4_GetInlineObject(This,position,object,range) (This)->lpVtbl->GetInlineObject(This,position,object,range) 6713 #define IDWriteTextLayout4_GetTypography(This,position,typography,range) (This)->lpVtbl->GetTypography(This,position,typography,range) 6714 #define IDWriteTextLayout4_GetLocaleNameLength(This,position,length,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range) 6715 #define IDWriteTextLayout4_GetLocaleName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range) 6716 #define IDWriteTextLayout4_Draw(This,context,renderer,originX,originY) (This)->lpVtbl->Draw(This,context,renderer,originX,originY) 6717 #define IDWriteTextLayout4_GetOverhangMetrics(This,overhangs) (This)->lpVtbl->GetOverhangMetrics(This,overhangs) 6718 #define IDWriteTextLayout4_GetClusterMetrics(This,metrics,max_count,act_count) (This)->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count) 6719 #define IDWriteTextLayout4_DetermineMinWidth(This,min_width) (This)->lpVtbl->DetermineMinWidth(This,min_width) 6720 #define IDWriteTextLayout4_HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) (This)->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) 6721 #define IDWriteTextLayout4_HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) (This)->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) 6722 #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) 6723 /*** IDWriteTextLayout1 methods ***/ 6724 #define IDWriteTextLayout4_SetPairKerning(This,is_pairkerning_enabled,range) (This)->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range) 6725 #define IDWriteTextLayout4_GetPairKerning(This,position,is_pairkerning_enabled,range) (This)->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range) 6726 #define IDWriteTextLayout4_SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) (This)->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) 6727 #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) 6728 /*** IDWriteTextLayout2 methods ***/ 6729 #define IDWriteTextLayout4_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics) 6730 #define IDWriteTextLayout4_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) 6731 #define IDWriteTextLayout4_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) 6732 #define IDWriteTextLayout4_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) 6733 #define IDWriteTextLayout4_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) 6734 #define IDWriteTextLayout4_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) 6735 #define IDWriteTextLayout4_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) 6736 #define IDWriteTextLayout4_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) 6737 #define IDWriteTextLayout4_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) 6738 /*** IDWriteTextLayout3 methods ***/ 6739 #define IDWriteTextLayout4_InvalidateLayout(This) (This)->lpVtbl->InvalidateLayout(This) 6740 #define IDWriteTextLayout4_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing) 6741 #define IDWriteTextLayout4_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing) 6742 #define IDWriteTextLayout4_GetLineMetrics(This,metrics,max_count,count) (This)->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) 6743 /*** IDWriteTextLayout4 methods ***/ 6744 #define IDWriteTextLayout4_SetFontAxisValues(This,axis_values,num_values,range) (This)->lpVtbl->SetFontAxisValues(This,axis_values,num_values,range) 6745 #define IDWriteTextLayout4_GetFontAxisValueCount(This,pos) (This)->lpVtbl->GetFontAxisValueCount(This,pos) 6746 #define IDWriteTextLayout4_GetFontAxisValues(This,pos,values,num_values,range) (This)->lpVtbl->GetFontAxisValues(This,pos,values,num_values,range) 6747 #define IDWriteTextLayout4_GetAutomaticFontAxes(This) (This)->lpVtbl->GetAutomaticFontAxes(This) 6748 #define IDWriteTextLayout4_SetAutomaticFontAxes(This,axes) (This)->lpVtbl->SetAutomaticFontAxes(This,axes) 6749 #else 6750 /*** IUnknown methods ***/ 6751 static FORCEINLINE HRESULT IDWriteTextLayout4_QueryInterface(IDWriteTextLayout4* This,REFIID riid,void **ppvObject) { 6752 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6753 } 6754 static FORCEINLINE ULONG IDWriteTextLayout4_AddRef(IDWriteTextLayout4* This) { 6755 return This->lpVtbl->AddRef(This); 6756 } 6757 static FORCEINLINE ULONG IDWriteTextLayout4_Release(IDWriteTextLayout4* This) { 6758 return This->lpVtbl->Release(This); 6759 } 6760 /*** IDWriteTextFormat methods ***/ 6761 static FORCEINLINE HRESULT IDWriteTextLayout4_SetTextAlignment(IDWriteTextLayout4* This,DWRITE_TEXT_ALIGNMENT alignment) { 6762 return This->lpVtbl->SetTextAlignment(This,alignment); 6763 } 6764 static FORCEINLINE HRESULT IDWriteTextLayout4_SetParagraphAlignment(IDWriteTextLayout4* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { 6765 return This->lpVtbl->SetParagraphAlignment(This,alignment); 6766 } 6767 static FORCEINLINE HRESULT IDWriteTextLayout4_SetWordWrapping(IDWriteTextLayout4* This,DWRITE_WORD_WRAPPING wrapping) { 6768 return This->lpVtbl->SetWordWrapping(This,wrapping); 6769 } 6770 static FORCEINLINE HRESULT IDWriteTextLayout4_SetReadingDirection(IDWriteTextLayout4* This,DWRITE_READING_DIRECTION direction) { 6771 return This->lpVtbl->SetReadingDirection(This,direction); 6772 } 6773 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFlowDirection(IDWriteTextLayout4* This,DWRITE_FLOW_DIRECTION direction) { 6774 return This->lpVtbl->SetFlowDirection(This,direction); 6775 } 6776 static FORCEINLINE HRESULT IDWriteTextLayout4_SetIncrementalTabStop(IDWriteTextLayout4* This,FLOAT tabstop) { 6777 return This->lpVtbl->SetIncrementalTabStop(This,tabstop); 6778 } 6779 static FORCEINLINE HRESULT IDWriteTextLayout4_SetTrimming(IDWriteTextLayout4* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { 6780 return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); 6781 } 6782 static FORCEINLINE DWRITE_TEXT_ALIGNMENT IDWriteTextLayout4_GetTextAlignment(IDWriteTextLayout4* This) { 6783 return This->lpVtbl->GetTextAlignment(This); 6784 } 6785 static FORCEINLINE DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout4_GetParagraphAlignment(IDWriteTextLayout4* This) { 6786 return This->lpVtbl->GetParagraphAlignment(This); 6787 } 6788 static FORCEINLINE DWRITE_WORD_WRAPPING IDWriteTextLayout4_GetWordWrapping(IDWriteTextLayout4* This) { 6789 return This->lpVtbl->GetWordWrapping(This); 6790 } 6791 static FORCEINLINE DWRITE_READING_DIRECTION IDWriteTextLayout4_GetReadingDirection(IDWriteTextLayout4* This) { 6792 return This->lpVtbl->GetReadingDirection(This); 6793 } 6794 static FORCEINLINE DWRITE_FLOW_DIRECTION IDWriteTextLayout4_GetFlowDirection(IDWriteTextLayout4* This) { 6795 return This->lpVtbl->GetFlowDirection(This); 6796 } 6797 static FORCEINLINE FLOAT IDWriteTextLayout4_GetIncrementalTabStop(IDWriteTextLayout4* This) { 6798 return This->lpVtbl->GetIncrementalTabStop(This); 6799 } 6800 static FORCEINLINE HRESULT IDWriteTextLayout4_GetTrimming(IDWriteTextLayout4* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { 6801 return This->lpVtbl->GetTrimming(This,options,trimming_sign); 6802 } 6803 /*** IDWriteTextLayout methods ***/ 6804 static FORCEINLINE HRESULT IDWriteTextLayout4_SetMaxWidth(IDWriteTextLayout4* This,FLOAT maxWidth) { 6805 return This->lpVtbl->SetMaxWidth(This,maxWidth); 6806 } 6807 static FORCEINLINE HRESULT IDWriteTextLayout4_SetMaxHeight(IDWriteTextLayout4* This,FLOAT maxHeight) { 6808 return This->lpVtbl->SetMaxHeight(This,maxHeight); 6809 } 6810 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontCollection(IDWriteTextLayout4* This,IDWriteFontCollection *collection,DWRITE_TEXT_RANGE range) { 6811 return This->lpVtbl->SetFontCollection(This,collection,range); 6812 } 6813 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontFamilyName(IDWriteTextLayout4* This,const WCHAR *name,DWRITE_TEXT_RANGE range) { 6814 return This->lpVtbl->SetFontFamilyName(This,name,range); 6815 } 6816 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontWeight(IDWriteTextLayout4* This,DWRITE_FONT_WEIGHT weight,DWRITE_TEXT_RANGE range) { 6817 return This->lpVtbl->SetFontWeight(This,weight,range); 6818 } 6819 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontStyle(IDWriteTextLayout4* This,DWRITE_FONT_STYLE style,DWRITE_TEXT_RANGE range) { 6820 return This->lpVtbl->SetFontStyle(This,style,range); 6821 } 6822 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontStretch(IDWriteTextLayout4* This,DWRITE_FONT_STRETCH stretch,DWRITE_TEXT_RANGE range) { 6823 return This->lpVtbl->SetFontStretch(This,stretch,range); 6824 } 6825 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontSize(IDWriteTextLayout4* This,FLOAT size,DWRITE_TEXT_RANGE range) { 6826 return This->lpVtbl->SetFontSize(This,size,range); 6827 } 6828 static FORCEINLINE HRESULT IDWriteTextLayout4_SetUnderline(IDWriteTextLayout4* This,WINBOOL underline,DWRITE_TEXT_RANGE range) { 6829 return This->lpVtbl->SetUnderline(This,underline,range); 6830 } 6831 static FORCEINLINE HRESULT IDWriteTextLayout4_SetStrikethrough(IDWriteTextLayout4* This,WINBOOL strikethrough,DWRITE_TEXT_RANGE range) { 6832 return This->lpVtbl->SetStrikethrough(This,strikethrough,range); 6833 } 6834 static FORCEINLINE HRESULT IDWriteTextLayout4_SetDrawingEffect(IDWriteTextLayout4* This,IUnknown *effect,DWRITE_TEXT_RANGE range) { 6835 return This->lpVtbl->SetDrawingEffect(This,effect,range); 6836 } 6837 static FORCEINLINE HRESULT IDWriteTextLayout4_SetInlineObject(IDWriteTextLayout4* This,IDWriteInlineObject *object,DWRITE_TEXT_RANGE range) { 6838 return This->lpVtbl->SetInlineObject(This,object,range); 6839 } 6840 static FORCEINLINE HRESULT IDWriteTextLayout4_SetTypography(IDWriteTextLayout4* This,IDWriteTypography *typography,DWRITE_TEXT_RANGE range) { 6841 return This->lpVtbl->SetTypography(This,typography,range); 6842 } 6843 static FORCEINLINE HRESULT IDWriteTextLayout4_SetLocaleName(IDWriteTextLayout4* This,const WCHAR *locale,DWRITE_TEXT_RANGE range) { 6844 return This->lpVtbl->SetLocaleName(This,locale,range); 6845 } 6846 static FORCEINLINE FLOAT IDWriteTextLayout4_GetMaxWidth(IDWriteTextLayout4* This) { 6847 return This->lpVtbl->GetMaxWidth(This); 6848 } 6849 static FORCEINLINE FLOAT IDWriteTextLayout4_GetMaxHeight(IDWriteTextLayout4* This) { 6850 return This->lpVtbl->GetMaxHeight(This); 6851 } 6852 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontCollection(IDWriteTextLayout4* This,UINT32 pos,IDWriteFontCollection **collection,DWRITE_TEXT_RANGE *range) { 6853 return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range); 6854 } 6855 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontFamilyNameLength(IDWriteTextLayout4* This,UINT32 pos,UINT32 *len,DWRITE_TEXT_RANGE *range) { 6856 return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range); 6857 } 6858 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontFamilyName(IDWriteTextLayout4* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { 6859 return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range); 6860 } 6861 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontWeight(IDWriteTextLayout4* This,UINT32 position,DWRITE_FONT_WEIGHT *weight,DWRITE_TEXT_RANGE *range) { 6862 return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range); 6863 } 6864 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontStyle(IDWriteTextLayout4* This,UINT32 currentPosition,DWRITE_FONT_STYLE *style,DWRITE_TEXT_RANGE *range) { 6865 return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range); 6866 } 6867 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontStretch(IDWriteTextLayout4* This,UINT32 position,DWRITE_FONT_STRETCH *stretch,DWRITE_TEXT_RANGE *range) { 6868 return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range); 6869 } 6870 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontSize(IDWriteTextLayout4* This,UINT32 position,FLOAT *size,DWRITE_TEXT_RANGE *range) { 6871 return This->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range); 6872 } 6873 static FORCEINLINE HRESULT IDWriteTextLayout4_GetUnderline(IDWriteTextLayout4* This,UINT32 position,WINBOOL *has_underline,DWRITE_TEXT_RANGE *range) { 6874 return This->lpVtbl->GetUnderline(This,position,has_underline,range); 6875 } 6876 static FORCEINLINE HRESULT IDWriteTextLayout4_GetStrikethrough(IDWriteTextLayout4* This,UINT32 position,WINBOOL *has_strikethrough,DWRITE_TEXT_RANGE *range) { 6877 return This->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range); 6878 } 6879 static FORCEINLINE HRESULT IDWriteTextLayout4_GetDrawingEffect(IDWriteTextLayout4* This,UINT32 position,IUnknown **effect,DWRITE_TEXT_RANGE *range) { 6880 return This->lpVtbl->GetDrawingEffect(This,position,effect,range); 6881 } 6882 static FORCEINLINE HRESULT IDWriteTextLayout4_GetInlineObject(IDWriteTextLayout4* This,UINT32 position,IDWriteInlineObject **object,DWRITE_TEXT_RANGE *range) { 6883 return This->lpVtbl->GetInlineObject(This,position,object,range); 6884 } 6885 static FORCEINLINE HRESULT IDWriteTextLayout4_GetTypography(IDWriteTextLayout4* This,UINT32 position,IDWriteTypography **typography,DWRITE_TEXT_RANGE *range) { 6886 return This->lpVtbl->GetTypography(This,position,typography,range); 6887 } 6888 static FORCEINLINE HRESULT IDWriteTextLayout4_GetLocaleNameLength(IDWriteTextLayout4* This,UINT32 position,UINT32 *length,DWRITE_TEXT_RANGE *range) { 6889 return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range); 6890 } 6891 static FORCEINLINE HRESULT IDWriteTextLayout4_GetLocaleName(IDWriteTextLayout4* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { 6892 return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range); 6893 } 6894 static FORCEINLINE HRESULT IDWriteTextLayout4_Draw(IDWriteTextLayout4* This,void *context,IDWriteTextRenderer *renderer,FLOAT originX,FLOAT originY) { 6895 return This->lpVtbl->Draw(This,context,renderer,originX,originY); 6896 } 6897 static FORCEINLINE HRESULT IDWriteTextLayout4_GetOverhangMetrics(IDWriteTextLayout4* This,DWRITE_OVERHANG_METRICS *overhangs) { 6898 return This->lpVtbl->GetOverhangMetrics(This,overhangs); 6899 } 6900 static FORCEINLINE HRESULT IDWriteTextLayout4_GetClusterMetrics(IDWriteTextLayout4* This,DWRITE_CLUSTER_METRICS *metrics,UINT32 max_count,UINT32 *act_count) { 6901 return This->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count); 6902 } 6903 static FORCEINLINE HRESULT IDWriteTextLayout4_DetermineMinWidth(IDWriteTextLayout4* This,FLOAT *min_width) { 6904 return This->lpVtbl->DetermineMinWidth(This,min_width); 6905 } 6906 static FORCEINLINE HRESULT IDWriteTextLayout4_HitTestPoint(IDWriteTextLayout4* This,FLOAT pointX,FLOAT pointY,WINBOOL *is_trailinghit,WINBOOL *is_inside,DWRITE_HIT_TEST_METRICS *metrics) { 6907 return This->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics); 6908 } 6909 static FORCEINLINE HRESULT IDWriteTextLayout4_HitTestTextPosition(IDWriteTextLayout4* This,UINT32 textPosition,WINBOOL is_trailinghit,FLOAT *pointX,FLOAT *pointY,DWRITE_HIT_TEST_METRICS *metrics) { 6910 return This->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics); 6911 } 6912 static FORCEINLINE HRESULT IDWriteTextLayout4_HitTestTextRange(IDWriteTextLayout4* This,UINT32 textPosition,UINT32 textLength,FLOAT originX,FLOAT originY,DWRITE_HIT_TEST_METRICS *metrics,UINT32 max_metricscount,UINT32 *actual_metricscount) { 6913 return This->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount); 6914 } 6915 /*** IDWriteTextLayout1 methods ***/ 6916 static FORCEINLINE HRESULT IDWriteTextLayout4_SetPairKerning(IDWriteTextLayout4* This,WINBOOL is_pairkerning_enabled,DWRITE_TEXT_RANGE range) { 6917 return This->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range); 6918 } 6919 static FORCEINLINE HRESULT IDWriteTextLayout4_GetPairKerning(IDWriteTextLayout4* This,UINT32 position,WINBOOL *is_pairkerning_enabled,DWRITE_TEXT_RANGE *range) { 6920 return This->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range); 6921 } 6922 static FORCEINLINE HRESULT IDWriteTextLayout4_SetCharacterSpacing(IDWriteTextLayout4* This,FLOAT leading_spacing,FLOAT trailing_spacing,FLOAT minimum_advance_width,DWRITE_TEXT_RANGE range) { 6923 return This->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range); 6924 } 6925 static FORCEINLINE HRESULT IDWriteTextLayout4_GetCharacterSpacing(IDWriteTextLayout4* This,UINT32 position,FLOAT *leading_spacing,FLOAT *trailing_spacing,FLOAT *minimum_advance_width,DWRITE_TEXT_RANGE *range) { 6926 return This->lpVtbl->GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range); 6927 } 6928 /*** IDWriteTextLayout2 methods ***/ 6929 static FORCEINLINE HRESULT IDWriteTextLayout4_GetMetrics(IDWriteTextLayout4* This,DWRITE_TEXT_METRICS1 *metrics) { 6930 return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics); 6931 } 6932 static FORCEINLINE HRESULT IDWriteTextLayout4_SetVerticalGlyphOrientation(IDWriteTextLayout4* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { 6933 return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); 6934 } 6935 static FORCEINLINE DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout4_GetVerticalGlyphOrientation(IDWriteTextLayout4* This) { 6936 return This->lpVtbl->GetVerticalGlyphOrientation(This); 6937 } 6938 static FORCEINLINE HRESULT IDWriteTextLayout4_SetLastLineWrapping(IDWriteTextLayout4* This,WINBOOL lastline_wrapping_enabled) { 6939 return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); 6940 } 6941 static FORCEINLINE WINBOOL IDWriteTextLayout4_GetLastLineWrapping(IDWriteTextLayout4* This) { 6942 return This->lpVtbl->GetLastLineWrapping(This); 6943 } 6944 static FORCEINLINE HRESULT IDWriteTextLayout4_SetOpticalAlignment(IDWriteTextLayout4* This,DWRITE_OPTICAL_ALIGNMENT alignment) { 6945 return This->lpVtbl->SetOpticalAlignment(This,alignment); 6946 } 6947 static FORCEINLINE DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout4_GetOpticalAlignment(IDWriteTextLayout4* This) { 6948 return This->lpVtbl->GetOpticalAlignment(This); 6949 } 6950 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontFallback(IDWriteTextLayout4* This,IDWriteFontFallback *fallback) { 6951 return This->lpVtbl->SetFontFallback(This,fallback); 6952 } 6953 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontFallback(IDWriteTextLayout4* This,IDWriteFontFallback **fallback) { 6954 return This->lpVtbl->GetFontFallback(This,fallback); 6955 } 6956 /*** IDWriteTextLayout3 methods ***/ 6957 static FORCEINLINE HRESULT IDWriteTextLayout4_InvalidateLayout(IDWriteTextLayout4* This) { 6958 return This->lpVtbl->InvalidateLayout(This); 6959 } 6960 static FORCEINLINE HRESULT IDWriteTextLayout4_SetLineSpacing(IDWriteTextLayout4* This,const DWRITE_LINE_SPACING *spacing) { 6961 return This->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing); 6962 } 6963 static FORCEINLINE HRESULT IDWriteTextLayout4_GetLineSpacing(IDWriteTextLayout4* This,DWRITE_LINE_SPACING *spacing) { 6964 return This->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing); 6965 } 6966 static FORCEINLINE HRESULT IDWriteTextLayout4_GetLineMetrics(IDWriteTextLayout4* This,DWRITE_LINE_METRICS1 *metrics,UINT32 max_count,UINT32 *count) { 6967 return This->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count); 6968 } 6969 /*** IDWriteTextLayout4 methods ***/ 6970 static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontAxisValues(IDWriteTextLayout4* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,DWRITE_TEXT_RANGE range) { 6971 return This->lpVtbl->SetFontAxisValues(This,axis_values,num_values,range); 6972 } 6973 static FORCEINLINE UINT32 IDWriteTextLayout4_GetFontAxisValueCount(IDWriteTextLayout4* This,UINT32 pos) { 6974 return This->lpVtbl->GetFontAxisValueCount(This,pos); 6975 } 6976 static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontAxisValues(IDWriteTextLayout4* This,UINT32 pos,DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values,DWRITE_TEXT_RANGE *range) { 6977 return This->lpVtbl->GetFontAxisValues(This,pos,values,num_values,range); 6978 } 6979 static FORCEINLINE DWRITE_AUTOMATIC_FONT_AXES IDWriteTextLayout4_GetAutomaticFontAxes(IDWriteTextLayout4* This) { 6980 return This->lpVtbl->GetAutomaticFontAxes(This); 6981 } 6982 static FORCEINLINE HRESULT IDWriteTextLayout4_SetAutomaticFontAxes(IDWriteTextLayout4* This,DWRITE_AUTOMATIC_FONT_AXES axes) { 6983 return This->lpVtbl->SetAutomaticFontAxes(This,axes); 6984 } 6985 #endif 6986 #endif 6987 6988 #endif 6989 6990 6991 #endif /* __IDWriteTextLayout4_INTERFACE_DEFINED__ */ 6992 6993 /***************************************************************************** 6994 * IDWriteFontFallback1 interface 6995 */ 6996 #ifndef __IDWriteFontFallback1_INTERFACE_DEFINED__ 6997 #define __IDWriteFontFallback1_INTERFACE_DEFINED__ 6998 6999 DEFINE_GUID(IID_IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd,0x6a, 0xf4,0xf3,0x1e,0xaa,0xde,0x77); 7000 #if defined(__cplusplus) && !defined(CINTERFACE) 7001 MIDL_INTERFACE("2397599d-dd0d-4681-bd6a-f4f31eaade77") 7002 IDWriteFontFallback1 : public IDWriteFontFallback 7003 { 7004 virtual HRESULT STDMETHODCALLTYPE MapCharacters( 7005 IDWriteTextAnalysisSource *source, 7006 UINT32 pos, 7007 UINT32 length, 7008 IDWriteFontCollection *base_collection, 7009 const WCHAR *familyname, 7010 const DWRITE_FONT_AXIS_VALUE *axis_values, 7011 UINT32 num_values, 7012 UINT32 *mapped_length, 7013 FLOAT *scale, 7014 IDWriteFontFace5 **fontface) = 0; 7015 7016 }; 7017 #ifdef __CRT_UUID_DECL 7018 __CRT_UUID_DECL(IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd,0x6a, 0xf4,0xf3,0x1e,0xaa,0xde,0x77) 7019 #endif 7020 #else 7021 typedef struct IDWriteFontFallback1Vtbl { 7022 BEGIN_INTERFACE 7023 7024 /*** IUnknown methods ***/ 7025 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7026 IDWriteFontFallback1 *This, 7027 REFIID riid, 7028 void **ppvObject); 7029 7030 ULONG (STDMETHODCALLTYPE *AddRef)( 7031 IDWriteFontFallback1 *This); 7032 7033 ULONG (STDMETHODCALLTYPE *Release)( 7034 IDWriteFontFallback1 *This); 7035 7036 /*** IDWriteFontFallback methods ***/ 7037 HRESULT (STDMETHODCALLTYPE *MapCharacters)( 7038 IDWriteFontFallback1 *This, 7039 IDWriteTextAnalysisSource *source, 7040 UINT32 position, 7041 UINT32 length, 7042 IDWriteFontCollection *basecollection, 7043 const WCHAR *baseFamilyName, 7044 DWRITE_FONT_WEIGHT baseWeight, 7045 DWRITE_FONT_STYLE baseStyle, 7046 DWRITE_FONT_STRETCH baseStretch, 7047 UINT32 *mappedLength, 7048 IDWriteFont **mappedFont, 7049 FLOAT *scale); 7050 7051 /*** IDWriteFontFallback1 methods ***/ 7052 HRESULT (STDMETHODCALLTYPE *IDWriteFontFallback1_MapCharacters)( 7053 IDWriteFontFallback1 *This, 7054 IDWriteTextAnalysisSource *source, 7055 UINT32 pos, 7056 UINT32 length, 7057 IDWriteFontCollection *base_collection, 7058 const WCHAR *familyname, 7059 const DWRITE_FONT_AXIS_VALUE *axis_values, 7060 UINT32 num_values, 7061 UINT32 *mapped_length, 7062 FLOAT *scale, 7063 IDWriteFontFace5 **fontface); 7064 7065 END_INTERFACE 7066 } IDWriteFontFallback1Vtbl; 7067 7068 interface IDWriteFontFallback1 { 7069 CONST_VTBL IDWriteFontFallback1Vtbl* lpVtbl; 7070 }; 7071 7072 #ifdef COBJMACROS 7073 #ifndef WIDL_C_INLINE_WRAPPERS 7074 /*** IUnknown methods ***/ 7075 #define IDWriteFontFallback1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7076 #define IDWriteFontFallback1_AddRef(This) (This)->lpVtbl->AddRef(This) 7077 #define IDWriteFontFallback1_Release(This) (This)->lpVtbl->Release(This) 7078 /*** IDWriteFontFallback methods ***/ 7079 /*** IDWriteFontFallback1 methods ***/ 7080 #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) 7081 #else 7082 /*** IUnknown methods ***/ 7083 static FORCEINLINE HRESULT IDWriteFontFallback1_QueryInterface(IDWriteFontFallback1* This,REFIID riid,void **ppvObject) { 7084 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7085 } 7086 static FORCEINLINE ULONG IDWriteFontFallback1_AddRef(IDWriteFontFallback1* This) { 7087 return This->lpVtbl->AddRef(This); 7088 } 7089 static FORCEINLINE ULONG IDWriteFontFallback1_Release(IDWriteFontFallback1* This) { 7090 return This->lpVtbl->Release(This); 7091 } 7092 /*** IDWriteFontFallback methods ***/ 7093 /*** IDWriteFontFallback1 methods ***/ 7094 static FORCEINLINE 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) { 7095 return This->lpVtbl->IDWriteFontFallback1_MapCharacters(This,source,pos,length,base_collection,familyname,axis_values,num_values,mapped_length,scale,fontface); 7096 } 7097 #endif 7098 #endif 7099 7100 #endif 7101 7102 7103 #endif /* __IDWriteFontFallback1_INTERFACE_DEFINED__ */ 7104 7105 /***************************************************************************** 7106 * IDWriteGdiInterop1 interface 7107 */ 7108 #ifndef __IDWriteGdiInterop1_INTERFACE_DEFINED__ 7109 #define __IDWriteGdiInterop1_INTERFACE_DEFINED__ 7110 7111 DEFINE_GUID(IID_IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90,0xbe, 0x42,0x17,0x80,0xa6,0xf5,0x15); 7112 #if defined(__cplusplus) && !defined(CINTERFACE) 7113 MIDL_INTERFACE("4556be70-3abd-4f70-90be-421780a6f515") 7114 IDWriteGdiInterop1 : public IDWriteGdiInterop 7115 { 7116 virtual HRESULT STDMETHODCALLTYPE CreateFontFromLOGFONT( 7117 const LOGFONTW *logfont, 7118 IDWriteFontCollection *collection, 7119 IDWriteFont **font) = 0; 7120 7121 virtual HRESULT STDMETHODCALLTYPE GetFontSignature_( 7122 IDWriteFontFace *fontface, 7123 FONTSIGNATURE *fontsig) = 0; 7124 7125 virtual HRESULT STDMETHODCALLTYPE GetFontSignature( 7126 IDWriteFont *font, 7127 FONTSIGNATURE *fontsig) = 0; 7128 7129 virtual HRESULT STDMETHODCALLTYPE GetMatchingFontsByLOGFONT( 7130 const LOGFONTW *logfont, 7131 IDWriteFontSet *fontset, 7132 IDWriteFontSet **subset) = 0; 7133 7134 }; 7135 #ifdef __CRT_UUID_DECL 7136 __CRT_UUID_DECL(IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90,0xbe, 0x42,0x17,0x80,0xa6,0xf5,0x15) 7137 #endif 7138 #else 7139 typedef struct IDWriteGdiInterop1Vtbl { 7140 BEGIN_INTERFACE 7141 7142 /*** IUnknown methods ***/ 7143 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7144 IDWriteGdiInterop1 *This, 7145 REFIID riid, 7146 void **ppvObject); 7147 7148 ULONG (STDMETHODCALLTYPE *AddRef)( 7149 IDWriteGdiInterop1 *This); 7150 7151 ULONG (STDMETHODCALLTYPE *Release)( 7152 IDWriteGdiInterop1 *This); 7153 7154 /*** IDWriteGdiInterop methods ***/ 7155 HRESULT (STDMETHODCALLTYPE *CreateFontFromLOGFONT)( 7156 IDWriteGdiInterop1 *This, 7157 const LOGFONTW *logfont, 7158 IDWriteFont **font); 7159 7160 HRESULT (STDMETHODCALLTYPE *ConvertFontToLOGFONT)( 7161 IDWriteGdiInterop1 *This, 7162 IDWriteFont *font, 7163 LOGFONTW *logfont, 7164 WINBOOL *is_systemfont); 7165 7166 HRESULT (STDMETHODCALLTYPE *ConvertFontFaceToLOGFONT)( 7167 IDWriteGdiInterop1 *This, 7168 IDWriteFontFace *font, 7169 LOGFONTW *logfont); 7170 7171 HRESULT (STDMETHODCALLTYPE *CreateFontFaceFromHdc)( 7172 IDWriteGdiInterop1 *This, 7173 HDC hdc, 7174 IDWriteFontFace **fontface); 7175 7176 HRESULT (STDMETHODCALLTYPE *CreateBitmapRenderTarget)( 7177 IDWriteGdiInterop1 *This, 7178 HDC hdc, 7179 UINT32 width, 7180 UINT32 height, 7181 IDWriteBitmapRenderTarget **target); 7182 7183 /*** IDWriteGdiInterop1 methods ***/ 7184 HRESULT (STDMETHODCALLTYPE *IDWriteGdiInterop1_CreateFontFromLOGFONT)( 7185 IDWriteGdiInterop1 *This, 7186 const LOGFONTW *logfont, 7187 IDWriteFontCollection *collection, 7188 IDWriteFont **font); 7189 7190 HRESULT (STDMETHODCALLTYPE *GetFontSignature_)( 7191 IDWriteGdiInterop1 *This, 7192 IDWriteFontFace *fontface, 7193 FONTSIGNATURE *fontsig); 7194 7195 HRESULT (STDMETHODCALLTYPE *GetFontSignature)( 7196 IDWriteGdiInterop1 *This, 7197 IDWriteFont *font, 7198 FONTSIGNATURE *fontsig); 7199 7200 HRESULT (STDMETHODCALLTYPE *GetMatchingFontsByLOGFONT)( 7201 IDWriteGdiInterop1 *This, 7202 const LOGFONTW *logfont, 7203 IDWriteFontSet *fontset, 7204 IDWriteFontSet **subset); 7205 7206 END_INTERFACE 7207 } IDWriteGdiInterop1Vtbl; 7208 7209 interface IDWriteGdiInterop1 { 7210 CONST_VTBL IDWriteGdiInterop1Vtbl* lpVtbl; 7211 }; 7212 7213 #ifdef COBJMACROS 7214 #ifndef WIDL_C_INLINE_WRAPPERS 7215 /*** IUnknown methods ***/ 7216 #define IDWriteGdiInterop1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7217 #define IDWriteGdiInterop1_AddRef(This) (This)->lpVtbl->AddRef(This) 7218 #define IDWriteGdiInterop1_Release(This) (This)->lpVtbl->Release(This) 7219 /*** IDWriteGdiInterop methods ***/ 7220 #define IDWriteGdiInterop1_ConvertFontToLOGFONT(This,font,logfont,is_systemfont) (This)->lpVtbl->ConvertFontToLOGFONT(This,font,logfont,is_systemfont) 7221 #define IDWriteGdiInterop1_ConvertFontFaceToLOGFONT(This,font,logfont) (This)->lpVtbl->ConvertFontFaceToLOGFONT(This,font,logfont) 7222 #define IDWriteGdiInterop1_CreateFontFaceFromHdc(This,hdc,fontface) (This)->lpVtbl->CreateFontFaceFromHdc(This,hdc,fontface) 7223 #define IDWriteGdiInterop1_CreateBitmapRenderTarget(This,hdc,width,height,target) (This)->lpVtbl->CreateBitmapRenderTarget(This,hdc,width,height,target) 7224 /*** IDWriteGdiInterop1 methods ***/ 7225 #define IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font) (This)->lpVtbl->IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font) 7226 #define IDWriteGdiInterop1_GetFontSignature_(This,fontface,fontsig) (This)->lpVtbl->GetFontSignature_(This,fontface,fontsig) 7227 #define IDWriteGdiInterop1_GetFontSignature(This,font,fontsig) (This)->lpVtbl->GetFontSignature(This,font,fontsig) 7228 #define IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(This,logfont,fontset,subset) (This)->lpVtbl->GetMatchingFontsByLOGFONT(This,logfont,fontset,subset) 7229 #else 7230 /*** IUnknown methods ***/ 7231 static FORCEINLINE HRESULT IDWriteGdiInterop1_QueryInterface(IDWriteGdiInterop1* This,REFIID riid,void **ppvObject) { 7232 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7233 } 7234 static FORCEINLINE ULONG IDWriteGdiInterop1_AddRef(IDWriteGdiInterop1* This) { 7235 return This->lpVtbl->AddRef(This); 7236 } 7237 static FORCEINLINE ULONG IDWriteGdiInterop1_Release(IDWriteGdiInterop1* This) { 7238 return This->lpVtbl->Release(This); 7239 } 7240 /*** IDWriteGdiInterop methods ***/ 7241 static FORCEINLINE HRESULT IDWriteGdiInterop1_ConvertFontToLOGFONT(IDWriteGdiInterop1* This,IDWriteFont *font,LOGFONTW *logfont,WINBOOL *is_systemfont) { 7242 return This->lpVtbl->ConvertFontToLOGFONT(This,font,logfont,is_systemfont); 7243 } 7244 static FORCEINLINE HRESULT IDWriteGdiInterop1_ConvertFontFaceToLOGFONT(IDWriteGdiInterop1* This,IDWriteFontFace *font,LOGFONTW *logfont) { 7245 return This->lpVtbl->ConvertFontFaceToLOGFONT(This,font,logfont); 7246 } 7247 static FORCEINLINE HRESULT IDWriteGdiInterop1_CreateFontFaceFromHdc(IDWriteGdiInterop1* This,HDC hdc,IDWriteFontFace **fontface) { 7248 return This->lpVtbl->CreateFontFaceFromHdc(This,hdc,fontface); 7249 } 7250 static FORCEINLINE HRESULT IDWriteGdiInterop1_CreateBitmapRenderTarget(IDWriteGdiInterop1* This,HDC hdc,UINT32 width,UINT32 height,IDWriteBitmapRenderTarget **target) { 7251 return This->lpVtbl->CreateBitmapRenderTarget(This,hdc,width,height,target); 7252 } 7253 /*** IDWriteGdiInterop1 methods ***/ 7254 static FORCEINLINE HRESULT IDWriteGdiInterop1_CreateFontFromLOGFONT(IDWriteGdiInterop1* This,const LOGFONTW *logfont,IDWriteFontCollection *collection,IDWriteFont **font) { 7255 return This->lpVtbl->IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font); 7256 } 7257 static FORCEINLINE HRESULT IDWriteGdiInterop1_GetFontSignature_(IDWriteGdiInterop1* This,IDWriteFontFace *fontface,FONTSIGNATURE *fontsig) { 7258 return This->lpVtbl->GetFontSignature_(This,fontface,fontsig); 7259 } 7260 static FORCEINLINE HRESULT IDWriteGdiInterop1_GetFontSignature(IDWriteGdiInterop1* This,IDWriteFont *font,FONTSIGNATURE *fontsig) { 7261 return This->lpVtbl->GetFontSignature(This,font,fontsig); 7262 } 7263 static FORCEINLINE HRESULT IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(IDWriteGdiInterop1* This,const LOGFONTW *logfont,IDWriteFontSet *fontset,IDWriteFontSet **subset) { 7264 return This->lpVtbl->GetMatchingFontsByLOGFONT(This,logfont,fontset,subset); 7265 } 7266 #endif 7267 #endif 7268 7269 #endif 7270 7271 7272 #endif /* __IDWriteGdiInterop1_INTERFACE_DEFINED__ */ 7273 7274 /***************************************************************************** 7275 * IDWriteFontSetBuilder interface 7276 */ 7277 #ifndef __IDWriteFontSetBuilder_INTERFACE_DEFINED__ 7278 #define __IDWriteFontSetBuilder_INTERFACE_DEFINED__ 7279 7280 DEFINE_GUID(IID_IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8,0xbe, 0x45,0x74,0x01,0xaf,0xcb,0x3d); 7281 #if defined(__cplusplus) && !defined(CINTERFACE) 7282 MIDL_INTERFACE("2f642afe-9c68-4f40-b8be-457401afcb3d") 7283 IDWriteFontSetBuilder : public IUnknown 7284 { 7285 virtual HRESULT STDMETHODCALLTYPE AddFontFaceReference_( 7286 IDWriteFontFaceReference *ref, 7287 const DWRITE_FONT_PROPERTY *props, 7288 UINT32 prop_count) = 0; 7289 7290 virtual HRESULT STDMETHODCALLTYPE AddFontFaceReference( 7291 IDWriteFontFaceReference *ref) = 0; 7292 7293 virtual HRESULT STDMETHODCALLTYPE AddFontSet( 7294 IDWriteFontSet *fontset) = 0; 7295 7296 virtual HRESULT STDMETHODCALLTYPE CreateFontSet( 7297 IDWriteFontSet **fontset) = 0; 7298 7299 }; 7300 #ifdef __CRT_UUID_DECL 7301 __CRT_UUID_DECL(IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8,0xbe, 0x45,0x74,0x01,0xaf,0xcb,0x3d) 7302 #endif 7303 #else 7304 typedef struct IDWriteFontSetBuilderVtbl { 7305 BEGIN_INTERFACE 7306 7307 /*** IUnknown methods ***/ 7308 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7309 IDWriteFontSetBuilder *This, 7310 REFIID riid, 7311 void **ppvObject); 7312 7313 ULONG (STDMETHODCALLTYPE *AddRef)( 7314 IDWriteFontSetBuilder *This); 7315 7316 ULONG (STDMETHODCALLTYPE *Release)( 7317 IDWriteFontSetBuilder *This); 7318 7319 /*** IDWriteFontSetBuilder methods ***/ 7320 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( 7321 IDWriteFontSetBuilder *This, 7322 IDWriteFontFaceReference *ref, 7323 const DWRITE_FONT_PROPERTY *props, 7324 UINT32 prop_count); 7325 7326 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( 7327 IDWriteFontSetBuilder *This, 7328 IDWriteFontFaceReference *ref); 7329 7330 HRESULT (STDMETHODCALLTYPE *AddFontSet)( 7331 IDWriteFontSetBuilder *This, 7332 IDWriteFontSet *fontset); 7333 7334 HRESULT (STDMETHODCALLTYPE *CreateFontSet)( 7335 IDWriteFontSetBuilder *This, 7336 IDWriteFontSet **fontset); 7337 7338 END_INTERFACE 7339 } IDWriteFontSetBuilderVtbl; 7340 7341 interface IDWriteFontSetBuilder { 7342 CONST_VTBL IDWriteFontSetBuilderVtbl* lpVtbl; 7343 }; 7344 7345 #ifdef COBJMACROS 7346 #ifndef WIDL_C_INLINE_WRAPPERS 7347 /*** IUnknown methods ***/ 7348 #define IDWriteFontSetBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7349 #define IDWriteFontSetBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 7350 #define IDWriteFontSetBuilder_Release(This) (This)->lpVtbl->Release(This) 7351 /*** IDWriteFontSetBuilder methods ***/ 7352 #define IDWriteFontSetBuilder_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) 7353 #define IDWriteFontSetBuilder_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) 7354 #define IDWriteFontSetBuilder_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) 7355 #define IDWriteFontSetBuilder_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) 7356 #else 7357 /*** IUnknown methods ***/ 7358 static FORCEINLINE HRESULT IDWriteFontSetBuilder_QueryInterface(IDWriteFontSetBuilder* This,REFIID riid,void **ppvObject) { 7359 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7360 } 7361 static FORCEINLINE ULONG IDWriteFontSetBuilder_AddRef(IDWriteFontSetBuilder* This) { 7362 return This->lpVtbl->AddRef(This); 7363 } 7364 static FORCEINLINE ULONG IDWriteFontSetBuilder_Release(IDWriteFontSetBuilder* This) { 7365 return This->lpVtbl->Release(This); 7366 } 7367 /*** IDWriteFontSetBuilder methods ***/ 7368 static FORCEINLINE HRESULT IDWriteFontSetBuilder_AddFontFaceReference_(IDWriteFontSetBuilder* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { 7369 return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); 7370 } 7371 static FORCEINLINE HRESULT IDWriteFontSetBuilder_AddFontFaceReference(IDWriteFontSetBuilder* This,IDWriteFontFaceReference *ref) { 7372 return This->lpVtbl->AddFontFaceReference(This,ref); 7373 } 7374 static FORCEINLINE HRESULT IDWriteFontSetBuilder_AddFontSet(IDWriteFontSetBuilder* This,IDWriteFontSet *fontset) { 7375 return This->lpVtbl->AddFontSet(This,fontset); 7376 } 7377 static FORCEINLINE HRESULT IDWriteFontSetBuilder_CreateFontSet(IDWriteFontSetBuilder* This,IDWriteFontSet **fontset) { 7378 return This->lpVtbl->CreateFontSet(This,fontset); 7379 } 7380 #endif 7381 #endif 7382 7383 #endif 7384 7385 7386 #endif /* __IDWriteFontSetBuilder_INTERFACE_DEFINED__ */ 7387 7388 /***************************************************************************** 7389 * IDWriteFontSetBuilder1 interface 7390 */ 7391 #ifndef __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ 7392 #define __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ 7393 7394 DEFINE_GUID(IID_IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b,0x72, 0xec,0x56,0x21,0xdc,0xca,0xfd); 7395 #if defined(__cplusplus) && !defined(CINTERFACE) 7396 MIDL_INTERFACE("3ff7715f-3cdc-4dc6-9b72-ec5621dccafd") 7397 IDWriteFontSetBuilder1 : public IDWriteFontSetBuilder 7398 { 7399 virtual HRESULT STDMETHODCALLTYPE AddFontFile( 7400 IDWriteFontFile *file) = 0; 7401 7402 }; 7403 #ifdef __CRT_UUID_DECL 7404 __CRT_UUID_DECL(IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b,0x72, 0xec,0x56,0x21,0xdc,0xca,0xfd) 7405 #endif 7406 #else 7407 typedef struct IDWriteFontSetBuilder1Vtbl { 7408 BEGIN_INTERFACE 7409 7410 /*** IUnknown methods ***/ 7411 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7412 IDWriteFontSetBuilder1 *This, 7413 REFIID riid, 7414 void **ppvObject); 7415 7416 ULONG (STDMETHODCALLTYPE *AddRef)( 7417 IDWriteFontSetBuilder1 *This); 7418 7419 ULONG (STDMETHODCALLTYPE *Release)( 7420 IDWriteFontSetBuilder1 *This); 7421 7422 /*** IDWriteFontSetBuilder methods ***/ 7423 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( 7424 IDWriteFontSetBuilder1 *This, 7425 IDWriteFontFaceReference *ref, 7426 const DWRITE_FONT_PROPERTY *props, 7427 UINT32 prop_count); 7428 7429 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( 7430 IDWriteFontSetBuilder1 *This, 7431 IDWriteFontFaceReference *ref); 7432 7433 HRESULT (STDMETHODCALLTYPE *AddFontSet)( 7434 IDWriteFontSetBuilder1 *This, 7435 IDWriteFontSet *fontset); 7436 7437 HRESULT (STDMETHODCALLTYPE *CreateFontSet)( 7438 IDWriteFontSetBuilder1 *This, 7439 IDWriteFontSet **fontset); 7440 7441 /*** IDWriteFontSetBuilder1 methods ***/ 7442 HRESULT (STDMETHODCALLTYPE *AddFontFile)( 7443 IDWriteFontSetBuilder1 *This, 7444 IDWriteFontFile *file); 7445 7446 END_INTERFACE 7447 } IDWriteFontSetBuilder1Vtbl; 7448 7449 interface IDWriteFontSetBuilder1 { 7450 CONST_VTBL IDWriteFontSetBuilder1Vtbl* lpVtbl; 7451 }; 7452 7453 #ifdef COBJMACROS 7454 #ifndef WIDL_C_INLINE_WRAPPERS 7455 /*** IUnknown methods ***/ 7456 #define IDWriteFontSetBuilder1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7457 #define IDWriteFontSetBuilder1_AddRef(This) (This)->lpVtbl->AddRef(This) 7458 #define IDWriteFontSetBuilder1_Release(This) (This)->lpVtbl->Release(This) 7459 /*** IDWriteFontSetBuilder methods ***/ 7460 #define IDWriteFontSetBuilder1_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) 7461 #define IDWriteFontSetBuilder1_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) 7462 #define IDWriteFontSetBuilder1_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) 7463 #define IDWriteFontSetBuilder1_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) 7464 /*** IDWriteFontSetBuilder1 methods ***/ 7465 #define IDWriteFontSetBuilder1_AddFontFile(This,file) (This)->lpVtbl->AddFontFile(This,file) 7466 #else 7467 /*** IUnknown methods ***/ 7468 static FORCEINLINE HRESULT IDWriteFontSetBuilder1_QueryInterface(IDWriteFontSetBuilder1* This,REFIID riid,void **ppvObject) { 7469 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7470 } 7471 static FORCEINLINE ULONG IDWriteFontSetBuilder1_AddRef(IDWriteFontSetBuilder1* This) { 7472 return This->lpVtbl->AddRef(This); 7473 } 7474 static FORCEINLINE ULONG IDWriteFontSetBuilder1_Release(IDWriteFontSetBuilder1* This) { 7475 return This->lpVtbl->Release(This); 7476 } 7477 /*** IDWriteFontSetBuilder methods ***/ 7478 static FORCEINLINE HRESULT IDWriteFontSetBuilder1_AddFontFaceReference_(IDWriteFontSetBuilder1* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { 7479 return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); 7480 } 7481 static FORCEINLINE HRESULT IDWriteFontSetBuilder1_AddFontFaceReference(IDWriteFontSetBuilder1* This,IDWriteFontFaceReference *ref) { 7482 return This->lpVtbl->AddFontFaceReference(This,ref); 7483 } 7484 static FORCEINLINE HRESULT IDWriteFontSetBuilder1_AddFontSet(IDWriteFontSetBuilder1* This,IDWriteFontSet *fontset) { 7485 return This->lpVtbl->AddFontSet(This,fontset); 7486 } 7487 static FORCEINLINE HRESULT IDWriteFontSetBuilder1_CreateFontSet(IDWriteFontSetBuilder1* This,IDWriteFontSet **fontset) { 7488 return This->lpVtbl->CreateFontSet(This,fontset); 7489 } 7490 /*** IDWriteFontSetBuilder1 methods ***/ 7491 static FORCEINLINE HRESULT IDWriteFontSetBuilder1_AddFontFile(IDWriteFontSetBuilder1* This,IDWriteFontFile *file) { 7492 return This->lpVtbl->AddFontFile(This,file); 7493 } 7494 #endif 7495 #endif 7496 7497 #endif 7498 7499 7500 #endif /* __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ */ 7501 7502 /***************************************************************************** 7503 * IDWriteFontSetBuilder2 interface 7504 */ 7505 #ifndef __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ 7506 #define __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ 7507 7508 DEFINE_GUID(IID_IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f,0x4f, 0x31,0x89,0xb9,0x40,0x1e,0x45); 7509 #if defined(__cplusplus) && !defined(CINTERFACE) 7510 MIDL_INTERFACE("ee5ba612-b131-463c-8f4f-3189b9401e45") 7511 IDWriteFontSetBuilder2 : public IDWriteFontSetBuilder1 7512 { 7513 virtual HRESULT STDMETHODCALLTYPE AddFont( 7514 IDWriteFontFile *fontfile, 7515 UINT32 face_index, 7516 DWRITE_FONT_SIMULATIONS simulations, 7517 const DWRITE_FONT_AXIS_VALUE *axis_values, 7518 UINT32 num_values, 7519 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 7520 UINT32 num_ranges, 7521 const DWRITE_FONT_PROPERTY *props, 7522 UINT32 num_properties) = 0; 7523 7524 virtual HRESULT STDMETHODCALLTYPE AddFontFile( 7525 const WCHAR *filepath) = 0; 7526 7527 }; 7528 #ifdef __CRT_UUID_DECL 7529 __CRT_UUID_DECL(IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f,0x4f, 0x31,0x89,0xb9,0x40,0x1e,0x45) 7530 #endif 7531 #else 7532 typedef struct IDWriteFontSetBuilder2Vtbl { 7533 BEGIN_INTERFACE 7534 7535 /*** IUnknown methods ***/ 7536 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7537 IDWriteFontSetBuilder2 *This, 7538 REFIID riid, 7539 void **ppvObject); 7540 7541 ULONG (STDMETHODCALLTYPE *AddRef)( 7542 IDWriteFontSetBuilder2 *This); 7543 7544 ULONG (STDMETHODCALLTYPE *Release)( 7545 IDWriteFontSetBuilder2 *This); 7546 7547 /*** IDWriteFontSetBuilder methods ***/ 7548 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( 7549 IDWriteFontSetBuilder2 *This, 7550 IDWriteFontFaceReference *ref, 7551 const DWRITE_FONT_PROPERTY *props, 7552 UINT32 prop_count); 7553 7554 HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( 7555 IDWriteFontSetBuilder2 *This, 7556 IDWriteFontFaceReference *ref); 7557 7558 HRESULT (STDMETHODCALLTYPE *AddFontSet)( 7559 IDWriteFontSetBuilder2 *This, 7560 IDWriteFontSet *fontset); 7561 7562 HRESULT (STDMETHODCALLTYPE *CreateFontSet)( 7563 IDWriteFontSetBuilder2 *This, 7564 IDWriteFontSet **fontset); 7565 7566 /*** IDWriteFontSetBuilder1 methods ***/ 7567 HRESULT (STDMETHODCALLTYPE *AddFontFile)( 7568 IDWriteFontSetBuilder2 *This, 7569 IDWriteFontFile *file); 7570 7571 /*** IDWriteFontSetBuilder2 methods ***/ 7572 HRESULT (STDMETHODCALLTYPE *AddFont)( 7573 IDWriteFontSetBuilder2 *This, 7574 IDWriteFontFile *fontfile, 7575 UINT32 face_index, 7576 DWRITE_FONT_SIMULATIONS simulations, 7577 const DWRITE_FONT_AXIS_VALUE *axis_values, 7578 UINT32 num_values, 7579 const DWRITE_FONT_AXIS_RANGE *axis_ranges, 7580 UINT32 num_ranges, 7581 const DWRITE_FONT_PROPERTY *props, 7582 UINT32 num_properties); 7583 7584 HRESULT (STDMETHODCALLTYPE *IDWriteFontSetBuilder2_AddFontFile)( 7585 IDWriteFontSetBuilder2 *This, 7586 const WCHAR *filepath); 7587 7588 END_INTERFACE 7589 } IDWriteFontSetBuilder2Vtbl; 7590 7591 interface IDWriteFontSetBuilder2 { 7592 CONST_VTBL IDWriteFontSetBuilder2Vtbl* lpVtbl; 7593 }; 7594 7595 #ifdef COBJMACROS 7596 #ifndef WIDL_C_INLINE_WRAPPERS 7597 /*** IUnknown methods ***/ 7598 #define IDWriteFontSetBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7599 #define IDWriteFontSetBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) 7600 #define IDWriteFontSetBuilder2_Release(This) (This)->lpVtbl->Release(This) 7601 /*** IDWriteFontSetBuilder methods ***/ 7602 #define IDWriteFontSetBuilder2_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) 7603 #define IDWriteFontSetBuilder2_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) 7604 #define IDWriteFontSetBuilder2_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) 7605 #define IDWriteFontSetBuilder2_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) 7606 /*** IDWriteFontSetBuilder1 methods ***/ 7607 /*** IDWriteFontSetBuilder2 methods ***/ 7608 #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) 7609 #define IDWriteFontSetBuilder2_AddFontFile(This,filepath) (This)->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This,filepath) 7610 #else 7611 /*** IUnknown methods ***/ 7612 static FORCEINLINE HRESULT IDWriteFontSetBuilder2_QueryInterface(IDWriteFontSetBuilder2* This,REFIID riid,void **ppvObject) { 7613 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7614 } 7615 static FORCEINLINE ULONG IDWriteFontSetBuilder2_AddRef(IDWriteFontSetBuilder2* This) { 7616 return This->lpVtbl->AddRef(This); 7617 } 7618 static FORCEINLINE ULONG IDWriteFontSetBuilder2_Release(IDWriteFontSetBuilder2* This) { 7619 return This->lpVtbl->Release(This); 7620 } 7621 /*** IDWriteFontSetBuilder methods ***/ 7622 static FORCEINLINE HRESULT IDWriteFontSetBuilder2_AddFontFaceReference_(IDWriteFontSetBuilder2* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { 7623 return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); 7624 } 7625 static FORCEINLINE HRESULT IDWriteFontSetBuilder2_AddFontFaceReference(IDWriteFontSetBuilder2* This,IDWriteFontFaceReference *ref) { 7626 return This->lpVtbl->AddFontFaceReference(This,ref); 7627 } 7628 static FORCEINLINE HRESULT IDWriteFontSetBuilder2_AddFontSet(IDWriteFontSetBuilder2* This,IDWriteFontSet *fontset) { 7629 return This->lpVtbl->AddFontSet(This,fontset); 7630 } 7631 static FORCEINLINE HRESULT IDWriteFontSetBuilder2_CreateFontSet(IDWriteFontSetBuilder2* This,IDWriteFontSet **fontset) { 7632 return This->lpVtbl->CreateFontSet(This,fontset); 7633 } 7634 /*** IDWriteFontSetBuilder1 methods ***/ 7635 /*** IDWriteFontSetBuilder2 methods ***/ 7636 static FORCEINLINE 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) { 7637 return This->lpVtbl->AddFont(This,fontfile,face_index,simulations,axis_values,num_values,axis_ranges,num_ranges,props,num_properties); 7638 } 7639 static FORCEINLINE HRESULT IDWriteFontSetBuilder2_AddFontFile(IDWriteFontSetBuilder2* This,const WCHAR *filepath) { 7640 return This->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This,filepath); 7641 } 7642 #endif 7643 #endif 7644 7645 #endif 7646 7647 7648 #endif /* __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ */ 7649 7650 /***************************************************************************** 7651 * IDWriteFactory3 interface 7652 */ 7653 #ifndef __IDWriteFactory3_INTERFACE_DEFINED__ 7654 #define __IDWriteFactory3_INTERFACE_DEFINED__ 7655 7656 DEFINE_GUID(IID_IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87,0xfc, 0xfe,0x67,0x55,0x6a,0x3b,0x65); 7657 #if defined(__cplusplus) && !defined(CINTERFACE) 7658 MIDL_INTERFACE("9a1b41c3-d3bb-466a-87fc-fe67556a3b65") 7659 IDWriteFactory3 : public IDWriteFactory2 7660 { 7661 virtual HRESULT STDMETHODCALLTYPE CreateGlyphRunAnalysis( 7662 const DWRITE_GLYPH_RUN *run, 7663 const DWRITE_MATRIX *transform, 7664 DWRITE_RENDERING_MODE1 rendering_mode, 7665 DWRITE_MEASURING_MODE measuring_mode, 7666 DWRITE_GRID_FIT_MODE gridfit_mode, 7667 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 7668 FLOAT origin_x, 7669 FLOAT origin_y, 7670 IDWriteGlyphRunAnalysis **analysis) = 0; 7671 7672 virtual HRESULT STDMETHODCALLTYPE CreateCustomRenderingParams( 7673 FLOAT gamma, 7674 FLOAT enhanced_contrast, 7675 FLOAT grayscale_enhanced_contrast, 7676 FLOAT cleartype_level, 7677 DWRITE_PIXEL_GEOMETRY pixel_geometry, 7678 DWRITE_RENDERING_MODE1 rendering_mode, 7679 DWRITE_GRID_FIT_MODE gridfit_mode, 7680 IDWriteRenderingParams3 **params) = 0; 7681 7682 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference_( 7683 IDWriteFontFile *file, 7684 UINT32 index, 7685 DWRITE_FONT_SIMULATIONS simulations, 7686 IDWriteFontFaceReference **reference) = 0; 7687 7688 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( 7689 const WCHAR *path, 7690 const FILETIME *writetime, 7691 UINT32 index, 7692 DWRITE_FONT_SIMULATIONS simulations, 7693 IDWriteFontFaceReference **reference) = 0; 7694 7695 virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( 7696 IDWriteFontSet **fontset) = 0; 7697 7698 virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( 7699 IDWriteFontSetBuilder **builder) = 0; 7700 7701 virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( 7702 IDWriteFontSet *fontset, 7703 IDWriteFontCollection1 **collection) = 0; 7704 7705 virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( 7706 WINBOOL include_downloadable, 7707 IDWriteFontCollection1 **collection, 7708 WINBOOL check_for_updates) = 0; 7709 7710 virtual HRESULT STDMETHODCALLTYPE GetFontDownloadQueue( 7711 IDWriteFontDownloadQueue **queue) = 0; 7712 7713 }; 7714 #ifdef __CRT_UUID_DECL 7715 __CRT_UUID_DECL(IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87,0xfc, 0xfe,0x67,0x55,0x6a,0x3b,0x65) 7716 #endif 7717 #else 7718 typedef struct IDWriteFactory3Vtbl { 7719 BEGIN_INTERFACE 7720 7721 /*** IUnknown methods ***/ 7722 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7723 IDWriteFactory3 *This, 7724 REFIID riid, 7725 void **ppvObject); 7726 7727 ULONG (STDMETHODCALLTYPE *AddRef)( 7728 IDWriteFactory3 *This); 7729 7730 ULONG (STDMETHODCALLTYPE *Release)( 7731 IDWriteFactory3 *This); 7732 7733 /*** IDWriteFactory methods ***/ 7734 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 7735 IDWriteFactory3 *This, 7736 IDWriteFontCollection **collection, 7737 WINBOOL check_for_updates); 7738 7739 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 7740 IDWriteFactory3 *This, 7741 IDWriteFontCollectionLoader *loader, 7742 const void *key, 7743 UINT32 key_size, 7744 IDWriteFontCollection **collection); 7745 7746 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 7747 IDWriteFactory3 *This, 7748 IDWriteFontCollectionLoader *loader); 7749 7750 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 7751 IDWriteFactory3 *This, 7752 IDWriteFontCollectionLoader *loader); 7753 7754 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 7755 IDWriteFactory3 *This, 7756 const WCHAR *path, 7757 const FILETIME *writetime, 7758 IDWriteFontFile **font_file); 7759 7760 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 7761 IDWriteFactory3 *This, 7762 const void *reference_key, 7763 UINT32 key_size, 7764 IDWriteFontFileLoader *loader, 7765 IDWriteFontFile **font_file); 7766 7767 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 7768 IDWriteFactory3 *This, 7769 DWRITE_FONT_FACE_TYPE facetype, 7770 UINT32 files_number, 7771 IDWriteFontFile *const *font_files, 7772 UINT32 index, 7773 DWRITE_FONT_SIMULATIONS sim_flags, 7774 IDWriteFontFace **font_face); 7775 7776 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 7777 IDWriteFactory3 *This, 7778 IDWriteRenderingParams **params); 7779 7780 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 7781 IDWriteFactory3 *This, 7782 HMONITOR monitor, 7783 IDWriteRenderingParams **params); 7784 7785 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 7786 IDWriteFactory3 *This, 7787 FLOAT gamma, 7788 FLOAT enhancedContrast, 7789 FLOAT cleartype_level, 7790 DWRITE_PIXEL_GEOMETRY geometry, 7791 DWRITE_RENDERING_MODE mode, 7792 IDWriteRenderingParams **params); 7793 7794 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 7795 IDWriteFactory3 *This, 7796 IDWriteFontFileLoader *loader); 7797 7798 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 7799 IDWriteFactory3 *This, 7800 IDWriteFontFileLoader *loader); 7801 7802 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 7803 IDWriteFactory3 *This, 7804 const WCHAR *family_name, 7805 IDWriteFontCollection *collection, 7806 DWRITE_FONT_WEIGHT weight, 7807 DWRITE_FONT_STYLE style, 7808 DWRITE_FONT_STRETCH stretch, 7809 FLOAT size, 7810 const WCHAR *locale, 7811 IDWriteTextFormat **format); 7812 7813 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 7814 IDWriteFactory3 *This, 7815 IDWriteTypography **typography); 7816 7817 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 7818 IDWriteFactory3 *This, 7819 IDWriteGdiInterop **gdi_interop); 7820 7821 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 7822 IDWriteFactory3 *This, 7823 const WCHAR *string, 7824 UINT32 len, 7825 IDWriteTextFormat *format, 7826 FLOAT max_width, 7827 FLOAT max_height, 7828 IDWriteTextLayout **layout); 7829 7830 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 7831 IDWriteFactory3 *This, 7832 const WCHAR *string, 7833 UINT32 len, 7834 IDWriteTextFormat *format, 7835 FLOAT layout_width, 7836 FLOAT layout_height, 7837 FLOAT pixels_per_dip, 7838 const DWRITE_MATRIX *transform, 7839 WINBOOL use_gdi_natural, 7840 IDWriteTextLayout **layout); 7841 7842 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 7843 IDWriteFactory3 *This, 7844 IDWriteTextFormat *format, 7845 IDWriteInlineObject **trimming_sign); 7846 7847 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 7848 IDWriteFactory3 *This, 7849 IDWriteTextAnalyzer **analyzer); 7850 7851 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 7852 IDWriteFactory3 *This, 7853 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 7854 const WCHAR *locale, 7855 WINBOOL ignore_user_override, 7856 IDWriteNumberSubstitution **substitution); 7857 7858 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 7859 IDWriteFactory3 *This, 7860 const DWRITE_GLYPH_RUN *glyph_run, 7861 FLOAT pixels_per_dip, 7862 const DWRITE_MATRIX *transform, 7863 DWRITE_RENDERING_MODE rendering_mode, 7864 DWRITE_MEASURING_MODE measuring_mode, 7865 FLOAT baseline_x, 7866 FLOAT baseline_y, 7867 IDWriteGlyphRunAnalysis **analysis); 7868 7869 /*** IDWriteFactory1 methods ***/ 7870 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 7871 IDWriteFactory3 *This, 7872 IDWriteFontCollection **collection, 7873 WINBOOL check_for_updates); 7874 7875 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 7876 IDWriteFactory3 *This, 7877 FLOAT gamma, 7878 FLOAT enhcontrast, 7879 FLOAT enhcontrast_grayscale, 7880 FLOAT cleartype_level, 7881 DWRITE_PIXEL_GEOMETRY geometry, 7882 DWRITE_RENDERING_MODE mode, 7883 IDWriteRenderingParams1 **params); 7884 7885 /*** IDWriteFactory2 methods ***/ 7886 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 7887 IDWriteFactory3 *This, 7888 IDWriteFontFallback **fallback); 7889 7890 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 7891 IDWriteFactory3 *This, 7892 IDWriteFontFallbackBuilder **fallbackbuilder); 7893 7894 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 7895 IDWriteFactory3 *This, 7896 FLOAT originX, 7897 FLOAT originY, 7898 const DWRITE_GLYPH_RUN *run, 7899 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 7900 DWRITE_MEASURING_MODE mode, 7901 const DWRITE_MATRIX *transform, 7902 UINT32 palette_index, 7903 IDWriteColorGlyphRunEnumerator **colorlayers); 7904 7905 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 7906 IDWriteFactory3 *This, 7907 FLOAT gamma, 7908 FLOAT contrast, 7909 FLOAT grayscalecontrast, 7910 FLOAT cleartypeLevel, 7911 DWRITE_PIXEL_GEOMETRY pixelGeometry, 7912 DWRITE_RENDERING_MODE renderingMode, 7913 DWRITE_GRID_FIT_MODE gridFitMode, 7914 IDWriteRenderingParams2 **params); 7915 7916 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 7917 IDWriteFactory3 *This, 7918 const DWRITE_GLYPH_RUN *run, 7919 const DWRITE_MATRIX *transform, 7920 DWRITE_RENDERING_MODE renderingMode, 7921 DWRITE_MEASURING_MODE measuringMode, 7922 DWRITE_GRID_FIT_MODE gridFitMode, 7923 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 7924 FLOAT originX, 7925 FLOAT originY, 7926 IDWriteGlyphRunAnalysis **analysis); 7927 7928 /*** IDWriteFactory3 methods ***/ 7929 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 7930 IDWriteFactory3 *This, 7931 const DWRITE_GLYPH_RUN *run, 7932 const DWRITE_MATRIX *transform, 7933 DWRITE_RENDERING_MODE1 rendering_mode, 7934 DWRITE_MEASURING_MODE measuring_mode, 7935 DWRITE_GRID_FIT_MODE gridfit_mode, 7936 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 7937 FLOAT origin_x, 7938 FLOAT origin_y, 7939 IDWriteGlyphRunAnalysis **analysis); 7940 7941 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 7942 IDWriteFactory3 *This, 7943 FLOAT gamma, 7944 FLOAT enhanced_contrast, 7945 FLOAT grayscale_enhanced_contrast, 7946 FLOAT cleartype_level, 7947 DWRITE_PIXEL_GEOMETRY pixel_geometry, 7948 DWRITE_RENDERING_MODE1 rendering_mode, 7949 DWRITE_GRID_FIT_MODE gridfit_mode, 7950 IDWriteRenderingParams3 **params); 7951 7952 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 7953 IDWriteFactory3 *This, 7954 IDWriteFontFile *file, 7955 UINT32 index, 7956 DWRITE_FONT_SIMULATIONS simulations, 7957 IDWriteFontFaceReference **reference); 7958 7959 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 7960 IDWriteFactory3 *This, 7961 const WCHAR *path, 7962 const FILETIME *writetime, 7963 UINT32 index, 7964 DWRITE_FONT_SIMULATIONS simulations, 7965 IDWriteFontFaceReference **reference); 7966 7967 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 7968 IDWriteFactory3 *This, 7969 IDWriteFontSet **fontset); 7970 7971 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 7972 IDWriteFactory3 *This, 7973 IDWriteFontSetBuilder **builder); 7974 7975 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 7976 IDWriteFactory3 *This, 7977 IDWriteFontSet *fontset, 7978 IDWriteFontCollection1 **collection); 7979 7980 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 7981 IDWriteFactory3 *This, 7982 WINBOOL include_downloadable, 7983 IDWriteFontCollection1 **collection, 7984 WINBOOL check_for_updates); 7985 7986 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 7987 IDWriteFactory3 *This, 7988 IDWriteFontDownloadQueue **queue); 7989 7990 END_INTERFACE 7991 } IDWriteFactory3Vtbl; 7992 7993 interface IDWriteFactory3 { 7994 CONST_VTBL IDWriteFactory3Vtbl* lpVtbl; 7995 }; 7996 7997 #ifdef COBJMACROS 7998 #ifndef WIDL_C_INLINE_WRAPPERS 7999 /*** IUnknown methods ***/ 8000 #define IDWriteFactory3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8001 #define IDWriteFactory3_AddRef(This) (This)->lpVtbl->AddRef(This) 8002 #define IDWriteFactory3_Release(This) (This)->lpVtbl->Release(This) 8003 /*** IDWriteFactory methods ***/ 8004 #define IDWriteFactory3_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 8005 #define IDWriteFactory3_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 8006 #define IDWriteFactory3_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 8007 #define IDWriteFactory3_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 8008 #define IDWriteFactory3_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 8009 #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) 8010 #define IDWriteFactory3_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 8011 #define IDWriteFactory3_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 8012 #define IDWriteFactory3_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 8013 #define IDWriteFactory3_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 8014 #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) 8015 #define IDWriteFactory3_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 8016 #define IDWriteFactory3_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 8017 #define IDWriteFactory3_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 8018 #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) 8019 #define IDWriteFactory3_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 8020 #define IDWriteFactory3_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 8021 #define IDWriteFactory3_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 8022 /*** IDWriteFactory1 methods ***/ 8023 #define IDWriteFactory3_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 8024 /*** IDWriteFactory2 methods ***/ 8025 #define IDWriteFactory3_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 8026 #define IDWriteFactory3_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 8027 #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) 8028 /*** IDWriteFactory3 methods ***/ 8029 #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) 8030 #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) 8031 #define IDWriteFactory3_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 8032 #define IDWriteFactory3_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) 8033 #define IDWriteFactory3_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) 8034 #define IDWriteFactory3_CreateFontSetBuilder(This,builder) (This)->lpVtbl->CreateFontSetBuilder(This,builder) 8035 #define IDWriteFactory3_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) 8036 #define IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) 8037 #define IDWriteFactory3_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 8038 #else 8039 /*** IUnknown methods ***/ 8040 static FORCEINLINE HRESULT IDWriteFactory3_QueryInterface(IDWriteFactory3* This,REFIID riid,void **ppvObject) { 8041 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8042 } 8043 static FORCEINLINE ULONG IDWriteFactory3_AddRef(IDWriteFactory3* This) { 8044 return This->lpVtbl->AddRef(This); 8045 } 8046 static FORCEINLINE ULONG IDWriteFactory3_Release(IDWriteFactory3* This) { 8047 return This->lpVtbl->Release(This); 8048 } 8049 /*** IDWriteFactory methods ***/ 8050 static FORCEINLINE HRESULT IDWriteFactory3_CreateCustomFontCollection(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 8051 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 8052 } 8053 static FORCEINLINE HRESULT IDWriteFactory3_RegisterFontCollectionLoader(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader) { 8054 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 8055 } 8056 static FORCEINLINE HRESULT IDWriteFactory3_UnregisterFontCollectionLoader(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader) { 8057 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 8058 } 8059 static FORCEINLINE HRESULT IDWriteFactory3_CreateFontFileReference(IDWriteFactory3* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 8060 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 8061 } 8062 static FORCEINLINE HRESULT IDWriteFactory3_CreateCustomFontFileReference(IDWriteFactory3* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 8063 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 8064 } 8065 static FORCEINLINE 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) { 8066 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 8067 } 8068 static FORCEINLINE HRESULT IDWriteFactory3_CreateRenderingParams(IDWriteFactory3* This,IDWriteRenderingParams **params) { 8069 return This->lpVtbl->CreateRenderingParams(This,params); 8070 } 8071 static FORCEINLINE HRESULT IDWriteFactory3_CreateMonitorRenderingParams(IDWriteFactory3* This,HMONITOR monitor,IDWriteRenderingParams **params) { 8072 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 8073 } 8074 static FORCEINLINE HRESULT IDWriteFactory3_RegisterFontFileLoader(IDWriteFactory3* This,IDWriteFontFileLoader *loader) { 8075 return This->lpVtbl->RegisterFontFileLoader(This,loader); 8076 } 8077 static FORCEINLINE HRESULT IDWriteFactory3_UnregisterFontFileLoader(IDWriteFactory3* This,IDWriteFontFileLoader *loader) { 8078 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 8079 } 8080 static FORCEINLINE 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) { 8081 return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); 8082 } 8083 static FORCEINLINE HRESULT IDWriteFactory3_CreateTypography(IDWriteFactory3* This,IDWriteTypography **typography) { 8084 return This->lpVtbl->CreateTypography(This,typography); 8085 } 8086 static FORCEINLINE HRESULT IDWriteFactory3_GetGdiInterop(IDWriteFactory3* This,IDWriteGdiInterop **gdi_interop) { 8087 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 8088 } 8089 static FORCEINLINE HRESULT IDWriteFactory3_CreateTextLayout(IDWriteFactory3* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 8090 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 8091 } 8092 static FORCEINLINE 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) { 8093 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 8094 } 8095 static FORCEINLINE HRESULT IDWriteFactory3_CreateEllipsisTrimmingSign(IDWriteFactory3* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 8096 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 8097 } 8098 static FORCEINLINE HRESULT IDWriteFactory3_CreateTextAnalyzer(IDWriteFactory3* This,IDWriteTextAnalyzer **analyzer) { 8099 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 8100 } 8101 static FORCEINLINE HRESULT IDWriteFactory3_CreateNumberSubstitution(IDWriteFactory3* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 8102 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 8103 } 8104 /*** IDWriteFactory1 methods ***/ 8105 static FORCEINLINE HRESULT IDWriteFactory3_GetEudcFontCollection(IDWriteFactory3* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 8106 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 8107 } 8108 /*** IDWriteFactory2 methods ***/ 8109 static FORCEINLINE HRESULT IDWriteFactory3_GetSystemFontFallback(IDWriteFactory3* This,IDWriteFontFallback **fallback) { 8110 return This->lpVtbl->GetSystemFontFallback(This,fallback); 8111 } 8112 static FORCEINLINE HRESULT IDWriteFactory3_CreateFontFallbackBuilder(IDWriteFactory3* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 8113 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 8114 } 8115 static FORCEINLINE 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) { 8116 return This->lpVtbl->TranslateColorGlyphRun(This,originX,originY,run,rundescr,mode,transform,palette_index,colorlayers); 8117 } 8118 /*** IDWriteFactory3 methods ***/ 8119 static FORCEINLINE 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) { 8120 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 8121 } 8122 static FORCEINLINE 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) { 8123 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 8124 } 8125 static FORCEINLINE HRESULT IDWriteFactory3_CreateFontFaceReference_(IDWriteFactory3* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 8126 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 8127 } 8128 static FORCEINLINE HRESULT IDWriteFactory3_CreateFontFaceReference(IDWriteFactory3* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 8129 return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); 8130 } 8131 static FORCEINLINE HRESULT IDWriteFactory3_GetSystemFontSet(IDWriteFactory3* This,IDWriteFontSet **fontset) { 8132 return This->lpVtbl->GetSystemFontSet(This,fontset); 8133 } 8134 static FORCEINLINE HRESULT IDWriteFactory3_CreateFontSetBuilder(IDWriteFactory3* This,IDWriteFontSetBuilder **builder) { 8135 return This->lpVtbl->CreateFontSetBuilder(This,builder); 8136 } 8137 static FORCEINLINE HRESULT IDWriteFactory3_CreateFontCollectionFromFontSet(IDWriteFactory3* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { 8138 return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); 8139 } 8140 static FORCEINLINE HRESULT IDWriteFactory3_GetSystemFontCollection(IDWriteFactory3* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { 8141 return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); 8142 } 8143 static FORCEINLINE HRESULT IDWriteFactory3_GetFontDownloadQueue(IDWriteFactory3* This,IDWriteFontDownloadQueue **queue) { 8144 return This->lpVtbl->GetFontDownloadQueue(This,queue); 8145 } 8146 #endif 8147 #endif 8148 8149 #endif 8150 8151 8152 #endif /* __IDWriteFactory3_INTERFACE_DEFINED__ */ 8153 8154 typedef struct DWRITE_GLYPH_IMAGE_DATA { 8155 const void *imageData; 8156 UINT32 imageDataSize; 8157 UINT32 uniqueDataId; 8158 UINT32 pixelsPerEm; 8159 D2D1_SIZE_U pixelSize; 8160 D2D1_POINT_2L horizontalLeftOrigin; 8161 D2D1_POINT_2L horizontalRightOrigin; 8162 D2D1_POINT_2L verticalTopOrigin; 8163 D2D1_POINT_2L verticalBottomOrigin; 8164 } DWRITE_GLYPH_IMAGE_DATA; 8165 /***************************************************************************** 8166 * IDWriteFontFace4 interface 8167 */ 8168 #ifndef __IDWriteFontFace4_INTERFACE_DEFINED__ 8169 #define __IDWriteFontFace4_INTERFACE_DEFINED__ 8170 8171 DEFINE_GUID(IID_IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96,0x78, 0x05,0x63,0xf5,0x3e,0x3e,0x2f); 8172 #if defined(__cplusplus) && !defined(CINTERFACE) 8173 MIDL_INTERFACE("27f2a904-4eb8-441d-9678-0563f53e3e2f") 8174 IDWriteFontFace4 : public IDWriteFontFace3 8175 { 8176 virtual HRESULT STDMETHODCALLTYPE GetGlyphImageFormats_( 8177 UINT16 glyph, 8178 UINT32 ppem_first, 8179 UINT32 ppem_last, 8180 DWRITE_GLYPH_IMAGE_FORMATS *formats) = 0; 8181 8182 virtual DWRITE_GLYPH_IMAGE_FORMATS STDMETHODCALLTYPE GetGlyphImageFormats( 8183 ) = 0; 8184 8185 virtual HRESULT STDMETHODCALLTYPE GetGlyphImageData( 8186 UINT16 glyph, 8187 UINT32 ppem, 8188 DWRITE_GLYPH_IMAGE_FORMATS format, 8189 DWRITE_GLYPH_IMAGE_DATA *data, 8190 void **context) = 0; 8191 8192 virtual void STDMETHODCALLTYPE ReleaseGlyphImageData( 8193 void *context) = 0; 8194 8195 }; 8196 #ifdef __CRT_UUID_DECL 8197 __CRT_UUID_DECL(IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96,0x78, 0x05,0x63,0xf5,0x3e,0x3e,0x2f) 8198 #endif 8199 #else 8200 typedef struct IDWriteFontFace4Vtbl { 8201 BEGIN_INTERFACE 8202 8203 /*** IUnknown methods ***/ 8204 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8205 IDWriteFontFace4 *This, 8206 REFIID riid, 8207 void **ppvObject); 8208 8209 ULONG (STDMETHODCALLTYPE *AddRef)( 8210 IDWriteFontFace4 *This); 8211 8212 ULONG (STDMETHODCALLTYPE *Release)( 8213 IDWriteFontFace4 *This); 8214 8215 /*** IDWriteFontFace methods ***/ 8216 DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( 8217 IDWriteFontFace4 *This); 8218 8219 HRESULT (STDMETHODCALLTYPE *GetFiles)( 8220 IDWriteFontFace4 *This, 8221 UINT32 *number_of_files, 8222 IDWriteFontFile **fontfiles); 8223 8224 UINT32 (STDMETHODCALLTYPE *GetIndex)( 8225 IDWriteFontFace4 *This); 8226 8227 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 8228 IDWriteFontFace4 *This); 8229 8230 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 8231 IDWriteFontFace4 *This); 8232 8233 void (STDMETHODCALLTYPE *GetMetrics)( 8234 IDWriteFontFace4 *This, 8235 DWRITE_FONT_METRICS *metrics); 8236 8237 UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( 8238 IDWriteFontFace4 *This); 8239 8240 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( 8241 IDWriteFontFace4 *This, 8242 const UINT16 *glyph_indices, 8243 UINT32 glyph_count, 8244 DWRITE_GLYPH_METRICS *metrics, 8245 WINBOOL is_sideways); 8246 8247 HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( 8248 IDWriteFontFace4 *This, 8249 const UINT32 *codepoints, 8250 UINT32 count, 8251 UINT16 *glyph_indices); 8252 8253 HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( 8254 IDWriteFontFace4 *This, 8255 UINT32 table_tag, 8256 const void **table_data, 8257 UINT32 *table_size, 8258 void **context, 8259 WINBOOL *exists); 8260 8261 void (STDMETHODCALLTYPE *ReleaseFontTable)( 8262 IDWriteFontFace4 *This, 8263 void *table_context); 8264 8265 HRESULT (STDMETHODCALLTYPE *GetGlyphRunOutline)( 8266 IDWriteFontFace4 *This, 8267 FLOAT emSize, 8268 const UINT16 *glyph_indices, 8269 const FLOAT *glyph_advances, 8270 const DWRITE_GLYPH_OFFSET *glyph_offsets, 8271 UINT32 glyph_count, 8272 WINBOOL is_sideways, 8273 WINBOOL is_rtl, 8274 IDWriteGeometrySink *geometrysink); 8275 8276 HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( 8277 IDWriteFontFace4 *This, 8278 FLOAT emSize, 8279 FLOAT pixels_per_dip, 8280 DWRITE_MEASURING_MODE mode, 8281 IDWriteRenderingParams *params, 8282 DWRITE_RENDERING_MODE *rendering_mode); 8283 8284 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( 8285 IDWriteFontFace4 *This, 8286 FLOAT emSize, 8287 FLOAT pixels_per_dip, 8288 const DWRITE_MATRIX *transform, 8289 DWRITE_FONT_METRICS *metrics); 8290 8291 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphMetrics)( 8292 IDWriteFontFace4 *This, 8293 FLOAT emSize, 8294 FLOAT pixels_per_dip, 8295 const DWRITE_MATRIX *transform, 8296 WINBOOL use_gdi_natural, 8297 const UINT16 *glyph_indices, 8298 UINT32 glyph_count, 8299 DWRITE_GLYPH_METRICS *metrics, 8300 WINBOOL is_sideways); 8301 8302 /*** IDWriteFontFace1 methods ***/ 8303 void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( 8304 IDWriteFontFace4 *This, 8305 DWRITE_FONT_METRICS1 *metrics); 8306 8307 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( 8308 IDWriteFontFace4 *This, 8309 FLOAT em_size, 8310 FLOAT pixels_per_dip, 8311 const DWRITE_MATRIX *transform, 8312 DWRITE_FONT_METRICS1 *metrics); 8313 8314 void (STDMETHODCALLTYPE *GetCaretMetrics)( 8315 IDWriteFontFace4 *This, 8316 DWRITE_CARET_METRICS *metrics); 8317 8318 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 8319 IDWriteFontFace4 *This, 8320 UINT32 max_count, 8321 DWRITE_UNICODE_RANGE *ranges, 8322 UINT32 *count); 8323 8324 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 8325 IDWriteFontFace4 *This); 8326 8327 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( 8328 IDWriteFontFace4 *This, 8329 UINT32 glyph_count, 8330 const UINT16 *indices, 8331 INT32 *advances, 8332 WINBOOL is_sideways); 8333 8334 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphAdvances)( 8335 IDWriteFontFace4 *This, 8336 FLOAT em_size, 8337 FLOAT pixels_per_dip, 8338 const DWRITE_MATRIX *transform, 8339 WINBOOL use_gdi_natural, 8340 WINBOOL is_sideways, 8341 UINT32 glyph_count, 8342 const UINT16 *indices, 8343 INT32 *advances); 8344 8345 HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( 8346 IDWriteFontFace4 *This, 8347 UINT32 glyph_count, 8348 const UINT16 *indices, 8349 INT32 *adjustments); 8350 8351 WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( 8352 IDWriteFontFace4 *This); 8353 8354 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( 8355 IDWriteFontFace4 *This, 8356 FLOAT font_emsize, 8357 FLOAT dpiX, 8358 FLOAT dpiY, 8359 const DWRITE_MATRIX *transform, 8360 WINBOOL is_sideways, 8361 DWRITE_OUTLINE_THRESHOLD threshold, 8362 DWRITE_MEASURING_MODE measuring_mode, 8363 DWRITE_RENDERING_MODE *rendering_mode); 8364 8365 HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( 8366 IDWriteFontFace4 *This, 8367 UINT32 glyph_count, 8368 const UINT16 *nominal_indices, 8369 UINT16 *vertical_indices); 8370 8371 WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( 8372 IDWriteFontFace4 *This); 8373 8374 /*** IDWriteFontFace2 methods ***/ 8375 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 8376 IDWriteFontFace4 *This); 8377 8378 UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( 8379 IDWriteFontFace4 *This); 8380 8381 UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( 8382 IDWriteFontFace4 *This); 8383 8384 HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( 8385 IDWriteFontFace4 *This, 8386 UINT32 palette_index, 8387 UINT32 first_entry_index, 8388 UINT32 entry_count, 8389 DWRITE_COLOR_F *entries); 8390 8391 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( 8392 IDWriteFontFace4 *This, 8393 FLOAT fontEmSize, 8394 FLOAT dpiX, 8395 FLOAT dpiY, 8396 const DWRITE_MATRIX *transform, 8397 WINBOOL is_sideways, 8398 DWRITE_OUTLINE_THRESHOLD threshold, 8399 DWRITE_MEASURING_MODE measuringmode, 8400 IDWriteRenderingParams *params, 8401 DWRITE_RENDERING_MODE *renderingmode, 8402 DWRITE_GRID_FIT_MODE *gridfitmode); 8403 8404 /*** IDWriteFontFace3 methods ***/ 8405 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 8406 IDWriteFontFace4 *This, 8407 IDWriteFontFaceReference **reference); 8408 8409 void (STDMETHODCALLTYPE *GetPanose)( 8410 IDWriteFontFace4 *This, 8411 DWRITE_PANOSE *panose); 8412 8413 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 8414 IDWriteFontFace4 *This); 8415 8416 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 8417 IDWriteFontFace4 *This); 8418 8419 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 8420 IDWriteFontFace4 *This); 8421 8422 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 8423 IDWriteFontFace4 *This, 8424 IDWriteLocalizedStrings **names); 8425 8426 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 8427 IDWriteFontFace4 *This, 8428 IDWriteLocalizedStrings **names); 8429 8430 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 8431 IDWriteFontFace4 *This, 8432 DWRITE_INFORMATIONAL_STRING_ID stringid, 8433 IDWriteLocalizedStrings **strings, 8434 WINBOOL *exists); 8435 8436 WINBOOL (STDMETHODCALLTYPE *HasCharacter)( 8437 IDWriteFontFace4 *This, 8438 UINT32 character); 8439 8440 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_GetRecommendedRenderingMode)( 8441 IDWriteFontFace4 *This, 8442 FLOAT emsize, 8443 FLOAT dpi_x, 8444 FLOAT dpi_y, 8445 const DWRITE_MATRIX *transform, 8446 WINBOOL is_sideways, 8447 DWRITE_OUTLINE_THRESHOLD threshold, 8448 DWRITE_MEASURING_MODE measuring_mode, 8449 IDWriteRenderingParams *params, 8450 DWRITE_RENDERING_MODE1 *rendering_mode, 8451 DWRITE_GRID_FIT_MODE *gridfit_mode); 8452 8453 WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( 8454 IDWriteFontFace4 *This, 8455 UINT32 character); 8456 8457 WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( 8458 IDWriteFontFace4 *This, 8459 UINT16 glyph); 8460 8461 HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( 8462 IDWriteFontFace4 *This, 8463 const WCHAR *characters, 8464 UINT32 count, 8465 WINBOOL enqueue_if_not, 8466 WINBOOL *are_local); 8467 8468 HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( 8469 IDWriteFontFace4 *This, 8470 const UINT16 *glyphs, 8471 UINT32 count, 8472 WINBOOL enqueue_if_not, 8473 WINBOOL *are_local); 8474 8475 /*** IDWriteFontFace4 methods ***/ 8476 HRESULT (STDMETHODCALLTYPE *GetGlyphImageFormats_)( 8477 IDWriteFontFace4 *This, 8478 UINT16 glyph, 8479 UINT32 ppem_first, 8480 UINT32 ppem_last, 8481 DWRITE_GLYPH_IMAGE_FORMATS *formats); 8482 8483 DWRITE_GLYPH_IMAGE_FORMATS (STDMETHODCALLTYPE *GetGlyphImageFormats)( 8484 IDWriteFontFace4 *This); 8485 8486 HRESULT (STDMETHODCALLTYPE *GetGlyphImageData)( 8487 IDWriteFontFace4 *This, 8488 UINT16 glyph, 8489 UINT32 ppem, 8490 DWRITE_GLYPH_IMAGE_FORMATS format, 8491 DWRITE_GLYPH_IMAGE_DATA *data, 8492 void **context); 8493 8494 void (STDMETHODCALLTYPE *ReleaseGlyphImageData)( 8495 IDWriteFontFace4 *This, 8496 void *context); 8497 8498 END_INTERFACE 8499 } IDWriteFontFace4Vtbl; 8500 8501 interface IDWriteFontFace4 { 8502 CONST_VTBL IDWriteFontFace4Vtbl* lpVtbl; 8503 }; 8504 8505 #ifdef COBJMACROS 8506 #ifndef WIDL_C_INLINE_WRAPPERS 8507 /*** IUnknown methods ***/ 8508 #define IDWriteFontFace4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8509 #define IDWriteFontFace4_AddRef(This) (This)->lpVtbl->AddRef(This) 8510 #define IDWriteFontFace4_Release(This) (This)->lpVtbl->Release(This) 8511 /*** IDWriteFontFace methods ***/ 8512 #define IDWriteFontFace4_GetType(This) (This)->lpVtbl->GetType(This) 8513 #define IDWriteFontFace4_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) 8514 #define IDWriteFontFace4_GetIndex(This) (This)->lpVtbl->GetIndex(This) 8515 #define IDWriteFontFace4_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 8516 #define IDWriteFontFace4_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 8517 #define IDWriteFontFace4_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) 8518 #define IDWriteFontFace4_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) 8519 #define IDWriteFontFace4_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) 8520 #define IDWriteFontFace4_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) 8521 #define IDWriteFontFace4_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) 8522 #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) 8523 #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) 8524 /*** IDWriteFontFace1 methods ***/ 8525 #define IDWriteFontFace4_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) 8526 #define IDWriteFontFace4_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) 8527 #define IDWriteFontFace4_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) 8528 #define IDWriteFontFace4_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 8529 #define IDWriteFontFace4_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 8530 #define IDWriteFontFace4_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) 8531 #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) 8532 #define IDWriteFontFace4_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) 8533 #define IDWriteFontFace4_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) 8534 #define IDWriteFontFace4_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) 8535 #define IDWriteFontFace4_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) 8536 /*** IDWriteFontFace2 methods ***/ 8537 #define IDWriteFontFace4_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 8538 #define IDWriteFontFace4_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) 8539 #define IDWriteFontFace4_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) 8540 #define IDWriteFontFace4_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) 8541 /*** IDWriteFontFace3 methods ***/ 8542 #define IDWriteFontFace4_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 8543 #define IDWriteFontFace4_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 8544 #define IDWriteFontFace4_GetWeight(This) (This)->lpVtbl->GetWeight(This) 8545 #define IDWriteFontFace4_GetStretch(This) (This)->lpVtbl->GetStretch(This) 8546 #define IDWriteFontFace4_GetStyle(This) (This)->lpVtbl->GetStyle(This) 8547 #define IDWriteFontFace4_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 8548 #define IDWriteFontFace4_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 8549 #define IDWriteFontFace4_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 8550 #define IDWriteFontFace4_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) 8551 #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) 8552 #define IDWriteFontFace4_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) 8553 #define IDWriteFontFace4_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) 8554 #define IDWriteFontFace4_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) 8555 #define IDWriteFontFace4_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) 8556 /*** IDWriteFontFace4 methods ***/ 8557 #define IDWriteFontFace4_GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) (This)->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) 8558 #define IDWriteFontFace4_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) 8559 #define IDWriteFontFace4_GetGlyphImageData(This,glyph,ppem,format,data,context) (This)->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context) 8560 #define IDWriteFontFace4_ReleaseGlyphImageData(This,context) (This)->lpVtbl->ReleaseGlyphImageData(This,context) 8561 #else 8562 /*** IUnknown methods ***/ 8563 static FORCEINLINE HRESULT IDWriteFontFace4_QueryInterface(IDWriteFontFace4* This,REFIID riid,void **ppvObject) { 8564 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8565 } 8566 static FORCEINLINE ULONG IDWriteFontFace4_AddRef(IDWriteFontFace4* This) { 8567 return This->lpVtbl->AddRef(This); 8568 } 8569 static FORCEINLINE ULONG IDWriteFontFace4_Release(IDWriteFontFace4* This) { 8570 return This->lpVtbl->Release(This); 8571 } 8572 /*** IDWriteFontFace methods ***/ 8573 static FORCEINLINE DWRITE_FONT_FACE_TYPE IDWriteFontFace4_GetType(IDWriteFontFace4* This) { 8574 return This->lpVtbl->GetType(This); 8575 } 8576 static FORCEINLINE HRESULT IDWriteFontFace4_GetFiles(IDWriteFontFace4* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { 8577 return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); 8578 } 8579 static FORCEINLINE UINT32 IDWriteFontFace4_GetIndex(IDWriteFontFace4* This) { 8580 return This->lpVtbl->GetIndex(This); 8581 } 8582 static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFace4_GetSimulations(IDWriteFontFace4* This) { 8583 return This->lpVtbl->GetSimulations(This); 8584 } 8585 static FORCEINLINE WINBOOL IDWriteFontFace4_IsSymbolFont(IDWriteFontFace4* This) { 8586 return This->lpVtbl->IsSymbolFont(This); 8587 } 8588 static FORCEINLINE UINT16 IDWriteFontFace4_GetGlyphCount(IDWriteFontFace4* This) { 8589 return This->lpVtbl->GetGlyphCount(This); 8590 } 8591 static FORCEINLINE HRESULT IDWriteFontFace4_GetDesignGlyphMetrics(IDWriteFontFace4* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 8592 return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); 8593 } 8594 static FORCEINLINE HRESULT IDWriteFontFace4_GetGlyphIndices(IDWriteFontFace4* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { 8595 return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); 8596 } 8597 static FORCEINLINE HRESULT IDWriteFontFace4_TryGetFontTable(IDWriteFontFace4* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { 8598 return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); 8599 } 8600 static FORCEINLINE void IDWriteFontFace4_ReleaseFontTable(IDWriteFontFace4* This,void *table_context) { 8601 This->lpVtbl->ReleaseFontTable(This,table_context); 8602 } 8603 static FORCEINLINE 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) { 8604 return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); 8605 } 8606 static FORCEINLINE 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) { 8607 return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); 8608 } 8609 /*** IDWriteFontFace1 methods ***/ 8610 static FORCEINLINE void IDWriteFontFace4_GetMetrics(IDWriteFontFace4* This,DWRITE_FONT_METRICS1 *metrics) { 8611 This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); 8612 } 8613 static FORCEINLINE HRESULT IDWriteFontFace4_GetGdiCompatibleMetrics(IDWriteFontFace4* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { 8614 return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); 8615 } 8616 static FORCEINLINE void IDWriteFontFace4_GetCaretMetrics(IDWriteFontFace4* This,DWRITE_CARET_METRICS *metrics) { 8617 This->lpVtbl->GetCaretMetrics(This,metrics); 8618 } 8619 static FORCEINLINE HRESULT IDWriteFontFace4_GetUnicodeRanges(IDWriteFontFace4* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 8620 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 8621 } 8622 static FORCEINLINE WINBOOL IDWriteFontFace4_IsMonospacedFont(IDWriteFontFace4* This) { 8623 return This->lpVtbl->IsMonospacedFont(This); 8624 } 8625 static FORCEINLINE HRESULT IDWriteFontFace4_GetDesignGlyphAdvances(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { 8626 return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); 8627 } 8628 static FORCEINLINE 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) { 8629 return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); 8630 } 8631 static FORCEINLINE HRESULT IDWriteFontFace4_GetKerningPairAdjustments(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { 8632 return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); 8633 } 8634 static FORCEINLINE WINBOOL IDWriteFontFace4_HasKerningPairs(IDWriteFontFace4* This) { 8635 return This->lpVtbl->HasKerningPairs(This); 8636 } 8637 static FORCEINLINE HRESULT IDWriteFontFace4_GetVerticalGlyphVariants(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { 8638 return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); 8639 } 8640 static FORCEINLINE WINBOOL IDWriteFontFace4_HasVerticalGlyphVariants(IDWriteFontFace4* This) { 8641 return This->lpVtbl->HasVerticalGlyphVariants(This); 8642 } 8643 /*** IDWriteFontFace2 methods ***/ 8644 static FORCEINLINE WINBOOL IDWriteFontFace4_IsColorFont(IDWriteFontFace4* This) { 8645 return This->lpVtbl->IsColorFont(This); 8646 } 8647 static FORCEINLINE UINT32 IDWriteFontFace4_GetColorPaletteCount(IDWriteFontFace4* This) { 8648 return This->lpVtbl->GetColorPaletteCount(This); 8649 } 8650 static FORCEINLINE UINT32 IDWriteFontFace4_GetPaletteEntryCount(IDWriteFontFace4* This) { 8651 return This->lpVtbl->GetPaletteEntryCount(This); 8652 } 8653 static FORCEINLINE HRESULT IDWriteFontFace4_GetPaletteEntries(IDWriteFontFace4* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { 8654 return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); 8655 } 8656 /*** IDWriteFontFace3 methods ***/ 8657 static FORCEINLINE HRESULT IDWriteFontFace4_GetFontFaceReference(IDWriteFontFace4* This,IDWriteFontFaceReference **reference) { 8658 return This->lpVtbl->GetFontFaceReference(This,reference); 8659 } 8660 static FORCEINLINE void IDWriteFontFace4_GetPanose(IDWriteFontFace4* This,DWRITE_PANOSE *panose) { 8661 This->lpVtbl->GetPanose(This,panose); 8662 } 8663 static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteFontFace4_GetWeight(IDWriteFontFace4* This) { 8664 return This->lpVtbl->GetWeight(This); 8665 } 8666 static FORCEINLINE DWRITE_FONT_STRETCH IDWriteFontFace4_GetStretch(IDWriteFontFace4* This) { 8667 return This->lpVtbl->GetStretch(This); 8668 } 8669 static FORCEINLINE DWRITE_FONT_STYLE IDWriteFontFace4_GetStyle(IDWriteFontFace4* This) { 8670 return This->lpVtbl->GetStyle(This); 8671 } 8672 static FORCEINLINE HRESULT IDWriteFontFace4_GetFamilyNames(IDWriteFontFace4* This,IDWriteLocalizedStrings **names) { 8673 return This->lpVtbl->GetFamilyNames(This,names); 8674 } 8675 static FORCEINLINE HRESULT IDWriteFontFace4_GetFaceNames(IDWriteFontFace4* This,IDWriteLocalizedStrings **names) { 8676 return This->lpVtbl->GetFaceNames(This,names); 8677 } 8678 static FORCEINLINE HRESULT IDWriteFontFace4_GetInformationalStrings(IDWriteFontFace4* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 8679 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 8680 } 8681 static FORCEINLINE WINBOOL IDWriteFontFace4_HasCharacter(IDWriteFontFace4* This,UINT32 character) { 8682 return This->lpVtbl->HasCharacter(This,character); 8683 } 8684 static FORCEINLINE 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) { 8685 return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); 8686 } 8687 static FORCEINLINE WINBOOL IDWriteFontFace4_IsCharacterLocal(IDWriteFontFace4* This,UINT32 character) { 8688 return This->lpVtbl->IsCharacterLocal(This,character); 8689 } 8690 static FORCEINLINE WINBOOL IDWriteFontFace4_IsGlyphLocal(IDWriteFontFace4* This,UINT16 glyph) { 8691 return This->lpVtbl->IsGlyphLocal(This,glyph); 8692 } 8693 static FORCEINLINE HRESULT IDWriteFontFace4_AreCharactersLocal(IDWriteFontFace4* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 8694 return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); 8695 } 8696 static FORCEINLINE HRESULT IDWriteFontFace4_AreGlyphsLocal(IDWriteFontFace4* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 8697 return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); 8698 } 8699 /*** IDWriteFontFace4 methods ***/ 8700 static FORCEINLINE HRESULT IDWriteFontFace4_GetGlyphImageFormats_(IDWriteFontFace4* This,UINT16 glyph,UINT32 ppem_first,UINT32 ppem_last,DWRITE_GLYPH_IMAGE_FORMATS *formats) { 8701 return This->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats); 8702 } 8703 static FORCEINLINE DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace4_GetGlyphImageFormats(IDWriteFontFace4* This) { 8704 return This->lpVtbl->GetGlyphImageFormats(This); 8705 } 8706 static FORCEINLINE HRESULT IDWriteFontFace4_GetGlyphImageData(IDWriteFontFace4* This,UINT16 glyph,UINT32 ppem,DWRITE_GLYPH_IMAGE_FORMATS format,DWRITE_GLYPH_IMAGE_DATA *data,void **context) { 8707 return This->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context); 8708 } 8709 static FORCEINLINE void IDWriteFontFace4_ReleaseGlyphImageData(IDWriteFontFace4* This,void *context) { 8710 This->lpVtbl->ReleaseGlyphImageData(This,context); 8711 } 8712 #endif 8713 #endif 8714 8715 #endif 8716 8717 8718 #endif /* __IDWriteFontFace4_INTERFACE_DEFINED__ */ 8719 8720 /***************************************************************************** 8721 * IDWriteFontFace5 interface 8722 */ 8723 #ifndef __IDWriteFontFace5_INTERFACE_DEFINED__ 8724 #define __IDWriteFontFace5_INTERFACE_DEFINED__ 8725 8726 DEFINE_GUID(IID_IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1,0x45, 0xe2,0xfa,0x5b,0x9f,0xdc,0x29); 8727 #if defined(__cplusplus) && !defined(CINTERFACE) 8728 MIDL_INTERFACE("98eff3a5-b667-479a-b145-e2fa5b9fdc29") 8729 IDWriteFontFace5 : public IDWriteFontFace4 8730 { 8731 virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( 8732 ) = 0; 8733 8734 virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( 8735 DWRITE_FONT_AXIS_VALUE *values, 8736 UINT32 value_count) = 0; 8737 8738 virtual WINBOOL STDMETHODCALLTYPE HasVariations( 8739 ) = 0; 8740 8741 virtual HRESULT STDMETHODCALLTYPE GetFontResource( 8742 IDWriteFontResource **resource) = 0; 8743 8744 virtual WINBOOL STDMETHODCALLTYPE Equals( 8745 IDWriteFontFace *fontface) = 0; 8746 8747 }; 8748 #ifdef __CRT_UUID_DECL 8749 __CRT_UUID_DECL(IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1,0x45, 0xe2,0xfa,0x5b,0x9f,0xdc,0x29) 8750 #endif 8751 #else 8752 typedef struct IDWriteFontFace5Vtbl { 8753 BEGIN_INTERFACE 8754 8755 /*** IUnknown methods ***/ 8756 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8757 IDWriteFontFace5 *This, 8758 REFIID riid, 8759 void **ppvObject); 8760 8761 ULONG (STDMETHODCALLTYPE *AddRef)( 8762 IDWriteFontFace5 *This); 8763 8764 ULONG (STDMETHODCALLTYPE *Release)( 8765 IDWriteFontFace5 *This); 8766 8767 /*** IDWriteFontFace methods ***/ 8768 DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( 8769 IDWriteFontFace5 *This); 8770 8771 HRESULT (STDMETHODCALLTYPE *GetFiles)( 8772 IDWriteFontFace5 *This, 8773 UINT32 *number_of_files, 8774 IDWriteFontFile **fontfiles); 8775 8776 UINT32 (STDMETHODCALLTYPE *GetIndex)( 8777 IDWriteFontFace5 *This); 8778 8779 DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( 8780 IDWriteFontFace5 *This); 8781 8782 WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( 8783 IDWriteFontFace5 *This); 8784 8785 void (STDMETHODCALLTYPE *GetMetrics)( 8786 IDWriteFontFace5 *This, 8787 DWRITE_FONT_METRICS *metrics); 8788 8789 UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( 8790 IDWriteFontFace5 *This); 8791 8792 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( 8793 IDWriteFontFace5 *This, 8794 const UINT16 *glyph_indices, 8795 UINT32 glyph_count, 8796 DWRITE_GLYPH_METRICS *metrics, 8797 WINBOOL is_sideways); 8798 8799 HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( 8800 IDWriteFontFace5 *This, 8801 const UINT32 *codepoints, 8802 UINT32 count, 8803 UINT16 *glyph_indices); 8804 8805 HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( 8806 IDWriteFontFace5 *This, 8807 UINT32 table_tag, 8808 const void **table_data, 8809 UINT32 *table_size, 8810 void **context, 8811 WINBOOL *exists); 8812 8813 void (STDMETHODCALLTYPE *ReleaseFontTable)( 8814 IDWriteFontFace5 *This, 8815 void *table_context); 8816 8817 HRESULT (STDMETHODCALLTYPE *GetGlyphRunOutline)( 8818 IDWriteFontFace5 *This, 8819 FLOAT emSize, 8820 const UINT16 *glyph_indices, 8821 const FLOAT *glyph_advances, 8822 const DWRITE_GLYPH_OFFSET *glyph_offsets, 8823 UINT32 glyph_count, 8824 WINBOOL is_sideways, 8825 WINBOOL is_rtl, 8826 IDWriteGeometrySink *geometrysink); 8827 8828 HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( 8829 IDWriteFontFace5 *This, 8830 FLOAT emSize, 8831 FLOAT pixels_per_dip, 8832 DWRITE_MEASURING_MODE mode, 8833 IDWriteRenderingParams *params, 8834 DWRITE_RENDERING_MODE *rendering_mode); 8835 8836 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( 8837 IDWriteFontFace5 *This, 8838 FLOAT emSize, 8839 FLOAT pixels_per_dip, 8840 const DWRITE_MATRIX *transform, 8841 DWRITE_FONT_METRICS *metrics); 8842 8843 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphMetrics)( 8844 IDWriteFontFace5 *This, 8845 FLOAT emSize, 8846 FLOAT pixels_per_dip, 8847 const DWRITE_MATRIX *transform, 8848 WINBOOL use_gdi_natural, 8849 const UINT16 *glyph_indices, 8850 UINT32 glyph_count, 8851 DWRITE_GLYPH_METRICS *metrics, 8852 WINBOOL is_sideways); 8853 8854 /*** IDWriteFontFace1 methods ***/ 8855 void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( 8856 IDWriteFontFace5 *This, 8857 DWRITE_FONT_METRICS1 *metrics); 8858 8859 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( 8860 IDWriteFontFace5 *This, 8861 FLOAT em_size, 8862 FLOAT pixels_per_dip, 8863 const DWRITE_MATRIX *transform, 8864 DWRITE_FONT_METRICS1 *metrics); 8865 8866 void (STDMETHODCALLTYPE *GetCaretMetrics)( 8867 IDWriteFontFace5 *This, 8868 DWRITE_CARET_METRICS *metrics); 8869 8870 HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( 8871 IDWriteFontFace5 *This, 8872 UINT32 max_count, 8873 DWRITE_UNICODE_RANGE *ranges, 8874 UINT32 *count); 8875 8876 WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( 8877 IDWriteFontFace5 *This); 8878 8879 HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( 8880 IDWriteFontFace5 *This, 8881 UINT32 glyph_count, 8882 const UINT16 *indices, 8883 INT32 *advances, 8884 WINBOOL is_sideways); 8885 8886 HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleGlyphAdvances)( 8887 IDWriteFontFace5 *This, 8888 FLOAT em_size, 8889 FLOAT pixels_per_dip, 8890 const DWRITE_MATRIX *transform, 8891 WINBOOL use_gdi_natural, 8892 WINBOOL is_sideways, 8893 UINT32 glyph_count, 8894 const UINT16 *indices, 8895 INT32 *advances); 8896 8897 HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( 8898 IDWriteFontFace5 *This, 8899 UINT32 glyph_count, 8900 const UINT16 *indices, 8901 INT32 *adjustments); 8902 8903 WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( 8904 IDWriteFontFace5 *This); 8905 8906 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( 8907 IDWriteFontFace5 *This, 8908 FLOAT font_emsize, 8909 FLOAT dpiX, 8910 FLOAT dpiY, 8911 const DWRITE_MATRIX *transform, 8912 WINBOOL is_sideways, 8913 DWRITE_OUTLINE_THRESHOLD threshold, 8914 DWRITE_MEASURING_MODE measuring_mode, 8915 DWRITE_RENDERING_MODE *rendering_mode); 8916 8917 HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( 8918 IDWriteFontFace5 *This, 8919 UINT32 glyph_count, 8920 const UINT16 *nominal_indices, 8921 UINT16 *vertical_indices); 8922 8923 WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( 8924 IDWriteFontFace5 *This); 8925 8926 /*** IDWriteFontFace2 methods ***/ 8927 WINBOOL (STDMETHODCALLTYPE *IsColorFont)( 8928 IDWriteFontFace5 *This); 8929 8930 UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( 8931 IDWriteFontFace5 *This); 8932 8933 UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( 8934 IDWriteFontFace5 *This); 8935 8936 HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( 8937 IDWriteFontFace5 *This, 8938 UINT32 palette_index, 8939 UINT32 first_entry_index, 8940 UINT32 entry_count, 8941 DWRITE_COLOR_F *entries); 8942 8943 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( 8944 IDWriteFontFace5 *This, 8945 FLOAT fontEmSize, 8946 FLOAT dpiX, 8947 FLOAT dpiY, 8948 const DWRITE_MATRIX *transform, 8949 WINBOOL is_sideways, 8950 DWRITE_OUTLINE_THRESHOLD threshold, 8951 DWRITE_MEASURING_MODE measuringmode, 8952 IDWriteRenderingParams *params, 8953 DWRITE_RENDERING_MODE *renderingmode, 8954 DWRITE_GRID_FIT_MODE *gridfitmode); 8955 8956 /*** IDWriteFontFace3 methods ***/ 8957 HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( 8958 IDWriteFontFace5 *This, 8959 IDWriteFontFaceReference **reference); 8960 8961 void (STDMETHODCALLTYPE *GetPanose)( 8962 IDWriteFontFace5 *This, 8963 DWRITE_PANOSE *panose); 8964 8965 DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( 8966 IDWriteFontFace5 *This); 8967 8968 DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( 8969 IDWriteFontFace5 *This); 8970 8971 DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( 8972 IDWriteFontFace5 *This); 8973 8974 HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( 8975 IDWriteFontFace5 *This, 8976 IDWriteLocalizedStrings **names); 8977 8978 HRESULT (STDMETHODCALLTYPE *GetFaceNames)( 8979 IDWriteFontFace5 *This, 8980 IDWriteLocalizedStrings **names); 8981 8982 HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( 8983 IDWriteFontFace5 *This, 8984 DWRITE_INFORMATIONAL_STRING_ID stringid, 8985 IDWriteLocalizedStrings **strings, 8986 WINBOOL *exists); 8987 8988 WINBOOL (STDMETHODCALLTYPE *HasCharacter)( 8989 IDWriteFontFace5 *This, 8990 UINT32 character); 8991 8992 HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_GetRecommendedRenderingMode)( 8993 IDWriteFontFace5 *This, 8994 FLOAT emsize, 8995 FLOAT dpi_x, 8996 FLOAT dpi_y, 8997 const DWRITE_MATRIX *transform, 8998 WINBOOL is_sideways, 8999 DWRITE_OUTLINE_THRESHOLD threshold, 9000 DWRITE_MEASURING_MODE measuring_mode, 9001 IDWriteRenderingParams *params, 9002 DWRITE_RENDERING_MODE1 *rendering_mode, 9003 DWRITE_GRID_FIT_MODE *gridfit_mode); 9004 9005 WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( 9006 IDWriteFontFace5 *This, 9007 UINT32 character); 9008 9009 WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( 9010 IDWriteFontFace5 *This, 9011 UINT16 glyph); 9012 9013 HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( 9014 IDWriteFontFace5 *This, 9015 const WCHAR *characters, 9016 UINT32 count, 9017 WINBOOL enqueue_if_not, 9018 WINBOOL *are_local); 9019 9020 HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( 9021 IDWriteFontFace5 *This, 9022 const UINT16 *glyphs, 9023 UINT32 count, 9024 WINBOOL enqueue_if_not, 9025 WINBOOL *are_local); 9026 9027 /*** IDWriteFontFace4 methods ***/ 9028 HRESULT (STDMETHODCALLTYPE *GetGlyphImageFormats_)( 9029 IDWriteFontFace5 *This, 9030 UINT16 glyph, 9031 UINT32 ppem_first, 9032 UINT32 ppem_last, 9033 DWRITE_GLYPH_IMAGE_FORMATS *formats); 9034 9035 DWRITE_GLYPH_IMAGE_FORMATS (STDMETHODCALLTYPE *GetGlyphImageFormats)( 9036 IDWriteFontFace5 *This); 9037 9038 HRESULT (STDMETHODCALLTYPE *GetGlyphImageData)( 9039 IDWriteFontFace5 *This, 9040 UINT16 glyph, 9041 UINT32 ppem, 9042 DWRITE_GLYPH_IMAGE_FORMATS format, 9043 DWRITE_GLYPH_IMAGE_DATA *data, 9044 void **context); 9045 9046 void (STDMETHODCALLTYPE *ReleaseGlyphImageData)( 9047 IDWriteFontFace5 *This, 9048 void *context); 9049 9050 /*** IDWriteFontFace5 methods ***/ 9051 UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( 9052 IDWriteFontFace5 *This); 9053 9054 HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( 9055 IDWriteFontFace5 *This, 9056 DWRITE_FONT_AXIS_VALUE *values, 9057 UINT32 value_count); 9058 9059 WINBOOL (STDMETHODCALLTYPE *HasVariations)( 9060 IDWriteFontFace5 *This); 9061 9062 HRESULT (STDMETHODCALLTYPE *GetFontResource)( 9063 IDWriteFontFace5 *This, 9064 IDWriteFontResource **resource); 9065 9066 WINBOOL (STDMETHODCALLTYPE *Equals)( 9067 IDWriteFontFace5 *This, 9068 IDWriteFontFace *fontface); 9069 9070 END_INTERFACE 9071 } IDWriteFontFace5Vtbl; 9072 9073 interface IDWriteFontFace5 { 9074 CONST_VTBL IDWriteFontFace5Vtbl* lpVtbl; 9075 }; 9076 9077 #ifdef COBJMACROS 9078 #ifndef WIDL_C_INLINE_WRAPPERS 9079 /*** IUnknown methods ***/ 9080 #define IDWriteFontFace5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9081 #define IDWriteFontFace5_AddRef(This) (This)->lpVtbl->AddRef(This) 9082 #define IDWriteFontFace5_Release(This) (This)->lpVtbl->Release(This) 9083 /*** IDWriteFontFace methods ***/ 9084 #define IDWriteFontFace5_GetType(This) (This)->lpVtbl->GetType(This) 9085 #define IDWriteFontFace5_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) 9086 #define IDWriteFontFace5_GetIndex(This) (This)->lpVtbl->GetIndex(This) 9087 #define IDWriteFontFace5_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) 9088 #define IDWriteFontFace5_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) 9089 #define IDWriteFontFace5_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) 9090 #define IDWriteFontFace5_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) 9091 #define IDWriteFontFace5_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) 9092 #define IDWriteFontFace5_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) 9093 #define IDWriteFontFace5_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) 9094 #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) 9095 #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) 9096 /*** IDWriteFontFace1 methods ***/ 9097 #define IDWriteFontFace5_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) 9098 #define IDWriteFontFace5_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) 9099 #define IDWriteFontFace5_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) 9100 #define IDWriteFontFace5_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) 9101 #define IDWriteFontFace5_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) 9102 #define IDWriteFontFace5_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) 9103 #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) 9104 #define IDWriteFontFace5_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) 9105 #define IDWriteFontFace5_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) 9106 #define IDWriteFontFace5_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) 9107 #define IDWriteFontFace5_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) 9108 /*** IDWriteFontFace2 methods ***/ 9109 #define IDWriteFontFace5_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) 9110 #define IDWriteFontFace5_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) 9111 #define IDWriteFontFace5_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) 9112 #define IDWriteFontFace5_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) 9113 /*** IDWriteFontFace3 methods ***/ 9114 #define IDWriteFontFace5_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) 9115 #define IDWriteFontFace5_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) 9116 #define IDWriteFontFace5_GetWeight(This) (This)->lpVtbl->GetWeight(This) 9117 #define IDWriteFontFace5_GetStretch(This) (This)->lpVtbl->GetStretch(This) 9118 #define IDWriteFontFace5_GetStyle(This) (This)->lpVtbl->GetStyle(This) 9119 #define IDWriteFontFace5_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) 9120 #define IDWriteFontFace5_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) 9121 #define IDWriteFontFace5_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) 9122 #define IDWriteFontFace5_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) 9123 #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) 9124 #define IDWriteFontFace5_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) 9125 #define IDWriteFontFace5_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) 9126 #define IDWriteFontFace5_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) 9127 #define IDWriteFontFace5_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) 9128 /*** IDWriteFontFace4 methods ***/ 9129 #define IDWriteFontFace5_GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) (This)->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) 9130 #define IDWriteFontFace5_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) 9131 #define IDWriteFontFace5_GetGlyphImageData(This,glyph,ppem,format,data,context) (This)->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context) 9132 #define IDWriteFontFace5_ReleaseGlyphImageData(This,context) (This)->lpVtbl->ReleaseGlyphImageData(This,context) 9133 /*** IDWriteFontFace5 methods ***/ 9134 #define IDWriteFontFace5_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) 9135 #define IDWriteFontFace5_GetFontAxisValues(This,values,value_count) (This)->lpVtbl->GetFontAxisValues(This,values,value_count) 9136 #define IDWriteFontFace5_HasVariations(This) (This)->lpVtbl->HasVariations(This) 9137 #define IDWriteFontFace5_GetFontResource(This,resource) (This)->lpVtbl->GetFontResource(This,resource) 9138 #define IDWriteFontFace5_Equals(This,fontface) (This)->lpVtbl->Equals(This,fontface) 9139 #else 9140 /*** IUnknown methods ***/ 9141 static FORCEINLINE HRESULT IDWriteFontFace5_QueryInterface(IDWriteFontFace5* This,REFIID riid,void **ppvObject) { 9142 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9143 } 9144 static FORCEINLINE ULONG IDWriteFontFace5_AddRef(IDWriteFontFace5* This) { 9145 return This->lpVtbl->AddRef(This); 9146 } 9147 static FORCEINLINE ULONG IDWriteFontFace5_Release(IDWriteFontFace5* This) { 9148 return This->lpVtbl->Release(This); 9149 } 9150 /*** IDWriteFontFace methods ***/ 9151 static FORCEINLINE DWRITE_FONT_FACE_TYPE IDWriteFontFace5_GetType(IDWriteFontFace5* This) { 9152 return This->lpVtbl->GetType(This); 9153 } 9154 static FORCEINLINE HRESULT IDWriteFontFace5_GetFiles(IDWriteFontFace5* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { 9155 return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); 9156 } 9157 static FORCEINLINE UINT32 IDWriteFontFace5_GetIndex(IDWriteFontFace5* This) { 9158 return This->lpVtbl->GetIndex(This); 9159 } 9160 static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFace5_GetSimulations(IDWriteFontFace5* This) { 9161 return This->lpVtbl->GetSimulations(This); 9162 } 9163 static FORCEINLINE WINBOOL IDWriteFontFace5_IsSymbolFont(IDWriteFontFace5* This) { 9164 return This->lpVtbl->IsSymbolFont(This); 9165 } 9166 static FORCEINLINE UINT16 IDWriteFontFace5_GetGlyphCount(IDWriteFontFace5* This) { 9167 return This->lpVtbl->GetGlyphCount(This); 9168 } 9169 static FORCEINLINE HRESULT IDWriteFontFace5_GetDesignGlyphMetrics(IDWriteFontFace5* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { 9170 return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); 9171 } 9172 static FORCEINLINE HRESULT IDWriteFontFace5_GetGlyphIndices(IDWriteFontFace5* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { 9173 return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); 9174 } 9175 static FORCEINLINE HRESULT IDWriteFontFace5_TryGetFontTable(IDWriteFontFace5* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { 9176 return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); 9177 } 9178 static FORCEINLINE void IDWriteFontFace5_ReleaseFontTable(IDWriteFontFace5* This,void *table_context) { 9179 This->lpVtbl->ReleaseFontTable(This,table_context); 9180 } 9181 static FORCEINLINE 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) { 9182 return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); 9183 } 9184 static FORCEINLINE 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) { 9185 return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); 9186 } 9187 /*** IDWriteFontFace1 methods ***/ 9188 static FORCEINLINE void IDWriteFontFace5_GetMetrics(IDWriteFontFace5* This,DWRITE_FONT_METRICS1 *metrics) { 9189 This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); 9190 } 9191 static FORCEINLINE HRESULT IDWriteFontFace5_GetGdiCompatibleMetrics(IDWriteFontFace5* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { 9192 return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); 9193 } 9194 static FORCEINLINE void IDWriteFontFace5_GetCaretMetrics(IDWriteFontFace5* This,DWRITE_CARET_METRICS *metrics) { 9195 This->lpVtbl->GetCaretMetrics(This,metrics); 9196 } 9197 static FORCEINLINE HRESULT IDWriteFontFace5_GetUnicodeRanges(IDWriteFontFace5* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { 9198 return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); 9199 } 9200 static FORCEINLINE WINBOOL IDWriteFontFace5_IsMonospacedFont(IDWriteFontFace5* This) { 9201 return This->lpVtbl->IsMonospacedFont(This); 9202 } 9203 static FORCEINLINE HRESULT IDWriteFontFace5_GetDesignGlyphAdvances(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { 9204 return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); 9205 } 9206 static FORCEINLINE 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) { 9207 return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); 9208 } 9209 static FORCEINLINE HRESULT IDWriteFontFace5_GetKerningPairAdjustments(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { 9210 return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); 9211 } 9212 static FORCEINLINE WINBOOL IDWriteFontFace5_HasKerningPairs(IDWriteFontFace5* This) { 9213 return This->lpVtbl->HasKerningPairs(This); 9214 } 9215 static FORCEINLINE HRESULT IDWriteFontFace5_GetVerticalGlyphVariants(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { 9216 return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); 9217 } 9218 static FORCEINLINE WINBOOL IDWriteFontFace5_HasVerticalGlyphVariants(IDWriteFontFace5* This) { 9219 return This->lpVtbl->HasVerticalGlyphVariants(This); 9220 } 9221 /*** IDWriteFontFace2 methods ***/ 9222 static FORCEINLINE WINBOOL IDWriteFontFace5_IsColorFont(IDWriteFontFace5* This) { 9223 return This->lpVtbl->IsColorFont(This); 9224 } 9225 static FORCEINLINE UINT32 IDWriteFontFace5_GetColorPaletteCount(IDWriteFontFace5* This) { 9226 return This->lpVtbl->GetColorPaletteCount(This); 9227 } 9228 static FORCEINLINE UINT32 IDWriteFontFace5_GetPaletteEntryCount(IDWriteFontFace5* This) { 9229 return This->lpVtbl->GetPaletteEntryCount(This); 9230 } 9231 static FORCEINLINE HRESULT IDWriteFontFace5_GetPaletteEntries(IDWriteFontFace5* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { 9232 return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); 9233 } 9234 /*** IDWriteFontFace3 methods ***/ 9235 static FORCEINLINE HRESULT IDWriteFontFace5_GetFontFaceReference(IDWriteFontFace5* This,IDWriteFontFaceReference **reference) { 9236 return This->lpVtbl->GetFontFaceReference(This,reference); 9237 } 9238 static FORCEINLINE void IDWriteFontFace5_GetPanose(IDWriteFontFace5* This,DWRITE_PANOSE *panose) { 9239 This->lpVtbl->GetPanose(This,panose); 9240 } 9241 static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteFontFace5_GetWeight(IDWriteFontFace5* This) { 9242 return This->lpVtbl->GetWeight(This); 9243 } 9244 static FORCEINLINE DWRITE_FONT_STRETCH IDWriteFontFace5_GetStretch(IDWriteFontFace5* This) { 9245 return This->lpVtbl->GetStretch(This); 9246 } 9247 static FORCEINLINE DWRITE_FONT_STYLE IDWriteFontFace5_GetStyle(IDWriteFontFace5* This) { 9248 return This->lpVtbl->GetStyle(This); 9249 } 9250 static FORCEINLINE HRESULT IDWriteFontFace5_GetFamilyNames(IDWriteFontFace5* This,IDWriteLocalizedStrings **names) { 9251 return This->lpVtbl->GetFamilyNames(This,names); 9252 } 9253 static FORCEINLINE HRESULT IDWriteFontFace5_GetFaceNames(IDWriteFontFace5* This,IDWriteLocalizedStrings **names) { 9254 return This->lpVtbl->GetFaceNames(This,names); 9255 } 9256 static FORCEINLINE HRESULT IDWriteFontFace5_GetInformationalStrings(IDWriteFontFace5* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { 9257 return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); 9258 } 9259 static FORCEINLINE WINBOOL IDWriteFontFace5_HasCharacter(IDWriteFontFace5* This,UINT32 character) { 9260 return This->lpVtbl->HasCharacter(This,character); 9261 } 9262 static FORCEINLINE 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) { 9263 return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); 9264 } 9265 static FORCEINLINE WINBOOL IDWriteFontFace5_IsCharacterLocal(IDWriteFontFace5* This,UINT32 character) { 9266 return This->lpVtbl->IsCharacterLocal(This,character); 9267 } 9268 static FORCEINLINE WINBOOL IDWriteFontFace5_IsGlyphLocal(IDWriteFontFace5* This,UINT16 glyph) { 9269 return This->lpVtbl->IsGlyphLocal(This,glyph); 9270 } 9271 static FORCEINLINE HRESULT IDWriteFontFace5_AreCharactersLocal(IDWriteFontFace5* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 9272 return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); 9273 } 9274 static FORCEINLINE HRESULT IDWriteFontFace5_AreGlyphsLocal(IDWriteFontFace5* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { 9275 return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); 9276 } 9277 /*** IDWriteFontFace4 methods ***/ 9278 static FORCEINLINE HRESULT IDWriteFontFace5_GetGlyphImageFormats_(IDWriteFontFace5* This,UINT16 glyph,UINT32 ppem_first,UINT32 ppem_last,DWRITE_GLYPH_IMAGE_FORMATS *formats) { 9279 return This->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats); 9280 } 9281 static FORCEINLINE DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace5_GetGlyphImageFormats(IDWriteFontFace5* This) { 9282 return This->lpVtbl->GetGlyphImageFormats(This); 9283 } 9284 static FORCEINLINE HRESULT IDWriteFontFace5_GetGlyphImageData(IDWriteFontFace5* This,UINT16 glyph,UINT32 ppem,DWRITE_GLYPH_IMAGE_FORMATS format,DWRITE_GLYPH_IMAGE_DATA *data,void **context) { 9285 return This->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context); 9286 } 9287 static FORCEINLINE void IDWriteFontFace5_ReleaseGlyphImageData(IDWriteFontFace5* This,void *context) { 9288 This->lpVtbl->ReleaseGlyphImageData(This,context); 9289 } 9290 /*** IDWriteFontFace5 methods ***/ 9291 static FORCEINLINE UINT32 IDWriteFontFace5_GetFontAxisValueCount(IDWriteFontFace5* This) { 9292 return This->lpVtbl->GetFontAxisValueCount(This); 9293 } 9294 static FORCEINLINE HRESULT IDWriteFontFace5_GetFontAxisValues(IDWriteFontFace5* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 value_count) { 9295 return This->lpVtbl->GetFontAxisValues(This,values,value_count); 9296 } 9297 static FORCEINLINE WINBOOL IDWriteFontFace5_HasVariations(IDWriteFontFace5* This) { 9298 return This->lpVtbl->HasVariations(This); 9299 } 9300 static FORCEINLINE HRESULT IDWriteFontFace5_GetFontResource(IDWriteFontFace5* This,IDWriteFontResource **resource) { 9301 return This->lpVtbl->GetFontResource(This,resource); 9302 } 9303 static FORCEINLINE WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This,IDWriteFontFace *fontface) { 9304 return This->lpVtbl->Equals(This,fontface); 9305 } 9306 #endif 9307 #endif 9308 9309 #endif 9310 9311 9312 #endif /* __IDWriteFontFace5_INTERFACE_DEFINED__ */ 9313 9314 typedef struct DWRITE_COLOR_GLYPH_RUN1 { 9315 DWRITE_GLYPH_RUN glyphRun; 9316 DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription; 9317 FLOAT baselineOriginX; 9318 FLOAT baselineOriginY; 9319 DWRITE_COLOR_F runColor; 9320 UINT16 paletteIndex; 9321 DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat; 9322 DWRITE_MEASURING_MODE measuringMode; 9323 } DWRITE_COLOR_GLYPH_RUN1; 9324 /***************************************************************************** 9325 * IDWriteColorGlyphRunEnumerator1 interface 9326 */ 9327 #ifndef __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ 9328 #define __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ 9329 9330 DEFINE_GUID(IID_IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8,0xe1, 0x55,0xa1,0x79,0xfe,0x5a,0x35); 9331 #if defined(__cplusplus) && !defined(CINTERFACE) 9332 MIDL_INTERFACE("7c5f86da-c7a1-4f05-b8e1-55a179fe5a35") 9333 IDWriteColorGlyphRunEnumerator1 : public IDWriteColorGlyphRunEnumerator 9334 { 9335 virtual HRESULT STDMETHODCALLTYPE GetCurrentRun( 9336 const DWRITE_COLOR_GLYPH_RUN1 **run) = 0; 9337 9338 }; 9339 #ifdef __CRT_UUID_DECL 9340 __CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8,0xe1, 0x55,0xa1,0x79,0xfe,0x5a,0x35) 9341 #endif 9342 #else 9343 typedef struct IDWriteColorGlyphRunEnumerator1Vtbl { 9344 BEGIN_INTERFACE 9345 9346 /*** IUnknown methods ***/ 9347 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9348 IDWriteColorGlyphRunEnumerator1 *This, 9349 REFIID riid, 9350 void **ppvObject); 9351 9352 ULONG (STDMETHODCALLTYPE *AddRef)( 9353 IDWriteColorGlyphRunEnumerator1 *This); 9354 9355 ULONG (STDMETHODCALLTYPE *Release)( 9356 IDWriteColorGlyphRunEnumerator1 *This); 9357 9358 /*** IDWriteColorGlyphRunEnumerator methods ***/ 9359 HRESULT (STDMETHODCALLTYPE *MoveNext)( 9360 IDWriteColorGlyphRunEnumerator1 *This, 9361 WINBOOL *hasRun); 9362 9363 HRESULT (STDMETHODCALLTYPE *GetCurrentRun)( 9364 IDWriteColorGlyphRunEnumerator1 *This, 9365 const DWRITE_COLOR_GLYPH_RUN **run); 9366 9367 /*** IDWriteColorGlyphRunEnumerator1 methods ***/ 9368 HRESULT (STDMETHODCALLTYPE *IDWriteColorGlyphRunEnumerator1_GetCurrentRun)( 9369 IDWriteColorGlyphRunEnumerator1 *This, 9370 const DWRITE_COLOR_GLYPH_RUN1 **run); 9371 9372 END_INTERFACE 9373 } IDWriteColorGlyphRunEnumerator1Vtbl; 9374 9375 interface IDWriteColorGlyphRunEnumerator1 { 9376 CONST_VTBL IDWriteColorGlyphRunEnumerator1Vtbl* lpVtbl; 9377 }; 9378 9379 #ifdef COBJMACROS 9380 #ifndef WIDL_C_INLINE_WRAPPERS 9381 /*** IUnknown methods ***/ 9382 #define IDWriteColorGlyphRunEnumerator1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9383 #define IDWriteColorGlyphRunEnumerator1_AddRef(This) (This)->lpVtbl->AddRef(This) 9384 #define IDWriteColorGlyphRunEnumerator1_Release(This) (This)->lpVtbl->Release(This) 9385 /*** IDWriteColorGlyphRunEnumerator methods ***/ 9386 #define IDWriteColorGlyphRunEnumerator1_MoveNext(This,hasRun) (This)->lpVtbl->MoveNext(This,hasRun) 9387 /*** IDWriteColorGlyphRunEnumerator1 methods ***/ 9388 #define IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run) (This)->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run) 9389 #else 9390 /*** IUnknown methods ***/ 9391 static FORCEINLINE HRESULT IDWriteColorGlyphRunEnumerator1_QueryInterface(IDWriteColorGlyphRunEnumerator1* This,REFIID riid,void **ppvObject) { 9392 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9393 } 9394 static FORCEINLINE ULONG IDWriteColorGlyphRunEnumerator1_AddRef(IDWriteColorGlyphRunEnumerator1* This) { 9395 return This->lpVtbl->AddRef(This); 9396 } 9397 static FORCEINLINE ULONG IDWriteColorGlyphRunEnumerator1_Release(IDWriteColorGlyphRunEnumerator1* This) { 9398 return This->lpVtbl->Release(This); 9399 } 9400 /*** IDWriteColorGlyphRunEnumerator methods ***/ 9401 static FORCEINLINE HRESULT IDWriteColorGlyphRunEnumerator1_MoveNext(IDWriteColorGlyphRunEnumerator1* This,WINBOOL *hasRun) { 9402 return This->lpVtbl->MoveNext(This,hasRun); 9403 } 9404 /*** IDWriteColorGlyphRunEnumerator1 methods ***/ 9405 static FORCEINLINE HRESULT IDWriteColorGlyphRunEnumerator1_GetCurrentRun(IDWriteColorGlyphRunEnumerator1* This,const DWRITE_COLOR_GLYPH_RUN1 **run) { 9406 return This->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run); 9407 } 9408 #endif 9409 #endif 9410 9411 #endif 9412 9413 9414 #endif /* __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ */ 9415 9416 /***************************************************************************** 9417 * IDWriteFactory4 interface 9418 */ 9419 #ifndef __IDWriteFactory4_INTERFACE_DEFINED__ 9420 #define __IDWriteFactory4_INTERFACE_DEFINED__ 9421 9422 DEFINE_GUID(IID_IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a,0xc5, 0xfe,0x91,0x5c,0xc5,0x38,0x56); 9423 #if defined(__cplusplus) && !defined(CINTERFACE) 9424 MIDL_INTERFACE("4b0b5bd3-0797-4549-8ac5-fe915cc53856") 9425 IDWriteFactory4 : public IDWriteFactory3 9426 { 9427 virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun( 9428 D2D1_POINT_2F baseline_origin, 9429 const DWRITE_GLYPH_RUN *run, 9430 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 9431 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 9432 DWRITE_MEASURING_MODE measuring_mode, 9433 const DWRITE_MATRIX *transform, 9434 UINT32 palette, 9435 IDWriteColorGlyphRunEnumerator1 **layers) = 0; 9436 9437 virtual HRESULT STDMETHODCALLTYPE ComputeGlyphOrigins_( 9438 const DWRITE_GLYPH_RUN *run, 9439 D2D1_POINT_2F baseline_origin, 9440 D2D1_POINT_2F *origins) = 0; 9441 9442 virtual HRESULT STDMETHODCALLTYPE ComputeGlyphOrigins( 9443 const DWRITE_GLYPH_RUN *run, 9444 DWRITE_MEASURING_MODE measuring_mode, 9445 D2D1_POINT_2F baseline_origin, 9446 const DWRITE_MATRIX *transform, 9447 D2D1_POINT_2F *origins) = 0; 9448 9449 }; 9450 #ifdef __CRT_UUID_DECL 9451 __CRT_UUID_DECL(IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a,0xc5, 0xfe,0x91,0x5c,0xc5,0x38,0x56) 9452 #endif 9453 #else 9454 typedef struct IDWriteFactory4Vtbl { 9455 BEGIN_INTERFACE 9456 9457 /*** IUnknown methods ***/ 9458 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9459 IDWriteFactory4 *This, 9460 REFIID riid, 9461 void **ppvObject); 9462 9463 ULONG (STDMETHODCALLTYPE *AddRef)( 9464 IDWriteFactory4 *This); 9465 9466 ULONG (STDMETHODCALLTYPE *Release)( 9467 IDWriteFactory4 *This); 9468 9469 /*** IDWriteFactory methods ***/ 9470 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 9471 IDWriteFactory4 *This, 9472 IDWriteFontCollection **collection, 9473 WINBOOL check_for_updates); 9474 9475 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 9476 IDWriteFactory4 *This, 9477 IDWriteFontCollectionLoader *loader, 9478 const void *key, 9479 UINT32 key_size, 9480 IDWriteFontCollection **collection); 9481 9482 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 9483 IDWriteFactory4 *This, 9484 IDWriteFontCollectionLoader *loader); 9485 9486 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 9487 IDWriteFactory4 *This, 9488 IDWriteFontCollectionLoader *loader); 9489 9490 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 9491 IDWriteFactory4 *This, 9492 const WCHAR *path, 9493 const FILETIME *writetime, 9494 IDWriteFontFile **font_file); 9495 9496 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 9497 IDWriteFactory4 *This, 9498 const void *reference_key, 9499 UINT32 key_size, 9500 IDWriteFontFileLoader *loader, 9501 IDWriteFontFile **font_file); 9502 9503 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 9504 IDWriteFactory4 *This, 9505 DWRITE_FONT_FACE_TYPE facetype, 9506 UINT32 files_number, 9507 IDWriteFontFile *const *font_files, 9508 UINT32 index, 9509 DWRITE_FONT_SIMULATIONS sim_flags, 9510 IDWriteFontFace **font_face); 9511 9512 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 9513 IDWriteFactory4 *This, 9514 IDWriteRenderingParams **params); 9515 9516 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 9517 IDWriteFactory4 *This, 9518 HMONITOR monitor, 9519 IDWriteRenderingParams **params); 9520 9521 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 9522 IDWriteFactory4 *This, 9523 FLOAT gamma, 9524 FLOAT enhancedContrast, 9525 FLOAT cleartype_level, 9526 DWRITE_PIXEL_GEOMETRY geometry, 9527 DWRITE_RENDERING_MODE mode, 9528 IDWriteRenderingParams **params); 9529 9530 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 9531 IDWriteFactory4 *This, 9532 IDWriteFontFileLoader *loader); 9533 9534 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 9535 IDWriteFactory4 *This, 9536 IDWriteFontFileLoader *loader); 9537 9538 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 9539 IDWriteFactory4 *This, 9540 const WCHAR *family_name, 9541 IDWriteFontCollection *collection, 9542 DWRITE_FONT_WEIGHT weight, 9543 DWRITE_FONT_STYLE style, 9544 DWRITE_FONT_STRETCH stretch, 9545 FLOAT size, 9546 const WCHAR *locale, 9547 IDWriteTextFormat **format); 9548 9549 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 9550 IDWriteFactory4 *This, 9551 IDWriteTypography **typography); 9552 9553 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 9554 IDWriteFactory4 *This, 9555 IDWriteGdiInterop **gdi_interop); 9556 9557 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 9558 IDWriteFactory4 *This, 9559 const WCHAR *string, 9560 UINT32 len, 9561 IDWriteTextFormat *format, 9562 FLOAT max_width, 9563 FLOAT max_height, 9564 IDWriteTextLayout **layout); 9565 9566 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 9567 IDWriteFactory4 *This, 9568 const WCHAR *string, 9569 UINT32 len, 9570 IDWriteTextFormat *format, 9571 FLOAT layout_width, 9572 FLOAT layout_height, 9573 FLOAT pixels_per_dip, 9574 const DWRITE_MATRIX *transform, 9575 WINBOOL use_gdi_natural, 9576 IDWriteTextLayout **layout); 9577 9578 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 9579 IDWriteFactory4 *This, 9580 IDWriteTextFormat *format, 9581 IDWriteInlineObject **trimming_sign); 9582 9583 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 9584 IDWriteFactory4 *This, 9585 IDWriteTextAnalyzer **analyzer); 9586 9587 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 9588 IDWriteFactory4 *This, 9589 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 9590 const WCHAR *locale, 9591 WINBOOL ignore_user_override, 9592 IDWriteNumberSubstitution **substitution); 9593 9594 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 9595 IDWriteFactory4 *This, 9596 const DWRITE_GLYPH_RUN *glyph_run, 9597 FLOAT pixels_per_dip, 9598 const DWRITE_MATRIX *transform, 9599 DWRITE_RENDERING_MODE rendering_mode, 9600 DWRITE_MEASURING_MODE measuring_mode, 9601 FLOAT baseline_x, 9602 FLOAT baseline_y, 9603 IDWriteGlyphRunAnalysis **analysis); 9604 9605 /*** IDWriteFactory1 methods ***/ 9606 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 9607 IDWriteFactory4 *This, 9608 IDWriteFontCollection **collection, 9609 WINBOOL check_for_updates); 9610 9611 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 9612 IDWriteFactory4 *This, 9613 FLOAT gamma, 9614 FLOAT enhcontrast, 9615 FLOAT enhcontrast_grayscale, 9616 FLOAT cleartype_level, 9617 DWRITE_PIXEL_GEOMETRY geometry, 9618 DWRITE_RENDERING_MODE mode, 9619 IDWriteRenderingParams1 **params); 9620 9621 /*** IDWriteFactory2 methods ***/ 9622 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 9623 IDWriteFactory4 *This, 9624 IDWriteFontFallback **fallback); 9625 9626 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 9627 IDWriteFactory4 *This, 9628 IDWriteFontFallbackBuilder **fallbackbuilder); 9629 9630 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 9631 IDWriteFactory4 *This, 9632 FLOAT originX, 9633 FLOAT originY, 9634 const DWRITE_GLYPH_RUN *run, 9635 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 9636 DWRITE_MEASURING_MODE mode, 9637 const DWRITE_MATRIX *transform, 9638 UINT32 palette_index, 9639 IDWriteColorGlyphRunEnumerator **colorlayers); 9640 9641 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 9642 IDWriteFactory4 *This, 9643 FLOAT gamma, 9644 FLOAT contrast, 9645 FLOAT grayscalecontrast, 9646 FLOAT cleartypeLevel, 9647 DWRITE_PIXEL_GEOMETRY pixelGeometry, 9648 DWRITE_RENDERING_MODE renderingMode, 9649 DWRITE_GRID_FIT_MODE gridFitMode, 9650 IDWriteRenderingParams2 **params); 9651 9652 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 9653 IDWriteFactory4 *This, 9654 const DWRITE_GLYPH_RUN *run, 9655 const DWRITE_MATRIX *transform, 9656 DWRITE_RENDERING_MODE renderingMode, 9657 DWRITE_MEASURING_MODE measuringMode, 9658 DWRITE_GRID_FIT_MODE gridFitMode, 9659 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 9660 FLOAT originX, 9661 FLOAT originY, 9662 IDWriteGlyphRunAnalysis **analysis); 9663 9664 /*** IDWriteFactory3 methods ***/ 9665 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 9666 IDWriteFactory4 *This, 9667 const DWRITE_GLYPH_RUN *run, 9668 const DWRITE_MATRIX *transform, 9669 DWRITE_RENDERING_MODE1 rendering_mode, 9670 DWRITE_MEASURING_MODE measuring_mode, 9671 DWRITE_GRID_FIT_MODE gridfit_mode, 9672 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 9673 FLOAT origin_x, 9674 FLOAT origin_y, 9675 IDWriteGlyphRunAnalysis **analysis); 9676 9677 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 9678 IDWriteFactory4 *This, 9679 FLOAT gamma, 9680 FLOAT enhanced_contrast, 9681 FLOAT grayscale_enhanced_contrast, 9682 FLOAT cleartype_level, 9683 DWRITE_PIXEL_GEOMETRY pixel_geometry, 9684 DWRITE_RENDERING_MODE1 rendering_mode, 9685 DWRITE_GRID_FIT_MODE gridfit_mode, 9686 IDWriteRenderingParams3 **params); 9687 9688 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 9689 IDWriteFactory4 *This, 9690 IDWriteFontFile *file, 9691 UINT32 index, 9692 DWRITE_FONT_SIMULATIONS simulations, 9693 IDWriteFontFaceReference **reference); 9694 9695 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 9696 IDWriteFactory4 *This, 9697 const WCHAR *path, 9698 const FILETIME *writetime, 9699 UINT32 index, 9700 DWRITE_FONT_SIMULATIONS simulations, 9701 IDWriteFontFaceReference **reference); 9702 9703 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 9704 IDWriteFactory4 *This, 9705 IDWriteFontSet **fontset); 9706 9707 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 9708 IDWriteFactory4 *This, 9709 IDWriteFontSetBuilder **builder); 9710 9711 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 9712 IDWriteFactory4 *This, 9713 IDWriteFontSet *fontset, 9714 IDWriteFontCollection1 **collection); 9715 9716 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 9717 IDWriteFactory4 *This, 9718 WINBOOL include_downloadable, 9719 IDWriteFontCollection1 **collection, 9720 WINBOOL check_for_updates); 9721 9722 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 9723 IDWriteFactory4 *This, 9724 IDWriteFontDownloadQueue **queue); 9725 9726 /*** IDWriteFactory4 methods ***/ 9727 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 9728 IDWriteFactory4 *This, 9729 D2D1_POINT_2F baseline_origin, 9730 const DWRITE_GLYPH_RUN *run, 9731 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 9732 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 9733 DWRITE_MEASURING_MODE measuring_mode, 9734 const DWRITE_MATRIX *transform, 9735 UINT32 palette, 9736 IDWriteColorGlyphRunEnumerator1 **layers); 9737 9738 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 9739 IDWriteFactory4 *This, 9740 const DWRITE_GLYPH_RUN *run, 9741 D2D1_POINT_2F baseline_origin, 9742 D2D1_POINT_2F *origins); 9743 9744 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 9745 IDWriteFactory4 *This, 9746 const DWRITE_GLYPH_RUN *run, 9747 DWRITE_MEASURING_MODE measuring_mode, 9748 D2D1_POINT_2F baseline_origin, 9749 const DWRITE_MATRIX *transform, 9750 D2D1_POINT_2F *origins); 9751 9752 END_INTERFACE 9753 } IDWriteFactory4Vtbl; 9754 9755 interface IDWriteFactory4 { 9756 CONST_VTBL IDWriteFactory4Vtbl* lpVtbl; 9757 }; 9758 9759 #ifdef COBJMACROS 9760 #ifndef WIDL_C_INLINE_WRAPPERS 9761 /*** IUnknown methods ***/ 9762 #define IDWriteFactory4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9763 #define IDWriteFactory4_AddRef(This) (This)->lpVtbl->AddRef(This) 9764 #define IDWriteFactory4_Release(This) (This)->lpVtbl->Release(This) 9765 /*** IDWriteFactory methods ***/ 9766 #define IDWriteFactory4_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 9767 #define IDWriteFactory4_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 9768 #define IDWriteFactory4_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 9769 #define IDWriteFactory4_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 9770 #define IDWriteFactory4_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 9771 #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) 9772 #define IDWriteFactory4_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 9773 #define IDWriteFactory4_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 9774 #define IDWriteFactory4_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 9775 #define IDWriteFactory4_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 9776 #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) 9777 #define IDWriteFactory4_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 9778 #define IDWriteFactory4_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 9779 #define IDWriteFactory4_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 9780 #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) 9781 #define IDWriteFactory4_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 9782 #define IDWriteFactory4_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 9783 #define IDWriteFactory4_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 9784 /*** IDWriteFactory1 methods ***/ 9785 #define IDWriteFactory4_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 9786 /*** IDWriteFactory2 methods ***/ 9787 #define IDWriteFactory4_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 9788 #define IDWriteFactory4_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 9789 /*** IDWriteFactory3 methods ***/ 9790 #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) 9791 #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) 9792 #define IDWriteFactory4_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 9793 #define IDWriteFactory4_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) 9794 #define IDWriteFactory4_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) 9795 #define IDWriteFactory4_CreateFontSetBuilder(This,builder) (This)->lpVtbl->CreateFontSetBuilder(This,builder) 9796 #define IDWriteFactory4_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) 9797 #define IDWriteFactory4_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) 9798 #define IDWriteFactory4_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 9799 /*** IDWriteFactory4 methods ***/ 9800 #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) 9801 #define IDWriteFactory4_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 9802 #define IDWriteFactory4_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 9803 #else 9804 /*** IUnknown methods ***/ 9805 static FORCEINLINE HRESULT IDWriteFactory4_QueryInterface(IDWriteFactory4* This,REFIID riid,void **ppvObject) { 9806 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9807 } 9808 static FORCEINLINE ULONG IDWriteFactory4_AddRef(IDWriteFactory4* This) { 9809 return This->lpVtbl->AddRef(This); 9810 } 9811 static FORCEINLINE ULONG IDWriteFactory4_Release(IDWriteFactory4* This) { 9812 return This->lpVtbl->Release(This); 9813 } 9814 /*** IDWriteFactory methods ***/ 9815 static FORCEINLINE HRESULT IDWriteFactory4_CreateCustomFontCollection(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 9816 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 9817 } 9818 static FORCEINLINE HRESULT IDWriteFactory4_RegisterFontCollectionLoader(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader) { 9819 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 9820 } 9821 static FORCEINLINE HRESULT IDWriteFactory4_UnregisterFontCollectionLoader(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader) { 9822 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 9823 } 9824 static FORCEINLINE HRESULT IDWriteFactory4_CreateFontFileReference(IDWriteFactory4* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 9825 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 9826 } 9827 static FORCEINLINE HRESULT IDWriteFactory4_CreateCustomFontFileReference(IDWriteFactory4* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 9828 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 9829 } 9830 static FORCEINLINE 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) { 9831 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 9832 } 9833 static FORCEINLINE HRESULT IDWriteFactory4_CreateRenderingParams(IDWriteFactory4* This,IDWriteRenderingParams **params) { 9834 return This->lpVtbl->CreateRenderingParams(This,params); 9835 } 9836 static FORCEINLINE HRESULT IDWriteFactory4_CreateMonitorRenderingParams(IDWriteFactory4* This,HMONITOR monitor,IDWriteRenderingParams **params) { 9837 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 9838 } 9839 static FORCEINLINE HRESULT IDWriteFactory4_RegisterFontFileLoader(IDWriteFactory4* This,IDWriteFontFileLoader *loader) { 9840 return This->lpVtbl->RegisterFontFileLoader(This,loader); 9841 } 9842 static FORCEINLINE HRESULT IDWriteFactory4_UnregisterFontFileLoader(IDWriteFactory4* This,IDWriteFontFileLoader *loader) { 9843 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 9844 } 9845 static FORCEINLINE 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) { 9846 return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); 9847 } 9848 static FORCEINLINE HRESULT IDWriteFactory4_CreateTypography(IDWriteFactory4* This,IDWriteTypography **typography) { 9849 return This->lpVtbl->CreateTypography(This,typography); 9850 } 9851 static FORCEINLINE HRESULT IDWriteFactory4_GetGdiInterop(IDWriteFactory4* This,IDWriteGdiInterop **gdi_interop) { 9852 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 9853 } 9854 static FORCEINLINE HRESULT IDWriteFactory4_CreateTextLayout(IDWriteFactory4* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 9855 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 9856 } 9857 static FORCEINLINE 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) { 9858 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 9859 } 9860 static FORCEINLINE HRESULT IDWriteFactory4_CreateEllipsisTrimmingSign(IDWriteFactory4* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 9861 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 9862 } 9863 static FORCEINLINE HRESULT IDWriteFactory4_CreateTextAnalyzer(IDWriteFactory4* This,IDWriteTextAnalyzer **analyzer) { 9864 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 9865 } 9866 static FORCEINLINE HRESULT IDWriteFactory4_CreateNumberSubstitution(IDWriteFactory4* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 9867 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 9868 } 9869 /*** IDWriteFactory1 methods ***/ 9870 static FORCEINLINE HRESULT IDWriteFactory4_GetEudcFontCollection(IDWriteFactory4* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 9871 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 9872 } 9873 /*** IDWriteFactory2 methods ***/ 9874 static FORCEINLINE HRESULT IDWriteFactory4_GetSystemFontFallback(IDWriteFactory4* This,IDWriteFontFallback **fallback) { 9875 return This->lpVtbl->GetSystemFontFallback(This,fallback); 9876 } 9877 static FORCEINLINE HRESULT IDWriteFactory4_CreateFontFallbackBuilder(IDWriteFactory4* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 9878 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 9879 } 9880 /*** IDWriteFactory3 methods ***/ 9881 static FORCEINLINE 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) { 9882 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 9883 } 9884 static FORCEINLINE 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) { 9885 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 9886 } 9887 static FORCEINLINE HRESULT IDWriteFactory4_CreateFontFaceReference_(IDWriteFactory4* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 9888 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 9889 } 9890 static FORCEINLINE HRESULT IDWriteFactory4_CreateFontFaceReference(IDWriteFactory4* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 9891 return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); 9892 } 9893 static FORCEINLINE HRESULT IDWriteFactory4_GetSystemFontSet(IDWriteFactory4* This,IDWriteFontSet **fontset) { 9894 return This->lpVtbl->GetSystemFontSet(This,fontset); 9895 } 9896 static FORCEINLINE HRESULT IDWriteFactory4_CreateFontSetBuilder(IDWriteFactory4* This,IDWriteFontSetBuilder **builder) { 9897 return This->lpVtbl->CreateFontSetBuilder(This,builder); 9898 } 9899 static FORCEINLINE HRESULT IDWriteFactory4_CreateFontCollectionFromFontSet(IDWriteFactory4* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { 9900 return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); 9901 } 9902 static FORCEINLINE HRESULT IDWriteFactory4_GetSystemFontCollection(IDWriteFactory4* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { 9903 return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); 9904 } 9905 static FORCEINLINE HRESULT IDWriteFactory4_GetFontDownloadQueue(IDWriteFactory4* This,IDWriteFontDownloadQueue **queue) { 9906 return This->lpVtbl->GetFontDownloadQueue(This,queue); 9907 } 9908 /*** IDWriteFactory4 methods ***/ 9909 static FORCEINLINE 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) { 9910 return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); 9911 } 9912 static FORCEINLINE HRESULT IDWriteFactory4_ComputeGlyphOrigins_(IDWriteFactory4* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 9913 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 9914 } 9915 static FORCEINLINE 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) { 9916 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 9917 } 9918 #endif 9919 #endif 9920 9921 #endif 9922 9923 9924 #endif /* __IDWriteFactory4_INTERFACE_DEFINED__ */ 9925 9926 /***************************************************************************** 9927 * IDWriteAsyncResult interface 9928 */ 9929 #ifndef __IDWriteAsyncResult_INTERFACE_DEFINED__ 9930 #define __IDWriteAsyncResult_INTERFACE_DEFINED__ 9931 9932 DEFINE_GUID(IID_IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96,0x51, 0xc1,0xf8,0x8d,0xc7,0x3f,0xe2); 9933 #if defined(__cplusplus) && !defined(CINTERFACE) 9934 MIDL_INTERFACE("ce25f8fd-863b-4d13-9651-c1f88dc73fe2") 9935 IDWriteAsyncResult : public IUnknown 9936 { 9937 virtual HANDLE STDMETHODCALLTYPE GetWaitHandle( 9938 ) = 0; 9939 9940 virtual HRESULT STDMETHODCALLTYPE GetResult( 9941 ) = 0; 9942 9943 }; 9944 #ifdef __CRT_UUID_DECL 9945 __CRT_UUID_DECL(IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96,0x51, 0xc1,0xf8,0x8d,0xc7,0x3f,0xe2) 9946 #endif 9947 #else 9948 typedef struct IDWriteAsyncResultVtbl { 9949 BEGIN_INTERFACE 9950 9951 /*** IUnknown methods ***/ 9952 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9953 IDWriteAsyncResult *This, 9954 REFIID riid, 9955 void **ppvObject); 9956 9957 ULONG (STDMETHODCALLTYPE *AddRef)( 9958 IDWriteAsyncResult *This); 9959 9960 ULONG (STDMETHODCALLTYPE *Release)( 9961 IDWriteAsyncResult *This); 9962 9963 /*** IDWriteAsyncResult methods ***/ 9964 HANDLE (STDMETHODCALLTYPE *GetWaitHandle)( 9965 IDWriteAsyncResult *This); 9966 9967 HRESULT (STDMETHODCALLTYPE *GetResult)( 9968 IDWriteAsyncResult *This); 9969 9970 END_INTERFACE 9971 } IDWriteAsyncResultVtbl; 9972 9973 interface IDWriteAsyncResult { 9974 CONST_VTBL IDWriteAsyncResultVtbl* lpVtbl; 9975 }; 9976 9977 #ifdef COBJMACROS 9978 #ifndef WIDL_C_INLINE_WRAPPERS 9979 /*** IUnknown methods ***/ 9980 #define IDWriteAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9981 #define IDWriteAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) 9982 #define IDWriteAsyncResult_Release(This) (This)->lpVtbl->Release(This) 9983 /*** IDWriteAsyncResult methods ***/ 9984 #define IDWriteAsyncResult_GetWaitHandle(This) (This)->lpVtbl->GetWaitHandle(This) 9985 #define IDWriteAsyncResult_GetResult(This) (This)->lpVtbl->GetResult(This) 9986 #else 9987 /*** IUnknown methods ***/ 9988 static FORCEINLINE HRESULT IDWriteAsyncResult_QueryInterface(IDWriteAsyncResult* This,REFIID riid,void **ppvObject) { 9989 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9990 } 9991 static FORCEINLINE ULONG IDWriteAsyncResult_AddRef(IDWriteAsyncResult* This) { 9992 return This->lpVtbl->AddRef(This); 9993 } 9994 static FORCEINLINE ULONG IDWriteAsyncResult_Release(IDWriteAsyncResult* This) { 9995 return This->lpVtbl->Release(This); 9996 } 9997 /*** IDWriteAsyncResult methods ***/ 9998 static FORCEINLINE HANDLE IDWriteAsyncResult_GetWaitHandle(IDWriteAsyncResult* This) { 9999 return This->lpVtbl->GetWaitHandle(This); 10000 } 10001 static FORCEINLINE HRESULT IDWriteAsyncResult_GetResult(IDWriteAsyncResult* This) { 10002 return This->lpVtbl->GetResult(This); 10003 } 10004 #endif 10005 #endif 10006 10007 #endif 10008 10009 10010 #endif /* __IDWriteAsyncResult_INTERFACE_DEFINED__ */ 10011 10012 typedef struct DWRITE_FILE_FRAGMENT { 10013 UINT64 fileOffset; 10014 UINT64 fragmentSize; 10015 } DWRITE_FILE_FRAGMENT; 10016 /***************************************************************************** 10017 * IDWriteRemoteFontFileStream interface 10018 */ 10019 #ifndef __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ 10020 #define __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ 10021 10022 DEFINE_GUID(IID_IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2,0xb6, 0x1a,0xba,0xbe,0x1a,0xff,0x9c); 10023 #if defined(__cplusplus) && !defined(CINTERFACE) 10024 MIDL_INTERFACE("4db3757a-2c72-4ed9-b2b6-1ababe1aff9c") 10025 IDWriteRemoteFontFileStream : public IDWriteFontFileStream 10026 { 10027 virtual HRESULT STDMETHODCALLTYPE GetLocalFileSize( 10028 UINT64 *size) = 0; 10029 10030 virtual HRESULT STDMETHODCALLTYPE GetFileFragmentLocality( 10031 UINT64 offset, 10032 UINT64 size, 10033 WINBOOL *is_local, 10034 UINT64 *partial_size) = 0; 10035 10036 virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( 10037 ) = 0; 10038 10039 virtual HRESULT STDMETHODCALLTYPE BeginDownload( 10040 const GUID *operation_id, 10041 const DWRITE_FILE_FRAGMENT *fragments, 10042 UINT32 fragment_count, 10043 IDWriteAsyncResult **async_result) = 0; 10044 10045 }; 10046 #ifdef __CRT_UUID_DECL 10047 __CRT_UUID_DECL(IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2,0xb6, 0x1a,0xba,0xbe,0x1a,0xff,0x9c) 10048 #endif 10049 #else 10050 typedef struct IDWriteRemoteFontFileStreamVtbl { 10051 BEGIN_INTERFACE 10052 10053 /*** IUnknown methods ***/ 10054 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10055 IDWriteRemoteFontFileStream *This, 10056 REFIID riid, 10057 void **ppvObject); 10058 10059 ULONG (STDMETHODCALLTYPE *AddRef)( 10060 IDWriteRemoteFontFileStream *This); 10061 10062 ULONG (STDMETHODCALLTYPE *Release)( 10063 IDWriteRemoteFontFileStream *This); 10064 10065 /*** IDWriteFontFileStream methods ***/ 10066 HRESULT (STDMETHODCALLTYPE *ReadFileFragment)( 10067 IDWriteRemoteFontFileStream *This, 10068 const void **fragment_start, 10069 UINT64 offset, 10070 UINT64 fragment_size, 10071 void **fragment_context); 10072 10073 void (STDMETHODCALLTYPE *ReleaseFileFragment)( 10074 IDWriteRemoteFontFileStream *This, 10075 void *fragment_context); 10076 10077 HRESULT (STDMETHODCALLTYPE *GetFileSize)( 10078 IDWriteRemoteFontFileStream *This, 10079 UINT64 *size); 10080 10081 HRESULT (STDMETHODCALLTYPE *GetLastWriteTime)( 10082 IDWriteRemoteFontFileStream *This, 10083 UINT64 *last_writetime); 10084 10085 /*** IDWriteRemoteFontFileStream methods ***/ 10086 HRESULT (STDMETHODCALLTYPE *GetLocalFileSize)( 10087 IDWriteRemoteFontFileStream *This, 10088 UINT64 *size); 10089 10090 HRESULT (STDMETHODCALLTYPE *GetFileFragmentLocality)( 10091 IDWriteRemoteFontFileStream *This, 10092 UINT64 offset, 10093 UINT64 size, 10094 WINBOOL *is_local, 10095 UINT64 *partial_size); 10096 10097 DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( 10098 IDWriteRemoteFontFileStream *This); 10099 10100 HRESULT (STDMETHODCALLTYPE *BeginDownload)( 10101 IDWriteRemoteFontFileStream *This, 10102 const GUID *operation_id, 10103 const DWRITE_FILE_FRAGMENT *fragments, 10104 UINT32 fragment_count, 10105 IDWriteAsyncResult **async_result); 10106 10107 END_INTERFACE 10108 } IDWriteRemoteFontFileStreamVtbl; 10109 10110 interface IDWriteRemoteFontFileStream { 10111 CONST_VTBL IDWriteRemoteFontFileStreamVtbl* lpVtbl; 10112 }; 10113 10114 #ifdef COBJMACROS 10115 #ifndef WIDL_C_INLINE_WRAPPERS 10116 /*** IUnknown methods ***/ 10117 #define IDWriteRemoteFontFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10118 #define IDWriteRemoteFontFileStream_AddRef(This) (This)->lpVtbl->AddRef(This) 10119 #define IDWriteRemoteFontFileStream_Release(This) (This)->lpVtbl->Release(This) 10120 /*** IDWriteFontFileStream methods ***/ 10121 #define IDWriteRemoteFontFileStream_ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context) (This)->lpVtbl->ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context) 10122 #define IDWriteRemoteFontFileStream_ReleaseFileFragment(This,fragment_context) (This)->lpVtbl->ReleaseFileFragment(This,fragment_context) 10123 #define IDWriteRemoteFontFileStream_GetFileSize(This,size) (This)->lpVtbl->GetFileSize(This,size) 10124 #define IDWriteRemoteFontFileStream_GetLastWriteTime(This,last_writetime) (This)->lpVtbl->GetLastWriteTime(This,last_writetime) 10125 /*** IDWriteRemoteFontFileStream methods ***/ 10126 #define IDWriteRemoteFontFileStream_GetLocalFileSize(This,size) (This)->lpVtbl->GetLocalFileSize(This,size) 10127 #define IDWriteRemoteFontFileStream_GetFileFragmentLocality(This,offset,size,is_local,partial_size) (This)->lpVtbl->GetFileFragmentLocality(This,offset,size,is_local,partial_size) 10128 #define IDWriteRemoteFontFileStream_GetLocality(This) (This)->lpVtbl->GetLocality(This) 10129 #define IDWriteRemoteFontFileStream_BeginDownload(This,operation_id,fragments,fragment_count,async_result) (This)->lpVtbl->BeginDownload(This,operation_id,fragments,fragment_count,async_result) 10130 #else 10131 /*** IUnknown methods ***/ 10132 static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_QueryInterface(IDWriteRemoteFontFileStream* This,REFIID riid,void **ppvObject) { 10133 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10134 } 10135 static FORCEINLINE ULONG IDWriteRemoteFontFileStream_AddRef(IDWriteRemoteFontFileStream* This) { 10136 return This->lpVtbl->AddRef(This); 10137 } 10138 static FORCEINLINE ULONG IDWriteRemoteFontFileStream_Release(IDWriteRemoteFontFileStream* This) { 10139 return This->lpVtbl->Release(This); 10140 } 10141 /*** IDWriteFontFileStream methods ***/ 10142 static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_ReadFileFragment(IDWriteRemoteFontFileStream* This,const void **fragment_start,UINT64 offset,UINT64 fragment_size,void **fragment_context) { 10143 return This->lpVtbl->ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context); 10144 } 10145 static FORCEINLINE void IDWriteRemoteFontFileStream_ReleaseFileFragment(IDWriteRemoteFontFileStream* This,void *fragment_context) { 10146 This->lpVtbl->ReleaseFileFragment(This,fragment_context); 10147 } 10148 static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_GetFileSize(IDWriteRemoteFontFileStream* This,UINT64 *size) { 10149 return This->lpVtbl->GetFileSize(This,size); 10150 } 10151 static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_GetLastWriteTime(IDWriteRemoteFontFileStream* This,UINT64 *last_writetime) { 10152 return This->lpVtbl->GetLastWriteTime(This,last_writetime); 10153 } 10154 /*** IDWriteRemoteFontFileStream methods ***/ 10155 static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_GetLocalFileSize(IDWriteRemoteFontFileStream* This,UINT64 *size) { 10156 return This->lpVtbl->GetLocalFileSize(This,size); 10157 } 10158 static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_GetFileFragmentLocality(IDWriteRemoteFontFileStream* This,UINT64 offset,UINT64 size,WINBOOL *is_local,UINT64 *partial_size) { 10159 return This->lpVtbl->GetFileFragmentLocality(This,offset,size,is_local,partial_size); 10160 } 10161 static FORCEINLINE DWRITE_LOCALITY IDWriteRemoteFontFileStream_GetLocality(IDWriteRemoteFontFileStream* This) { 10162 return This->lpVtbl->GetLocality(This); 10163 } 10164 static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_BeginDownload(IDWriteRemoteFontFileStream* This,const GUID *operation_id,const DWRITE_FILE_FRAGMENT *fragments,UINT32 fragment_count,IDWriteAsyncResult **async_result) { 10165 return This->lpVtbl->BeginDownload(This,operation_id,fragments,fragment_count,async_result); 10166 } 10167 #endif 10168 #endif 10169 10170 #endif 10171 10172 10173 #endif /* __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ */ 10174 10175 typedef enum DWRITE_CONTAINER_TYPE { 10176 DWRITE_CONTAINER_TYPE_UNKNOWN = 0, 10177 DWRITE_CONTAINER_TYPE_WOFF = 1, 10178 DWRITE_CONTAINER_TYPE_WOFF2 = 2 10179 } DWRITE_CONTAINER_TYPE; 10180 /***************************************************************************** 10181 * IDWriteRemoteFontFileLoader interface 10182 */ 10183 #ifndef __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ 10184 #define __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ 10185 10186 DEFINE_GUID(IID_IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab,0x46, 0x20,0x08,0x3a,0x88,0x7f,0xde); 10187 #if defined(__cplusplus) && !defined(CINTERFACE) 10188 MIDL_INTERFACE("68648c83-6ede-46c0-ab46-20083a887fde") 10189 IDWriteRemoteFontFileLoader : public IDWriteFontFileLoader 10190 { 10191 virtual HRESULT STDMETHODCALLTYPE CreateRemoteStreamFromKey( 10192 const void *key, 10193 UINT32 key_size, 10194 IDWriteRemoteFontFileStream **stream) = 0; 10195 10196 virtual HRESULT STDMETHODCALLTYPE GetLocalityFromKey( 10197 const void *key, 10198 UINT32 key_size, 10199 DWRITE_LOCALITY *locality) = 0; 10200 10201 virtual HRESULT STDMETHODCALLTYPE CreateFontFileReferenceFromUrl( 10202 IDWriteFactory *factory, 10203 const WCHAR *base_url, 10204 const WCHAR *file_url, 10205 IDWriteFontFile **fontfile) = 0; 10206 10207 }; 10208 #ifdef __CRT_UUID_DECL 10209 __CRT_UUID_DECL(IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab,0x46, 0x20,0x08,0x3a,0x88,0x7f,0xde) 10210 #endif 10211 #else 10212 typedef struct IDWriteRemoteFontFileLoaderVtbl { 10213 BEGIN_INTERFACE 10214 10215 /*** IUnknown methods ***/ 10216 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10217 IDWriteRemoteFontFileLoader *This, 10218 REFIID riid, 10219 void **ppvObject); 10220 10221 ULONG (STDMETHODCALLTYPE *AddRef)( 10222 IDWriteRemoteFontFileLoader *This); 10223 10224 ULONG (STDMETHODCALLTYPE *Release)( 10225 IDWriteRemoteFontFileLoader *This); 10226 10227 /*** IDWriteFontFileLoader methods ***/ 10228 HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( 10229 IDWriteRemoteFontFileLoader *This, 10230 const void *key, 10231 UINT32 key_size, 10232 IDWriteFontFileStream **stream); 10233 10234 /*** IDWriteRemoteFontFileLoader methods ***/ 10235 HRESULT (STDMETHODCALLTYPE *CreateRemoteStreamFromKey)( 10236 IDWriteRemoteFontFileLoader *This, 10237 const void *key, 10238 UINT32 key_size, 10239 IDWriteRemoteFontFileStream **stream); 10240 10241 HRESULT (STDMETHODCALLTYPE *GetLocalityFromKey)( 10242 IDWriteRemoteFontFileLoader *This, 10243 const void *key, 10244 UINT32 key_size, 10245 DWRITE_LOCALITY *locality); 10246 10247 HRESULT (STDMETHODCALLTYPE *CreateFontFileReferenceFromUrl)( 10248 IDWriteRemoteFontFileLoader *This, 10249 IDWriteFactory *factory, 10250 const WCHAR *base_url, 10251 const WCHAR *file_url, 10252 IDWriteFontFile **fontfile); 10253 10254 END_INTERFACE 10255 } IDWriteRemoteFontFileLoaderVtbl; 10256 10257 interface IDWriteRemoteFontFileLoader { 10258 CONST_VTBL IDWriteRemoteFontFileLoaderVtbl* lpVtbl; 10259 }; 10260 10261 #ifdef COBJMACROS 10262 #ifndef WIDL_C_INLINE_WRAPPERS 10263 /*** IUnknown methods ***/ 10264 #define IDWriteRemoteFontFileLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10265 #define IDWriteRemoteFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) 10266 #define IDWriteRemoteFontFileLoader_Release(This) (This)->lpVtbl->Release(This) 10267 /*** IDWriteFontFileLoader methods ***/ 10268 #define IDWriteRemoteFontFileLoader_CreateStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateStreamFromKey(This,key,key_size,stream) 10269 /*** IDWriteRemoteFontFileLoader methods ***/ 10270 #define IDWriteRemoteFontFileLoader_CreateRemoteStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateRemoteStreamFromKey(This,key,key_size,stream) 10271 #define IDWriteRemoteFontFileLoader_GetLocalityFromKey(This,key,key_size,locality) (This)->lpVtbl->GetLocalityFromKey(This,key,key_size,locality) 10272 #define IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile) (This)->lpVtbl->CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile) 10273 #else 10274 /*** IUnknown methods ***/ 10275 static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_QueryInterface(IDWriteRemoteFontFileLoader* This,REFIID riid,void **ppvObject) { 10276 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10277 } 10278 static FORCEINLINE ULONG IDWriteRemoteFontFileLoader_AddRef(IDWriteRemoteFontFileLoader* This) { 10279 return This->lpVtbl->AddRef(This); 10280 } 10281 static FORCEINLINE ULONG IDWriteRemoteFontFileLoader_Release(IDWriteRemoteFontFileLoader* This) { 10282 return This->lpVtbl->Release(This); 10283 } 10284 /*** IDWriteFontFileLoader methods ***/ 10285 static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_CreateStreamFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,IDWriteFontFileStream **stream) { 10286 return This->lpVtbl->CreateStreamFromKey(This,key,key_size,stream); 10287 } 10288 /*** IDWriteRemoteFontFileLoader methods ***/ 10289 static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_CreateRemoteStreamFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,IDWriteRemoteFontFileStream **stream) { 10290 return This->lpVtbl->CreateRemoteStreamFromKey(This,key,key_size,stream); 10291 } 10292 static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_GetLocalityFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,DWRITE_LOCALITY *locality) { 10293 return This->lpVtbl->GetLocalityFromKey(This,key,key_size,locality); 10294 } 10295 static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl(IDWriteRemoteFontFileLoader* This,IDWriteFactory *factory,const WCHAR *base_url,const WCHAR *file_url,IDWriteFontFile **fontfile) { 10296 return This->lpVtbl->CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile); 10297 } 10298 #endif 10299 #endif 10300 10301 #endif 10302 10303 10304 #endif /* __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ */ 10305 10306 /***************************************************************************** 10307 * IDWriteInMemoryFontFileLoader interface 10308 */ 10309 #ifndef __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ 10310 #define __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ 10311 10312 DEFINE_GUID(IID_IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82,0x2d, 0x9e,0x11,0x7e,0x33,0x04,0x3f); 10313 #if defined(__cplusplus) && !defined(CINTERFACE) 10314 MIDL_INTERFACE("dc102f47-a12d-4b1c-822d-9e117e33043f") 10315 IDWriteInMemoryFontFileLoader : public IDWriteFontFileLoader 10316 { 10317 virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileReference( 10318 IDWriteFactory *factory, 10319 const void *data, 10320 UINT32 data_size, 10321 IUnknown *owner, 10322 IDWriteFontFile **fontfile) = 0; 10323 10324 virtual UINT32 STDMETHODCALLTYPE GetFileCount( 10325 ) = 0; 10326 10327 }; 10328 #ifdef __CRT_UUID_DECL 10329 __CRT_UUID_DECL(IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82,0x2d, 0x9e,0x11,0x7e,0x33,0x04,0x3f) 10330 #endif 10331 #else 10332 typedef struct IDWriteInMemoryFontFileLoaderVtbl { 10333 BEGIN_INTERFACE 10334 10335 /*** IUnknown methods ***/ 10336 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10337 IDWriteInMemoryFontFileLoader *This, 10338 REFIID riid, 10339 void **ppvObject); 10340 10341 ULONG (STDMETHODCALLTYPE *AddRef)( 10342 IDWriteInMemoryFontFileLoader *This); 10343 10344 ULONG (STDMETHODCALLTYPE *Release)( 10345 IDWriteInMemoryFontFileLoader *This); 10346 10347 /*** IDWriteFontFileLoader methods ***/ 10348 HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( 10349 IDWriteInMemoryFontFileLoader *This, 10350 const void *key, 10351 UINT32 key_size, 10352 IDWriteFontFileStream **stream); 10353 10354 /*** IDWriteInMemoryFontFileLoader methods ***/ 10355 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileReference)( 10356 IDWriteInMemoryFontFileLoader *This, 10357 IDWriteFactory *factory, 10358 const void *data, 10359 UINT32 data_size, 10360 IUnknown *owner, 10361 IDWriteFontFile **fontfile); 10362 10363 UINT32 (STDMETHODCALLTYPE *GetFileCount)( 10364 IDWriteInMemoryFontFileLoader *This); 10365 10366 END_INTERFACE 10367 } IDWriteInMemoryFontFileLoaderVtbl; 10368 10369 interface IDWriteInMemoryFontFileLoader { 10370 CONST_VTBL IDWriteInMemoryFontFileLoaderVtbl* lpVtbl; 10371 }; 10372 10373 #ifdef COBJMACROS 10374 #ifndef WIDL_C_INLINE_WRAPPERS 10375 /*** IUnknown methods ***/ 10376 #define IDWriteInMemoryFontFileLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10377 #define IDWriteInMemoryFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) 10378 #define IDWriteInMemoryFontFileLoader_Release(This) (This)->lpVtbl->Release(This) 10379 /*** IDWriteFontFileLoader methods ***/ 10380 #define IDWriteInMemoryFontFileLoader_CreateStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateStreamFromKey(This,key,key_size,stream) 10381 /*** IDWriteInMemoryFontFileLoader methods ***/ 10382 #define IDWriteInMemoryFontFileLoader_CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile) (This)->lpVtbl->CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile) 10383 #define IDWriteInMemoryFontFileLoader_GetFileCount(This) (This)->lpVtbl->GetFileCount(This) 10384 #else 10385 /*** IUnknown methods ***/ 10386 static FORCEINLINE HRESULT IDWriteInMemoryFontFileLoader_QueryInterface(IDWriteInMemoryFontFileLoader* This,REFIID riid,void **ppvObject) { 10387 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10388 } 10389 static FORCEINLINE ULONG IDWriteInMemoryFontFileLoader_AddRef(IDWriteInMemoryFontFileLoader* This) { 10390 return This->lpVtbl->AddRef(This); 10391 } 10392 static FORCEINLINE ULONG IDWriteInMemoryFontFileLoader_Release(IDWriteInMemoryFontFileLoader* This) { 10393 return This->lpVtbl->Release(This); 10394 } 10395 /*** IDWriteFontFileLoader methods ***/ 10396 static FORCEINLINE HRESULT IDWriteInMemoryFontFileLoader_CreateStreamFromKey(IDWriteInMemoryFontFileLoader* This,const void *key,UINT32 key_size,IDWriteFontFileStream **stream) { 10397 return This->lpVtbl->CreateStreamFromKey(This,key,key_size,stream); 10398 } 10399 /*** IDWriteInMemoryFontFileLoader methods ***/ 10400 static FORCEINLINE HRESULT IDWriteInMemoryFontFileLoader_CreateInMemoryFontFileReference(IDWriteInMemoryFontFileLoader* This,IDWriteFactory *factory,const void *data,UINT32 data_size,IUnknown *owner,IDWriteFontFile **fontfile) { 10401 return This->lpVtbl->CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile); 10402 } 10403 static FORCEINLINE UINT32 IDWriteInMemoryFontFileLoader_GetFileCount(IDWriteInMemoryFontFileLoader* This) { 10404 return This->lpVtbl->GetFileCount(This); 10405 } 10406 #endif 10407 #endif 10408 10409 #endif 10410 10411 10412 #endif /* __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ */ 10413 10414 /***************************************************************************** 10415 * IDWriteFactory5 interface 10416 */ 10417 #ifndef __IDWriteFactory5_INTERFACE_DEFINED__ 10418 #define __IDWriteFactory5_INTERFACE_DEFINED__ 10419 10420 DEFINE_GUID(IID_IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf,0x7d, 0x65,0x18,0x98,0x03,0xd1,0xd3); 10421 #if defined(__cplusplus) && !defined(CINTERFACE) 10422 MIDL_INTERFACE("958db99a-be2a-4f09-af7d-65189803d1d3") 10423 IDWriteFactory5 : public IDWriteFactory4 10424 { 10425 virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( 10426 IDWriteFontSetBuilder1 **fontset_builder) = 0; 10427 10428 virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileLoader( 10429 IDWriteInMemoryFontFileLoader **loader) = 0; 10430 10431 virtual HRESULT STDMETHODCALLTYPE CreateHttpFontFileLoader( 10432 const WCHAR *referrer_url, 10433 const WCHAR *extra_headers, 10434 IDWriteRemoteFontFileLoader **loader) = 0; 10435 10436 virtual DWRITE_CONTAINER_TYPE STDMETHODCALLTYPE AnalyzeContainerType( 10437 const void *data, 10438 UINT32 data_size) = 0; 10439 10440 virtual HRESULT STDMETHODCALLTYPE UnpackFontFile( 10441 DWRITE_CONTAINER_TYPE container_type, 10442 const void *data, 10443 UINT32 data_size, 10444 IDWriteFontFileStream **stream) = 0; 10445 10446 }; 10447 #ifdef __CRT_UUID_DECL 10448 __CRT_UUID_DECL(IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf,0x7d, 0x65,0x18,0x98,0x03,0xd1,0xd3) 10449 #endif 10450 #else 10451 typedef struct IDWriteFactory5Vtbl { 10452 BEGIN_INTERFACE 10453 10454 /*** IUnknown methods ***/ 10455 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10456 IDWriteFactory5 *This, 10457 REFIID riid, 10458 void **ppvObject); 10459 10460 ULONG (STDMETHODCALLTYPE *AddRef)( 10461 IDWriteFactory5 *This); 10462 10463 ULONG (STDMETHODCALLTYPE *Release)( 10464 IDWriteFactory5 *This); 10465 10466 /*** IDWriteFactory methods ***/ 10467 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 10468 IDWriteFactory5 *This, 10469 IDWriteFontCollection **collection, 10470 WINBOOL check_for_updates); 10471 10472 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 10473 IDWriteFactory5 *This, 10474 IDWriteFontCollectionLoader *loader, 10475 const void *key, 10476 UINT32 key_size, 10477 IDWriteFontCollection **collection); 10478 10479 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 10480 IDWriteFactory5 *This, 10481 IDWriteFontCollectionLoader *loader); 10482 10483 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 10484 IDWriteFactory5 *This, 10485 IDWriteFontCollectionLoader *loader); 10486 10487 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 10488 IDWriteFactory5 *This, 10489 const WCHAR *path, 10490 const FILETIME *writetime, 10491 IDWriteFontFile **font_file); 10492 10493 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 10494 IDWriteFactory5 *This, 10495 const void *reference_key, 10496 UINT32 key_size, 10497 IDWriteFontFileLoader *loader, 10498 IDWriteFontFile **font_file); 10499 10500 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 10501 IDWriteFactory5 *This, 10502 DWRITE_FONT_FACE_TYPE facetype, 10503 UINT32 files_number, 10504 IDWriteFontFile *const *font_files, 10505 UINT32 index, 10506 DWRITE_FONT_SIMULATIONS sim_flags, 10507 IDWriteFontFace **font_face); 10508 10509 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 10510 IDWriteFactory5 *This, 10511 IDWriteRenderingParams **params); 10512 10513 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 10514 IDWriteFactory5 *This, 10515 HMONITOR monitor, 10516 IDWriteRenderingParams **params); 10517 10518 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 10519 IDWriteFactory5 *This, 10520 FLOAT gamma, 10521 FLOAT enhancedContrast, 10522 FLOAT cleartype_level, 10523 DWRITE_PIXEL_GEOMETRY geometry, 10524 DWRITE_RENDERING_MODE mode, 10525 IDWriteRenderingParams **params); 10526 10527 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 10528 IDWriteFactory5 *This, 10529 IDWriteFontFileLoader *loader); 10530 10531 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 10532 IDWriteFactory5 *This, 10533 IDWriteFontFileLoader *loader); 10534 10535 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 10536 IDWriteFactory5 *This, 10537 const WCHAR *family_name, 10538 IDWriteFontCollection *collection, 10539 DWRITE_FONT_WEIGHT weight, 10540 DWRITE_FONT_STYLE style, 10541 DWRITE_FONT_STRETCH stretch, 10542 FLOAT size, 10543 const WCHAR *locale, 10544 IDWriteTextFormat **format); 10545 10546 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 10547 IDWriteFactory5 *This, 10548 IDWriteTypography **typography); 10549 10550 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 10551 IDWriteFactory5 *This, 10552 IDWriteGdiInterop **gdi_interop); 10553 10554 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 10555 IDWriteFactory5 *This, 10556 const WCHAR *string, 10557 UINT32 len, 10558 IDWriteTextFormat *format, 10559 FLOAT max_width, 10560 FLOAT max_height, 10561 IDWriteTextLayout **layout); 10562 10563 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 10564 IDWriteFactory5 *This, 10565 const WCHAR *string, 10566 UINT32 len, 10567 IDWriteTextFormat *format, 10568 FLOAT layout_width, 10569 FLOAT layout_height, 10570 FLOAT pixels_per_dip, 10571 const DWRITE_MATRIX *transform, 10572 WINBOOL use_gdi_natural, 10573 IDWriteTextLayout **layout); 10574 10575 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 10576 IDWriteFactory5 *This, 10577 IDWriteTextFormat *format, 10578 IDWriteInlineObject **trimming_sign); 10579 10580 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 10581 IDWriteFactory5 *This, 10582 IDWriteTextAnalyzer **analyzer); 10583 10584 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 10585 IDWriteFactory5 *This, 10586 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 10587 const WCHAR *locale, 10588 WINBOOL ignore_user_override, 10589 IDWriteNumberSubstitution **substitution); 10590 10591 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 10592 IDWriteFactory5 *This, 10593 const DWRITE_GLYPH_RUN *glyph_run, 10594 FLOAT pixels_per_dip, 10595 const DWRITE_MATRIX *transform, 10596 DWRITE_RENDERING_MODE rendering_mode, 10597 DWRITE_MEASURING_MODE measuring_mode, 10598 FLOAT baseline_x, 10599 FLOAT baseline_y, 10600 IDWriteGlyphRunAnalysis **analysis); 10601 10602 /*** IDWriteFactory1 methods ***/ 10603 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 10604 IDWriteFactory5 *This, 10605 IDWriteFontCollection **collection, 10606 WINBOOL check_for_updates); 10607 10608 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 10609 IDWriteFactory5 *This, 10610 FLOAT gamma, 10611 FLOAT enhcontrast, 10612 FLOAT enhcontrast_grayscale, 10613 FLOAT cleartype_level, 10614 DWRITE_PIXEL_GEOMETRY geometry, 10615 DWRITE_RENDERING_MODE mode, 10616 IDWriteRenderingParams1 **params); 10617 10618 /*** IDWriteFactory2 methods ***/ 10619 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 10620 IDWriteFactory5 *This, 10621 IDWriteFontFallback **fallback); 10622 10623 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 10624 IDWriteFactory5 *This, 10625 IDWriteFontFallbackBuilder **fallbackbuilder); 10626 10627 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 10628 IDWriteFactory5 *This, 10629 FLOAT originX, 10630 FLOAT originY, 10631 const DWRITE_GLYPH_RUN *run, 10632 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 10633 DWRITE_MEASURING_MODE mode, 10634 const DWRITE_MATRIX *transform, 10635 UINT32 palette_index, 10636 IDWriteColorGlyphRunEnumerator **colorlayers); 10637 10638 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 10639 IDWriteFactory5 *This, 10640 FLOAT gamma, 10641 FLOAT contrast, 10642 FLOAT grayscalecontrast, 10643 FLOAT cleartypeLevel, 10644 DWRITE_PIXEL_GEOMETRY pixelGeometry, 10645 DWRITE_RENDERING_MODE renderingMode, 10646 DWRITE_GRID_FIT_MODE gridFitMode, 10647 IDWriteRenderingParams2 **params); 10648 10649 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 10650 IDWriteFactory5 *This, 10651 const DWRITE_GLYPH_RUN *run, 10652 const DWRITE_MATRIX *transform, 10653 DWRITE_RENDERING_MODE renderingMode, 10654 DWRITE_MEASURING_MODE measuringMode, 10655 DWRITE_GRID_FIT_MODE gridFitMode, 10656 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 10657 FLOAT originX, 10658 FLOAT originY, 10659 IDWriteGlyphRunAnalysis **analysis); 10660 10661 /*** IDWriteFactory3 methods ***/ 10662 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 10663 IDWriteFactory5 *This, 10664 const DWRITE_GLYPH_RUN *run, 10665 const DWRITE_MATRIX *transform, 10666 DWRITE_RENDERING_MODE1 rendering_mode, 10667 DWRITE_MEASURING_MODE measuring_mode, 10668 DWRITE_GRID_FIT_MODE gridfit_mode, 10669 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 10670 FLOAT origin_x, 10671 FLOAT origin_y, 10672 IDWriteGlyphRunAnalysis **analysis); 10673 10674 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 10675 IDWriteFactory5 *This, 10676 FLOAT gamma, 10677 FLOAT enhanced_contrast, 10678 FLOAT grayscale_enhanced_contrast, 10679 FLOAT cleartype_level, 10680 DWRITE_PIXEL_GEOMETRY pixel_geometry, 10681 DWRITE_RENDERING_MODE1 rendering_mode, 10682 DWRITE_GRID_FIT_MODE gridfit_mode, 10683 IDWriteRenderingParams3 **params); 10684 10685 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 10686 IDWriteFactory5 *This, 10687 IDWriteFontFile *file, 10688 UINT32 index, 10689 DWRITE_FONT_SIMULATIONS simulations, 10690 IDWriteFontFaceReference **reference); 10691 10692 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 10693 IDWriteFactory5 *This, 10694 const WCHAR *path, 10695 const FILETIME *writetime, 10696 UINT32 index, 10697 DWRITE_FONT_SIMULATIONS simulations, 10698 IDWriteFontFaceReference **reference); 10699 10700 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 10701 IDWriteFactory5 *This, 10702 IDWriteFontSet **fontset); 10703 10704 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 10705 IDWriteFactory5 *This, 10706 IDWriteFontSetBuilder **builder); 10707 10708 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 10709 IDWriteFactory5 *This, 10710 IDWriteFontSet *fontset, 10711 IDWriteFontCollection1 **collection); 10712 10713 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 10714 IDWriteFactory5 *This, 10715 WINBOOL include_downloadable, 10716 IDWriteFontCollection1 **collection, 10717 WINBOOL check_for_updates); 10718 10719 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 10720 IDWriteFactory5 *This, 10721 IDWriteFontDownloadQueue **queue); 10722 10723 /*** IDWriteFactory4 methods ***/ 10724 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 10725 IDWriteFactory5 *This, 10726 D2D1_POINT_2F baseline_origin, 10727 const DWRITE_GLYPH_RUN *run, 10728 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 10729 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 10730 DWRITE_MEASURING_MODE measuring_mode, 10731 const DWRITE_MATRIX *transform, 10732 UINT32 palette, 10733 IDWriteColorGlyphRunEnumerator1 **layers); 10734 10735 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 10736 IDWriteFactory5 *This, 10737 const DWRITE_GLYPH_RUN *run, 10738 D2D1_POINT_2F baseline_origin, 10739 D2D1_POINT_2F *origins); 10740 10741 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 10742 IDWriteFactory5 *This, 10743 const DWRITE_GLYPH_RUN *run, 10744 DWRITE_MEASURING_MODE measuring_mode, 10745 D2D1_POINT_2F baseline_origin, 10746 const DWRITE_MATRIX *transform, 10747 D2D1_POINT_2F *origins); 10748 10749 /*** IDWriteFactory5 methods ***/ 10750 HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( 10751 IDWriteFactory5 *This, 10752 IDWriteFontSetBuilder1 **fontset_builder); 10753 10754 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( 10755 IDWriteFactory5 *This, 10756 IDWriteInMemoryFontFileLoader **loader); 10757 10758 HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( 10759 IDWriteFactory5 *This, 10760 const WCHAR *referrer_url, 10761 const WCHAR *extra_headers, 10762 IDWriteRemoteFontFileLoader **loader); 10763 10764 DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( 10765 IDWriteFactory5 *This, 10766 const void *data, 10767 UINT32 data_size); 10768 10769 HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( 10770 IDWriteFactory5 *This, 10771 DWRITE_CONTAINER_TYPE container_type, 10772 const void *data, 10773 UINT32 data_size, 10774 IDWriteFontFileStream **stream); 10775 10776 END_INTERFACE 10777 } IDWriteFactory5Vtbl; 10778 10779 interface IDWriteFactory5 { 10780 CONST_VTBL IDWriteFactory5Vtbl* lpVtbl; 10781 }; 10782 10783 #ifdef COBJMACROS 10784 #ifndef WIDL_C_INLINE_WRAPPERS 10785 /*** IUnknown methods ***/ 10786 #define IDWriteFactory5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10787 #define IDWriteFactory5_AddRef(This) (This)->lpVtbl->AddRef(This) 10788 #define IDWriteFactory5_Release(This) (This)->lpVtbl->Release(This) 10789 /*** IDWriteFactory methods ***/ 10790 #define IDWriteFactory5_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 10791 #define IDWriteFactory5_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 10792 #define IDWriteFactory5_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 10793 #define IDWriteFactory5_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 10794 #define IDWriteFactory5_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 10795 #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) 10796 #define IDWriteFactory5_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 10797 #define IDWriteFactory5_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 10798 #define IDWriteFactory5_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 10799 #define IDWriteFactory5_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 10800 #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) 10801 #define IDWriteFactory5_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 10802 #define IDWriteFactory5_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 10803 #define IDWriteFactory5_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 10804 #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) 10805 #define IDWriteFactory5_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 10806 #define IDWriteFactory5_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 10807 #define IDWriteFactory5_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 10808 /*** IDWriteFactory1 methods ***/ 10809 #define IDWriteFactory5_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 10810 /*** IDWriteFactory2 methods ***/ 10811 #define IDWriteFactory5_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 10812 #define IDWriteFactory5_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 10813 /*** IDWriteFactory3 methods ***/ 10814 #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) 10815 #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) 10816 #define IDWriteFactory5_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 10817 #define IDWriteFactory5_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) 10818 #define IDWriteFactory5_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) 10819 #define IDWriteFactory5_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) 10820 #define IDWriteFactory5_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) 10821 #define IDWriteFactory5_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 10822 /*** IDWriteFactory4 methods ***/ 10823 #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) 10824 #define IDWriteFactory5_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 10825 #define IDWriteFactory5_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 10826 /*** IDWriteFactory5 methods ***/ 10827 #define IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder) (This)->lpVtbl->IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder) 10828 #define IDWriteFactory5_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) 10829 #define IDWriteFactory5_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) 10830 #define IDWriteFactory5_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) 10831 #define IDWriteFactory5_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) 10832 #else 10833 /*** IUnknown methods ***/ 10834 static FORCEINLINE HRESULT IDWriteFactory5_QueryInterface(IDWriteFactory5* This,REFIID riid,void **ppvObject) { 10835 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10836 } 10837 static FORCEINLINE ULONG IDWriteFactory5_AddRef(IDWriteFactory5* This) { 10838 return This->lpVtbl->AddRef(This); 10839 } 10840 static FORCEINLINE ULONG IDWriteFactory5_Release(IDWriteFactory5* This) { 10841 return This->lpVtbl->Release(This); 10842 } 10843 /*** IDWriteFactory methods ***/ 10844 static FORCEINLINE HRESULT IDWriteFactory5_CreateCustomFontCollection(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 10845 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 10846 } 10847 static FORCEINLINE HRESULT IDWriteFactory5_RegisterFontCollectionLoader(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader) { 10848 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 10849 } 10850 static FORCEINLINE HRESULT IDWriteFactory5_UnregisterFontCollectionLoader(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader) { 10851 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 10852 } 10853 static FORCEINLINE HRESULT IDWriteFactory5_CreateFontFileReference(IDWriteFactory5* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 10854 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 10855 } 10856 static FORCEINLINE HRESULT IDWriteFactory5_CreateCustomFontFileReference(IDWriteFactory5* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 10857 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 10858 } 10859 static FORCEINLINE 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) { 10860 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 10861 } 10862 static FORCEINLINE HRESULT IDWriteFactory5_CreateRenderingParams(IDWriteFactory5* This,IDWriteRenderingParams **params) { 10863 return This->lpVtbl->CreateRenderingParams(This,params); 10864 } 10865 static FORCEINLINE HRESULT IDWriteFactory5_CreateMonitorRenderingParams(IDWriteFactory5* This,HMONITOR monitor,IDWriteRenderingParams **params) { 10866 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 10867 } 10868 static FORCEINLINE HRESULT IDWriteFactory5_RegisterFontFileLoader(IDWriteFactory5* This,IDWriteFontFileLoader *loader) { 10869 return This->lpVtbl->RegisterFontFileLoader(This,loader); 10870 } 10871 static FORCEINLINE HRESULT IDWriteFactory5_UnregisterFontFileLoader(IDWriteFactory5* This,IDWriteFontFileLoader *loader) { 10872 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 10873 } 10874 static FORCEINLINE 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) { 10875 return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); 10876 } 10877 static FORCEINLINE HRESULT IDWriteFactory5_CreateTypography(IDWriteFactory5* This,IDWriteTypography **typography) { 10878 return This->lpVtbl->CreateTypography(This,typography); 10879 } 10880 static FORCEINLINE HRESULT IDWriteFactory5_GetGdiInterop(IDWriteFactory5* This,IDWriteGdiInterop **gdi_interop) { 10881 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 10882 } 10883 static FORCEINLINE HRESULT IDWriteFactory5_CreateTextLayout(IDWriteFactory5* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 10884 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 10885 } 10886 static FORCEINLINE 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) { 10887 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 10888 } 10889 static FORCEINLINE HRESULT IDWriteFactory5_CreateEllipsisTrimmingSign(IDWriteFactory5* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 10890 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 10891 } 10892 static FORCEINLINE HRESULT IDWriteFactory5_CreateTextAnalyzer(IDWriteFactory5* This,IDWriteTextAnalyzer **analyzer) { 10893 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 10894 } 10895 static FORCEINLINE HRESULT IDWriteFactory5_CreateNumberSubstitution(IDWriteFactory5* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 10896 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 10897 } 10898 /*** IDWriteFactory1 methods ***/ 10899 static FORCEINLINE HRESULT IDWriteFactory5_GetEudcFontCollection(IDWriteFactory5* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 10900 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 10901 } 10902 /*** IDWriteFactory2 methods ***/ 10903 static FORCEINLINE HRESULT IDWriteFactory5_GetSystemFontFallback(IDWriteFactory5* This,IDWriteFontFallback **fallback) { 10904 return This->lpVtbl->GetSystemFontFallback(This,fallback); 10905 } 10906 static FORCEINLINE HRESULT IDWriteFactory5_CreateFontFallbackBuilder(IDWriteFactory5* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 10907 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 10908 } 10909 /*** IDWriteFactory3 methods ***/ 10910 static FORCEINLINE 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) { 10911 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 10912 } 10913 static FORCEINLINE 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) { 10914 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 10915 } 10916 static FORCEINLINE HRESULT IDWriteFactory5_CreateFontFaceReference_(IDWriteFactory5* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 10917 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 10918 } 10919 static FORCEINLINE HRESULT IDWriteFactory5_CreateFontFaceReference(IDWriteFactory5* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 10920 return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); 10921 } 10922 static FORCEINLINE HRESULT IDWriteFactory5_GetSystemFontSet(IDWriteFactory5* This,IDWriteFontSet **fontset) { 10923 return This->lpVtbl->GetSystemFontSet(This,fontset); 10924 } 10925 static FORCEINLINE HRESULT IDWriteFactory5_CreateFontCollectionFromFontSet(IDWriteFactory5* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { 10926 return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); 10927 } 10928 static FORCEINLINE HRESULT IDWriteFactory5_GetSystemFontCollection(IDWriteFactory5* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { 10929 return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); 10930 } 10931 static FORCEINLINE HRESULT IDWriteFactory5_GetFontDownloadQueue(IDWriteFactory5* This,IDWriteFontDownloadQueue **queue) { 10932 return This->lpVtbl->GetFontDownloadQueue(This,queue); 10933 } 10934 /*** IDWriteFactory4 methods ***/ 10935 static FORCEINLINE 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) { 10936 return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); 10937 } 10938 static FORCEINLINE HRESULT IDWriteFactory5_ComputeGlyphOrigins_(IDWriteFactory5* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 10939 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 10940 } 10941 static FORCEINLINE 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) { 10942 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 10943 } 10944 /*** IDWriteFactory5 methods ***/ 10945 static FORCEINLINE HRESULT IDWriteFactory5_CreateFontSetBuilder(IDWriteFactory5* This,IDWriteFontSetBuilder1 **fontset_builder) { 10946 return This->lpVtbl->IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder); 10947 } 10948 static FORCEINLINE HRESULT IDWriteFactory5_CreateInMemoryFontFileLoader(IDWriteFactory5* This,IDWriteInMemoryFontFileLoader **loader) { 10949 return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); 10950 } 10951 static FORCEINLINE HRESULT IDWriteFactory5_CreateHttpFontFileLoader(IDWriteFactory5* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { 10952 return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); 10953 } 10954 static FORCEINLINE DWRITE_CONTAINER_TYPE IDWriteFactory5_AnalyzeContainerType(IDWriteFactory5* This,const void *data,UINT32 data_size) { 10955 return This->lpVtbl->AnalyzeContainerType(This,data,data_size); 10956 } 10957 static FORCEINLINE HRESULT IDWriteFactory5_UnpackFontFile(IDWriteFactory5* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { 10958 return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); 10959 } 10960 #endif 10961 #endif 10962 10963 #endif 10964 10965 10966 #endif /* __IDWriteFactory5_INTERFACE_DEFINED__ */ 10967 10968 /***************************************************************************** 10969 * IDWriteFactory6 interface 10970 */ 10971 #ifndef __IDWriteFactory6_INTERFACE_DEFINED__ 10972 #define __IDWriteFactory6_INTERFACE_DEFINED__ 10973 10974 DEFINE_GUID(IID_IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3,0x5d, 0x99,0x5b,0xc7,0x2f,0xc2,0x23); 10975 #if defined(__cplusplus) && !defined(CINTERFACE) 10976 MIDL_INTERFACE("f3744d80-21f7-42eb-b35d-995bc72fc223") 10977 IDWriteFactory6 : public IDWriteFactory5 10978 { 10979 virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( 10980 IDWriteFontFile *file, 10981 UINT32 face_index, 10982 DWRITE_FONT_SIMULATIONS simulations, 10983 const DWRITE_FONT_AXIS_VALUE *axis_values, 10984 UINT32 num_axis, 10985 IDWriteFontFaceReference1 **face_ref) = 0; 10986 10987 virtual HRESULT STDMETHODCALLTYPE CreateFontResource( 10988 IDWriteFontFile *file, 10989 UINT32 face_index, 10990 IDWriteFontResource **resource) = 0; 10991 10992 virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( 10993 WINBOOL include_downloadable, 10994 IDWriteFontSet1 **fontset) = 0; 10995 10996 virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( 10997 WINBOOL include_downloadable, 10998 DWRITE_FONT_FAMILY_MODEL family_model, 10999 IDWriteFontCollection2 **collection) = 0; 11000 11001 virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( 11002 IDWriteFontSet *fontset, 11003 DWRITE_FONT_FAMILY_MODEL family_model, 11004 IDWriteFontCollection2 **collection) = 0; 11005 11006 virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( 11007 IDWriteFontSetBuilder2 **builder) = 0; 11008 11009 virtual HRESULT STDMETHODCALLTYPE CreateTextFormat( 11010 const WCHAR *familyname, 11011 IDWriteFontCollection *collection, 11012 const DWRITE_FONT_AXIS_VALUE *axis_values, 11013 UINT32 num_axis, 11014 FLOAT fontsize, 11015 const WCHAR *localename, 11016 IDWriteTextFormat3 **format) = 0; 11017 11018 }; 11019 #ifdef __CRT_UUID_DECL 11020 __CRT_UUID_DECL(IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3,0x5d, 0x99,0x5b,0xc7,0x2f,0xc2,0x23) 11021 #endif 11022 #else 11023 typedef struct IDWriteFactory6Vtbl { 11024 BEGIN_INTERFACE 11025 11026 /*** IUnknown methods ***/ 11027 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11028 IDWriteFactory6 *This, 11029 REFIID riid, 11030 void **ppvObject); 11031 11032 ULONG (STDMETHODCALLTYPE *AddRef)( 11033 IDWriteFactory6 *This); 11034 11035 ULONG (STDMETHODCALLTYPE *Release)( 11036 IDWriteFactory6 *This); 11037 11038 /*** IDWriteFactory methods ***/ 11039 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 11040 IDWriteFactory6 *This, 11041 IDWriteFontCollection **collection, 11042 WINBOOL check_for_updates); 11043 11044 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 11045 IDWriteFactory6 *This, 11046 IDWriteFontCollectionLoader *loader, 11047 const void *key, 11048 UINT32 key_size, 11049 IDWriteFontCollection **collection); 11050 11051 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 11052 IDWriteFactory6 *This, 11053 IDWriteFontCollectionLoader *loader); 11054 11055 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 11056 IDWriteFactory6 *This, 11057 IDWriteFontCollectionLoader *loader); 11058 11059 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 11060 IDWriteFactory6 *This, 11061 const WCHAR *path, 11062 const FILETIME *writetime, 11063 IDWriteFontFile **font_file); 11064 11065 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 11066 IDWriteFactory6 *This, 11067 const void *reference_key, 11068 UINT32 key_size, 11069 IDWriteFontFileLoader *loader, 11070 IDWriteFontFile **font_file); 11071 11072 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 11073 IDWriteFactory6 *This, 11074 DWRITE_FONT_FACE_TYPE facetype, 11075 UINT32 files_number, 11076 IDWriteFontFile *const *font_files, 11077 UINT32 index, 11078 DWRITE_FONT_SIMULATIONS sim_flags, 11079 IDWriteFontFace **font_face); 11080 11081 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 11082 IDWriteFactory6 *This, 11083 IDWriteRenderingParams **params); 11084 11085 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 11086 IDWriteFactory6 *This, 11087 HMONITOR monitor, 11088 IDWriteRenderingParams **params); 11089 11090 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 11091 IDWriteFactory6 *This, 11092 FLOAT gamma, 11093 FLOAT enhancedContrast, 11094 FLOAT cleartype_level, 11095 DWRITE_PIXEL_GEOMETRY geometry, 11096 DWRITE_RENDERING_MODE mode, 11097 IDWriteRenderingParams **params); 11098 11099 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 11100 IDWriteFactory6 *This, 11101 IDWriteFontFileLoader *loader); 11102 11103 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 11104 IDWriteFactory6 *This, 11105 IDWriteFontFileLoader *loader); 11106 11107 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 11108 IDWriteFactory6 *This, 11109 const WCHAR *family_name, 11110 IDWriteFontCollection *collection, 11111 DWRITE_FONT_WEIGHT weight, 11112 DWRITE_FONT_STYLE style, 11113 DWRITE_FONT_STRETCH stretch, 11114 FLOAT size, 11115 const WCHAR *locale, 11116 IDWriteTextFormat **format); 11117 11118 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 11119 IDWriteFactory6 *This, 11120 IDWriteTypography **typography); 11121 11122 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 11123 IDWriteFactory6 *This, 11124 IDWriteGdiInterop **gdi_interop); 11125 11126 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 11127 IDWriteFactory6 *This, 11128 const WCHAR *string, 11129 UINT32 len, 11130 IDWriteTextFormat *format, 11131 FLOAT max_width, 11132 FLOAT max_height, 11133 IDWriteTextLayout **layout); 11134 11135 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 11136 IDWriteFactory6 *This, 11137 const WCHAR *string, 11138 UINT32 len, 11139 IDWriteTextFormat *format, 11140 FLOAT layout_width, 11141 FLOAT layout_height, 11142 FLOAT pixels_per_dip, 11143 const DWRITE_MATRIX *transform, 11144 WINBOOL use_gdi_natural, 11145 IDWriteTextLayout **layout); 11146 11147 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 11148 IDWriteFactory6 *This, 11149 IDWriteTextFormat *format, 11150 IDWriteInlineObject **trimming_sign); 11151 11152 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 11153 IDWriteFactory6 *This, 11154 IDWriteTextAnalyzer **analyzer); 11155 11156 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 11157 IDWriteFactory6 *This, 11158 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 11159 const WCHAR *locale, 11160 WINBOOL ignore_user_override, 11161 IDWriteNumberSubstitution **substitution); 11162 11163 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 11164 IDWriteFactory6 *This, 11165 const DWRITE_GLYPH_RUN *glyph_run, 11166 FLOAT pixels_per_dip, 11167 const DWRITE_MATRIX *transform, 11168 DWRITE_RENDERING_MODE rendering_mode, 11169 DWRITE_MEASURING_MODE measuring_mode, 11170 FLOAT baseline_x, 11171 FLOAT baseline_y, 11172 IDWriteGlyphRunAnalysis **analysis); 11173 11174 /*** IDWriteFactory1 methods ***/ 11175 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 11176 IDWriteFactory6 *This, 11177 IDWriteFontCollection **collection, 11178 WINBOOL check_for_updates); 11179 11180 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 11181 IDWriteFactory6 *This, 11182 FLOAT gamma, 11183 FLOAT enhcontrast, 11184 FLOAT enhcontrast_grayscale, 11185 FLOAT cleartype_level, 11186 DWRITE_PIXEL_GEOMETRY geometry, 11187 DWRITE_RENDERING_MODE mode, 11188 IDWriteRenderingParams1 **params); 11189 11190 /*** IDWriteFactory2 methods ***/ 11191 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 11192 IDWriteFactory6 *This, 11193 IDWriteFontFallback **fallback); 11194 11195 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 11196 IDWriteFactory6 *This, 11197 IDWriteFontFallbackBuilder **fallbackbuilder); 11198 11199 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 11200 IDWriteFactory6 *This, 11201 FLOAT originX, 11202 FLOAT originY, 11203 const DWRITE_GLYPH_RUN *run, 11204 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 11205 DWRITE_MEASURING_MODE mode, 11206 const DWRITE_MATRIX *transform, 11207 UINT32 palette_index, 11208 IDWriteColorGlyphRunEnumerator **colorlayers); 11209 11210 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 11211 IDWriteFactory6 *This, 11212 FLOAT gamma, 11213 FLOAT contrast, 11214 FLOAT grayscalecontrast, 11215 FLOAT cleartypeLevel, 11216 DWRITE_PIXEL_GEOMETRY pixelGeometry, 11217 DWRITE_RENDERING_MODE renderingMode, 11218 DWRITE_GRID_FIT_MODE gridFitMode, 11219 IDWriteRenderingParams2 **params); 11220 11221 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 11222 IDWriteFactory6 *This, 11223 const DWRITE_GLYPH_RUN *run, 11224 const DWRITE_MATRIX *transform, 11225 DWRITE_RENDERING_MODE renderingMode, 11226 DWRITE_MEASURING_MODE measuringMode, 11227 DWRITE_GRID_FIT_MODE gridFitMode, 11228 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 11229 FLOAT originX, 11230 FLOAT originY, 11231 IDWriteGlyphRunAnalysis **analysis); 11232 11233 /*** IDWriteFactory3 methods ***/ 11234 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 11235 IDWriteFactory6 *This, 11236 const DWRITE_GLYPH_RUN *run, 11237 const DWRITE_MATRIX *transform, 11238 DWRITE_RENDERING_MODE1 rendering_mode, 11239 DWRITE_MEASURING_MODE measuring_mode, 11240 DWRITE_GRID_FIT_MODE gridfit_mode, 11241 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 11242 FLOAT origin_x, 11243 FLOAT origin_y, 11244 IDWriteGlyphRunAnalysis **analysis); 11245 11246 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 11247 IDWriteFactory6 *This, 11248 FLOAT gamma, 11249 FLOAT enhanced_contrast, 11250 FLOAT grayscale_enhanced_contrast, 11251 FLOAT cleartype_level, 11252 DWRITE_PIXEL_GEOMETRY pixel_geometry, 11253 DWRITE_RENDERING_MODE1 rendering_mode, 11254 DWRITE_GRID_FIT_MODE gridfit_mode, 11255 IDWriteRenderingParams3 **params); 11256 11257 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 11258 IDWriteFactory6 *This, 11259 IDWriteFontFile *file, 11260 UINT32 index, 11261 DWRITE_FONT_SIMULATIONS simulations, 11262 IDWriteFontFaceReference **reference); 11263 11264 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 11265 IDWriteFactory6 *This, 11266 const WCHAR *path, 11267 const FILETIME *writetime, 11268 UINT32 index, 11269 DWRITE_FONT_SIMULATIONS simulations, 11270 IDWriteFontFaceReference **reference); 11271 11272 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 11273 IDWriteFactory6 *This, 11274 IDWriteFontSet **fontset); 11275 11276 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 11277 IDWriteFactory6 *This, 11278 IDWriteFontSetBuilder **builder); 11279 11280 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 11281 IDWriteFactory6 *This, 11282 IDWriteFontSet *fontset, 11283 IDWriteFontCollection1 **collection); 11284 11285 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 11286 IDWriteFactory6 *This, 11287 WINBOOL include_downloadable, 11288 IDWriteFontCollection1 **collection, 11289 WINBOOL check_for_updates); 11290 11291 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 11292 IDWriteFactory6 *This, 11293 IDWriteFontDownloadQueue **queue); 11294 11295 /*** IDWriteFactory4 methods ***/ 11296 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 11297 IDWriteFactory6 *This, 11298 D2D1_POINT_2F baseline_origin, 11299 const DWRITE_GLYPH_RUN *run, 11300 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 11301 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 11302 DWRITE_MEASURING_MODE measuring_mode, 11303 const DWRITE_MATRIX *transform, 11304 UINT32 palette, 11305 IDWriteColorGlyphRunEnumerator1 **layers); 11306 11307 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 11308 IDWriteFactory6 *This, 11309 const DWRITE_GLYPH_RUN *run, 11310 D2D1_POINT_2F baseline_origin, 11311 D2D1_POINT_2F *origins); 11312 11313 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 11314 IDWriteFactory6 *This, 11315 const DWRITE_GLYPH_RUN *run, 11316 DWRITE_MEASURING_MODE measuring_mode, 11317 D2D1_POINT_2F baseline_origin, 11318 const DWRITE_MATRIX *transform, 11319 D2D1_POINT_2F *origins); 11320 11321 /*** IDWriteFactory5 methods ***/ 11322 HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( 11323 IDWriteFactory6 *This, 11324 IDWriteFontSetBuilder1 **fontset_builder); 11325 11326 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( 11327 IDWriteFactory6 *This, 11328 IDWriteInMemoryFontFileLoader **loader); 11329 11330 HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( 11331 IDWriteFactory6 *This, 11332 const WCHAR *referrer_url, 11333 const WCHAR *extra_headers, 11334 IDWriteRemoteFontFileLoader **loader); 11335 11336 DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( 11337 IDWriteFactory6 *This, 11338 const void *data, 11339 UINT32 data_size); 11340 11341 HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( 11342 IDWriteFactory6 *This, 11343 DWRITE_CONTAINER_TYPE container_type, 11344 const void *data, 11345 UINT32 data_size, 11346 IDWriteFontFileStream **stream); 11347 11348 /*** IDWriteFactory6 methods ***/ 11349 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontFaceReference)( 11350 IDWriteFactory6 *This, 11351 IDWriteFontFile *file, 11352 UINT32 face_index, 11353 DWRITE_FONT_SIMULATIONS simulations, 11354 const DWRITE_FONT_AXIS_VALUE *axis_values, 11355 UINT32 num_axis, 11356 IDWriteFontFaceReference1 **face_ref); 11357 11358 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 11359 IDWriteFactory6 *This, 11360 IDWriteFontFile *file, 11361 UINT32 face_index, 11362 IDWriteFontResource **resource); 11363 11364 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( 11365 IDWriteFactory6 *This, 11366 WINBOOL include_downloadable, 11367 IDWriteFontSet1 **fontset); 11368 11369 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontCollection)( 11370 IDWriteFactory6 *This, 11371 WINBOOL include_downloadable, 11372 DWRITE_FONT_FAMILY_MODEL family_model, 11373 IDWriteFontCollection2 **collection); 11374 11375 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontCollectionFromFontSet)( 11376 IDWriteFactory6 *This, 11377 IDWriteFontSet *fontset, 11378 DWRITE_FONT_FAMILY_MODEL family_model, 11379 IDWriteFontCollection2 **collection); 11380 11381 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( 11382 IDWriteFactory6 *This, 11383 IDWriteFontSetBuilder2 **builder); 11384 11385 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateTextFormat)( 11386 IDWriteFactory6 *This, 11387 const WCHAR *familyname, 11388 IDWriteFontCollection *collection, 11389 const DWRITE_FONT_AXIS_VALUE *axis_values, 11390 UINT32 num_axis, 11391 FLOAT fontsize, 11392 const WCHAR *localename, 11393 IDWriteTextFormat3 **format); 11394 11395 END_INTERFACE 11396 } IDWriteFactory6Vtbl; 11397 11398 interface IDWriteFactory6 { 11399 CONST_VTBL IDWriteFactory6Vtbl* lpVtbl; 11400 }; 11401 11402 #ifdef COBJMACROS 11403 #ifndef WIDL_C_INLINE_WRAPPERS 11404 /*** IUnknown methods ***/ 11405 #define IDWriteFactory6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11406 #define IDWriteFactory6_AddRef(This) (This)->lpVtbl->AddRef(This) 11407 #define IDWriteFactory6_Release(This) (This)->lpVtbl->Release(This) 11408 /*** IDWriteFactory methods ***/ 11409 #define IDWriteFactory6_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 11410 #define IDWriteFactory6_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 11411 #define IDWriteFactory6_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 11412 #define IDWriteFactory6_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 11413 #define IDWriteFactory6_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 11414 #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) 11415 #define IDWriteFactory6_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 11416 #define IDWriteFactory6_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 11417 #define IDWriteFactory6_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 11418 #define IDWriteFactory6_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 11419 #define IDWriteFactory6_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 11420 #define IDWriteFactory6_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 11421 #define IDWriteFactory6_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 11422 #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) 11423 #define IDWriteFactory6_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 11424 #define IDWriteFactory6_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 11425 #define IDWriteFactory6_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 11426 /*** IDWriteFactory1 methods ***/ 11427 #define IDWriteFactory6_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 11428 /*** IDWriteFactory2 methods ***/ 11429 #define IDWriteFactory6_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 11430 #define IDWriteFactory6_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 11431 /*** IDWriteFactory3 methods ***/ 11432 #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) 11433 #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) 11434 #define IDWriteFactory6_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 11435 #define IDWriteFactory6_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 11436 /*** IDWriteFactory4 methods ***/ 11437 #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) 11438 #define IDWriteFactory6_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 11439 #define IDWriteFactory6_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 11440 /*** IDWriteFactory5 methods ***/ 11441 #define IDWriteFactory6_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) 11442 #define IDWriteFactory6_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) 11443 #define IDWriteFactory6_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) 11444 #define IDWriteFactory6_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) 11445 /*** IDWriteFactory6 methods ***/ 11446 #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) 11447 #define IDWriteFactory6_CreateFontResource(This,file,face_index,resource) (This)->lpVtbl->CreateFontResource(This,file,face_index,resource) 11448 #define IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset) (This)->lpVtbl->IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset) 11449 #define IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection) (This)->lpVtbl->IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection) 11450 #define IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) 11451 #define IDWriteFactory6_CreateFontSetBuilder(This,builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder) 11452 #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) 11453 #else 11454 /*** IUnknown methods ***/ 11455 static FORCEINLINE HRESULT IDWriteFactory6_QueryInterface(IDWriteFactory6* This,REFIID riid,void **ppvObject) { 11456 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11457 } 11458 static FORCEINLINE ULONG IDWriteFactory6_AddRef(IDWriteFactory6* This) { 11459 return This->lpVtbl->AddRef(This); 11460 } 11461 static FORCEINLINE ULONG IDWriteFactory6_Release(IDWriteFactory6* This) { 11462 return This->lpVtbl->Release(This); 11463 } 11464 /*** IDWriteFactory methods ***/ 11465 static FORCEINLINE HRESULT IDWriteFactory6_CreateCustomFontCollection(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 11466 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 11467 } 11468 static FORCEINLINE HRESULT IDWriteFactory6_RegisterFontCollectionLoader(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader) { 11469 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 11470 } 11471 static FORCEINLINE HRESULT IDWriteFactory6_UnregisterFontCollectionLoader(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader) { 11472 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 11473 } 11474 static FORCEINLINE HRESULT IDWriteFactory6_CreateFontFileReference(IDWriteFactory6* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 11475 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 11476 } 11477 static FORCEINLINE HRESULT IDWriteFactory6_CreateCustomFontFileReference(IDWriteFactory6* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 11478 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 11479 } 11480 static FORCEINLINE 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) { 11481 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 11482 } 11483 static FORCEINLINE HRESULT IDWriteFactory6_CreateRenderingParams(IDWriteFactory6* This,IDWriteRenderingParams **params) { 11484 return This->lpVtbl->CreateRenderingParams(This,params); 11485 } 11486 static FORCEINLINE HRESULT IDWriteFactory6_CreateMonitorRenderingParams(IDWriteFactory6* This,HMONITOR monitor,IDWriteRenderingParams **params) { 11487 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 11488 } 11489 static FORCEINLINE HRESULT IDWriteFactory6_RegisterFontFileLoader(IDWriteFactory6* This,IDWriteFontFileLoader *loader) { 11490 return This->lpVtbl->RegisterFontFileLoader(This,loader); 11491 } 11492 static FORCEINLINE HRESULT IDWriteFactory6_UnregisterFontFileLoader(IDWriteFactory6* This,IDWriteFontFileLoader *loader) { 11493 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 11494 } 11495 static FORCEINLINE HRESULT IDWriteFactory6_CreateTypography(IDWriteFactory6* This,IDWriteTypography **typography) { 11496 return This->lpVtbl->CreateTypography(This,typography); 11497 } 11498 static FORCEINLINE HRESULT IDWriteFactory6_GetGdiInterop(IDWriteFactory6* This,IDWriteGdiInterop **gdi_interop) { 11499 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 11500 } 11501 static FORCEINLINE HRESULT IDWriteFactory6_CreateTextLayout(IDWriteFactory6* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 11502 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 11503 } 11504 static FORCEINLINE 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) { 11505 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 11506 } 11507 static FORCEINLINE HRESULT IDWriteFactory6_CreateEllipsisTrimmingSign(IDWriteFactory6* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 11508 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 11509 } 11510 static FORCEINLINE HRESULT IDWriteFactory6_CreateTextAnalyzer(IDWriteFactory6* This,IDWriteTextAnalyzer **analyzer) { 11511 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 11512 } 11513 static FORCEINLINE HRESULT IDWriteFactory6_CreateNumberSubstitution(IDWriteFactory6* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 11514 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 11515 } 11516 /*** IDWriteFactory1 methods ***/ 11517 static FORCEINLINE HRESULT IDWriteFactory6_GetEudcFontCollection(IDWriteFactory6* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 11518 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 11519 } 11520 /*** IDWriteFactory2 methods ***/ 11521 static FORCEINLINE HRESULT IDWriteFactory6_GetSystemFontFallback(IDWriteFactory6* This,IDWriteFontFallback **fallback) { 11522 return This->lpVtbl->GetSystemFontFallback(This,fallback); 11523 } 11524 static FORCEINLINE HRESULT IDWriteFactory6_CreateFontFallbackBuilder(IDWriteFactory6* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 11525 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 11526 } 11527 /*** IDWriteFactory3 methods ***/ 11528 static FORCEINLINE 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) { 11529 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 11530 } 11531 static FORCEINLINE 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) { 11532 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 11533 } 11534 static FORCEINLINE HRESULT IDWriteFactory6_CreateFontFaceReference_(IDWriteFactory6* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 11535 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 11536 } 11537 static FORCEINLINE HRESULT IDWriteFactory6_GetFontDownloadQueue(IDWriteFactory6* This,IDWriteFontDownloadQueue **queue) { 11538 return This->lpVtbl->GetFontDownloadQueue(This,queue); 11539 } 11540 /*** IDWriteFactory4 methods ***/ 11541 static FORCEINLINE 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) { 11542 return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); 11543 } 11544 static FORCEINLINE HRESULT IDWriteFactory6_ComputeGlyphOrigins_(IDWriteFactory6* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 11545 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 11546 } 11547 static FORCEINLINE 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) { 11548 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 11549 } 11550 /*** IDWriteFactory5 methods ***/ 11551 static FORCEINLINE HRESULT IDWriteFactory6_CreateInMemoryFontFileLoader(IDWriteFactory6* This,IDWriteInMemoryFontFileLoader **loader) { 11552 return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); 11553 } 11554 static FORCEINLINE HRESULT IDWriteFactory6_CreateHttpFontFileLoader(IDWriteFactory6* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { 11555 return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); 11556 } 11557 static FORCEINLINE DWRITE_CONTAINER_TYPE IDWriteFactory6_AnalyzeContainerType(IDWriteFactory6* This,const void *data,UINT32 data_size) { 11558 return This->lpVtbl->AnalyzeContainerType(This,data,data_size); 11559 } 11560 static FORCEINLINE HRESULT IDWriteFactory6_UnpackFontFile(IDWriteFactory6* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { 11561 return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); 11562 } 11563 /*** IDWriteFactory6 methods ***/ 11564 static FORCEINLINE 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) { 11565 return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref); 11566 } 11567 static FORCEINLINE HRESULT IDWriteFactory6_CreateFontResource(IDWriteFactory6* This,IDWriteFontFile *file,UINT32 face_index,IDWriteFontResource **resource) { 11568 return This->lpVtbl->CreateFontResource(This,file,face_index,resource); 11569 } 11570 static FORCEINLINE HRESULT IDWriteFactory6_GetSystemFontSet(IDWriteFactory6* This,WINBOOL include_downloadable,IDWriteFontSet1 **fontset) { 11571 return This->lpVtbl->IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset); 11572 } 11573 static FORCEINLINE HRESULT IDWriteFactory6_GetSystemFontCollection(IDWriteFactory6* This,WINBOOL include_downloadable,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { 11574 return This->lpVtbl->IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection); 11575 } 11576 static FORCEINLINE HRESULT IDWriteFactory6_CreateFontCollectionFromFontSet(IDWriteFactory6* This,IDWriteFontSet *fontset,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { 11577 return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection); 11578 } 11579 static FORCEINLINE HRESULT IDWriteFactory6_CreateFontSetBuilder(IDWriteFactory6* This,IDWriteFontSetBuilder2 **builder) { 11580 return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder); 11581 } 11582 static FORCEINLINE 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) { 11583 return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format); 11584 } 11585 #endif 11586 #endif 11587 11588 #endif 11589 11590 11591 #endif /* __IDWriteFactory6_INTERFACE_DEFINED__ */ 11592 11593 /***************************************************************************** 11594 * IDWriteFactory7 interface 11595 */ 11596 #ifndef __IDWriteFactory7_INTERFACE_DEFINED__ 11597 #define __IDWriteFactory7_INTERFACE_DEFINED__ 11598 11599 DEFINE_GUID(IID_IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0,0x16, 0xa9,0x1b,0x56,0x8a,0x06,0xb4); 11600 #if defined(__cplusplus) && !defined(CINTERFACE) 11601 MIDL_INTERFACE("35d0e0b3-9076-4d2e-a016-a91b568a06b4") 11602 IDWriteFactory7 : public IDWriteFactory6 11603 { 11604 virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( 11605 WINBOOL include_downloadable, 11606 IDWriteFontSet2 **fontset) = 0; 11607 11608 virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( 11609 WINBOOL include_downloadable, 11610 DWRITE_FONT_FAMILY_MODEL family_model, 11611 IDWriteFontCollection3 **collection) = 0; 11612 11613 }; 11614 #ifdef __CRT_UUID_DECL 11615 __CRT_UUID_DECL(IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0,0x16, 0xa9,0x1b,0x56,0x8a,0x06,0xb4) 11616 #endif 11617 #else 11618 typedef struct IDWriteFactory7Vtbl { 11619 BEGIN_INTERFACE 11620 11621 /*** IUnknown methods ***/ 11622 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11623 IDWriteFactory7 *This, 11624 REFIID riid, 11625 void **ppvObject); 11626 11627 ULONG (STDMETHODCALLTYPE *AddRef)( 11628 IDWriteFactory7 *This); 11629 11630 ULONG (STDMETHODCALLTYPE *Release)( 11631 IDWriteFactory7 *This); 11632 11633 /*** IDWriteFactory methods ***/ 11634 HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( 11635 IDWriteFactory7 *This, 11636 IDWriteFontCollection **collection, 11637 WINBOOL check_for_updates); 11638 11639 HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( 11640 IDWriteFactory7 *This, 11641 IDWriteFontCollectionLoader *loader, 11642 const void *key, 11643 UINT32 key_size, 11644 IDWriteFontCollection **collection); 11645 11646 HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( 11647 IDWriteFactory7 *This, 11648 IDWriteFontCollectionLoader *loader); 11649 11650 HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( 11651 IDWriteFactory7 *This, 11652 IDWriteFontCollectionLoader *loader); 11653 11654 HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( 11655 IDWriteFactory7 *This, 11656 const WCHAR *path, 11657 const FILETIME *writetime, 11658 IDWriteFontFile **font_file); 11659 11660 HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( 11661 IDWriteFactory7 *This, 11662 const void *reference_key, 11663 UINT32 key_size, 11664 IDWriteFontFileLoader *loader, 11665 IDWriteFontFile **font_file); 11666 11667 HRESULT (STDMETHODCALLTYPE *CreateFontFace)( 11668 IDWriteFactory7 *This, 11669 DWRITE_FONT_FACE_TYPE facetype, 11670 UINT32 files_number, 11671 IDWriteFontFile *const *font_files, 11672 UINT32 index, 11673 DWRITE_FONT_SIMULATIONS sim_flags, 11674 IDWriteFontFace **font_face); 11675 11676 HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( 11677 IDWriteFactory7 *This, 11678 IDWriteRenderingParams **params); 11679 11680 HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( 11681 IDWriteFactory7 *This, 11682 HMONITOR monitor, 11683 IDWriteRenderingParams **params); 11684 11685 HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( 11686 IDWriteFactory7 *This, 11687 FLOAT gamma, 11688 FLOAT enhancedContrast, 11689 FLOAT cleartype_level, 11690 DWRITE_PIXEL_GEOMETRY geometry, 11691 DWRITE_RENDERING_MODE mode, 11692 IDWriteRenderingParams **params); 11693 11694 HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( 11695 IDWriteFactory7 *This, 11696 IDWriteFontFileLoader *loader); 11697 11698 HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( 11699 IDWriteFactory7 *This, 11700 IDWriteFontFileLoader *loader); 11701 11702 HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( 11703 IDWriteFactory7 *This, 11704 const WCHAR *family_name, 11705 IDWriteFontCollection *collection, 11706 DWRITE_FONT_WEIGHT weight, 11707 DWRITE_FONT_STYLE style, 11708 DWRITE_FONT_STRETCH stretch, 11709 FLOAT size, 11710 const WCHAR *locale, 11711 IDWriteTextFormat **format); 11712 11713 HRESULT (STDMETHODCALLTYPE *CreateTypography)( 11714 IDWriteFactory7 *This, 11715 IDWriteTypography **typography); 11716 11717 HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( 11718 IDWriteFactory7 *This, 11719 IDWriteGdiInterop **gdi_interop); 11720 11721 HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( 11722 IDWriteFactory7 *This, 11723 const WCHAR *string, 11724 UINT32 len, 11725 IDWriteTextFormat *format, 11726 FLOAT max_width, 11727 FLOAT max_height, 11728 IDWriteTextLayout **layout); 11729 11730 HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( 11731 IDWriteFactory7 *This, 11732 const WCHAR *string, 11733 UINT32 len, 11734 IDWriteTextFormat *format, 11735 FLOAT layout_width, 11736 FLOAT layout_height, 11737 FLOAT pixels_per_dip, 11738 const DWRITE_MATRIX *transform, 11739 WINBOOL use_gdi_natural, 11740 IDWriteTextLayout **layout); 11741 11742 HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( 11743 IDWriteFactory7 *This, 11744 IDWriteTextFormat *format, 11745 IDWriteInlineObject **trimming_sign); 11746 11747 HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( 11748 IDWriteFactory7 *This, 11749 IDWriteTextAnalyzer **analyzer); 11750 11751 HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( 11752 IDWriteFactory7 *This, 11753 DWRITE_NUMBER_SUBSTITUTION_METHOD method, 11754 const WCHAR *locale, 11755 WINBOOL ignore_user_override, 11756 IDWriteNumberSubstitution **substitution); 11757 11758 HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( 11759 IDWriteFactory7 *This, 11760 const DWRITE_GLYPH_RUN *glyph_run, 11761 FLOAT pixels_per_dip, 11762 const DWRITE_MATRIX *transform, 11763 DWRITE_RENDERING_MODE rendering_mode, 11764 DWRITE_MEASURING_MODE measuring_mode, 11765 FLOAT baseline_x, 11766 FLOAT baseline_y, 11767 IDWriteGlyphRunAnalysis **analysis); 11768 11769 /*** IDWriteFactory1 methods ***/ 11770 HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( 11771 IDWriteFactory7 *This, 11772 IDWriteFontCollection **collection, 11773 WINBOOL check_for_updates); 11774 11775 HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( 11776 IDWriteFactory7 *This, 11777 FLOAT gamma, 11778 FLOAT enhcontrast, 11779 FLOAT enhcontrast_grayscale, 11780 FLOAT cleartype_level, 11781 DWRITE_PIXEL_GEOMETRY geometry, 11782 DWRITE_RENDERING_MODE mode, 11783 IDWriteRenderingParams1 **params); 11784 11785 /*** IDWriteFactory2 methods ***/ 11786 HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( 11787 IDWriteFactory7 *This, 11788 IDWriteFontFallback **fallback); 11789 11790 HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( 11791 IDWriteFactory7 *This, 11792 IDWriteFontFallbackBuilder **fallbackbuilder); 11793 11794 HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( 11795 IDWriteFactory7 *This, 11796 FLOAT originX, 11797 FLOAT originY, 11798 const DWRITE_GLYPH_RUN *run, 11799 const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, 11800 DWRITE_MEASURING_MODE mode, 11801 const DWRITE_MATRIX *transform, 11802 UINT32 palette_index, 11803 IDWriteColorGlyphRunEnumerator **colorlayers); 11804 11805 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( 11806 IDWriteFactory7 *This, 11807 FLOAT gamma, 11808 FLOAT contrast, 11809 FLOAT grayscalecontrast, 11810 FLOAT cleartypeLevel, 11811 DWRITE_PIXEL_GEOMETRY pixelGeometry, 11812 DWRITE_RENDERING_MODE renderingMode, 11813 DWRITE_GRID_FIT_MODE gridFitMode, 11814 IDWriteRenderingParams2 **params); 11815 11816 HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( 11817 IDWriteFactory7 *This, 11818 const DWRITE_GLYPH_RUN *run, 11819 const DWRITE_MATRIX *transform, 11820 DWRITE_RENDERING_MODE renderingMode, 11821 DWRITE_MEASURING_MODE measuringMode, 11822 DWRITE_GRID_FIT_MODE gridFitMode, 11823 DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, 11824 FLOAT originX, 11825 FLOAT originY, 11826 IDWriteGlyphRunAnalysis **analysis); 11827 11828 /*** IDWriteFactory3 methods ***/ 11829 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( 11830 IDWriteFactory7 *This, 11831 const DWRITE_GLYPH_RUN *run, 11832 const DWRITE_MATRIX *transform, 11833 DWRITE_RENDERING_MODE1 rendering_mode, 11834 DWRITE_MEASURING_MODE measuring_mode, 11835 DWRITE_GRID_FIT_MODE gridfit_mode, 11836 DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, 11837 FLOAT origin_x, 11838 FLOAT origin_y, 11839 IDWriteGlyphRunAnalysis **analysis); 11840 11841 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( 11842 IDWriteFactory7 *This, 11843 FLOAT gamma, 11844 FLOAT enhanced_contrast, 11845 FLOAT grayscale_enhanced_contrast, 11846 FLOAT cleartype_level, 11847 DWRITE_PIXEL_GEOMETRY pixel_geometry, 11848 DWRITE_RENDERING_MODE1 rendering_mode, 11849 DWRITE_GRID_FIT_MODE gridfit_mode, 11850 IDWriteRenderingParams3 **params); 11851 11852 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( 11853 IDWriteFactory7 *This, 11854 IDWriteFontFile *file, 11855 UINT32 index, 11856 DWRITE_FONT_SIMULATIONS simulations, 11857 IDWriteFontFaceReference **reference); 11858 11859 HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( 11860 IDWriteFactory7 *This, 11861 const WCHAR *path, 11862 const FILETIME *writetime, 11863 UINT32 index, 11864 DWRITE_FONT_SIMULATIONS simulations, 11865 IDWriteFontFaceReference **reference); 11866 11867 HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( 11868 IDWriteFactory7 *This, 11869 IDWriteFontSet **fontset); 11870 11871 HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( 11872 IDWriteFactory7 *This, 11873 IDWriteFontSetBuilder **builder); 11874 11875 HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( 11876 IDWriteFactory7 *This, 11877 IDWriteFontSet *fontset, 11878 IDWriteFontCollection1 **collection); 11879 11880 HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( 11881 IDWriteFactory7 *This, 11882 WINBOOL include_downloadable, 11883 IDWriteFontCollection1 **collection, 11884 WINBOOL check_for_updates); 11885 11886 HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( 11887 IDWriteFactory7 *This, 11888 IDWriteFontDownloadQueue **queue); 11889 11890 /*** IDWriteFactory4 methods ***/ 11891 HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( 11892 IDWriteFactory7 *This, 11893 D2D1_POINT_2F baseline_origin, 11894 const DWRITE_GLYPH_RUN *run, 11895 const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, 11896 DWRITE_GLYPH_IMAGE_FORMATS desired_formats, 11897 DWRITE_MEASURING_MODE measuring_mode, 11898 const DWRITE_MATRIX *transform, 11899 UINT32 palette, 11900 IDWriteColorGlyphRunEnumerator1 **layers); 11901 11902 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( 11903 IDWriteFactory7 *This, 11904 const DWRITE_GLYPH_RUN *run, 11905 D2D1_POINT_2F baseline_origin, 11906 D2D1_POINT_2F *origins); 11907 11908 HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( 11909 IDWriteFactory7 *This, 11910 const DWRITE_GLYPH_RUN *run, 11911 DWRITE_MEASURING_MODE measuring_mode, 11912 D2D1_POINT_2F baseline_origin, 11913 const DWRITE_MATRIX *transform, 11914 D2D1_POINT_2F *origins); 11915 11916 /*** IDWriteFactory5 methods ***/ 11917 HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( 11918 IDWriteFactory7 *This, 11919 IDWriteFontSetBuilder1 **fontset_builder); 11920 11921 HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( 11922 IDWriteFactory7 *This, 11923 IDWriteInMemoryFontFileLoader **loader); 11924 11925 HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( 11926 IDWriteFactory7 *This, 11927 const WCHAR *referrer_url, 11928 const WCHAR *extra_headers, 11929 IDWriteRemoteFontFileLoader **loader); 11930 11931 DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( 11932 IDWriteFactory7 *This, 11933 const void *data, 11934 UINT32 data_size); 11935 11936 HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( 11937 IDWriteFactory7 *This, 11938 DWRITE_CONTAINER_TYPE container_type, 11939 const void *data, 11940 UINT32 data_size, 11941 IDWriteFontFileStream **stream); 11942 11943 /*** IDWriteFactory6 methods ***/ 11944 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontFaceReference)( 11945 IDWriteFactory7 *This, 11946 IDWriteFontFile *file, 11947 UINT32 face_index, 11948 DWRITE_FONT_SIMULATIONS simulations, 11949 const DWRITE_FONT_AXIS_VALUE *axis_values, 11950 UINT32 num_axis, 11951 IDWriteFontFaceReference1 **face_ref); 11952 11953 HRESULT (STDMETHODCALLTYPE *CreateFontResource)( 11954 IDWriteFactory7 *This, 11955 IDWriteFontFile *file, 11956 UINT32 face_index, 11957 IDWriteFontResource **resource); 11958 11959 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( 11960 IDWriteFactory7 *This, 11961 WINBOOL include_downloadable, 11962 IDWriteFontSet1 **fontset); 11963 11964 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontCollection)( 11965 IDWriteFactory7 *This, 11966 WINBOOL include_downloadable, 11967 DWRITE_FONT_FAMILY_MODEL family_model, 11968 IDWriteFontCollection2 **collection); 11969 11970 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontCollectionFromFontSet)( 11971 IDWriteFactory7 *This, 11972 IDWriteFontSet *fontset, 11973 DWRITE_FONT_FAMILY_MODEL family_model, 11974 IDWriteFontCollection2 **collection); 11975 11976 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( 11977 IDWriteFactory7 *This, 11978 IDWriteFontSetBuilder2 **builder); 11979 11980 HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateTextFormat)( 11981 IDWriteFactory7 *This, 11982 const WCHAR *familyname, 11983 IDWriteFontCollection *collection, 11984 const DWRITE_FONT_AXIS_VALUE *axis_values, 11985 UINT32 num_axis, 11986 FLOAT fontsize, 11987 const WCHAR *localename, 11988 IDWriteTextFormat3 **format); 11989 11990 /*** IDWriteFactory7 methods ***/ 11991 HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontSet)( 11992 IDWriteFactory7 *This, 11993 WINBOOL include_downloadable, 11994 IDWriteFontSet2 **fontset); 11995 11996 HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontCollection)( 11997 IDWriteFactory7 *This, 11998 WINBOOL include_downloadable, 11999 DWRITE_FONT_FAMILY_MODEL family_model, 12000 IDWriteFontCollection3 **collection); 12001 12002 END_INTERFACE 12003 } IDWriteFactory7Vtbl; 12004 12005 interface IDWriteFactory7 { 12006 CONST_VTBL IDWriteFactory7Vtbl* lpVtbl; 12007 }; 12008 12009 #ifdef COBJMACROS 12010 #ifndef WIDL_C_INLINE_WRAPPERS 12011 /*** IUnknown methods ***/ 12012 #define IDWriteFactory7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12013 #define IDWriteFactory7_AddRef(This) (This)->lpVtbl->AddRef(This) 12014 #define IDWriteFactory7_Release(This) (This)->lpVtbl->Release(This) 12015 /*** IDWriteFactory methods ***/ 12016 #define IDWriteFactory7_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) 12017 #define IDWriteFactory7_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) 12018 #define IDWriteFactory7_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) 12019 #define IDWriteFactory7_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) 12020 #define IDWriteFactory7_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) 12021 #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) 12022 #define IDWriteFactory7_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) 12023 #define IDWriteFactory7_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) 12024 #define IDWriteFactory7_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) 12025 #define IDWriteFactory7_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) 12026 #define IDWriteFactory7_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) 12027 #define IDWriteFactory7_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) 12028 #define IDWriteFactory7_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) 12029 #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) 12030 #define IDWriteFactory7_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) 12031 #define IDWriteFactory7_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) 12032 #define IDWriteFactory7_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) 12033 /*** IDWriteFactory1 methods ***/ 12034 #define IDWriteFactory7_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) 12035 /*** IDWriteFactory2 methods ***/ 12036 #define IDWriteFactory7_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) 12037 #define IDWriteFactory7_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) 12038 /*** IDWriteFactory3 methods ***/ 12039 #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) 12040 #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) 12041 #define IDWriteFactory7_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) 12042 #define IDWriteFactory7_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) 12043 /*** IDWriteFactory4 methods ***/ 12044 #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) 12045 #define IDWriteFactory7_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) 12046 #define IDWriteFactory7_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) 12047 /*** IDWriteFactory5 methods ***/ 12048 #define IDWriteFactory7_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) 12049 #define IDWriteFactory7_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) 12050 #define IDWriteFactory7_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) 12051 #define IDWriteFactory7_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) 12052 /*** IDWriteFactory6 methods ***/ 12053 #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) 12054 #define IDWriteFactory7_CreateFontResource(This,file,face_index,resource) (This)->lpVtbl->CreateFontResource(This,file,face_index,resource) 12055 #define IDWriteFactory7_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) 12056 #define IDWriteFactory7_CreateFontSetBuilder(This,builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder) 12057 #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) 12058 /*** IDWriteFactory7 methods ***/ 12059 #define IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset) (This)->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset) 12060 #define IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection) (This)->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection) 12061 #else 12062 /*** IUnknown methods ***/ 12063 static FORCEINLINE HRESULT IDWriteFactory7_QueryInterface(IDWriteFactory7* This,REFIID riid,void **ppvObject) { 12064 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12065 } 12066 static FORCEINLINE ULONG IDWriteFactory7_AddRef(IDWriteFactory7* This) { 12067 return This->lpVtbl->AddRef(This); 12068 } 12069 static FORCEINLINE ULONG IDWriteFactory7_Release(IDWriteFactory7* This) { 12070 return This->lpVtbl->Release(This); 12071 } 12072 /*** IDWriteFactory methods ***/ 12073 static FORCEINLINE HRESULT IDWriteFactory7_CreateCustomFontCollection(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { 12074 return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); 12075 } 12076 static FORCEINLINE HRESULT IDWriteFactory7_RegisterFontCollectionLoader(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader) { 12077 return This->lpVtbl->RegisterFontCollectionLoader(This,loader); 12078 } 12079 static FORCEINLINE HRESULT IDWriteFactory7_UnregisterFontCollectionLoader(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader) { 12080 return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); 12081 } 12082 static FORCEINLINE HRESULT IDWriteFactory7_CreateFontFileReference(IDWriteFactory7* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { 12083 return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); 12084 } 12085 static FORCEINLINE HRESULT IDWriteFactory7_CreateCustomFontFileReference(IDWriteFactory7* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { 12086 return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); 12087 } 12088 static FORCEINLINE 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) { 12089 return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); 12090 } 12091 static FORCEINLINE HRESULT IDWriteFactory7_CreateRenderingParams(IDWriteFactory7* This,IDWriteRenderingParams **params) { 12092 return This->lpVtbl->CreateRenderingParams(This,params); 12093 } 12094 static FORCEINLINE HRESULT IDWriteFactory7_CreateMonitorRenderingParams(IDWriteFactory7* This,HMONITOR monitor,IDWriteRenderingParams **params) { 12095 return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); 12096 } 12097 static FORCEINLINE HRESULT IDWriteFactory7_RegisterFontFileLoader(IDWriteFactory7* This,IDWriteFontFileLoader *loader) { 12098 return This->lpVtbl->RegisterFontFileLoader(This,loader); 12099 } 12100 static FORCEINLINE HRESULT IDWriteFactory7_UnregisterFontFileLoader(IDWriteFactory7* This,IDWriteFontFileLoader *loader) { 12101 return This->lpVtbl->UnregisterFontFileLoader(This,loader); 12102 } 12103 static FORCEINLINE HRESULT IDWriteFactory7_CreateTypography(IDWriteFactory7* This,IDWriteTypography **typography) { 12104 return This->lpVtbl->CreateTypography(This,typography); 12105 } 12106 static FORCEINLINE HRESULT IDWriteFactory7_GetGdiInterop(IDWriteFactory7* This,IDWriteGdiInterop **gdi_interop) { 12107 return This->lpVtbl->GetGdiInterop(This,gdi_interop); 12108 } 12109 static FORCEINLINE HRESULT IDWriteFactory7_CreateTextLayout(IDWriteFactory7* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { 12110 return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); 12111 } 12112 static FORCEINLINE 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) { 12113 return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); 12114 } 12115 static FORCEINLINE HRESULT IDWriteFactory7_CreateEllipsisTrimmingSign(IDWriteFactory7* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { 12116 return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); 12117 } 12118 static FORCEINLINE HRESULT IDWriteFactory7_CreateTextAnalyzer(IDWriteFactory7* This,IDWriteTextAnalyzer **analyzer) { 12119 return This->lpVtbl->CreateTextAnalyzer(This,analyzer); 12120 } 12121 static FORCEINLINE HRESULT IDWriteFactory7_CreateNumberSubstitution(IDWriteFactory7* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { 12122 return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); 12123 } 12124 /*** IDWriteFactory1 methods ***/ 12125 static FORCEINLINE HRESULT IDWriteFactory7_GetEudcFontCollection(IDWriteFactory7* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { 12126 return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); 12127 } 12128 /*** IDWriteFactory2 methods ***/ 12129 static FORCEINLINE HRESULT IDWriteFactory7_GetSystemFontFallback(IDWriteFactory7* This,IDWriteFontFallback **fallback) { 12130 return This->lpVtbl->GetSystemFontFallback(This,fallback); 12131 } 12132 static FORCEINLINE HRESULT IDWriteFactory7_CreateFontFallbackBuilder(IDWriteFactory7* This,IDWriteFontFallbackBuilder **fallbackbuilder) { 12133 return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); 12134 } 12135 /*** IDWriteFactory3 methods ***/ 12136 static FORCEINLINE 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) { 12137 return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); 12138 } 12139 static FORCEINLINE 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) { 12140 return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); 12141 } 12142 static FORCEINLINE HRESULT IDWriteFactory7_CreateFontFaceReference_(IDWriteFactory7* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { 12143 return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); 12144 } 12145 static FORCEINLINE HRESULT IDWriteFactory7_GetFontDownloadQueue(IDWriteFactory7* This,IDWriteFontDownloadQueue **queue) { 12146 return This->lpVtbl->GetFontDownloadQueue(This,queue); 12147 } 12148 /*** IDWriteFactory4 methods ***/ 12149 static FORCEINLINE 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) { 12150 return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); 12151 } 12152 static FORCEINLINE HRESULT IDWriteFactory7_ComputeGlyphOrigins_(IDWriteFactory7* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { 12153 return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); 12154 } 12155 static FORCEINLINE 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) { 12156 return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); 12157 } 12158 /*** IDWriteFactory5 methods ***/ 12159 static FORCEINLINE HRESULT IDWriteFactory7_CreateInMemoryFontFileLoader(IDWriteFactory7* This,IDWriteInMemoryFontFileLoader **loader) { 12160 return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); 12161 } 12162 static FORCEINLINE HRESULT IDWriteFactory7_CreateHttpFontFileLoader(IDWriteFactory7* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { 12163 return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); 12164 } 12165 static FORCEINLINE DWRITE_CONTAINER_TYPE IDWriteFactory7_AnalyzeContainerType(IDWriteFactory7* This,const void *data,UINT32 data_size) { 12166 return This->lpVtbl->AnalyzeContainerType(This,data,data_size); 12167 } 12168 static FORCEINLINE HRESULT IDWriteFactory7_UnpackFontFile(IDWriteFactory7* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { 12169 return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); 12170 } 12171 /*** IDWriteFactory6 methods ***/ 12172 static FORCEINLINE 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) { 12173 return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref); 12174 } 12175 static FORCEINLINE HRESULT IDWriteFactory7_CreateFontResource(IDWriteFactory7* This,IDWriteFontFile *file,UINT32 face_index,IDWriteFontResource **resource) { 12176 return This->lpVtbl->CreateFontResource(This,file,face_index,resource); 12177 } 12178 static FORCEINLINE HRESULT IDWriteFactory7_CreateFontCollectionFromFontSet(IDWriteFactory7* This,IDWriteFontSet *fontset,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { 12179 return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection); 12180 } 12181 static FORCEINLINE HRESULT IDWriteFactory7_CreateFontSetBuilder(IDWriteFactory7* This,IDWriteFontSetBuilder2 **builder) { 12182 return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder); 12183 } 12184 static FORCEINLINE 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) { 12185 return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format); 12186 } 12187 /*** IDWriteFactory7 methods ***/ 12188 static FORCEINLINE HRESULT IDWriteFactory7_GetSystemFontSet(IDWriteFactory7* This,WINBOOL include_downloadable,IDWriteFontSet2 **fontset) { 12189 return This->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset); 12190 } 12191 static FORCEINLINE HRESULT IDWriteFactory7_GetSystemFontCollection(IDWriteFactory7* This,WINBOOL include_downloadable,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection3 **collection) { 12192 return This->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection); 12193 } 12194 #endif 12195 #endif 12196 12197 #endif 12198 12199 12200 #endif /* __IDWriteFactory7_INTERFACE_DEFINED__ */ 12201 12202 /* Begin additional prototypes for all interfaces */ 12203 12204 12205 /* End additional prototypes */ 12206 12207 #ifdef __cplusplus 12208 } 12209 #endif 12210 12211 #endif /* __dwrite_3_h__ */ 12212