/*** Autogenerated by WIDL 6.4 from include/dwrite_3.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __dwrite_3_h__ #define __dwrite_3_h__ /* Forward declarations */ #ifndef __IDWriteFontDownloadListener_FWD_DEFINED__ #define __IDWriteFontDownloadListener_FWD_DEFINED__ typedef interface IDWriteFontDownloadListener IDWriteFontDownloadListener; #ifdef __cplusplus interface IDWriteFontDownloadListener; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontDownloadQueue_FWD_DEFINED__ #define __IDWriteFontDownloadQueue_FWD_DEFINED__ typedef interface IDWriteFontDownloadQueue IDWriteFontDownloadQueue; #ifdef __cplusplus interface IDWriteFontDownloadQueue; #endif /* __cplusplus */ #endif #ifndef __IDWriteRenderingParams3_FWD_DEFINED__ #define __IDWriteRenderingParams3_FWD_DEFINED__ typedef interface IDWriteRenderingParams3 IDWriteRenderingParams3; #ifdef __cplusplus interface IDWriteRenderingParams3; #endif /* __cplusplus */ #endif #ifndef __IDWriteStringList_FWD_DEFINED__ #define __IDWriteStringList_FWD_DEFINED__ typedef interface IDWriteStringList IDWriteStringList; #ifdef __cplusplus interface IDWriteStringList; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontSet_FWD_DEFINED__ #define __IDWriteFontSet_FWD_DEFINED__ typedef interface IDWriteFontSet IDWriteFontSet; #ifdef __cplusplus interface IDWriteFontSet; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontResource_FWD_DEFINED__ #define __IDWriteFontResource_FWD_DEFINED__ typedef interface IDWriteFontResource IDWriteFontResource; #ifdef __cplusplus interface IDWriteFontResource; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontSet1_FWD_DEFINED__ #define __IDWriteFontSet1_FWD_DEFINED__ typedef interface IDWriteFontSet1 IDWriteFontSet1; #ifdef __cplusplus interface IDWriteFontSet1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFont3_FWD_DEFINED__ #define __IDWriteFont3_FWD_DEFINED__ typedef interface IDWriteFont3 IDWriteFont3; #ifdef __cplusplus interface IDWriteFont3; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFamily1_FWD_DEFINED__ #define __IDWriteFontFamily1_FWD_DEFINED__ typedef interface IDWriteFontFamily1 IDWriteFontFamily1; #ifdef __cplusplus interface IDWriteFontFamily1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFamily2_FWD_DEFINED__ #define __IDWriteFontFamily2_FWD_DEFINED__ typedef interface IDWriteFontFamily2 IDWriteFontFamily2; #ifdef __cplusplus interface IDWriteFontFamily2; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontCollection1_FWD_DEFINED__ #define __IDWriteFontCollection1_FWD_DEFINED__ typedef interface IDWriteFontCollection1 IDWriteFontCollection1; #ifdef __cplusplus interface IDWriteFontCollection1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontCollection2_FWD_DEFINED__ #define __IDWriteFontCollection2_FWD_DEFINED__ typedef interface IDWriteFontCollection2 IDWriteFontCollection2; #ifdef __cplusplus interface IDWriteFontCollection2; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontCollection3_FWD_DEFINED__ #define __IDWriteFontCollection3_FWD_DEFINED__ typedef interface IDWriteFontCollection3 IDWriteFontCollection3; #ifdef __cplusplus interface IDWriteFontCollection3; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFaceReference_FWD_DEFINED__ #define __IDWriteFontFaceReference_FWD_DEFINED__ typedef interface IDWriteFontFaceReference IDWriteFontFaceReference; #ifdef __cplusplus interface IDWriteFontFaceReference; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFaceReference1_FWD_DEFINED__ #define __IDWriteFontFaceReference1_FWD_DEFINED__ typedef interface IDWriteFontFaceReference1 IDWriteFontFaceReference1; #ifdef __cplusplus interface IDWriteFontFaceReference1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontList1_FWD_DEFINED__ #define __IDWriteFontList1_FWD_DEFINED__ typedef interface IDWriteFontList1 IDWriteFontList1; #ifdef __cplusplus interface IDWriteFontList1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontList2_FWD_DEFINED__ #define __IDWriteFontList2_FWD_DEFINED__ typedef interface IDWriteFontList2 IDWriteFontList2; #ifdef __cplusplus interface IDWriteFontList2; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontSet2_FWD_DEFINED__ #define __IDWriteFontSet2_FWD_DEFINED__ typedef interface IDWriteFontSet2 IDWriteFontSet2; #ifdef __cplusplus interface IDWriteFontSet2; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontSet3_FWD_DEFINED__ #define __IDWriteFontSet3_FWD_DEFINED__ typedef interface IDWriteFontSet3 IDWriteFontSet3; #ifdef __cplusplus interface IDWriteFontSet3; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFace3_FWD_DEFINED__ #define __IDWriteFontFace3_FWD_DEFINED__ typedef interface IDWriteFontFace3 IDWriteFontFace3; #ifdef __cplusplus interface IDWriteFontFace3; #endif /* __cplusplus */ #endif #ifndef __IDWriteTextFormat2_FWD_DEFINED__ #define __IDWriteTextFormat2_FWD_DEFINED__ typedef interface IDWriteTextFormat2 IDWriteTextFormat2; #ifdef __cplusplus interface IDWriteTextFormat2; #endif /* __cplusplus */ #endif #ifndef __IDWriteTextFormat3_FWD_DEFINED__ #define __IDWriteTextFormat3_FWD_DEFINED__ typedef interface IDWriteTextFormat3 IDWriteTextFormat3; #ifdef __cplusplus interface IDWriteTextFormat3; #endif /* __cplusplus */ #endif #ifndef __IDWriteTextLayout3_FWD_DEFINED__ #define __IDWriteTextLayout3_FWD_DEFINED__ typedef interface IDWriteTextLayout3 IDWriteTextLayout3; #ifdef __cplusplus interface IDWriteTextLayout3; #endif /* __cplusplus */ #endif #ifndef __IDWriteTextLayout4_FWD_DEFINED__ #define __IDWriteTextLayout4_FWD_DEFINED__ typedef interface IDWriteTextLayout4 IDWriteTextLayout4; #ifdef __cplusplus interface IDWriteTextLayout4; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFallback1_FWD_DEFINED__ #define __IDWriteFontFallback1_FWD_DEFINED__ typedef interface IDWriteFontFallback1 IDWriteFontFallback1; #ifdef __cplusplus interface IDWriteFontFallback1; #endif /* __cplusplus */ #endif #ifndef __IDWriteGdiInterop1_FWD_DEFINED__ #define __IDWriteGdiInterop1_FWD_DEFINED__ typedef interface IDWriteGdiInterop1 IDWriteGdiInterop1; #ifdef __cplusplus interface IDWriteGdiInterop1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontSetBuilder_FWD_DEFINED__ #define __IDWriteFontSetBuilder_FWD_DEFINED__ typedef interface IDWriteFontSetBuilder IDWriteFontSetBuilder; #ifdef __cplusplus interface IDWriteFontSetBuilder; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontSetBuilder1_FWD_DEFINED__ #define __IDWriteFontSetBuilder1_FWD_DEFINED__ typedef interface IDWriteFontSetBuilder1 IDWriteFontSetBuilder1; #ifdef __cplusplus interface IDWriteFontSetBuilder1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontSetBuilder2_FWD_DEFINED__ #define __IDWriteFontSetBuilder2_FWD_DEFINED__ typedef interface IDWriteFontSetBuilder2 IDWriteFontSetBuilder2; #ifdef __cplusplus interface IDWriteFontSetBuilder2; #endif /* __cplusplus */ #endif #ifndef __IDWriteFactory3_FWD_DEFINED__ #define __IDWriteFactory3_FWD_DEFINED__ typedef interface IDWriteFactory3 IDWriteFactory3; #ifdef __cplusplus interface IDWriteFactory3; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFace4_FWD_DEFINED__ #define __IDWriteFontFace4_FWD_DEFINED__ typedef interface IDWriteFontFace4 IDWriteFontFace4; #ifdef __cplusplus interface IDWriteFontFace4; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFace5_FWD_DEFINED__ #define __IDWriteFontFace5_FWD_DEFINED__ typedef interface IDWriteFontFace5 IDWriteFontFace5; #ifdef __cplusplus interface IDWriteFontFace5; #endif /* __cplusplus */ #endif #ifndef __IDWriteColorGlyphRunEnumerator1_FWD_DEFINED__ #define __IDWriteColorGlyphRunEnumerator1_FWD_DEFINED__ typedef interface IDWriteColorGlyphRunEnumerator1 IDWriteColorGlyphRunEnumerator1; #ifdef __cplusplus interface IDWriteColorGlyphRunEnumerator1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFactory4_FWD_DEFINED__ #define __IDWriteFactory4_FWD_DEFINED__ typedef interface IDWriteFactory4 IDWriteFactory4; #ifdef __cplusplus interface IDWriteFactory4; #endif /* __cplusplus */ #endif #ifndef __IDWriteAsyncResult_FWD_DEFINED__ #define __IDWriteAsyncResult_FWD_DEFINED__ typedef interface IDWriteAsyncResult IDWriteAsyncResult; #ifdef __cplusplus interface IDWriteAsyncResult; #endif /* __cplusplus */ #endif #ifndef __IDWriteRemoteFontFileStream_FWD_DEFINED__ #define __IDWriteRemoteFontFileStream_FWD_DEFINED__ typedef interface IDWriteRemoteFontFileStream IDWriteRemoteFontFileStream; #ifdef __cplusplus interface IDWriteRemoteFontFileStream; #endif /* __cplusplus */ #endif #ifndef __IDWriteRemoteFontFileLoader_FWD_DEFINED__ #define __IDWriteRemoteFontFileLoader_FWD_DEFINED__ typedef interface IDWriteRemoteFontFileLoader IDWriteRemoteFontFileLoader; #ifdef __cplusplus interface IDWriteRemoteFontFileLoader; #endif /* __cplusplus */ #endif #ifndef __IDWriteInMemoryFontFileLoader_FWD_DEFINED__ #define __IDWriteInMemoryFontFileLoader_FWD_DEFINED__ typedef interface IDWriteInMemoryFontFileLoader IDWriteInMemoryFontFileLoader; #ifdef __cplusplus interface IDWriteInMemoryFontFileLoader; #endif /* __cplusplus */ #endif #ifndef __IDWriteFactory5_FWD_DEFINED__ #define __IDWriteFactory5_FWD_DEFINED__ typedef interface IDWriteFactory5 IDWriteFactory5; #ifdef __cplusplus interface IDWriteFactory5; #endif /* __cplusplus */ #endif #ifndef __IDWriteFactory6_FWD_DEFINED__ #define __IDWriteFactory6_FWD_DEFINED__ typedef interface IDWriteFactory6 IDWriteFactory6; #ifdef __cplusplus interface IDWriteFactory6; #endif /* __cplusplus */ #endif #ifndef __IDWriteFactory7_FWD_DEFINED__ #define __IDWriteFactory7_FWD_DEFINED__ typedef interface IDWriteFactory7 IDWriteFactory7; #ifdef __cplusplus interface IDWriteFactory7; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #ifdef __cplusplus extern "C" { #endif #ifndef __IDWriteFontFaceReference_FWD_DEFINED__ #define __IDWriteFontFaceReference_FWD_DEFINED__ typedef interface IDWriteFontFaceReference IDWriteFontFaceReference; #ifdef __cplusplus interface IDWriteFontFaceReference; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFaceReference1_FWD_DEFINED__ #define __IDWriteFontFaceReference1_FWD_DEFINED__ typedef interface IDWriteFontFaceReference1 IDWriteFontFaceReference1; #ifdef __cplusplus interface IDWriteFontFaceReference1; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFace3_FWD_DEFINED__ #define __IDWriteFontFace3_FWD_DEFINED__ typedef interface IDWriteFontFace3 IDWriteFontFace3; #ifdef __cplusplus interface IDWriteFontFace3; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontSet_FWD_DEFINED__ #define __IDWriteFontSet_FWD_DEFINED__ typedef interface IDWriteFontSet IDWriteFontSet; #ifdef __cplusplus interface IDWriteFontSet; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontDownloadQueue_FWD_DEFINED__ #define __IDWriteFontDownloadQueue_FWD_DEFINED__ typedef interface IDWriteFontDownloadQueue IDWriteFontDownloadQueue; #ifdef __cplusplus interface IDWriteFontDownloadQueue; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontFace5_FWD_DEFINED__ #define __IDWriteFontFace5_FWD_DEFINED__ typedef interface IDWriteFontFace5 IDWriteFontFace5; #ifdef __cplusplus interface IDWriteFontFace5; #endif /* __cplusplus */ #endif #ifndef __IDWriteFontList2_FWD_DEFINED__ #define __IDWriteFontList2_FWD_DEFINED__ typedef interface IDWriteFontList2 IDWriteFontList2; #ifdef __cplusplus interface IDWriteFontList2; #endif /* __cplusplus */ #endif #ifndef _WINGDI_ typedef struct FONTSIGNATURE FONTSIGNATURE; #endif /* _WINGDI_ */ typedef enum DWRITE_LOCALITY { DWRITE_LOCALITY_REMOTE = 0, DWRITE_LOCALITY_PARTIAL = 1, DWRITE_LOCALITY_LOCAL = 2 } DWRITE_LOCALITY; typedef enum DWRITE_RENDERING_MODE1 { DWRITE_RENDERING_MODE1_DEFAULT = 0, DWRITE_RENDERING_MODE1_ALIASED = 1, DWRITE_RENDERING_MODE1_GDI_CLASSIC = 2, DWRITE_RENDERING_MODE1_GDI_NATURAL = 3, DWRITE_RENDERING_MODE1_NATURAL = 4, DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC = 5, DWRITE_RENDERING_MODE1_OUTLINE = 6, DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED = 7 } DWRITE_RENDERING_MODE1; typedef enum DWRITE_FONT_PROPERTY_ID { DWRITE_FONT_PROPERTY_ID_NONE = 0, DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME = 1, DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME = 2, DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME = 3, DWRITE_FONT_PROPERTY_ID_FULL_NAME = 4, DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME = 5, DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME = 6, DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG = 7, DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG = 8, DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG = 9, DWRITE_FONT_PROPERTY_ID_WEIGHT = 10, DWRITE_FONT_PROPERTY_ID_STRETCH = 11, DWRITE_FONT_PROPERTY_ID_STYLE = 12, DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME = 13, DWRITE_FONT_PROPERTY_ID_TOTAL = DWRITE_FONT_PROPERTY_ID_STYLE + 1, DWRITE_FONT_PROPERTY_ID_TOTAL_RS3 = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME + 1, DWRITE_FONT_PROPERTY_ID_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, DWRITE_FONT_PROPERTY_ID_FACE_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME } DWRITE_FONT_PROPERTY_ID; typedef struct DWRITE_FONT_PROPERTY { DWRITE_FONT_PROPERTY_ID propertyId; const WCHAR *propertyValue; const WCHAR *localeName; } DWRITE_FONT_PROPERTY; #ifdef __cplusplus #define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (static_cast(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d))) #else #define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d)) #endif typedef enum DWRITE_FONT_AXIS_TAG { DWRITE_FONT_AXIS_TAG_WEIGHT = 0x74686777, DWRITE_FONT_AXIS_TAG_WIDTH = 0x68746477, DWRITE_FONT_AXIS_TAG_SLANT = 0x746e6c73, DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = 0x7a73706f, DWRITE_FONT_AXIS_TAG_ITALIC = 0x6c617469 } DWRITE_FONT_AXIS_TAG; typedef enum DWRITE_FONT_SOURCE_TYPE { DWRITE_FONT_SOURCE_TYPE_UNKNOWN = 0, DWRITE_FONT_SOURCE_TYPE_PER_MACHINE = 1, DWRITE_FONT_SOURCE_TYPE_PER_USER = 2, DWRITE_FONT_SOURCE_TYPE_APPX_PACKAGE = 3, DWRITE_FONT_SOURCE_TYPE_REMOTE_FONT_PROVIDER = 4 } DWRITE_FONT_SOURCE_TYPE; typedef struct DWRITE_FONT_AXIS_VALUE { DWRITE_FONT_AXIS_TAG axisTag; FLOAT value; } DWRITE_FONT_AXIS_VALUE; typedef struct DWRITE_FONT_AXIS_RANGE { DWRITE_FONT_AXIS_TAG axisTag; FLOAT minValue; FLOAT maxValue; } DWRITE_FONT_AXIS_RANGE; typedef enum DWRITE_AUTOMATIC_FONT_AXES { DWRITE_AUTOMATIC_FONT_AXES_NONE = 0, DWRITE_AUTOMATIC_FONT_AXES_OPTICAL_SIZE = 1 } DWRITE_AUTOMATIC_FONT_AXES; typedef enum DWRITE_FONT_AXIS_ATTRIBUTES { DWRITE_FONT_AXIS_ATTRIBUTES_NONE = 0, DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE = 1, DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN = 2 } DWRITE_FONT_AXIS_ATTRIBUTES; typedef enum DWRITE_FONT_FAMILY_MODEL { DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC = 0, DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE = 1 } DWRITE_FONT_FAMILY_MODEL; /***************************************************************************** * IDWriteFontDownloadListener interface */ #ifndef __IDWriteFontDownloadListener_INTERFACE_DEFINED__ #define __IDWriteFontDownloadListener_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88,0x1b, 0xdb,0xe4,0xdc,0x72,0xfd,0xa7); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("b06fe5b9-43ec-4393-881b-dbe4dc72fda7") IDWriteFontDownloadListener : public IUnknown { virtual void STDMETHODCALLTYPE DownloadCompleted( IDWriteFontDownloadQueue *queue, IUnknown *context, HRESULT result) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88,0x1b, 0xdb,0xe4,0xdc,0x72,0xfd,0xa7) #endif #else typedef struct IDWriteFontDownloadListenerVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontDownloadListener *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontDownloadListener *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontDownloadListener *This); /*** IDWriteFontDownloadListener methods ***/ void (STDMETHODCALLTYPE *DownloadCompleted)( IDWriteFontDownloadListener *This, IDWriteFontDownloadQueue *queue, IUnknown *context, HRESULT result); END_INTERFACE } IDWriteFontDownloadListenerVtbl; interface IDWriteFontDownloadListener { CONST_VTBL IDWriteFontDownloadListenerVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontDownloadListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontDownloadListener_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontDownloadListener_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontDownloadListener methods ***/ #define IDWriteFontDownloadListener_DownloadCompleted(This,queue,context,result) (This)->lpVtbl->DownloadCompleted(This,queue,context,result) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontDownloadListener_QueryInterface(IDWriteFontDownloadListener* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontDownloadListener_AddRef(IDWriteFontDownloadListener* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontDownloadListener_Release(IDWriteFontDownloadListener* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontDownloadListener methods ***/ static FORCEINLINE void IDWriteFontDownloadListener_DownloadCompleted(IDWriteFontDownloadListener* This,IDWriteFontDownloadQueue *queue,IUnknown *context,HRESULT result) { This->lpVtbl->DownloadCompleted(This,queue,context,result); } #endif #endif #endif #endif /* __IDWriteFontDownloadListener_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontDownloadQueue interface */ #ifndef __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ #define __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83,0x2e, 0xf6,0x0d,0x43,0x1f,0x7e,0x91); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("b71e6052-5aea-4fa3-832e-f60d431f7e91") IDWriteFontDownloadQueue : public IUnknown { virtual HRESULT STDMETHODCALLTYPE AddListener( IDWriteFontDownloadListener *listener, UINT32 *token) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveListener( UINT32 token) = 0; virtual WINBOOL STDMETHODCALLTYPE IsEmpty( ) = 0; virtual HRESULT STDMETHODCALLTYPE BeginDownload( IUnknown *context) = 0; virtual HRESULT STDMETHODCALLTYPE CancelDownload( ) = 0; virtual UINT64 STDMETHODCALLTYPE GetGenerationCount( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83,0x2e, 0xf6,0x0d,0x43,0x1f,0x7e,0x91) #endif #else typedef struct IDWriteFontDownloadQueueVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontDownloadQueue *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontDownloadQueue *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontDownloadQueue *This); /*** IDWriteFontDownloadQueue methods ***/ HRESULT (STDMETHODCALLTYPE *AddListener)( IDWriteFontDownloadQueue *This, IDWriteFontDownloadListener *listener, UINT32 *token); HRESULT (STDMETHODCALLTYPE *RemoveListener)( IDWriteFontDownloadQueue *This, UINT32 token); WINBOOL (STDMETHODCALLTYPE *IsEmpty)( IDWriteFontDownloadQueue *This); HRESULT (STDMETHODCALLTYPE *BeginDownload)( IDWriteFontDownloadQueue *This, IUnknown *context); HRESULT (STDMETHODCALLTYPE *CancelDownload)( IDWriteFontDownloadQueue *This); UINT64 (STDMETHODCALLTYPE *GetGenerationCount)( IDWriteFontDownloadQueue *This); END_INTERFACE } IDWriteFontDownloadQueueVtbl; interface IDWriteFontDownloadQueue { CONST_VTBL IDWriteFontDownloadQueueVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontDownloadQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontDownloadQueue_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontDownloadQueue_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontDownloadQueue methods ***/ #define IDWriteFontDownloadQueue_AddListener(This,listener,token) (This)->lpVtbl->AddListener(This,listener,token) #define IDWriteFontDownloadQueue_RemoveListener(This,token) (This)->lpVtbl->RemoveListener(This,token) #define IDWriteFontDownloadQueue_IsEmpty(This) (This)->lpVtbl->IsEmpty(This) #define IDWriteFontDownloadQueue_BeginDownload(This,context) (This)->lpVtbl->BeginDownload(This,context) #define IDWriteFontDownloadQueue_CancelDownload(This) (This)->lpVtbl->CancelDownload(This) #define IDWriteFontDownloadQueue_GetGenerationCount(This) (This)->lpVtbl->GetGenerationCount(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontDownloadQueue_QueryInterface(IDWriteFontDownloadQueue* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontDownloadQueue_AddRef(IDWriteFontDownloadQueue* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontDownloadQueue_Release(IDWriteFontDownloadQueue* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontDownloadQueue methods ***/ static FORCEINLINE HRESULT IDWriteFontDownloadQueue_AddListener(IDWriteFontDownloadQueue* This,IDWriteFontDownloadListener *listener,UINT32 *token) { return This->lpVtbl->AddListener(This,listener,token); } static FORCEINLINE HRESULT IDWriteFontDownloadQueue_RemoveListener(IDWriteFontDownloadQueue* This,UINT32 token) { return This->lpVtbl->RemoveListener(This,token); } static FORCEINLINE WINBOOL IDWriteFontDownloadQueue_IsEmpty(IDWriteFontDownloadQueue* This) { return This->lpVtbl->IsEmpty(This); } static FORCEINLINE HRESULT IDWriteFontDownloadQueue_BeginDownload(IDWriteFontDownloadQueue* This,IUnknown *context) { return This->lpVtbl->BeginDownload(This,context); } static FORCEINLINE HRESULT IDWriteFontDownloadQueue_CancelDownload(IDWriteFontDownloadQueue* This) { return This->lpVtbl->CancelDownload(This); } static FORCEINLINE UINT64 IDWriteFontDownloadQueue_GetGenerationCount(IDWriteFontDownloadQueue* This) { return This->lpVtbl->GetGenerationCount(This); } #endif #endif #endif #endif /* __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteRenderingParams3 interface */ #ifndef __IDWriteRenderingParams3_INTERFACE_DEFINED__ #define __IDWriteRenderingParams3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c,0x5c, 0xe4,0x4c,0xc2,0xd8,0x67,0xdc); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("b7924baa-391b-412a-8c5c-e44cc2d867dc") IDWriteRenderingParams3 : public IDWriteRenderingParams2 { virtual DWRITE_RENDERING_MODE1 STDMETHODCALLTYPE GetRenderingMode1( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c,0x5c, 0xe4,0x4c,0xc2,0xd8,0x67,0xdc) #endif #else typedef struct IDWriteRenderingParams3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteRenderingParams3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteRenderingParams3 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteRenderingParams3 *This); /*** IDWriteRenderingParams methods ***/ FLOAT (STDMETHODCALLTYPE *GetGamma)( IDWriteRenderingParams3 *This); FLOAT (STDMETHODCALLTYPE *GetEnhancedContrast)( IDWriteRenderingParams3 *This); FLOAT (STDMETHODCALLTYPE *GetClearTypeLevel)( IDWriteRenderingParams3 *This); DWRITE_PIXEL_GEOMETRY (STDMETHODCALLTYPE *GetPixelGeometry)( IDWriteRenderingParams3 *This); DWRITE_RENDERING_MODE (STDMETHODCALLTYPE *GetRenderingMode)( IDWriteRenderingParams3 *This); /*** IDWriteRenderingParams1 methods ***/ FLOAT (STDMETHODCALLTYPE *GetGrayscaleEnhancedContrast)( IDWriteRenderingParams3 *This); /*** IDWriteRenderingParams2 methods ***/ DWRITE_GRID_FIT_MODE (STDMETHODCALLTYPE *GetGridFitMode)( IDWriteRenderingParams3 *This); /*** IDWriteRenderingParams3 methods ***/ DWRITE_RENDERING_MODE1 (STDMETHODCALLTYPE *GetRenderingMode1)( IDWriteRenderingParams3 *This); END_INTERFACE } IDWriteRenderingParams3Vtbl; interface IDWriteRenderingParams3 { CONST_VTBL IDWriteRenderingParams3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteRenderingParams3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteRenderingParams3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteRenderingParams3_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteRenderingParams methods ***/ #define IDWriteRenderingParams3_GetGamma(This) (This)->lpVtbl->GetGamma(This) #define IDWriteRenderingParams3_GetEnhancedContrast(This) (This)->lpVtbl->GetEnhancedContrast(This) #define IDWriteRenderingParams3_GetClearTypeLevel(This) (This)->lpVtbl->GetClearTypeLevel(This) #define IDWriteRenderingParams3_GetPixelGeometry(This) (This)->lpVtbl->GetPixelGeometry(This) #define IDWriteRenderingParams3_GetRenderingMode(This) (This)->lpVtbl->GetRenderingMode(This) /*** IDWriteRenderingParams1 methods ***/ #define IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(This) (This)->lpVtbl->GetGrayscaleEnhancedContrast(This) /*** IDWriteRenderingParams2 methods ***/ #define IDWriteRenderingParams3_GetGridFitMode(This) (This)->lpVtbl->GetGridFitMode(This) /*** IDWriteRenderingParams3 methods ***/ #define IDWriteRenderingParams3_GetRenderingMode1(This) (This)->lpVtbl->GetRenderingMode1(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteRenderingParams3_QueryInterface(IDWriteRenderingParams3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteRenderingParams3_AddRef(IDWriteRenderingParams3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteRenderingParams3_Release(IDWriteRenderingParams3* This) { return This->lpVtbl->Release(This); } /*** IDWriteRenderingParams methods ***/ static FORCEINLINE FLOAT IDWriteRenderingParams3_GetGamma(IDWriteRenderingParams3* This) { return This->lpVtbl->GetGamma(This); } static FORCEINLINE FLOAT IDWriteRenderingParams3_GetEnhancedContrast(IDWriteRenderingParams3* This) { return This->lpVtbl->GetEnhancedContrast(This); } static FORCEINLINE FLOAT IDWriteRenderingParams3_GetClearTypeLevel(IDWriteRenderingParams3* This) { return This->lpVtbl->GetClearTypeLevel(This); } static FORCEINLINE DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams3_GetPixelGeometry(IDWriteRenderingParams3* This) { return This->lpVtbl->GetPixelGeometry(This); } static FORCEINLINE DWRITE_RENDERING_MODE IDWriteRenderingParams3_GetRenderingMode(IDWriteRenderingParams3* This) { return This->lpVtbl->GetRenderingMode(This); } /*** IDWriteRenderingParams1 methods ***/ static FORCEINLINE FLOAT IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(IDWriteRenderingParams3* This) { return This->lpVtbl->GetGrayscaleEnhancedContrast(This); } /*** IDWriteRenderingParams2 methods ***/ static FORCEINLINE DWRITE_GRID_FIT_MODE IDWriteRenderingParams3_GetGridFitMode(IDWriteRenderingParams3* This) { return This->lpVtbl->GetGridFitMode(This); } /*** IDWriteRenderingParams3 methods ***/ static FORCEINLINE DWRITE_RENDERING_MODE1 IDWriteRenderingParams3_GetRenderingMode1(IDWriteRenderingParams3* This) { return This->lpVtbl->GetRenderingMode1(This); } #endif #endif #endif #endif /* __IDWriteRenderingParams3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteStringList interface */ #ifndef __IDWriteStringList_INTERFACE_DEFINED__ #define __IDWriteStringList_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteStringList, 0xcfee3140, 0x1257, 0x47ca, 0x8b,0x85, 0x31,0xbf,0xcf,0x3f,0x2d,0x0e); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("cfee3140-1257-47ca-8b85-31bfcf3f2d0e") IDWriteStringList : public IUnknown { virtual UINT32 STDMETHODCALLTYPE GetCount( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetLocaleNameLength( UINT32 index, UINT32 *length) = 0; virtual HRESULT STDMETHODCALLTYPE GetLocaleName( UINT32 index, WCHAR *name, UINT32 size) = 0; virtual HRESULT STDMETHODCALLTYPE GetStringLength( UINT32 index, UINT32 *length) = 0; virtual HRESULT STDMETHODCALLTYPE GetString( UINT32 index, WCHAR *string, UINT32 size) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteStringList, 0xcfee3140, 0x1257, 0x47ca, 0x8b,0x85, 0x31,0xbf,0xcf,0x3f,0x2d,0x0e) #endif #else typedef struct IDWriteStringListVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteStringList *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteStringList *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteStringList *This); /*** IDWriteStringList methods ***/ UINT32 (STDMETHODCALLTYPE *GetCount)( IDWriteStringList *This); HRESULT (STDMETHODCALLTYPE *GetLocaleNameLength)( IDWriteStringList *This, UINT32 index, UINT32 *length); HRESULT (STDMETHODCALLTYPE *GetLocaleName)( IDWriteStringList *This, UINT32 index, WCHAR *name, UINT32 size); HRESULT (STDMETHODCALLTYPE *GetStringLength)( IDWriteStringList *This, UINT32 index, UINT32 *length); HRESULT (STDMETHODCALLTYPE *GetString)( IDWriteStringList *This, UINT32 index, WCHAR *string, UINT32 size); END_INTERFACE } IDWriteStringListVtbl; interface IDWriteStringList { CONST_VTBL IDWriteStringListVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteStringList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteStringList_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteStringList_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteStringList methods ***/ #define IDWriteStringList_GetCount(This) (This)->lpVtbl->GetCount(This) #define IDWriteStringList_GetLocaleNameLength(This,index,length) (This)->lpVtbl->GetLocaleNameLength(This,index,length) #define IDWriteStringList_GetLocaleName(This,index,name,size) (This)->lpVtbl->GetLocaleName(This,index,name,size) #define IDWriteStringList_GetStringLength(This,index,length) (This)->lpVtbl->GetStringLength(This,index,length) #define IDWriteStringList_GetString(This,index,string,size) (This)->lpVtbl->GetString(This,index,string,size) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteStringList_QueryInterface(IDWriteStringList* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteStringList_AddRef(IDWriteStringList* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteStringList_Release(IDWriteStringList* This) { return This->lpVtbl->Release(This); } /*** IDWriteStringList methods ***/ static FORCEINLINE UINT32 IDWriteStringList_GetCount(IDWriteStringList* This) { return This->lpVtbl->GetCount(This); } static FORCEINLINE HRESULT IDWriteStringList_GetLocaleNameLength(IDWriteStringList* This,UINT32 index,UINT32 *length) { return This->lpVtbl->GetLocaleNameLength(This,index,length); } static FORCEINLINE HRESULT IDWriteStringList_GetLocaleName(IDWriteStringList* This,UINT32 index,WCHAR *name,UINT32 size) { return This->lpVtbl->GetLocaleName(This,index,name,size); } static FORCEINLINE HRESULT IDWriteStringList_GetStringLength(IDWriteStringList* This,UINT32 index,UINT32 *length) { return This->lpVtbl->GetStringLength(This,index,length); } static FORCEINLINE HRESULT IDWriteStringList_GetString(IDWriteStringList* This,UINT32 index,WCHAR *string,UINT32 size) { return This->lpVtbl->GetString(This,index,string,size); } #endif #endif #endif #endif /* __IDWriteStringList_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet interface */ #ifndef __IDWriteFontSet_INTERFACE_DEFINED__ #define __IDWriteFontSet_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6b); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("53585141-d9f8-4095-8321-d73cf6bd116b") IDWriteFontSet : public IUnknown { virtual UINT32 STDMETHODCALLTYPE GetFontCount( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( UINT32 index, IDWriteFontFaceReference **reference) = 0; virtual HRESULT STDMETHODCALLTYPE FindFontFaceReference( IDWriteFontFaceReference *reference, UINT32 *index, WINBOOL *exists) = 0; virtual HRESULT STDMETHODCALLTYPE FindFontFace( IDWriteFontFace *fontface, UINT32 *index, WINBOOL *exists) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyValues__( DWRITE_FONT_PROPERTY_ID id, IDWriteStringList **values) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyValues_( DWRITE_FONT_PROPERTY_ID id, const WCHAR *preferred_locales, IDWriteStringList **values) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyValues( UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL *exists, IDWriteLocalizedStrings **values) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyOccurrenceCount( const DWRITE_FONT_PROPERTY *property, UINT32 *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts_( const WCHAR *family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( const DWRITE_FONT_PROPERTY *props, UINT32 count, IDWriteFontSet **fontset) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6b) #endif #else typedef struct IDWriteFontSetVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontSet *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontSet *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontSet *This); /*** IDWriteFontSet methods ***/ UINT32 (STDMETHODCALLTYPE *GetFontCount)( IDWriteFontSet *This); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontSet *This, UINT32 index, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( IDWriteFontSet *This, IDWriteFontFaceReference *reference, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *FindFontFace)( IDWriteFontSet *This, IDWriteFontFace *fontface, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( IDWriteFontSet *This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList **values); HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( IDWriteFontSet *This, DWRITE_FONT_PROPERTY_ID id, const WCHAR *preferred_locales, IDWriteStringList **values); HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( IDWriteFontSet *This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL *exists, IDWriteLocalizedStrings **values); HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( IDWriteFontSet *This, const DWRITE_FONT_PROPERTY *property, UINT32 *count); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( IDWriteFontSet *This, const WCHAR *family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( IDWriteFontSet *This, const DWRITE_FONT_PROPERTY *props, UINT32 count, IDWriteFontSet **fontset); END_INTERFACE } IDWriteFontSetVtbl; interface IDWriteFontSet { CONST_VTBL IDWriteFontSetVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontSet_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontSet_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontSet methods ***/ #define IDWriteFontSet_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) #define IDWriteFontSet_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) #define IDWriteFontSet_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) #define IDWriteFontSet_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) #define IDWriteFontSet_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) #define IDWriteFontSet_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) #define IDWriteFontSet_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) #define IDWriteFontSet_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) #define IDWriteFontSet_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) #define IDWriteFontSet_GetMatchingFonts(This,props,count,fontset) (This)->lpVtbl->GetMatchingFonts(This,props,count,fontset) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontSet_QueryInterface(IDWriteFontSet* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontSet_AddRef(IDWriteFontSet* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontSet_Release(IDWriteFontSet* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static FORCEINLINE UINT32 IDWriteFontSet_GetFontCount(IDWriteFontSet* This) { return This->lpVtbl->GetFontCount(This); } static FORCEINLINE HRESULT IDWriteFontSet_GetFontFaceReference(IDWriteFontSet* This,UINT32 index,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,index,reference); } static FORCEINLINE HRESULT IDWriteFontSet_FindFontFaceReference(IDWriteFontSet* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); } static FORCEINLINE HRESULT IDWriteFontSet_FindFontFace(IDWriteFontSet* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFontFace(This,fontface,index,exists); } static FORCEINLINE HRESULT IDWriteFontSet_GetPropertyValues__(IDWriteFontSet* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { return This->lpVtbl->GetPropertyValues__(This,id,values); } static FORCEINLINE HRESULT IDWriteFontSet_GetPropertyValues_(IDWriteFontSet* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); } static FORCEINLINE HRESULT IDWriteFontSet_GetPropertyValues(IDWriteFontSet* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); } static FORCEINLINE HRESULT IDWriteFontSet_GetPropertyOccurrenceCount(IDWriteFontSet* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); } static FORCEINLINE HRESULT IDWriteFontSet_GetMatchingFonts_(IDWriteFontSet* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); } static FORCEINLINE HRESULT IDWriteFontSet_GetMatchingFonts(IDWriteFontSet* This,const DWRITE_FONT_PROPERTY *props,UINT32 count,IDWriteFontSet **fontset) { return This->lpVtbl->GetMatchingFonts(This,props,count,fontset); } #endif #endif #endif #endif /* __IDWriteFontSet_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontResource interface */ #ifndef __IDWriteFontResource_INTERFACE_DEFINED__ #define __IDWriteFontResource_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98,0x7f, 0xb9,0x75,0x55,0x1c,0x50,0xf2); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("1f803a76-6871-48e8-987f-b975551c50f2") IDWriteFontResource : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetFontFile( IDWriteFontFile **fontfile) = 0; virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex( ) = 0; virtual UINT32 STDMETHODCALLTYPE GetFontAxisCount( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetDefaultFontAxisValues( const DWRITE_FONT_AXIS_VALUE *values, UINT32 num_values) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges( const DWRITE_FONT_AXIS_RANGE *ranges, UINT32 num_ranges) = 0; virtual DWRITE_FONT_AXIS_ATTRIBUTES STDMETHODCALLTYPE GetFontAxisAttributes( UINT32 axis) = 0; virtual HRESULT STDMETHODCALLTYPE GetAxisNames( UINT32 axis, IDWriteLocalizedStrings **names) = 0; virtual UINT32 STDMETHODCALLTYPE GetAxisValueNameCount( UINT32 axis) = 0; virtual HRESULT STDMETHODCALLTYPE GetAxisValueNames( UINT32 axis, UINT32 axis_value, DWRITE_FONT_AXIS_RANGE *axis_range, IDWriteLocalizedStrings **names) = 0; virtual WINBOOL STDMETHODCALLTYPE HasVariations( ) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontFace( DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontFace5 **fontface) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontFaceReference1 **reference) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98,0x7f, 0xb9,0x75,0x55,0x1c,0x50,0xf2) #endif #else typedef struct IDWriteFontResourceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontResource *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontResource *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontResource *This); /*** IDWriteFontResource methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontFile)( IDWriteFontResource *This, IDWriteFontFile **fontfile); UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( IDWriteFontResource *This); UINT32 (STDMETHODCALLTYPE *GetFontAxisCount)( IDWriteFontResource *This); HRESULT (STDMETHODCALLTYPE *GetDefaultFontAxisValues)( IDWriteFontResource *This, const DWRITE_FONT_AXIS_VALUE *values, UINT32 num_values); HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( IDWriteFontResource *This, const DWRITE_FONT_AXIS_RANGE *ranges, UINT32 num_ranges); DWRITE_FONT_AXIS_ATTRIBUTES (STDMETHODCALLTYPE *GetFontAxisAttributes)( IDWriteFontResource *This, UINT32 axis); HRESULT (STDMETHODCALLTYPE *GetAxisNames)( IDWriteFontResource *This, UINT32 axis, IDWriteLocalizedStrings **names); UINT32 (STDMETHODCALLTYPE *GetAxisValueNameCount)( IDWriteFontResource *This, UINT32 axis); HRESULT (STDMETHODCALLTYPE *GetAxisValueNames)( IDWriteFontResource *This, UINT32 axis, UINT32 axis_value, DWRITE_FONT_AXIS_RANGE *axis_range, IDWriteLocalizedStrings **names); WINBOOL (STDMETHODCALLTYPE *HasVariations)( IDWriteFontResource *This); HRESULT (STDMETHODCALLTYPE *CreateFontFace)( IDWriteFontResource *This, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontFace5 **fontface); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( IDWriteFontResource *This, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontFaceReference1 **reference); END_INTERFACE } IDWriteFontResourceVtbl; interface IDWriteFontResource { CONST_VTBL IDWriteFontResourceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontResource_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontResource_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontResource methods ***/ #define IDWriteFontResource_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) #define IDWriteFontResource_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) #define IDWriteFontResource_GetFontAxisCount(This) (This)->lpVtbl->GetFontAxisCount(This) #define IDWriteFontResource_GetDefaultFontAxisValues(This,values,num_values) (This)->lpVtbl->GetDefaultFontAxisValues(This,values,num_values) #define IDWriteFontResource_GetFontAxisRanges(This,ranges,num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,ranges,num_ranges) #define IDWriteFontResource_GetFontAxisAttributes(This,axis) (This)->lpVtbl->GetFontAxisAttributes(This,axis) #define IDWriteFontResource_GetAxisNames(This,axis,names) (This)->lpVtbl->GetAxisNames(This,axis,names) #define IDWriteFontResource_GetAxisValueNameCount(This,axis) (This)->lpVtbl->GetAxisValueNameCount(This,axis) #define IDWriteFontResource_GetAxisValueNames(This,axis,axis_value,axis_range,names) (This)->lpVtbl->GetAxisValueNames(This,axis,axis_value,axis_range,names) #define IDWriteFontResource_HasVariations(This) (This)->lpVtbl->HasVariations(This) #define IDWriteFontResource_CreateFontFace(This,simulations,axis_values,num_values,fontface) (This)->lpVtbl->CreateFontFace(This,simulations,axis_values,num_values,fontface) #define IDWriteFontResource_CreateFontFaceReference(This,simulations,axis_values,num_values,reference) (This)->lpVtbl->CreateFontFaceReference(This,simulations,axis_values,num_values,reference) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontResource_QueryInterface(IDWriteFontResource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontResource_AddRef(IDWriteFontResource* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontResource_Release(IDWriteFontResource* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontResource methods ***/ static FORCEINLINE HRESULT IDWriteFontResource_GetFontFile(IDWriteFontResource* This,IDWriteFontFile **fontfile) { return This->lpVtbl->GetFontFile(This,fontfile); } static FORCEINLINE UINT32 IDWriteFontResource_GetFontFaceIndex(IDWriteFontResource* This) { return This->lpVtbl->GetFontFaceIndex(This); } static FORCEINLINE UINT32 IDWriteFontResource_GetFontAxisCount(IDWriteFontResource* This) { return This->lpVtbl->GetFontAxisCount(This); } static FORCEINLINE HRESULT IDWriteFontResource_GetDefaultFontAxisValues(IDWriteFontResource* This,const DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values) { return This->lpVtbl->GetDefaultFontAxisValues(This,values,num_values); } static FORCEINLINE HRESULT IDWriteFontResource_GetFontAxisRanges(IDWriteFontResource* This,const DWRITE_FONT_AXIS_RANGE *ranges,UINT32 num_ranges) { return This->lpVtbl->GetFontAxisRanges(This,ranges,num_ranges); } static FORCEINLINE DWRITE_FONT_AXIS_ATTRIBUTES IDWriteFontResource_GetFontAxisAttributes(IDWriteFontResource* This,UINT32 axis) { return This->lpVtbl->GetFontAxisAttributes(This,axis); } static FORCEINLINE HRESULT IDWriteFontResource_GetAxisNames(IDWriteFontResource* This,UINT32 axis,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetAxisNames(This,axis,names); } static FORCEINLINE UINT32 IDWriteFontResource_GetAxisValueNameCount(IDWriteFontResource* This,UINT32 axis) { return This->lpVtbl->GetAxisValueNameCount(This,axis); } static FORCEINLINE HRESULT IDWriteFontResource_GetAxisValueNames(IDWriteFontResource* This,UINT32 axis,UINT32 axis_value,DWRITE_FONT_AXIS_RANGE *axis_range,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetAxisValueNames(This,axis,axis_value,axis_range,names); } static FORCEINLINE WINBOOL IDWriteFontResource_HasVariations(IDWriteFontResource* This) { return This->lpVtbl->HasVariations(This); } static FORCEINLINE HRESULT IDWriteFontResource_CreateFontFace(IDWriteFontResource* This,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontFace5 **fontface) { return This->lpVtbl->CreateFontFace(This,simulations,axis_values,num_values,fontface); } static FORCEINLINE HRESULT IDWriteFontResource_CreateFontFaceReference(IDWriteFontResource* This,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontFaceReference1 **reference) { return This->lpVtbl->CreateFontFaceReference(This,simulations,axis_values,num_values,reference); } #endif #endif #endif #endif /* __IDWriteFontResource_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet1 interface */ #ifndef __IDWriteFontSet1_INTERFACE_DEFINED__ #define __IDWriteFontSet1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc,0x47, 0x7a,0xe3,0x53,0x0d,0xb4,0xd3); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7e9fda85-6c92-4053-bc47-7ae3530db4d3") IDWriteFontSet1 : public IDWriteFontSet { virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( const DWRITE_FONT_PROPERTY *property, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontSet1 **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetFirstFontResources( IDWriteFontSet1 **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts__( const UINT32 *indices, UINT32 num_indices, IDWriteFontSet1 **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts_( const DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, WINBOOL select_any_range, IDWriteFontSet1 **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts( const DWRITE_FONT_PROPERTY *props, UINT32 num_properties, WINBOOL select_any_property, IDWriteFontSet1 **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetFilteredFontIndices_( const DWRITE_FONT_AXIS_RANGE *ranges, UINT32 num_ranges, WINBOOL select_any_range, UINT32 *indices, UINT32 num_indices, UINT32 *actual_num_indices) = 0; virtual HRESULT STDMETHODCALLTYPE GetFilteredFontIndices( const DWRITE_FONT_PROPERTY *props, UINT32 num_properties, WINBOOL select_any_range, UINT32 *indices, UINT32 num_indices, UINT32 *actual_num_indices) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges_( UINT32 font_index, DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, UINT32 *actual_num_ranges) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges( DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, UINT32 *actual_num_ranges) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( UINT32 index, IDWriteFontFaceReference1 **reference) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontResource( UINT32 index, IDWriteFontResource **resource) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontFace( UINT32 index, IDWriteFontFace5 **fontface) = 0; virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( UINT32 index) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc,0x47, 0x7a,0xe3,0x53,0x0d,0xb4,0xd3) #endif #else typedef struct IDWriteFontSet1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontSet1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontSet1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontSet1 *This); /*** IDWriteFontSet methods ***/ UINT32 (STDMETHODCALLTYPE *GetFontCount)( IDWriteFontSet1 *This); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontSet1 *This, UINT32 index, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( IDWriteFontSet1 *This, IDWriteFontFaceReference *reference, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *FindFontFace)( IDWriteFontSet1 *This, IDWriteFontFace *fontface, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( IDWriteFontSet1 *This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList **values); HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( IDWriteFontSet1 *This, DWRITE_FONT_PROPERTY_ID id, const WCHAR *preferred_locales, IDWriteStringList **values); HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( IDWriteFontSet1 *This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL *exists, IDWriteLocalizedStrings **values); HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( IDWriteFontSet1 *This, const DWRITE_FONT_PROPERTY *property, UINT32 *count); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( IDWriteFontSet1 *This, const WCHAR *family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( IDWriteFontSet1 *This, const DWRITE_FONT_PROPERTY *props, UINT32 count, IDWriteFontSet **fontset); /*** IDWriteFontSet1 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( IDWriteFontSet1 *This, const DWRITE_FONT_PROPERTY *property, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( IDWriteFontSet1 *This, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( IDWriteFontSet1 *This, const UINT32 *indices, UINT32 num_indices, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( IDWriteFontSet1 *This, const DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, WINBOOL select_any_range, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( IDWriteFontSet1 *This, const DWRITE_FONT_PROPERTY *props, UINT32 num_properties, WINBOOL select_any_property, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( IDWriteFontSet1 *This, const DWRITE_FONT_PROPERTY *props, UINT32 num_properties, WINBOOL select_any_range, UINT32 *indices, UINT32 num_indices, UINT32 *actual_num_indices); HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( IDWriteFontSet1 *This, UINT32 font_index, DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, UINT32 *actual_num_ranges); HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( IDWriteFontSet1 *This, DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, UINT32 *actual_num_ranges); HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( IDWriteFontSet1 *This, UINT32 index, IDWriteFontFaceReference1 **reference); HRESULT (STDMETHODCALLTYPE *CreateFontResource)( IDWriteFontSet1 *This, UINT32 index, IDWriteFontResource **resource); HRESULT (STDMETHODCALLTYPE *CreateFontFace)( IDWriteFontSet1 *This, UINT32 index, IDWriteFontFace5 **fontface); DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( IDWriteFontSet1 *This, UINT32 index); END_INTERFACE } IDWriteFontSet1Vtbl; interface IDWriteFontSet1 { CONST_VTBL IDWriteFontSet1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontSet1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontSet1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontSet1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontSet methods ***/ #define IDWriteFontSet1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) #define IDWriteFontSet1_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) #define IDWriteFontSet1_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) #define IDWriteFontSet1_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) #define IDWriteFontSet1_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) #define IDWriteFontSet1_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) #define IDWriteFontSet1_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) #define IDWriteFontSet1_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) /*** IDWriteFontSet1 methods ***/ #define IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) #define IDWriteFontSet1_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) #define IDWriteFontSet1_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) #define IDWriteFontSet1_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) #define IDWriteFontSet1_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) #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) #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) #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) #define IDWriteFontSet1_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) #define IDWriteFontSet1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) #define IDWriteFontSet1_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) #define IDWriteFontSet1_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) #define IDWriteFontSet1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontSet1_QueryInterface(IDWriteFontSet1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontSet1_AddRef(IDWriteFontSet1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontSet1_Release(IDWriteFontSet1* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static FORCEINLINE UINT32 IDWriteFontSet1_GetFontCount(IDWriteFontSet1* This) { return This->lpVtbl->GetFontCount(This); } static FORCEINLINE HRESULT IDWriteFontSet1_FindFontFaceReference(IDWriteFontSet1* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); } static FORCEINLINE HRESULT IDWriteFontSet1_FindFontFace(IDWriteFontSet1* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFontFace(This,fontface,index,exists); } static FORCEINLINE HRESULT IDWriteFontSet1_GetPropertyValues__(IDWriteFontSet1* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { return This->lpVtbl->GetPropertyValues__(This,id,values); } static FORCEINLINE HRESULT IDWriteFontSet1_GetPropertyValues_(IDWriteFontSet1* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); } static FORCEINLINE HRESULT IDWriteFontSet1_GetPropertyValues(IDWriteFontSet1* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); } static FORCEINLINE HRESULT IDWriteFontSet1_GetPropertyOccurrenceCount(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); } static FORCEINLINE HRESULT IDWriteFontSet1_GetMatchingFonts_(IDWriteFontSet1* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); } /*** IDWriteFontSet1 methods ***/ static FORCEINLINE HRESULT IDWriteFontSet1_GetMatchingFonts(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); } static FORCEINLINE HRESULT IDWriteFontSet1_GetFirstFontResources(IDWriteFontSet1* This,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFirstFontResources(This,fontset); } static FORCEINLINE HRESULT IDWriteFontSet1_GetFilteredFonts__(IDWriteFontSet1* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); } static FORCEINLINE HRESULT IDWriteFontSet1_GetFilteredFonts_(IDWriteFontSet1* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); } static FORCEINLINE HRESULT IDWriteFontSet1_GetFilteredFonts(IDWriteFontSet1* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); } 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) { return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); } 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) { return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); } static FORCEINLINE HRESULT IDWriteFontSet1_GetFontAxisRanges_(IDWriteFontSet1* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); } static FORCEINLINE HRESULT IDWriteFontSet1_GetFontAxisRanges(IDWriteFontSet1* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); } static FORCEINLINE HRESULT IDWriteFontSet1_GetFontFaceReference(IDWriteFontSet1* This,UINT32 index,IDWriteFontFaceReference1 **reference) { return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); } static FORCEINLINE HRESULT IDWriteFontSet1_CreateFontResource(IDWriteFontSet1* This,UINT32 index,IDWriteFontResource **resource) { return This->lpVtbl->CreateFontResource(This,index,resource); } static FORCEINLINE HRESULT IDWriteFontSet1_CreateFontFace(IDWriteFontSet1* This,UINT32 index,IDWriteFontFace5 **fontface) { return This->lpVtbl->CreateFontFace(This,index,fontface); } static FORCEINLINE DWRITE_LOCALITY IDWriteFontSet1_GetFontLocality(IDWriteFontSet1* This,UINT32 index) { return This->lpVtbl->GetFontLocality(This,index); } #endif #endif #endif #endif /* __IDWriteFontSet1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFont3 interface */ #ifndef __IDWriteFont3_INTERFACE_DEFINED__ #define __IDWriteFont3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe,0x0b, 0xd9,0x12,0xe8,0x53,0x89,0x44); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") IDWriteFont3 : public IDWriteFont2 { virtual HRESULT STDMETHODCALLTYPE CreateFontFace( IDWriteFontFace3 **fontface) = 0; virtual WINBOOL STDMETHODCALLTYPE Equals( IDWriteFont *font) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( IDWriteFontFaceReference **reference) = 0; virtual WINBOOL STDMETHODCALLTYPE HasCharacter( UINT32 character) = 0; virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe,0x0b, 0xd9,0x12,0xe8,0x53,0x89,0x44) #endif #else typedef struct IDWriteFont3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFont3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFont3 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFont3 *This); /*** IDWriteFont methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontFamily)( IDWriteFont3 *This, IDWriteFontFamily **family); DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( IDWriteFont3 *This); DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( IDWriteFont3 *This); DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( IDWriteFont3 *This); WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( IDWriteFont3 *This); HRESULT (STDMETHODCALLTYPE *GetFaceNames)( IDWriteFont3 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( IDWriteFont3 *This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings **strings, WINBOOL *exists); DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( IDWriteFont3 *This); void (STDMETHODCALLTYPE *GetMetrics)( IDWriteFont3 *This, DWRITE_FONT_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *HasCharacter)( IDWriteFont3 *This, UINT32 value, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *CreateFontFace)( IDWriteFont3 *This, IDWriteFontFace **face); /*** IDWriteFont1 methods ***/ void (STDMETHODCALLTYPE *IDWriteFont1_GetMetrics)( IDWriteFont3 *This, DWRITE_FONT_METRICS1 *metrics); void (STDMETHODCALLTYPE *GetPanose)( IDWriteFont3 *This, DWRITE_PANOSE *panose); HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( IDWriteFont3 *This, UINT32 max_count, DWRITE_UNICODE_RANGE *ranges, UINT32 *count); WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( IDWriteFont3 *This); /*** IDWriteFont2 methods ***/ WINBOOL (STDMETHODCALLTYPE *IsColorFont)( IDWriteFont3 *This); /*** IDWriteFont3 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFont3_CreateFontFace)( IDWriteFont3 *This, IDWriteFontFace3 **fontface); WINBOOL (STDMETHODCALLTYPE *Equals)( IDWriteFont3 *This, IDWriteFont *font); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFont3 *This, IDWriteFontFaceReference **reference); WINBOOL (STDMETHODCALLTYPE *IDWriteFont3_HasCharacter)( IDWriteFont3 *This, UINT32 character); DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( IDWriteFont3 *This); END_INTERFACE } IDWriteFont3Vtbl; interface IDWriteFont3 { CONST_VTBL IDWriteFont3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFont3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFont3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFont3_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFont methods ***/ #define IDWriteFont3_GetFontFamily(This,family) (This)->lpVtbl->GetFontFamily(This,family) #define IDWriteFont3_GetWeight(This) (This)->lpVtbl->GetWeight(This) #define IDWriteFont3_GetStretch(This) (This)->lpVtbl->GetStretch(This) #define IDWriteFont3_GetStyle(This) (This)->lpVtbl->GetStyle(This) #define IDWriteFont3_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) #define IDWriteFont3_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) #define IDWriteFont3_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) #define IDWriteFont3_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) /*** IDWriteFont1 methods ***/ #define IDWriteFont3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFont1_GetMetrics(This,metrics) #define IDWriteFont3_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) #define IDWriteFont3_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) #define IDWriteFont3_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) /*** IDWriteFont2 methods ***/ #define IDWriteFont3_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) /*** IDWriteFont3 methods ***/ #define IDWriteFont3_CreateFontFace(This,fontface) (This)->lpVtbl->IDWriteFont3_CreateFontFace(This,fontface) #define IDWriteFont3_Equals(This,font) (This)->lpVtbl->Equals(This,font) #define IDWriteFont3_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) #define IDWriteFont3_HasCharacter(This,character) (This)->lpVtbl->IDWriteFont3_HasCharacter(This,character) #define IDWriteFont3_GetLocality(This) (This)->lpVtbl->GetLocality(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFont3_QueryInterface(IDWriteFont3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFont3_AddRef(IDWriteFont3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFont3_Release(IDWriteFont3* This) { return This->lpVtbl->Release(This); } /*** IDWriteFont methods ***/ static FORCEINLINE HRESULT IDWriteFont3_GetFontFamily(IDWriteFont3* This,IDWriteFontFamily **family) { return This->lpVtbl->GetFontFamily(This,family); } static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteFont3_GetWeight(IDWriteFont3* This) { return This->lpVtbl->GetWeight(This); } static FORCEINLINE DWRITE_FONT_STRETCH IDWriteFont3_GetStretch(IDWriteFont3* This) { return This->lpVtbl->GetStretch(This); } static FORCEINLINE DWRITE_FONT_STYLE IDWriteFont3_GetStyle(IDWriteFont3* This) { return This->lpVtbl->GetStyle(This); } static FORCEINLINE WINBOOL IDWriteFont3_IsSymbolFont(IDWriteFont3* This) { return This->lpVtbl->IsSymbolFont(This); } static FORCEINLINE HRESULT IDWriteFont3_GetFaceNames(IDWriteFont3* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFaceNames(This,names); } static FORCEINLINE HRESULT IDWriteFont3_GetInformationalStrings(IDWriteFont3* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); } static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFont3_GetSimulations(IDWriteFont3* This) { return This->lpVtbl->GetSimulations(This); } /*** IDWriteFont1 methods ***/ static FORCEINLINE void IDWriteFont3_GetMetrics(IDWriteFont3* This,DWRITE_FONT_METRICS1 *metrics) { This->lpVtbl->IDWriteFont1_GetMetrics(This,metrics); } static FORCEINLINE void IDWriteFont3_GetPanose(IDWriteFont3* This,DWRITE_PANOSE *panose) { This->lpVtbl->GetPanose(This,panose); } static FORCEINLINE HRESULT IDWriteFont3_GetUnicodeRanges(IDWriteFont3* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); } static FORCEINLINE WINBOOL IDWriteFont3_IsMonospacedFont(IDWriteFont3* This) { return This->lpVtbl->IsMonospacedFont(This); } /*** IDWriteFont2 methods ***/ static FORCEINLINE WINBOOL IDWriteFont3_IsColorFont(IDWriteFont3* This) { return This->lpVtbl->IsColorFont(This); } /*** IDWriteFont3 methods ***/ static FORCEINLINE HRESULT IDWriteFont3_CreateFontFace(IDWriteFont3* This,IDWriteFontFace3 **fontface) { return This->lpVtbl->IDWriteFont3_CreateFontFace(This,fontface); } static FORCEINLINE WINBOOL IDWriteFont3_Equals(IDWriteFont3* This,IDWriteFont *font) { return This->lpVtbl->Equals(This,font); } static FORCEINLINE HRESULT IDWriteFont3_GetFontFaceReference(IDWriteFont3* This,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,reference); } static FORCEINLINE WINBOOL IDWriteFont3_HasCharacter(IDWriteFont3* This,UINT32 character) { return This->lpVtbl->IDWriteFont3_HasCharacter(This,character); } static FORCEINLINE DWRITE_LOCALITY IDWriteFont3_GetLocality(IDWriteFont3* This) { return This->lpVtbl->GetLocality(This); } #endif #endif #endif #endif /* __IDWriteFont3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFamily1 interface */ #ifndef __IDWriteFontFamily1_INTERFACE_DEFINED__ #define __IDWriteFontFamily1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xdf); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7adf") IDWriteFontFamily1 : public IDWriteFontFamily { virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( UINT32 index) = 0; virtual HRESULT STDMETHODCALLTYPE GetFont( UINT32 index, IDWriteFont3 **font) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( UINT32 index, IDWriteFontFaceReference **reference) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xdf) #endif #else typedef struct IDWriteFontFamily1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontFamily1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontFamily1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontFamily1 *This); /*** IDWriteFontList methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontCollection)( IDWriteFontFamily1 *This, IDWriteFontCollection **collection); UINT32 (STDMETHODCALLTYPE *GetFontCount)( IDWriteFontFamily1 *This); HRESULT (STDMETHODCALLTYPE *GetFont)( IDWriteFontFamily1 *This, UINT32 index, IDWriteFont **font); /*** IDWriteFontFamily methods ***/ HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( IDWriteFontFamily1 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetFirstMatchingFont)( IDWriteFontFamily1 *This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFont **font); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( IDWriteFontFamily1 *This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontList **fonts); /*** IDWriteFontFamily1 methods ***/ DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( IDWriteFontFamily1 *This, UINT32 index); HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily1_GetFont)( IDWriteFontFamily1 *This, UINT32 index, IDWriteFont3 **font); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontFamily1 *This, UINT32 index, IDWriteFontFaceReference **reference); END_INTERFACE } IDWriteFontFamily1Vtbl; interface IDWriteFontFamily1 { CONST_VTBL IDWriteFontFamily1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontFamily1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontFamily1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFamily1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontList methods ***/ #define IDWriteFontFamily1_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) #define IDWriteFontFamily1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) /*** IDWriteFontFamily methods ***/ #define IDWriteFontFamily1_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) #define IDWriteFontFamily1_GetFirstMatchingFont(This,weight,stretch,style,font) (This)->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font) #define IDWriteFontFamily1_GetMatchingFonts(This,weight,stretch,style,fonts) (This)->lpVtbl->GetMatchingFonts(This,weight,stretch,style,fonts) /*** IDWriteFontFamily1 methods ***/ #define IDWriteFontFamily1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) #define IDWriteFontFamily1_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font) #define IDWriteFontFamily1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontFamily1_QueryInterface(IDWriteFontFamily1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontFamily1_AddRef(IDWriteFontFamily1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontFamily1_Release(IDWriteFontFamily1* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontList methods ***/ static FORCEINLINE HRESULT IDWriteFontFamily1_GetFontCollection(IDWriteFontFamily1* This,IDWriteFontCollection **collection) { return This->lpVtbl->GetFontCollection(This,collection); } static FORCEINLINE UINT32 IDWriteFontFamily1_GetFontCount(IDWriteFontFamily1* This) { return This->lpVtbl->GetFontCount(This); } /*** IDWriteFontFamily methods ***/ static FORCEINLINE HRESULT IDWriteFontFamily1_GetFamilyNames(IDWriteFontFamily1* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFamilyNames(This,names); } static FORCEINLINE HRESULT IDWriteFontFamily1_GetFirstMatchingFont(IDWriteFontFamily1* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFont **font) { return This->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font); } static FORCEINLINE HRESULT IDWriteFontFamily1_GetMatchingFonts(IDWriteFontFamily1* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontList **fonts) { return This->lpVtbl->GetMatchingFonts(This,weight,stretch,style,fonts); } /*** IDWriteFontFamily1 methods ***/ static FORCEINLINE DWRITE_LOCALITY IDWriteFontFamily1_GetFontLocality(IDWriteFontFamily1* This,UINT32 index) { return This->lpVtbl->GetFontLocality(This,index); } static FORCEINLINE HRESULT IDWriteFontFamily1_GetFont(IDWriteFontFamily1* This,UINT32 index,IDWriteFont3 **font) { return This->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font); } static FORCEINLINE HRESULT IDWriteFontFamily1_GetFontFaceReference(IDWriteFontFamily1* This,UINT32 index,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,index,reference); } #endif #endif #endif #endif /* __IDWriteFontFamily1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFamily2 interface */ #ifndef __IDWriteFontFamily2_INTERFACE_DEFINED__ #define __IDWriteFontFamily2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9,0xcf, 0xc1,0x26,0xc2,0x13,0x1e,0xf3); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3ed49e77-a398-4261-b9cf-c126c2131ef3") IDWriteFontFamily2 : public IDWriteFontFamily1 { virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontList2 **fontlist) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontSet( IDWriteFontSet1 **fontset) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9,0xcf, 0xc1,0x26,0xc2,0x13,0x1e,0xf3) #endif #else typedef struct IDWriteFontFamily2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontFamily2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontFamily2 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontFamily2 *This); /*** IDWriteFontList methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontCollection)( IDWriteFontFamily2 *This, IDWriteFontCollection **collection); UINT32 (STDMETHODCALLTYPE *GetFontCount)( IDWriteFontFamily2 *This); HRESULT (STDMETHODCALLTYPE *GetFont)( IDWriteFontFamily2 *This, UINT32 index, IDWriteFont **font); /*** IDWriteFontFamily methods ***/ HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( IDWriteFontFamily2 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetFirstMatchingFont)( IDWriteFontFamily2 *This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFont **font); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( IDWriteFontFamily2 *This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontList **fonts); /*** IDWriteFontFamily1 methods ***/ DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( IDWriteFontFamily2 *This, UINT32 index); HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily1_GetFont)( IDWriteFontFamily2 *This, UINT32 index, IDWriteFont3 **font); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontFamily2 *This, UINT32 index, IDWriteFontFaceReference **reference); /*** IDWriteFontFamily2 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily2_GetMatchingFonts)( IDWriteFontFamily2 *This, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontList2 **fontlist); HRESULT (STDMETHODCALLTYPE *GetFontSet)( IDWriteFontFamily2 *This, IDWriteFontSet1 **fontset); END_INTERFACE } IDWriteFontFamily2Vtbl; interface IDWriteFontFamily2 { CONST_VTBL IDWriteFontFamily2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontFamily2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontFamily2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFamily2_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontList methods ***/ #define IDWriteFontFamily2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) #define IDWriteFontFamily2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) /*** IDWriteFontFamily methods ***/ #define IDWriteFontFamily2_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) #define IDWriteFontFamily2_GetFirstMatchingFont(This,weight,stretch,style,font) (This)->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font) /*** IDWriteFontFamily1 methods ***/ #define IDWriteFontFamily2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) #define IDWriteFontFamily2_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font) #define IDWriteFontFamily2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) /*** IDWriteFontFamily2 methods ***/ #define IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist) (This)->lpVtbl->IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist) #define IDWriteFontFamily2_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontFamily2_QueryInterface(IDWriteFontFamily2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontFamily2_AddRef(IDWriteFontFamily2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontFamily2_Release(IDWriteFontFamily2* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontList methods ***/ static FORCEINLINE HRESULT IDWriteFontFamily2_GetFontCollection(IDWriteFontFamily2* This,IDWriteFontCollection **collection) { return This->lpVtbl->GetFontCollection(This,collection); } static FORCEINLINE UINT32 IDWriteFontFamily2_GetFontCount(IDWriteFontFamily2* This) { return This->lpVtbl->GetFontCount(This); } /*** IDWriteFontFamily methods ***/ static FORCEINLINE HRESULT IDWriteFontFamily2_GetFamilyNames(IDWriteFontFamily2* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFamilyNames(This,names); } static FORCEINLINE HRESULT IDWriteFontFamily2_GetFirstMatchingFont(IDWriteFontFamily2* This,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFont **font) { return This->lpVtbl->GetFirstMatchingFont(This,weight,stretch,style,font); } /*** IDWriteFontFamily1 methods ***/ static FORCEINLINE DWRITE_LOCALITY IDWriteFontFamily2_GetFontLocality(IDWriteFontFamily2* This,UINT32 index) { return This->lpVtbl->GetFontLocality(This,index); } static FORCEINLINE HRESULT IDWriteFontFamily2_GetFont(IDWriteFontFamily2* This,UINT32 index,IDWriteFont3 **font) { return This->lpVtbl->IDWriteFontFamily1_GetFont(This,index,font); } static FORCEINLINE HRESULT IDWriteFontFamily2_GetFontFaceReference(IDWriteFontFamily2* This,UINT32 index,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,index,reference); } /*** IDWriteFontFamily2 methods ***/ static FORCEINLINE HRESULT IDWriteFontFamily2_GetMatchingFonts(IDWriteFontFamily2* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { return This->lpVtbl->IDWriteFontFamily2_GetMatchingFonts(This,axis_values,num_values,fontlist); } static FORCEINLINE HRESULT IDWriteFontFamily2_GetFontSet(IDWriteFontFamily2* This,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFontSet(This,fontset); } #endif #endif #endif #endif /* __IDWriteFontFamily2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontCollection1 interface */ #ifndef __IDWriteFontCollection1_INTERFACE_DEFINED__ #define __IDWriteFontCollection1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6c); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("53585141-d9f8-4095-8321-d73cf6bd116c") IDWriteFontCollection1 : public IDWriteFontCollection { virtual HRESULT STDMETHODCALLTYPE GetFontSet( IDWriteFontSet **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontFamily( UINT32 index, IDWriteFontFamily1 **family) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6c) #endif #else typedef struct IDWriteFontCollection1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontCollection1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontCollection1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontCollection1 *This); /*** IDWriteFontCollection methods ***/ UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( IDWriteFontCollection1 *This); HRESULT (STDMETHODCALLTYPE *GetFontFamily)( IDWriteFontCollection1 *This, UINT32 index, IDWriteFontFamily **family); HRESULT (STDMETHODCALLTYPE *FindFamilyName)( IDWriteFontCollection1 *This, const WCHAR *name, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( IDWriteFontCollection1 *This, IDWriteFontFace *face, IDWriteFont **font); /*** IDWriteFontCollection1 methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontSet)( IDWriteFontCollection1 *This, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( IDWriteFontCollection1 *This, UINT32 index, IDWriteFontFamily1 **family); END_INTERFACE } IDWriteFontCollection1Vtbl; interface IDWriteFontCollection1 { CONST_VTBL IDWriteFontCollection1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontCollection1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontCollection1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontCollection1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontCollection methods ***/ #define IDWriteFontCollection1_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) #define IDWriteFontCollection1_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) #define IDWriteFontCollection1_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) /*** IDWriteFontCollection1 methods ***/ #define IDWriteFontCollection1_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) #define IDWriteFontCollection1_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection1_GetFontFamily(This,index,family) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontCollection1_QueryInterface(IDWriteFontCollection1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontCollection1_AddRef(IDWriteFontCollection1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontCollection1_Release(IDWriteFontCollection1* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontCollection methods ***/ static FORCEINLINE UINT32 IDWriteFontCollection1_GetFontFamilyCount(IDWriteFontCollection1* This) { return This->lpVtbl->GetFontFamilyCount(This); } static FORCEINLINE HRESULT IDWriteFontCollection1_FindFamilyName(IDWriteFontCollection1* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFamilyName(This,name,index,exists); } static FORCEINLINE HRESULT IDWriteFontCollection1_GetFontFromFontFace(IDWriteFontCollection1* This,IDWriteFontFace *face,IDWriteFont **font) { return This->lpVtbl->GetFontFromFontFace(This,face,font); } /*** IDWriteFontCollection1 methods ***/ static FORCEINLINE HRESULT IDWriteFontCollection1_GetFontSet(IDWriteFontCollection1* This,IDWriteFontSet **fontset) { return This->lpVtbl->GetFontSet(This,fontset); } static FORCEINLINE HRESULT IDWriteFontCollection1_GetFontFamily(IDWriteFontCollection1* This,UINT32 index,IDWriteFontFamily1 **family) { return This->lpVtbl->IDWriteFontCollection1_GetFontFamily(This,index,family); } #endif #endif #endif #endif /* __IDWriteFontCollection1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontCollection2 interface */ #ifndef __IDWriteFontCollection2_INTERFACE_DEFINED__ #define __IDWriteFontCollection2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf,0x8b, 0x92,0xea,0x83,0xe5,0x06,0xe0); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("514039c6-4617-4064-bf8b-92ea83e506e0") IDWriteFontCollection2 : public IDWriteFontCollection1 { virtual HRESULT STDMETHODCALLTYPE GetFontFamily( UINT32 index, IDWriteFontFamily2 **family) = 0; virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( const WCHAR *familyname, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontList2 **fontlist) = 0; virtual DWRITE_FONT_FAMILY_MODEL STDMETHODCALLTYPE GetFontFamilyModel( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontSet( IDWriteFontSet1 **fontset) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf,0x8b, 0x92,0xea,0x83,0xe5,0x06,0xe0) #endif #else typedef struct IDWriteFontCollection2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontCollection2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontCollection2 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontCollection2 *This); /*** IDWriteFontCollection methods ***/ UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( IDWriteFontCollection2 *This); HRESULT (STDMETHODCALLTYPE *GetFontFamily)( IDWriteFontCollection2 *This, UINT32 index, IDWriteFontFamily **family); HRESULT (STDMETHODCALLTYPE *FindFamilyName)( IDWriteFontCollection2 *This, const WCHAR *name, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( IDWriteFontCollection2 *This, IDWriteFontFace *face, IDWriteFont **font); /*** IDWriteFontCollection1 methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontSet)( IDWriteFontCollection2 *This, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( IDWriteFontCollection2 *This, UINT32 index, IDWriteFontFamily1 **family); /*** IDWriteFontCollection2 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontFamily)( IDWriteFontCollection2 *This, UINT32 index, IDWriteFontFamily2 **family); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( IDWriteFontCollection2 *This, const WCHAR *familyname, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontList2 **fontlist); DWRITE_FONT_FAMILY_MODEL (STDMETHODCALLTYPE *GetFontFamilyModel)( IDWriteFontCollection2 *This); HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontSet)( IDWriteFontCollection2 *This, IDWriteFontSet1 **fontset); END_INTERFACE } IDWriteFontCollection2Vtbl; interface IDWriteFontCollection2 { CONST_VTBL IDWriteFontCollection2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontCollection2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontCollection2_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontCollection methods ***/ #define IDWriteFontCollection2_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) #define IDWriteFontCollection2_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) #define IDWriteFontCollection2_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) /*** IDWriteFontCollection1 methods ***/ /*** IDWriteFontCollection2 methods ***/ #define IDWriteFontCollection2_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family) #define IDWriteFontCollection2_GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) (This)->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) #define IDWriteFontCollection2_GetFontFamilyModel(This) (This)->lpVtbl->GetFontFamilyModel(This) #define IDWriteFontCollection2_GetFontSet(This,fontset) (This)->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontCollection2_QueryInterface(IDWriteFontCollection2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontCollection2_AddRef(IDWriteFontCollection2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontCollection2_Release(IDWriteFontCollection2* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontCollection methods ***/ static FORCEINLINE UINT32 IDWriteFontCollection2_GetFontFamilyCount(IDWriteFontCollection2* This) { return This->lpVtbl->GetFontFamilyCount(This); } static FORCEINLINE HRESULT IDWriteFontCollection2_FindFamilyName(IDWriteFontCollection2* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFamilyName(This,name,index,exists); } static FORCEINLINE HRESULT IDWriteFontCollection2_GetFontFromFontFace(IDWriteFontCollection2* This,IDWriteFontFace *face,IDWriteFont **font) { return This->lpVtbl->GetFontFromFontFace(This,face,font); } /*** IDWriteFontCollection1 methods ***/ /*** IDWriteFontCollection2 methods ***/ static FORCEINLINE HRESULT IDWriteFontCollection2_GetFontFamily(IDWriteFontCollection2* This,UINT32 index,IDWriteFontFamily2 **family) { return This->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family); } static FORCEINLINE HRESULT IDWriteFontCollection2_GetMatchingFonts(IDWriteFontCollection2* This,const WCHAR *familyname,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { return This->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist); } static FORCEINLINE DWRITE_FONT_FAMILY_MODEL IDWriteFontCollection2_GetFontFamilyModel(IDWriteFontCollection2* This) { return This->lpVtbl->GetFontFamilyModel(This); } static FORCEINLINE HRESULT IDWriteFontCollection2_GetFontSet(IDWriteFontCollection2* This,IDWriteFontSet1 **fontset) { return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset); } #endif #endif #endif #endif /* __IDWriteFontCollection2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontCollection3 interface */ #ifndef __IDWriteFontCollection3_INTERFACE_DEFINED__ #define __IDWriteFontCollection3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93,0xb7, 0x9e,0x30,0x9f,0x3a,0xf8,0xe9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a4d055a6-f9e3-4e25-93b7-9e309f3af8e9") IDWriteFontCollection3 : public IDWriteFontCollection2 { virtual HANDLE STDMETHODCALLTYPE GetExpirationEvent( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93,0xb7, 0x9e,0x30,0x9f,0x3a,0xf8,0xe9) #endif #else typedef struct IDWriteFontCollection3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontCollection3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontCollection3 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontCollection3 *This); /*** IDWriteFontCollection methods ***/ UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( IDWriteFontCollection3 *This); HRESULT (STDMETHODCALLTYPE *GetFontFamily)( IDWriteFontCollection3 *This, UINT32 index, IDWriteFontFamily **family); HRESULT (STDMETHODCALLTYPE *FindFamilyName)( IDWriteFontCollection3 *This, const WCHAR *name, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( IDWriteFontCollection3 *This, IDWriteFontFace *face, IDWriteFont **font); /*** IDWriteFontCollection1 methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontSet)( IDWriteFontCollection3 *This, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( IDWriteFontCollection3 *This, UINT32 index, IDWriteFontFamily1 **family); /*** IDWriteFontCollection2 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontFamily)( IDWriteFontCollection3 *This, UINT32 index, IDWriteFontFamily2 **family); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( IDWriteFontCollection3 *This, const WCHAR *familyname, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontList2 **fontlist); DWRITE_FONT_FAMILY_MODEL (STDMETHODCALLTYPE *GetFontFamilyModel)( IDWriteFontCollection3 *This); HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontSet)( IDWriteFontCollection3 *This, IDWriteFontSet1 **fontset); /*** IDWriteFontCollection3 methods ***/ HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( IDWriteFontCollection3 *This); END_INTERFACE } IDWriteFontCollection3Vtbl; interface IDWriteFontCollection3 { CONST_VTBL IDWriteFontCollection3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontCollection3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontCollection3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontCollection3_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontCollection methods ***/ #define IDWriteFontCollection3_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) #define IDWriteFontCollection3_FindFamilyName(This,name,index,exists) (This)->lpVtbl->FindFamilyName(This,name,index,exists) #define IDWriteFontCollection3_GetFontFromFontFace(This,face,font) (This)->lpVtbl->GetFontFromFontFace(This,face,font) /*** IDWriteFontCollection1 methods ***/ /*** IDWriteFontCollection2 methods ***/ #define IDWriteFontCollection3_GetFontFamily(This,index,family) (This)->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family) #define IDWriteFontCollection3_GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) (This)->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist) #define IDWriteFontCollection3_GetFontFamilyModel(This) (This)->lpVtbl->GetFontFamilyModel(This) #define IDWriteFontCollection3_GetFontSet(This,fontset) (This)->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset) /*** IDWriteFontCollection3 methods ***/ #define IDWriteFontCollection3_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontCollection3_QueryInterface(IDWriteFontCollection3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontCollection3_AddRef(IDWriteFontCollection3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontCollection3_Release(IDWriteFontCollection3* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontCollection methods ***/ static FORCEINLINE UINT32 IDWriteFontCollection3_GetFontFamilyCount(IDWriteFontCollection3* This) { return This->lpVtbl->GetFontFamilyCount(This); } static FORCEINLINE HRESULT IDWriteFontCollection3_FindFamilyName(IDWriteFontCollection3* This,const WCHAR *name,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFamilyName(This,name,index,exists); } static FORCEINLINE HRESULT IDWriteFontCollection3_GetFontFromFontFace(IDWriteFontCollection3* This,IDWriteFontFace *face,IDWriteFont **font) { return This->lpVtbl->GetFontFromFontFace(This,face,font); } /*** IDWriteFontCollection1 methods ***/ /*** IDWriteFontCollection2 methods ***/ static FORCEINLINE HRESULT IDWriteFontCollection3_GetFontFamily(IDWriteFontCollection3* This,UINT32 index,IDWriteFontFamily2 **family) { return This->lpVtbl->IDWriteFontCollection2_GetFontFamily(This,index,family); } static FORCEINLINE HRESULT IDWriteFontCollection3_GetMatchingFonts(IDWriteFontCollection3* This,const WCHAR *familyname,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontList2 **fontlist) { return This->lpVtbl->GetMatchingFonts(This,familyname,axis_values,num_values,fontlist); } static FORCEINLINE DWRITE_FONT_FAMILY_MODEL IDWriteFontCollection3_GetFontFamilyModel(IDWriteFontCollection3* This) { return This->lpVtbl->GetFontFamilyModel(This); } static FORCEINLINE HRESULT IDWriteFontCollection3_GetFontSet(IDWriteFontCollection3* This,IDWriteFontSet1 **fontset) { return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset); } /*** IDWriteFontCollection3 methods ***/ static FORCEINLINE HANDLE IDWriteFontCollection3_GetExpirationEvent(IDWriteFontCollection3* This) { return This->lpVtbl->GetExpirationEvent(This); } #endif #endif #endif #endif /* __IDWriteFontCollection3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFaceReference interface */ #ifndef __IDWriteFontFaceReference_INTERFACE_DEFINED__ #define __IDWriteFontFaceReference_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89,0xf0, 0x9f,0xcd,0x6f,0xed,0x58,0xcd); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("5e7fa7ca-dde3-424c-89f0-9fcd6fed58cd") IDWriteFontFaceReference : public IUnknown { virtual HRESULT STDMETHODCALLTYPE CreateFontFace( IDWriteFontFace3 **fontface) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontFaceWithSimulations( DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFace3 **fontface) = 0; virtual WINBOOL STDMETHODCALLTYPE Equals( IDWriteFontFaceReference *reference) = 0; virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex( ) = 0; virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontFile( IDWriteFontFile **fontfile) = 0; virtual UINT64 STDMETHODCALLTYPE GetLocalFileSize( ) = 0; virtual UINT64 STDMETHODCALLTYPE GetFileSize( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFileTime( FILETIME *writetime) = 0; virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( ) = 0; virtual HRESULT STDMETHODCALLTYPE EnqueueFontDownloadRequest( ) = 0; virtual HRESULT STDMETHODCALLTYPE EnqueueCharacterDownloadRequest( const WCHAR *chars, UINT32 count) = 0; virtual HRESULT STDMETHODCALLTYPE EnqueueGlyphDownloadRequest( const UINT16 *glyphs, UINT32 count) = 0; virtual HRESULT STDMETHODCALLTYPE EnqueueFileFragmentDownloadRequest( UINT64 offset, UINT64 size) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89,0xf0, 0x9f,0xcd,0x6f,0xed,0x58,0xcd) #endif #else typedef struct IDWriteFontFaceReferenceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontFaceReference *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontFaceReference *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontFaceReference *This); /*** IDWriteFontFaceReference methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFontFace)( IDWriteFontFaceReference *This, IDWriteFontFace3 **fontface); HRESULT (STDMETHODCALLTYPE *CreateFontFaceWithSimulations)( IDWriteFontFaceReference *This, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFace3 **fontface); WINBOOL (STDMETHODCALLTYPE *Equals)( IDWriteFontFaceReference *This, IDWriteFontFaceReference *reference); UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( IDWriteFontFaceReference *This); DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( IDWriteFontFaceReference *This); HRESULT (STDMETHODCALLTYPE *GetFontFile)( IDWriteFontFaceReference *This, IDWriteFontFile **fontfile); UINT64 (STDMETHODCALLTYPE *GetLocalFileSize)( IDWriteFontFaceReference *This); UINT64 (STDMETHODCALLTYPE *GetFileSize)( IDWriteFontFaceReference *This); HRESULT (STDMETHODCALLTYPE *GetFileTime)( IDWriteFontFaceReference *This, FILETIME *writetime); DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( IDWriteFontFaceReference *This); HRESULT (STDMETHODCALLTYPE *EnqueueFontDownloadRequest)( IDWriteFontFaceReference *This); HRESULT (STDMETHODCALLTYPE *EnqueueCharacterDownloadRequest)( IDWriteFontFaceReference *This, const WCHAR *chars, UINT32 count); HRESULT (STDMETHODCALLTYPE *EnqueueGlyphDownloadRequest)( IDWriteFontFaceReference *This, const UINT16 *glyphs, UINT32 count); HRESULT (STDMETHODCALLTYPE *EnqueueFileFragmentDownloadRequest)( IDWriteFontFaceReference *This, UINT64 offset, UINT64 size); END_INTERFACE } IDWriteFontFaceReferenceVtbl; interface IDWriteFontFaceReference { CONST_VTBL IDWriteFontFaceReferenceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontFaceReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontFaceReference_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFaceReference_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFaceReference methods ***/ #define IDWriteFontFaceReference_CreateFontFace(This,fontface) (This)->lpVtbl->CreateFontFace(This,fontface) #define IDWriteFontFaceReference_CreateFontFaceWithSimulations(This,simulations,fontface) (This)->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface) #define IDWriteFontFaceReference_Equals(This,reference) (This)->lpVtbl->Equals(This,reference) #define IDWriteFontFaceReference_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) #define IDWriteFontFaceReference_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) #define IDWriteFontFaceReference_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) #define IDWriteFontFaceReference_GetLocalFileSize(This) (This)->lpVtbl->GetLocalFileSize(This) #define IDWriteFontFaceReference_GetFileSize(This) (This)->lpVtbl->GetFileSize(This) #define IDWriteFontFaceReference_GetFileTime(This,writetime) (This)->lpVtbl->GetFileTime(This,writetime) #define IDWriteFontFaceReference_GetLocality(This) (This)->lpVtbl->GetLocality(This) #define IDWriteFontFaceReference_EnqueueFontDownloadRequest(This) (This)->lpVtbl->EnqueueFontDownloadRequest(This) #define IDWriteFontFaceReference_EnqueueCharacterDownloadRequest(This,chars,count) (This)->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count) #define IDWriteFontFaceReference_EnqueueGlyphDownloadRequest(This,glyphs,count) (This)->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count) #define IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest(This,offset,size) (This)->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontFaceReference_QueryInterface(IDWriteFontFaceReference* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontFaceReference_AddRef(IDWriteFontFaceReference* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontFaceReference_Release(IDWriteFontFaceReference* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFaceReference methods ***/ static FORCEINLINE HRESULT IDWriteFontFaceReference_CreateFontFace(IDWriteFontFaceReference* This,IDWriteFontFace3 **fontface) { return This->lpVtbl->CreateFontFace(This,fontface); } static FORCEINLINE HRESULT IDWriteFontFaceReference_CreateFontFaceWithSimulations(IDWriteFontFaceReference* This,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFace3 **fontface) { return This->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface); } static FORCEINLINE WINBOOL IDWriteFontFaceReference_Equals(IDWriteFontFaceReference* This,IDWriteFontFaceReference *reference) { return This->lpVtbl->Equals(This,reference); } static FORCEINLINE UINT32 IDWriteFontFaceReference_GetFontFaceIndex(IDWriteFontFaceReference* This) { return This->lpVtbl->GetFontFaceIndex(This); } static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference_GetSimulations(IDWriteFontFaceReference* This) { return This->lpVtbl->GetSimulations(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference_GetFontFile(IDWriteFontFaceReference* This,IDWriteFontFile **fontfile) { return This->lpVtbl->GetFontFile(This,fontfile); } static FORCEINLINE UINT64 IDWriteFontFaceReference_GetLocalFileSize(IDWriteFontFaceReference* This) { return This->lpVtbl->GetLocalFileSize(This); } static FORCEINLINE UINT64 IDWriteFontFaceReference_GetFileSize(IDWriteFontFaceReference* This) { return This->lpVtbl->GetFileSize(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference_GetFileTime(IDWriteFontFaceReference* This,FILETIME *writetime) { return This->lpVtbl->GetFileTime(This,writetime); } static FORCEINLINE DWRITE_LOCALITY IDWriteFontFaceReference_GetLocality(IDWriteFontFaceReference* This) { return This->lpVtbl->GetLocality(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference_EnqueueFontDownloadRequest(IDWriteFontFaceReference* This) { return This->lpVtbl->EnqueueFontDownloadRequest(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference_EnqueueCharacterDownloadRequest(IDWriteFontFaceReference* This,const WCHAR *chars,UINT32 count) { return This->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count); } static FORCEINLINE HRESULT IDWriteFontFaceReference_EnqueueGlyphDownloadRequest(IDWriteFontFaceReference* This,const UINT16 *glyphs,UINT32 count) { return This->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count); } static FORCEINLINE HRESULT IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest(IDWriteFontFaceReference* This,UINT64 offset,UINT64 size) { return This->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size); } #endif #endif #endif #endif /* __IDWriteFontFaceReference_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFaceReference1 interface */ #ifndef __IDWriteFontFaceReference1_INTERFACE_DEFINED__ #define __IDWriteFontFaceReference1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5,0xa3, 0x34,0x98,0x3c,0x4b,0xa6,0x1a); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c081fe77-2fd1-41ac-a5a3-34983c4ba61a") IDWriteFontFaceReference1 : public IDWriteFontFaceReference { virtual HRESULT STDMETHODCALLTYPE CreateFontFace( IDWriteFontFace5 **fontface) = 0; virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( DWRITE_FONT_AXIS_VALUE *values, UINT32 num_values) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5,0xa3, 0x34,0x98,0x3c,0x4b,0xa6,0x1a) #endif #else typedef struct IDWriteFontFaceReference1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontFaceReference1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontFaceReference1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontFaceReference1 *This); /*** IDWriteFontFaceReference methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFontFace)( IDWriteFontFaceReference1 *This, IDWriteFontFace3 **fontface); HRESULT (STDMETHODCALLTYPE *CreateFontFaceWithSimulations)( IDWriteFontFaceReference1 *This, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFace3 **fontface); WINBOOL (STDMETHODCALLTYPE *Equals)( IDWriteFontFaceReference1 *This, IDWriteFontFaceReference *reference); UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( IDWriteFontFaceReference1 *This); DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( IDWriteFontFaceReference1 *This); HRESULT (STDMETHODCALLTYPE *GetFontFile)( IDWriteFontFaceReference1 *This, IDWriteFontFile **fontfile); UINT64 (STDMETHODCALLTYPE *GetLocalFileSize)( IDWriteFontFaceReference1 *This); UINT64 (STDMETHODCALLTYPE *GetFileSize)( IDWriteFontFaceReference1 *This); HRESULT (STDMETHODCALLTYPE *GetFileTime)( IDWriteFontFaceReference1 *This, FILETIME *writetime); DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( IDWriteFontFaceReference1 *This); HRESULT (STDMETHODCALLTYPE *EnqueueFontDownloadRequest)( IDWriteFontFaceReference1 *This); HRESULT (STDMETHODCALLTYPE *EnqueueCharacterDownloadRequest)( IDWriteFontFaceReference1 *This, const WCHAR *chars, UINT32 count); HRESULT (STDMETHODCALLTYPE *EnqueueGlyphDownloadRequest)( IDWriteFontFaceReference1 *This, const UINT16 *glyphs, UINT32 count); HRESULT (STDMETHODCALLTYPE *EnqueueFileFragmentDownloadRequest)( IDWriteFontFaceReference1 *This, UINT64 offset, UINT64 size); /*** IDWriteFontFaceReference1 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFontFaceReference1_CreateFontFace)( IDWriteFontFaceReference1 *This, IDWriteFontFace5 **fontface); UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( IDWriteFontFaceReference1 *This); HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( IDWriteFontFaceReference1 *This, DWRITE_FONT_AXIS_VALUE *values, UINT32 num_values); END_INTERFACE } IDWriteFontFaceReference1Vtbl; interface IDWriteFontFaceReference1 { CONST_VTBL IDWriteFontFaceReference1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontFaceReference1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontFaceReference1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFaceReference1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFaceReference methods ***/ #define IDWriteFontFaceReference1_CreateFontFaceWithSimulations(This,simulations,fontface) (This)->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface) #define IDWriteFontFaceReference1_Equals(This,reference) (This)->lpVtbl->Equals(This,reference) #define IDWriteFontFaceReference1_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) #define IDWriteFontFaceReference1_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) #define IDWriteFontFaceReference1_GetFontFile(This,fontfile) (This)->lpVtbl->GetFontFile(This,fontfile) #define IDWriteFontFaceReference1_GetLocalFileSize(This) (This)->lpVtbl->GetLocalFileSize(This) #define IDWriteFontFaceReference1_GetFileSize(This) (This)->lpVtbl->GetFileSize(This) #define IDWriteFontFaceReference1_GetFileTime(This,writetime) (This)->lpVtbl->GetFileTime(This,writetime) #define IDWriteFontFaceReference1_GetLocality(This) (This)->lpVtbl->GetLocality(This) #define IDWriteFontFaceReference1_EnqueueFontDownloadRequest(This) (This)->lpVtbl->EnqueueFontDownloadRequest(This) #define IDWriteFontFaceReference1_EnqueueCharacterDownloadRequest(This,chars,count) (This)->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count) #define IDWriteFontFaceReference1_EnqueueGlyphDownloadRequest(This,glyphs,count) (This)->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count) #define IDWriteFontFaceReference1_EnqueueFileFragmentDownloadRequest(This,offset,size) (This)->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size) /*** IDWriteFontFaceReference1 methods ***/ #define IDWriteFontFaceReference1_CreateFontFace(This,fontface) (This)->lpVtbl->IDWriteFontFaceReference1_CreateFontFace(This,fontface) #define IDWriteFontFaceReference1_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) #define IDWriteFontFaceReference1_GetFontAxisValues(This,values,num_values) (This)->lpVtbl->GetFontAxisValues(This,values,num_values) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontFaceReference1_QueryInterface(IDWriteFontFaceReference1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontFaceReference1_AddRef(IDWriteFontFaceReference1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontFaceReference1_Release(IDWriteFontFaceReference1* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFaceReference methods ***/ static FORCEINLINE HRESULT IDWriteFontFaceReference1_CreateFontFaceWithSimulations(IDWriteFontFaceReference1* This,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFace3 **fontface) { return This->lpVtbl->CreateFontFaceWithSimulations(This,simulations,fontface); } static FORCEINLINE WINBOOL IDWriteFontFaceReference1_Equals(IDWriteFontFaceReference1* This,IDWriteFontFaceReference *reference) { return This->lpVtbl->Equals(This,reference); } static FORCEINLINE UINT32 IDWriteFontFaceReference1_GetFontFaceIndex(IDWriteFontFaceReference1* This) { return This->lpVtbl->GetFontFaceIndex(This); } static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference1_GetSimulations(IDWriteFontFaceReference1* This) { return This->lpVtbl->GetSimulations(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference1_GetFontFile(IDWriteFontFaceReference1* This,IDWriteFontFile **fontfile) { return This->lpVtbl->GetFontFile(This,fontfile); } static FORCEINLINE UINT64 IDWriteFontFaceReference1_GetLocalFileSize(IDWriteFontFaceReference1* This) { return This->lpVtbl->GetLocalFileSize(This); } static FORCEINLINE UINT64 IDWriteFontFaceReference1_GetFileSize(IDWriteFontFaceReference1* This) { return This->lpVtbl->GetFileSize(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference1_GetFileTime(IDWriteFontFaceReference1* This,FILETIME *writetime) { return This->lpVtbl->GetFileTime(This,writetime); } static FORCEINLINE DWRITE_LOCALITY IDWriteFontFaceReference1_GetLocality(IDWriteFontFaceReference1* This) { return This->lpVtbl->GetLocality(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference1_EnqueueFontDownloadRequest(IDWriteFontFaceReference1* This) { return This->lpVtbl->EnqueueFontDownloadRequest(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference1_EnqueueCharacterDownloadRequest(IDWriteFontFaceReference1* This,const WCHAR *chars,UINT32 count) { return This->lpVtbl->EnqueueCharacterDownloadRequest(This,chars,count); } static FORCEINLINE HRESULT IDWriteFontFaceReference1_EnqueueGlyphDownloadRequest(IDWriteFontFaceReference1* This,const UINT16 *glyphs,UINT32 count) { return This->lpVtbl->EnqueueGlyphDownloadRequest(This,glyphs,count); } static FORCEINLINE HRESULT IDWriteFontFaceReference1_EnqueueFileFragmentDownloadRequest(IDWriteFontFaceReference1* This,UINT64 offset,UINT64 size) { return This->lpVtbl->EnqueueFileFragmentDownloadRequest(This,offset,size); } /*** IDWriteFontFaceReference1 methods ***/ static FORCEINLINE HRESULT IDWriteFontFaceReference1_CreateFontFace(IDWriteFontFaceReference1* This,IDWriteFontFace5 **fontface) { return This->lpVtbl->IDWriteFontFaceReference1_CreateFontFace(This,fontface); } static FORCEINLINE UINT32 IDWriteFontFaceReference1_GetFontAxisValueCount(IDWriteFontFaceReference1* This) { return This->lpVtbl->GetFontAxisValueCount(This); } static FORCEINLINE HRESULT IDWriteFontFaceReference1_GetFontAxisValues(IDWriteFontFaceReference1* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values) { return This->lpVtbl->GetFontAxisValues(This,values,num_values); } #endif #endif #endif #endif /* __IDWriteFontFaceReference1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontList1 interface */ #ifndef __IDWriteFontList1_INTERFACE_DEFINED__ #define __IDWriteFontList1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xde); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7ade") IDWriteFontList1 : public IDWriteFontList { virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( UINT32 index) = 0; virtual HRESULT STDMETHODCALLTYPE GetFont( UINT32 index, IDWriteFont3 **font) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( UINT32 index, IDWriteFontFaceReference **reference) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xde) #endif #else typedef struct IDWriteFontList1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontList1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontList1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontList1 *This); /*** IDWriteFontList methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontCollection)( IDWriteFontList1 *This, IDWriteFontCollection **collection); UINT32 (STDMETHODCALLTYPE *GetFontCount)( IDWriteFontList1 *This); HRESULT (STDMETHODCALLTYPE *GetFont)( IDWriteFontList1 *This, UINT32 index, IDWriteFont **font); /*** IDWriteFontList1 methods ***/ DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( IDWriteFontList1 *This, UINT32 index); HRESULT (STDMETHODCALLTYPE *IDWriteFontList1_GetFont)( IDWriteFontList1 *This, UINT32 index, IDWriteFont3 **font); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontList1 *This, UINT32 index, IDWriteFontFaceReference **reference); END_INTERFACE } IDWriteFontList1Vtbl; interface IDWriteFontList1 { CONST_VTBL IDWriteFontList1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontList1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontList1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontList1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontList methods ***/ #define IDWriteFontList1_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) #define IDWriteFontList1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) /*** IDWriteFontList1 methods ***/ #define IDWriteFontList1_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) #define IDWriteFontList1_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontList1_GetFont(This,index,font) #define IDWriteFontList1_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontList1_QueryInterface(IDWriteFontList1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontList1_AddRef(IDWriteFontList1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontList1_Release(IDWriteFontList1* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontList methods ***/ static FORCEINLINE HRESULT IDWriteFontList1_GetFontCollection(IDWriteFontList1* This,IDWriteFontCollection **collection) { return This->lpVtbl->GetFontCollection(This,collection); } static FORCEINLINE UINT32 IDWriteFontList1_GetFontCount(IDWriteFontList1* This) { return This->lpVtbl->GetFontCount(This); } /*** IDWriteFontList1 methods ***/ static FORCEINLINE DWRITE_LOCALITY IDWriteFontList1_GetFontLocality(IDWriteFontList1* This,UINT32 index) { return This->lpVtbl->GetFontLocality(This,index); } static FORCEINLINE HRESULT IDWriteFontList1_GetFont(IDWriteFontList1* This,UINT32 index,IDWriteFont3 **font) { return This->lpVtbl->IDWriteFontList1_GetFont(This,index,font); } static FORCEINLINE HRESULT IDWriteFontList1_GetFontFaceReference(IDWriteFontList1* This,UINT32 index,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,index,reference); } #endif #endif #endif #endif /* __IDWriteFontList1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontList2 interface */ #ifndef __IDWriteFontList2_INTERFACE_DEFINED__ #define __IDWriteFontList2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7,0x35, 0x08,0xc3,0x7b,0x0a,0x5b,0xf5); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c0763a34-77af-445a-b735-08c37b0a5bf5") IDWriteFontList2 : public IDWriteFontList1 { virtual HRESULT STDMETHODCALLTYPE GetFontSet( IDWriteFontSet1 **fontset) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7,0x35, 0x08,0xc3,0x7b,0x0a,0x5b,0xf5) #endif #else typedef struct IDWriteFontList2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontList2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontList2 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontList2 *This); /*** IDWriteFontList methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontCollection)( IDWriteFontList2 *This, IDWriteFontCollection **collection); UINT32 (STDMETHODCALLTYPE *GetFontCount)( IDWriteFontList2 *This); HRESULT (STDMETHODCALLTYPE *GetFont)( IDWriteFontList2 *This, UINT32 index, IDWriteFont **font); /*** IDWriteFontList1 methods ***/ DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( IDWriteFontList2 *This, UINT32 index); HRESULT (STDMETHODCALLTYPE *IDWriteFontList1_GetFont)( IDWriteFontList2 *This, UINT32 index, IDWriteFont3 **font); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontList2 *This, UINT32 index, IDWriteFontFaceReference **reference); /*** IDWriteFontList2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontSet)( IDWriteFontList2 *This, IDWriteFontSet1 **fontset); END_INTERFACE } IDWriteFontList2Vtbl; interface IDWriteFontList2 { CONST_VTBL IDWriteFontList2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontList2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontList2_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontList methods ***/ #define IDWriteFontList2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) #define IDWriteFontList2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) /*** IDWriteFontList1 methods ***/ #define IDWriteFontList2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) #define IDWriteFontList2_GetFont(This,index,font) (This)->lpVtbl->IDWriteFontList1_GetFont(This,index,font) #define IDWriteFontList2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->GetFontFaceReference(This,index,reference) /*** IDWriteFontList2 methods ***/ #define IDWriteFontList2_GetFontSet(This,fontset) (This)->lpVtbl->GetFontSet(This,fontset) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontList2_QueryInterface(IDWriteFontList2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontList2_AddRef(IDWriteFontList2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontList2_Release(IDWriteFontList2* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontList methods ***/ static FORCEINLINE HRESULT IDWriteFontList2_GetFontCollection(IDWriteFontList2* This,IDWriteFontCollection **collection) { return This->lpVtbl->GetFontCollection(This,collection); } static FORCEINLINE UINT32 IDWriteFontList2_GetFontCount(IDWriteFontList2* This) { return This->lpVtbl->GetFontCount(This); } /*** IDWriteFontList1 methods ***/ static FORCEINLINE DWRITE_LOCALITY IDWriteFontList2_GetFontLocality(IDWriteFontList2* This,UINT32 index) { return This->lpVtbl->GetFontLocality(This,index); } static FORCEINLINE HRESULT IDWriteFontList2_GetFont(IDWriteFontList2* This,UINT32 index,IDWriteFont3 **font) { return This->lpVtbl->IDWriteFontList1_GetFont(This,index,font); } static FORCEINLINE HRESULT IDWriteFontList2_GetFontFaceReference(IDWriteFontList2* This,UINT32 index,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,index,reference); } /*** IDWriteFontList2 methods ***/ static FORCEINLINE HRESULT IDWriteFontList2_GetFontSet(IDWriteFontList2* This,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFontSet(This,fontset); } #endif #endif #endif #endif /* __IDWriteFontList2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet2 interface */ #ifndef __IDWriteFontSet2_INTERFACE_DEFINED__ #define __IDWriteFontSet2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2,0xda, 0x4e,0x2b,0x79,0xba,0x3f,0x7f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dc7ead19-e54c-43af-b2da-4e2b79ba3f7f") IDWriteFontSet2 : public IDWriteFontSet1 { virtual HANDLE STDMETHODCALLTYPE GetExpirationEvent( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2,0xda, 0x4e,0x2b,0x79,0xba,0x3f,0x7f) #endif #else typedef struct IDWriteFontSet2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontSet2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontSet2 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontSet2 *This); /*** IDWriteFontSet methods ***/ UINT32 (STDMETHODCALLTYPE *GetFontCount)( IDWriteFontSet2 *This); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontSet2 *This, UINT32 index, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( IDWriteFontSet2 *This, IDWriteFontFaceReference *reference, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *FindFontFace)( IDWriteFontSet2 *This, IDWriteFontFace *fontface, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( IDWriteFontSet2 *This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList **values); HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( IDWriteFontSet2 *This, DWRITE_FONT_PROPERTY_ID id, const WCHAR *preferred_locales, IDWriteStringList **values); HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( IDWriteFontSet2 *This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL *exists, IDWriteLocalizedStrings **values); HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( IDWriteFontSet2 *This, const DWRITE_FONT_PROPERTY *property, UINT32 *count); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( IDWriteFontSet2 *This, const WCHAR *family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( IDWriteFontSet2 *This, const DWRITE_FONT_PROPERTY *props, UINT32 count, IDWriteFontSet **fontset); /*** IDWriteFontSet1 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( IDWriteFontSet2 *This, const DWRITE_FONT_PROPERTY *property, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( IDWriteFontSet2 *This, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( IDWriteFontSet2 *This, const UINT32 *indices, UINT32 num_indices, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( IDWriteFontSet2 *This, const DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, WINBOOL select_any_range, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( IDWriteFontSet2 *This, const DWRITE_FONT_PROPERTY *props, UINT32 num_properties, WINBOOL select_any_property, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( IDWriteFontSet2 *This, const DWRITE_FONT_PROPERTY *props, UINT32 num_properties, WINBOOL select_any_range, UINT32 *indices, UINT32 num_indices, UINT32 *actual_num_indices); HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( IDWriteFontSet2 *This, UINT32 font_index, DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, UINT32 *actual_num_ranges); HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( IDWriteFontSet2 *This, DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, UINT32 *actual_num_ranges); HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( IDWriteFontSet2 *This, UINT32 index, IDWriteFontFaceReference1 **reference); HRESULT (STDMETHODCALLTYPE *CreateFontResource)( IDWriteFontSet2 *This, UINT32 index, IDWriteFontResource **resource); HRESULT (STDMETHODCALLTYPE *CreateFontFace)( IDWriteFontSet2 *This, UINT32 index, IDWriteFontFace5 **fontface); DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( IDWriteFontSet2 *This, UINT32 index); /*** IDWriteFontSet2 methods ***/ HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( IDWriteFontSet2 *This); END_INTERFACE } IDWriteFontSet2Vtbl; interface IDWriteFontSet2 { CONST_VTBL IDWriteFontSet2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontSet2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontSet2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontSet2_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontSet methods ***/ #define IDWriteFontSet2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) #define IDWriteFontSet2_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) #define IDWriteFontSet2_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) #define IDWriteFontSet2_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) #define IDWriteFontSet2_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) #define IDWriteFontSet2_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) #define IDWriteFontSet2_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) #define IDWriteFontSet2_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) /*** IDWriteFontSet1 methods ***/ #define IDWriteFontSet2_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) #define IDWriteFontSet2_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) #define IDWriteFontSet2_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) #define IDWriteFontSet2_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) #define IDWriteFontSet2_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) #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) #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) #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) #define IDWriteFontSet2_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) #define IDWriteFontSet2_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) #define IDWriteFontSet2_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) #define IDWriteFontSet2_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) #define IDWriteFontSet2_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) /*** IDWriteFontSet2 methods ***/ #define IDWriteFontSet2_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontSet2_QueryInterface(IDWriteFontSet2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontSet2_AddRef(IDWriteFontSet2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontSet2_Release(IDWriteFontSet2* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static FORCEINLINE UINT32 IDWriteFontSet2_GetFontCount(IDWriteFontSet2* This) { return This->lpVtbl->GetFontCount(This); } static FORCEINLINE HRESULT IDWriteFontSet2_FindFontFaceReference(IDWriteFontSet2* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); } static FORCEINLINE HRESULT IDWriteFontSet2_FindFontFace(IDWriteFontSet2* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFontFace(This,fontface,index,exists); } static FORCEINLINE HRESULT IDWriteFontSet2_GetPropertyValues__(IDWriteFontSet2* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { return This->lpVtbl->GetPropertyValues__(This,id,values); } static FORCEINLINE HRESULT IDWriteFontSet2_GetPropertyValues_(IDWriteFontSet2* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); } static FORCEINLINE HRESULT IDWriteFontSet2_GetPropertyValues(IDWriteFontSet2* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); } static FORCEINLINE HRESULT IDWriteFontSet2_GetPropertyOccurrenceCount(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); } static FORCEINLINE HRESULT IDWriteFontSet2_GetMatchingFonts_(IDWriteFontSet2* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); } /*** IDWriteFontSet1 methods ***/ static FORCEINLINE HRESULT IDWriteFontSet2_GetMatchingFonts(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); } static FORCEINLINE HRESULT IDWriteFontSet2_GetFirstFontResources(IDWriteFontSet2* This,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFirstFontResources(This,fontset); } static FORCEINLINE HRESULT IDWriteFontSet2_GetFilteredFonts__(IDWriteFontSet2* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); } static FORCEINLINE HRESULT IDWriteFontSet2_GetFilteredFonts_(IDWriteFontSet2* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); } static FORCEINLINE HRESULT IDWriteFontSet2_GetFilteredFonts(IDWriteFontSet2* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); } 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) { return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); } 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) { return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); } static FORCEINLINE HRESULT IDWriteFontSet2_GetFontAxisRanges_(IDWriteFontSet2* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); } static FORCEINLINE HRESULT IDWriteFontSet2_GetFontAxisRanges(IDWriteFontSet2* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); } static FORCEINLINE HRESULT IDWriteFontSet2_GetFontFaceReference(IDWriteFontSet2* This,UINT32 index,IDWriteFontFaceReference1 **reference) { return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); } static FORCEINLINE HRESULT IDWriteFontSet2_CreateFontResource(IDWriteFontSet2* This,UINT32 index,IDWriteFontResource **resource) { return This->lpVtbl->CreateFontResource(This,index,resource); } static FORCEINLINE HRESULT IDWriteFontSet2_CreateFontFace(IDWriteFontSet2* This,UINT32 index,IDWriteFontFace5 **fontface) { return This->lpVtbl->CreateFontFace(This,index,fontface); } static FORCEINLINE DWRITE_LOCALITY IDWriteFontSet2_GetFontLocality(IDWriteFontSet2* This,UINT32 index) { return This->lpVtbl->GetFontLocality(This,index); } /*** IDWriteFontSet2 methods ***/ static FORCEINLINE HANDLE IDWriteFontSet2_GetExpirationEvent(IDWriteFontSet2* This) { return This->lpVtbl->GetExpirationEvent(This); } #endif #endif #endif #endif /* __IDWriteFontSet2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet3 interface */ #ifndef __IDWriteFontSet3_INTERFACE_DEFINED__ #define __IDWriteFontSet3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c,0x32, 0x8a,0xb8,0xae,0x64,0x0f,0x90); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7c073ef2-a7f4-4045-8c32-8ab8ae640f90") IDWriteFontSet3 : public IDWriteFontSet2 { virtual DWRITE_FONT_SOURCE_TYPE STDMETHODCALLTYPE GetFontSourceType( UINT32 index) = 0; virtual UINT32 STDMETHODCALLTYPE GetFontSourceNameLength( UINT32 index) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontSourceName( UINT32 index, WCHAR *buffer, UINT32 buffer_size) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c,0x32, 0x8a,0xb8,0xae,0x64,0x0f,0x90) #endif #else typedef struct IDWriteFontSet3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontSet3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontSet3 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontSet3 *This); /*** IDWriteFontSet methods ***/ UINT32 (STDMETHODCALLTYPE *GetFontCount)( IDWriteFontSet3 *This); HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontSet3 *This, UINT32 index, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( IDWriteFontSet3 *This, IDWriteFontFaceReference *reference, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *FindFontFace)( IDWriteFontSet3 *This, IDWriteFontFace *fontface, UINT32 *index, WINBOOL *exists); HRESULT (STDMETHODCALLTYPE *GetPropertyValues__)( IDWriteFontSet3 *This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList **values); HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( IDWriteFontSet3 *This, DWRITE_FONT_PROPERTY_ID id, const WCHAR *preferred_locales, IDWriteStringList **values); HRESULT (STDMETHODCALLTYPE *GetPropertyValues)( IDWriteFontSet3 *This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL *exists, IDWriteLocalizedStrings **values); HRESULT (STDMETHODCALLTYPE *GetPropertyOccurrenceCount)( IDWriteFontSet3 *This, const DWRITE_FONT_PROPERTY *property, UINT32 *count); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts_)( IDWriteFontSet3 *This, const WCHAR *family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *GetMatchingFonts)( IDWriteFontSet3 *This, const DWRITE_FONT_PROPERTY *props, UINT32 count, IDWriteFontSet **fontset); /*** IDWriteFontSet1 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetMatchingFonts)( IDWriteFontSet3 *This, const DWRITE_FONT_PROPERTY *property, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFirstFontResources)( IDWriteFontSet3 *This, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( IDWriteFontSet3 *This, const UINT32 *indices, UINT32 num_indices, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts_)( IDWriteFontSet3 *This, const DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, WINBOOL select_any_range, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *GetFilteredFonts)( IDWriteFontSet3 *This, const DWRITE_FONT_PROPERTY *props, UINT32 num_properties, WINBOOL select_any_property, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetFilteredFontIndices)( IDWriteFontSet3 *This, const DWRITE_FONT_PROPERTY *props, UINT32 num_properties, WINBOOL select_any_range, UINT32 *indices, UINT32 num_indices, UINT32 *actual_num_indices); HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges_)( IDWriteFontSet3 *This, UINT32 font_index, DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, UINT32 *actual_num_ranges); HRESULT (STDMETHODCALLTYPE *GetFontAxisRanges)( IDWriteFontSet3 *This, DWRITE_FONT_AXIS_RANGE *axis_ranges, UINT32 num_ranges, UINT32 *actual_num_ranges); HRESULT (STDMETHODCALLTYPE *IDWriteFontSet1_GetFontFaceReference)( IDWriteFontSet3 *This, UINT32 index, IDWriteFontFaceReference1 **reference); HRESULT (STDMETHODCALLTYPE *CreateFontResource)( IDWriteFontSet3 *This, UINT32 index, IDWriteFontResource **resource); HRESULT (STDMETHODCALLTYPE *CreateFontFace)( IDWriteFontSet3 *This, UINT32 index, IDWriteFontFace5 **fontface); DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( IDWriteFontSet3 *This, UINT32 index); /*** IDWriteFontSet2 methods ***/ HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( IDWriteFontSet3 *This); /*** IDWriteFontSet3 methods ***/ DWRITE_FONT_SOURCE_TYPE (STDMETHODCALLTYPE *GetFontSourceType)( IDWriteFontSet3 *This, UINT32 index); UINT32 (STDMETHODCALLTYPE *GetFontSourceNameLength)( IDWriteFontSet3 *This, UINT32 index); HRESULT (STDMETHODCALLTYPE *GetFontSourceName)( IDWriteFontSet3 *This, UINT32 index, WCHAR *buffer, UINT32 buffer_size); END_INTERFACE } IDWriteFontSet3Vtbl; interface IDWriteFontSet3 { CONST_VTBL IDWriteFontSet3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontSet3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontSet3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontSet3_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontSet methods ***/ #define IDWriteFontSet3_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) #define IDWriteFontSet3_FindFontFaceReference(This,reference,index,exists) (This)->lpVtbl->FindFontFaceReference(This,reference,index,exists) #define IDWriteFontSet3_FindFontFace(This,fontface,index,exists) (This)->lpVtbl->FindFontFace(This,fontface,index,exists) #define IDWriteFontSet3_GetPropertyValues__(This,id,values) (This)->lpVtbl->GetPropertyValues__(This,id,values) #define IDWriteFontSet3_GetPropertyValues_(This,id,preferred_locales,values) (This)->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values) #define IDWriteFontSet3_GetPropertyValues(This,index,id,exists,values) (This)->lpVtbl->GetPropertyValues(This,index,id,exists,values) #define IDWriteFontSet3_GetPropertyOccurrenceCount(This,property,count) (This)->lpVtbl->GetPropertyOccurrenceCount(This,property,count) #define IDWriteFontSet3_GetMatchingFonts_(This,family,weight,stretch,style,fontset) (This)->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset) /*** IDWriteFontSet1 methods ***/ #define IDWriteFontSet3_GetMatchingFonts(This,property,axis_values,num_values,fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset) #define IDWriteFontSet3_GetFirstFontResources(This,fontset) (This)->lpVtbl->GetFirstFontResources(This,fontset) #define IDWriteFontSet3_GetFilteredFonts__(This,indices,num_indices,fontset) (This)->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset) #define IDWriteFontSet3_GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) (This)->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset) #define IDWriteFontSet3_GetFilteredFonts(This,props,num_properties,select_any_property,fontset) (This)->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset) #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) #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) #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) #define IDWriteFontSet3_GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges) #define IDWriteFontSet3_GetFontFaceReference(This,index,reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference) #define IDWriteFontSet3_CreateFontResource(This,index,resource) (This)->lpVtbl->CreateFontResource(This,index,resource) #define IDWriteFontSet3_CreateFontFace(This,index,fontface) (This)->lpVtbl->CreateFontFace(This,index,fontface) #define IDWriteFontSet3_GetFontLocality(This,index) (This)->lpVtbl->GetFontLocality(This,index) /*** IDWriteFontSet2 methods ***/ #define IDWriteFontSet3_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) /*** IDWriteFontSet3 methods ***/ #define IDWriteFontSet3_GetFontSourceType(This,index) (This)->lpVtbl->GetFontSourceType(This,index) #define IDWriteFontSet3_GetFontSourceNameLength(This,index) (This)->lpVtbl->GetFontSourceNameLength(This,index) #define IDWriteFontSet3_GetFontSourceName(This,index,buffer,buffer_size) (This)->lpVtbl->GetFontSourceName(This,index,buffer,buffer_size) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontSet3_QueryInterface(IDWriteFontSet3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontSet3_AddRef(IDWriteFontSet3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontSet3_Release(IDWriteFontSet3* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static FORCEINLINE UINT32 IDWriteFontSet3_GetFontCount(IDWriteFontSet3* This) { return This->lpVtbl->GetFontCount(This); } static FORCEINLINE HRESULT IDWriteFontSet3_FindFontFaceReference(IDWriteFontSet3* This,IDWriteFontFaceReference *reference,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFontFaceReference(This,reference,index,exists); } static FORCEINLINE HRESULT IDWriteFontSet3_FindFontFace(IDWriteFontSet3* This,IDWriteFontFace *fontface,UINT32 *index,WINBOOL *exists) { return This->lpVtbl->FindFontFace(This,fontface,index,exists); } static FORCEINLINE HRESULT IDWriteFontSet3_GetPropertyValues__(IDWriteFontSet3* This,DWRITE_FONT_PROPERTY_ID id,IDWriteStringList **values) { return This->lpVtbl->GetPropertyValues__(This,id,values); } static FORCEINLINE HRESULT IDWriteFontSet3_GetPropertyValues_(IDWriteFontSet3* This,DWRITE_FONT_PROPERTY_ID id,const WCHAR *preferred_locales,IDWriteStringList **values) { return This->lpVtbl->GetPropertyValues_(This,id,preferred_locales,values); } static FORCEINLINE HRESULT IDWriteFontSet3_GetPropertyValues(IDWriteFontSet3* This,UINT32 index,DWRITE_FONT_PROPERTY_ID id,WINBOOL *exists,IDWriteLocalizedStrings **values) { return This->lpVtbl->GetPropertyValues(This,index,id,exists,values); } static FORCEINLINE HRESULT IDWriteFontSet3_GetPropertyOccurrenceCount(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *property,UINT32 *count) { return This->lpVtbl->GetPropertyOccurrenceCount(This,property,count); } static FORCEINLINE HRESULT IDWriteFontSet3_GetMatchingFonts_(IDWriteFontSet3* This,const WCHAR *family,DWRITE_FONT_WEIGHT weight,DWRITE_FONT_STRETCH stretch,DWRITE_FONT_STYLE style,IDWriteFontSet **fontset) { return This->lpVtbl->GetMatchingFonts_(This,family,weight,stretch,style,fontset); } /*** IDWriteFontSet1 methods ***/ static FORCEINLINE HRESULT IDWriteFontSet3_GetMatchingFonts(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *property,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,IDWriteFontSet1 **fontset) { return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This,property,axis_values,num_values,fontset); } static FORCEINLINE HRESULT IDWriteFontSet3_GetFirstFontResources(IDWriteFontSet3* This,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFirstFontResources(This,fontset); } static FORCEINLINE HRESULT IDWriteFontSet3_GetFilteredFonts__(IDWriteFontSet3* This,const UINT32 *indices,UINT32 num_indices,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts__(This,indices,num_indices,fontset); } static FORCEINLINE HRESULT IDWriteFontSet3_GetFilteredFonts_(IDWriteFontSet3* This,const DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,WINBOOL select_any_range,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts_(This,axis_ranges,num_ranges,select_any_range,fontset); } static FORCEINLINE HRESULT IDWriteFontSet3_GetFilteredFonts(IDWriteFontSet3* This,const DWRITE_FONT_PROPERTY *props,UINT32 num_properties,WINBOOL select_any_property,IDWriteFontSet1 **fontset) { return This->lpVtbl->GetFilteredFonts(This,props,num_properties,select_any_property,fontset); } 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) { return This->lpVtbl->GetFilteredFontIndices_(This,ranges,num_ranges,select_any_range,indices,num_indices,actual_num_indices); } 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) { return This->lpVtbl->GetFilteredFontIndices(This,props,num_properties,select_any_range,indices,num_indices,actual_num_indices); } static FORCEINLINE HRESULT IDWriteFontSet3_GetFontAxisRanges_(IDWriteFontSet3* This,UINT32 font_index,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { return This->lpVtbl->GetFontAxisRanges_(This,font_index,axis_ranges,num_ranges,actual_num_ranges); } static FORCEINLINE HRESULT IDWriteFontSet3_GetFontAxisRanges(IDWriteFontSet3* This,DWRITE_FONT_AXIS_RANGE *axis_ranges,UINT32 num_ranges,UINT32 *actual_num_ranges) { return This->lpVtbl->GetFontAxisRanges(This,axis_ranges,num_ranges,actual_num_ranges); } static FORCEINLINE HRESULT IDWriteFontSet3_GetFontFaceReference(IDWriteFontSet3* This,UINT32 index,IDWriteFontFaceReference1 **reference) { return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This,index,reference); } static FORCEINLINE HRESULT IDWriteFontSet3_CreateFontResource(IDWriteFontSet3* This,UINT32 index,IDWriteFontResource **resource) { return This->lpVtbl->CreateFontResource(This,index,resource); } static FORCEINLINE HRESULT IDWriteFontSet3_CreateFontFace(IDWriteFontSet3* This,UINT32 index,IDWriteFontFace5 **fontface) { return This->lpVtbl->CreateFontFace(This,index,fontface); } static FORCEINLINE DWRITE_LOCALITY IDWriteFontSet3_GetFontLocality(IDWriteFontSet3* This,UINT32 index) { return This->lpVtbl->GetFontLocality(This,index); } /*** IDWriteFontSet2 methods ***/ static FORCEINLINE HANDLE IDWriteFontSet3_GetExpirationEvent(IDWriteFontSet3* This) { return This->lpVtbl->GetExpirationEvent(This); } /*** IDWriteFontSet3 methods ***/ static FORCEINLINE DWRITE_FONT_SOURCE_TYPE IDWriteFontSet3_GetFontSourceType(IDWriteFontSet3* This,UINT32 index) { return This->lpVtbl->GetFontSourceType(This,index); } static FORCEINLINE UINT32 IDWriteFontSet3_GetFontSourceNameLength(IDWriteFontSet3* This,UINT32 index) { return This->lpVtbl->GetFontSourceNameLength(This,index); } static FORCEINLINE HRESULT IDWriteFontSet3_GetFontSourceName(IDWriteFontSet3* This,UINT32 index,WCHAR *buffer,UINT32 buffer_size) { return This->lpVtbl->GetFontSourceName(This,index,buffer,buffer_size); } #endif #endif #endif #endif /* __IDWriteFontSet3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFace3 interface */ #ifndef __IDWriteFontFace3_INTERFACE_DEFINED__ #define __IDWriteFontFace3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2,0x36, 0x20,0x81,0x34,0x1c,0xc1,0xf2); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d37d7598-09be-4222-a236-2081341cc1f2") IDWriteFontFace3 : public IDWriteFontFace2 { virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( IDWriteFontFaceReference **reference) = 0; virtual void STDMETHODCALLTYPE GetPanose( DWRITE_PANOSE *panose) = 0; virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight( ) = 0; virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch( ) = 0; virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( IDWriteLocalizedStrings **names) = 0; virtual HRESULT STDMETHODCALLTYPE GetFaceNames( IDWriteLocalizedStrings **names) = 0; virtual HRESULT STDMETHODCALLTYPE GetInformationalStrings( DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings **strings, WINBOOL *exists) = 0; virtual WINBOOL STDMETHODCALLTYPE HasCharacter( UINT32 character) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecommendedRenderingMode( 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) = 0; virtual WINBOOL STDMETHODCALLTYPE IsCharacterLocal( UINT32 character) = 0; virtual WINBOOL STDMETHODCALLTYPE IsGlyphLocal( UINT16 glyph) = 0; virtual HRESULT STDMETHODCALLTYPE AreCharactersLocal( const WCHAR *characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL *are_local) = 0; virtual HRESULT STDMETHODCALLTYPE AreGlyphsLocal( const UINT16 *glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL *are_local) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2,0x36, 0x20,0x81,0x34,0x1c,0xc1,0xf2) #endif #else typedef struct IDWriteFontFace3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontFace3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontFace3 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontFace3 *This); /*** IDWriteFontFace methods ***/ DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( IDWriteFontFace3 *This); HRESULT (STDMETHODCALLTYPE *GetFiles)( IDWriteFontFace3 *This, UINT32 *number_of_files, IDWriteFontFile **fontfiles); UINT32 (STDMETHODCALLTYPE *GetIndex)( IDWriteFontFace3 *This); DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( IDWriteFontFace3 *This); WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( IDWriteFontFace3 *This); void (STDMETHODCALLTYPE *GetMetrics)( IDWriteFontFace3 *This, DWRITE_FONT_METRICS *metrics); UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( IDWriteFontFace3 *This); HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( IDWriteFontFace3 *This, const UINT16 *glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS *metrics, WINBOOL is_sideways); HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( IDWriteFontFace3 *This, const UINT32 *codepoints, UINT32 count, UINT16 *glyph_indices); HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( IDWriteFontFace3 *This, UINT32 table_tag, const void **table_data, UINT32 *table_size, void **context, WINBOOL *exists); void (STDMETHODCALLTYPE *ReleaseFontTable)( IDWriteFontFace3 *This, void *table_context); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( IDWriteFontFace3 *This, FLOAT emSize, FLOAT pixels_per_dip, DWRITE_MEASURING_MODE mode, IDWriteRenderingParams *params, DWRITE_RENDERING_MODE *rendering_mode); HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( IDWriteFontFace3 *This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_FONT_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *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); /*** IDWriteFontFace1 methods ***/ void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( IDWriteFontFace3 *This, DWRITE_FONT_METRICS1 *metrics); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( IDWriteFontFace3 *This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_FONT_METRICS1 *metrics); void (STDMETHODCALLTYPE *GetCaretMetrics)( IDWriteFontFace3 *This, DWRITE_CARET_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( IDWriteFontFace3 *This, UINT32 max_count, DWRITE_UNICODE_RANGE *ranges, UINT32 *count); WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( IDWriteFontFace3 *This); HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( IDWriteFontFace3 *This, UINT32 glyph_count, const UINT16 *indices, INT32 *advances, WINBOOL is_sideways); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( IDWriteFontFace3 *This, UINT32 glyph_count, const UINT16 *indices, INT32 *adjustments); WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( IDWriteFontFace3 *This); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( IDWriteFontFace3 *This, FLOAT font_emsize, FLOAT dpiX, FLOAT dpiY, const DWRITE_MATRIX *transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuring_mode, DWRITE_RENDERING_MODE *rendering_mode); HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( IDWriteFontFace3 *This, UINT32 glyph_count, const UINT16 *nominal_indices, UINT16 *vertical_indices); WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( IDWriteFontFace3 *This); /*** IDWriteFontFace2 methods ***/ WINBOOL (STDMETHODCALLTYPE *IsColorFont)( IDWriteFontFace3 *This); UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( IDWriteFontFace3 *This); UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( IDWriteFontFace3 *This); HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( IDWriteFontFace3 *This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F *entries); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( IDWriteFontFace3 *This, FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, const DWRITE_MATRIX *transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuringmode, IDWriteRenderingParams *params, DWRITE_RENDERING_MODE *renderingmode, DWRITE_GRID_FIT_MODE *gridfitmode); /*** IDWriteFontFace3 methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontFace3 *This, IDWriteFontFaceReference **reference); void (STDMETHODCALLTYPE *GetPanose)( IDWriteFontFace3 *This, DWRITE_PANOSE *panose); DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( IDWriteFontFace3 *This); DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( IDWriteFontFace3 *This); DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( IDWriteFontFace3 *This); HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( IDWriteFontFace3 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetFaceNames)( IDWriteFontFace3 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( IDWriteFontFace3 *This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings **strings, WINBOOL *exists); WINBOOL (STDMETHODCALLTYPE *HasCharacter)( IDWriteFontFace3 *This, UINT32 character); HRESULT (STDMETHODCALLTYPE *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); WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( IDWriteFontFace3 *This, UINT32 character); WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( IDWriteFontFace3 *This, UINT16 glyph); HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( IDWriteFontFace3 *This, const WCHAR *characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL *are_local); HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( IDWriteFontFace3 *This, const UINT16 *glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL *are_local); END_INTERFACE } IDWriteFontFace3Vtbl; interface IDWriteFontFace3 { CONST_VTBL IDWriteFontFace3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontFace3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontFace3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFace3_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFace methods ***/ #define IDWriteFontFace3_GetType(This) (This)->lpVtbl->GetType(This) #define IDWriteFontFace3_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) #define IDWriteFontFace3_GetIndex(This) (This)->lpVtbl->GetIndex(This) #define IDWriteFontFace3_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) #define IDWriteFontFace3_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) #define IDWriteFontFace3_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) #define IDWriteFontFace3_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) #define IDWriteFontFace3_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) #define IDWriteFontFace3_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) #define IDWriteFontFace3_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) #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) #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) /*** IDWriteFontFace1 methods ***/ #define IDWriteFontFace3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) #define IDWriteFontFace3_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) #define IDWriteFontFace3_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) #define IDWriteFontFace3_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) #define IDWriteFontFace3_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) #define IDWriteFontFace3_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) #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) #define IDWriteFontFace3_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) #define IDWriteFontFace3_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) #define IDWriteFontFace3_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) #define IDWriteFontFace3_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) /*** IDWriteFontFace2 methods ***/ #define IDWriteFontFace3_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) #define IDWriteFontFace3_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) #define IDWriteFontFace3_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) #define IDWriteFontFace3_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) /*** IDWriteFontFace3 methods ***/ #define IDWriteFontFace3_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) #define IDWriteFontFace3_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) #define IDWriteFontFace3_GetWeight(This) (This)->lpVtbl->GetWeight(This) #define IDWriteFontFace3_GetStretch(This) (This)->lpVtbl->GetStretch(This) #define IDWriteFontFace3_GetStyle(This) (This)->lpVtbl->GetStyle(This) #define IDWriteFontFace3_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) #define IDWriteFontFace3_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) #define IDWriteFontFace3_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) #define IDWriteFontFace3_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) #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) #define IDWriteFontFace3_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) #define IDWriteFontFace3_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) #define IDWriteFontFace3_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) #define IDWriteFontFace3_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontFace3_QueryInterface(IDWriteFontFace3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontFace3_AddRef(IDWriteFontFace3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontFace3_Release(IDWriteFontFace3* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static FORCEINLINE DWRITE_FONT_FACE_TYPE IDWriteFontFace3_GetType(IDWriteFontFace3* This) { return This->lpVtbl->GetType(This); } static FORCEINLINE HRESULT IDWriteFontFace3_GetFiles(IDWriteFontFace3* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); } static FORCEINLINE UINT32 IDWriteFontFace3_GetIndex(IDWriteFontFace3* This) { return This->lpVtbl->GetIndex(This); } static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFace3_GetSimulations(IDWriteFontFace3* This) { return This->lpVtbl->GetSimulations(This); } static FORCEINLINE WINBOOL IDWriteFontFace3_IsSymbolFont(IDWriteFontFace3* This) { return This->lpVtbl->IsSymbolFont(This); } static FORCEINLINE UINT16 IDWriteFontFace3_GetGlyphCount(IDWriteFontFace3* This) { return This->lpVtbl->GetGlyphCount(This); } static FORCEINLINE HRESULT IDWriteFontFace3_GetDesignGlyphMetrics(IDWriteFontFace3* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); } static FORCEINLINE HRESULT IDWriteFontFace3_GetGlyphIndices(IDWriteFontFace3* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); } static FORCEINLINE HRESULT IDWriteFontFace3_TryGetFontTable(IDWriteFontFace3* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); } static FORCEINLINE void IDWriteFontFace3_ReleaseFontTable(IDWriteFontFace3* This,void *table_context) { This->lpVtbl->ReleaseFontTable(This,table_context); } 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) { return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); } 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) { return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); } /*** IDWriteFontFace1 methods ***/ static FORCEINLINE void IDWriteFontFace3_GetMetrics(IDWriteFontFace3* This,DWRITE_FONT_METRICS1 *metrics) { This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); } static FORCEINLINE HRESULT IDWriteFontFace3_GetGdiCompatibleMetrics(IDWriteFontFace3* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); } static FORCEINLINE void IDWriteFontFace3_GetCaretMetrics(IDWriteFontFace3* This,DWRITE_CARET_METRICS *metrics) { This->lpVtbl->GetCaretMetrics(This,metrics); } static FORCEINLINE HRESULT IDWriteFontFace3_GetUnicodeRanges(IDWriteFontFace3* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); } static FORCEINLINE WINBOOL IDWriteFontFace3_IsMonospacedFont(IDWriteFontFace3* This) { return This->lpVtbl->IsMonospacedFont(This); } static FORCEINLINE HRESULT IDWriteFontFace3_GetDesignGlyphAdvances(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); } 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) { return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); } static FORCEINLINE HRESULT IDWriteFontFace3_GetKerningPairAdjustments(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); } static FORCEINLINE WINBOOL IDWriteFontFace3_HasKerningPairs(IDWriteFontFace3* This) { return This->lpVtbl->HasKerningPairs(This); } static FORCEINLINE HRESULT IDWriteFontFace3_GetVerticalGlyphVariants(IDWriteFontFace3* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); } static FORCEINLINE WINBOOL IDWriteFontFace3_HasVerticalGlyphVariants(IDWriteFontFace3* This) { return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static FORCEINLINE WINBOOL IDWriteFontFace3_IsColorFont(IDWriteFontFace3* This) { return This->lpVtbl->IsColorFont(This); } static FORCEINLINE UINT32 IDWriteFontFace3_GetColorPaletteCount(IDWriteFontFace3* This) { return This->lpVtbl->GetColorPaletteCount(This); } static FORCEINLINE UINT32 IDWriteFontFace3_GetPaletteEntryCount(IDWriteFontFace3* This) { return This->lpVtbl->GetPaletteEntryCount(This); } static FORCEINLINE HRESULT IDWriteFontFace3_GetPaletteEntries(IDWriteFontFace3* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); } /*** IDWriteFontFace3 methods ***/ static FORCEINLINE HRESULT IDWriteFontFace3_GetFontFaceReference(IDWriteFontFace3* This,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,reference); } static FORCEINLINE void IDWriteFontFace3_GetPanose(IDWriteFontFace3* This,DWRITE_PANOSE *panose) { This->lpVtbl->GetPanose(This,panose); } static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteFontFace3_GetWeight(IDWriteFontFace3* This) { return This->lpVtbl->GetWeight(This); } static FORCEINLINE DWRITE_FONT_STRETCH IDWriteFontFace3_GetStretch(IDWriteFontFace3* This) { return This->lpVtbl->GetStretch(This); } static FORCEINLINE DWRITE_FONT_STYLE IDWriteFontFace3_GetStyle(IDWriteFontFace3* This) { return This->lpVtbl->GetStyle(This); } static FORCEINLINE HRESULT IDWriteFontFace3_GetFamilyNames(IDWriteFontFace3* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFamilyNames(This,names); } static FORCEINLINE HRESULT IDWriteFontFace3_GetFaceNames(IDWriteFontFace3* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFaceNames(This,names); } static FORCEINLINE HRESULT IDWriteFontFace3_GetInformationalStrings(IDWriteFontFace3* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); } static FORCEINLINE WINBOOL IDWriteFontFace3_HasCharacter(IDWriteFontFace3* This,UINT32 character) { return This->lpVtbl->HasCharacter(This,character); } 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) { return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); } static FORCEINLINE WINBOOL IDWriteFontFace3_IsCharacterLocal(IDWriteFontFace3* This,UINT32 character) { return This->lpVtbl->IsCharacterLocal(This,character); } static FORCEINLINE WINBOOL IDWriteFontFace3_IsGlyphLocal(IDWriteFontFace3* This,UINT16 glyph) { return This->lpVtbl->IsGlyphLocal(This,glyph); } static FORCEINLINE HRESULT IDWriteFontFace3_AreCharactersLocal(IDWriteFontFace3* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); } static FORCEINLINE HRESULT IDWriteFontFace3_AreGlyphsLocal(IDWriteFontFace3* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); } #endif #endif #endif #endif /* __IDWriteFontFace3_INTERFACE_DEFINED__ */ typedef struct DWRITE_LINE_METRICS1 { UINT32 length; UINT32 trailingWhitespaceLength; UINT32 newlineLength; FLOAT height; FLOAT baseline; WINBOOL isTrimmed; FLOAT leadingBefore; FLOAT leadingAfter; } DWRITE_LINE_METRICS1; typedef enum DWRITE_FONT_LINE_GAP_USAGE { DWRITE_FONT_LINE_GAP_USAGE_DEFAULT = 0, DWRITE_FONT_LINE_GAP_USAGE_DISABLED = 1, DWRITE_FONT_LINE_GAP_USAGE_ENABLED = 2 } DWRITE_FONT_LINE_GAP_USAGE; typedef struct DWRITE_LINE_SPACING { DWRITE_LINE_SPACING_METHOD method; FLOAT height; FLOAT baseline; FLOAT leadingBefore; DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage; } DWRITE_LINE_SPACING; /***************************************************************************** * IDWriteTextFormat2 interface */ #ifndef __IDWriteTextFormat2_INTERFACE_DEFINED__ #define __IDWriteTextFormat2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c,0x32, 0x41,0x83,0x25,0x3d,0xfe,0x70); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f67e0edd-9e3d-4ecc-8c32-4183253dfe70") IDWriteTextFormat2 : public IDWriteTextFormat1 { virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( const DWRITE_LINE_SPACING *spacing) = 0; virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( DWRITE_LINE_SPACING *spacing) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c,0x32, 0x41,0x83,0x25,0x3d,0xfe,0x70) #endif #else typedef struct IDWriteTextFormat2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteTextFormat2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteTextFormat2 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteTextFormat2 *This); /*** IDWriteTextFormat methods ***/ HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( IDWriteTextFormat2 *This, DWRITE_TEXT_ALIGNMENT alignment); HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( IDWriteTextFormat2 *This, DWRITE_PARAGRAPH_ALIGNMENT alignment); HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( IDWriteTextFormat2 *This, DWRITE_WORD_WRAPPING wrapping); HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( IDWriteTextFormat2 *This, DWRITE_READING_DIRECTION direction); HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( IDWriteTextFormat2 *This, DWRITE_FLOW_DIRECTION direction); HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( IDWriteTextFormat2 *This, FLOAT tabstop); HRESULT (STDMETHODCALLTYPE *SetTrimming)( IDWriteTextFormat2 *This, const DWRITE_TRIMMING *trimming, IDWriteInlineObject *trimming_sign); HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( IDWriteTextFormat2 *This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline); DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( IDWriteTextFormat2 *This); DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( IDWriteTextFormat2 *This); DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( IDWriteTextFormat2 *This); DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( IDWriteTextFormat2 *This); DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( IDWriteTextFormat2 *This); FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( IDWriteTextFormat2 *This); HRESULT (STDMETHODCALLTYPE *GetTrimming)( IDWriteTextFormat2 *This, DWRITE_TRIMMING *options, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( IDWriteTextFormat2 *This, DWRITE_LINE_SPACING_METHOD *method, FLOAT *spacing, FLOAT *baseline); HRESULT (STDMETHODCALLTYPE *GetFontCollection)( IDWriteTextFormat2 *This, IDWriteFontCollection **collection); UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( IDWriteTextFormat2 *This); HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( IDWriteTextFormat2 *This, WCHAR *name, UINT32 size); DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( IDWriteTextFormat2 *This); DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( IDWriteTextFormat2 *This); DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( IDWriteTextFormat2 *This); FLOAT (STDMETHODCALLTYPE *GetFontSize)( IDWriteTextFormat2 *This); UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( IDWriteTextFormat2 *This); HRESULT (STDMETHODCALLTYPE *GetLocaleName)( IDWriteTextFormat2 *This, WCHAR *name, UINT32 size); /*** IDWriteTextFormat1 methods ***/ HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( IDWriteTextFormat2 *This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( IDWriteTextFormat2 *This); HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( IDWriteTextFormat2 *This, WINBOOL lastline_wrapping_enabled); WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( IDWriteTextFormat2 *This); HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( IDWriteTextFormat2 *This, DWRITE_OPTICAL_ALIGNMENT alignment); DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( IDWriteTextFormat2 *This); HRESULT (STDMETHODCALLTYPE *SetFontFallback)( IDWriteTextFormat2 *This, IDWriteFontFallback *fallback); HRESULT (STDMETHODCALLTYPE *GetFontFallback)( IDWriteTextFormat2 *This, IDWriteFontFallback **fallback); /*** IDWriteTextFormat2 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_SetLineSpacing)( IDWriteTextFormat2 *This, const DWRITE_LINE_SPACING *spacing); HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_GetLineSpacing)( IDWriteTextFormat2 *This, DWRITE_LINE_SPACING *spacing); END_INTERFACE } IDWriteTextFormat2Vtbl; interface IDWriteTextFormat2 { CONST_VTBL IDWriteTextFormat2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteTextFormat2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteTextFormat2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteTextFormat2_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteTextFormat methods ***/ #define IDWriteTextFormat2_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) #define IDWriteTextFormat2_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) #define IDWriteTextFormat2_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) #define IDWriteTextFormat2_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) #define IDWriteTextFormat2_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) #define IDWriteTextFormat2_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) #define IDWriteTextFormat2_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) #define IDWriteTextFormat2_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) #define IDWriteTextFormat2_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) #define IDWriteTextFormat2_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) #define IDWriteTextFormat2_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) #define IDWriteTextFormat2_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) #define IDWriteTextFormat2_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) #define IDWriteTextFormat2_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) #define IDWriteTextFormat2_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) #define IDWriteTextFormat2_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) #define IDWriteTextFormat2_GetFontFamilyName(This,name,size) (This)->lpVtbl->GetFontFamilyName(This,name,size) #define IDWriteTextFormat2_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) #define IDWriteTextFormat2_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) #define IDWriteTextFormat2_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) #define IDWriteTextFormat2_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) #define IDWriteTextFormat2_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) #define IDWriteTextFormat2_GetLocaleName(This,name,size) (This)->lpVtbl->GetLocaleName(This,name,size) /*** IDWriteTextFormat1 methods ***/ #define IDWriteTextFormat2_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) #define IDWriteTextFormat2_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) #define IDWriteTextFormat2_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) #define IDWriteTextFormat2_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) #define IDWriteTextFormat2_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) #define IDWriteTextFormat2_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) #define IDWriteTextFormat2_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) #define IDWriteTextFormat2_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) /*** IDWriteTextFormat2 methods ***/ #define IDWriteTextFormat2_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing) #define IDWriteTextFormat2_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat2_QueryInterface(IDWriteTextFormat2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteTextFormat2_AddRef(IDWriteTextFormat2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteTextFormat2_Release(IDWriteTextFormat2* This) { return This->lpVtbl->Release(This); } /*** IDWriteTextFormat methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat2_SetTextAlignment(IDWriteTextFormat2* This,DWRITE_TEXT_ALIGNMENT alignment) { return This->lpVtbl->SetTextAlignment(This,alignment); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetParagraphAlignment(IDWriteTextFormat2* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { return This->lpVtbl->SetParagraphAlignment(This,alignment); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetWordWrapping(IDWriteTextFormat2* This,DWRITE_WORD_WRAPPING wrapping) { return This->lpVtbl->SetWordWrapping(This,wrapping); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetReadingDirection(IDWriteTextFormat2* This,DWRITE_READING_DIRECTION direction) { return This->lpVtbl->SetReadingDirection(This,direction); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetFlowDirection(IDWriteTextFormat2* This,DWRITE_FLOW_DIRECTION direction) { return This->lpVtbl->SetFlowDirection(This,direction); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetIncrementalTabStop(IDWriteTextFormat2* This,FLOAT tabstop) { return This->lpVtbl->SetIncrementalTabStop(This,tabstop); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetTrimming(IDWriteTextFormat2* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); } static FORCEINLINE DWRITE_TEXT_ALIGNMENT IDWriteTextFormat2_GetTextAlignment(IDWriteTextFormat2* This) { return This->lpVtbl->GetTextAlignment(This); } static FORCEINLINE DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat2_GetParagraphAlignment(IDWriteTextFormat2* This) { return This->lpVtbl->GetParagraphAlignment(This); } static FORCEINLINE DWRITE_WORD_WRAPPING IDWriteTextFormat2_GetWordWrapping(IDWriteTextFormat2* This) { return This->lpVtbl->GetWordWrapping(This); } static FORCEINLINE DWRITE_READING_DIRECTION IDWriteTextFormat2_GetReadingDirection(IDWriteTextFormat2* This) { return This->lpVtbl->GetReadingDirection(This); } static FORCEINLINE DWRITE_FLOW_DIRECTION IDWriteTextFormat2_GetFlowDirection(IDWriteTextFormat2* This) { return This->lpVtbl->GetFlowDirection(This); } static FORCEINLINE FLOAT IDWriteTextFormat2_GetIncrementalTabStop(IDWriteTextFormat2* This) { return This->lpVtbl->GetIncrementalTabStop(This); } static FORCEINLINE HRESULT IDWriteTextFormat2_GetTrimming(IDWriteTextFormat2* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->GetTrimming(This,options,trimming_sign); } static FORCEINLINE HRESULT IDWriteTextFormat2_GetFontCollection(IDWriteTextFormat2* This,IDWriteFontCollection **collection) { return This->lpVtbl->GetFontCollection(This,collection); } static FORCEINLINE UINT32 IDWriteTextFormat2_GetFontFamilyNameLength(IDWriteTextFormat2* This) { return This->lpVtbl->GetFontFamilyNameLength(This); } static FORCEINLINE HRESULT IDWriteTextFormat2_GetFontFamilyName(IDWriteTextFormat2* This,WCHAR *name,UINT32 size) { return This->lpVtbl->GetFontFamilyName(This,name,size); } static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteTextFormat2_GetFontWeight(IDWriteTextFormat2* This) { return This->lpVtbl->GetFontWeight(This); } static FORCEINLINE DWRITE_FONT_STYLE IDWriteTextFormat2_GetFontStyle(IDWriteTextFormat2* This) { return This->lpVtbl->GetFontStyle(This); } static FORCEINLINE DWRITE_FONT_STRETCH IDWriteTextFormat2_GetFontStretch(IDWriteTextFormat2* This) { return This->lpVtbl->GetFontStretch(This); } static FORCEINLINE FLOAT IDWriteTextFormat2_GetFontSize(IDWriteTextFormat2* This) { return This->lpVtbl->GetFontSize(This); } static FORCEINLINE UINT32 IDWriteTextFormat2_GetLocaleNameLength(IDWriteTextFormat2* This) { return This->lpVtbl->GetLocaleNameLength(This); } static FORCEINLINE HRESULT IDWriteTextFormat2_GetLocaleName(IDWriteTextFormat2* This,WCHAR *name,UINT32 size) { return This->lpVtbl->GetLocaleName(This,name,size); } /*** IDWriteTextFormat1 methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat2_SetVerticalGlyphOrientation(IDWriteTextFormat2* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); } static FORCEINLINE DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat2_GetVerticalGlyphOrientation(IDWriteTextFormat2* This) { return This->lpVtbl->GetVerticalGlyphOrientation(This); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetLastLineWrapping(IDWriteTextFormat2* This,WINBOOL lastline_wrapping_enabled) { return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); } static FORCEINLINE WINBOOL IDWriteTextFormat2_GetLastLineWrapping(IDWriteTextFormat2* This) { return This->lpVtbl->GetLastLineWrapping(This); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetOpticalAlignment(IDWriteTextFormat2* This,DWRITE_OPTICAL_ALIGNMENT alignment) { return This->lpVtbl->SetOpticalAlignment(This,alignment); } static FORCEINLINE DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat2_GetOpticalAlignment(IDWriteTextFormat2* This) { return This->lpVtbl->GetOpticalAlignment(This); } static FORCEINLINE HRESULT IDWriteTextFormat2_SetFontFallback(IDWriteTextFormat2* This,IDWriteFontFallback *fallback) { return This->lpVtbl->SetFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteTextFormat2_GetFontFallback(IDWriteTextFormat2* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetFontFallback(This,fallback); } /*** IDWriteTextFormat2 methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat2_SetLineSpacing(IDWriteTextFormat2* This,const DWRITE_LINE_SPACING *spacing) { return This->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing); } static FORCEINLINE HRESULT IDWriteTextFormat2_GetLineSpacing(IDWriteTextFormat2* This,DWRITE_LINE_SPACING *spacing) { return This->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing); } #endif #endif #endif #endif /* __IDWriteTextFormat2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextFormat3 interface */ #ifndef __IDWriteTextFormat3_INTERFACE_DEFINED__ #define __IDWriteTextFormat3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8,0x5b, 0xb7,0xbf,0x48,0xa9,0x34,0x27); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6d3b5641-e550-430d-a85b-b7bf48a93427") IDWriteTextFormat3 : public IDWriteTextFormat2 { virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values) = 0; virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values) = 0; virtual DWRITE_AUTOMATIC_FONT_AXES STDMETHODCALLTYPE GetAutomaticFontAxes( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetAutomaticFontAxes( DWRITE_AUTOMATIC_FONT_AXES axes) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8,0x5b, 0xb7,0xbf,0x48,0xa9,0x34,0x27) #endif #else typedef struct IDWriteTextFormat3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteTextFormat3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteTextFormat3 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteTextFormat3 *This); /*** IDWriteTextFormat methods ***/ HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( IDWriteTextFormat3 *This, DWRITE_TEXT_ALIGNMENT alignment); HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( IDWriteTextFormat3 *This, DWRITE_PARAGRAPH_ALIGNMENT alignment); HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( IDWriteTextFormat3 *This, DWRITE_WORD_WRAPPING wrapping); HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( IDWriteTextFormat3 *This, DWRITE_READING_DIRECTION direction); HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( IDWriteTextFormat3 *This, DWRITE_FLOW_DIRECTION direction); HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( IDWriteTextFormat3 *This, FLOAT tabstop); HRESULT (STDMETHODCALLTYPE *SetTrimming)( IDWriteTextFormat3 *This, const DWRITE_TRIMMING *trimming, IDWriteInlineObject *trimming_sign); HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( IDWriteTextFormat3 *This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline); DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( IDWriteTextFormat3 *This); DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( IDWriteTextFormat3 *This); DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( IDWriteTextFormat3 *This); DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( IDWriteTextFormat3 *This); DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( IDWriteTextFormat3 *This); FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( IDWriteTextFormat3 *This); HRESULT (STDMETHODCALLTYPE *GetTrimming)( IDWriteTextFormat3 *This, DWRITE_TRIMMING *options, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( IDWriteTextFormat3 *This, DWRITE_LINE_SPACING_METHOD *method, FLOAT *spacing, FLOAT *baseline); HRESULT (STDMETHODCALLTYPE *GetFontCollection)( IDWriteTextFormat3 *This, IDWriteFontCollection **collection); UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( IDWriteTextFormat3 *This); HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( IDWriteTextFormat3 *This, WCHAR *name, UINT32 size); DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( IDWriteTextFormat3 *This); DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( IDWriteTextFormat3 *This); DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( IDWriteTextFormat3 *This); FLOAT (STDMETHODCALLTYPE *GetFontSize)( IDWriteTextFormat3 *This); UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( IDWriteTextFormat3 *This); HRESULT (STDMETHODCALLTYPE *GetLocaleName)( IDWriteTextFormat3 *This, WCHAR *name, UINT32 size); /*** IDWriteTextFormat1 methods ***/ HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( IDWriteTextFormat3 *This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( IDWriteTextFormat3 *This); HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( IDWriteTextFormat3 *This, WINBOOL lastline_wrapping_enabled); WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( IDWriteTextFormat3 *This); HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( IDWriteTextFormat3 *This, DWRITE_OPTICAL_ALIGNMENT alignment); DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( IDWriteTextFormat3 *This); HRESULT (STDMETHODCALLTYPE *SetFontFallback)( IDWriteTextFormat3 *This, IDWriteFontFallback *fallback); HRESULT (STDMETHODCALLTYPE *GetFontFallback)( IDWriteTextFormat3 *This, IDWriteFontFallback **fallback); /*** IDWriteTextFormat2 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_SetLineSpacing)( IDWriteTextFormat3 *This, const DWRITE_LINE_SPACING *spacing); HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_GetLineSpacing)( IDWriteTextFormat3 *This, DWRITE_LINE_SPACING *spacing); /*** IDWriteTextFormat3 methods ***/ HRESULT (STDMETHODCALLTYPE *SetFontAxisValues)( IDWriteTextFormat3 *This, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values); UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( IDWriteTextFormat3 *This); HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( IDWriteTextFormat3 *This, DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values); DWRITE_AUTOMATIC_FONT_AXES (STDMETHODCALLTYPE *GetAutomaticFontAxes)( IDWriteTextFormat3 *This); HRESULT (STDMETHODCALLTYPE *SetAutomaticFontAxes)( IDWriteTextFormat3 *This, DWRITE_AUTOMATIC_FONT_AXES axes); END_INTERFACE } IDWriteTextFormat3Vtbl; interface IDWriteTextFormat3 { CONST_VTBL IDWriteTextFormat3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteTextFormat3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteTextFormat3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteTextFormat3_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteTextFormat methods ***/ #define IDWriteTextFormat3_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) #define IDWriteTextFormat3_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) #define IDWriteTextFormat3_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) #define IDWriteTextFormat3_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) #define IDWriteTextFormat3_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) #define IDWriteTextFormat3_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) #define IDWriteTextFormat3_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) #define IDWriteTextFormat3_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) #define IDWriteTextFormat3_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) #define IDWriteTextFormat3_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) #define IDWriteTextFormat3_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) #define IDWriteTextFormat3_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) #define IDWriteTextFormat3_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) #define IDWriteTextFormat3_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) #define IDWriteTextFormat3_GetFontCollection(This,collection) (This)->lpVtbl->GetFontCollection(This,collection) #define IDWriteTextFormat3_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) #define IDWriteTextFormat3_GetFontFamilyName(This,name,size) (This)->lpVtbl->GetFontFamilyName(This,name,size) #define IDWriteTextFormat3_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) #define IDWriteTextFormat3_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) #define IDWriteTextFormat3_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) #define IDWriteTextFormat3_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) #define IDWriteTextFormat3_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) #define IDWriteTextFormat3_GetLocaleName(This,name,size) (This)->lpVtbl->GetLocaleName(This,name,size) /*** IDWriteTextFormat1 methods ***/ #define IDWriteTextFormat3_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) #define IDWriteTextFormat3_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) #define IDWriteTextFormat3_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) #define IDWriteTextFormat3_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) #define IDWriteTextFormat3_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) #define IDWriteTextFormat3_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) #define IDWriteTextFormat3_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) #define IDWriteTextFormat3_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) /*** IDWriteTextFormat2 methods ***/ #define IDWriteTextFormat3_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing) #define IDWriteTextFormat3_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing) /*** IDWriteTextFormat3 methods ***/ #define IDWriteTextFormat3_SetFontAxisValues(This,axis_values,num_values) (This)->lpVtbl->SetFontAxisValues(This,axis_values,num_values) #define IDWriteTextFormat3_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) #define IDWriteTextFormat3_GetFontAxisValues(This,axis_values,num_values) (This)->lpVtbl->GetFontAxisValues(This,axis_values,num_values) #define IDWriteTextFormat3_GetAutomaticFontAxes(This) (This)->lpVtbl->GetAutomaticFontAxes(This) #define IDWriteTextFormat3_SetAutomaticFontAxes(This,axes) (This)->lpVtbl->SetAutomaticFontAxes(This,axes) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat3_QueryInterface(IDWriteTextFormat3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteTextFormat3_AddRef(IDWriteTextFormat3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteTextFormat3_Release(IDWriteTextFormat3* This) { return This->lpVtbl->Release(This); } /*** IDWriteTextFormat methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat3_SetTextAlignment(IDWriteTextFormat3* This,DWRITE_TEXT_ALIGNMENT alignment) { return This->lpVtbl->SetTextAlignment(This,alignment); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetParagraphAlignment(IDWriteTextFormat3* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { return This->lpVtbl->SetParagraphAlignment(This,alignment); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetWordWrapping(IDWriteTextFormat3* This,DWRITE_WORD_WRAPPING wrapping) { return This->lpVtbl->SetWordWrapping(This,wrapping); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetReadingDirection(IDWriteTextFormat3* This,DWRITE_READING_DIRECTION direction) { return This->lpVtbl->SetReadingDirection(This,direction); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetFlowDirection(IDWriteTextFormat3* This,DWRITE_FLOW_DIRECTION direction) { return This->lpVtbl->SetFlowDirection(This,direction); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetIncrementalTabStop(IDWriteTextFormat3* This,FLOAT tabstop) { return This->lpVtbl->SetIncrementalTabStop(This,tabstop); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetTrimming(IDWriteTextFormat3* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); } static FORCEINLINE DWRITE_TEXT_ALIGNMENT IDWriteTextFormat3_GetTextAlignment(IDWriteTextFormat3* This) { return This->lpVtbl->GetTextAlignment(This); } static FORCEINLINE DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat3_GetParagraphAlignment(IDWriteTextFormat3* This) { return This->lpVtbl->GetParagraphAlignment(This); } static FORCEINLINE DWRITE_WORD_WRAPPING IDWriteTextFormat3_GetWordWrapping(IDWriteTextFormat3* This) { return This->lpVtbl->GetWordWrapping(This); } static FORCEINLINE DWRITE_READING_DIRECTION IDWriteTextFormat3_GetReadingDirection(IDWriteTextFormat3* This) { return This->lpVtbl->GetReadingDirection(This); } static FORCEINLINE DWRITE_FLOW_DIRECTION IDWriteTextFormat3_GetFlowDirection(IDWriteTextFormat3* This) { return This->lpVtbl->GetFlowDirection(This); } static FORCEINLINE FLOAT IDWriteTextFormat3_GetIncrementalTabStop(IDWriteTextFormat3* This) { return This->lpVtbl->GetIncrementalTabStop(This); } static FORCEINLINE HRESULT IDWriteTextFormat3_GetTrimming(IDWriteTextFormat3* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->GetTrimming(This,options,trimming_sign); } static FORCEINLINE HRESULT IDWriteTextFormat3_GetFontCollection(IDWriteTextFormat3* This,IDWriteFontCollection **collection) { return This->lpVtbl->GetFontCollection(This,collection); } static FORCEINLINE UINT32 IDWriteTextFormat3_GetFontFamilyNameLength(IDWriteTextFormat3* This) { return This->lpVtbl->GetFontFamilyNameLength(This); } static FORCEINLINE HRESULT IDWriteTextFormat3_GetFontFamilyName(IDWriteTextFormat3* This,WCHAR *name,UINT32 size) { return This->lpVtbl->GetFontFamilyName(This,name,size); } static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteTextFormat3_GetFontWeight(IDWriteTextFormat3* This) { return This->lpVtbl->GetFontWeight(This); } static FORCEINLINE DWRITE_FONT_STYLE IDWriteTextFormat3_GetFontStyle(IDWriteTextFormat3* This) { return This->lpVtbl->GetFontStyle(This); } static FORCEINLINE DWRITE_FONT_STRETCH IDWriteTextFormat3_GetFontStretch(IDWriteTextFormat3* This) { return This->lpVtbl->GetFontStretch(This); } static FORCEINLINE FLOAT IDWriteTextFormat3_GetFontSize(IDWriteTextFormat3* This) { return This->lpVtbl->GetFontSize(This); } static FORCEINLINE UINT32 IDWriteTextFormat3_GetLocaleNameLength(IDWriteTextFormat3* This) { return This->lpVtbl->GetLocaleNameLength(This); } static FORCEINLINE HRESULT IDWriteTextFormat3_GetLocaleName(IDWriteTextFormat3* This,WCHAR *name,UINT32 size) { return This->lpVtbl->GetLocaleName(This,name,size); } /*** IDWriteTextFormat1 methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat3_SetVerticalGlyphOrientation(IDWriteTextFormat3* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); } static FORCEINLINE DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat3_GetVerticalGlyphOrientation(IDWriteTextFormat3* This) { return This->lpVtbl->GetVerticalGlyphOrientation(This); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetLastLineWrapping(IDWriteTextFormat3* This,WINBOOL lastline_wrapping_enabled) { return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); } static FORCEINLINE WINBOOL IDWriteTextFormat3_GetLastLineWrapping(IDWriteTextFormat3* This) { return This->lpVtbl->GetLastLineWrapping(This); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetOpticalAlignment(IDWriteTextFormat3* This,DWRITE_OPTICAL_ALIGNMENT alignment) { return This->lpVtbl->SetOpticalAlignment(This,alignment); } static FORCEINLINE DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat3_GetOpticalAlignment(IDWriteTextFormat3* This) { return This->lpVtbl->GetOpticalAlignment(This); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetFontFallback(IDWriteTextFormat3* This,IDWriteFontFallback *fallback) { return This->lpVtbl->SetFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteTextFormat3_GetFontFallback(IDWriteTextFormat3* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetFontFallback(This,fallback); } /*** IDWriteTextFormat2 methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat3_SetLineSpacing(IDWriteTextFormat3* This,const DWRITE_LINE_SPACING *spacing) { return This->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This,spacing); } static FORCEINLINE HRESULT IDWriteTextFormat3_GetLineSpacing(IDWriteTextFormat3* This,DWRITE_LINE_SPACING *spacing) { return This->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This,spacing); } /*** IDWriteTextFormat3 methods ***/ static FORCEINLINE HRESULT IDWriteTextFormat3_SetFontAxisValues(IDWriteTextFormat3* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values) { return This->lpVtbl->SetFontAxisValues(This,axis_values,num_values); } static FORCEINLINE UINT32 IDWriteTextFormat3_GetFontAxisValueCount(IDWriteTextFormat3* This) { return This->lpVtbl->GetFontAxisValueCount(This); } static FORCEINLINE HRESULT IDWriteTextFormat3_GetFontAxisValues(IDWriteTextFormat3* This,DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values) { return This->lpVtbl->GetFontAxisValues(This,axis_values,num_values); } static FORCEINLINE DWRITE_AUTOMATIC_FONT_AXES IDWriteTextFormat3_GetAutomaticFontAxes(IDWriteTextFormat3* This) { return This->lpVtbl->GetAutomaticFontAxes(This); } static FORCEINLINE HRESULT IDWriteTextFormat3_SetAutomaticFontAxes(IDWriteTextFormat3* This,DWRITE_AUTOMATIC_FONT_AXES axes) { return This->lpVtbl->SetAutomaticFontAxes(This,axes); } #endif #endif #endif #endif /* __IDWriteTextFormat3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextLayout3 interface */ #ifndef __IDWriteTextLayout3_INTERFACE_DEFINED__ #define __IDWriteTextLayout3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac,0x33, 0x6c,0x95,0x3d,0x83,0xf9,0x2d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("07ddcd52-020e-4de8-ac33-6c953d83f92d") IDWriteTextLayout3 : public IDWriteTextLayout2 { virtual HRESULT STDMETHODCALLTYPE InvalidateLayout( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( const DWRITE_LINE_SPACING *spacing) = 0; virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( DWRITE_LINE_SPACING *spacing) = 0; virtual HRESULT STDMETHODCALLTYPE GetLineMetrics( DWRITE_LINE_METRICS1 *metrics, UINT32 max_count, UINT32 *count) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac,0x33, 0x6c,0x95,0x3d,0x83,0xf9,0x2d) #endif #else typedef struct IDWriteTextLayout3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteTextLayout3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteTextLayout3 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteTextLayout3 *This); /*** IDWriteTextFormat methods ***/ HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( IDWriteTextLayout3 *This, DWRITE_TEXT_ALIGNMENT alignment); HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( IDWriteTextLayout3 *This, DWRITE_PARAGRAPH_ALIGNMENT alignment); HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( IDWriteTextLayout3 *This, DWRITE_WORD_WRAPPING wrapping); HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( IDWriteTextLayout3 *This, DWRITE_READING_DIRECTION direction); HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( IDWriteTextLayout3 *This, DWRITE_FLOW_DIRECTION direction); HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( IDWriteTextLayout3 *This, FLOAT tabstop); HRESULT (STDMETHODCALLTYPE *SetTrimming)( IDWriteTextLayout3 *This, const DWRITE_TRIMMING *trimming, IDWriteInlineObject *trimming_sign); HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( IDWriteTextLayout3 *This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline); DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( IDWriteTextLayout3 *This); DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( IDWriteTextLayout3 *This); DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( IDWriteTextLayout3 *This); DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( IDWriteTextLayout3 *This); DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( IDWriteTextLayout3 *This); FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( IDWriteTextLayout3 *This); HRESULT (STDMETHODCALLTYPE *GetTrimming)( IDWriteTextLayout3 *This, DWRITE_TRIMMING *options, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( IDWriteTextLayout3 *This, DWRITE_LINE_SPACING_METHOD *method, FLOAT *spacing, FLOAT *baseline); HRESULT (STDMETHODCALLTYPE *GetFontCollection)( IDWriteTextLayout3 *This, IDWriteFontCollection **collection); UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( IDWriteTextLayout3 *This); HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( IDWriteTextLayout3 *This, WCHAR *name, UINT32 size); DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( IDWriteTextLayout3 *This); DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( IDWriteTextLayout3 *This); DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( IDWriteTextLayout3 *This); FLOAT (STDMETHODCALLTYPE *GetFontSize)( IDWriteTextLayout3 *This); UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( IDWriteTextLayout3 *This); HRESULT (STDMETHODCALLTYPE *GetLocaleName)( IDWriteTextLayout3 *This, WCHAR *name, UINT32 size); /*** IDWriteTextLayout methods ***/ HRESULT (STDMETHODCALLTYPE *SetMaxWidth)( IDWriteTextLayout3 *This, FLOAT maxWidth); HRESULT (STDMETHODCALLTYPE *SetMaxHeight)( IDWriteTextLayout3 *This, FLOAT maxHeight); HRESULT (STDMETHODCALLTYPE *SetFontCollection)( IDWriteTextLayout3 *This, IDWriteFontCollection *collection, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontFamilyName)( IDWriteTextLayout3 *This, const WCHAR *name, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontWeight)( IDWriteTextLayout3 *This, DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontStyle)( IDWriteTextLayout3 *This, DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontStretch)( IDWriteTextLayout3 *This, DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontSize)( IDWriteTextLayout3 *This, FLOAT size, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetUnderline)( IDWriteTextLayout3 *This, WINBOOL underline, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetStrikethrough)( IDWriteTextLayout3 *This, WINBOOL strikethrough, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetDrawingEffect)( IDWriteTextLayout3 *This, IUnknown *effect, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetInlineObject)( IDWriteTextLayout3 *This, IDWriteInlineObject *object, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetTypography)( IDWriteTextLayout3 *This, IDWriteTypography *typography, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetLocaleName)( IDWriteTextLayout3 *This, const WCHAR *locale, DWRITE_TEXT_RANGE range); FLOAT (STDMETHODCALLTYPE *GetMaxWidth)( IDWriteTextLayout3 *This); FLOAT (STDMETHODCALLTYPE *GetMaxHeight)( IDWriteTextLayout3 *This); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontCollection)( IDWriteTextLayout3 *This, UINT32 pos, IDWriteFontCollection **collection, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyNameLength)( IDWriteTextLayout3 *This, UINT32 pos, UINT32 *len, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyName)( IDWriteTextLayout3 *This, UINT32 position, WCHAR *name, UINT32 name_size, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontWeight)( IDWriteTextLayout3 *This, UINT32 position, DWRITE_FONT_WEIGHT *weight, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStyle)( IDWriteTextLayout3 *This, UINT32 currentPosition, DWRITE_FONT_STYLE *style, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStretch)( IDWriteTextLayout3 *This, UINT32 position, DWRITE_FONT_STRETCH *stretch, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontSize)( IDWriteTextLayout3 *This, UINT32 position, FLOAT *size, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetUnderline)( IDWriteTextLayout3 *This, UINT32 position, WINBOOL *has_underline, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetStrikethrough)( IDWriteTextLayout3 *This, UINT32 position, WINBOOL *has_strikethrough, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetDrawingEffect)( IDWriteTextLayout3 *This, UINT32 position, IUnknown **effect, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetInlineObject)( IDWriteTextLayout3 *This, UINT32 position, IDWriteInlineObject **object, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetTypography)( IDWriteTextLayout3 *This, UINT32 position, IDWriteTypography **typography, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleNameLength)( IDWriteTextLayout3 *This, UINT32 position, UINT32 *length, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleName)( IDWriteTextLayout3 *This, UINT32 position, WCHAR *name, UINT32 name_size, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *Draw)( IDWriteTextLayout3 *This, void *context, IDWriteTextRenderer *renderer, FLOAT originX, FLOAT originY); HRESULT (STDMETHODCALLTYPE *GetLineMetrics)( IDWriteTextLayout3 *This, DWRITE_LINE_METRICS *metrics, UINT32 max_count, UINT32 *actual_count); HRESULT (STDMETHODCALLTYPE *GetMetrics)( IDWriteTextLayout3 *This, DWRITE_TEXT_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *GetOverhangMetrics)( IDWriteTextLayout3 *This, DWRITE_OVERHANG_METRICS *overhangs); HRESULT (STDMETHODCALLTYPE *GetClusterMetrics)( IDWriteTextLayout3 *This, DWRITE_CLUSTER_METRICS *metrics, UINT32 max_count, UINT32 *act_count); HRESULT (STDMETHODCALLTYPE *DetermineMinWidth)( IDWriteTextLayout3 *This, FLOAT *min_width); HRESULT (STDMETHODCALLTYPE *HitTestPoint)( IDWriteTextLayout3 *This, FLOAT pointX, FLOAT pointY, WINBOOL *is_trailinghit, WINBOOL *is_inside, DWRITE_HIT_TEST_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *HitTestTextPosition)( IDWriteTextLayout3 *This, UINT32 textPosition, WINBOOL is_trailinghit, FLOAT *pointX, FLOAT *pointY, DWRITE_HIT_TEST_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *HitTestTextRange)( IDWriteTextLayout3 *This, UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS *metrics, UINT32 max_metricscount, UINT32 *actual_metricscount); /*** IDWriteTextLayout1 methods ***/ HRESULT (STDMETHODCALLTYPE *SetPairKerning)( IDWriteTextLayout3 *This, WINBOOL is_pairkerning_enabled, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *GetPairKerning)( IDWriteTextLayout3 *This, UINT32 position, WINBOOL *is_pairkerning_enabled, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *SetCharacterSpacing)( IDWriteTextLayout3 *This, FLOAT leading_spacing, FLOAT trailing_spacing, FLOAT minimum_advance_width, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *GetCharacterSpacing)( IDWriteTextLayout3 *This, UINT32 position, FLOAT *leading_spacing, FLOAT *trailing_spacing, FLOAT *minimum_advance_width, DWRITE_TEXT_RANGE *range); /*** IDWriteTextLayout2 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout2_GetMetrics)( IDWriteTextLayout3 *This, DWRITE_TEXT_METRICS1 *metrics); HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( IDWriteTextLayout3 *This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( IDWriteTextLayout3 *This); HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( IDWriteTextLayout3 *This, WINBOOL lastline_wrapping_enabled); WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( IDWriteTextLayout3 *This); HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( IDWriteTextLayout3 *This, DWRITE_OPTICAL_ALIGNMENT alignment); DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( IDWriteTextLayout3 *This); HRESULT (STDMETHODCALLTYPE *SetFontFallback)( IDWriteTextLayout3 *This, IDWriteFontFallback *fallback); HRESULT (STDMETHODCALLTYPE *GetFontFallback)( IDWriteTextLayout3 *This, IDWriteFontFallback **fallback); /*** IDWriteTextLayout3 methods ***/ HRESULT (STDMETHODCALLTYPE *InvalidateLayout)( IDWriteTextLayout3 *This); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_SetLineSpacing)( IDWriteTextLayout3 *This, const DWRITE_LINE_SPACING *spacing); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineSpacing)( IDWriteTextLayout3 *This, DWRITE_LINE_SPACING *spacing); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineMetrics)( IDWriteTextLayout3 *This, DWRITE_LINE_METRICS1 *metrics, UINT32 max_count, UINT32 *count); END_INTERFACE } IDWriteTextLayout3Vtbl; interface IDWriteTextLayout3 { CONST_VTBL IDWriteTextLayout3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteTextLayout3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteTextLayout3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteTextLayout3_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteTextFormat methods ***/ #define IDWriteTextLayout3_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) #define IDWriteTextLayout3_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) #define IDWriteTextLayout3_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) #define IDWriteTextLayout3_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) #define IDWriteTextLayout3_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) #define IDWriteTextLayout3_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) #define IDWriteTextLayout3_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) #define IDWriteTextLayout3_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) #define IDWriteTextLayout3_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) #define IDWriteTextLayout3_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) #define IDWriteTextLayout3_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) #define IDWriteTextLayout3_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) #define IDWriteTextLayout3_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) #define IDWriteTextLayout3_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) /*** IDWriteTextLayout methods ***/ #define IDWriteTextLayout3_SetMaxWidth(This,maxWidth) (This)->lpVtbl->SetMaxWidth(This,maxWidth) #define IDWriteTextLayout3_SetMaxHeight(This,maxHeight) (This)->lpVtbl->SetMaxHeight(This,maxHeight) #define IDWriteTextLayout3_SetFontCollection(This,collection,range) (This)->lpVtbl->SetFontCollection(This,collection,range) #define IDWriteTextLayout3_SetFontFamilyName(This,name,range) (This)->lpVtbl->SetFontFamilyName(This,name,range) #define IDWriteTextLayout3_SetFontWeight(This,weight,range) (This)->lpVtbl->SetFontWeight(This,weight,range) #define IDWriteTextLayout3_SetFontStyle(This,style,range) (This)->lpVtbl->SetFontStyle(This,style,range) #define IDWriteTextLayout3_SetFontStretch(This,stretch,range) (This)->lpVtbl->SetFontStretch(This,stretch,range) #define IDWriteTextLayout3_SetFontSize(This,size,range) (This)->lpVtbl->SetFontSize(This,size,range) #define IDWriteTextLayout3_SetUnderline(This,underline,range) (This)->lpVtbl->SetUnderline(This,underline,range) #define IDWriteTextLayout3_SetStrikethrough(This,strikethrough,range) (This)->lpVtbl->SetStrikethrough(This,strikethrough,range) #define IDWriteTextLayout3_SetDrawingEffect(This,effect,range) (This)->lpVtbl->SetDrawingEffect(This,effect,range) #define IDWriteTextLayout3_SetInlineObject(This,object,range) (This)->lpVtbl->SetInlineObject(This,object,range) #define IDWriteTextLayout3_SetTypography(This,typography,range) (This)->lpVtbl->SetTypography(This,typography,range) #define IDWriteTextLayout3_SetLocaleName(This,locale,range) (This)->lpVtbl->SetLocaleName(This,locale,range) #define IDWriteTextLayout3_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) #define IDWriteTextLayout3_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) #define IDWriteTextLayout3_GetFontCollection(This,pos,collection,range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range) #define IDWriteTextLayout3_GetFontFamilyNameLength(This,pos,len,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range) #define IDWriteTextLayout3_GetFontFamilyName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range) #define IDWriteTextLayout3_GetFontWeight(This,position,weight,range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range) #define IDWriteTextLayout3_GetFontStyle(This,currentPosition,style,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range) #define IDWriteTextLayout3_GetFontStretch(This,position,stretch,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range) #define IDWriteTextLayout3_GetFontSize(This,position,size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range) #define IDWriteTextLayout3_GetUnderline(This,position,has_underline,range) (This)->lpVtbl->GetUnderline(This,position,has_underline,range) #define IDWriteTextLayout3_GetStrikethrough(This,position,has_strikethrough,range) (This)->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range) #define IDWriteTextLayout3_GetDrawingEffect(This,position,effect,range) (This)->lpVtbl->GetDrawingEffect(This,position,effect,range) #define IDWriteTextLayout3_GetInlineObject(This,position,object,range) (This)->lpVtbl->GetInlineObject(This,position,object,range) #define IDWriteTextLayout3_GetTypography(This,position,typography,range) (This)->lpVtbl->GetTypography(This,position,typography,range) #define IDWriteTextLayout3_GetLocaleNameLength(This,position,length,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range) #define IDWriteTextLayout3_GetLocaleName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range) #define IDWriteTextLayout3_Draw(This,context,renderer,originX,originY) (This)->lpVtbl->Draw(This,context,renderer,originX,originY) #define IDWriteTextLayout3_GetOverhangMetrics(This,overhangs) (This)->lpVtbl->GetOverhangMetrics(This,overhangs) #define IDWriteTextLayout3_GetClusterMetrics(This,metrics,max_count,act_count) (This)->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count) #define IDWriteTextLayout3_DetermineMinWidth(This,min_width) (This)->lpVtbl->DetermineMinWidth(This,min_width) #define IDWriteTextLayout3_HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) (This)->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) #define IDWriteTextLayout3_HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) (This)->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) #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) /*** IDWriteTextLayout1 methods ***/ #define IDWriteTextLayout3_SetPairKerning(This,is_pairkerning_enabled,range) (This)->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range) #define IDWriteTextLayout3_GetPairKerning(This,position,is_pairkerning_enabled,range) (This)->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range) #define IDWriteTextLayout3_SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) (This)->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) #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) /*** IDWriteTextLayout2 methods ***/ #define IDWriteTextLayout3_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics) #define IDWriteTextLayout3_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) #define IDWriteTextLayout3_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) #define IDWriteTextLayout3_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) #define IDWriteTextLayout3_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) #define IDWriteTextLayout3_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) #define IDWriteTextLayout3_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) #define IDWriteTextLayout3_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) #define IDWriteTextLayout3_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) /*** IDWriteTextLayout3 methods ***/ #define IDWriteTextLayout3_InvalidateLayout(This) (This)->lpVtbl->InvalidateLayout(This) #define IDWriteTextLayout3_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing) #define IDWriteTextLayout3_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing) #define IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) (This)->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout3_QueryInterface(IDWriteTextLayout3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteTextLayout3_AddRef(IDWriteTextLayout3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteTextLayout3_Release(IDWriteTextLayout3* This) { return This->lpVtbl->Release(This); } /*** IDWriteTextFormat methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout3_SetTextAlignment(IDWriteTextLayout3* This,DWRITE_TEXT_ALIGNMENT alignment) { return This->lpVtbl->SetTextAlignment(This,alignment); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetParagraphAlignment(IDWriteTextLayout3* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { return This->lpVtbl->SetParagraphAlignment(This,alignment); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetWordWrapping(IDWriteTextLayout3* This,DWRITE_WORD_WRAPPING wrapping) { return This->lpVtbl->SetWordWrapping(This,wrapping); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetReadingDirection(IDWriteTextLayout3* This,DWRITE_READING_DIRECTION direction) { return This->lpVtbl->SetReadingDirection(This,direction); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetFlowDirection(IDWriteTextLayout3* This,DWRITE_FLOW_DIRECTION direction) { return This->lpVtbl->SetFlowDirection(This,direction); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetIncrementalTabStop(IDWriteTextLayout3* This,FLOAT tabstop) { return This->lpVtbl->SetIncrementalTabStop(This,tabstop); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetTrimming(IDWriteTextLayout3* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); } static FORCEINLINE DWRITE_TEXT_ALIGNMENT IDWriteTextLayout3_GetTextAlignment(IDWriteTextLayout3* This) { return This->lpVtbl->GetTextAlignment(This); } static FORCEINLINE DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout3_GetParagraphAlignment(IDWriteTextLayout3* This) { return This->lpVtbl->GetParagraphAlignment(This); } static FORCEINLINE DWRITE_WORD_WRAPPING IDWriteTextLayout3_GetWordWrapping(IDWriteTextLayout3* This) { return This->lpVtbl->GetWordWrapping(This); } static FORCEINLINE DWRITE_READING_DIRECTION IDWriteTextLayout3_GetReadingDirection(IDWriteTextLayout3* This) { return This->lpVtbl->GetReadingDirection(This); } static FORCEINLINE DWRITE_FLOW_DIRECTION IDWriteTextLayout3_GetFlowDirection(IDWriteTextLayout3* This) { return This->lpVtbl->GetFlowDirection(This); } static FORCEINLINE FLOAT IDWriteTextLayout3_GetIncrementalTabStop(IDWriteTextLayout3* This) { return This->lpVtbl->GetIncrementalTabStop(This); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetTrimming(IDWriteTextLayout3* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->GetTrimming(This,options,trimming_sign); } /*** IDWriteTextLayout methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout3_SetMaxWidth(IDWriteTextLayout3* This,FLOAT maxWidth) { return This->lpVtbl->SetMaxWidth(This,maxWidth); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetMaxHeight(IDWriteTextLayout3* This,FLOAT maxHeight) { return This->lpVtbl->SetMaxHeight(This,maxHeight); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontCollection(IDWriteTextLayout3* This,IDWriteFontCollection *collection,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontCollection(This,collection,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontFamilyName(IDWriteTextLayout3* This,const WCHAR *name,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontFamilyName(This,name,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontWeight(IDWriteTextLayout3* This,DWRITE_FONT_WEIGHT weight,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontWeight(This,weight,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontStyle(IDWriteTextLayout3* This,DWRITE_FONT_STYLE style,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontStyle(This,style,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontStretch(IDWriteTextLayout3* This,DWRITE_FONT_STRETCH stretch,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontStretch(This,stretch,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontSize(IDWriteTextLayout3* This,FLOAT size,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontSize(This,size,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetUnderline(IDWriteTextLayout3* This,WINBOOL underline,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetUnderline(This,underline,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetStrikethrough(IDWriteTextLayout3* This,WINBOOL strikethrough,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetStrikethrough(This,strikethrough,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetDrawingEffect(IDWriteTextLayout3* This,IUnknown *effect,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetDrawingEffect(This,effect,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetInlineObject(IDWriteTextLayout3* This,IDWriteInlineObject *object,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetInlineObject(This,object,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetTypography(IDWriteTextLayout3* This,IDWriteTypography *typography,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetTypography(This,typography,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetLocaleName(IDWriteTextLayout3* This,const WCHAR *locale,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetLocaleName(This,locale,range); } static FORCEINLINE FLOAT IDWriteTextLayout3_GetMaxWidth(IDWriteTextLayout3* This) { return This->lpVtbl->GetMaxWidth(This); } static FORCEINLINE FLOAT IDWriteTextLayout3_GetMaxHeight(IDWriteTextLayout3* This) { return This->lpVtbl->GetMaxHeight(This); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontCollection(IDWriteTextLayout3* This,UINT32 pos,IDWriteFontCollection **collection,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontFamilyNameLength(IDWriteTextLayout3* This,UINT32 pos,UINT32 *len,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontFamilyName(IDWriteTextLayout3* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontWeight(IDWriteTextLayout3* This,UINT32 position,DWRITE_FONT_WEIGHT *weight,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontStyle(IDWriteTextLayout3* This,UINT32 currentPosition,DWRITE_FONT_STYLE *style,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontStretch(IDWriteTextLayout3* This,UINT32 position,DWRITE_FONT_STRETCH *stretch,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontSize(IDWriteTextLayout3* This,UINT32 position,FLOAT *size,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetUnderline(IDWriteTextLayout3* This,UINT32 position,WINBOOL *has_underline,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetUnderline(This,position,has_underline,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetStrikethrough(IDWriteTextLayout3* This,UINT32 position,WINBOOL *has_strikethrough,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetDrawingEffect(IDWriteTextLayout3* This,UINT32 position,IUnknown **effect,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetDrawingEffect(This,position,effect,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetInlineObject(IDWriteTextLayout3* This,UINT32 position,IDWriteInlineObject **object,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetInlineObject(This,position,object,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetTypography(IDWriteTextLayout3* This,UINT32 position,IDWriteTypography **typography,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetTypography(This,position,typography,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetLocaleNameLength(IDWriteTextLayout3* This,UINT32 position,UINT32 *length,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetLocaleName(IDWriteTextLayout3* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_Draw(IDWriteTextLayout3* This,void *context,IDWriteTextRenderer *renderer,FLOAT originX,FLOAT originY) { return This->lpVtbl->Draw(This,context,renderer,originX,originY); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetOverhangMetrics(IDWriteTextLayout3* This,DWRITE_OVERHANG_METRICS *overhangs) { return This->lpVtbl->GetOverhangMetrics(This,overhangs); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetClusterMetrics(IDWriteTextLayout3* This,DWRITE_CLUSTER_METRICS *metrics,UINT32 max_count,UINT32 *act_count) { return This->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count); } static FORCEINLINE HRESULT IDWriteTextLayout3_DetermineMinWidth(IDWriteTextLayout3* This,FLOAT *min_width) { return This->lpVtbl->DetermineMinWidth(This,min_width); } static FORCEINLINE HRESULT IDWriteTextLayout3_HitTestPoint(IDWriteTextLayout3* This,FLOAT pointX,FLOAT pointY,WINBOOL *is_trailinghit,WINBOOL *is_inside,DWRITE_HIT_TEST_METRICS *metrics) { return This->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics); } static FORCEINLINE HRESULT IDWriteTextLayout3_HitTestTextPosition(IDWriteTextLayout3* This,UINT32 textPosition,WINBOOL is_trailinghit,FLOAT *pointX,FLOAT *pointY,DWRITE_HIT_TEST_METRICS *metrics) { return This->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics); } 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) { return This->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount); } /*** IDWriteTextLayout1 methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout3_SetPairKerning(IDWriteTextLayout3* This,WINBOOL is_pairkerning_enabled,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetPairKerning(IDWriteTextLayout3* This,UINT32 position,WINBOOL *is_pairkerning_enabled,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetCharacterSpacing(IDWriteTextLayout3* This,FLOAT leading_spacing,FLOAT trailing_spacing,FLOAT minimum_advance_width,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetCharacterSpacing(IDWriteTextLayout3* This,UINT32 position,FLOAT *leading_spacing,FLOAT *trailing_spacing,FLOAT *minimum_advance_width,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range); } /*** IDWriteTextLayout2 methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout3_GetMetrics(IDWriteTextLayout3* This,DWRITE_TEXT_METRICS1 *metrics) { return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetVerticalGlyphOrientation(IDWriteTextLayout3* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); } static FORCEINLINE DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout3_GetVerticalGlyphOrientation(IDWriteTextLayout3* This) { return This->lpVtbl->GetVerticalGlyphOrientation(This); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetLastLineWrapping(IDWriteTextLayout3* This,WINBOOL lastline_wrapping_enabled) { return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); } static FORCEINLINE WINBOOL IDWriteTextLayout3_GetLastLineWrapping(IDWriteTextLayout3* This) { return This->lpVtbl->GetLastLineWrapping(This); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetOpticalAlignment(IDWriteTextLayout3* This,DWRITE_OPTICAL_ALIGNMENT alignment) { return This->lpVtbl->SetOpticalAlignment(This,alignment); } static FORCEINLINE DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout3_GetOpticalAlignment(IDWriteTextLayout3* This) { return This->lpVtbl->GetOpticalAlignment(This); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetFontFallback(IDWriteTextLayout3* This,IDWriteFontFallback *fallback) { return This->lpVtbl->SetFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetFontFallback(IDWriteTextLayout3* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetFontFallback(This,fallback); } /*** IDWriteTextLayout3 methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout3_InvalidateLayout(IDWriteTextLayout3* This) { return This->lpVtbl->InvalidateLayout(This); } static FORCEINLINE HRESULT IDWriteTextLayout3_SetLineSpacing(IDWriteTextLayout3* This,const DWRITE_LINE_SPACING *spacing) { return This->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetLineSpacing(IDWriteTextLayout3* This,DWRITE_LINE_SPACING *spacing) { return This->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing); } static FORCEINLINE HRESULT IDWriteTextLayout3_GetLineMetrics(IDWriteTextLayout3* This,DWRITE_LINE_METRICS1 *metrics,UINT32 max_count,UINT32 *count) { return This->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count); } #endif #endif #endif #endif /* __IDWriteTextLayout3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextLayout4 interface */ #ifndef __IDWriteTextLayout4_INTERFACE_DEFINED__ #define __IDWriteTextLayout4_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5,0xfb, 0x82,0x63,0x68,0x5f,0x55,0xe9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("05a9bf42-223f-4441-b5fb-8263685f55e9") IDWriteTextLayout4 : public IDWriteTextLayout3 { virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, DWRITE_TEXT_RANGE range) = 0; virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( UINT32 pos) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( UINT32 pos, DWRITE_FONT_AXIS_VALUE *values, UINT32 num_values, DWRITE_TEXT_RANGE *range) = 0; virtual DWRITE_AUTOMATIC_FONT_AXES STDMETHODCALLTYPE GetAutomaticFontAxes( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetAutomaticFontAxes( DWRITE_AUTOMATIC_FONT_AXES axes) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5,0xfb, 0x82,0x63,0x68,0x5f,0x55,0xe9) #endif #else typedef struct IDWriteTextLayout4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteTextLayout4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteTextLayout4 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteTextLayout4 *This); /*** IDWriteTextFormat methods ***/ HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( IDWriteTextLayout4 *This, DWRITE_TEXT_ALIGNMENT alignment); HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( IDWriteTextLayout4 *This, DWRITE_PARAGRAPH_ALIGNMENT alignment); HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( IDWriteTextLayout4 *This, DWRITE_WORD_WRAPPING wrapping); HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( IDWriteTextLayout4 *This, DWRITE_READING_DIRECTION direction); HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( IDWriteTextLayout4 *This, DWRITE_FLOW_DIRECTION direction); HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( IDWriteTextLayout4 *This, FLOAT tabstop); HRESULT (STDMETHODCALLTYPE *SetTrimming)( IDWriteTextLayout4 *This, const DWRITE_TRIMMING *trimming, IDWriteInlineObject *trimming_sign); HRESULT (STDMETHODCALLTYPE *SetLineSpacing)( IDWriteTextLayout4 *This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline); DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( IDWriteTextLayout4 *This); DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( IDWriteTextLayout4 *This); DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( IDWriteTextLayout4 *This); DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( IDWriteTextLayout4 *This); DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( IDWriteTextLayout4 *This); FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *GetTrimming)( IDWriteTextLayout4 *This, DWRITE_TRIMMING *options, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *GetLineSpacing)( IDWriteTextLayout4 *This, DWRITE_LINE_SPACING_METHOD *method, FLOAT *spacing, FLOAT *baseline); HRESULT (STDMETHODCALLTYPE *GetFontCollection)( IDWriteTextLayout4 *This, IDWriteFontCollection **collection); UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( IDWriteTextLayout4 *This, WCHAR *name, UINT32 size); DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( IDWriteTextLayout4 *This); DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( IDWriteTextLayout4 *This); DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( IDWriteTextLayout4 *This); FLOAT (STDMETHODCALLTYPE *GetFontSize)( IDWriteTextLayout4 *This); UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *GetLocaleName)( IDWriteTextLayout4 *This, WCHAR *name, UINT32 size); /*** IDWriteTextLayout methods ***/ HRESULT (STDMETHODCALLTYPE *SetMaxWidth)( IDWriteTextLayout4 *This, FLOAT maxWidth); HRESULT (STDMETHODCALLTYPE *SetMaxHeight)( IDWriteTextLayout4 *This, FLOAT maxHeight); HRESULT (STDMETHODCALLTYPE *SetFontCollection)( IDWriteTextLayout4 *This, IDWriteFontCollection *collection, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontFamilyName)( IDWriteTextLayout4 *This, const WCHAR *name, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontWeight)( IDWriteTextLayout4 *This, DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontStyle)( IDWriteTextLayout4 *This, DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontStretch)( IDWriteTextLayout4 *This, DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetFontSize)( IDWriteTextLayout4 *This, FLOAT size, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetUnderline)( IDWriteTextLayout4 *This, WINBOOL underline, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetStrikethrough)( IDWriteTextLayout4 *This, WINBOOL strikethrough, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetDrawingEffect)( IDWriteTextLayout4 *This, IUnknown *effect, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetInlineObject)( IDWriteTextLayout4 *This, IDWriteInlineObject *object, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetTypography)( IDWriteTextLayout4 *This, IDWriteTypography *typography, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *SetLocaleName)( IDWriteTextLayout4 *This, const WCHAR *locale, DWRITE_TEXT_RANGE range); FLOAT (STDMETHODCALLTYPE *GetMaxWidth)( IDWriteTextLayout4 *This); FLOAT (STDMETHODCALLTYPE *GetMaxHeight)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontCollection)( IDWriteTextLayout4 *This, UINT32 pos, IDWriteFontCollection **collection, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyNameLength)( IDWriteTextLayout4 *This, UINT32 pos, UINT32 *len, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontFamilyName)( IDWriteTextLayout4 *This, UINT32 position, WCHAR *name, UINT32 name_size, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontWeight)( IDWriteTextLayout4 *This, UINT32 position, DWRITE_FONT_WEIGHT *weight, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStyle)( IDWriteTextLayout4 *This, UINT32 currentPosition, DWRITE_FONT_STYLE *style, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontStretch)( IDWriteTextLayout4 *This, UINT32 position, DWRITE_FONT_STRETCH *stretch, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetFontSize)( IDWriteTextLayout4 *This, UINT32 position, FLOAT *size, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetUnderline)( IDWriteTextLayout4 *This, UINT32 position, WINBOOL *has_underline, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetStrikethrough)( IDWriteTextLayout4 *This, UINT32 position, WINBOOL *has_strikethrough, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetDrawingEffect)( IDWriteTextLayout4 *This, UINT32 position, IUnknown **effect, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetInlineObject)( IDWriteTextLayout4 *This, UINT32 position, IDWriteInlineObject **object, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *GetTypography)( IDWriteTextLayout4 *This, UINT32 position, IDWriteTypography **typography, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleNameLength)( IDWriteTextLayout4 *This, UINT32 position, UINT32 *length, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout_GetLocaleName)( IDWriteTextLayout4 *This, UINT32 position, WCHAR *name, UINT32 name_size, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *Draw)( IDWriteTextLayout4 *This, void *context, IDWriteTextRenderer *renderer, FLOAT originX, FLOAT originY); HRESULT (STDMETHODCALLTYPE *GetLineMetrics)( IDWriteTextLayout4 *This, DWRITE_LINE_METRICS *metrics, UINT32 max_count, UINT32 *actual_count); HRESULT (STDMETHODCALLTYPE *GetMetrics)( IDWriteTextLayout4 *This, DWRITE_TEXT_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *GetOverhangMetrics)( IDWriteTextLayout4 *This, DWRITE_OVERHANG_METRICS *overhangs); HRESULT (STDMETHODCALLTYPE *GetClusterMetrics)( IDWriteTextLayout4 *This, DWRITE_CLUSTER_METRICS *metrics, UINT32 max_count, UINT32 *act_count); HRESULT (STDMETHODCALLTYPE *DetermineMinWidth)( IDWriteTextLayout4 *This, FLOAT *min_width); HRESULT (STDMETHODCALLTYPE *HitTestPoint)( IDWriteTextLayout4 *This, FLOAT pointX, FLOAT pointY, WINBOOL *is_trailinghit, WINBOOL *is_inside, DWRITE_HIT_TEST_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *HitTestTextPosition)( IDWriteTextLayout4 *This, UINT32 textPosition, WINBOOL is_trailinghit, FLOAT *pointX, FLOAT *pointY, DWRITE_HIT_TEST_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *HitTestTextRange)( IDWriteTextLayout4 *This, UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS *metrics, UINT32 max_metricscount, UINT32 *actual_metricscount); /*** IDWriteTextLayout1 methods ***/ HRESULT (STDMETHODCALLTYPE *SetPairKerning)( IDWriteTextLayout4 *This, WINBOOL is_pairkerning_enabled, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *GetPairKerning)( IDWriteTextLayout4 *This, UINT32 position, WINBOOL *is_pairkerning_enabled, DWRITE_TEXT_RANGE *range); HRESULT (STDMETHODCALLTYPE *SetCharacterSpacing)( IDWriteTextLayout4 *This, FLOAT leading_spacing, FLOAT trailing_spacing, FLOAT minimum_advance_width, DWRITE_TEXT_RANGE range); HRESULT (STDMETHODCALLTYPE *GetCharacterSpacing)( IDWriteTextLayout4 *This, UINT32 position, FLOAT *leading_spacing, FLOAT *trailing_spacing, FLOAT *minimum_advance_width, DWRITE_TEXT_RANGE *range); /*** IDWriteTextLayout2 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout2_GetMetrics)( IDWriteTextLayout4 *This, DWRITE_TEXT_METRICS1 *metrics); HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( IDWriteTextLayout4 *This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( IDWriteTextLayout4 *This, WINBOOL lastline_wrapping_enabled); WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( IDWriteTextLayout4 *This, DWRITE_OPTICAL_ALIGNMENT alignment); DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *SetFontFallback)( IDWriteTextLayout4 *This, IDWriteFontFallback *fallback); HRESULT (STDMETHODCALLTYPE *GetFontFallback)( IDWriteTextLayout4 *This, IDWriteFontFallback **fallback); /*** IDWriteTextLayout3 methods ***/ HRESULT (STDMETHODCALLTYPE *InvalidateLayout)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_SetLineSpacing)( IDWriteTextLayout4 *This, const DWRITE_LINE_SPACING *spacing); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineSpacing)( IDWriteTextLayout4 *This, DWRITE_LINE_SPACING *spacing); HRESULT (STDMETHODCALLTYPE *IDWriteTextLayout3_GetLineMetrics)( IDWriteTextLayout4 *This, DWRITE_LINE_METRICS1 *metrics, UINT32 max_count, UINT32 *count); /*** IDWriteTextLayout4 methods ***/ HRESULT (STDMETHODCALLTYPE *SetFontAxisValues)( IDWriteTextLayout4 *This, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_values, DWRITE_TEXT_RANGE range); UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( IDWriteTextLayout4 *This, UINT32 pos); HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( IDWriteTextLayout4 *This, UINT32 pos, DWRITE_FONT_AXIS_VALUE *values, UINT32 num_values, DWRITE_TEXT_RANGE *range); DWRITE_AUTOMATIC_FONT_AXES (STDMETHODCALLTYPE *GetAutomaticFontAxes)( IDWriteTextLayout4 *This); HRESULT (STDMETHODCALLTYPE *SetAutomaticFontAxes)( IDWriteTextLayout4 *This, DWRITE_AUTOMATIC_FONT_AXES axes); END_INTERFACE } IDWriteTextLayout4Vtbl; interface IDWriteTextLayout4 { CONST_VTBL IDWriteTextLayout4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteTextLayout4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteTextLayout4_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteTextLayout4_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteTextFormat methods ***/ #define IDWriteTextLayout4_SetTextAlignment(This,alignment) (This)->lpVtbl->SetTextAlignment(This,alignment) #define IDWriteTextLayout4_SetParagraphAlignment(This,alignment) (This)->lpVtbl->SetParagraphAlignment(This,alignment) #define IDWriteTextLayout4_SetWordWrapping(This,wrapping) (This)->lpVtbl->SetWordWrapping(This,wrapping) #define IDWriteTextLayout4_SetReadingDirection(This,direction) (This)->lpVtbl->SetReadingDirection(This,direction) #define IDWriteTextLayout4_SetFlowDirection(This,direction) (This)->lpVtbl->SetFlowDirection(This,direction) #define IDWriteTextLayout4_SetIncrementalTabStop(This,tabstop) (This)->lpVtbl->SetIncrementalTabStop(This,tabstop) #define IDWriteTextLayout4_SetTrimming(This,trimming,trimming_sign) (This)->lpVtbl->SetTrimming(This,trimming,trimming_sign) #define IDWriteTextLayout4_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) #define IDWriteTextLayout4_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) #define IDWriteTextLayout4_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) #define IDWriteTextLayout4_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) #define IDWriteTextLayout4_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) #define IDWriteTextLayout4_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) #define IDWriteTextLayout4_GetTrimming(This,options,trimming_sign) (This)->lpVtbl->GetTrimming(This,options,trimming_sign) /*** IDWriteTextLayout methods ***/ #define IDWriteTextLayout4_SetMaxWidth(This,maxWidth) (This)->lpVtbl->SetMaxWidth(This,maxWidth) #define IDWriteTextLayout4_SetMaxHeight(This,maxHeight) (This)->lpVtbl->SetMaxHeight(This,maxHeight) #define IDWriteTextLayout4_SetFontCollection(This,collection,range) (This)->lpVtbl->SetFontCollection(This,collection,range) #define IDWriteTextLayout4_SetFontFamilyName(This,name,range) (This)->lpVtbl->SetFontFamilyName(This,name,range) #define IDWriteTextLayout4_SetFontWeight(This,weight,range) (This)->lpVtbl->SetFontWeight(This,weight,range) #define IDWriteTextLayout4_SetFontStyle(This,style,range) (This)->lpVtbl->SetFontStyle(This,style,range) #define IDWriteTextLayout4_SetFontStretch(This,stretch,range) (This)->lpVtbl->SetFontStretch(This,stretch,range) #define IDWriteTextLayout4_SetFontSize(This,size,range) (This)->lpVtbl->SetFontSize(This,size,range) #define IDWriteTextLayout4_SetUnderline(This,underline,range) (This)->lpVtbl->SetUnderline(This,underline,range) #define IDWriteTextLayout4_SetStrikethrough(This,strikethrough,range) (This)->lpVtbl->SetStrikethrough(This,strikethrough,range) #define IDWriteTextLayout4_SetDrawingEffect(This,effect,range) (This)->lpVtbl->SetDrawingEffect(This,effect,range) #define IDWriteTextLayout4_SetInlineObject(This,object,range) (This)->lpVtbl->SetInlineObject(This,object,range) #define IDWriteTextLayout4_SetTypography(This,typography,range) (This)->lpVtbl->SetTypography(This,typography,range) #define IDWriteTextLayout4_SetLocaleName(This,locale,range) (This)->lpVtbl->SetLocaleName(This,locale,range) #define IDWriteTextLayout4_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) #define IDWriteTextLayout4_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) #define IDWriteTextLayout4_GetFontCollection(This,pos,collection,range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range) #define IDWriteTextLayout4_GetFontFamilyNameLength(This,pos,len,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range) #define IDWriteTextLayout4_GetFontFamilyName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range) #define IDWriteTextLayout4_GetFontWeight(This,position,weight,range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range) #define IDWriteTextLayout4_GetFontStyle(This,currentPosition,style,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range) #define IDWriteTextLayout4_GetFontStretch(This,position,stretch,range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range) #define IDWriteTextLayout4_GetFontSize(This,position,size,range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range) #define IDWriteTextLayout4_GetUnderline(This,position,has_underline,range) (This)->lpVtbl->GetUnderline(This,position,has_underline,range) #define IDWriteTextLayout4_GetStrikethrough(This,position,has_strikethrough,range) (This)->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range) #define IDWriteTextLayout4_GetDrawingEffect(This,position,effect,range) (This)->lpVtbl->GetDrawingEffect(This,position,effect,range) #define IDWriteTextLayout4_GetInlineObject(This,position,object,range) (This)->lpVtbl->GetInlineObject(This,position,object,range) #define IDWriteTextLayout4_GetTypography(This,position,typography,range) (This)->lpVtbl->GetTypography(This,position,typography,range) #define IDWriteTextLayout4_GetLocaleNameLength(This,position,length,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range) #define IDWriteTextLayout4_GetLocaleName(This,position,name,name_size,range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range) #define IDWriteTextLayout4_Draw(This,context,renderer,originX,originY) (This)->lpVtbl->Draw(This,context,renderer,originX,originY) #define IDWriteTextLayout4_GetOverhangMetrics(This,overhangs) (This)->lpVtbl->GetOverhangMetrics(This,overhangs) #define IDWriteTextLayout4_GetClusterMetrics(This,metrics,max_count,act_count) (This)->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count) #define IDWriteTextLayout4_DetermineMinWidth(This,min_width) (This)->lpVtbl->DetermineMinWidth(This,min_width) #define IDWriteTextLayout4_HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) (This)->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics) #define IDWriteTextLayout4_HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) (This)->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics) #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) /*** IDWriteTextLayout1 methods ***/ #define IDWriteTextLayout4_SetPairKerning(This,is_pairkerning_enabled,range) (This)->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range) #define IDWriteTextLayout4_GetPairKerning(This,position,is_pairkerning_enabled,range) (This)->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range) #define IDWriteTextLayout4_SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) (This)->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range) #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) /*** IDWriteTextLayout2 methods ***/ #define IDWriteTextLayout4_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics) #define IDWriteTextLayout4_SetVerticalGlyphOrientation(This,orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This,orientation) #define IDWriteTextLayout4_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) #define IDWriteTextLayout4_SetLastLineWrapping(This,lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled) #define IDWriteTextLayout4_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) #define IDWriteTextLayout4_SetOpticalAlignment(This,alignment) (This)->lpVtbl->SetOpticalAlignment(This,alignment) #define IDWriteTextLayout4_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) #define IDWriteTextLayout4_SetFontFallback(This,fallback) (This)->lpVtbl->SetFontFallback(This,fallback) #define IDWriteTextLayout4_GetFontFallback(This,fallback) (This)->lpVtbl->GetFontFallback(This,fallback) /*** IDWriteTextLayout3 methods ***/ #define IDWriteTextLayout4_InvalidateLayout(This) (This)->lpVtbl->InvalidateLayout(This) #define IDWriteTextLayout4_SetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing) #define IDWriteTextLayout4_GetLineSpacing(This,spacing) (This)->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing) #define IDWriteTextLayout4_GetLineMetrics(This,metrics,max_count,count) (This)->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count) /*** IDWriteTextLayout4 methods ***/ #define IDWriteTextLayout4_SetFontAxisValues(This,axis_values,num_values,range) (This)->lpVtbl->SetFontAxisValues(This,axis_values,num_values,range) #define IDWriteTextLayout4_GetFontAxisValueCount(This,pos) (This)->lpVtbl->GetFontAxisValueCount(This,pos) #define IDWriteTextLayout4_GetFontAxisValues(This,pos,values,num_values,range) (This)->lpVtbl->GetFontAxisValues(This,pos,values,num_values,range) #define IDWriteTextLayout4_GetAutomaticFontAxes(This) (This)->lpVtbl->GetAutomaticFontAxes(This) #define IDWriteTextLayout4_SetAutomaticFontAxes(This,axes) (This)->lpVtbl->SetAutomaticFontAxes(This,axes) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout4_QueryInterface(IDWriteTextLayout4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteTextLayout4_AddRef(IDWriteTextLayout4* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteTextLayout4_Release(IDWriteTextLayout4* This) { return This->lpVtbl->Release(This); } /*** IDWriteTextFormat methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout4_SetTextAlignment(IDWriteTextLayout4* This,DWRITE_TEXT_ALIGNMENT alignment) { return This->lpVtbl->SetTextAlignment(This,alignment); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetParagraphAlignment(IDWriteTextLayout4* This,DWRITE_PARAGRAPH_ALIGNMENT alignment) { return This->lpVtbl->SetParagraphAlignment(This,alignment); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetWordWrapping(IDWriteTextLayout4* This,DWRITE_WORD_WRAPPING wrapping) { return This->lpVtbl->SetWordWrapping(This,wrapping); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetReadingDirection(IDWriteTextLayout4* This,DWRITE_READING_DIRECTION direction) { return This->lpVtbl->SetReadingDirection(This,direction); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetFlowDirection(IDWriteTextLayout4* This,DWRITE_FLOW_DIRECTION direction) { return This->lpVtbl->SetFlowDirection(This,direction); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetIncrementalTabStop(IDWriteTextLayout4* This,FLOAT tabstop) { return This->lpVtbl->SetIncrementalTabStop(This,tabstop); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetTrimming(IDWriteTextLayout4* This,const DWRITE_TRIMMING *trimming,IDWriteInlineObject *trimming_sign) { return This->lpVtbl->SetTrimming(This,trimming,trimming_sign); } static FORCEINLINE DWRITE_TEXT_ALIGNMENT IDWriteTextLayout4_GetTextAlignment(IDWriteTextLayout4* This) { return This->lpVtbl->GetTextAlignment(This); } static FORCEINLINE DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout4_GetParagraphAlignment(IDWriteTextLayout4* This) { return This->lpVtbl->GetParagraphAlignment(This); } static FORCEINLINE DWRITE_WORD_WRAPPING IDWriteTextLayout4_GetWordWrapping(IDWriteTextLayout4* This) { return This->lpVtbl->GetWordWrapping(This); } static FORCEINLINE DWRITE_READING_DIRECTION IDWriteTextLayout4_GetReadingDirection(IDWriteTextLayout4* This) { return This->lpVtbl->GetReadingDirection(This); } static FORCEINLINE DWRITE_FLOW_DIRECTION IDWriteTextLayout4_GetFlowDirection(IDWriteTextLayout4* This) { return This->lpVtbl->GetFlowDirection(This); } static FORCEINLINE FLOAT IDWriteTextLayout4_GetIncrementalTabStop(IDWriteTextLayout4* This) { return This->lpVtbl->GetIncrementalTabStop(This); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetTrimming(IDWriteTextLayout4* This,DWRITE_TRIMMING *options,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->GetTrimming(This,options,trimming_sign); } /*** IDWriteTextLayout methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout4_SetMaxWidth(IDWriteTextLayout4* This,FLOAT maxWidth) { return This->lpVtbl->SetMaxWidth(This,maxWidth); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetMaxHeight(IDWriteTextLayout4* This,FLOAT maxHeight) { return This->lpVtbl->SetMaxHeight(This,maxHeight); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontCollection(IDWriteTextLayout4* This,IDWriteFontCollection *collection,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontCollection(This,collection,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontFamilyName(IDWriteTextLayout4* This,const WCHAR *name,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontFamilyName(This,name,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontWeight(IDWriteTextLayout4* This,DWRITE_FONT_WEIGHT weight,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontWeight(This,weight,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontStyle(IDWriteTextLayout4* This,DWRITE_FONT_STYLE style,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontStyle(This,style,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontStretch(IDWriteTextLayout4* This,DWRITE_FONT_STRETCH stretch,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontStretch(This,stretch,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontSize(IDWriteTextLayout4* This,FLOAT size,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontSize(This,size,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetUnderline(IDWriteTextLayout4* This,WINBOOL underline,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetUnderline(This,underline,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetStrikethrough(IDWriteTextLayout4* This,WINBOOL strikethrough,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetStrikethrough(This,strikethrough,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetDrawingEffect(IDWriteTextLayout4* This,IUnknown *effect,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetDrawingEffect(This,effect,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetInlineObject(IDWriteTextLayout4* This,IDWriteInlineObject *object,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetInlineObject(This,object,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetTypography(IDWriteTextLayout4* This,IDWriteTypography *typography,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetTypography(This,typography,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetLocaleName(IDWriteTextLayout4* This,const WCHAR *locale,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetLocaleName(This,locale,range); } static FORCEINLINE FLOAT IDWriteTextLayout4_GetMaxWidth(IDWriteTextLayout4* This) { return This->lpVtbl->GetMaxWidth(This); } static FORCEINLINE FLOAT IDWriteTextLayout4_GetMaxHeight(IDWriteTextLayout4* This) { return This->lpVtbl->GetMaxHeight(This); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontCollection(IDWriteTextLayout4* This,UINT32 pos,IDWriteFontCollection **collection,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This,pos,collection,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontFamilyNameLength(IDWriteTextLayout4* This,UINT32 pos,UINT32 *len,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This,pos,len,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontFamilyName(IDWriteTextLayout4* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This,position,name,name_size,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontWeight(IDWriteTextLayout4* This,UINT32 position,DWRITE_FONT_WEIGHT *weight,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This,position,weight,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontStyle(IDWriteTextLayout4* This,UINT32 currentPosition,DWRITE_FONT_STYLE *style,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This,currentPosition,style,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontStretch(IDWriteTextLayout4* This,UINT32 position,DWRITE_FONT_STRETCH *stretch,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This,position,stretch,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontSize(IDWriteTextLayout4* This,UINT32 position,FLOAT *size,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetFontSize(This,position,size,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetUnderline(IDWriteTextLayout4* This,UINT32 position,WINBOOL *has_underline,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetUnderline(This,position,has_underline,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetStrikethrough(IDWriteTextLayout4* This,UINT32 position,WINBOOL *has_strikethrough,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetStrikethrough(This,position,has_strikethrough,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetDrawingEffect(IDWriteTextLayout4* This,UINT32 position,IUnknown **effect,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetDrawingEffect(This,position,effect,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetInlineObject(IDWriteTextLayout4* This,UINT32 position,IDWriteInlineObject **object,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetInlineObject(This,position,object,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetTypography(IDWriteTextLayout4* This,UINT32 position,IDWriteTypography **typography,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetTypography(This,position,typography,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetLocaleNameLength(IDWriteTextLayout4* This,UINT32 position,UINT32 *length,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This,position,length,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetLocaleName(IDWriteTextLayout4* This,UINT32 position,WCHAR *name,UINT32 name_size,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This,position,name,name_size,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_Draw(IDWriteTextLayout4* This,void *context,IDWriteTextRenderer *renderer,FLOAT originX,FLOAT originY) { return This->lpVtbl->Draw(This,context,renderer,originX,originY); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetOverhangMetrics(IDWriteTextLayout4* This,DWRITE_OVERHANG_METRICS *overhangs) { return This->lpVtbl->GetOverhangMetrics(This,overhangs); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetClusterMetrics(IDWriteTextLayout4* This,DWRITE_CLUSTER_METRICS *metrics,UINT32 max_count,UINT32 *act_count) { return This->lpVtbl->GetClusterMetrics(This,metrics,max_count,act_count); } static FORCEINLINE HRESULT IDWriteTextLayout4_DetermineMinWidth(IDWriteTextLayout4* This,FLOAT *min_width) { return This->lpVtbl->DetermineMinWidth(This,min_width); } static FORCEINLINE HRESULT IDWriteTextLayout4_HitTestPoint(IDWriteTextLayout4* This,FLOAT pointX,FLOAT pointY,WINBOOL *is_trailinghit,WINBOOL *is_inside,DWRITE_HIT_TEST_METRICS *metrics) { return This->lpVtbl->HitTestPoint(This,pointX,pointY,is_trailinghit,is_inside,metrics); } static FORCEINLINE HRESULT IDWriteTextLayout4_HitTestTextPosition(IDWriteTextLayout4* This,UINT32 textPosition,WINBOOL is_trailinghit,FLOAT *pointX,FLOAT *pointY,DWRITE_HIT_TEST_METRICS *metrics) { return This->lpVtbl->HitTestTextPosition(This,textPosition,is_trailinghit,pointX,pointY,metrics); } 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) { return This->lpVtbl->HitTestTextRange(This,textPosition,textLength,originX,originY,metrics,max_metricscount,actual_metricscount); } /*** IDWriteTextLayout1 methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout4_SetPairKerning(IDWriteTextLayout4* This,WINBOOL is_pairkerning_enabled,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetPairKerning(This,is_pairkerning_enabled,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetPairKerning(IDWriteTextLayout4* This,UINT32 position,WINBOOL *is_pairkerning_enabled,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetPairKerning(This,position,is_pairkerning_enabled,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetCharacterSpacing(IDWriteTextLayout4* This,FLOAT leading_spacing,FLOAT trailing_spacing,FLOAT minimum_advance_width,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetCharacterSpacing(This,leading_spacing,trailing_spacing,minimum_advance_width,range); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetCharacterSpacing(IDWriteTextLayout4* This,UINT32 position,FLOAT *leading_spacing,FLOAT *trailing_spacing,FLOAT *minimum_advance_width,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetCharacterSpacing(This,position,leading_spacing,trailing_spacing,minimum_advance_width,range); } /*** IDWriteTextLayout2 methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout4_GetMetrics(IDWriteTextLayout4* This,DWRITE_TEXT_METRICS1 *metrics) { return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This,metrics); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetVerticalGlyphOrientation(IDWriteTextLayout4* This,DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { return This->lpVtbl->SetVerticalGlyphOrientation(This,orientation); } static FORCEINLINE DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout4_GetVerticalGlyphOrientation(IDWriteTextLayout4* This) { return This->lpVtbl->GetVerticalGlyphOrientation(This); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetLastLineWrapping(IDWriteTextLayout4* This,WINBOOL lastline_wrapping_enabled) { return This->lpVtbl->SetLastLineWrapping(This,lastline_wrapping_enabled); } static FORCEINLINE WINBOOL IDWriteTextLayout4_GetLastLineWrapping(IDWriteTextLayout4* This) { return This->lpVtbl->GetLastLineWrapping(This); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetOpticalAlignment(IDWriteTextLayout4* This,DWRITE_OPTICAL_ALIGNMENT alignment) { return This->lpVtbl->SetOpticalAlignment(This,alignment); } static FORCEINLINE DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout4_GetOpticalAlignment(IDWriteTextLayout4* This) { return This->lpVtbl->GetOpticalAlignment(This); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontFallback(IDWriteTextLayout4* This,IDWriteFontFallback *fallback) { return This->lpVtbl->SetFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontFallback(IDWriteTextLayout4* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetFontFallback(This,fallback); } /*** IDWriteTextLayout3 methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout4_InvalidateLayout(IDWriteTextLayout4* This) { return This->lpVtbl->InvalidateLayout(This); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetLineSpacing(IDWriteTextLayout4* This,const DWRITE_LINE_SPACING *spacing) { return This->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This,spacing); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetLineSpacing(IDWriteTextLayout4* This,DWRITE_LINE_SPACING *spacing) { return This->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This,spacing); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetLineMetrics(IDWriteTextLayout4* This,DWRITE_LINE_METRICS1 *metrics,UINT32 max_count,UINT32 *count) { return This->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This,metrics,max_count,count); } /*** IDWriteTextLayout4 methods ***/ static FORCEINLINE HRESULT IDWriteTextLayout4_SetFontAxisValues(IDWriteTextLayout4* This,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_values,DWRITE_TEXT_RANGE range) { return This->lpVtbl->SetFontAxisValues(This,axis_values,num_values,range); } static FORCEINLINE UINT32 IDWriteTextLayout4_GetFontAxisValueCount(IDWriteTextLayout4* This,UINT32 pos) { return This->lpVtbl->GetFontAxisValueCount(This,pos); } static FORCEINLINE HRESULT IDWriteTextLayout4_GetFontAxisValues(IDWriteTextLayout4* This,UINT32 pos,DWRITE_FONT_AXIS_VALUE *values,UINT32 num_values,DWRITE_TEXT_RANGE *range) { return This->lpVtbl->GetFontAxisValues(This,pos,values,num_values,range); } static FORCEINLINE DWRITE_AUTOMATIC_FONT_AXES IDWriteTextLayout4_GetAutomaticFontAxes(IDWriteTextLayout4* This) { return This->lpVtbl->GetAutomaticFontAxes(This); } static FORCEINLINE HRESULT IDWriteTextLayout4_SetAutomaticFontAxes(IDWriteTextLayout4* This,DWRITE_AUTOMATIC_FONT_AXES axes) { return This->lpVtbl->SetAutomaticFontAxes(This,axes); } #endif #endif #endif #endif /* __IDWriteTextLayout4_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFallback1 interface */ #ifndef __IDWriteFontFallback1_INTERFACE_DEFINED__ #define __IDWriteFontFallback1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd,0x6a, 0xf4,0xf3,0x1e,0xaa,0xde,0x77); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2397599d-dd0d-4681-bd6a-f4f31eaade77") IDWriteFontFallback1 : public IDWriteFontFallback { virtual HRESULT STDMETHODCALLTYPE MapCharacters( 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) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd,0x6a, 0xf4,0xf3,0x1e,0xaa,0xde,0x77) #endif #else typedef struct IDWriteFontFallback1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontFallback1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontFallback1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontFallback1 *This); /*** IDWriteFontFallback methods ***/ HRESULT (STDMETHODCALLTYPE *MapCharacters)( IDWriteFontFallback1 *This, IDWriteTextAnalysisSource *source, UINT32 position, UINT32 length, IDWriteFontCollection *basecollection, const WCHAR *baseFamilyName, DWRITE_FONT_WEIGHT baseWeight, DWRITE_FONT_STYLE baseStyle, DWRITE_FONT_STRETCH baseStretch, UINT32 *mappedLength, IDWriteFont **mappedFont, FLOAT *scale); /*** IDWriteFontFallback1 methods ***/ HRESULT (STDMETHODCALLTYPE *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); END_INTERFACE } IDWriteFontFallback1Vtbl; interface IDWriteFontFallback1 { CONST_VTBL IDWriteFontFallback1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontFallback1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontFallback1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFallback1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFallback methods ***/ /*** IDWriteFontFallback1 methods ***/ #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) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontFallback1_QueryInterface(IDWriteFontFallback1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontFallback1_AddRef(IDWriteFontFallback1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontFallback1_Release(IDWriteFontFallback1* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFallback methods ***/ /*** IDWriteFontFallback1 methods ***/ 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) { return This->lpVtbl->IDWriteFontFallback1_MapCharacters(This,source,pos,length,base_collection,familyname,axis_values,num_values,mapped_length,scale,fontface); } #endif #endif #endif #endif /* __IDWriteFontFallback1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteGdiInterop1 interface */ #ifndef __IDWriteGdiInterop1_INTERFACE_DEFINED__ #define __IDWriteGdiInterop1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90,0xbe, 0x42,0x17,0x80,0xa6,0xf5,0x15); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("4556be70-3abd-4f70-90be-421780a6f515") IDWriteGdiInterop1 : public IDWriteGdiInterop { virtual HRESULT STDMETHODCALLTYPE CreateFontFromLOGFONT( const LOGFONTW *logfont, IDWriteFontCollection *collection, IDWriteFont **font) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontSignature_( IDWriteFontFace *fontface, FONTSIGNATURE *fontsig) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontSignature( IDWriteFont *font, FONTSIGNATURE *fontsig) = 0; virtual HRESULT STDMETHODCALLTYPE GetMatchingFontsByLOGFONT( const LOGFONTW *logfont, IDWriteFontSet *fontset, IDWriteFontSet **subset) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90,0xbe, 0x42,0x17,0x80,0xa6,0xf5,0x15) #endif #else typedef struct IDWriteGdiInterop1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteGdiInterop1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteGdiInterop1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteGdiInterop1 *This); /*** IDWriteGdiInterop methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFontFromLOGFONT)( IDWriteGdiInterop1 *This, const LOGFONTW *logfont, IDWriteFont **font); HRESULT (STDMETHODCALLTYPE *ConvertFontToLOGFONT)( IDWriteGdiInterop1 *This, IDWriteFont *font, LOGFONTW *logfont, WINBOOL *is_systemfont); HRESULT (STDMETHODCALLTYPE *ConvertFontFaceToLOGFONT)( IDWriteGdiInterop1 *This, IDWriteFontFace *font, LOGFONTW *logfont); HRESULT (STDMETHODCALLTYPE *CreateFontFaceFromHdc)( IDWriteGdiInterop1 *This, HDC hdc, IDWriteFontFace **fontface); HRESULT (STDMETHODCALLTYPE *CreateBitmapRenderTarget)( IDWriteGdiInterop1 *This, HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget **target); /*** IDWriteGdiInterop1 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteGdiInterop1_CreateFontFromLOGFONT)( IDWriteGdiInterop1 *This, const LOGFONTW *logfont, IDWriteFontCollection *collection, IDWriteFont **font); HRESULT (STDMETHODCALLTYPE *GetFontSignature_)( IDWriteGdiInterop1 *This, IDWriteFontFace *fontface, FONTSIGNATURE *fontsig); HRESULT (STDMETHODCALLTYPE *GetFontSignature)( IDWriteGdiInterop1 *This, IDWriteFont *font, FONTSIGNATURE *fontsig); HRESULT (STDMETHODCALLTYPE *GetMatchingFontsByLOGFONT)( IDWriteGdiInterop1 *This, const LOGFONTW *logfont, IDWriteFontSet *fontset, IDWriteFontSet **subset); END_INTERFACE } IDWriteGdiInterop1Vtbl; interface IDWriteGdiInterop1 { CONST_VTBL IDWriteGdiInterop1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteGdiInterop1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteGdiInterop1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteGdiInterop1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteGdiInterop methods ***/ #define IDWriteGdiInterop1_ConvertFontToLOGFONT(This,font,logfont,is_systemfont) (This)->lpVtbl->ConvertFontToLOGFONT(This,font,logfont,is_systemfont) #define IDWriteGdiInterop1_ConvertFontFaceToLOGFONT(This,font,logfont) (This)->lpVtbl->ConvertFontFaceToLOGFONT(This,font,logfont) #define IDWriteGdiInterop1_CreateFontFaceFromHdc(This,hdc,fontface) (This)->lpVtbl->CreateFontFaceFromHdc(This,hdc,fontface) #define IDWriteGdiInterop1_CreateBitmapRenderTarget(This,hdc,width,height,target) (This)->lpVtbl->CreateBitmapRenderTarget(This,hdc,width,height,target) /*** IDWriteGdiInterop1 methods ***/ #define IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font) (This)->lpVtbl->IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font) #define IDWriteGdiInterop1_GetFontSignature_(This,fontface,fontsig) (This)->lpVtbl->GetFontSignature_(This,fontface,fontsig) #define IDWriteGdiInterop1_GetFontSignature(This,font,fontsig) (This)->lpVtbl->GetFontSignature(This,font,fontsig) #define IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(This,logfont,fontset,subset) (This)->lpVtbl->GetMatchingFontsByLOGFONT(This,logfont,fontset,subset) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteGdiInterop1_QueryInterface(IDWriteGdiInterop1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteGdiInterop1_AddRef(IDWriteGdiInterop1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteGdiInterop1_Release(IDWriteGdiInterop1* This) { return This->lpVtbl->Release(This); } /*** IDWriteGdiInterop methods ***/ static FORCEINLINE HRESULT IDWriteGdiInterop1_ConvertFontToLOGFONT(IDWriteGdiInterop1* This,IDWriteFont *font,LOGFONTW *logfont,WINBOOL *is_systemfont) { return This->lpVtbl->ConvertFontToLOGFONT(This,font,logfont,is_systemfont); } static FORCEINLINE HRESULT IDWriteGdiInterop1_ConvertFontFaceToLOGFONT(IDWriteGdiInterop1* This,IDWriteFontFace *font,LOGFONTW *logfont) { return This->lpVtbl->ConvertFontFaceToLOGFONT(This,font,logfont); } static FORCEINLINE HRESULT IDWriteGdiInterop1_CreateFontFaceFromHdc(IDWriteGdiInterop1* This,HDC hdc,IDWriteFontFace **fontface) { return This->lpVtbl->CreateFontFaceFromHdc(This,hdc,fontface); } static FORCEINLINE HRESULT IDWriteGdiInterop1_CreateBitmapRenderTarget(IDWriteGdiInterop1* This,HDC hdc,UINT32 width,UINT32 height,IDWriteBitmapRenderTarget **target) { return This->lpVtbl->CreateBitmapRenderTarget(This,hdc,width,height,target); } /*** IDWriteGdiInterop1 methods ***/ static FORCEINLINE HRESULT IDWriteGdiInterop1_CreateFontFromLOGFONT(IDWriteGdiInterop1* This,const LOGFONTW *logfont,IDWriteFontCollection *collection,IDWriteFont **font) { return This->lpVtbl->IDWriteGdiInterop1_CreateFontFromLOGFONT(This,logfont,collection,font); } static FORCEINLINE HRESULT IDWriteGdiInterop1_GetFontSignature_(IDWriteGdiInterop1* This,IDWriteFontFace *fontface,FONTSIGNATURE *fontsig) { return This->lpVtbl->GetFontSignature_(This,fontface,fontsig); } static FORCEINLINE HRESULT IDWriteGdiInterop1_GetFontSignature(IDWriteGdiInterop1* This,IDWriteFont *font,FONTSIGNATURE *fontsig) { return This->lpVtbl->GetFontSignature(This,font,fontsig); } static FORCEINLINE HRESULT IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(IDWriteGdiInterop1* This,const LOGFONTW *logfont,IDWriteFontSet *fontset,IDWriteFontSet **subset) { return This->lpVtbl->GetMatchingFontsByLOGFONT(This,logfont,fontset,subset); } #endif #endif #endif #endif /* __IDWriteGdiInterop1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSetBuilder interface */ #ifndef __IDWriteFontSetBuilder_INTERFACE_DEFINED__ #define __IDWriteFontSetBuilder_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8,0xbe, 0x45,0x74,0x01,0xaf,0xcb,0x3d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2f642afe-9c68-4f40-b8be-457401afcb3d") IDWriteFontSetBuilder : public IUnknown { virtual HRESULT STDMETHODCALLTYPE AddFontFaceReference_( IDWriteFontFaceReference *ref, const DWRITE_FONT_PROPERTY *props, UINT32 prop_count) = 0; virtual HRESULT STDMETHODCALLTYPE AddFontFaceReference( IDWriteFontFaceReference *ref) = 0; virtual HRESULT STDMETHODCALLTYPE AddFontSet( IDWriteFontSet *fontset) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontSet( IDWriteFontSet **fontset) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8,0xbe, 0x45,0x74,0x01,0xaf,0xcb,0x3d) #endif #else typedef struct IDWriteFontSetBuilderVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontSetBuilder *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontSetBuilder *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontSetBuilder *This); /*** IDWriteFontSetBuilder methods ***/ HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( IDWriteFontSetBuilder *This, IDWriteFontFaceReference *ref, const DWRITE_FONT_PROPERTY *props, UINT32 prop_count); HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( IDWriteFontSetBuilder *This, IDWriteFontFaceReference *ref); HRESULT (STDMETHODCALLTYPE *AddFontSet)( IDWriteFontSetBuilder *This, IDWriteFontSet *fontset); HRESULT (STDMETHODCALLTYPE *CreateFontSet)( IDWriteFontSetBuilder *This, IDWriteFontSet **fontset); END_INTERFACE } IDWriteFontSetBuilderVtbl; interface IDWriteFontSetBuilder { CONST_VTBL IDWriteFontSetBuilderVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontSetBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontSetBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontSetBuilder_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontSetBuilder methods ***/ #define IDWriteFontSetBuilder_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) #define IDWriteFontSetBuilder_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) #define IDWriteFontSetBuilder_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) #define IDWriteFontSetBuilder_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontSetBuilder_QueryInterface(IDWriteFontSetBuilder* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontSetBuilder_AddRef(IDWriteFontSetBuilder* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontSetBuilder_Release(IDWriteFontSetBuilder* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontSetBuilder methods ***/ static FORCEINLINE HRESULT IDWriteFontSetBuilder_AddFontFaceReference_(IDWriteFontSetBuilder* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); } static FORCEINLINE HRESULT IDWriteFontSetBuilder_AddFontFaceReference(IDWriteFontSetBuilder* This,IDWriteFontFaceReference *ref) { return This->lpVtbl->AddFontFaceReference(This,ref); } static FORCEINLINE HRESULT IDWriteFontSetBuilder_AddFontSet(IDWriteFontSetBuilder* This,IDWriteFontSet *fontset) { return This->lpVtbl->AddFontSet(This,fontset); } static FORCEINLINE HRESULT IDWriteFontSetBuilder_CreateFontSet(IDWriteFontSetBuilder* This,IDWriteFontSet **fontset) { return This->lpVtbl->CreateFontSet(This,fontset); } #endif #endif #endif #endif /* __IDWriteFontSetBuilder_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSetBuilder1 interface */ #ifndef __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ #define __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b,0x72, 0xec,0x56,0x21,0xdc,0xca,0xfd); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3ff7715f-3cdc-4dc6-9b72-ec5621dccafd") IDWriteFontSetBuilder1 : public IDWriteFontSetBuilder { virtual HRESULT STDMETHODCALLTYPE AddFontFile( IDWriteFontFile *file) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b,0x72, 0xec,0x56,0x21,0xdc,0xca,0xfd) #endif #else typedef struct IDWriteFontSetBuilder1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontSetBuilder1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontSetBuilder1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontSetBuilder1 *This); /*** IDWriteFontSetBuilder methods ***/ HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( IDWriteFontSetBuilder1 *This, IDWriteFontFaceReference *ref, const DWRITE_FONT_PROPERTY *props, UINT32 prop_count); HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( IDWriteFontSetBuilder1 *This, IDWriteFontFaceReference *ref); HRESULT (STDMETHODCALLTYPE *AddFontSet)( IDWriteFontSetBuilder1 *This, IDWriteFontSet *fontset); HRESULT (STDMETHODCALLTYPE *CreateFontSet)( IDWriteFontSetBuilder1 *This, IDWriteFontSet **fontset); /*** IDWriteFontSetBuilder1 methods ***/ HRESULT (STDMETHODCALLTYPE *AddFontFile)( IDWriteFontSetBuilder1 *This, IDWriteFontFile *file); END_INTERFACE } IDWriteFontSetBuilder1Vtbl; interface IDWriteFontSetBuilder1 { CONST_VTBL IDWriteFontSetBuilder1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontSetBuilder1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontSetBuilder1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontSetBuilder1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontSetBuilder methods ***/ #define IDWriteFontSetBuilder1_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) #define IDWriteFontSetBuilder1_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) #define IDWriteFontSetBuilder1_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) #define IDWriteFontSetBuilder1_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) /*** IDWriteFontSetBuilder1 methods ***/ #define IDWriteFontSetBuilder1_AddFontFile(This,file) (This)->lpVtbl->AddFontFile(This,file) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontSetBuilder1_QueryInterface(IDWriteFontSetBuilder1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontSetBuilder1_AddRef(IDWriteFontSetBuilder1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontSetBuilder1_Release(IDWriteFontSetBuilder1* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontSetBuilder methods ***/ static FORCEINLINE HRESULT IDWriteFontSetBuilder1_AddFontFaceReference_(IDWriteFontSetBuilder1* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); } static FORCEINLINE HRESULT IDWriteFontSetBuilder1_AddFontFaceReference(IDWriteFontSetBuilder1* This,IDWriteFontFaceReference *ref) { return This->lpVtbl->AddFontFaceReference(This,ref); } static FORCEINLINE HRESULT IDWriteFontSetBuilder1_AddFontSet(IDWriteFontSetBuilder1* This,IDWriteFontSet *fontset) { return This->lpVtbl->AddFontSet(This,fontset); } static FORCEINLINE HRESULT IDWriteFontSetBuilder1_CreateFontSet(IDWriteFontSetBuilder1* This,IDWriteFontSet **fontset) { return This->lpVtbl->CreateFontSet(This,fontset); } /*** IDWriteFontSetBuilder1 methods ***/ static FORCEINLINE HRESULT IDWriteFontSetBuilder1_AddFontFile(IDWriteFontSetBuilder1* This,IDWriteFontFile *file) { return This->lpVtbl->AddFontFile(This,file); } #endif #endif #endif #endif /* __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSetBuilder2 interface */ #ifndef __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ #define __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f,0x4f, 0x31,0x89,0xb9,0x40,0x1e,0x45); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ee5ba612-b131-463c-8f4f-3189b9401e45") IDWriteFontSetBuilder2 : public IDWriteFontSetBuilder1 { virtual HRESULT STDMETHODCALLTYPE AddFont( 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) = 0; virtual HRESULT STDMETHODCALLTYPE AddFontFile( const WCHAR *filepath) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f,0x4f, 0x31,0x89,0xb9,0x40,0x1e,0x45) #endif #else typedef struct IDWriteFontSetBuilder2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontSetBuilder2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontSetBuilder2 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontSetBuilder2 *This); /*** IDWriteFontSetBuilder methods ***/ HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( IDWriteFontSetBuilder2 *This, IDWriteFontFaceReference *ref, const DWRITE_FONT_PROPERTY *props, UINT32 prop_count); HRESULT (STDMETHODCALLTYPE *AddFontFaceReference)( IDWriteFontSetBuilder2 *This, IDWriteFontFaceReference *ref); HRESULT (STDMETHODCALLTYPE *AddFontSet)( IDWriteFontSetBuilder2 *This, IDWriteFontSet *fontset); HRESULT (STDMETHODCALLTYPE *CreateFontSet)( IDWriteFontSetBuilder2 *This, IDWriteFontSet **fontset); /*** IDWriteFontSetBuilder1 methods ***/ HRESULT (STDMETHODCALLTYPE *AddFontFile)( IDWriteFontSetBuilder2 *This, IDWriteFontFile *file); /*** IDWriteFontSetBuilder2 methods ***/ HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *IDWriteFontSetBuilder2_AddFontFile)( IDWriteFontSetBuilder2 *This, const WCHAR *filepath); END_INTERFACE } IDWriteFontSetBuilder2Vtbl; interface IDWriteFontSetBuilder2 { CONST_VTBL IDWriteFontSetBuilder2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontSetBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontSetBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontSetBuilder2_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontSetBuilder methods ***/ #define IDWriteFontSetBuilder2_AddFontFaceReference_(This,ref,props,prop_count) (This)->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count) #define IDWriteFontSetBuilder2_AddFontFaceReference(This,ref) (This)->lpVtbl->AddFontFaceReference(This,ref) #define IDWriteFontSetBuilder2_AddFontSet(This,fontset) (This)->lpVtbl->AddFontSet(This,fontset) #define IDWriteFontSetBuilder2_CreateFontSet(This,fontset) (This)->lpVtbl->CreateFontSet(This,fontset) /*** IDWriteFontSetBuilder1 methods ***/ /*** IDWriteFontSetBuilder2 methods ***/ #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) #define IDWriteFontSetBuilder2_AddFontFile(This,filepath) (This)->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This,filepath) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontSetBuilder2_QueryInterface(IDWriteFontSetBuilder2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontSetBuilder2_AddRef(IDWriteFontSetBuilder2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontSetBuilder2_Release(IDWriteFontSetBuilder2* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontSetBuilder methods ***/ static FORCEINLINE HRESULT IDWriteFontSetBuilder2_AddFontFaceReference_(IDWriteFontSetBuilder2* This,IDWriteFontFaceReference *ref,const DWRITE_FONT_PROPERTY *props,UINT32 prop_count) { return This->lpVtbl->AddFontFaceReference_(This,ref,props,prop_count); } static FORCEINLINE HRESULT IDWriteFontSetBuilder2_AddFontFaceReference(IDWriteFontSetBuilder2* This,IDWriteFontFaceReference *ref) { return This->lpVtbl->AddFontFaceReference(This,ref); } static FORCEINLINE HRESULT IDWriteFontSetBuilder2_AddFontSet(IDWriteFontSetBuilder2* This,IDWriteFontSet *fontset) { return This->lpVtbl->AddFontSet(This,fontset); } static FORCEINLINE HRESULT IDWriteFontSetBuilder2_CreateFontSet(IDWriteFontSetBuilder2* This,IDWriteFontSet **fontset) { return This->lpVtbl->CreateFontSet(This,fontset); } /*** IDWriteFontSetBuilder1 methods ***/ /*** IDWriteFontSetBuilder2 methods ***/ 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) { return This->lpVtbl->AddFont(This,fontfile,face_index,simulations,axis_values,num_values,axis_ranges,num_ranges,props,num_properties); } static FORCEINLINE HRESULT IDWriteFontSetBuilder2_AddFontFile(IDWriteFontSetBuilder2* This,const WCHAR *filepath) { return This->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This,filepath); } #endif #endif #endif #endif /* __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory3 interface */ #ifndef __IDWriteFactory3_INTERFACE_DEFINED__ #define __IDWriteFactory3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87,0xfc, 0xfe,0x67,0x55,0x6a,0x3b,0x65); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("9a1b41c3-d3bb-466a-87fc-fe67556a3b65") IDWriteFactory3 : public IDWriteFactory2 { virtual HRESULT STDMETHODCALLTYPE CreateGlyphRunAnalysis( 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) = 0; virtual HRESULT STDMETHODCALLTYPE CreateCustomRenderingParams( 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) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference_( IDWriteFontFile *file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( const WCHAR *path, const FILETIME *writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference) = 0; virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( IDWriteFontSet **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( IDWriteFontSetBuilder **builder) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( IDWriteFontSet *fontset, IDWriteFontCollection1 **collection) = 0; virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( WINBOOL include_downloadable, IDWriteFontCollection1 **collection, WINBOOL check_for_updates) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontDownloadQueue( IDWriteFontDownloadQueue **queue) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87,0xfc, 0xfe,0x67,0x55,0x6a,0x3b,0x65) #endif #else typedef struct IDWriteFactory3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFactory3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFactory3 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFactory3 *This); /*** IDWriteFactory methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( IDWriteFactory3 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( IDWriteFactory3 *This, IDWriteFontCollectionLoader *loader, const void *key, UINT32 key_size, IDWriteFontCollection **collection); HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( IDWriteFactory3 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( IDWriteFactory3 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( IDWriteFactory3 *This, const WCHAR *path, const FILETIME *writetime, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( IDWriteFactory3 *This, const void *reference_key, UINT32 key_size, IDWriteFontFileLoader *loader, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( IDWriteFactory3 *This, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( IDWriteFactory3 *This, HMONITOR monitor, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( IDWriteFactory3 *This, FLOAT gamma, FLOAT enhancedContrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( IDWriteFactory3 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( IDWriteFactory3 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateTypography)( IDWriteFactory3 *This, IDWriteTypography **typography); HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( IDWriteFactory3 *This, IDWriteGdiInterop **gdi_interop); HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( IDWriteFactory3 *This, const WCHAR *string, UINT32 len, IDWriteTextFormat *format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout **layout); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( IDWriteFactory3 *This, IDWriteTextFormat *format, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( IDWriteFactory3 *This, IDWriteTextAnalyzer **analyzer); HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( IDWriteFactory3 *This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR *locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution **substitution); HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( IDWriteFactory3 *This, const DWRITE_GLYPH_RUN *glyph_run, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE rendering_mode, DWRITE_MEASURING_MODE measuring_mode, FLOAT baseline_x, FLOAT baseline_y, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory1 methods ***/ HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( IDWriteFactory3 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( IDWriteFactory3 *This, FLOAT gamma, FLOAT enhcontrast, FLOAT enhcontrast_grayscale, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams1 **params); /*** IDWriteFactory2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( IDWriteFactory3 *This, IDWriteFontFallback **fallback); HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( IDWriteFactory3 *This, IDWriteFontFallbackBuilder **fallbackbuilder); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( IDWriteFactory3 *This, FLOAT gamma, FLOAT contrast, FLOAT grayscalecontrast, FLOAT cleartypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, DWRITE_GRID_FIT_MODE gridFitMode, IDWriteRenderingParams2 **params); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( IDWriteFactory3 *This, const DWRITE_GLYPH_RUN *run, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, DWRITE_GRID_FIT_MODE gridFitMode, DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory3 methods ***/ HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( IDWriteFactory3 *This, IDWriteFontFile *file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( IDWriteFactory3 *This, const WCHAR *path, const FILETIME *writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( IDWriteFactory3 *This, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( IDWriteFactory3 *This, IDWriteFontSetBuilder **builder); HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( IDWriteFactory3 *This, IDWriteFontSet *fontset, IDWriteFontCollection1 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( IDWriteFactory3 *This, WINBOOL include_downloadable, IDWriteFontCollection1 **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( IDWriteFactory3 *This, IDWriteFontDownloadQueue **queue); END_INTERFACE } IDWriteFactory3Vtbl; interface IDWriteFactory3 { CONST_VTBL IDWriteFactory3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFactory3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFactory3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFactory3_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFactory methods ***/ #define IDWriteFactory3_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) #define IDWriteFactory3_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) #define IDWriteFactory3_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) #define IDWriteFactory3_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) #define IDWriteFactory3_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) #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) #define IDWriteFactory3_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) #define IDWriteFactory3_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) #define IDWriteFactory3_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) #define IDWriteFactory3_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) #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) #define IDWriteFactory3_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) #define IDWriteFactory3_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) #define IDWriteFactory3_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) #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) #define IDWriteFactory3_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) #define IDWriteFactory3_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) #define IDWriteFactory3_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) /*** IDWriteFactory1 methods ***/ #define IDWriteFactory3_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) /*** IDWriteFactory2 methods ***/ #define IDWriteFactory3_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) #define IDWriteFactory3_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) #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) /*** IDWriteFactory3 methods ***/ #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) #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) #define IDWriteFactory3_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) #define IDWriteFactory3_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) #define IDWriteFactory3_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) #define IDWriteFactory3_CreateFontSetBuilder(This,builder) (This)->lpVtbl->CreateFontSetBuilder(This,builder) #define IDWriteFactory3_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) #define IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) #define IDWriteFactory3_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFactory3_QueryInterface(IDWriteFactory3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFactory3_AddRef(IDWriteFactory3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFactory3_Release(IDWriteFactory3* This) { return This->lpVtbl->Release(This); } /*** IDWriteFactory methods ***/ static FORCEINLINE HRESULT IDWriteFactory3_CreateCustomFontCollection(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); } static FORCEINLINE HRESULT IDWriteFactory3_RegisterFontCollectionLoader(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->RegisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory3_UnregisterFontCollectionLoader(IDWriteFactory3* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory3_CreateFontFileReference(IDWriteFactory3* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); } static FORCEINLINE HRESULT IDWriteFactory3_CreateCustomFontFileReference(IDWriteFactory3* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); } 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) { return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); } static FORCEINLINE HRESULT IDWriteFactory3_CreateRenderingParams(IDWriteFactory3* This,IDWriteRenderingParams **params) { return This->lpVtbl->CreateRenderingParams(This,params); } static FORCEINLINE HRESULT IDWriteFactory3_CreateMonitorRenderingParams(IDWriteFactory3* This,HMONITOR monitor,IDWriteRenderingParams **params) { return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); } static FORCEINLINE HRESULT IDWriteFactory3_RegisterFontFileLoader(IDWriteFactory3* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->RegisterFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory3_UnregisterFontFileLoader(IDWriteFactory3* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->UnregisterFontFileLoader(This,loader); } 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) { return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); } static FORCEINLINE HRESULT IDWriteFactory3_CreateTypography(IDWriteFactory3* This,IDWriteTypography **typography) { return This->lpVtbl->CreateTypography(This,typography); } static FORCEINLINE HRESULT IDWriteFactory3_GetGdiInterop(IDWriteFactory3* This,IDWriteGdiInterop **gdi_interop) { return This->lpVtbl->GetGdiInterop(This,gdi_interop); } static FORCEINLINE HRESULT IDWriteFactory3_CreateTextLayout(IDWriteFactory3* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); } 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) { return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); } static FORCEINLINE HRESULT IDWriteFactory3_CreateEllipsisTrimmingSign(IDWriteFactory3* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); } static FORCEINLINE HRESULT IDWriteFactory3_CreateTextAnalyzer(IDWriteFactory3* This,IDWriteTextAnalyzer **analyzer) { return This->lpVtbl->CreateTextAnalyzer(This,analyzer); } static FORCEINLINE HRESULT IDWriteFactory3_CreateNumberSubstitution(IDWriteFactory3* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); } /*** IDWriteFactory1 methods ***/ static FORCEINLINE HRESULT IDWriteFactory3_GetEudcFontCollection(IDWriteFactory3* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); } /*** IDWriteFactory2 methods ***/ static FORCEINLINE HRESULT IDWriteFactory3_GetSystemFontFallback(IDWriteFactory3* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetSystemFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteFactory3_CreateFontFallbackBuilder(IDWriteFactory3* This,IDWriteFontFallbackBuilder **fallbackbuilder) { return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); } 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) { return This->lpVtbl->TranslateColorGlyphRun(This,originX,originY,run,rundescr,mode,transform,palette_index,colorlayers); } /*** IDWriteFactory3 methods ***/ 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) { return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); } 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) { return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); } static FORCEINLINE HRESULT IDWriteFactory3_CreateFontFaceReference_(IDWriteFactory3* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); } static FORCEINLINE HRESULT IDWriteFactory3_CreateFontFaceReference(IDWriteFactory3* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); } static FORCEINLINE HRESULT IDWriteFactory3_GetSystemFontSet(IDWriteFactory3* This,IDWriteFontSet **fontset) { return This->lpVtbl->GetSystemFontSet(This,fontset); } static FORCEINLINE HRESULT IDWriteFactory3_CreateFontSetBuilder(IDWriteFactory3* This,IDWriteFontSetBuilder **builder) { return This->lpVtbl->CreateFontSetBuilder(This,builder); } static FORCEINLINE HRESULT IDWriteFactory3_CreateFontCollectionFromFontSet(IDWriteFactory3* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); } static FORCEINLINE HRESULT IDWriteFactory3_GetSystemFontCollection(IDWriteFactory3* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); } static FORCEINLINE HRESULT IDWriteFactory3_GetFontDownloadQueue(IDWriteFactory3* This,IDWriteFontDownloadQueue **queue) { return This->lpVtbl->GetFontDownloadQueue(This,queue); } #endif #endif #endif #endif /* __IDWriteFactory3_INTERFACE_DEFINED__ */ typedef struct DWRITE_GLYPH_IMAGE_DATA { const void *imageData; UINT32 imageDataSize; UINT32 uniqueDataId; UINT32 pixelsPerEm; D2D1_SIZE_U pixelSize; D2D1_POINT_2L horizontalLeftOrigin; D2D1_POINT_2L horizontalRightOrigin; D2D1_POINT_2L verticalTopOrigin; D2D1_POINT_2L verticalBottomOrigin; } DWRITE_GLYPH_IMAGE_DATA; /***************************************************************************** * IDWriteFontFace4 interface */ #ifndef __IDWriteFontFace4_INTERFACE_DEFINED__ #define __IDWriteFontFace4_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96,0x78, 0x05,0x63,0xf5,0x3e,0x3e,0x2f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("27f2a904-4eb8-441d-9678-0563f53e3e2f") IDWriteFontFace4 : public IDWriteFontFace3 { virtual HRESULT STDMETHODCALLTYPE GetGlyphImageFormats_( UINT16 glyph, UINT32 ppem_first, UINT32 ppem_last, DWRITE_GLYPH_IMAGE_FORMATS *formats) = 0; virtual DWRITE_GLYPH_IMAGE_FORMATS STDMETHODCALLTYPE GetGlyphImageFormats( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetGlyphImageData( UINT16 glyph, UINT32 ppem, DWRITE_GLYPH_IMAGE_FORMATS format, DWRITE_GLYPH_IMAGE_DATA *data, void **context) = 0; virtual void STDMETHODCALLTYPE ReleaseGlyphImageData( void *context) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96,0x78, 0x05,0x63,0xf5,0x3e,0x3e,0x2f) #endif #else typedef struct IDWriteFontFace4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontFace4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontFace4 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontFace4 *This); /*** IDWriteFontFace methods ***/ DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( IDWriteFontFace4 *This); HRESULT (STDMETHODCALLTYPE *GetFiles)( IDWriteFontFace4 *This, UINT32 *number_of_files, IDWriteFontFile **fontfiles); UINT32 (STDMETHODCALLTYPE *GetIndex)( IDWriteFontFace4 *This); DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( IDWriteFontFace4 *This); WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( IDWriteFontFace4 *This); void (STDMETHODCALLTYPE *GetMetrics)( IDWriteFontFace4 *This, DWRITE_FONT_METRICS *metrics); UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( IDWriteFontFace4 *This); HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( IDWriteFontFace4 *This, const UINT16 *glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS *metrics, WINBOOL is_sideways); HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( IDWriteFontFace4 *This, const UINT32 *codepoints, UINT32 count, UINT16 *glyph_indices); HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( IDWriteFontFace4 *This, UINT32 table_tag, const void **table_data, UINT32 *table_size, void **context, WINBOOL *exists); void (STDMETHODCALLTYPE *ReleaseFontTable)( IDWriteFontFace4 *This, void *table_context); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( IDWriteFontFace4 *This, FLOAT emSize, FLOAT pixels_per_dip, DWRITE_MEASURING_MODE mode, IDWriteRenderingParams *params, DWRITE_RENDERING_MODE *rendering_mode); HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( IDWriteFontFace4 *This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_FONT_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *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); /*** IDWriteFontFace1 methods ***/ void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( IDWriteFontFace4 *This, DWRITE_FONT_METRICS1 *metrics); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( IDWriteFontFace4 *This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_FONT_METRICS1 *metrics); void (STDMETHODCALLTYPE *GetCaretMetrics)( IDWriteFontFace4 *This, DWRITE_CARET_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( IDWriteFontFace4 *This, UINT32 max_count, DWRITE_UNICODE_RANGE *ranges, UINT32 *count); WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( IDWriteFontFace4 *This); HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( IDWriteFontFace4 *This, UINT32 glyph_count, const UINT16 *indices, INT32 *advances, WINBOOL is_sideways); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( IDWriteFontFace4 *This, UINT32 glyph_count, const UINT16 *indices, INT32 *adjustments); WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( IDWriteFontFace4 *This); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( IDWriteFontFace4 *This, FLOAT font_emsize, FLOAT dpiX, FLOAT dpiY, const DWRITE_MATRIX *transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuring_mode, DWRITE_RENDERING_MODE *rendering_mode); HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( IDWriteFontFace4 *This, UINT32 glyph_count, const UINT16 *nominal_indices, UINT16 *vertical_indices); WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( IDWriteFontFace4 *This); /*** IDWriteFontFace2 methods ***/ WINBOOL (STDMETHODCALLTYPE *IsColorFont)( IDWriteFontFace4 *This); UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( IDWriteFontFace4 *This); UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( IDWriteFontFace4 *This); HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( IDWriteFontFace4 *This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F *entries); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( IDWriteFontFace4 *This, FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, const DWRITE_MATRIX *transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuringmode, IDWriteRenderingParams *params, DWRITE_RENDERING_MODE *renderingmode, DWRITE_GRID_FIT_MODE *gridfitmode); /*** IDWriteFontFace3 methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontFace4 *This, IDWriteFontFaceReference **reference); void (STDMETHODCALLTYPE *GetPanose)( IDWriteFontFace4 *This, DWRITE_PANOSE *panose); DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( IDWriteFontFace4 *This); DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( IDWriteFontFace4 *This); DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( IDWriteFontFace4 *This); HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( IDWriteFontFace4 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetFaceNames)( IDWriteFontFace4 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( IDWriteFontFace4 *This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings **strings, WINBOOL *exists); WINBOOL (STDMETHODCALLTYPE *HasCharacter)( IDWriteFontFace4 *This, UINT32 character); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_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); WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( IDWriteFontFace4 *This, UINT32 character); WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( IDWriteFontFace4 *This, UINT16 glyph); HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( IDWriteFontFace4 *This, const WCHAR *characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL *are_local); HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( IDWriteFontFace4 *This, const UINT16 *glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL *are_local); /*** IDWriteFontFace4 methods ***/ HRESULT (STDMETHODCALLTYPE *GetGlyphImageFormats_)( IDWriteFontFace4 *This, UINT16 glyph, UINT32 ppem_first, UINT32 ppem_last, DWRITE_GLYPH_IMAGE_FORMATS *formats); DWRITE_GLYPH_IMAGE_FORMATS (STDMETHODCALLTYPE *GetGlyphImageFormats)( IDWriteFontFace4 *This); HRESULT (STDMETHODCALLTYPE *GetGlyphImageData)( IDWriteFontFace4 *This, UINT16 glyph, UINT32 ppem, DWRITE_GLYPH_IMAGE_FORMATS format, DWRITE_GLYPH_IMAGE_DATA *data, void **context); void (STDMETHODCALLTYPE *ReleaseGlyphImageData)( IDWriteFontFace4 *This, void *context); END_INTERFACE } IDWriteFontFace4Vtbl; interface IDWriteFontFace4 { CONST_VTBL IDWriteFontFace4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontFace4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontFace4_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFace4_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFace methods ***/ #define IDWriteFontFace4_GetType(This) (This)->lpVtbl->GetType(This) #define IDWriteFontFace4_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) #define IDWriteFontFace4_GetIndex(This) (This)->lpVtbl->GetIndex(This) #define IDWriteFontFace4_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) #define IDWriteFontFace4_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) #define IDWriteFontFace4_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) #define IDWriteFontFace4_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) #define IDWriteFontFace4_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) #define IDWriteFontFace4_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) #define IDWriteFontFace4_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) #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) #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) /*** IDWriteFontFace1 methods ***/ #define IDWriteFontFace4_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) #define IDWriteFontFace4_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) #define IDWriteFontFace4_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) #define IDWriteFontFace4_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) #define IDWriteFontFace4_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) #define IDWriteFontFace4_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) #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) #define IDWriteFontFace4_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) #define IDWriteFontFace4_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) #define IDWriteFontFace4_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) #define IDWriteFontFace4_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) /*** IDWriteFontFace2 methods ***/ #define IDWriteFontFace4_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) #define IDWriteFontFace4_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) #define IDWriteFontFace4_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) #define IDWriteFontFace4_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) /*** IDWriteFontFace3 methods ***/ #define IDWriteFontFace4_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) #define IDWriteFontFace4_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) #define IDWriteFontFace4_GetWeight(This) (This)->lpVtbl->GetWeight(This) #define IDWriteFontFace4_GetStretch(This) (This)->lpVtbl->GetStretch(This) #define IDWriteFontFace4_GetStyle(This) (This)->lpVtbl->GetStyle(This) #define IDWriteFontFace4_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) #define IDWriteFontFace4_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) #define IDWriteFontFace4_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) #define IDWriteFontFace4_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) #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) #define IDWriteFontFace4_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) #define IDWriteFontFace4_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) #define IDWriteFontFace4_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) #define IDWriteFontFace4_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) /*** IDWriteFontFace4 methods ***/ #define IDWriteFontFace4_GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) (This)->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) #define IDWriteFontFace4_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) #define IDWriteFontFace4_GetGlyphImageData(This,glyph,ppem,format,data,context) (This)->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context) #define IDWriteFontFace4_ReleaseGlyphImageData(This,context) (This)->lpVtbl->ReleaseGlyphImageData(This,context) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontFace4_QueryInterface(IDWriteFontFace4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontFace4_AddRef(IDWriteFontFace4* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontFace4_Release(IDWriteFontFace4* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static FORCEINLINE DWRITE_FONT_FACE_TYPE IDWriteFontFace4_GetType(IDWriteFontFace4* This) { return This->lpVtbl->GetType(This); } static FORCEINLINE HRESULT IDWriteFontFace4_GetFiles(IDWriteFontFace4* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); } static FORCEINLINE UINT32 IDWriteFontFace4_GetIndex(IDWriteFontFace4* This) { return This->lpVtbl->GetIndex(This); } static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFace4_GetSimulations(IDWriteFontFace4* This) { return This->lpVtbl->GetSimulations(This); } static FORCEINLINE WINBOOL IDWriteFontFace4_IsSymbolFont(IDWriteFontFace4* This) { return This->lpVtbl->IsSymbolFont(This); } static FORCEINLINE UINT16 IDWriteFontFace4_GetGlyphCount(IDWriteFontFace4* This) { return This->lpVtbl->GetGlyphCount(This); } static FORCEINLINE HRESULT IDWriteFontFace4_GetDesignGlyphMetrics(IDWriteFontFace4* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); } static FORCEINLINE HRESULT IDWriteFontFace4_GetGlyphIndices(IDWriteFontFace4* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); } static FORCEINLINE HRESULT IDWriteFontFace4_TryGetFontTable(IDWriteFontFace4* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); } static FORCEINLINE void IDWriteFontFace4_ReleaseFontTable(IDWriteFontFace4* This,void *table_context) { This->lpVtbl->ReleaseFontTable(This,table_context); } 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) { return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); } 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) { return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); } /*** IDWriteFontFace1 methods ***/ static FORCEINLINE void IDWriteFontFace4_GetMetrics(IDWriteFontFace4* This,DWRITE_FONT_METRICS1 *metrics) { This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); } static FORCEINLINE HRESULT IDWriteFontFace4_GetGdiCompatibleMetrics(IDWriteFontFace4* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); } static FORCEINLINE void IDWriteFontFace4_GetCaretMetrics(IDWriteFontFace4* This,DWRITE_CARET_METRICS *metrics) { This->lpVtbl->GetCaretMetrics(This,metrics); } static FORCEINLINE HRESULT IDWriteFontFace4_GetUnicodeRanges(IDWriteFontFace4* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); } static FORCEINLINE WINBOOL IDWriteFontFace4_IsMonospacedFont(IDWriteFontFace4* This) { return This->lpVtbl->IsMonospacedFont(This); } static FORCEINLINE HRESULT IDWriteFontFace4_GetDesignGlyphAdvances(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); } 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) { return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); } static FORCEINLINE HRESULT IDWriteFontFace4_GetKerningPairAdjustments(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); } static FORCEINLINE WINBOOL IDWriteFontFace4_HasKerningPairs(IDWriteFontFace4* This) { return This->lpVtbl->HasKerningPairs(This); } static FORCEINLINE HRESULT IDWriteFontFace4_GetVerticalGlyphVariants(IDWriteFontFace4* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); } static FORCEINLINE WINBOOL IDWriteFontFace4_HasVerticalGlyphVariants(IDWriteFontFace4* This) { return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static FORCEINLINE WINBOOL IDWriteFontFace4_IsColorFont(IDWriteFontFace4* This) { return This->lpVtbl->IsColorFont(This); } static FORCEINLINE UINT32 IDWriteFontFace4_GetColorPaletteCount(IDWriteFontFace4* This) { return This->lpVtbl->GetColorPaletteCount(This); } static FORCEINLINE UINT32 IDWriteFontFace4_GetPaletteEntryCount(IDWriteFontFace4* This) { return This->lpVtbl->GetPaletteEntryCount(This); } static FORCEINLINE HRESULT IDWriteFontFace4_GetPaletteEntries(IDWriteFontFace4* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); } /*** IDWriteFontFace3 methods ***/ static FORCEINLINE HRESULT IDWriteFontFace4_GetFontFaceReference(IDWriteFontFace4* This,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,reference); } static FORCEINLINE void IDWriteFontFace4_GetPanose(IDWriteFontFace4* This,DWRITE_PANOSE *panose) { This->lpVtbl->GetPanose(This,panose); } static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteFontFace4_GetWeight(IDWriteFontFace4* This) { return This->lpVtbl->GetWeight(This); } static FORCEINLINE DWRITE_FONT_STRETCH IDWriteFontFace4_GetStretch(IDWriteFontFace4* This) { return This->lpVtbl->GetStretch(This); } static FORCEINLINE DWRITE_FONT_STYLE IDWriteFontFace4_GetStyle(IDWriteFontFace4* This) { return This->lpVtbl->GetStyle(This); } static FORCEINLINE HRESULT IDWriteFontFace4_GetFamilyNames(IDWriteFontFace4* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFamilyNames(This,names); } static FORCEINLINE HRESULT IDWriteFontFace4_GetFaceNames(IDWriteFontFace4* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFaceNames(This,names); } static FORCEINLINE HRESULT IDWriteFontFace4_GetInformationalStrings(IDWriteFontFace4* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); } static FORCEINLINE WINBOOL IDWriteFontFace4_HasCharacter(IDWriteFontFace4* This,UINT32 character) { return This->lpVtbl->HasCharacter(This,character); } 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) { return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); } static FORCEINLINE WINBOOL IDWriteFontFace4_IsCharacterLocal(IDWriteFontFace4* This,UINT32 character) { return This->lpVtbl->IsCharacterLocal(This,character); } static FORCEINLINE WINBOOL IDWriteFontFace4_IsGlyphLocal(IDWriteFontFace4* This,UINT16 glyph) { return This->lpVtbl->IsGlyphLocal(This,glyph); } static FORCEINLINE HRESULT IDWriteFontFace4_AreCharactersLocal(IDWriteFontFace4* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); } static FORCEINLINE HRESULT IDWriteFontFace4_AreGlyphsLocal(IDWriteFontFace4* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); } /*** IDWriteFontFace4 methods ***/ static FORCEINLINE HRESULT IDWriteFontFace4_GetGlyphImageFormats_(IDWriteFontFace4* This,UINT16 glyph,UINT32 ppem_first,UINT32 ppem_last,DWRITE_GLYPH_IMAGE_FORMATS *formats) { return This->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats); } static FORCEINLINE DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace4_GetGlyphImageFormats(IDWriteFontFace4* This) { return This->lpVtbl->GetGlyphImageFormats(This); } static FORCEINLINE HRESULT IDWriteFontFace4_GetGlyphImageData(IDWriteFontFace4* This,UINT16 glyph,UINT32 ppem,DWRITE_GLYPH_IMAGE_FORMATS format,DWRITE_GLYPH_IMAGE_DATA *data,void **context) { return This->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context); } static FORCEINLINE void IDWriteFontFace4_ReleaseGlyphImageData(IDWriteFontFace4* This,void *context) { This->lpVtbl->ReleaseGlyphImageData(This,context); } #endif #endif #endif #endif /* __IDWriteFontFace4_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFace5 interface */ #ifndef __IDWriteFontFace5_INTERFACE_DEFINED__ #define __IDWriteFontFace5_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1,0x45, 0xe2,0xfa,0x5b,0x9f,0xdc,0x29); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("98eff3a5-b667-479a-b145-e2fa5b9fdc29") IDWriteFontFace5 : public IDWriteFontFace4 { virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( DWRITE_FONT_AXIS_VALUE *values, UINT32 value_count) = 0; virtual WINBOOL STDMETHODCALLTYPE HasVariations( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontResource( IDWriteFontResource **resource) = 0; virtual WINBOOL STDMETHODCALLTYPE Equals( IDWriteFontFace *fontface) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1,0x45, 0xe2,0xfa,0x5b,0x9f,0xdc,0x29) #endif #else typedef struct IDWriteFontFace5Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFontFace5 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFontFace5 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFontFace5 *This); /*** IDWriteFontFace methods ***/ DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *GetFiles)( IDWriteFontFace5 *This, UINT32 *number_of_files, IDWriteFontFile **fontfiles); UINT32 (STDMETHODCALLTYPE *GetIndex)( IDWriteFontFace5 *This); DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( IDWriteFontFace5 *This); WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( IDWriteFontFace5 *This); void (STDMETHODCALLTYPE *GetMetrics)( IDWriteFontFace5 *This, DWRITE_FONT_METRICS *metrics); UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *GetDesignGlyphMetrics)( IDWriteFontFace5 *This, const UINT16 *glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS *metrics, WINBOOL is_sideways); HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( IDWriteFontFace5 *This, const UINT32 *codepoints, UINT32 count, UINT16 *glyph_indices); HRESULT (STDMETHODCALLTYPE *TryGetFontTable)( IDWriteFontFace5 *This, UINT32 table_tag, const void **table_data, UINT32 *table_size, void **context, WINBOOL *exists); void (STDMETHODCALLTYPE *ReleaseFontTable)( IDWriteFontFace5 *This, void *table_context); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetRecommendedRenderingMode)( IDWriteFontFace5 *This, FLOAT emSize, FLOAT pixels_per_dip, DWRITE_MEASURING_MODE mode, IDWriteRenderingParams *params, DWRITE_RENDERING_MODE *rendering_mode); HRESULT (STDMETHODCALLTYPE *GetGdiCompatibleMetrics)( IDWriteFontFace5 *This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_FONT_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *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); /*** IDWriteFontFace1 methods ***/ void (STDMETHODCALLTYPE *IDWriteFontFace1_GetMetrics)( IDWriteFontFace5 *This, DWRITE_FONT_METRICS1 *metrics); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetGdiCompatibleMetrics)( IDWriteFontFace5 *This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_FONT_METRICS1 *metrics); void (STDMETHODCALLTYPE *GetCaretMetrics)( IDWriteFontFace5 *This, DWRITE_CARET_METRICS *metrics); HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( IDWriteFontFace5 *This, UINT32 max_count, DWRITE_UNICODE_RANGE *ranges, UINT32 *count); WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( IDWriteFontFace5 *This, UINT32 glyph_count, const UINT16 *indices, INT32 *advances, WINBOOL is_sideways); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *GetKerningPairAdjustments)( IDWriteFontFace5 *This, UINT32 glyph_count, const UINT16 *indices, INT32 *adjustments); WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace1_GetRecommendedRenderingMode)( IDWriteFontFace5 *This, FLOAT font_emsize, FLOAT dpiX, FLOAT dpiY, const DWRITE_MATRIX *transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuring_mode, DWRITE_RENDERING_MODE *rendering_mode); HRESULT (STDMETHODCALLTYPE *GetVerticalGlyphVariants)( IDWriteFontFace5 *This, UINT32 glyph_count, const UINT16 *nominal_indices, UINT16 *vertical_indices); WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( IDWriteFontFace5 *This); /*** IDWriteFontFace2 methods ***/ WINBOOL (STDMETHODCALLTYPE *IsColorFont)( IDWriteFontFace5 *This); UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( IDWriteFontFace5 *This); UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *GetPaletteEntries)( IDWriteFontFace5 *This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F *entries); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace2_GetRecommendedRenderingMode)( IDWriteFontFace5 *This, FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, const DWRITE_MATRIX *transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuringmode, IDWriteRenderingParams *params, DWRITE_RENDERING_MODE *renderingmode, DWRITE_GRID_FIT_MODE *gridfitmode); /*** IDWriteFontFace3 methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( IDWriteFontFace5 *This, IDWriteFontFaceReference **reference); void (STDMETHODCALLTYPE *GetPanose)( IDWriteFontFace5 *This, DWRITE_PANOSE *panose); DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( IDWriteFontFace5 *This); DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( IDWriteFontFace5 *This); DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( IDWriteFontFace5 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetFaceNames)( IDWriteFontFace5 *This, IDWriteLocalizedStrings **names); HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( IDWriteFontFace5 *This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings **strings, WINBOOL *exists); WINBOOL (STDMETHODCALLTYPE *HasCharacter)( IDWriteFontFace5 *This, UINT32 character); HRESULT (STDMETHODCALLTYPE *IDWriteFontFace3_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); WINBOOL (STDMETHODCALLTYPE *IsCharacterLocal)( IDWriteFontFace5 *This, UINT32 character); WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( IDWriteFontFace5 *This, UINT16 glyph); HRESULT (STDMETHODCALLTYPE *AreCharactersLocal)( IDWriteFontFace5 *This, const WCHAR *characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL *are_local); HRESULT (STDMETHODCALLTYPE *AreGlyphsLocal)( IDWriteFontFace5 *This, const UINT16 *glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL *are_local); /*** IDWriteFontFace4 methods ***/ HRESULT (STDMETHODCALLTYPE *GetGlyphImageFormats_)( IDWriteFontFace5 *This, UINT16 glyph, UINT32 ppem_first, UINT32 ppem_last, DWRITE_GLYPH_IMAGE_FORMATS *formats); DWRITE_GLYPH_IMAGE_FORMATS (STDMETHODCALLTYPE *GetGlyphImageFormats)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *GetGlyphImageData)( IDWriteFontFace5 *This, UINT16 glyph, UINT32 ppem, DWRITE_GLYPH_IMAGE_FORMATS format, DWRITE_GLYPH_IMAGE_DATA *data, void **context); void (STDMETHODCALLTYPE *ReleaseGlyphImageData)( IDWriteFontFace5 *This, void *context); /*** IDWriteFontFace5 methods ***/ UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( IDWriteFontFace5 *This, DWRITE_FONT_AXIS_VALUE *values, UINT32 value_count); WINBOOL (STDMETHODCALLTYPE *HasVariations)( IDWriteFontFace5 *This); HRESULT (STDMETHODCALLTYPE *GetFontResource)( IDWriteFontFace5 *This, IDWriteFontResource **resource); WINBOOL (STDMETHODCALLTYPE *Equals)( IDWriteFontFace5 *This, IDWriteFontFace *fontface); END_INTERFACE } IDWriteFontFace5Vtbl; interface IDWriteFontFace5 { CONST_VTBL IDWriteFontFace5Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFontFace5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFontFace5_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFace5_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFace methods ***/ #define IDWriteFontFace5_GetType(This) (This)->lpVtbl->GetType(This) #define IDWriteFontFace5_GetFiles(This,number_of_files,fontfiles) (This)->lpVtbl->GetFiles(This,number_of_files,fontfiles) #define IDWriteFontFace5_GetIndex(This) (This)->lpVtbl->GetIndex(This) #define IDWriteFontFace5_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) #define IDWriteFontFace5_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) #define IDWriteFontFace5_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) #define IDWriteFontFace5_GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways) #define IDWriteFontFace5_GetGlyphIndices(This,codepoints,count,glyph_indices) (This)->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices) #define IDWriteFontFace5_TryGetFontTable(This,table_tag,table_data,table_size,context,exists) (This)->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists) #define IDWriteFontFace5_ReleaseFontTable(This,table_context) (This)->lpVtbl->ReleaseFontTable(This,table_context) #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) #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) /*** IDWriteFontFace1 methods ***/ #define IDWriteFontFace5_GetMetrics(This,metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics) #define IDWriteFontFace5_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics) #define IDWriteFontFace5_GetCaretMetrics(This,metrics) (This)->lpVtbl->GetCaretMetrics(This,metrics) #define IDWriteFontFace5_GetUnicodeRanges(This,max_count,ranges,count) (This)->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count) #define IDWriteFontFace5_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) #define IDWriteFontFace5_GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways) #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) #define IDWriteFontFace5_GetKerningPairAdjustments(This,glyph_count,indices,adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments) #define IDWriteFontFace5_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) #define IDWriteFontFace5_GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices) #define IDWriteFontFace5_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) /*** IDWriteFontFace2 methods ***/ #define IDWriteFontFace5_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) #define IDWriteFontFace5_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) #define IDWriteFontFace5_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) #define IDWriteFontFace5_GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) (This)->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries) /*** IDWriteFontFace3 methods ***/ #define IDWriteFontFace5_GetFontFaceReference(This,reference) (This)->lpVtbl->GetFontFaceReference(This,reference) #define IDWriteFontFace5_GetPanose(This,panose) (This)->lpVtbl->GetPanose(This,panose) #define IDWriteFontFace5_GetWeight(This) (This)->lpVtbl->GetWeight(This) #define IDWriteFontFace5_GetStretch(This) (This)->lpVtbl->GetStretch(This) #define IDWriteFontFace5_GetStyle(This) (This)->lpVtbl->GetStyle(This) #define IDWriteFontFace5_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) #define IDWriteFontFace5_GetFaceNames(This,names) (This)->lpVtbl->GetFaceNames(This,names) #define IDWriteFontFace5_GetInformationalStrings(This,stringid,strings,exists) (This)->lpVtbl->GetInformationalStrings(This,stringid,strings,exists) #define IDWriteFontFace5_HasCharacter(This,character) (This)->lpVtbl->HasCharacter(This,character) #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) #define IDWriteFontFace5_IsCharacterLocal(This,character) (This)->lpVtbl->IsCharacterLocal(This,character) #define IDWriteFontFace5_IsGlyphLocal(This,glyph) (This)->lpVtbl->IsGlyphLocal(This,glyph) #define IDWriteFontFace5_AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) (This)->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local) #define IDWriteFontFace5_AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) (This)->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local) /*** IDWriteFontFace4 methods ***/ #define IDWriteFontFace5_GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) (This)->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats) #define IDWriteFontFace5_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) #define IDWriteFontFace5_GetGlyphImageData(This,glyph,ppem,format,data,context) (This)->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context) #define IDWriteFontFace5_ReleaseGlyphImageData(This,context) (This)->lpVtbl->ReleaseGlyphImageData(This,context) /*** IDWriteFontFace5 methods ***/ #define IDWriteFontFace5_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) #define IDWriteFontFace5_GetFontAxisValues(This,values,value_count) (This)->lpVtbl->GetFontAxisValues(This,values,value_count) #define IDWriteFontFace5_HasVariations(This) (This)->lpVtbl->HasVariations(This) #define IDWriteFontFace5_GetFontResource(This,resource) (This)->lpVtbl->GetFontResource(This,resource) #define IDWriteFontFace5_Equals(This,fontface) (This)->lpVtbl->Equals(This,fontface) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFontFace5_QueryInterface(IDWriteFontFace5* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFontFace5_AddRef(IDWriteFontFace5* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFontFace5_Release(IDWriteFontFace5* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static FORCEINLINE DWRITE_FONT_FACE_TYPE IDWriteFontFace5_GetType(IDWriteFontFace5* This) { return This->lpVtbl->GetType(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetFiles(IDWriteFontFace5* This,UINT32 *number_of_files,IDWriteFontFile **fontfiles) { return This->lpVtbl->GetFiles(This,number_of_files,fontfiles); } static FORCEINLINE UINT32 IDWriteFontFace5_GetIndex(IDWriteFontFace5* This) { return This->lpVtbl->GetIndex(This); } static FORCEINLINE DWRITE_FONT_SIMULATIONS IDWriteFontFace5_GetSimulations(IDWriteFontFace5* This) { return This->lpVtbl->GetSimulations(This); } static FORCEINLINE WINBOOL IDWriteFontFace5_IsSymbolFont(IDWriteFontFace5* This) { return This->lpVtbl->IsSymbolFont(This); } static FORCEINLINE UINT16 IDWriteFontFace5_GetGlyphCount(IDWriteFontFace5* This) { return This->lpVtbl->GetGlyphCount(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetDesignGlyphMetrics(IDWriteFontFace5* This,const UINT16 *glyph_indices,UINT32 glyph_count,DWRITE_GLYPH_METRICS *metrics,WINBOOL is_sideways) { return This->lpVtbl->GetDesignGlyphMetrics(This,glyph_indices,glyph_count,metrics,is_sideways); } static FORCEINLINE HRESULT IDWriteFontFace5_GetGlyphIndices(IDWriteFontFace5* This,const UINT32 *codepoints,UINT32 count,UINT16 *glyph_indices) { return This->lpVtbl->GetGlyphIndices(This,codepoints,count,glyph_indices); } static FORCEINLINE HRESULT IDWriteFontFace5_TryGetFontTable(IDWriteFontFace5* This,UINT32 table_tag,const void **table_data,UINT32 *table_size,void **context,WINBOOL *exists) { return This->lpVtbl->TryGetFontTable(This,table_tag,table_data,table_size,context,exists); } static FORCEINLINE void IDWriteFontFace5_ReleaseFontTable(IDWriteFontFace5* This,void *table_context) { This->lpVtbl->ReleaseFontTable(This,table_context); } 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) { return This->lpVtbl->GetGlyphRunOutline(This,emSize,glyph_indices,glyph_advances,glyph_offsets,glyph_count,is_sideways,is_rtl,geometrysink); } 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) { return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This,emSize,pixels_per_dip,transform,use_gdi_natural,glyph_indices,glyph_count,metrics,is_sideways); } /*** IDWriteFontFace1 methods ***/ static FORCEINLINE void IDWriteFontFace5_GetMetrics(IDWriteFontFace5* This,DWRITE_FONT_METRICS1 *metrics) { This->lpVtbl->IDWriteFontFace1_GetMetrics(This,metrics); } static FORCEINLINE HRESULT IDWriteFontFace5_GetGdiCompatibleMetrics(IDWriteFontFace5* This,FLOAT em_size,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,DWRITE_FONT_METRICS1 *metrics) { return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This,em_size,pixels_per_dip,transform,metrics); } static FORCEINLINE void IDWriteFontFace5_GetCaretMetrics(IDWriteFontFace5* This,DWRITE_CARET_METRICS *metrics) { This->lpVtbl->GetCaretMetrics(This,metrics); } static FORCEINLINE HRESULT IDWriteFontFace5_GetUnicodeRanges(IDWriteFontFace5* This,UINT32 max_count,DWRITE_UNICODE_RANGE *ranges,UINT32 *count) { return This->lpVtbl->GetUnicodeRanges(This,max_count,ranges,count); } static FORCEINLINE WINBOOL IDWriteFontFace5_IsMonospacedFont(IDWriteFontFace5* This) { return This->lpVtbl->IsMonospacedFont(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetDesignGlyphAdvances(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *indices,INT32 *advances,WINBOOL is_sideways) { return This->lpVtbl->GetDesignGlyphAdvances(This,glyph_count,indices,advances,is_sideways); } 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) { return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This,em_size,pixels_per_dip,transform,use_gdi_natural,is_sideways,glyph_count,indices,advances); } static FORCEINLINE HRESULT IDWriteFontFace5_GetKerningPairAdjustments(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *indices,INT32 *adjustments) { return This->lpVtbl->GetKerningPairAdjustments(This,glyph_count,indices,adjustments); } static FORCEINLINE WINBOOL IDWriteFontFace5_HasKerningPairs(IDWriteFontFace5* This) { return This->lpVtbl->HasKerningPairs(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetVerticalGlyphVariants(IDWriteFontFace5* This,UINT32 glyph_count,const UINT16 *nominal_indices,UINT16 *vertical_indices) { return This->lpVtbl->GetVerticalGlyphVariants(This,glyph_count,nominal_indices,vertical_indices); } static FORCEINLINE WINBOOL IDWriteFontFace5_HasVerticalGlyphVariants(IDWriteFontFace5* This) { return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static FORCEINLINE WINBOOL IDWriteFontFace5_IsColorFont(IDWriteFontFace5* This) { return This->lpVtbl->IsColorFont(This); } static FORCEINLINE UINT32 IDWriteFontFace5_GetColorPaletteCount(IDWriteFontFace5* This) { return This->lpVtbl->GetColorPaletteCount(This); } static FORCEINLINE UINT32 IDWriteFontFace5_GetPaletteEntryCount(IDWriteFontFace5* This) { return This->lpVtbl->GetPaletteEntryCount(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetPaletteEntries(IDWriteFontFace5* This,UINT32 palette_index,UINT32 first_entry_index,UINT32 entry_count,DWRITE_COLOR_F *entries) { return This->lpVtbl->GetPaletteEntries(This,palette_index,first_entry_index,entry_count,entries); } /*** IDWriteFontFace3 methods ***/ static FORCEINLINE HRESULT IDWriteFontFace5_GetFontFaceReference(IDWriteFontFace5* This,IDWriteFontFaceReference **reference) { return This->lpVtbl->GetFontFaceReference(This,reference); } static FORCEINLINE void IDWriteFontFace5_GetPanose(IDWriteFontFace5* This,DWRITE_PANOSE *panose) { This->lpVtbl->GetPanose(This,panose); } static FORCEINLINE DWRITE_FONT_WEIGHT IDWriteFontFace5_GetWeight(IDWriteFontFace5* This) { return This->lpVtbl->GetWeight(This); } static FORCEINLINE DWRITE_FONT_STRETCH IDWriteFontFace5_GetStretch(IDWriteFontFace5* This) { return This->lpVtbl->GetStretch(This); } static FORCEINLINE DWRITE_FONT_STYLE IDWriteFontFace5_GetStyle(IDWriteFontFace5* This) { return This->lpVtbl->GetStyle(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetFamilyNames(IDWriteFontFace5* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFamilyNames(This,names); } static FORCEINLINE HRESULT IDWriteFontFace5_GetFaceNames(IDWriteFontFace5* This,IDWriteLocalizedStrings **names) { return This->lpVtbl->GetFaceNames(This,names); } static FORCEINLINE HRESULT IDWriteFontFace5_GetInformationalStrings(IDWriteFontFace5* This,DWRITE_INFORMATIONAL_STRING_ID stringid,IDWriteLocalizedStrings **strings,WINBOOL *exists) { return This->lpVtbl->GetInformationalStrings(This,stringid,strings,exists); } static FORCEINLINE WINBOOL IDWriteFontFace5_HasCharacter(IDWriteFontFace5* This,UINT32 character) { return This->lpVtbl->HasCharacter(This,character); } 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) { return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This,emsize,dpi_x,dpi_y,transform,is_sideways,threshold,measuring_mode,params,rendering_mode,gridfit_mode); } static FORCEINLINE WINBOOL IDWriteFontFace5_IsCharacterLocal(IDWriteFontFace5* This,UINT32 character) { return This->lpVtbl->IsCharacterLocal(This,character); } static FORCEINLINE WINBOOL IDWriteFontFace5_IsGlyphLocal(IDWriteFontFace5* This,UINT16 glyph) { return This->lpVtbl->IsGlyphLocal(This,glyph); } static FORCEINLINE HRESULT IDWriteFontFace5_AreCharactersLocal(IDWriteFontFace5* This,const WCHAR *characters,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { return This->lpVtbl->AreCharactersLocal(This,characters,count,enqueue_if_not,are_local); } static FORCEINLINE HRESULT IDWriteFontFace5_AreGlyphsLocal(IDWriteFontFace5* This,const UINT16 *glyphs,UINT32 count,WINBOOL enqueue_if_not,WINBOOL *are_local) { return This->lpVtbl->AreGlyphsLocal(This,glyphs,count,enqueue_if_not,are_local); } /*** IDWriteFontFace4 methods ***/ static FORCEINLINE HRESULT IDWriteFontFace5_GetGlyphImageFormats_(IDWriteFontFace5* This,UINT16 glyph,UINT32 ppem_first,UINT32 ppem_last,DWRITE_GLYPH_IMAGE_FORMATS *formats) { return This->lpVtbl->GetGlyphImageFormats_(This,glyph,ppem_first,ppem_last,formats); } static FORCEINLINE DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace5_GetGlyphImageFormats(IDWriteFontFace5* This) { return This->lpVtbl->GetGlyphImageFormats(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetGlyphImageData(IDWriteFontFace5* This,UINT16 glyph,UINT32 ppem,DWRITE_GLYPH_IMAGE_FORMATS format,DWRITE_GLYPH_IMAGE_DATA *data,void **context) { return This->lpVtbl->GetGlyphImageData(This,glyph,ppem,format,data,context); } static FORCEINLINE void IDWriteFontFace5_ReleaseGlyphImageData(IDWriteFontFace5* This,void *context) { This->lpVtbl->ReleaseGlyphImageData(This,context); } /*** IDWriteFontFace5 methods ***/ static FORCEINLINE UINT32 IDWriteFontFace5_GetFontAxisValueCount(IDWriteFontFace5* This) { return This->lpVtbl->GetFontAxisValueCount(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetFontAxisValues(IDWriteFontFace5* This,DWRITE_FONT_AXIS_VALUE *values,UINT32 value_count) { return This->lpVtbl->GetFontAxisValues(This,values,value_count); } static FORCEINLINE WINBOOL IDWriteFontFace5_HasVariations(IDWriteFontFace5* This) { return This->lpVtbl->HasVariations(This); } static FORCEINLINE HRESULT IDWriteFontFace5_GetFontResource(IDWriteFontFace5* This,IDWriteFontResource **resource) { return This->lpVtbl->GetFontResource(This,resource); } static FORCEINLINE WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This,IDWriteFontFace *fontface) { return This->lpVtbl->Equals(This,fontface); } #endif #endif #endif #endif /* __IDWriteFontFace5_INTERFACE_DEFINED__ */ typedef struct DWRITE_COLOR_GLYPH_RUN1 { DWRITE_GLYPH_RUN glyphRun; DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription; FLOAT baselineOriginX; FLOAT baselineOriginY; DWRITE_COLOR_F runColor; UINT16 paletteIndex; DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat; DWRITE_MEASURING_MODE measuringMode; } DWRITE_COLOR_GLYPH_RUN1; /***************************************************************************** * IDWriteColorGlyphRunEnumerator1 interface */ #ifndef __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ #define __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8,0xe1, 0x55,0xa1,0x79,0xfe,0x5a,0x35); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7c5f86da-c7a1-4f05-b8e1-55a179fe5a35") IDWriteColorGlyphRunEnumerator1 : public IDWriteColorGlyphRunEnumerator { virtual HRESULT STDMETHODCALLTYPE GetCurrentRun( const DWRITE_COLOR_GLYPH_RUN1 **run) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8,0xe1, 0x55,0xa1,0x79,0xfe,0x5a,0x35) #endif #else typedef struct IDWriteColorGlyphRunEnumerator1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteColorGlyphRunEnumerator1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteColorGlyphRunEnumerator1 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteColorGlyphRunEnumerator1 *This); /*** IDWriteColorGlyphRunEnumerator methods ***/ HRESULT (STDMETHODCALLTYPE *MoveNext)( IDWriteColorGlyphRunEnumerator1 *This, WINBOOL *hasRun); HRESULT (STDMETHODCALLTYPE *GetCurrentRun)( IDWriteColorGlyphRunEnumerator1 *This, const DWRITE_COLOR_GLYPH_RUN **run); /*** IDWriteColorGlyphRunEnumerator1 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteColorGlyphRunEnumerator1_GetCurrentRun)( IDWriteColorGlyphRunEnumerator1 *This, const DWRITE_COLOR_GLYPH_RUN1 **run); END_INTERFACE } IDWriteColorGlyphRunEnumerator1Vtbl; interface IDWriteColorGlyphRunEnumerator1 { CONST_VTBL IDWriteColorGlyphRunEnumerator1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteColorGlyphRunEnumerator1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteColorGlyphRunEnumerator1_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteColorGlyphRunEnumerator1_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteColorGlyphRunEnumerator methods ***/ #define IDWriteColorGlyphRunEnumerator1_MoveNext(This,hasRun) (This)->lpVtbl->MoveNext(This,hasRun) /*** IDWriteColorGlyphRunEnumerator1 methods ***/ #define IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run) (This)->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteColorGlyphRunEnumerator1_QueryInterface(IDWriteColorGlyphRunEnumerator1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteColorGlyphRunEnumerator1_AddRef(IDWriteColorGlyphRunEnumerator1* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteColorGlyphRunEnumerator1_Release(IDWriteColorGlyphRunEnumerator1* This) { return This->lpVtbl->Release(This); } /*** IDWriteColorGlyphRunEnumerator methods ***/ static FORCEINLINE HRESULT IDWriteColorGlyphRunEnumerator1_MoveNext(IDWriteColorGlyphRunEnumerator1* This,WINBOOL *hasRun) { return This->lpVtbl->MoveNext(This,hasRun); } /*** IDWriteColorGlyphRunEnumerator1 methods ***/ static FORCEINLINE HRESULT IDWriteColorGlyphRunEnumerator1_GetCurrentRun(IDWriteColorGlyphRunEnumerator1* This,const DWRITE_COLOR_GLYPH_RUN1 **run) { return This->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run); } #endif #endif #endif #endif /* __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory4 interface */ #ifndef __IDWriteFactory4_INTERFACE_DEFINED__ #define __IDWriteFactory4_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a,0xc5, 0xfe,0x91,0x5c,0xc5,0x38,0x56); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("4b0b5bd3-0797-4549-8ac5-fe915cc53856") IDWriteFactory4 : public IDWriteFactory3 { virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun( 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) = 0; virtual HRESULT STDMETHODCALLTYPE ComputeGlyphOrigins_( const DWRITE_GLYPH_RUN *run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F *origins) = 0; virtual HRESULT STDMETHODCALLTYPE ComputeGlyphOrigins( const DWRITE_GLYPH_RUN *run, DWRITE_MEASURING_MODE measuring_mode, D2D1_POINT_2F baseline_origin, const DWRITE_MATRIX *transform, D2D1_POINT_2F *origins) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a,0xc5, 0xfe,0x91,0x5c,0xc5,0x38,0x56) #endif #else typedef struct IDWriteFactory4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFactory4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFactory4 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFactory4 *This); /*** IDWriteFactory methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( IDWriteFactory4 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( IDWriteFactory4 *This, IDWriteFontCollectionLoader *loader, const void *key, UINT32 key_size, IDWriteFontCollection **collection); HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( IDWriteFactory4 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( IDWriteFactory4 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( IDWriteFactory4 *This, const WCHAR *path, const FILETIME *writetime, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( IDWriteFactory4 *This, const void *reference_key, UINT32 key_size, IDWriteFontFileLoader *loader, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( IDWriteFactory4 *This, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( IDWriteFactory4 *This, HMONITOR monitor, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( IDWriteFactory4 *This, FLOAT gamma, FLOAT enhancedContrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( IDWriteFactory4 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( IDWriteFactory4 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateTypography)( IDWriteFactory4 *This, IDWriteTypography **typography); HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( IDWriteFactory4 *This, IDWriteGdiInterop **gdi_interop); HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( IDWriteFactory4 *This, const WCHAR *string, UINT32 len, IDWriteTextFormat *format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout **layout); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( IDWriteFactory4 *This, IDWriteTextFormat *format, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( IDWriteFactory4 *This, IDWriteTextAnalyzer **analyzer); HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( IDWriteFactory4 *This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR *locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution **substitution); HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( IDWriteFactory4 *This, const DWRITE_GLYPH_RUN *glyph_run, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE rendering_mode, DWRITE_MEASURING_MODE measuring_mode, FLOAT baseline_x, FLOAT baseline_y, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory1 methods ***/ HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( IDWriteFactory4 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( IDWriteFactory4 *This, FLOAT gamma, FLOAT enhcontrast, FLOAT enhcontrast_grayscale, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams1 **params); /*** IDWriteFactory2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( IDWriteFactory4 *This, IDWriteFontFallback **fallback); HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( IDWriteFactory4 *This, IDWriteFontFallbackBuilder **fallbackbuilder); HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( IDWriteFactory4 *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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( IDWriteFactory4 *This, FLOAT gamma, FLOAT contrast, FLOAT grayscalecontrast, FLOAT cleartypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, DWRITE_GRID_FIT_MODE gridFitMode, IDWriteRenderingParams2 **params); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( IDWriteFactory4 *This, const DWRITE_GLYPH_RUN *run, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, DWRITE_GRID_FIT_MODE gridFitMode, DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory3 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_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); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( IDWriteFactory4 *This, IDWriteFontFile *file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( IDWriteFactory4 *This, const WCHAR *path, const FILETIME *writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( IDWriteFactory4 *This, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( IDWriteFactory4 *This, IDWriteFontSetBuilder **builder); HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( IDWriteFactory4 *This, IDWriteFontSet *fontset, IDWriteFontCollection1 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( IDWriteFactory4 *This, WINBOOL include_downloadable, IDWriteFontCollection1 **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( IDWriteFactory4 *This, IDWriteFontDownloadQueue **queue); /*** IDWriteFactory4 methods ***/ HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( IDWriteFactory4 *This, const DWRITE_GLYPH_RUN *run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F *origins); HRESULT (STDMETHODCALLTYPE *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); END_INTERFACE } IDWriteFactory4Vtbl; interface IDWriteFactory4 { CONST_VTBL IDWriteFactory4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFactory4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFactory4_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFactory4_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFactory methods ***/ #define IDWriteFactory4_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) #define IDWriteFactory4_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) #define IDWriteFactory4_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) #define IDWriteFactory4_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) #define IDWriteFactory4_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) #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) #define IDWriteFactory4_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) #define IDWriteFactory4_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) #define IDWriteFactory4_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) #define IDWriteFactory4_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) #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) #define IDWriteFactory4_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) #define IDWriteFactory4_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) #define IDWriteFactory4_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) #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) #define IDWriteFactory4_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) #define IDWriteFactory4_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) #define IDWriteFactory4_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) /*** IDWriteFactory1 methods ***/ #define IDWriteFactory4_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) /*** IDWriteFactory2 methods ***/ #define IDWriteFactory4_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) #define IDWriteFactory4_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) /*** IDWriteFactory3 methods ***/ #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) #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) #define IDWriteFactory4_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) #define IDWriteFactory4_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) #define IDWriteFactory4_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) #define IDWriteFactory4_CreateFontSetBuilder(This,builder) (This)->lpVtbl->CreateFontSetBuilder(This,builder) #define IDWriteFactory4_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) #define IDWriteFactory4_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) #define IDWriteFactory4_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) /*** IDWriteFactory4 methods ***/ #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) #define IDWriteFactory4_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) #define IDWriteFactory4_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFactory4_QueryInterface(IDWriteFactory4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFactory4_AddRef(IDWriteFactory4* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFactory4_Release(IDWriteFactory4* This) { return This->lpVtbl->Release(This); } /*** IDWriteFactory methods ***/ static FORCEINLINE HRESULT IDWriteFactory4_CreateCustomFontCollection(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); } static FORCEINLINE HRESULT IDWriteFactory4_RegisterFontCollectionLoader(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->RegisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory4_UnregisterFontCollectionLoader(IDWriteFactory4* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory4_CreateFontFileReference(IDWriteFactory4* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); } static FORCEINLINE HRESULT IDWriteFactory4_CreateCustomFontFileReference(IDWriteFactory4* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); } 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) { return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); } static FORCEINLINE HRESULT IDWriteFactory4_CreateRenderingParams(IDWriteFactory4* This,IDWriteRenderingParams **params) { return This->lpVtbl->CreateRenderingParams(This,params); } static FORCEINLINE HRESULT IDWriteFactory4_CreateMonitorRenderingParams(IDWriteFactory4* This,HMONITOR monitor,IDWriteRenderingParams **params) { return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); } static FORCEINLINE HRESULT IDWriteFactory4_RegisterFontFileLoader(IDWriteFactory4* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->RegisterFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory4_UnregisterFontFileLoader(IDWriteFactory4* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->UnregisterFontFileLoader(This,loader); } 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) { return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); } static FORCEINLINE HRESULT IDWriteFactory4_CreateTypography(IDWriteFactory4* This,IDWriteTypography **typography) { return This->lpVtbl->CreateTypography(This,typography); } static FORCEINLINE HRESULT IDWriteFactory4_GetGdiInterop(IDWriteFactory4* This,IDWriteGdiInterop **gdi_interop) { return This->lpVtbl->GetGdiInterop(This,gdi_interop); } static FORCEINLINE HRESULT IDWriteFactory4_CreateTextLayout(IDWriteFactory4* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); } 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) { return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); } static FORCEINLINE HRESULT IDWriteFactory4_CreateEllipsisTrimmingSign(IDWriteFactory4* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); } static FORCEINLINE HRESULT IDWriteFactory4_CreateTextAnalyzer(IDWriteFactory4* This,IDWriteTextAnalyzer **analyzer) { return This->lpVtbl->CreateTextAnalyzer(This,analyzer); } static FORCEINLINE HRESULT IDWriteFactory4_CreateNumberSubstitution(IDWriteFactory4* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); } /*** IDWriteFactory1 methods ***/ static FORCEINLINE HRESULT IDWriteFactory4_GetEudcFontCollection(IDWriteFactory4* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); } /*** IDWriteFactory2 methods ***/ static FORCEINLINE HRESULT IDWriteFactory4_GetSystemFontFallback(IDWriteFactory4* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetSystemFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteFactory4_CreateFontFallbackBuilder(IDWriteFactory4* This,IDWriteFontFallbackBuilder **fallbackbuilder) { return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); } /*** IDWriteFactory3 methods ***/ 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) { return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); } 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) { return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); } static FORCEINLINE HRESULT IDWriteFactory4_CreateFontFaceReference_(IDWriteFactory4* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); } static FORCEINLINE HRESULT IDWriteFactory4_CreateFontFaceReference(IDWriteFactory4* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); } static FORCEINLINE HRESULT IDWriteFactory4_GetSystemFontSet(IDWriteFactory4* This,IDWriteFontSet **fontset) { return This->lpVtbl->GetSystemFontSet(This,fontset); } static FORCEINLINE HRESULT IDWriteFactory4_CreateFontSetBuilder(IDWriteFactory4* This,IDWriteFontSetBuilder **builder) { return This->lpVtbl->CreateFontSetBuilder(This,builder); } static FORCEINLINE HRESULT IDWriteFactory4_CreateFontCollectionFromFontSet(IDWriteFactory4* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); } static FORCEINLINE HRESULT IDWriteFactory4_GetSystemFontCollection(IDWriteFactory4* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); } static FORCEINLINE HRESULT IDWriteFactory4_GetFontDownloadQueue(IDWriteFactory4* This,IDWriteFontDownloadQueue **queue) { return This->lpVtbl->GetFontDownloadQueue(This,queue); } /*** IDWriteFactory4 methods ***/ 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) { return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); } static FORCEINLINE HRESULT IDWriteFactory4_ComputeGlyphOrigins_(IDWriteFactory4* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); } 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) { return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); } #endif #endif #endif #endif /* __IDWriteFactory4_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteAsyncResult interface */ #ifndef __IDWriteAsyncResult_INTERFACE_DEFINED__ #define __IDWriteAsyncResult_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96,0x51, 0xc1,0xf8,0x8d,0xc7,0x3f,0xe2); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ce25f8fd-863b-4d13-9651-c1f88dc73fe2") IDWriteAsyncResult : public IUnknown { virtual HANDLE STDMETHODCALLTYPE GetWaitHandle( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetResult( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96,0x51, 0xc1,0xf8,0x8d,0xc7,0x3f,0xe2) #endif #else typedef struct IDWriteAsyncResultVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteAsyncResult *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteAsyncResult *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteAsyncResult *This); /*** IDWriteAsyncResult methods ***/ HANDLE (STDMETHODCALLTYPE *GetWaitHandle)( IDWriteAsyncResult *This); HRESULT (STDMETHODCALLTYPE *GetResult)( IDWriteAsyncResult *This); END_INTERFACE } IDWriteAsyncResultVtbl; interface IDWriteAsyncResult { CONST_VTBL IDWriteAsyncResultVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteAsyncResult_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteAsyncResult methods ***/ #define IDWriteAsyncResult_GetWaitHandle(This) (This)->lpVtbl->GetWaitHandle(This) #define IDWriteAsyncResult_GetResult(This) (This)->lpVtbl->GetResult(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteAsyncResult_QueryInterface(IDWriteAsyncResult* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteAsyncResult_AddRef(IDWriteAsyncResult* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteAsyncResult_Release(IDWriteAsyncResult* This) { return This->lpVtbl->Release(This); } /*** IDWriteAsyncResult methods ***/ static FORCEINLINE HANDLE IDWriteAsyncResult_GetWaitHandle(IDWriteAsyncResult* This) { return This->lpVtbl->GetWaitHandle(This); } static FORCEINLINE HRESULT IDWriteAsyncResult_GetResult(IDWriteAsyncResult* This) { return This->lpVtbl->GetResult(This); } #endif #endif #endif #endif /* __IDWriteAsyncResult_INTERFACE_DEFINED__ */ typedef struct DWRITE_FILE_FRAGMENT { UINT64 fileOffset; UINT64 fragmentSize; } DWRITE_FILE_FRAGMENT; /***************************************************************************** * IDWriteRemoteFontFileStream interface */ #ifndef __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ #define __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2,0xb6, 0x1a,0xba,0xbe,0x1a,0xff,0x9c); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("4db3757a-2c72-4ed9-b2b6-1ababe1aff9c") IDWriteRemoteFontFileStream : public IDWriteFontFileStream { virtual HRESULT STDMETHODCALLTYPE GetLocalFileSize( UINT64 *size) = 0; virtual HRESULT STDMETHODCALLTYPE GetFileFragmentLocality( UINT64 offset, UINT64 size, WINBOOL *is_local, UINT64 *partial_size) = 0; virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( ) = 0; virtual HRESULT STDMETHODCALLTYPE BeginDownload( const GUID *operation_id, const DWRITE_FILE_FRAGMENT *fragments, UINT32 fragment_count, IDWriteAsyncResult **async_result) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2,0xb6, 0x1a,0xba,0xbe,0x1a,0xff,0x9c) #endif #else typedef struct IDWriteRemoteFontFileStreamVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteRemoteFontFileStream *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteRemoteFontFileStream *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteRemoteFontFileStream *This); /*** IDWriteFontFileStream methods ***/ HRESULT (STDMETHODCALLTYPE *ReadFileFragment)( IDWriteRemoteFontFileStream *This, const void **fragment_start, UINT64 offset, UINT64 fragment_size, void **fragment_context); void (STDMETHODCALLTYPE *ReleaseFileFragment)( IDWriteRemoteFontFileStream *This, void *fragment_context); HRESULT (STDMETHODCALLTYPE *GetFileSize)( IDWriteRemoteFontFileStream *This, UINT64 *size); HRESULT (STDMETHODCALLTYPE *GetLastWriteTime)( IDWriteRemoteFontFileStream *This, UINT64 *last_writetime); /*** IDWriteRemoteFontFileStream methods ***/ HRESULT (STDMETHODCALLTYPE *GetLocalFileSize)( IDWriteRemoteFontFileStream *This, UINT64 *size); HRESULT (STDMETHODCALLTYPE *GetFileFragmentLocality)( IDWriteRemoteFontFileStream *This, UINT64 offset, UINT64 size, WINBOOL *is_local, UINT64 *partial_size); DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( IDWriteRemoteFontFileStream *This); HRESULT (STDMETHODCALLTYPE *BeginDownload)( IDWriteRemoteFontFileStream *This, const GUID *operation_id, const DWRITE_FILE_FRAGMENT *fragments, UINT32 fragment_count, IDWriteAsyncResult **async_result); END_INTERFACE } IDWriteRemoteFontFileStreamVtbl; interface IDWriteRemoteFontFileStream { CONST_VTBL IDWriteRemoteFontFileStreamVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteRemoteFontFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteRemoteFontFileStream_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteRemoteFontFileStream_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFileStream methods ***/ #define IDWriteRemoteFontFileStream_ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context) (This)->lpVtbl->ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context) #define IDWriteRemoteFontFileStream_ReleaseFileFragment(This,fragment_context) (This)->lpVtbl->ReleaseFileFragment(This,fragment_context) #define IDWriteRemoteFontFileStream_GetFileSize(This,size) (This)->lpVtbl->GetFileSize(This,size) #define IDWriteRemoteFontFileStream_GetLastWriteTime(This,last_writetime) (This)->lpVtbl->GetLastWriteTime(This,last_writetime) /*** IDWriteRemoteFontFileStream methods ***/ #define IDWriteRemoteFontFileStream_GetLocalFileSize(This,size) (This)->lpVtbl->GetLocalFileSize(This,size) #define IDWriteRemoteFontFileStream_GetFileFragmentLocality(This,offset,size,is_local,partial_size) (This)->lpVtbl->GetFileFragmentLocality(This,offset,size,is_local,partial_size) #define IDWriteRemoteFontFileStream_GetLocality(This) (This)->lpVtbl->GetLocality(This) #define IDWriteRemoteFontFileStream_BeginDownload(This,operation_id,fragments,fragment_count,async_result) (This)->lpVtbl->BeginDownload(This,operation_id,fragments,fragment_count,async_result) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_QueryInterface(IDWriteRemoteFontFileStream* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteRemoteFontFileStream_AddRef(IDWriteRemoteFontFileStream* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteRemoteFontFileStream_Release(IDWriteRemoteFontFileStream* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFileStream methods ***/ static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_ReadFileFragment(IDWriteRemoteFontFileStream* This,const void **fragment_start,UINT64 offset,UINT64 fragment_size,void **fragment_context) { return This->lpVtbl->ReadFileFragment(This,fragment_start,offset,fragment_size,fragment_context); } static FORCEINLINE void IDWriteRemoteFontFileStream_ReleaseFileFragment(IDWriteRemoteFontFileStream* This,void *fragment_context) { This->lpVtbl->ReleaseFileFragment(This,fragment_context); } static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_GetFileSize(IDWriteRemoteFontFileStream* This,UINT64 *size) { return This->lpVtbl->GetFileSize(This,size); } static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_GetLastWriteTime(IDWriteRemoteFontFileStream* This,UINT64 *last_writetime) { return This->lpVtbl->GetLastWriteTime(This,last_writetime); } /*** IDWriteRemoteFontFileStream methods ***/ static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_GetLocalFileSize(IDWriteRemoteFontFileStream* This,UINT64 *size) { return This->lpVtbl->GetLocalFileSize(This,size); } static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_GetFileFragmentLocality(IDWriteRemoteFontFileStream* This,UINT64 offset,UINT64 size,WINBOOL *is_local,UINT64 *partial_size) { return This->lpVtbl->GetFileFragmentLocality(This,offset,size,is_local,partial_size); } static FORCEINLINE DWRITE_LOCALITY IDWriteRemoteFontFileStream_GetLocality(IDWriteRemoteFontFileStream* This) { return This->lpVtbl->GetLocality(This); } static FORCEINLINE HRESULT IDWriteRemoteFontFileStream_BeginDownload(IDWriteRemoteFontFileStream* This,const GUID *operation_id,const DWRITE_FILE_FRAGMENT *fragments,UINT32 fragment_count,IDWriteAsyncResult **async_result) { return This->lpVtbl->BeginDownload(This,operation_id,fragments,fragment_count,async_result); } #endif #endif #endif #endif /* __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ */ typedef enum DWRITE_CONTAINER_TYPE { DWRITE_CONTAINER_TYPE_UNKNOWN = 0, DWRITE_CONTAINER_TYPE_WOFF = 1, DWRITE_CONTAINER_TYPE_WOFF2 = 2 } DWRITE_CONTAINER_TYPE; /***************************************************************************** * IDWriteRemoteFontFileLoader interface */ #ifndef __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ #define __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab,0x46, 0x20,0x08,0x3a,0x88,0x7f,0xde); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("68648c83-6ede-46c0-ab46-20083a887fde") IDWriteRemoteFontFileLoader : public IDWriteFontFileLoader { virtual HRESULT STDMETHODCALLTYPE CreateRemoteStreamFromKey( const void *key, UINT32 key_size, IDWriteRemoteFontFileStream **stream) = 0; virtual HRESULT STDMETHODCALLTYPE GetLocalityFromKey( const void *key, UINT32 key_size, DWRITE_LOCALITY *locality) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontFileReferenceFromUrl( IDWriteFactory *factory, const WCHAR *base_url, const WCHAR *file_url, IDWriteFontFile **fontfile) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab,0x46, 0x20,0x08,0x3a,0x88,0x7f,0xde) #endif #else typedef struct IDWriteRemoteFontFileLoaderVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteRemoteFontFileLoader *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteRemoteFontFileLoader *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteRemoteFontFileLoader *This); /*** IDWriteFontFileLoader methods ***/ HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( IDWriteRemoteFontFileLoader *This, const void *key, UINT32 key_size, IDWriteFontFileStream **stream); /*** IDWriteRemoteFontFileLoader methods ***/ HRESULT (STDMETHODCALLTYPE *CreateRemoteStreamFromKey)( IDWriteRemoteFontFileLoader *This, const void *key, UINT32 key_size, IDWriteRemoteFontFileStream **stream); HRESULT (STDMETHODCALLTYPE *GetLocalityFromKey)( IDWriteRemoteFontFileLoader *This, const void *key, UINT32 key_size, DWRITE_LOCALITY *locality); HRESULT (STDMETHODCALLTYPE *CreateFontFileReferenceFromUrl)( IDWriteRemoteFontFileLoader *This, IDWriteFactory *factory, const WCHAR *base_url, const WCHAR *file_url, IDWriteFontFile **fontfile); END_INTERFACE } IDWriteRemoteFontFileLoaderVtbl; interface IDWriteRemoteFontFileLoader { CONST_VTBL IDWriteRemoteFontFileLoaderVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteRemoteFontFileLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteRemoteFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteRemoteFontFileLoader_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFileLoader methods ***/ #define IDWriteRemoteFontFileLoader_CreateStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateStreamFromKey(This,key,key_size,stream) /*** IDWriteRemoteFontFileLoader methods ***/ #define IDWriteRemoteFontFileLoader_CreateRemoteStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateRemoteStreamFromKey(This,key,key_size,stream) #define IDWriteRemoteFontFileLoader_GetLocalityFromKey(This,key,key_size,locality) (This)->lpVtbl->GetLocalityFromKey(This,key,key_size,locality) #define IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile) (This)->lpVtbl->CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_QueryInterface(IDWriteRemoteFontFileLoader* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteRemoteFontFileLoader_AddRef(IDWriteRemoteFontFileLoader* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteRemoteFontFileLoader_Release(IDWriteRemoteFontFileLoader* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFileLoader methods ***/ static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_CreateStreamFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,IDWriteFontFileStream **stream) { return This->lpVtbl->CreateStreamFromKey(This,key,key_size,stream); } /*** IDWriteRemoteFontFileLoader methods ***/ static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_CreateRemoteStreamFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,IDWriteRemoteFontFileStream **stream) { return This->lpVtbl->CreateRemoteStreamFromKey(This,key,key_size,stream); } static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_GetLocalityFromKey(IDWriteRemoteFontFileLoader* This,const void *key,UINT32 key_size,DWRITE_LOCALITY *locality) { return This->lpVtbl->GetLocalityFromKey(This,key,key_size,locality); } static FORCEINLINE HRESULT IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl(IDWriteRemoteFontFileLoader* This,IDWriteFactory *factory,const WCHAR *base_url,const WCHAR *file_url,IDWriteFontFile **fontfile) { return This->lpVtbl->CreateFontFileReferenceFromUrl(This,factory,base_url,file_url,fontfile); } #endif #endif #endif #endif /* __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteInMemoryFontFileLoader interface */ #ifndef __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ #define __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82,0x2d, 0x9e,0x11,0x7e,0x33,0x04,0x3f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dc102f47-a12d-4b1c-822d-9e117e33043f") IDWriteInMemoryFontFileLoader : public IDWriteFontFileLoader { virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileReference( IDWriteFactory *factory, const void *data, UINT32 data_size, IUnknown *owner, IDWriteFontFile **fontfile) = 0; virtual UINT32 STDMETHODCALLTYPE GetFileCount( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82,0x2d, 0x9e,0x11,0x7e,0x33,0x04,0x3f) #endif #else typedef struct IDWriteInMemoryFontFileLoaderVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteInMemoryFontFileLoader *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteInMemoryFontFileLoader *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteInMemoryFontFileLoader *This); /*** IDWriteFontFileLoader methods ***/ HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( IDWriteInMemoryFontFileLoader *This, const void *key, UINT32 key_size, IDWriteFontFileStream **stream); /*** IDWriteInMemoryFontFileLoader methods ***/ HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileReference)( IDWriteInMemoryFontFileLoader *This, IDWriteFactory *factory, const void *data, UINT32 data_size, IUnknown *owner, IDWriteFontFile **fontfile); UINT32 (STDMETHODCALLTYPE *GetFileCount)( IDWriteInMemoryFontFileLoader *This); END_INTERFACE } IDWriteInMemoryFontFileLoaderVtbl; interface IDWriteInMemoryFontFileLoader { CONST_VTBL IDWriteInMemoryFontFileLoaderVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteInMemoryFontFileLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteInMemoryFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteInMemoryFontFileLoader_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFontFileLoader methods ***/ #define IDWriteInMemoryFontFileLoader_CreateStreamFromKey(This,key,key_size,stream) (This)->lpVtbl->CreateStreamFromKey(This,key,key_size,stream) /*** IDWriteInMemoryFontFileLoader methods ***/ #define IDWriteInMemoryFontFileLoader_CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile) (This)->lpVtbl->CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile) #define IDWriteInMemoryFontFileLoader_GetFileCount(This) (This)->lpVtbl->GetFileCount(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteInMemoryFontFileLoader_QueryInterface(IDWriteInMemoryFontFileLoader* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteInMemoryFontFileLoader_AddRef(IDWriteInMemoryFontFileLoader* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteInMemoryFontFileLoader_Release(IDWriteInMemoryFontFileLoader* This) { return This->lpVtbl->Release(This); } /*** IDWriteFontFileLoader methods ***/ static FORCEINLINE HRESULT IDWriteInMemoryFontFileLoader_CreateStreamFromKey(IDWriteInMemoryFontFileLoader* This,const void *key,UINT32 key_size,IDWriteFontFileStream **stream) { return This->lpVtbl->CreateStreamFromKey(This,key,key_size,stream); } /*** IDWriteInMemoryFontFileLoader methods ***/ static FORCEINLINE HRESULT IDWriteInMemoryFontFileLoader_CreateInMemoryFontFileReference(IDWriteInMemoryFontFileLoader* This,IDWriteFactory *factory,const void *data,UINT32 data_size,IUnknown *owner,IDWriteFontFile **fontfile) { return This->lpVtbl->CreateInMemoryFontFileReference(This,factory,data,data_size,owner,fontfile); } static FORCEINLINE UINT32 IDWriteInMemoryFontFileLoader_GetFileCount(IDWriteInMemoryFontFileLoader* This) { return This->lpVtbl->GetFileCount(This); } #endif #endif #endif #endif /* __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory5 interface */ #ifndef __IDWriteFactory5_INTERFACE_DEFINED__ #define __IDWriteFactory5_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf,0x7d, 0x65,0x18,0x98,0x03,0xd1,0xd3); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("958db99a-be2a-4f09-af7d-65189803d1d3") IDWriteFactory5 : public IDWriteFactory4 { virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( IDWriteFontSetBuilder1 **fontset_builder) = 0; virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileLoader( IDWriteInMemoryFontFileLoader **loader) = 0; virtual HRESULT STDMETHODCALLTYPE CreateHttpFontFileLoader( const WCHAR *referrer_url, const WCHAR *extra_headers, IDWriteRemoteFontFileLoader **loader) = 0; virtual DWRITE_CONTAINER_TYPE STDMETHODCALLTYPE AnalyzeContainerType( const void *data, UINT32 data_size) = 0; virtual HRESULT STDMETHODCALLTYPE UnpackFontFile( DWRITE_CONTAINER_TYPE container_type, const void *data, UINT32 data_size, IDWriteFontFileStream **stream) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf,0x7d, 0x65,0x18,0x98,0x03,0xd1,0xd3) #endif #else typedef struct IDWriteFactory5Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFactory5 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFactory5 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFactory5 *This); /*** IDWriteFactory methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( IDWriteFactory5 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( IDWriteFactory5 *This, IDWriteFontCollectionLoader *loader, const void *key, UINT32 key_size, IDWriteFontCollection **collection); HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( IDWriteFactory5 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( IDWriteFactory5 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( IDWriteFactory5 *This, const WCHAR *path, const FILETIME *writetime, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( IDWriteFactory5 *This, const void *reference_key, UINT32 key_size, IDWriteFontFileLoader *loader, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( IDWriteFactory5 *This, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( IDWriteFactory5 *This, HMONITOR monitor, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( IDWriteFactory5 *This, FLOAT gamma, FLOAT enhancedContrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( IDWriteFactory5 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( IDWriteFactory5 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateTypography)( IDWriteFactory5 *This, IDWriteTypography **typography); HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( IDWriteFactory5 *This, IDWriteGdiInterop **gdi_interop); HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( IDWriteFactory5 *This, const WCHAR *string, UINT32 len, IDWriteTextFormat *format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout **layout); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( IDWriteFactory5 *This, IDWriteTextFormat *format, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( IDWriteFactory5 *This, IDWriteTextAnalyzer **analyzer); HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( IDWriteFactory5 *This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR *locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution **substitution); HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( IDWriteFactory5 *This, const DWRITE_GLYPH_RUN *glyph_run, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE rendering_mode, DWRITE_MEASURING_MODE measuring_mode, FLOAT baseline_x, FLOAT baseline_y, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory1 methods ***/ HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( IDWriteFactory5 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( IDWriteFactory5 *This, FLOAT gamma, FLOAT enhcontrast, FLOAT enhcontrast_grayscale, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams1 **params); /*** IDWriteFactory2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( IDWriteFactory5 *This, IDWriteFontFallback **fallback); HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( IDWriteFactory5 *This, IDWriteFontFallbackBuilder **fallbackbuilder); HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( IDWriteFactory5 *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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( IDWriteFactory5 *This, FLOAT gamma, FLOAT contrast, FLOAT grayscalecontrast, FLOAT cleartypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, DWRITE_GRID_FIT_MODE gridFitMode, IDWriteRenderingParams2 **params); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( IDWriteFactory5 *This, const DWRITE_GLYPH_RUN *run, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, DWRITE_GRID_FIT_MODE gridFitMode, DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory3 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_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); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( IDWriteFactory5 *This, IDWriteFontFile *file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( IDWriteFactory5 *This, const WCHAR *path, const FILETIME *writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( IDWriteFactory5 *This, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( IDWriteFactory5 *This, IDWriteFontSetBuilder **builder); HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( IDWriteFactory5 *This, IDWriteFontSet *fontset, IDWriteFontCollection1 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( IDWriteFactory5 *This, WINBOOL include_downloadable, IDWriteFontCollection1 **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( IDWriteFactory5 *This, IDWriteFontDownloadQueue **queue); /*** IDWriteFactory4 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_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); HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( IDWriteFactory5 *This, const DWRITE_GLYPH_RUN *run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F *origins); HRESULT (STDMETHODCALLTYPE *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); /*** IDWriteFactory5 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( IDWriteFactory5 *This, IDWriteFontSetBuilder1 **fontset_builder); HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( IDWriteFactory5 *This, IDWriteInMemoryFontFileLoader **loader); HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( IDWriteFactory5 *This, const WCHAR *referrer_url, const WCHAR *extra_headers, IDWriteRemoteFontFileLoader **loader); DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( IDWriteFactory5 *This, const void *data, UINT32 data_size); HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( IDWriteFactory5 *This, DWRITE_CONTAINER_TYPE container_type, const void *data, UINT32 data_size, IDWriteFontFileStream **stream); END_INTERFACE } IDWriteFactory5Vtbl; interface IDWriteFactory5 { CONST_VTBL IDWriteFactory5Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFactory5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFactory5_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFactory5_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFactory methods ***/ #define IDWriteFactory5_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) #define IDWriteFactory5_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) #define IDWriteFactory5_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) #define IDWriteFactory5_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) #define IDWriteFactory5_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) #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) #define IDWriteFactory5_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) #define IDWriteFactory5_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) #define IDWriteFactory5_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) #define IDWriteFactory5_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) #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) #define IDWriteFactory5_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) #define IDWriteFactory5_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) #define IDWriteFactory5_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) #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) #define IDWriteFactory5_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) #define IDWriteFactory5_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) #define IDWriteFactory5_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) /*** IDWriteFactory1 methods ***/ #define IDWriteFactory5_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) /*** IDWriteFactory2 methods ***/ #define IDWriteFactory5_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) #define IDWriteFactory5_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) /*** IDWriteFactory3 methods ***/ #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) #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) #define IDWriteFactory5_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) #define IDWriteFactory5_CreateFontFaceReference(This,path,writetime,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference) #define IDWriteFactory5_GetSystemFontSet(This,fontset) (This)->lpVtbl->GetSystemFontSet(This,fontset) #define IDWriteFactory5_CreateFontCollectionFromFontSet(This,fontset,collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection) #define IDWriteFactory5_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates) #define IDWriteFactory5_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) /*** IDWriteFactory4 methods ***/ #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) #define IDWriteFactory5_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) #define IDWriteFactory5_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) /*** IDWriteFactory5 methods ***/ #define IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder) (This)->lpVtbl->IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder) #define IDWriteFactory5_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) #define IDWriteFactory5_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) #define IDWriteFactory5_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) #define IDWriteFactory5_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFactory5_QueryInterface(IDWriteFactory5* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFactory5_AddRef(IDWriteFactory5* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFactory5_Release(IDWriteFactory5* This) { return This->lpVtbl->Release(This); } /*** IDWriteFactory methods ***/ static FORCEINLINE HRESULT IDWriteFactory5_CreateCustomFontCollection(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); } static FORCEINLINE HRESULT IDWriteFactory5_RegisterFontCollectionLoader(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->RegisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory5_UnregisterFontCollectionLoader(IDWriteFactory5* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory5_CreateFontFileReference(IDWriteFactory5* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); } static FORCEINLINE HRESULT IDWriteFactory5_CreateCustomFontFileReference(IDWriteFactory5* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); } 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) { return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); } static FORCEINLINE HRESULT IDWriteFactory5_CreateRenderingParams(IDWriteFactory5* This,IDWriteRenderingParams **params) { return This->lpVtbl->CreateRenderingParams(This,params); } static FORCEINLINE HRESULT IDWriteFactory5_CreateMonitorRenderingParams(IDWriteFactory5* This,HMONITOR monitor,IDWriteRenderingParams **params) { return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); } static FORCEINLINE HRESULT IDWriteFactory5_RegisterFontFileLoader(IDWriteFactory5* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->RegisterFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory5_UnregisterFontFileLoader(IDWriteFactory5* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->UnregisterFontFileLoader(This,loader); } 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) { return This->lpVtbl->CreateTextFormat(This,family_name,collection,weight,style,stretch,size,locale,format); } static FORCEINLINE HRESULT IDWriteFactory5_CreateTypography(IDWriteFactory5* This,IDWriteTypography **typography) { return This->lpVtbl->CreateTypography(This,typography); } static FORCEINLINE HRESULT IDWriteFactory5_GetGdiInterop(IDWriteFactory5* This,IDWriteGdiInterop **gdi_interop) { return This->lpVtbl->GetGdiInterop(This,gdi_interop); } static FORCEINLINE HRESULT IDWriteFactory5_CreateTextLayout(IDWriteFactory5* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); } 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) { return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); } static FORCEINLINE HRESULT IDWriteFactory5_CreateEllipsisTrimmingSign(IDWriteFactory5* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); } static FORCEINLINE HRESULT IDWriteFactory5_CreateTextAnalyzer(IDWriteFactory5* This,IDWriteTextAnalyzer **analyzer) { return This->lpVtbl->CreateTextAnalyzer(This,analyzer); } static FORCEINLINE HRESULT IDWriteFactory5_CreateNumberSubstitution(IDWriteFactory5* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); } /*** IDWriteFactory1 methods ***/ static FORCEINLINE HRESULT IDWriteFactory5_GetEudcFontCollection(IDWriteFactory5* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); } /*** IDWriteFactory2 methods ***/ static FORCEINLINE HRESULT IDWriteFactory5_GetSystemFontFallback(IDWriteFactory5* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetSystemFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteFactory5_CreateFontFallbackBuilder(IDWriteFactory5* This,IDWriteFontFallbackBuilder **fallbackbuilder) { return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); } /*** IDWriteFactory3 methods ***/ 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) { return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); } 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) { return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); } static FORCEINLINE HRESULT IDWriteFactory5_CreateFontFaceReference_(IDWriteFactory5* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); } static FORCEINLINE HRESULT IDWriteFactory5_CreateFontFaceReference(IDWriteFactory5* This,const WCHAR *path,const FILETIME *writetime,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { return This->lpVtbl->CreateFontFaceReference(This,path,writetime,index,simulations,reference); } static FORCEINLINE HRESULT IDWriteFactory5_GetSystemFontSet(IDWriteFactory5* This,IDWriteFontSet **fontset) { return This->lpVtbl->GetSystemFontSet(This,fontset); } static FORCEINLINE HRESULT IDWriteFactory5_CreateFontCollectionFromFontSet(IDWriteFactory5* This,IDWriteFontSet *fontset,IDWriteFontCollection1 **collection) { return This->lpVtbl->CreateFontCollectionFromFontSet(This,fontset,collection); } static FORCEINLINE HRESULT IDWriteFactory5_GetSystemFontCollection(IDWriteFactory5* This,WINBOOL include_downloadable,IDWriteFontCollection1 **collection,WINBOOL check_for_updates) { return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This,include_downloadable,collection,check_for_updates); } static FORCEINLINE HRESULT IDWriteFactory5_GetFontDownloadQueue(IDWriteFactory5* This,IDWriteFontDownloadQueue **queue) { return This->lpVtbl->GetFontDownloadQueue(This,queue); } /*** IDWriteFactory4 methods ***/ 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) { return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); } static FORCEINLINE HRESULT IDWriteFactory5_ComputeGlyphOrigins_(IDWriteFactory5* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); } 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) { return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); } /*** IDWriteFactory5 methods ***/ static FORCEINLINE HRESULT IDWriteFactory5_CreateFontSetBuilder(IDWriteFactory5* This,IDWriteFontSetBuilder1 **fontset_builder) { return This->lpVtbl->IDWriteFactory5_CreateFontSetBuilder(This,fontset_builder); } static FORCEINLINE HRESULT IDWriteFactory5_CreateInMemoryFontFileLoader(IDWriteFactory5* This,IDWriteInMemoryFontFileLoader **loader) { return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory5_CreateHttpFontFileLoader(IDWriteFactory5* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); } static FORCEINLINE DWRITE_CONTAINER_TYPE IDWriteFactory5_AnalyzeContainerType(IDWriteFactory5* This,const void *data,UINT32 data_size) { return This->lpVtbl->AnalyzeContainerType(This,data,data_size); } static FORCEINLINE HRESULT IDWriteFactory5_UnpackFontFile(IDWriteFactory5* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); } #endif #endif #endif #endif /* __IDWriteFactory5_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory6 interface */ #ifndef __IDWriteFactory6_INTERFACE_DEFINED__ #define __IDWriteFactory6_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3,0x5d, 0x99,0x5b,0xc7,0x2f,0xc2,0x23); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f3744d80-21f7-42eb-b35d-995bc72fc223") IDWriteFactory6 : public IDWriteFactory5 { virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( IDWriteFontFile *file, UINT32 face_index, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_axis, IDWriteFontFaceReference1 **face_ref) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontResource( IDWriteFontFile *file, UINT32 face_index, IDWriteFontResource **resource) = 0; virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( WINBOOL include_downloadable, IDWriteFontSet1 **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( WINBOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2 **collection) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( IDWriteFontSet *fontset, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2 **collection) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( IDWriteFontSetBuilder2 **builder) = 0; virtual HRESULT STDMETHODCALLTYPE CreateTextFormat( const WCHAR *familyname, IDWriteFontCollection *collection, const DWRITE_FONT_AXIS_VALUE *axis_values, UINT32 num_axis, FLOAT fontsize, const WCHAR *localename, IDWriteTextFormat3 **format) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3,0x5d, 0x99,0x5b,0xc7,0x2f,0xc2,0x23) #endif #else typedef struct IDWriteFactory6Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFactory6 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFactory6 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFactory6 *This); /*** IDWriteFactory methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( IDWriteFactory6 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( IDWriteFactory6 *This, IDWriteFontCollectionLoader *loader, const void *key, UINT32 key_size, IDWriteFontCollection **collection); HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( IDWriteFactory6 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( IDWriteFactory6 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( IDWriteFactory6 *This, const WCHAR *path, const FILETIME *writetime, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( IDWriteFactory6 *This, const void *reference_key, UINT32 key_size, IDWriteFontFileLoader *loader, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( IDWriteFactory6 *This, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( IDWriteFactory6 *This, HMONITOR monitor, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( IDWriteFactory6 *This, FLOAT gamma, FLOAT enhancedContrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( IDWriteFactory6 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( IDWriteFactory6 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( IDWriteFactory6 *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); HRESULT (STDMETHODCALLTYPE *CreateTypography)( IDWriteFactory6 *This, IDWriteTypography **typography); HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( IDWriteFactory6 *This, IDWriteGdiInterop **gdi_interop); HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( IDWriteFactory6 *This, const WCHAR *string, UINT32 len, IDWriteTextFormat *format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout **layout); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( IDWriteFactory6 *This, IDWriteTextFormat *format, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( IDWriteFactory6 *This, IDWriteTextAnalyzer **analyzer); HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( IDWriteFactory6 *This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR *locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution **substitution); HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( IDWriteFactory6 *This, const DWRITE_GLYPH_RUN *glyph_run, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE rendering_mode, DWRITE_MEASURING_MODE measuring_mode, FLOAT baseline_x, FLOAT baseline_y, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory1 methods ***/ HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( IDWriteFactory6 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( IDWriteFactory6 *This, FLOAT gamma, FLOAT enhcontrast, FLOAT enhcontrast_grayscale, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams1 **params); /*** IDWriteFactory2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( IDWriteFactory6 *This, IDWriteFontFallback **fallback); HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( IDWriteFactory6 *This, IDWriteFontFallbackBuilder **fallbackbuilder); HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( IDWriteFactory6 *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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( IDWriteFactory6 *This, FLOAT gamma, FLOAT contrast, FLOAT grayscalecontrast, FLOAT cleartypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, DWRITE_GRID_FIT_MODE gridFitMode, IDWriteRenderingParams2 **params); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( IDWriteFactory6 *This, const DWRITE_GLYPH_RUN *run, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, DWRITE_GRID_FIT_MODE gridFitMode, DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory3 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_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); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( IDWriteFactory6 *This, IDWriteFontFile *file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( IDWriteFactory6 *This, const WCHAR *path, const FILETIME *writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( IDWriteFactory6 *This, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( IDWriteFactory6 *This, IDWriteFontSetBuilder **builder); HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( IDWriteFactory6 *This, IDWriteFontSet *fontset, IDWriteFontCollection1 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( IDWriteFactory6 *This, WINBOOL include_downloadable, IDWriteFontCollection1 **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( IDWriteFactory6 *This, IDWriteFontDownloadQueue **queue); /*** IDWriteFactory4 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_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); HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( IDWriteFactory6 *This, const DWRITE_GLYPH_RUN *run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F *origins); HRESULT (STDMETHODCALLTYPE *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); /*** IDWriteFactory5 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( IDWriteFactory6 *This, IDWriteFontSetBuilder1 **fontset_builder); HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( IDWriteFactory6 *This, IDWriteInMemoryFontFileLoader **loader); HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( IDWriteFactory6 *This, const WCHAR *referrer_url, const WCHAR *extra_headers, IDWriteRemoteFontFileLoader **loader); DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( IDWriteFactory6 *This, const void *data, UINT32 data_size); HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( IDWriteFactory6 *This, DWRITE_CONTAINER_TYPE container_type, const void *data, UINT32 data_size, IDWriteFontFileStream **stream); /*** IDWriteFactory6 methods ***/ HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateFontResource)( IDWriteFactory6 *This, IDWriteFontFile *file, UINT32 face_index, IDWriteFontResource **resource); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( IDWriteFactory6 *This, WINBOOL include_downloadable, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontCollection)( IDWriteFactory6 *This, WINBOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontCollectionFromFontSet)( IDWriteFactory6 *This, IDWriteFontSet *fontset, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( IDWriteFactory6 *This, IDWriteFontSetBuilder2 **builder); HRESULT (STDMETHODCALLTYPE *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); END_INTERFACE } IDWriteFactory6Vtbl; interface IDWriteFactory6 { CONST_VTBL IDWriteFactory6Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFactory6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFactory6_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFactory6_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFactory methods ***/ #define IDWriteFactory6_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) #define IDWriteFactory6_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) #define IDWriteFactory6_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) #define IDWriteFactory6_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) #define IDWriteFactory6_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) #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) #define IDWriteFactory6_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) #define IDWriteFactory6_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) #define IDWriteFactory6_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) #define IDWriteFactory6_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) #define IDWriteFactory6_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) #define IDWriteFactory6_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) #define IDWriteFactory6_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) #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) #define IDWriteFactory6_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) #define IDWriteFactory6_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) #define IDWriteFactory6_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) /*** IDWriteFactory1 methods ***/ #define IDWriteFactory6_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) /*** IDWriteFactory2 methods ***/ #define IDWriteFactory6_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) #define IDWriteFactory6_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) /*** IDWriteFactory3 methods ***/ #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) #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) #define IDWriteFactory6_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) #define IDWriteFactory6_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) /*** IDWriteFactory4 methods ***/ #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) #define IDWriteFactory6_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) #define IDWriteFactory6_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) /*** IDWriteFactory5 methods ***/ #define IDWriteFactory6_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) #define IDWriteFactory6_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) #define IDWriteFactory6_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) #define IDWriteFactory6_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) /*** IDWriteFactory6 methods ***/ #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) #define IDWriteFactory6_CreateFontResource(This,file,face_index,resource) (This)->lpVtbl->CreateFontResource(This,file,face_index,resource) #define IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset) (This)->lpVtbl->IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset) #define IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection) (This)->lpVtbl->IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection) #define IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) #define IDWriteFactory6_CreateFontSetBuilder(This,builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder) #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) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFactory6_QueryInterface(IDWriteFactory6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFactory6_AddRef(IDWriteFactory6* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFactory6_Release(IDWriteFactory6* This) { return This->lpVtbl->Release(This); } /*** IDWriteFactory methods ***/ static FORCEINLINE HRESULT IDWriteFactory6_CreateCustomFontCollection(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); } static FORCEINLINE HRESULT IDWriteFactory6_RegisterFontCollectionLoader(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->RegisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory6_UnregisterFontCollectionLoader(IDWriteFactory6* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory6_CreateFontFileReference(IDWriteFactory6* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); } static FORCEINLINE HRESULT IDWriteFactory6_CreateCustomFontFileReference(IDWriteFactory6* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); } 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) { return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); } static FORCEINLINE HRESULT IDWriteFactory6_CreateRenderingParams(IDWriteFactory6* This,IDWriteRenderingParams **params) { return This->lpVtbl->CreateRenderingParams(This,params); } static FORCEINLINE HRESULT IDWriteFactory6_CreateMonitorRenderingParams(IDWriteFactory6* This,HMONITOR monitor,IDWriteRenderingParams **params) { return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); } static FORCEINLINE HRESULT IDWriteFactory6_RegisterFontFileLoader(IDWriteFactory6* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->RegisterFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory6_UnregisterFontFileLoader(IDWriteFactory6* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->UnregisterFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory6_CreateTypography(IDWriteFactory6* This,IDWriteTypography **typography) { return This->lpVtbl->CreateTypography(This,typography); } static FORCEINLINE HRESULT IDWriteFactory6_GetGdiInterop(IDWriteFactory6* This,IDWriteGdiInterop **gdi_interop) { return This->lpVtbl->GetGdiInterop(This,gdi_interop); } static FORCEINLINE HRESULT IDWriteFactory6_CreateTextLayout(IDWriteFactory6* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); } 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) { return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); } static FORCEINLINE HRESULT IDWriteFactory6_CreateEllipsisTrimmingSign(IDWriteFactory6* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); } static FORCEINLINE HRESULT IDWriteFactory6_CreateTextAnalyzer(IDWriteFactory6* This,IDWriteTextAnalyzer **analyzer) { return This->lpVtbl->CreateTextAnalyzer(This,analyzer); } static FORCEINLINE HRESULT IDWriteFactory6_CreateNumberSubstitution(IDWriteFactory6* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); } /*** IDWriteFactory1 methods ***/ static FORCEINLINE HRESULT IDWriteFactory6_GetEudcFontCollection(IDWriteFactory6* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); } /*** IDWriteFactory2 methods ***/ static FORCEINLINE HRESULT IDWriteFactory6_GetSystemFontFallback(IDWriteFactory6* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetSystemFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteFactory6_CreateFontFallbackBuilder(IDWriteFactory6* This,IDWriteFontFallbackBuilder **fallbackbuilder) { return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); } /*** IDWriteFactory3 methods ***/ 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) { return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); } 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) { return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); } static FORCEINLINE HRESULT IDWriteFactory6_CreateFontFaceReference_(IDWriteFactory6* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); } static FORCEINLINE HRESULT IDWriteFactory6_GetFontDownloadQueue(IDWriteFactory6* This,IDWriteFontDownloadQueue **queue) { return This->lpVtbl->GetFontDownloadQueue(This,queue); } /*** IDWriteFactory4 methods ***/ 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) { return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); } static FORCEINLINE HRESULT IDWriteFactory6_ComputeGlyphOrigins_(IDWriteFactory6* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); } 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) { return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); } /*** IDWriteFactory5 methods ***/ static FORCEINLINE HRESULT IDWriteFactory6_CreateInMemoryFontFileLoader(IDWriteFactory6* This,IDWriteInMemoryFontFileLoader **loader) { return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory6_CreateHttpFontFileLoader(IDWriteFactory6* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); } static FORCEINLINE DWRITE_CONTAINER_TYPE IDWriteFactory6_AnalyzeContainerType(IDWriteFactory6* This,const void *data,UINT32 data_size) { return This->lpVtbl->AnalyzeContainerType(This,data,data_size); } static FORCEINLINE HRESULT IDWriteFactory6_UnpackFontFile(IDWriteFactory6* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); } /*** IDWriteFactory6 methods ***/ 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) { return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref); } static FORCEINLINE HRESULT IDWriteFactory6_CreateFontResource(IDWriteFactory6* This,IDWriteFontFile *file,UINT32 face_index,IDWriteFontResource **resource) { return This->lpVtbl->CreateFontResource(This,file,face_index,resource); } static FORCEINLINE HRESULT IDWriteFactory6_GetSystemFontSet(IDWriteFactory6* This,WINBOOL include_downloadable,IDWriteFontSet1 **fontset) { return This->lpVtbl->IDWriteFactory6_GetSystemFontSet(This,include_downloadable,fontset); } static FORCEINLINE HRESULT IDWriteFactory6_GetSystemFontCollection(IDWriteFactory6* This,WINBOOL include_downloadable,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { return This->lpVtbl->IDWriteFactory6_GetSystemFontCollection(This,include_downloadable,family_model,collection); } static FORCEINLINE HRESULT IDWriteFactory6_CreateFontCollectionFromFontSet(IDWriteFactory6* This,IDWriteFontSet *fontset,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection); } static FORCEINLINE HRESULT IDWriteFactory6_CreateFontSetBuilder(IDWriteFactory6* This,IDWriteFontSetBuilder2 **builder) { return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder); } 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) { return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format); } #endif #endif #endif #endif /* __IDWriteFactory6_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory7 interface */ #ifndef __IDWriteFactory7_INTERFACE_DEFINED__ #define __IDWriteFactory7_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0,0x16, 0xa9,0x1b,0x56,0x8a,0x06,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("35d0e0b3-9076-4d2e-a016-a91b568a06b4") IDWriteFactory7 : public IDWriteFactory6 { virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( WINBOOL include_downloadable, IDWriteFontSet2 **fontset) = 0; virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( WINBOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection3 **collection) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0,0x16, 0xa9,0x1b,0x56,0x8a,0x06,0xb4) #endif #else typedef struct IDWriteFactory7Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDWriteFactory7 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDWriteFactory7 *This); ULONG (STDMETHODCALLTYPE *Release)( IDWriteFactory7 *This); /*** IDWriteFactory methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( IDWriteFactory7 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( IDWriteFactory7 *This, IDWriteFontCollectionLoader *loader, const void *key, UINT32 key_size, IDWriteFontCollection **collection); HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( IDWriteFactory7 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( IDWriteFactory7 *This, IDWriteFontCollectionLoader *loader); HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( IDWriteFactory7 *This, const WCHAR *path, const FILETIME *writetime, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( IDWriteFactory7 *This, const void *reference_key, UINT32 key_size, IDWriteFontFileLoader *loader, IDWriteFontFile **font_file); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( IDWriteFactory7 *This, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( IDWriteFactory7 *This, HMONITOR monitor, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( IDWriteFactory7 *This, FLOAT gamma, FLOAT enhancedContrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams **params); HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( IDWriteFactory7 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( IDWriteFactory7 *This, IDWriteFontFileLoader *loader); HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( IDWriteFactory7 *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); HRESULT (STDMETHODCALLTYPE *CreateTypography)( IDWriteFactory7 *This, IDWriteTypography **typography); HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( IDWriteFactory7 *This, IDWriteGdiInterop **gdi_interop); HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( IDWriteFactory7 *This, const WCHAR *string, UINT32 len, IDWriteTextFormat *format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout **layout); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( IDWriteFactory7 *This, IDWriteTextFormat *format, IDWriteInlineObject **trimming_sign); HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( IDWriteFactory7 *This, IDWriteTextAnalyzer **analyzer); HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( IDWriteFactory7 *This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR *locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution **substitution); HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( IDWriteFactory7 *This, const DWRITE_GLYPH_RUN *glyph_run, FLOAT pixels_per_dip, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE rendering_mode, DWRITE_MEASURING_MODE measuring_mode, FLOAT baseline_x, FLOAT baseline_y, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory1 methods ***/ HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( IDWriteFactory7 *This, IDWriteFontCollection **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( IDWriteFactory7 *This, FLOAT gamma, FLOAT enhcontrast, FLOAT enhcontrast_grayscale, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams1 **params); /*** IDWriteFactory2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( IDWriteFactory7 *This, IDWriteFontFallback **fallback); HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( IDWriteFactory7 *This, IDWriteFontFallbackBuilder **fallbackbuilder); HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( IDWriteFactory7 *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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( IDWriteFactory7 *This, FLOAT gamma, FLOAT contrast, FLOAT grayscalecontrast, FLOAT cleartypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, DWRITE_GRID_FIT_MODE gridFitMode, IDWriteRenderingParams2 **params); HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( IDWriteFactory7 *This, const DWRITE_GLYPH_RUN *run, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, DWRITE_GRID_FIT_MODE gridFitMode, DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis); /*** IDWriteFactory3 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_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); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_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); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( IDWriteFactory7 *This, IDWriteFontFile *file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( IDWriteFactory7 *This, const WCHAR *path, const FILETIME *writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference); HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( IDWriteFactory7 *This, IDWriteFontSet **fontset); HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( IDWriteFactory7 *This, IDWriteFontSetBuilder **builder); HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( IDWriteFactory7 *This, IDWriteFontSet *fontset, IDWriteFontCollection1 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( IDWriteFactory7 *This, WINBOOL include_downloadable, IDWriteFontCollection1 **collection, WINBOOL check_for_updates); HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( IDWriteFactory7 *This, IDWriteFontDownloadQueue **queue); /*** IDWriteFactory4 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_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); HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( IDWriteFactory7 *This, const DWRITE_GLYPH_RUN *run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F *origins); HRESULT (STDMETHODCALLTYPE *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); /*** IDWriteFactory5 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( IDWriteFactory7 *This, IDWriteFontSetBuilder1 **fontset_builder); HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( IDWriteFactory7 *This, IDWriteInMemoryFontFileLoader **loader); HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( IDWriteFactory7 *This, const WCHAR *referrer_url, const WCHAR *extra_headers, IDWriteRemoteFontFileLoader **loader); DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( IDWriteFactory7 *This, const void *data, UINT32 data_size); HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( IDWriteFactory7 *This, DWRITE_CONTAINER_TYPE container_type, const void *data, UINT32 data_size, IDWriteFontFileStream **stream); /*** IDWriteFactory6 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_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); HRESULT (STDMETHODCALLTYPE *CreateFontResource)( IDWriteFactory7 *This, IDWriteFontFile *file, UINT32 face_index, IDWriteFontResource **resource); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( IDWriteFactory7 *This, WINBOOL include_downloadable, IDWriteFontSet1 **fontset); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontCollection)( IDWriteFactory7 *This, WINBOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontCollectionFromFontSet)( IDWriteFactory7 *This, IDWriteFontSet *fontset, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2 **collection); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( IDWriteFactory7 *This, IDWriteFontSetBuilder2 **builder); HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_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); /*** IDWriteFactory7 methods ***/ HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontSet)( IDWriteFactory7 *This, WINBOOL include_downloadable, IDWriteFontSet2 **fontset); HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontCollection)( IDWriteFactory7 *This, WINBOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection3 **collection); END_INTERFACE } IDWriteFactory7Vtbl; interface IDWriteFactory7 { CONST_VTBL IDWriteFactory7Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDWriteFactory7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDWriteFactory7_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFactory7_Release(This) (This)->lpVtbl->Release(This) /*** IDWriteFactory methods ***/ #define IDWriteFactory7_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) #define IDWriteFactory7_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) #define IDWriteFactory7_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) #define IDWriteFactory7_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) #define IDWriteFactory7_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) #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) #define IDWriteFactory7_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) #define IDWriteFactory7_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) #define IDWriteFactory7_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) #define IDWriteFactory7_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) #define IDWriteFactory7_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) #define IDWriteFactory7_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) #define IDWriteFactory7_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) #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) #define IDWriteFactory7_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) #define IDWriteFactory7_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) #define IDWriteFactory7_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) /*** IDWriteFactory1 methods ***/ #define IDWriteFactory7_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) /*** IDWriteFactory2 methods ***/ #define IDWriteFactory7_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) #define IDWriteFactory7_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) /*** IDWriteFactory3 methods ***/ #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) #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) #define IDWriteFactory7_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) #define IDWriteFactory7_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) /*** IDWriteFactory4 methods ***/ #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) #define IDWriteFactory7_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) #define IDWriteFactory7_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) /*** IDWriteFactory5 methods ***/ #define IDWriteFactory7_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) #define IDWriteFactory7_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) #define IDWriteFactory7_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) #define IDWriteFactory7_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) /*** IDWriteFactory6 methods ***/ #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) #define IDWriteFactory7_CreateFontResource(This,file,face_index,resource) (This)->lpVtbl->CreateFontResource(This,file,face_index,resource) #define IDWriteFactory7_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) #define IDWriteFactory7_CreateFontSetBuilder(This,builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder) #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) /*** IDWriteFactory7 methods ***/ #define IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset) (This)->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset) #define IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection) (This)->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDWriteFactory7_QueryInterface(IDWriteFactory7* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDWriteFactory7_AddRef(IDWriteFactory7* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDWriteFactory7_Release(IDWriteFactory7* This) { return This->lpVtbl->Release(This); } /*** IDWriteFactory methods ***/ static FORCEINLINE HRESULT IDWriteFactory7_CreateCustomFontCollection(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); } static FORCEINLINE HRESULT IDWriteFactory7_RegisterFontCollectionLoader(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->RegisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory7_UnregisterFontCollectionLoader(IDWriteFactory7* This,IDWriteFontCollectionLoader *loader) { return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory7_CreateFontFileReference(IDWriteFactory7* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); } static FORCEINLINE HRESULT IDWriteFactory7_CreateCustomFontFileReference(IDWriteFactory7* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); } 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) { return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); } static FORCEINLINE HRESULT IDWriteFactory7_CreateRenderingParams(IDWriteFactory7* This,IDWriteRenderingParams **params) { return This->lpVtbl->CreateRenderingParams(This,params); } static FORCEINLINE HRESULT IDWriteFactory7_CreateMonitorRenderingParams(IDWriteFactory7* This,HMONITOR monitor,IDWriteRenderingParams **params) { return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); } static FORCEINLINE HRESULT IDWriteFactory7_RegisterFontFileLoader(IDWriteFactory7* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->RegisterFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory7_UnregisterFontFileLoader(IDWriteFactory7* This,IDWriteFontFileLoader *loader) { return This->lpVtbl->UnregisterFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory7_CreateTypography(IDWriteFactory7* This,IDWriteTypography **typography) { return This->lpVtbl->CreateTypography(This,typography); } static FORCEINLINE HRESULT IDWriteFactory7_GetGdiInterop(IDWriteFactory7* This,IDWriteGdiInterop **gdi_interop) { return This->lpVtbl->GetGdiInterop(This,gdi_interop); } static FORCEINLINE HRESULT IDWriteFactory7_CreateTextLayout(IDWriteFactory7* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); } 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) { return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); } static FORCEINLINE HRESULT IDWriteFactory7_CreateEllipsisTrimmingSign(IDWriteFactory7* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); } static FORCEINLINE HRESULT IDWriteFactory7_CreateTextAnalyzer(IDWriteFactory7* This,IDWriteTextAnalyzer **analyzer) { return This->lpVtbl->CreateTextAnalyzer(This,analyzer); } static FORCEINLINE HRESULT IDWriteFactory7_CreateNumberSubstitution(IDWriteFactory7* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); } /*** IDWriteFactory1 methods ***/ static FORCEINLINE HRESULT IDWriteFactory7_GetEudcFontCollection(IDWriteFactory7* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); } /*** IDWriteFactory2 methods ***/ static FORCEINLINE HRESULT IDWriteFactory7_GetSystemFontFallback(IDWriteFactory7* This,IDWriteFontFallback **fallback) { return This->lpVtbl->GetSystemFontFallback(This,fallback); } static FORCEINLINE HRESULT IDWriteFactory7_CreateFontFallbackBuilder(IDWriteFactory7* This,IDWriteFontFallbackBuilder **fallbackbuilder) { return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); } /*** IDWriteFactory3 methods ***/ 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) { return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); } 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) { return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); } static FORCEINLINE HRESULT IDWriteFactory7_CreateFontFaceReference_(IDWriteFactory7* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); } static FORCEINLINE HRESULT IDWriteFactory7_GetFontDownloadQueue(IDWriteFactory7* This,IDWriteFontDownloadQueue **queue) { return This->lpVtbl->GetFontDownloadQueue(This,queue); } /*** IDWriteFactory4 methods ***/ 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) { return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This,baseline_origin,run,run_desc,desired_formats,measuring_mode,transform,palette,layers); } static FORCEINLINE HRESULT IDWriteFactory7_ComputeGlyphOrigins_(IDWriteFactory7* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); } 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) { return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); } /*** IDWriteFactory5 methods ***/ static FORCEINLINE HRESULT IDWriteFactory7_CreateInMemoryFontFileLoader(IDWriteFactory7* This,IDWriteInMemoryFontFileLoader **loader) { return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); } static FORCEINLINE HRESULT IDWriteFactory7_CreateHttpFontFileLoader(IDWriteFactory7* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); } static FORCEINLINE DWRITE_CONTAINER_TYPE IDWriteFactory7_AnalyzeContainerType(IDWriteFactory7* This,const void *data,UINT32 data_size) { return This->lpVtbl->AnalyzeContainerType(This,data,data_size); } static FORCEINLINE HRESULT IDWriteFactory7_UnpackFontFile(IDWriteFactory7* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); } /*** IDWriteFactory6 methods ***/ 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) { return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref); } static FORCEINLINE HRESULT IDWriteFactory7_CreateFontResource(IDWriteFactory7* This,IDWriteFontFile *file,UINT32 face_index,IDWriteFontResource **resource) { return This->lpVtbl->CreateFontResource(This,file,face_index,resource); } static FORCEINLINE HRESULT IDWriteFactory7_CreateFontCollectionFromFontSet(IDWriteFactory7* This,IDWriteFontSet *fontset,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection); } static FORCEINLINE HRESULT IDWriteFactory7_CreateFontSetBuilder(IDWriteFactory7* This,IDWriteFontSetBuilder2 **builder) { return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder); } 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) { return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format); } /*** IDWriteFactory7 methods ***/ static FORCEINLINE HRESULT IDWriteFactory7_GetSystemFontSet(IDWriteFactory7* This,WINBOOL include_downloadable,IDWriteFontSet2 **fontset) { return This->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset); } static FORCEINLINE HRESULT IDWriteFactory7_GetSystemFontCollection(IDWriteFactory7* This,WINBOOL include_downloadable,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection3 **collection) { return This->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection); } #endif #endif #endif #endif /* __IDWriteFactory7_INTERFACE_DEFINED__ */ /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __dwrite_3_h__ */