/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/include/d2d1_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 __d2d1_3_h__ #define __d2d1_3_h__ /* Forward declarations */ #ifndef __ID2D1InkStyle_FWD_DEFINED__ #define __ID2D1InkStyle_FWD_DEFINED__ typedef interface ID2D1InkStyle ID2D1InkStyle; #ifdef __cplusplus interface ID2D1InkStyle; #endif /* __cplusplus */ #endif #ifndef __ID2D1Ink_FWD_DEFINED__ #define __ID2D1Ink_FWD_DEFINED__ typedef interface ID2D1Ink ID2D1Ink; #ifdef __cplusplus interface ID2D1Ink; #endif /* __cplusplus */ #endif #ifndef __ID2D1GradientMesh_FWD_DEFINED__ #define __ID2D1GradientMesh_FWD_DEFINED__ typedef interface ID2D1GradientMesh ID2D1GradientMesh; #ifdef __cplusplus interface ID2D1GradientMesh; #endif /* __cplusplus */ #endif #ifndef __ID2D1ImageSource_FWD_DEFINED__ #define __ID2D1ImageSource_FWD_DEFINED__ typedef interface ID2D1ImageSource ID2D1ImageSource; #ifdef __cplusplus interface ID2D1ImageSource; #endif /* __cplusplus */ #endif #ifndef __ID2D1ImageSourceFromWic_FWD_DEFINED__ #define __ID2D1ImageSourceFromWic_FWD_DEFINED__ typedef interface ID2D1ImageSourceFromWic ID2D1ImageSourceFromWic; #ifdef __cplusplus interface ID2D1ImageSourceFromWic; #endif /* __cplusplus */ #endif #ifndef __ID2D1TransformedImageSource_FWD_DEFINED__ #define __ID2D1TransformedImageSource_FWD_DEFINED__ typedef interface ID2D1TransformedImageSource ID2D1TransformedImageSource; #ifdef __cplusplus interface ID2D1TransformedImageSource; #endif /* __cplusplus */ #endif #ifndef __ID2D1LookupTable3D_FWD_DEFINED__ #define __ID2D1LookupTable3D_FWD_DEFINED__ typedef interface ID2D1LookupTable3D ID2D1LookupTable3D; #ifdef __cplusplus interface ID2D1LookupTable3D; #endif /* __cplusplus */ #endif #ifndef __ID2D1SpriteBatch_FWD_DEFINED__ #define __ID2D1SpriteBatch_FWD_DEFINED__ typedef interface ID2D1SpriteBatch ID2D1SpriteBatch; #ifdef __cplusplus interface ID2D1SpriteBatch; #endif /* __cplusplus */ #endif #ifndef __ID2D1SvgGlyphStyle_FWD_DEFINED__ #define __ID2D1SvgGlyphStyle_FWD_DEFINED__ typedef interface ID2D1SvgGlyphStyle ID2D1SvgGlyphStyle; #ifdef __cplusplus interface ID2D1SvgGlyphStyle; #endif /* __cplusplus */ #endif #ifndef __ID2D1DeviceContext2_FWD_DEFINED__ #define __ID2D1DeviceContext2_FWD_DEFINED__ typedef interface ID2D1DeviceContext2 ID2D1DeviceContext2; #ifdef __cplusplus interface ID2D1DeviceContext2; #endif /* __cplusplus */ #endif #ifndef __ID2D1DeviceContext3_FWD_DEFINED__ #define __ID2D1DeviceContext3_FWD_DEFINED__ typedef interface ID2D1DeviceContext3 ID2D1DeviceContext3; #ifdef __cplusplus interface ID2D1DeviceContext3; #endif /* __cplusplus */ #endif #ifndef __ID2D1DeviceContext4_FWD_DEFINED__ #define __ID2D1DeviceContext4_FWD_DEFINED__ typedef interface ID2D1DeviceContext4 ID2D1DeviceContext4; #ifdef __cplusplus interface ID2D1DeviceContext4; #endif /* __cplusplus */ #endif #ifndef __ID2D1ColorContext1_FWD_DEFINED__ #define __ID2D1ColorContext1_FWD_DEFINED__ typedef interface ID2D1ColorContext1 ID2D1ColorContext1; #ifdef __cplusplus interface ID2D1ColorContext1; #endif /* __cplusplus */ #endif #ifndef __ID2D1DeviceContext5_FWD_DEFINED__ #define __ID2D1DeviceContext5_FWD_DEFINED__ typedef interface ID2D1DeviceContext5 ID2D1DeviceContext5; #ifdef __cplusplus interface ID2D1DeviceContext5; #endif /* __cplusplus */ #endif #ifndef __ID2D1DeviceContext6_FWD_DEFINED__ #define __ID2D1DeviceContext6_FWD_DEFINED__ typedef interface ID2D1DeviceContext6 ID2D1DeviceContext6; #ifdef __cplusplus interface ID2D1DeviceContext6; #endif /* __cplusplus */ #endif #ifndef __ID2D1DeviceContext7_FWD_DEFINED__ #define __ID2D1DeviceContext7_FWD_DEFINED__ typedef interface ID2D1DeviceContext7 ID2D1DeviceContext7; #ifdef __cplusplus interface ID2D1DeviceContext7; #endif /* __cplusplus */ #endif #ifndef __ID2D1Device2_FWD_DEFINED__ #define __ID2D1Device2_FWD_DEFINED__ typedef interface ID2D1Device2 ID2D1Device2; #ifdef __cplusplus interface ID2D1Device2; #endif /* __cplusplus */ #endif #ifndef __ID2D1Device3_FWD_DEFINED__ #define __ID2D1Device3_FWD_DEFINED__ typedef interface ID2D1Device3 ID2D1Device3; #ifdef __cplusplus interface ID2D1Device3; #endif /* __cplusplus */ #endif #ifndef __ID2D1Device4_FWD_DEFINED__ #define __ID2D1Device4_FWD_DEFINED__ typedef interface ID2D1Device4 ID2D1Device4; #ifdef __cplusplus interface ID2D1Device4; #endif /* __cplusplus */ #endif #ifndef __ID2D1Device5_FWD_DEFINED__ #define __ID2D1Device5_FWD_DEFINED__ typedef interface ID2D1Device5 ID2D1Device5; #ifdef __cplusplus interface ID2D1Device5; #endif /* __cplusplus */ #endif #ifndef __ID2D1Device6_FWD_DEFINED__ #define __ID2D1Device6_FWD_DEFINED__ typedef interface ID2D1Device6 ID2D1Device6; #ifdef __cplusplus interface ID2D1Device6; #endif /* __cplusplus */ #endif #ifndef __ID2D1Device7_FWD_DEFINED__ #define __ID2D1Device7_FWD_DEFINED__ typedef interface ID2D1Device7 ID2D1Device7; #ifdef __cplusplus interface ID2D1Device7; #endif /* __cplusplus */ #endif #ifndef __ID2D1Factory3_FWD_DEFINED__ #define __ID2D1Factory3_FWD_DEFINED__ typedef interface ID2D1Factory3 ID2D1Factory3; #ifdef __cplusplus interface ID2D1Factory3; #endif /* __cplusplus */ #endif #ifndef __ID2D1Factory4_FWD_DEFINED__ #define __ID2D1Factory4_FWD_DEFINED__ typedef interface ID2D1Factory4 ID2D1Factory4; #ifdef __cplusplus interface ID2D1Factory4; #endif /* __cplusplus */ #endif #ifndef __ID2D1Factory5_FWD_DEFINED__ #define __ID2D1Factory5_FWD_DEFINED__ typedef interface ID2D1Factory5 ID2D1Factory5; #ifdef __cplusplus interface ID2D1Factory5; #endif /* __cplusplus */ #endif #ifndef __ID2D1Factory6_FWD_DEFINED__ #define __ID2D1Factory6_FWD_DEFINED__ typedef interface ID2D1Factory6 ID2D1Factory6; #ifdef __cplusplus interface ID2D1Factory6; #endif /* __cplusplus */ #endif #ifndef __ID2D1Factory7_FWD_DEFINED__ #define __ID2D1Factory7_FWD_DEFINED__ typedef interface ID2D1Factory7 ID2D1Factory7; #ifdef __cplusplus interface ID2D1Factory7; #endif /* __cplusplus */ #endif #ifndef __ID2D1Factory8_FWD_DEFINED__ #define __ID2D1Factory8_FWD_DEFINED__ typedef interface ID2D1Factory8 ID2D1Factory8; #ifdef __cplusplus interface ID2D1Factory8; #endif /* __cplusplus */ #endif #ifndef __ID2D1CommandSink2_FWD_DEFINED__ #define __ID2D1CommandSink2_FWD_DEFINED__ typedef interface ID2D1CommandSink2 ID2D1CommandSink2; #ifdef __cplusplus interface ID2D1CommandSink2; #endif /* __cplusplus */ #endif #ifndef __ID2D1CommandSink3_FWD_DEFINED__ #define __ID2D1CommandSink3_FWD_DEFINED__ typedef interface ID2D1CommandSink3 ID2D1CommandSink3; #ifdef __cplusplus interface ID2D1CommandSink3; #endif /* __cplusplus */ #endif #ifndef __ID2D1CommandSink4_FWD_DEFINED__ #define __ID2D1CommandSink4_FWD_DEFINED__ typedef interface ID2D1CommandSink4 ID2D1CommandSink4; #ifdef __cplusplus interface ID2D1CommandSink4; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #include #ifdef __cplusplus extern "C" { #endif #ifndef __IDWriteFontFace_FWD_DEFINED__ #define __IDWriteFontFace_FWD_DEFINED__ typedef interface IDWriteFontFace IDWriteFontFace; #ifdef __cplusplus interface IDWriteFontFace; #endif /* __cplusplus */ #endif typedef enum D2D1_INK_NIB_SHAPE { D2D1_INK_NIB_SHAPE_ROUND = 0x0, D2D1_INK_NIB_SHAPE_SQUARE = 0x1, D2D1_INK_NIB_SHAPE_FORCE_DWORD = 0xffffffff } D2D1_INK_NIB_SHAPE; typedef enum D2D1_PATCH_EDGE_MODE { D2D1_PATCH_EDGE_MODE_ALIASED = 0x0, D2D1_PATCH_EDGE_MODE_ANTIALIASED = 0x1, D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED = 0x2, D2D1_PATCH_EDGE_MODE_FORCE_DWORD = 0xffffffff } D2D1_PATCH_EDGE_MODE; typedef enum D2D1_ORIENTATION { D2D1_ORIENTATION_DEFAULT = 0x1, D2D1_ORIENTATION_FLIP_HORIZONTAL = 0x2, D2D1_ORIENTATION_ROTATE_CLOCKWISE180 = 0x3, D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL = 0x4, D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL = 0x5, D2D1_ORIENTATION_ROTATE_CLOCKWISE270 = 0x6, D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL = 0x7, D2D1_ORIENTATION_ROTATE_CLOCKWISE90 = 0x8, D2D1_ORIENTATION_FORCE_DWORD = 0xffffffff } D2D1_ORIENTATION; typedef enum D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS { D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE = 0x0, D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE = 0x1, D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_FORCE_DWORD = 0xffffffff } D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS; typedef enum D2D1_IMAGE_SOURCE_LOADING_OPTIONS { D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE = 0x0, D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE = 0x1, D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND = 0x2, D2D1_IMAGE_SOURCE_LOADING_OPTIONS_FORCE_DWORD = 0xffffffff } D2D1_IMAGE_SOURCE_LOADING_OPTIONS; typedef enum D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS { D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE = 0x0, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION = 0x1, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_FORCE_DWORD = 0xffffffff } D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS; typedef enum D2D1_SPRITE_OPTIONS { D2D1_SPRITE_OPTIONS_NONE = 0x0, D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE = 0x1, D2D1_SPRITE_OPTIONS_FORCE_DWORD = 0xffffffff } D2D1_SPRITE_OPTIONS; typedef enum D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION { D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT = 0x0, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE = 0x1, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_FORCE_DWORD = 0xffffffff } D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION; typedef enum D2D1_GAMMA1 { D2D1_GAMMA1_G22 = D2D1_GAMMA_2_2, D2D1_GAMMA1_G10 = D2D1_GAMMA_1_0, D2D1_GAMMA1_G2084 = 2, D2D1_GAMMA1_FORCE_DWORD = 0xffffffff } D2D1_GAMMA1; typedef enum D2D1_COLOR_CONTEXT_TYPE { D2D1_COLOR_CONTEXT_TYPE_ICC = 0x0, D2D1_COLOR_CONTEXT_TYPE_SIMPLE = 0x1, D2D1_COLOR_CONTEXT_TYPE_DXGI = 0x2, D2D1_COLOR_CONTEXT_TYPE_FORCE_DWORD = 0xffffffff } D2D1_COLOR_CONTEXT_TYPE; typedef struct D2D1_INK_POINT { float x; float y; float radius; } D2D1_INK_POINT; typedef struct D2D1_INK_BEZIER_SEGMENT { D2D1_INK_POINT point1; D2D1_INK_POINT point2; D2D1_INK_POINT point3; } D2D1_INK_BEZIER_SEGMENT; typedef struct D2D1_INK_STYLE_PROPERTIES { D2D1_INK_NIB_SHAPE nibShape; D2D1_MATRIX_3X2_F nibTransform; } D2D1_INK_STYLE_PROPERTIES; typedef struct D2D1_GRADIENT_MESH_PATCH { D2D1_POINT_2F point00; D2D1_POINT_2F point01; D2D1_POINT_2F point02; D2D1_POINT_2F point03; D2D1_POINT_2F point10; D2D1_POINT_2F point11; D2D1_POINT_2F point12; D2D1_POINT_2F point13; D2D1_POINT_2F point20; D2D1_POINT_2F point21; D2D1_POINT_2F point22; D2D1_POINT_2F point23; D2D1_POINT_2F point30; D2D1_POINT_2F point31; D2D1_POINT_2F point32; D2D1_POINT_2F point33; D2D1_COLOR_F color00; D2D1_COLOR_F color03; D2D1_COLOR_F color30; D2D1_COLOR_F color33; D2D1_PATCH_EDGE_MODE topEdgeMode; D2D1_PATCH_EDGE_MODE leftEdgeMode; D2D1_PATCH_EDGE_MODE bottomEdgeMode; D2D1_PATCH_EDGE_MODE rightEdgeMode; } D2D1_GRADIENT_MESH_PATCH; typedef struct D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES { D2D1_ORIENTATION orientation; float scaleX; float scaleY; D2D1_INTERPOLATION_MODE interpolationMode; D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options; } D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES; typedef struct D2D1_SIMPLE_COLOR_PROFILE { D2D1_POINT_2F redPrimary; D2D1_POINT_2F greenPrimary; D2D1_POINT_2F bluePrimary; D2D1_POINT_2F whitePointXZ; D2D1_GAMMA1 gamma; } D2D1_SIMPLE_COLOR_PROFILE; /***************************************************************************** * ID2D1InkStyle interface */ #ifndef __ID2D1InkStyle_INTERFACE_DEFINED__ #define __ID2D1InkStyle_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1InkStyle, 0xbae8b344, 0x23fc, 0x4071, 0x8c,0xb5, 0xd0,0x5d,0x6f,0x07,0x38,0x48); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bae8b344-23fc-4071-8cb5-d05d6f073848") ID2D1InkStyle : public ID2D1Resource { virtual void STDMETHODCALLTYPE SetNibTransform( const D2D1_MATRIX_3X2_F *transform) = 0; virtual void STDMETHODCALLTYPE GetNibTransform( D2D1_MATRIX_3X2_F *transform) = 0; virtual void STDMETHODCALLTYPE SetNibShape( D2D1_INK_NIB_SHAPE shape) = 0; virtual D2D1_INK_NIB_SHAPE STDMETHODCALLTYPE GetNibShape( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1InkStyle, 0xbae8b344, 0x23fc, 0x4071, 0x8c,0xb5, 0xd0,0x5d,0x6f,0x07,0x38,0x48) #endif #else typedef struct ID2D1InkStyleVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1InkStyle *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1InkStyle *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1InkStyle *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1InkStyle *This, ID2D1Factory **factory); /*** ID2D1InkStyle methods ***/ void (STDMETHODCALLTYPE *SetNibTransform)( ID2D1InkStyle *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetNibTransform)( ID2D1InkStyle *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetNibShape)( ID2D1InkStyle *This, D2D1_INK_NIB_SHAPE shape); D2D1_INK_NIB_SHAPE (STDMETHODCALLTYPE *GetNibShape)( ID2D1InkStyle *This); END_INTERFACE } ID2D1InkStyleVtbl; interface ID2D1InkStyle { CONST_VTBL ID2D1InkStyleVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1InkStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1InkStyle_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1InkStyle_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1InkStyle_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1InkStyle methods ***/ #define ID2D1InkStyle_SetNibTransform(This,transform) (This)->lpVtbl->SetNibTransform(This,transform) #define ID2D1InkStyle_GetNibTransform(This,transform) (This)->lpVtbl->GetNibTransform(This,transform) #define ID2D1InkStyle_SetNibShape(This,shape) (This)->lpVtbl->SetNibShape(This,shape) #define ID2D1InkStyle_GetNibShape(This) (This)->lpVtbl->GetNibShape(This) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1InkStyle_QueryInterface(ID2D1InkStyle* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1InkStyle_AddRef(ID2D1InkStyle* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1InkStyle_Release(ID2D1InkStyle* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1InkStyle_GetFactory(ID2D1InkStyle* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1InkStyle methods ***/ static inline void ID2D1InkStyle_SetNibTransform(ID2D1InkStyle* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetNibTransform(This,transform); } static inline void ID2D1InkStyle_GetNibTransform(ID2D1InkStyle* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetNibTransform(This,transform); } static inline void ID2D1InkStyle_SetNibShape(ID2D1InkStyle* This,D2D1_INK_NIB_SHAPE shape) { This->lpVtbl->SetNibShape(This,shape); } static inline D2D1_INK_NIB_SHAPE ID2D1InkStyle_GetNibShape(ID2D1InkStyle* This) { return This->lpVtbl->GetNibShape(This); } #endif #endif #endif #endif /* __ID2D1InkStyle_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Ink interface */ #ifndef __ID2D1Ink_INTERFACE_DEFINED__ #define __ID2D1Ink_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Ink, 0xb499923b, 0x7029, 0x478f, 0xa8,0xb3, 0x43,0x2c,0x7c,0x5f,0x53,0x12); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("b499923b-7029-478f-a8b3-432c7c5f5312") ID2D1Ink : public ID2D1Resource { virtual void STDMETHODCALLTYPE SetStartPoint( const D2D1_INK_POINT *start_point) = 0; #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_INK_POINT* STDMETHODCALLTYPE GetStartPoint( D2D1_INK_POINT *__ret) = 0; D2D1_INK_POINT STDMETHODCALLTYPE GetStartPoint( ) { D2D1_INK_POINT __ret; return *GetStartPoint(&__ret); } #else virtual D2D1_INK_POINT STDMETHODCALLTYPE GetStartPoint( ) = 0; #endif virtual HRESULT STDMETHODCALLTYPE AddSegments( const D2D1_INK_BEZIER_SEGMENT *segments, UINT32 segment_count) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveSegmentsAtEnd( UINT32 segment_count) = 0; virtual HRESULT STDMETHODCALLTYPE SetSegments( UINT32 start_segment, const D2D1_INK_BEZIER_SEGMENT *segments, UINT32 segment_count) = 0; virtual HRESULT STDMETHODCALLTYPE SetSegmentAtEnd( const D2D1_INK_BEZIER_SEGMENT *segment) = 0; virtual UINT32 STDMETHODCALLTYPE GetSegmentCount( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetSegments( UINT32 start_segment, D2D1_INK_BEZIER_SEGMENT *segments, UINT32 segment_count) = 0; virtual HRESULT STDMETHODCALLTYPE StreamAsGeometry( ID2D1InkStyle *ink_style, const D2D1_MATRIX_3X2_F *world_transform, float flattening_tolerance, ID2D1SimplifiedGeometrySink *geometry_sink) = 0; virtual HRESULT STDMETHODCALLTYPE GetBounds( ID2D1InkStyle *ink_style, const D2D1_MATRIX_3X2_F *world_transform, D2D1_RECT_F *bounds) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Ink, 0xb499923b, 0x7029, 0x478f, 0xa8,0xb3, 0x43,0x2c,0x7c,0x5f,0x53,0x12) #endif #else typedef struct ID2D1InkVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Ink *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Ink *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Ink *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Ink *This, ID2D1Factory **factory); /*** ID2D1Ink methods ***/ void (STDMETHODCALLTYPE *SetStartPoint)( ID2D1Ink *This, const D2D1_INK_POINT *start_point); D2D1_INK_POINT * (STDMETHODCALLTYPE *GetStartPoint)( ID2D1Ink *This, D2D1_INK_POINT *__ret); HRESULT (STDMETHODCALLTYPE *AddSegments)( ID2D1Ink *This, const D2D1_INK_BEZIER_SEGMENT *segments, UINT32 segment_count); HRESULT (STDMETHODCALLTYPE *RemoveSegmentsAtEnd)( ID2D1Ink *This, UINT32 segment_count); HRESULT (STDMETHODCALLTYPE *SetSegments)( ID2D1Ink *This, UINT32 start_segment, const D2D1_INK_BEZIER_SEGMENT *segments, UINT32 segment_count); HRESULT (STDMETHODCALLTYPE *SetSegmentAtEnd)( ID2D1Ink *This, const D2D1_INK_BEZIER_SEGMENT *segment); UINT32 (STDMETHODCALLTYPE *GetSegmentCount)( ID2D1Ink *This); HRESULT (STDMETHODCALLTYPE *GetSegments)( ID2D1Ink *This, UINT32 start_segment, D2D1_INK_BEZIER_SEGMENT *segments, UINT32 segment_count); HRESULT (STDMETHODCALLTYPE *StreamAsGeometry)( ID2D1Ink *This, ID2D1InkStyle *ink_style, const D2D1_MATRIX_3X2_F *world_transform, float flattening_tolerance, ID2D1SimplifiedGeometrySink *geometry_sink); HRESULT (STDMETHODCALLTYPE *GetBounds)( ID2D1Ink *This, ID2D1InkStyle *ink_style, const D2D1_MATRIX_3X2_F *world_transform, D2D1_RECT_F *bounds); END_INTERFACE } ID2D1InkVtbl; interface ID2D1Ink { CONST_VTBL ID2D1InkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Ink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Ink_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Ink_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Ink_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Ink methods ***/ #define ID2D1Ink_SetStartPoint(This,start_point) (This)->lpVtbl->SetStartPoint(This,start_point) #define ID2D1Ink_GetStartPoint(This) ID2D1Ink_GetStartPoint_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1Ink_AddSegments(This,segments,segment_count) (This)->lpVtbl->AddSegments(This,segments,segment_count) #define ID2D1Ink_RemoveSegmentsAtEnd(This,segment_count) (This)->lpVtbl->RemoveSegmentsAtEnd(This,segment_count) #define ID2D1Ink_SetSegments(This,start_segment,segments,segment_count) (This)->lpVtbl->SetSegments(This,start_segment,segments,segment_count) #define ID2D1Ink_SetSegmentAtEnd(This,segment) (This)->lpVtbl->SetSegmentAtEnd(This,segment) #define ID2D1Ink_GetSegmentCount(This) (This)->lpVtbl->GetSegmentCount(This) #define ID2D1Ink_GetSegments(This,start_segment,segments,segment_count) (This)->lpVtbl->GetSegments(This,start_segment,segments,segment_count) #define ID2D1Ink_StreamAsGeometry(This,ink_style,world_transform,flattening_tolerance,geometry_sink) (This)->lpVtbl->StreamAsGeometry(This,ink_style,world_transform,flattening_tolerance,geometry_sink) #define ID2D1Ink_GetBounds(This,ink_style,world_transform,bounds) (This)->lpVtbl->GetBounds(This,ink_style,world_transform,bounds) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Ink_QueryInterface(ID2D1Ink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Ink_AddRef(ID2D1Ink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Ink_Release(ID2D1Ink* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Ink_GetFactory(ID2D1Ink* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Ink methods ***/ static inline void ID2D1Ink_SetStartPoint(ID2D1Ink* This,const D2D1_INK_POINT *start_point) { This->lpVtbl->SetStartPoint(This,start_point); } static inline D2D1_INK_POINT ID2D1Ink_GetStartPoint(ID2D1Ink* This) { D2D1_INK_POINT __ret; return *This->lpVtbl->GetStartPoint(This,&__ret); } static inline HRESULT ID2D1Ink_AddSegments(ID2D1Ink* This,const D2D1_INK_BEZIER_SEGMENT *segments,UINT32 segment_count) { return This->lpVtbl->AddSegments(This,segments,segment_count); } static inline HRESULT ID2D1Ink_RemoveSegmentsAtEnd(ID2D1Ink* This,UINT32 segment_count) { return This->lpVtbl->RemoveSegmentsAtEnd(This,segment_count); } static inline HRESULT ID2D1Ink_SetSegments(ID2D1Ink* This,UINT32 start_segment,const D2D1_INK_BEZIER_SEGMENT *segments,UINT32 segment_count) { return This->lpVtbl->SetSegments(This,start_segment,segments,segment_count); } static inline HRESULT ID2D1Ink_SetSegmentAtEnd(ID2D1Ink* This,const D2D1_INK_BEZIER_SEGMENT *segment) { return This->lpVtbl->SetSegmentAtEnd(This,segment); } static inline UINT32 ID2D1Ink_GetSegmentCount(ID2D1Ink* This) { return This->lpVtbl->GetSegmentCount(This); } static inline HRESULT ID2D1Ink_GetSegments(ID2D1Ink* This,UINT32 start_segment,D2D1_INK_BEZIER_SEGMENT *segments,UINT32 segment_count) { return This->lpVtbl->GetSegments(This,start_segment,segments,segment_count); } static inline HRESULT ID2D1Ink_StreamAsGeometry(ID2D1Ink* This,ID2D1InkStyle *ink_style,const D2D1_MATRIX_3X2_F *world_transform,float flattening_tolerance,ID2D1SimplifiedGeometrySink *geometry_sink) { return This->lpVtbl->StreamAsGeometry(This,ink_style,world_transform,flattening_tolerance,geometry_sink); } static inline HRESULT ID2D1Ink_GetBounds(ID2D1Ink* This,ID2D1InkStyle *ink_style,const D2D1_MATRIX_3X2_F *world_transform,D2D1_RECT_F *bounds) { return This->lpVtbl->GetBounds(This,ink_style,world_transform,bounds); } #endif #endif #endif #endif /* __ID2D1Ink_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1GradientMesh interface */ #ifndef __ID2D1GradientMesh_INTERFACE_DEFINED__ #define __ID2D1GradientMesh_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1GradientMesh, 0xf292e401, 0xc050, 0x4cde, 0x83,0xd7, 0x04,0x96,0x2d,0x3b,0x23,0xc2); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f292e401-c050-4cde-83d7-04962d3b23c2") ID2D1GradientMesh : public ID2D1Resource { virtual UINT32 STDMETHODCALLTYPE GetPatchCount( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetPatches( UINT32 start_index, D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patch_count) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1GradientMesh, 0xf292e401, 0xc050, 0x4cde, 0x83,0xd7, 0x04,0x96,0x2d,0x3b,0x23,0xc2) #endif #else typedef struct ID2D1GradientMeshVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1GradientMesh *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1GradientMesh *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1GradientMesh *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1GradientMesh *This, ID2D1Factory **factory); /*** ID2D1GradientMesh methods ***/ UINT32 (STDMETHODCALLTYPE *GetPatchCount)( ID2D1GradientMesh *This); HRESULT (STDMETHODCALLTYPE *GetPatches)( ID2D1GradientMesh *This, UINT32 start_index, D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patch_count); END_INTERFACE } ID2D1GradientMeshVtbl; interface ID2D1GradientMesh { CONST_VTBL ID2D1GradientMeshVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1GradientMesh_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1GradientMesh_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1GradientMesh_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1GradientMesh_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1GradientMesh methods ***/ #define ID2D1GradientMesh_GetPatchCount(This) (This)->lpVtbl->GetPatchCount(This) #define ID2D1GradientMesh_GetPatches(This,start_index,patches,patch_count) (This)->lpVtbl->GetPatches(This,start_index,patches,patch_count) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1GradientMesh_QueryInterface(ID2D1GradientMesh* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1GradientMesh_AddRef(ID2D1GradientMesh* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1GradientMesh_Release(ID2D1GradientMesh* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1GradientMesh_GetFactory(ID2D1GradientMesh* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1GradientMesh methods ***/ static inline UINT32 ID2D1GradientMesh_GetPatchCount(ID2D1GradientMesh* This) { return This->lpVtbl->GetPatchCount(This); } static inline HRESULT ID2D1GradientMesh_GetPatches(ID2D1GradientMesh* This,UINT32 start_index,D2D1_GRADIENT_MESH_PATCH *patches,UINT32 patch_count) { return This->lpVtbl->GetPatches(This,start_index,patches,patch_count); } #endif #endif #endif #endif /* __ID2D1GradientMesh_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1ImageSource interface */ #ifndef __ID2D1ImageSource_INTERFACE_DEFINED__ #define __ID2D1ImageSource_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1ImageSource, 0xc9b664e5, 0x74a1, 0x4378, 0x9a,0xc2, 0xee,0xfc,0x37,0xa3,0xf4,0xd8); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c9b664e5-74a1-4378-9ac2-eefc37a3f4d8") ID2D1ImageSource : public ID2D1Image { virtual HRESULT STDMETHODCALLTYPE OfferResources( ) = 0; virtual HRESULT STDMETHODCALLTYPE TryReclaimResources( BOOL *resources_discarded) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1ImageSource, 0xc9b664e5, 0x74a1, 0x4378, 0x9a,0xc2, 0xee,0xfc,0x37,0xa3,0xf4,0xd8) #endif #else typedef struct ID2D1ImageSourceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1ImageSource *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1ImageSource *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1ImageSource *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1ImageSource *This, ID2D1Factory **factory); /*** ID2D1ImageSource methods ***/ HRESULT (STDMETHODCALLTYPE *OfferResources)( ID2D1ImageSource *This); HRESULT (STDMETHODCALLTYPE *TryReclaimResources)( ID2D1ImageSource *This, BOOL *resources_discarded); END_INTERFACE } ID2D1ImageSourceVtbl; interface ID2D1ImageSource { CONST_VTBL ID2D1ImageSourceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1ImageSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1ImageSource_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1ImageSource_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1ImageSource_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1ImageSource methods ***/ #define ID2D1ImageSource_OfferResources(This) (This)->lpVtbl->OfferResources(This) #define ID2D1ImageSource_TryReclaimResources(This,resources_discarded) (This)->lpVtbl->TryReclaimResources(This,resources_discarded) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1ImageSource_QueryInterface(ID2D1ImageSource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1ImageSource_AddRef(ID2D1ImageSource* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1ImageSource_Release(ID2D1ImageSource* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1ImageSource_GetFactory(ID2D1ImageSource* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1ImageSource methods ***/ static inline HRESULT ID2D1ImageSource_OfferResources(ID2D1ImageSource* This) { return This->lpVtbl->OfferResources(This); } static inline HRESULT ID2D1ImageSource_TryReclaimResources(ID2D1ImageSource* This,BOOL *resources_discarded) { return This->lpVtbl->TryReclaimResources(This,resources_discarded); } #endif #endif #endif #endif /* __ID2D1ImageSource_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1ImageSourceFromWic interface */ #ifndef __ID2D1ImageSourceFromWic_INTERFACE_DEFINED__ #define __ID2D1ImageSourceFromWic_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1ImageSourceFromWic, 0x77395441, 0x1c8f, 0x4555, 0x86,0x83, 0xf5,0x0d,0xab,0x0f,0xe7,0x92); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("77395441-1c8f-4555-8683-f50dab0fe792") ID2D1ImageSourceFromWic : public ID2D1ImageSource { virtual HRESULT STDMETHODCALLTYPE EnsureCached( const D2D1_RECT_U *rect_to_fill) = 0; virtual HRESULT STDMETHODCALLTYPE TrimCache( const D2D1_RECT_U *rect_to_preserve) = 0; virtual void STDMETHODCALLTYPE GetSource( IWICBitmapSource **source) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1ImageSourceFromWic, 0x77395441, 0x1c8f, 0x4555, 0x86,0x83, 0xf5,0x0d,0xab,0x0f,0xe7,0x92) #endif #else typedef struct ID2D1ImageSourceFromWicVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1ImageSourceFromWic *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1ImageSourceFromWic *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1ImageSourceFromWic *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1ImageSourceFromWic *This, ID2D1Factory **factory); /*** ID2D1ImageSource methods ***/ HRESULT (STDMETHODCALLTYPE *OfferResources)( ID2D1ImageSourceFromWic *This); HRESULT (STDMETHODCALLTYPE *TryReclaimResources)( ID2D1ImageSourceFromWic *This, BOOL *resources_discarded); /*** ID2D1ImageSourceFromWic methods ***/ HRESULT (STDMETHODCALLTYPE *EnsureCached)( ID2D1ImageSourceFromWic *This, const D2D1_RECT_U *rect_to_fill); HRESULT (STDMETHODCALLTYPE *TrimCache)( ID2D1ImageSourceFromWic *This, const D2D1_RECT_U *rect_to_preserve); void (STDMETHODCALLTYPE *GetSource)( ID2D1ImageSourceFromWic *This, IWICBitmapSource **source); END_INTERFACE } ID2D1ImageSourceFromWicVtbl; interface ID2D1ImageSourceFromWic { CONST_VTBL ID2D1ImageSourceFromWicVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1ImageSourceFromWic_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1ImageSourceFromWic_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1ImageSourceFromWic_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1ImageSourceFromWic_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1ImageSource methods ***/ #define ID2D1ImageSourceFromWic_OfferResources(This) (This)->lpVtbl->OfferResources(This) #define ID2D1ImageSourceFromWic_TryReclaimResources(This,resources_discarded) (This)->lpVtbl->TryReclaimResources(This,resources_discarded) /*** ID2D1ImageSourceFromWic methods ***/ #define ID2D1ImageSourceFromWic_EnsureCached(This,rect_to_fill) (This)->lpVtbl->EnsureCached(This,rect_to_fill) #define ID2D1ImageSourceFromWic_TrimCache(This,rect_to_preserve) (This)->lpVtbl->TrimCache(This,rect_to_preserve) #define ID2D1ImageSourceFromWic_GetSource(This,source) (This)->lpVtbl->GetSource(This,source) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1ImageSourceFromWic_QueryInterface(ID2D1ImageSourceFromWic* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1ImageSourceFromWic_AddRef(ID2D1ImageSourceFromWic* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1ImageSourceFromWic_Release(ID2D1ImageSourceFromWic* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1ImageSourceFromWic_GetFactory(ID2D1ImageSourceFromWic* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1ImageSource methods ***/ static inline HRESULT ID2D1ImageSourceFromWic_OfferResources(ID2D1ImageSourceFromWic* This) { return This->lpVtbl->OfferResources(This); } static inline HRESULT ID2D1ImageSourceFromWic_TryReclaimResources(ID2D1ImageSourceFromWic* This,BOOL *resources_discarded) { return This->lpVtbl->TryReclaimResources(This,resources_discarded); } /*** ID2D1ImageSourceFromWic methods ***/ static inline HRESULT ID2D1ImageSourceFromWic_EnsureCached(ID2D1ImageSourceFromWic* This,const D2D1_RECT_U *rect_to_fill) { return This->lpVtbl->EnsureCached(This,rect_to_fill); } static inline HRESULT ID2D1ImageSourceFromWic_TrimCache(ID2D1ImageSourceFromWic* This,const D2D1_RECT_U *rect_to_preserve) { return This->lpVtbl->TrimCache(This,rect_to_preserve); } static inline void ID2D1ImageSourceFromWic_GetSource(ID2D1ImageSourceFromWic* This,IWICBitmapSource **source) { This->lpVtbl->GetSource(This,source); } #endif #endif #endif #endif /* __ID2D1ImageSourceFromWic_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1TransformedImageSource interface */ #ifndef __ID2D1TransformedImageSource_INTERFACE_DEFINED__ #define __ID2D1TransformedImageSource_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1TransformedImageSource, 0x7f1f79e5, 0x2796, 0x416c, 0x8f,0x55, 0x70,0x0f,0x91,0x14,0x45,0xe5); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7f1f79e5-2796-416c-8f55-700f911445e5") ID2D1TransformedImageSource : public ID2D1Image { virtual void STDMETHODCALLTYPE GetSource( ID2D1ImageSource **source) = 0; virtual void STDMETHODCALLTYPE GetProperties( D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *out) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1TransformedImageSource, 0x7f1f79e5, 0x2796, 0x416c, 0x8f,0x55, 0x70,0x0f,0x91,0x14,0x45,0xe5) #endif #else typedef struct ID2D1TransformedImageSourceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1TransformedImageSource *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1TransformedImageSource *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1TransformedImageSource *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1TransformedImageSource *This, ID2D1Factory **factory); /*** ID2D1TransformedImageSource methods ***/ void (STDMETHODCALLTYPE *GetSource)( ID2D1TransformedImageSource *This, ID2D1ImageSource **source); void (STDMETHODCALLTYPE *GetProperties)( ID2D1TransformedImageSource *This, D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *out); END_INTERFACE } ID2D1TransformedImageSourceVtbl; interface ID2D1TransformedImageSource { CONST_VTBL ID2D1TransformedImageSourceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1TransformedImageSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1TransformedImageSource_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1TransformedImageSource_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1TransformedImageSource_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1TransformedImageSource methods ***/ #define ID2D1TransformedImageSource_GetSource(This,source) (This)->lpVtbl->GetSource(This,source) #define ID2D1TransformedImageSource_GetProperties(This,out) (This)->lpVtbl->GetProperties(This,out) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1TransformedImageSource_QueryInterface(ID2D1TransformedImageSource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1TransformedImageSource_AddRef(ID2D1TransformedImageSource* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1TransformedImageSource_Release(ID2D1TransformedImageSource* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1TransformedImageSource_GetFactory(ID2D1TransformedImageSource* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1TransformedImageSource methods ***/ static inline void ID2D1TransformedImageSource_GetSource(ID2D1TransformedImageSource* This,ID2D1ImageSource **source) { This->lpVtbl->GetSource(This,source); } static inline void ID2D1TransformedImageSource_GetProperties(ID2D1TransformedImageSource* This,D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *out) { This->lpVtbl->GetProperties(This,out); } #endif #endif #endif #endif /* __ID2D1TransformedImageSource_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1LookupTable3D interface */ #ifndef __ID2D1LookupTable3D_INTERFACE_DEFINED__ #define __ID2D1LookupTable3D_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1LookupTable3D, 0x53dd9855, 0xa3b0, 0x4d5b, 0x82,0xe1, 0x26,0xe2,0x5c,0x5e,0x57,0x97); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("53dd9855-a3b0-4d5b-82e1-26e25c5e5797") ID2D1LookupTable3D : public ID2D1Resource { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1LookupTable3D, 0x53dd9855, 0xa3b0, 0x4d5b, 0x82,0xe1, 0x26,0xe2,0x5c,0x5e,0x57,0x97) #endif #else typedef struct ID2D1LookupTable3DVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1LookupTable3D *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1LookupTable3D *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1LookupTable3D *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1LookupTable3D *This, ID2D1Factory **factory); END_INTERFACE } ID2D1LookupTable3DVtbl; interface ID2D1LookupTable3D { CONST_VTBL ID2D1LookupTable3DVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1LookupTable3D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1LookupTable3D_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1LookupTable3D_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1LookupTable3D_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1LookupTable3D_QueryInterface(ID2D1LookupTable3D* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1LookupTable3D_AddRef(ID2D1LookupTable3D* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1LookupTable3D_Release(ID2D1LookupTable3D* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1LookupTable3D_GetFactory(ID2D1LookupTable3D* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } #endif #endif #endif #endif /* __ID2D1LookupTable3D_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1SpriteBatch interface */ #ifndef __ID2D1SpriteBatch_INTERFACE_DEFINED__ #define __ID2D1SpriteBatch_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1SpriteBatch, 0x4dc583bf, 0x3a10, 0x438a, 0x87,0x22, 0xe9,0x76,0x52,0x24,0xf1,0xf1); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("4dc583bf-3a10-438a-8722-e9765224f1f1") ID2D1SpriteBatch : public ID2D1Resource { virtual HRESULT STDMETHODCALLTYPE AddSprites( UINT32 sprite_count, const D2D1_RECT_F *destination_rectangles, const D2D1_RECT_U *source_rectangles, const D2D1_COLOR_F *colors, const D2D1_MATRIX_3X2_F *transforms, UINT32 destination_rectangles_stride, UINT32 source_rectangles_stride, UINT32 colors_stride, UINT32 transforms_stride) = 0; virtual HRESULT STDMETHODCALLTYPE SetSprites( UINT32 start_index, UINT32 sprite_count, const D2D1_RECT_F *destination_rectangles, const D2D1_RECT_U *source_rectangles, const D2D1_COLOR_F *colors, const D2D1_MATRIX_3X2_F *transforms, UINT32 destination_rectangles_stride, UINT32 source_rectangles_stride, UINT32 colors_stride, UINT32 transforms_stride) = 0; virtual HRESULT STDMETHODCALLTYPE GetSprites( UINT32 start_index, UINT32 sprite_count, D2D1_RECT_F *destination_rectangles, D2D1_RECT_U *source_rectangles, D2D1_COLOR_F *colors, D2D1_MATRIX_3X2_F *transforms) = 0; virtual UINT32 STDMETHODCALLTYPE GetSpriteCount( ) = 0; virtual void STDMETHODCALLTYPE Clear( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1SpriteBatch, 0x4dc583bf, 0x3a10, 0x438a, 0x87,0x22, 0xe9,0x76,0x52,0x24,0xf1,0xf1) #endif #else typedef struct ID2D1SpriteBatchVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1SpriteBatch *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1SpriteBatch *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1SpriteBatch *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1SpriteBatch *This, ID2D1Factory **factory); /*** ID2D1SpriteBatch methods ***/ HRESULT (STDMETHODCALLTYPE *AddSprites)( ID2D1SpriteBatch *This, UINT32 sprite_count, const D2D1_RECT_F *destination_rectangles, const D2D1_RECT_U *source_rectangles, const D2D1_COLOR_F *colors, const D2D1_MATRIX_3X2_F *transforms, UINT32 destination_rectangles_stride, UINT32 source_rectangles_stride, UINT32 colors_stride, UINT32 transforms_stride); HRESULT (STDMETHODCALLTYPE *SetSprites)( ID2D1SpriteBatch *This, UINT32 start_index, UINT32 sprite_count, const D2D1_RECT_F *destination_rectangles, const D2D1_RECT_U *source_rectangles, const D2D1_COLOR_F *colors, const D2D1_MATRIX_3X2_F *transforms, UINT32 destination_rectangles_stride, UINT32 source_rectangles_stride, UINT32 colors_stride, UINT32 transforms_stride); HRESULT (STDMETHODCALLTYPE *GetSprites)( ID2D1SpriteBatch *This, UINT32 start_index, UINT32 sprite_count, D2D1_RECT_F *destination_rectangles, D2D1_RECT_U *source_rectangles, D2D1_COLOR_F *colors, D2D1_MATRIX_3X2_F *transforms); UINT32 (STDMETHODCALLTYPE *GetSpriteCount)( ID2D1SpriteBatch *This); void (STDMETHODCALLTYPE *Clear)( ID2D1SpriteBatch *This); END_INTERFACE } ID2D1SpriteBatchVtbl; interface ID2D1SpriteBatch { CONST_VTBL ID2D1SpriteBatchVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1SpriteBatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1SpriteBatch_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1SpriteBatch_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1SpriteBatch_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1SpriteBatch methods ***/ #define ID2D1SpriteBatch_AddSprites(This,sprite_count,destination_rectangles,source_rectangles,colors,transforms,destination_rectangles_stride,source_rectangles_stride,colors_stride,transforms_stride) (This)->lpVtbl->AddSprites(This,sprite_count,destination_rectangles,source_rectangles,colors,transforms,destination_rectangles_stride,source_rectangles_stride,colors_stride,transforms_stride) #define ID2D1SpriteBatch_SetSprites(This,start_index,sprite_count,destination_rectangles,source_rectangles,colors,transforms,destination_rectangles_stride,source_rectangles_stride,colors_stride,transforms_stride) (This)->lpVtbl->SetSprites(This,start_index,sprite_count,destination_rectangles,source_rectangles,colors,transforms,destination_rectangles_stride,source_rectangles_stride,colors_stride,transforms_stride) #define ID2D1SpriteBatch_GetSprites(This,start_index,sprite_count,destination_rectangles,source_rectangles,colors,transforms) (This)->lpVtbl->GetSprites(This,start_index,sprite_count,destination_rectangles,source_rectangles,colors,transforms) #define ID2D1SpriteBatch_GetSpriteCount(This) (This)->lpVtbl->GetSpriteCount(This) #define ID2D1SpriteBatch_Clear(This) (This)->lpVtbl->Clear(This) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1SpriteBatch_QueryInterface(ID2D1SpriteBatch* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1SpriteBatch_AddRef(ID2D1SpriteBatch* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1SpriteBatch_Release(ID2D1SpriteBatch* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1SpriteBatch_GetFactory(ID2D1SpriteBatch* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1SpriteBatch methods ***/ static inline HRESULT ID2D1SpriteBatch_AddSprites(ID2D1SpriteBatch* This,UINT32 sprite_count,const D2D1_RECT_F *destination_rectangles,const D2D1_RECT_U *source_rectangles,const D2D1_COLOR_F *colors,const D2D1_MATRIX_3X2_F *transforms,UINT32 destination_rectangles_stride,UINT32 source_rectangles_stride,UINT32 colors_stride,UINT32 transforms_stride) { return This->lpVtbl->AddSprites(This,sprite_count,destination_rectangles,source_rectangles,colors,transforms,destination_rectangles_stride,source_rectangles_stride,colors_stride,transforms_stride); } static inline HRESULT ID2D1SpriteBatch_SetSprites(ID2D1SpriteBatch* This,UINT32 start_index,UINT32 sprite_count,const D2D1_RECT_F *destination_rectangles,const D2D1_RECT_U *source_rectangles,const D2D1_COLOR_F *colors,const D2D1_MATRIX_3X2_F *transforms,UINT32 destination_rectangles_stride,UINT32 source_rectangles_stride,UINT32 colors_stride,UINT32 transforms_stride) { return This->lpVtbl->SetSprites(This,start_index,sprite_count,destination_rectangles,source_rectangles,colors,transforms,destination_rectangles_stride,source_rectangles_stride,colors_stride,transforms_stride); } static inline HRESULT ID2D1SpriteBatch_GetSprites(ID2D1SpriteBatch* This,UINT32 start_index,UINT32 sprite_count,D2D1_RECT_F *destination_rectangles,D2D1_RECT_U *source_rectangles,D2D1_COLOR_F *colors,D2D1_MATRIX_3X2_F *transforms) { return This->lpVtbl->GetSprites(This,start_index,sprite_count,destination_rectangles,source_rectangles,colors,transforms); } static inline UINT32 ID2D1SpriteBatch_GetSpriteCount(ID2D1SpriteBatch* This) { return This->lpVtbl->GetSpriteCount(This); } static inline void ID2D1SpriteBatch_Clear(ID2D1SpriteBatch* This) { This->lpVtbl->Clear(This); } #endif #endif #endif #endif /* __ID2D1SpriteBatch_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1SvgGlyphStyle interface */ #ifndef __ID2D1SvgGlyphStyle_INTERFACE_DEFINED__ #define __ID2D1SvgGlyphStyle_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1SvgGlyphStyle, 0xaf671749, 0xd241, 0x4db8, 0x8e,0x41, 0xdc,0xc2,0xe5,0xc1,0xa4,0x38); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("af671749-d241-4db8-8e41-dcc2e5c1a438") ID2D1SvgGlyphStyle : public ID2D1Resource { virtual HRESULT STDMETHODCALLTYPE SetFill( ID2D1Brush *brush) = 0; virtual void STDMETHODCALLTYPE GetFill( ID2D1Brush **brush) = 0; virtual HRESULT STDMETHODCALLTYPE SetStroke( ID2D1Brush *brush, FLOAT stroke_width, const FLOAT *dashes, UINT32 dashes_count, FLOAT dash_offset) = 0; virtual UINT32 STDMETHODCALLTYPE GetStrokeDashesCount( ) = 0; virtual void STDMETHODCALLTYPE GetStroke( ID2D1Brush **brush, FLOAT *stroke_width, FLOAT *dashes, UINT32 dashes_count, FLOAT *dash_offset) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1SvgGlyphStyle, 0xaf671749, 0xd241, 0x4db8, 0x8e,0x41, 0xdc,0xc2,0xe5,0xc1,0xa4,0x38) #endif #else typedef struct ID2D1SvgGlyphStyleVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1SvgGlyphStyle *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1SvgGlyphStyle *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1SvgGlyphStyle *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1SvgGlyphStyle *This, ID2D1Factory **factory); /*** ID2D1SvgGlyphStyle methods ***/ HRESULT (STDMETHODCALLTYPE *SetFill)( ID2D1SvgGlyphStyle *This, ID2D1Brush *brush); void (STDMETHODCALLTYPE *GetFill)( ID2D1SvgGlyphStyle *This, ID2D1Brush **brush); HRESULT (STDMETHODCALLTYPE *SetStroke)( ID2D1SvgGlyphStyle *This, ID2D1Brush *brush, FLOAT stroke_width, const FLOAT *dashes, UINT32 dashes_count, FLOAT dash_offset); UINT32 (STDMETHODCALLTYPE *GetStrokeDashesCount)( ID2D1SvgGlyphStyle *This); void (STDMETHODCALLTYPE *GetStroke)( ID2D1SvgGlyphStyle *This, ID2D1Brush **brush, FLOAT *stroke_width, FLOAT *dashes, UINT32 dashes_count, FLOAT *dash_offset); END_INTERFACE } ID2D1SvgGlyphStyleVtbl; interface ID2D1SvgGlyphStyle { CONST_VTBL ID2D1SvgGlyphStyleVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1SvgGlyphStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1SvgGlyphStyle_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1SvgGlyphStyle_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1SvgGlyphStyle_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1SvgGlyphStyle methods ***/ #define ID2D1SvgGlyphStyle_SetFill(This,brush) (This)->lpVtbl->SetFill(This,brush) #define ID2D1SvgGlyphStyle_GetFill(This,brush) (This)->lpVtbl->GetFill(This,brush) #define ID2D1SvgGlyphStyle_SetStroke(This,brush,stroke_width,dashes,dashes_count,dash_offset) (This)->lpVtbl->SetStroke(This,brush,stroke_width,dashes,dashes_count,dash_offset) #define ID2D1SvgGlyphStyle_GetStrokeDashesCount(This) (This)->lpVtbl->GetStrokeDashesCount(This) #define ID2D1SvgGlyphStyle_GetStroke(This,brush,stroke_width,dashes,dashes_count,dash_offset) (This)->lpVtbl->GetStroke(This,brush,stroke_width,dashes,dashes_count,dash_offset) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1SvgGlyphStyle_QueryInterface(ID2D1SvgGlyphStyle* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1SvgGlyphStyle_AddRef(ID2D1SvgGlyphStyle* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1SvgGlyphStyle_Release(ID2D1SvgGlyphStyle* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1SvgGlyphStyle_GetFactory(ID2D1SvgGlyphStyle* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1SvgGlyphStyle methods ***/ static inline HRESULT ID2D1SvgGlyphStyle_SetFill(ID2D1SvgGlyphStyle* This,ID2D1Brush *brush) { return This->lpVtbl->SetFill(This,brush); } static inline void ID2D1SvgGlyphStyle_GetFill(ID2D1SvgGlyphStyle* This,ID2D1Brush **brush) { This->lpVtbl->GetFill(This,brush); } static inline HRESULT ID2D1SvgGlyphStyle_SetStroke(ID2D1SvgGlyphStyle* This,ID2D1Brush *brush,FLOAT stroke_width,const FLOAT *dashes,UINT32 dashes_count,FLOAT dash_offset) { return This->lpVtbl->SetStroke(This,brush,stroke_width,dashes,dashes_count,dash_offset); } static inline UINT32 ID2D1SvgGlyphStyle_GetStrokeDashesCount(ID2D1SvgGlyphStyle* This) { return This->lpVtbl->GetStrokeDashesCount(This); } static inline void ID2D1SvgGlyphStyle_GetStroke(ID2D1SvgGlyphStyle* This,ID2D1Brush **brush,FLOAT *stroke_width,FLOAT *dashes,UINT32 dashes_count,FLOAT *dash_offset) { This->lpVtbl->GetStroke(This,brush,stroke_width,dashes,dashes_count,dash_offset); } #endif #endif #endif #endif /* __ID2D1SvgGlyphStyle_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1DeviceContext2 interface */ #ifndef __ID2D1DeviceContext2_INTERFACE_DEFINED__ #define __ID2D1DeviceContext2_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1DeviceContext2, 0x394ea6a3, 0x0c34, 0x4321, 0x95,0x0b, 0x6c,0xa2,0x0f,0x0b,0xe6,0xc7); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("394ea6a3-0c34-4321-950b-6ca20f0be6c7") ID2D1DeviceContext2 : public ID2D1DeviceContext1 { virtual HRESULT STDMETHODCALLTYPE CreateInk( const D2D1_INK_POINT *start_point, ID2D1Ink **ink) = 0; virtual HRESULT STDMETHODCALLTYPE CreateInkStyle( const D2D1_INK_STYLE_PROPERTIES *ink_style_properties, ID2D1InkStyle **ink_style) = 0; virtual HRESULT STDMETHODCALLTYPE CreateGradientMesh( const D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patches_count, ID2D1GradientMesh **gradient_mesh) = 0; virtual HRESULT STDMETHODCALLTYPE CreateImageSourceFromWic( IWICBitmapSource *wic_bitmap_source, D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options, D2D1_ALPHA_MODE alpha_mode, ID2D1ImageSourceFromWic **image_source) = 0; virtual HRESULT STDMETHODCALLTYPE CreateLookupTable3D( D2D1_BUFFER_PRECISION precision, const UINT32 *extents, const BYTE *data, UINT32 data_count, const UINT32 *strides, ID2D1LookupTable3D **lookup_table) = 0; virtual HRESULT STDMETHODCALLTYPE CreateImageSourceFromDxgi( IDXGISurface **surfaces, UINT32 surface_count, DXGI_COLOR_SPACE_TYPE color_space, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options, ID2D1ImageSource **image_source) = 0; virtual HRESULT STDMETHODCALLTYPE GetGradientMeshWorldBounds( ID2D1GradientMesh *gradient_mesh, D2D1_RECT_F *bounds) = 0; virtual void STDMETHODCALLTYPE DrawInk( ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style) = 0; virtual void STDMETHODCALLTYPE DrawGradientMesh( ID2D1GradientMesh *gradient_mesh) = 0; virtual void STDMETHODCALLTYPE DrawGdiMetafile( ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect) = 0; virtual HRESULT STDMETHODCALLTYPE CreateTransformedImageSource( ID2D1ImageSource *source, const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props, ID2D1TransformedImageSource **transformed) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1DeviceContext2, 0x394ea6a3, 0x0c34, 0x4321, 0x95,0x0b, 0x6c,0xa2,0x0f,0x0b,0xe6,0xc7) #endif #else typedef struct ID2D1DeviceContext2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1DeviceContext2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1DeviceContext2 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1DeviceContext2 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1DeviceContext2 *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1DeviceContext2 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1DeviceContext2 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1DeviceContext2 *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1DeviceContext2 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1DeviceContext2 *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1DeviceContext2 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1DeviceContext2 *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1DeviceContext2 *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1DeviceContext2 *This, const D2D1_SIZE_F *size, const D2D1_SIZE_U *pixel_size, const D2D1_PIXEL_FORMAT *format, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateLayer)( ID2D1DeviceContext2 *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1DeviceContext2 *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1DeviceContext2 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1DeviceContext2 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1DeviceContext2 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1DeviceContext2 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1DeviceContext2 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1DeviceContext2 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1DeviceContext2 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1DeviceContext2 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1DeviceContext2 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1DeviceContext2 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1DeviceContext2 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawBitmap)( ID2D1DeviceContext2 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawText)( ID2D1DeviceContext2 *This, const WCHAR *string, UINT32 string_len, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawTextLayout)( ID2D1DeviceContext2 *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1DeviceContext2 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1DeviceContext2 *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1DeviceContext2 *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1DeviceContext2 *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1DeviceContext2 *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1DeviceContext2 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1DeviceContext2 *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1DeviceContext2 *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1DeviceContext2 *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1DeviceContext2 *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1DeviceContext2 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1DeviceContext2 *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1DeviceContext2 *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1DeviceContext2 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1DeviceContext2 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1DeviceContext2 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1DeviceContext2 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1DeviceContext2 *This); void (STDMETHODCALLTYPE *Clear)( ID2D1DeviceContext2 *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1DeviceContext2 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1DeviceContext2 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1DeviceContext2 *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1DeviceContext2 *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1DeviceContext2 *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1DeviceContext2 *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1DeviceContext2 *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1DeviceContext2 *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1DeviceContext2 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1DeviceContext methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmap)( ID2D1DeviceContext2 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapFromWicBitmap)( ID2D1DeviceContext2 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateColorContext)( ID2D1DeviceContext2 *This, D2D1_COLOR_SPACE space, const BYTE *profile, UINT32 profile_size, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromFilename)( ID2D1DeviceContext2 *This, const WCHAR *filename, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromWicColorContext)( ID2D1DeviceContext2 *This, IWICColorContext *wic_color_context, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromDxgiSurface)( ID2D1DeviceContext2 *This, IDXGISurface *surface, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateEffect)( ID2D1DeviceContext2 *This, REFCLSID effect_id, ID2D1Effect **effect); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateGradientStopCollection)( ID2D1DeviceContext2 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_COLOR_SPACE preinterpolation_space, D2D1_COLOR_SPACE postinterpolation_space, D2D1_BUFFER_PRECISION buffer_precision, D2D1_EXTEND_MODE extend_mode, D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode, ID2D1GradientStopCollection1 **gradient); HRESULT (STDMETHODCALLTYPE *CreateImageBrush)( ID2D1DeviceContext2 *This, ID2D1Image *image, const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1ImageBrush **brush); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapBrush)( ID2D1DeviceContext2 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush1 **bitmap_brush); HRESULT (STDMETHODCALLTYPE *CreateCommandList)( ID2D1DeviceContext2 *This, ID2D1CommandList **command_list); BOOL (STDMETHODCALLTYPE *IsDxgiFormatSupported)( ID2D1DeviceContext2 *This, DXGI_FORMAT format); BOOL (STDMETHODCALLTYPE *IsBufferPrecisionSupported)( ID2D1DeviceContext2 *This, D2D1_BUFFER_PRECISION buffer_precision); HRESULT (STDMETHODCALLTYPE *GetImageLocalBounds)( ID2D1DeviceContext2 *This, ID2D1Image *image, D2D1_RECT_F *local_bounds); HRESULT (STDMETHODCALLTYPE *GetImageWorldBounds)( ID2D1DeviceContext2 *This, ID2D1Image *image, D2D1_RECT_F *world_bounds); HRESULT (STDMETHODCALLTYPE *GetGlyphRunWorldBounds)( ID2D1DeviceContext2 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *GetDevice)( ID2D1DeviceContext2 *This, ID2D1Device **device); void (STDMETHODCALLTYPE *SetTarget)( ID2D1DeviceContext2 *This, ID2D1Image *target); void (STDMETHODCALLTYPE *GetTarget)( ID2D1DeviceContext2 *This, ID2D1Image **target); void (STDMETHODCALLTYPE *SetRenderingControls)( ID2D1DeviceContext2 *This, const D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *GetRenderingControls)( ID2D1DeviceContext2 *This, D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1DeviceContext2 *This, D2D1_PRIMITIVE_BLEND primitive_blend); D2D1_PRIMITIVE_BLEND (STDMETHODCALLTYPE *GetPrimitiveBlend)( ID2D1DeviceContext2 *This); void (STDMETHODCALLTYPE *SetUnitMode)( ID2D1DeviceContext2 *This, D2D1_UNIT_MODE unit_mode); D2D1_UNIT_MODE (STDMETHODCALLTYPE *GetUnitMode)( ID2D1DeviceContext2 *This); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawGlyphRun)( ID2D1DeviceContext2 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawImage)( ID2D1DeviceContext2 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); void (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1DeviceContext2 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawBitmap)( ID2D1DeviceContext2 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); void (STDMETHODCALLTYPE *ID2D1DeviceContext_PushLayer)( ID2D1DeviceContext2 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *InvalidateEffectInputRectangle)( ID2D1DeviceContext2 *This, ID2D1Effect *effect, UINT32 input, const D2D1_RECT_F *input_rect); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangleCount)( ID2D1DeviceContext2 *This, ID2D1Effect *effect, UINT32 *rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangles)( ID2D1DeviceContext2 *This, ID2D1Effect *effect, D2D1_RECT_F *rectangles, UINT32 rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectRequiredInputRectangles)( ID2D1DeviceContext2 *This, ID2D1Effect *effect, const D2D1_RECT_F *image_rect, const D2D1_EFFECT_INPUT_DESCRIPTION *desc, D2D1_RECT_F *input_rect, UINT32 input_count); void (STDMETHODCALLTYPE *ID2D1DeviceContext_FillOpacityMask)( ID2D1DeviceContext2 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); /*** ID2D1DeviceContext1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFilledGeometryRealization)( ID2D1DeviceContext2 *This, ID2D1Geometry *geometry, float tolerance, ID2D1GeometryRealization **realization); HRESULT (STDMETHODCALLTYPE *CreateStrokedGeometryRealization)( ID2D1DeviceContext2 *This, ID2D1Geometry *geometry, float tolerance, float stroke_width, ID2D1StrokeStyle *stroke_style, ID2D1GeometryRealization **realization); void (STDMETHODCALLTYPE *DrawGeometryRealization)( ID2D1DeviceContext2 *This, ID2D1GeometryRealization *realization, ID2D1Brush *brush); /*** ID2D1DeviceContext2 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateInk)( ID2D1DeviceContext2 *This, const D2D1_INK_POINT *start_point, ID2D1Ink **ink); HRESULT (STDMETHODCALLTYPE *CreateInkStyle)( ID2D1DeviceContext2 *This, const D2D1_INK_STYLE_PROPERTIES *ink_style_properties, ID2D1InkStyle **ink_style); HRESULT (STDMETHODCALLTYPE *CreateGradientMesh)( ID2D1DeviceContext2 *This, const D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patches_count, ID2D1GradientMesh **gradient_mesh); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromWic)( ID2D1DeviceContext2 *This, IWICBitmapSource *wic_bitmap_source, D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options, D2D1_ALPHA_MODE alpha_mode, ID2D1ImageSourceFromWic **image_source); HRESULT (STDMETHODCALLTYPE *CreateLookupTable3D)( ID2D1DeviceContext2 *This, D2D1_BUFFER_PRECISION precision, const UINT32 *extents, const BYTE *data, UINT32 data_count, const UINT32 *strides, ID2D1LookupTable3D **lookup_table); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromDxgi)( ID2D1DeviceContext2 *This, IDXGISurface **surfaces, UINT32 surface_count, DXGI_COLOR_SPACE_TYPE color_space, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options, ID2D1ImageSource **image_source); HRESULT (STDMETHODCALLTYPE *GetGradientMeshWorldBounds)( ID2D1DeviceContext2 *This, ID2D1GradientMesh *gradient_mesh, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *DrawInk)( ID2D1DeviceContext2 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); void (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1DeviceContext2 *This, ID2D1GradientMesh *gradient_mesh); void (STDMETHODCALLTYPE *ID2D1DeviceContext2_DrawGdiMetafile)( ID2D1DeviceContext2 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *CreateTransformedImageSource)( ID2D1DeviceContext2 *This, ID2D1ImageSource *source, const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props, ID2D1TransformedImageSource **transformed); END_INTERFACE } ID2D1DeviceContext2Vtbl; interface ID2D1DeviceContext2 { CONST_VTBL ID2D1DeviceContext2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1DeviceContext2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1DeviceContext2_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1DeviceContext2_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1DeviceContext2_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1DeviceContext2_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1DeviceContext2_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1DeviceContext2_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext2_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext2_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1DeviceContext2_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1DeviceContext2_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1DeviceContext2_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1DeviceContext2_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext2_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1DeviceContext2_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext2_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1DeviceContext2_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1DeviceContext2_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1DeviceContext2_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1DeviceContext2_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1DeviceContext2_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1DeviceContext2_DrawText(This,string,string_len,text_format,layout_rect,brush,options,measuring_mode) (This)->lpVtbl->DrawText(This,string,string_len,text_format,layout_rect,brush,options,measuring_mode) #define ID2D1DeviceContext2_DrawTextLayout(This,origin,layout,brush,options) (This)->lpVtbl->DrawTextLayout(This,origin,layout,brush,options) #define ID2D1DeviceContext2_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1DeviceContext2_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1DeviceContext2_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext2_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1DeviceContext2_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext2_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1DeviceContext2_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext2_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext2_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1DeviceContext2_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1DeviceContext2_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1DeviceContext2_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1DeviceContext2_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1DeviceContext2_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1DeviceContext2_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1DeviceContext2_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1DeviceContext2_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1DeviceContext2_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1DeviceContext2_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1DeviceContext2_GetPixelFormat(This) ID2D1DeviceContext2_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext2_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext2_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext2_GetSize(This) ID2D1DeviceContext2_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext2_GetPixelSize(This) ID2D1DeviceContext2_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext2_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1DeviceContext2_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1DeviceContext methods ***/ #define ID2D1DeviceContext2_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1DeviceContext2_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1DeviceContext2_CreateColorContext(This,space,profile,profile_size,color_context) (This)->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context) #define ID2D1DeviceContext2_CreateColorContextFromFilename(This,filename,color_context) (This)->lpVtbl->CreateColorContextFromFilename(This,filename,color_context) #define ID2D1DeviceContext2_CreateColorContextFromWicColorContext(This,wic_color_context,color_context) (This)->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context) #define ID2D1DeviceContext2_CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) (This)->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) #define ID2D1DeviceContext2_CreateEffect(This,effect_id,effect) (This)->lpVtbl->CreateEffect(This,effect_id,effect) #define ID2D1DeviceContext2_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) (This)->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) #define ID2D1DeviceContext2_CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) #define ID2D1DeviceContext2_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) #define ID2D1DeviceContext2_CreateCommandList(This,command_list) (This)->lpVtbl->CreateCommandList(This,command_list) #define ID2D1DeviceContext2_IsDxgiFormatSupported(This,format) (This)->lpVtbl->IsDxgiFormatSupported(This,format) #define ID2D1DeviceContext2_IsBufferPrecisionSupported(This,buffer_precision) (This)->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision) #define ID2D1DeviceContext2_GetImageLocalBounds(This,image,local_bounds) (This)->lpVtbl->GetImageLocalBounds(This,image,local_bounds) #define ID2D1DeviceContext2_GetImageWorldBounds(This,image,world_bounds) (This)->lpVtbl->GetImageWorldBounds(This,image,world_bounds) #define ID2D1DeviceContext2_GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) (This)->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) #define ID2D1DeviceContext2_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define ID2D1DeviceContext2_SetTarget(This,target) (This)->lpVtbl->SetTarget(This,target) #define ID2D1DeviceContext2_GetTarget(This,target) (This)->lpVtbl->GetTarget(This,target) #define ID2D1DeviceContext2_SetRenderingControls(This,rendering_controls) (This)->lpVtbl->SetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext2_GetRenderingControls(This,rendering_controls) (This)->lpVtbl->GetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext2_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1DeviceContext2_GetPrimitiveBlend(This) (This)->lpVtbl->GetPrimitiveBlend(This) #define ID2D1DeviceContext2_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1DeviceContext2_GetUnitMode(This) (This)->lpVtbl->GetUnitMode(This) #define ID2D1DeviceContext2_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1DeviceContext2_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1DeviceContext2_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1DeviceContext2_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer) #define ID2D1DeviceContext2_InvalidateEffectInputRectangle(This,effect,input,input_rect) (This)->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect) #define ID2D1DeviceContext2_GetEffectInvalidRectangleCount(This,effect,rect_count) (This)->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count) #define ID2D1DeviceContext2_GetEffectInvalidRectangles(This,effect,rectangles,rect_count) (This)->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count) #define ID2D1DeviceContext2_GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) (This)->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) #define ID2D1DeviceContext2_FillOpacityMask(This,mask,brush,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect) /*** ID2D1DeviceContext1 methods ***/ #define ID2D1DeviceContext2_CreateFilledGeometryRealization(This,geometry,tolerance,realization) (This)->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization) #define ID2D1DeviceContext2_CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) (This)->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) #define ID2D1DeviceContext2_DrawGeometryRealization(This,realization,brush) (This)->lpVtbl->DrawGeometryRealization(This,realization,brush) /*** ID2D1DeviceContext2 methods ***/ #define ID2D1DeviceContext2_CreateInk(This,start_point,ink) (This)->lpVtbl->CreateInk(This,start_point,ink) #define ID2D1DeviceContext2_CreateInkStyle(This,ink_style_properties,ink_style) (This)->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style) #define ID2D1DeviceContext2_CreateGradientMesh(This,patches,patches_count,gradient_mesh) (This)->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh) #define ID2D1DeviceContext2_CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) (This)->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) #define ID2D1DeviceContext2_CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) (This)->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) #define ID2D1DeviceContext2_CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) (This)->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) #define ID2D1DeviceContext2_GetGradientMeshWorldBounds(This,gradient_mesh,bounds) (This)->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds) #define ID2D1DeviceContext2_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1DeviceContext2_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) #define ID2D1DeviceContext2_CreateTransformedImageSource(This,source,props,transformed) (This)->lpVtbl->CreateTransformedImageSource(This,source,props,transformed) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1DeviceContext2_QueryInterface(ID2D1DeviceContext2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1DeviceContext2_AddRef(ID2D1DeviceContext2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1DeviceContext2_Release(ID2D1DeviceContext2* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1DeviceContext2_GetFactory(ID2D1DeviceContext2* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1DeviceContext2_CreateSharedBitmap(ID2D1DeviceContext2* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1DeviceContext2_CreateSolidColorBrush(ID2D1DeviceContext2* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1DeviceContext2_CreateLinearGradientBrush(ID2D1DeviceContext2* This,const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1LinearGradientBrush **brush) { return This->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext2_CreateRadialGradientBrush(ID2D1DeviceContext2* This,const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1RadialGradientBrush **brush) { return This->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext2_CreateCompatibleRenderTarget(ID2D1DeviceContext2* This,const D2D1_SIZE_F *size,const D2D1_SIZE_U *pixel_size,const D2D1_PIXEL_FORMAT *format,D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,ID2D1BitmapRenderTarget **render_target) { return This->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target); } static inline HRESULT ID2D1DeviceContext2_CreateLayer(ID2D1DeviceContext2* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1DeviceContext2_CreateMesh(ID2D1DeviceContext2* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1DeviceContext2_DrawLine(ID2D1DeviceContext2* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext2_DrawRectangle(ID2D1DeviceContext2* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext2_FillRectangle(ID2D1DeviceContext2* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1DeviceContext2_DrawRoundedRectangle(ID2D1DeviceContext2* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext2_FillRoundedRectangle(ID2D1DeviceContext2* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1DeviceContext2_DrawEllipse(ID2D1DeviceContext2* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext2_FillEllipse(ID2D1DeviceContext2* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1DeviceContext2_DrawGeometry(ID2D1DeviceContext2* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext2_FillGeometry(ID2D1DeviceContext2* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1DeviceContext2_FillMesh(ID2D1DeviceContext2* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1DeviceContext2_DrawText(ID2D1DeviceContext2* This,const WCHAR *string,UINT32 string_len,IDWriteTextFormat *text_format,const D2D1_RECT_F *layout_rect,ID2D1Brush *brush,D2D1_DRAW_TEXT_OPTIONS options,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawText(This,string,string_len,text_format,layout_rect,brush,options,measuring_mode); } static inline void ID2D1DeviceContext2_DrawTextLayout(ID2D1DeviceContext2* This,D2D1_POINT_2F origin,IDWriteTextLayout *layout,ID2D1Brush *brush,D2D1_DRAW_TEXT_OPTIONS options) { This->lpVtbl->DrawTextLayout(This,origin,layout,brush,options); } static inline void ID2D1DeviceContext2_SetTransform(ID2D1DeviceContext2* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1DeviceContext2_GetTransform(ID2D1DeviceContext2* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1DeviceContext2_SetAntialiasMode(ID2D1DeviceContext2* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1DeviceContext2_GetAntialiasMode(ID2D1DeviceContext2* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1DeviceContext2_SetTextAntialiasMode(ID2D1DeviceContext2* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1DeviceContext2_GetTextAntialiasMode(ID2D1DeviceContext2* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1DeviceContext2_SetTextRenderingParams(ID2D1DeviceContext2* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext2_GetTextRenderingParams(ID2D1DeviceContext2* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext2_SetTags(ID2D1DeviceContext2* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext2_GetTags(ID2D1DeviceContext2* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext2_PopLayer(ID2D1DeviceContext2* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1DeviceContext2_Flush(ID2D1DeviceContext2* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1DeviceContext2_SaveDrawingState(ID2D1DeviceContext2* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1DeviceContext2_RestoreDrawingState(ID2D1DeviceContext2* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1DeviceContext2_PushAxisAlignedClip(ID2D1DeviceContext2* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1DeviceContext2_PopAxisAlignedClip(ID2D1DeviceContext2* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1DeviceContext2_Clear(ID2D1DeviceContext2* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1DeviceContext2_BeginDraw(ID2D1DeviceContext2* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1DeviceContext2_EndDraw(ID2D1DeviceContext2* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1DeviceContext2_GetPixelFormat(ID2D1DeviceContext2* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1DeviceContext2_SetDpi(ID2D1DeviceContext2* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1DeviceContext2_GetDpi(ID2D1DeviceContext2* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1DeviceContext2_GetSize(ID2D1DeviceContext2* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1DeviceContext2_GetPixelSize(ID2D1DeviceContext2* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1DeviceContext2_GetMaximumBitmapSize(ID2D1DeviceContext2* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1DeviceContext2_IsSupported(ID2D1DeviceContext2* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1DeviceContext methods ***/ static inline HRESULT ID2D1DeviceContext2_CreateBitmap(ID2D1DeviceContext2* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1DeviceContext2_CreateBitmapFromWicBitmap(ID2D1DeviceContext2* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1DeviceContext2_CreateColorContext(ID2D1DeviceContext2* This,D2D1_COLOR_SPACE space,const BYTE *profile,UINT32 profile_size,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context); } static inline HRESULT ID2D1DeviceContext2_CreateColorContextFromFilename(ID2D1DeviceContext2* This,const WCHAR *filename,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromFilename(This,filename,color_context); } static inline HRESULT ID2D1DeviceContext2_CreateColorContextFromWicColorContext(ID2D1DeviceContext2* This,IWICColorContext *wic_color_context,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context); } static inline HRESULT ID2D1DeviceContext2_CreateBitmapFromDxgiSurface(ID2D1DeviceContext2* This,IDXGISurface *surface,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap); } static inline HRESULT ID2D1DeviceContext2_CreateEffect(ID2D1DeviceContext2* This,REFCLSID effect_id,ID2D1Effect **effect) { return This->lpVtbl->CreateEffect(This,effect_id,effect); } static inline HRESULT ID2D1DeviceContext2_CreateGradientStopCollection(ID2D1DeviceContext2* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_COLOR_SPACE preinterpolation_space,D2D1_COLOR_SPACE postinterpolation_space,D2D1_BUFFER_PRECISION buffer_precision,D2D1_EXTEND_MODE extend_mode,D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode,ID2D1GradientStopCollection1 **gradient) { return This->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient); } static inline HRESULT ID2D1DeviceContext2_CreateImageBrush(ID2D1DeviceContext2* This,ID2D1Image *image,const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1ImageBrush **brush) { return This->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1DeviceContext2_CreateBitmapBrush(ID2D1DeviceContext2* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush1 **bitmap_brush) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush); } static inline HRESULT ID2D1DeviceContext2_CreateCommandList(ID2D1DeviceContext2* This,ID2D1CommandList **command_list) { return This->lpVtbl->CreateCommandList(This,command_list); } static inline BOOL ID2D1DeviceContext2_IsDxgiFormatSupported(ID2D1DeviceContext2* This,DXGI_FORMAT format) { return This->lpVtbl->IsDxgiFormatSupported(This,format); } static inline BOOL ID2D1DeviceContext2_IsBufferPrecisionSupported(ID2D1DeviceContext2* This,D2D1_BUFFER_PRECISION buffer_precision) { return This->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision); } static inline HRESULT ID2D1DeviceContext2_GetImageLocalBounds(ID2D1DeviceContext2* This,ID2D1Image *image,D2D1_RECT_F *local_bounds) { return This->lpVtbl->GetImageLocalBounds(This,image,local_bounds); } static inline HRESULT ID2D1DeviceContext2_GetImageWorldBounds(ID2D1DeviceContext2* This,ID2D1Image *image,D2D1_RECT_F *world_bounds) { return This->lpVtbl->GetImageWorldBounds(This,image,world_bounds); } static inline HRESULT ID2D1DeviceContext2_GetGlyphRunWorldBounds(ID2D1DeviceContext2* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds); } static inline void ID2D1DeviceContext2_GetDevice(ID2D1DeviceContext2* This,ID2D1Device **device) { This->lpVtbl->GetDevice(This,device); } static inline void ID2D1DeviceContext2_SetTarget(ID2D1DeviceContext2* This,ID2D1Image *target) { This->lpVtbl->SetTarget(This,target); } static inline void ID2D1DeviceContext2_GetTarget(ID2D1DeviceContext2* This,ID2D1Image **target) { This->lpVtbl->GetTarget(This,target); } static inline void ID2D1DeviceContext2_SetRenderingControls(ID2D1DeviceContext2* This,const D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->SetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext2_GetRenderingControls(ID2D1DeviceContext2* This,D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->GetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext2_SetPrimitiveBlend(ID2D1DeviceContext2* This,D2D1_PRIMITIVE_BLEND primitive_blend) { This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline D2D1_PRIMITIVE_BLEND ID2D1DeviceContext2_GetPrimitiveBlend(ID2D1DeviceContext2* This) { return This->lpVtbl->GetPrimitiveBlend(This); } static inline void ID2D1DeviceContext2_SetUnitMode(ID2D1DeviceContext2* This,D2D1_UNIT_MODE unit_mode) { This->lpVtbl->SetUnitMode(This,unit_mode); } static inline D2D1_UNIT_MODE ID2D1DeviceContext2_GetUnitMode(ID2D1DeviceContext2* This) { return This->lpVtbl->GetUnitMode(This); } static inline void ID2D1DeviceContext2_DrawGlyphRun(ID2D1DeviceContext2* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline void ID2D1DeviceContext2_DrawImage(ID2D1DeviceContext2* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline void ID2D1DeviceContext2_DrawBitmap(ID2D1DeviceContext2* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { This->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline void ID2D1DeviceContext2_PushLayer(ID2D1DeviceContext2* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1DeviceContext2_InvalidateEffectInputRectangle(ID2D1DeviceContext2* This,ID2D1Effect *effect,UINT32 input,const D2D1_RECT_F *input_rect) { return This->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect); } static inline HRESULT ID2D1DeviceContext2_GetEffectInvalidRectangleCount(ID2D1DeviceContext2* This,ID2D1Effect *effect,UINT32 *rect_count) { return This->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count); } static inline HRESULT ID2D1DeviceContext2_GetEffectInvalidRectangles(ID2D1DeviceContext2* This,ID2D1Effect *effect,D2D1_RECT_F *rectangles,UINT32 rect_count) { return This->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count); } static inline HRESULT ID2D1DeviceContext2_GetEffectRequiredInputRectangles(ID2D1DeviceContext2* This,ID2D1Effect *effect,const D2D1_RECT_F *image_rect,const D2D1_EFFECT_INPUT_DESCRIPTION *desc,D2D1_RECT_F *input_rect,UINT32 input_count) { return This->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count); } static inline void ID2D1DeviceContext2_FillOpacityMask(ID2D1DeviceContext2* This,ID2D1Bitmap *mask,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect); } /*** ID2D1DeviceContext1 methods ***/ static inline HRESULT ID2D1DeviceContext2_CreateFilledGeometryRealization(ID2D1DeviceContext2* This,ID2D1Geometry *geometry,float tolerance,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization); } static inline HRESULT ID2D1DeviceContext2_CreateStrokedGeometryRealization(ID2D1DeviceContext2* This,ID2D1Geometry *geometry,float tolerance,float stroke_width,ID2D1StrokeStyle *stroke_style,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization); } static inline void ID2D1DeviceContext2_DrawGeometryRealization(ID2D1DeviceContext2* This,ID2D1GeometryRealization *realization,ID2D1Brush *brush) { This->lpVtbl->DrawGeometryRealization(This,realization,brush); } /*** ID2D1DeviceContext2 methods ***/ static inline HRESULT ID2D1DeviceContext2_CreateInk(ID2D1DeviceContext2* This,const D2D1_INK_POINT *start_point,ID2D1Ink **ink) { return This->lpVtbl->CreateInk(This,start_point,ink); } static inline HRESULT ID2D1DeviceContext2_CreateInkStyle(ID2D1DeviceContext2* This,const D2D1_INK_STYLE_PROPERTIES *ink_style_properties,ID2D1InkStyle **ink_style) { return This->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style); } static inline HRESULT ID2D1DeviceContext2_CreateGradientMesh(ID2D1DeviceContext2* This,const D2D1_GRADIENT_MESH_PATCH *patches,UINT32 patches_count,ID2D1GradientMesh **gradient_mesh) { return This->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh); } static inline HRESULT ID2D1DeviceContext2_CreateImageSourceFromWic(ID2D1DeviceContext2* This,IWICBitmapSource *wic_bitmap_source,D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options,D2D1_ALPHA_MODE alpha_mode,ID2D1ImageSourceFromWic **image_source) { return This->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source); } static inline HRESULT ID2D1DeviceContext2_CreateLookupTable3D(ID2D1DeviceContext2* This,D2D1_BUFFER_PRECISION precision,const UINT32 *extents,const BYTE *data,UINT32 data_count,const UINT32 *strides,ID2D1LookupTable3D **lookup_table) { return This->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table); } static inline HRESULT ID2D1DeviceContext2_CreateImageSourceFromDxgi(ID2D1DeviceContext2* This,IDXGISurface **surfaces,UINT32 surface_count,DXGI_COLOR_SPACE_TYPE color_space,D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,ID2D1ImageSource **image_source) { return This->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source); } static inline HRESULT ID2D1DeviceContext2_GetGradientMeshWorldBounds(ID2D1DeviceContext2* This,ID2D1GradientMesh *gradient_mesh,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds); } static inline void ID2D1DeviceContext2_DrawInk(ID2D1DeviceContext2* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline void ID2D1DeviceContext2_DrawGradientMesh(ID2D1DeviceContext2* This,ID2D1GradientMesh *gradient_mesh) { This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline void ID2D1DeviceContext2_DrawGdiMetafile(ID2D1DeviceContext2* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect); } static inline HRESULT ID2D1DeviceContext2_CreateTransformedImageSource(ID2D1DeviceContext2* This,ID2D1ImageSource *source,const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props,ID2D1TransformedImageSource **transformed) { return This->lpVtbl->CreateTransformedImageSource(This,source,props,transformed); } #endif #endif #endif #endif /* __ID2D1DeviceContext2_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1DeviceContext3 interface */ #ifndef __ID2D1DeviceContext3_INTERFACE_DEFINED__ #define __ID2D1DeviceContext3_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1DeviceContext3, 0x235a7496, 0x8351, 0x414c, 0xbc,0xd4, 0x66,0x72,0xab,0x2d,0x8e,0x00); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("235a7496-8351-414c-bcd4-6672ab2d8e00") ID2D1DeviceContext3 : public ID2D1DeviceContext2 { virtual HRESULT STDMETHODCALLTYPE CreateSpriteBatch( ID2D1SpriteBatch **sprite_batch) = 0; virtual void STDMETHODCALLTYPE DrawSpriteBatch( ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1DeviceContext3, 0x235a7496, 0x8351, 0x414c, 0xbc,0xd4, 0x66,0x72,0xab,0x2d,0x8e,0x00) #endif #else typedef struct ID2D1DeviceContext3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1DeviceContext3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1DeviceContext3 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1DeviceContext3 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1DeviceContext3 *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1DeviceContext3 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1DeviceContext3 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1DeviceContext3 *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1DeviceContext3 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1DeviceContext3 *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1DeviceContext3 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1DeviceContext3 *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1DeviceContext3 *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1DeviceContext3 *This, const D2D1_SIZE_F *size, const D2D1_SIZE_U *pixel_size, const D2D1_PIXEL_FORMAT *format, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateLayer)( ID2D1DeviceContext3 *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1DeviceContext3 *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1DeviceContext3 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1DeviceContext3 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1DeviceContext3 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1DeviceContext3 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1DeviceContext3 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1DeviceContext3 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1DeviceContext3 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1DeviceContext3 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1DeviceContext3 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1DeviceContext3 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1DeviceContext3 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawBitmap)( ID2D1DeviceContext3 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawText)( ID2D1DeviceContext3 *This, const WCHAR *string, UINT32 string_len, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawTextLayout)( ID2D1DeviceContext3 *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1DeviceContext3 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1DeviceContext3 *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1DeviceContext3 *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1DeviceContext3 *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1DeviceContext3 *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1DeviceContext3 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1DeviceContext3 *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1DeviceContext3 *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1DeviceContext3 *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1DeviceContext3 *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1DeviceContext3 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1DeviceContext3 *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1DeviceContext3 *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1DeviceContext3 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1DeviceContext3 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1DeviceContext3 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1DeviceContext3 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1DeviceContext3 *This); void (STDMETHODCALLTYPE *Clear)( ID2D1DeviceContext3 *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1DeviceContext3 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1DeviceContext3 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1DeviceContext3 *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1DeviceContext3 *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1DeviceContext3 *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1DeviceContext3 *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1DeviceContext3 *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1DeviceContext3 *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1DeviceContext3 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1DeviceContext methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmap)( ID2D1DeviceContext3 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapFromWicBitmap)( ID2D1DeviceContext3 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateColorContext)( ID2D1DeviceContext3 *This, D2D1_COLOR_SPACE space, const BYTE *profile, UINT32 profile_size, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromFilename)( ID2D1DeviceContext3 *This, const WCHAR *filename, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromWicColorContext)( ID2D1DeviceContext3 *This, IWICColorContext *wic_color_context, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromDxgiSurface)( ID2D1DeviceContext3 *This, IDXGISurface *surface, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateEffect)( ID2D1DeviceContext3 *This, REFCLSID effect_id, ID2D1Effect **effect); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateGradientStopCollection)( ID2D1DeviceContext3 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_COLOR_SPACE preinterpolation_space, D2D1_COLOR_SPACE postinterpolation_space, D2D1_BUFFER_PRECISION buffer_precision, D2D1_EXTEND_MODE extend_mode, D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode, ID2D1GradientStopCollection1 **gradient); HRESULT (STDMETHODCALLTYPE *CreateImageBrush)( ID2D1DeviceContext3 *This, ID2D1Image *image, const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1ImageBrush **brush); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapBrush)( ID2D1DeviceContext3 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush1 **bitmap_brush); HRESULT (STDMETHODCALLTYPE *CreateCommandList)( ID2D1DeviceContext3 *This, ID2D1CommandList **command_list); BOOL (STDMETHODCALLTYPE *IsDxgiFormatSupported)( ID2D1DeviceContext3 *This, DXGI_FORMAT format); BOOL (STDMETHODCALLTYPE *IsBufferPrecisionSupported)( ID2D1DeviceContext3 *This, D2D1_BUFFER_PRECISION buffer_precision); HRESULT (STDMETHODCALLTYPE *GetImageLocalBounds)( ID2D1DeviceContext3 *This, ID2D1Image *image, D2D1_RECT_F *local_bounds); HRESULT (STDMETHODCALLTYPE *GetImageWorldBounds)( ID2D1DeviceContext3 *This, ID2D1Image *image, D2D1_RECT_F *world_bounds); HRESULT (STDMETHODCALLTYPE *GetGlyphRunWorldBounds)( ID2D1DeviceContext3 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *GetDevice)( ID2D1DeviceContext3 *This, ID2D1Device **device); void (STDMETHODCALLTYPE *SetTarget)( ID2D1DeviceContext3 *This, ID2D1Image *target); void (STDMETHODCALLTYPE *GetTarget)( ID2D1DeviceContext3 *This, ID2D1Image **target); void (STDMETHODCALLTYPE *SetRenderingControls)( ID2D1DeviceContext3 *This, const D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *GetRenderingControls)( ID2D1DeviceContext3 *This, D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1DeviceContext3 *This, D2D1_PRIMITIVE_BLEND primitive_blend); D2D1_PRIMITIVE_BLEND (STDMETHODCALLTYPE *GetPrimitiveBlend)( ID2D1DeviceContext3 *This); void (STDMETHODCALLTYPE *SetUnitMode)( ID2D1DeviceContext3 *This, D2D1_UNIT_MODE unit_mode); D2D1_UNIT_MODE (STDMETHODCALLTYPE *GetUnitMode)( ID2D1DeviceContext3 *This); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawGlyphRun)( ID2D1DeviceContext3 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawImage)( ID2D1DeviceContext3 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); void (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1DeviceContext3 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawBitmap)( ID2D1DeviceContext3 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); void (STDMETHODCALLTYPE *ID2D1DeviceContext_PushLayer)( ID2D1DeviceContext3 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *InvalidateEffectInputRectangle)( ID2D1DeviceContext3 *This, ID2D1Effect *effect, UINT32 input, const D2D1_RECT_F *input_rect); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangleCount)( ID2D1DeviceContext3 *This, ID2D1Effect *effect, UINT32 *rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangles)( ID2D1DeviceContext3 *This, ID2D1Effect *effect, D2D1_RECT_F *rectangles, UINT32 rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectRequiredInputRectangles)( ID2D1DeviceContext3 *This, ID2D1Effect *effect, const D2D1_RECT_F *image_rect, const D2D1_EFFECT_INPUT_DESCRIPTION *desc, D2D1_RECT_F *input_rect, UINT32 input_count); void (STDMETHODCALLTYPE *ID2D1DeviceContext_FillOpacityMask)( ID2D1DeviceContext3 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); /*** ID2D1DeviceContext1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFilledGeometryRealization)( ID2D1DeviceContext3 *This, ID2D1Geometry *geometry, float tolerance, ID2D1GeometryRealization **realization); HRESULT (STDMETHODCALLTYPE *CreateStrokedGeometryRealization)( ID2D1DeviceContext3 *This, ID2D1Geometry *geometry, float tolerance, float stroke_width, ID2D1StrokeStyle *stroke_style, ID2D1GeometryRealization **realization); void (STDMETHODCALLTYPE *DrawGeometryRealization)( ID2D1DeviceContext3 *This, ID2D1GeometryRealization *realization, ID2D1Brush *brush); /*** ID2D1DeviceContext2 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateInk)( ID2D1DeviceContext3 *This, const D2D1_INK_POINT *start_point, ID2D1Ink **ink); HRESULT (STDMETHODCALLTYPE *CreateInkStyle)( ID2D1DeviceContext3 *This, const D2D1_INK_STYLE_PROPERTIES *ink_style_properties, ID2D1InkStyle **ink_style); HRESULT (STDMETHODCALLTYPE *CreateGradientMesh)( ID2D1DeviceContext3 *This, const D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patches_count, ID2D1GradientMesh **gradient_mesh); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromWic)( ID2D1DeviceContext3 *This, IWICBitmapSource *wic_bitmap_source, D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options, D2D1_ALPHA_MODE alpha_mode, ID2D1ImageSourceFromWic **image_source); HRESULT (STDMETHODCALLTYPE *CreateLookupTable3D)( ID2D1DeviceContext3 *This, D2D1_BUFFER_PRECISION precision, const UINT32 *extents, const BYTE *data, UINT32 data_count, const UINT32 *strides, ID2D1LookupTable3D **lookup_table); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromDxgi)( ID2D1DeviceContext3 *This, IDXGISurface **surfaces, UINT32 surface_count, DXGI_COLOR_SPACE_TYPE color_space, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options, ID2D1ImageSource **image_source); HRESULT (STDMETHODCALLTYPE *GetGradientMeshWorldBounds)( ID2D1DeviceContext3 *This, ID2D1GradientMesh *gradient_mesh, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *DrawInk)( ID2D1DeviceContext3 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); void (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1DeviceContext3 *This, ID2D1GradientMesh *gradient_mesh); void (STDMETHODCALLTYPE *ID2D1DeviceContext2_DrawGdiMetafile)( ID2D1DeviceContext3 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *CreateTransformedImageSource)( ID2D1DeviceContext3 *This, ID2D1ImageSource *source, const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props, ID2D1TransformedImageSource **transformed); /*** ID2D1DeviceContext3 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSpriteBatch)( ID2D1DeviceContext3 *This, ID2D1SpriteBatch **sprite_batch); void (STDMETHODCALLTYPE *DrawSpriteBatch)( ID2D1DeviceContext3 *This, ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options); END_INTERFACE } ID2D1DeviceContext3Vtbl; interface ID2D1DeviceContext3 { CONST_VTBL ID2D1DeviceContext3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1DeviceContext3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1DeviceContext3_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1DeviceContext3_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1DeviceContext3_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1DeviceContext3_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1DeviceContext3_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1DeviceContext3_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext3_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext3_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1DeviceContext3_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1DeviceContext3_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1DeviceContext3_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1DeviceContext3_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext3_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1DeviceContext3_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext3_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1DeviceContext3_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1DeviceContext3_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1DeviceContext3_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1DeviceContext3_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1DeviceContext3_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1DeviceContext3_DrawText(This,string,string_len,text_format,layout_rect,brush,options,measuring_mode) (This)->lpVtbl->DrawText(This,string,string_len,text_format,layout_rect,brush,options,measuring_mode) #define ID2D1DeviceContext3_DrawTextLayout(This,origin,layout,brush,options) (This)->lpVtbl->DrawTextLayout(This,origin,layout,brush,options) #define ID2D1DeviceContext3_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1DeviceContext3_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1DeviceContext3_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext3_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1DeviceContext3_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext3_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1DeviceContext3_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext3_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext3_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1DeviceContext3_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1DeviceContext3_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1DeviceContext3_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1DeviceContext3_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1DeviceContext3_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1DeviceContext3_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1DeviceContext3_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1DeviceContext3_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1DeviceContext3_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1DeviceContext3_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1DeviceContext3_GetPixelFormat(This) ID2D1DeviceContext3_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext3_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext3_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext3_GetSize(This) ID2D1DeviceContext3_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext3_GetPixelSize(This) ID2D1DeviceContext3_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext3_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1DeviceContext3_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1DeviceContext methods ***/ #define ID2D1DeviceContext3_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1DeviceContext3_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1DeviceContext3_CreateColorContext(This,space,profile,profile_size,color_context) (This)->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context) #define ID2D1DeviceContext3_CreateColorContextFromFilename(This,filename,color_context) (This)->lpVtbl->CreateColorContextFromFilename(This,filename,color_context) #define ID2D1DeviceContext3_CreateColorContextFromWicColorContext(This,wic_color_context,color_context) (This)->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context) #define ID2D1DeviceContext3_CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) (This)->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) #define ID2D1DeviceContext3_CreateEffect(This,effect_id,effect) (This)->lpVtbl->CreateEffect(This,effect_id,effect) #define ID2D1DeviceContext3_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) (This)->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) #define ID2D1DeviceContext3_CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) #define ID2D1DeviceContext3_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) #define ID2D1DeviceContext3_CreateCommandList(This,command_list) (This)->lpVtbl->CreateCommandList(This,command_list) #define ID2D1DeviceContext3_IsDxgiFormatSupported(This,format) (This)->lpVtbl->IsDxgiFormatSupported(This,format) #define ID2D1DeviceContext3_IsBufferPrecisionSupported(This,buffer_precision) (This)->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision) #define ID2D1DeviceContext3_GetImageLocalBounds(This,image,local_bounds) (This)->lpVtbl->GetImageLocalBounds(This,image,local_bounds) #define ID2D1DeviceContext3_GetImageWorldBounds(This,image,world_bounds) (This)->lpVtbl->GetImageWorldBounds(This,image,world_bounds) #define ID2D1DeviceContext3_GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) (This)->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) #define ID2D1DeviceContext3_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define ID2D1DeviceContext3_SetTarget(This,target) (This)->lpVtbl->SetTarget(This,target) #define ID2D1DeviceContext3_GetTarget(This,target) (This)->lpVtbl->GetTarget(This,target) #define ID2D1DeviceContext3_SetRenderingControls(This,rendering_controls) (This)->lpVtbl->SetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext3_GetRenderingControls(This,rendering_controls) (This)->lpVtbl->GetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext3_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1DeviceContext3_GetPrimitiveBlend(This) (This)->lpVtbl->GetPrimitiveBlend(This) #define ID2D1DeviceContext3_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1DeviceContext3_GetUnitMode(This) (This)->lpVtbl->GetUnitMode(This) #define ID2D1DeviceContext3_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1DeviceContext3_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1DeviceContext3_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1DeviceContext3_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer) #define ID2D1DeviceContext3_InvalidateEffectInputRectangle(This,effect,input,input_rect) (This)->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect) #define ID2D1DeviceContext3_GetEffectInvalidRectangleCount(This,effect,rect_count) (This)->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count) #define ID2D1DeviceContext3_GetEffectInvalidRectangles(This,effect,rectangles,rect_count) (This)->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count) #define ID2D1DeviceContext3_GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) (This)->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) #define ID2D1DeviceContext3_FillOpacityMask(This,mask,brush,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect) /*** ID2D1DeviceContext1 methods ***/ #define ID2D1DeviceContext3_CreateFilledGeometryRealization(This,geometry,tolerance,realization) (This)->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization) #define ID2D1DeviceContext3_CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) (This)->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) #define ID2D1DeviceContext3_DrawGeometryRealization(This,realization,brush) (This)->lpVtbl->DrawGeometryRealization(This,realization,brush) /*** ID2D1DeviceContext2 methods ***/ #define ID2D1DeviceContext3_CreateInk(This,start_point,ink) (This)->lpVtbl->CreateInk(This,start_point,ink) #define ID2D1DeviceContext3_CreateInkStyle(This,ink_style_properties,ink_style) (This)->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style) #define ID2D1DeviceContext3_CreateGradientMesh(This,patches,patches_count,gradient_mesh) (This)->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh) #define ID2D1DeviceContext3_CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) (This)->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) #define ID2D1DeviceContext3_CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) (This)->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) #define ID2D1DeviceContext3_CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) (This)->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) #define ID2D1DeviceContext3_GetGradientMeshWorldBounds(This,gradient_mesh,bounds) (This)->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds) #define ID2D1DeviceContext3_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1DeviceContext3_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1DeviceContext3_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) #define ID2D1DeviceContext3_CreateTransformedImageSource(This,source,props,transformed) (This)->lpVtbl->CreateTransformedImageSource(This,source,props,transformed) /*** ID2D1DeviceContext3 methods ***/ #define ID2D1DeviceContext3_CreateSpriteBatch(This,sprite_batch) (This)->lpVtbl->CreateSpriteBatch(This,sprite_batch) #define ID2D1DeviceContext3_DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) (This)->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1DeviceContext3_QueryInterface(ID2D1DeviceContext3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1DeviceContext3_AddRef(ID2D1DeviceContext3* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1DeviceContext3_Release(ID2D1DeviceContext3* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1DeviceContext3_GetFactory(ID2D1DeviceContext3* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1DeviceContext3_CreateSharedBitmap(ID2D1DeviceContext3* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1DeviceContext3_CreateSolidColorBrush(ID2D1DeviceContext3* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1DeviceContext3_CreateLinearGradientBrush(ID2D1DeviceContext3* This,const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1LinearGradientBrush **brush) { return This->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext3_CreateRadialGradientBrush(ID2D1DeviceContext3* This,const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1RadialGradientBrush **brush) { return This->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext3_CreateCompatibleRenderTarget(ID2D1DeviceContext3* This,const D2D1_SIZE_F *size,const D2D1_SIZE_U *pixel_size,const D2D1_PIXEL_FORMAT *format,D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,ID2D1BitmapRenderTarget **render_target) { return This->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target); } static inline HRESULT ID2D1DeviceContext3_CreateLayer(ID2D1DeviceContext3* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1DeviceContext3_CreateMesh(ID2D1DeviceContext3* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1DeviceContext3_DrawLine(ID2D1DeviceContext3* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext3_DrawRectangle(ID2D1DeviceContext3* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext3_FillRectangle(ID2D1DeviceContext3* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1DeviceContext3_DrawRoundedRectangle(ID2D1DeviceContext3* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext3_FillRoundedRectangle(ID2D1DeviceContext3* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1DeviceContext3_DrawEllipse(ID2D1DeviceContext3* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext3_FillEllipse(ID2D1DeviceContext3* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1DeviceContext3_DrawGeometry(ID2D1DeviceContext3* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext3_FillGeometry(ID2D1DeviceContext3* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1DeviceContext3_FillMesh(ID2D1DeviceContext3* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1DeviceContext3_DrawText(ID2D1DeviceContext3* This,const WCHAR *string,UINT32 string_len,IDWriteTextFormat *text_format,const D2D1_RECT_F *layout_rect,ID2D1Brush *brush,D2D1_DRAW_TEXT_OPTIONS options,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawText(This,string,string_len,text_format,layout_rect,brush,options,measuring_mode); } static inline void ID2D1DeviceContext3_DrawTextLayout(ID2D1DeviceContext3* This,D2D1_POINT_2F origin,IDWriteTextLayout *layout,ID2D1Brush *brush,D2D1_DRAW_TEXT_OPTIONS options) { This->lpVtbl->DrawTextLayout(This,origin,layout,brush,options); } static inline void ID2D1DeviceContext3_SetTransform(ID2D1DeviceContext3* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1DeviceContext3_GetTransform(ID2D1DeviceContext3* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1DeviceContext3_SetAntialiasMode(ID2D1DeviceContext3* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1DeviceContext3_GetAntialiasMode(ID2D1DeviceContext3* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1DeviceContext3_SetTextAntialiasMode(ID2D1DeviceContext3* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1DeviceContext3_GetTextAntialiasMode(ID2D1DeviceContext3* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1DeviceContext3_SetTextRenderingParams(ID2D1DeviceContext3* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext3_GetTextRenderingParams(ID2D1DeviceContext3* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext3_SetTags(ID2D1DeviceContext3* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext3_GetTags(ID2D1DeviceContext3* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext3_PopLayer(ID2D1DeviceContext3* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1DeviceContext3_Flush(ID2D1DeviceContext3* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1DeviceContext3_SaveDrawingState(ID2D1DeviceContext3* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1DeviceContext3_RestoreDrawingState(ID2D1DeviceContext3* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1DeviceContext3_PushAxisAlignedClip(ID2D1DeviceContext3* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1DeviceContext3_PopAxisAlignedClip(ID2D1DeviceContext3* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1DeviceContext3_Clear(ID2D1DeviceContext3* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1DeviceContext3_BeginDraw(ID2D1DeviceContext3* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1DeviceContext3_EndDraw(ID2D1DeviceContext3* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1DeviceContext3_GetPixelFormat(ID2D1DeviceContext3* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1DeviceContext3_SetDpi(ID2D1DeviceContext3* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1DeviceContext3_GetDpi(ID2D1DeviceContext3* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1DeviceContext3_GetSize(ID2D1DeviceContext3* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1DeviceContext3_GetPixelSize(ID2D1DeviceContext3* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1DeviceContext3_GetMaximumBitmapSize(ID2D1DeviceContext3* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1DeviceContext3_IsSupported(ID2D1DeviceContext3* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1DeviceContext methods ***/ static inline HRESULT ID2D1DeviceContext3_CreateBitmap(ID2D1DeviceContext3* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1DeviceContext3_CreateBitmapFromWicBitmap(ID2D1DeviceContext3* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1DeviceContext3_CreateColorContext(ID2D1DeviceContext3* This,D2D1_COLOR_SPACE space,const BYTE *profile,UINT32 profile_size,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context); } static inline HRESULT ID2D1DeviceContext3_CreateColorContextFromFilename(ID2D1DeviceContext3* This,const WCHAR *filename,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromFilename(This,filename,color_context); } static inline HRESULT ID2D1DeviceContext3_CreateColorContextFromWicColorContext(ID2D1DeviceContext3* This,IWICColorContext *wic_color_context,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context); } static inline HRESULT ID2D1DeviceContext3_CreateBitmapFromDxgiSurface(ID2D1DeviceContext3* This,IDXGISurface *surface,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap); } static inline HRESULT ID2D1DeviceContext3_CreateEffect(ID2D1DeviceContext3* This,REFCLSID effect_id,ID2D1Effect **effect) { return This->lpVtbl->CreateEffect(This,effect_id,effect); } static inline HRESULT ID2D1DeviceContext3_CreateGradientStopCollection(ID2D1DeviceContext3* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_COLOR_SPACE preinterpolation_space,D2D1_COLOR_SPACE postinterpolation_space,D2D1_BUFFER_PRECISION buffer_precision,D2D1_EXTEND_MODE extend_mode,D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode,ID2D1GradientStopCollection1 **gradient) { return This->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient); } static inline HRESULT ID2D1DeviceContext3_CreateImageBrush(ID2D1DeviceContext3* This,ID2D1Image *image,const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1ImageBrush **brush) { return This->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1DeviceContext3_CreateBitmapBrush(ID2D1DeviceContext3* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush1 **bitmap_brush) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush); } static inline HRESULT ID2D1DeviceContext3_CreateCommandList(ID2D1DeviceContext3* This,ID2D1CommandList **command_list) { return This->lpVtbl->CreateCommandList(This,command_list); } static inline BOOL ID2D1DeviceContext3_IsDxgiFormatSupported(ID2D1DeviceContext3* This,DXGI_FORMAT format) { return This->lpVtbl->IsDxgiFormatSupported(This,format); } static inline BOOL ID2D1DeviceContext3_IsBufferPrecisionSupported(ID2D1DeviceContext3* This,D2D1_BUFFER_PRECISION buffer_precision) { return This->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision); } static inline HRESULT ID2D1DeviceContext3_GetImageLocalBounds(ID2D1DeviceContext3* This,ID2D1Image *image,D2D1_RECT_F *local_bounds) { return This->lpVtbl->GetImageLocalBounds(This,image,local_bounds); } static inline HRESULT ID2D1DeviceContext3_GetImageWorldBounds(ID2D1DeviceContext3* This,ID2D1Image *image,D2D1_RECT_F *world_bounds) { return This->lpVtbl->GetImageWorldBounds(This,image,world_bounds); } static inline HRESULT ID2D1DeviceContext3_GetGlyphRunWorldBounds(ID2D1DeviceContext3* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds); } static inline void ID2D1DeviceContext3_GetDevice(ID2D1DeviceContext3* This,ID2D1Device **device) { This->lpVtbl->GetDevice(This,device); } static inline void ID2D1DeviceContext3_SetTarget(ID2D1DeviceContext3* This,ID2D1Image *target) { This->lpVtbl->SetTarget(This,target); } static inline void ID2D1DeviceContext3_GetTarget(ID2D1DeviceContext3* This,ID2D1Image **target) { This->lpVtbl->GetTarget(This,target); } static inline void ID2D1DeviceContext3_SetRenderingControls(ID2D1DeviceContext3* This,const D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->SetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext3_GetRenderingControls(ID2D1DeviceContext3* This,D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->GetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext3_SetPrimitiveBlend(ID2D1DeviceContext3* This,D2D1_PRIMITIVE_BLEND primitive_blend) { This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline D2D1_PRIMITIVE_BLEND ID2D1DeviceContext3_GetPrimitiveBlend(ID2D1DeviceContext3* This) { return This->lpVtbl->GetPrimitiveBlend(This); } static inline void ID2D1DeviceContext3_SetUnitMode(ID2D1DeviceContext3* This,D2D1_UNIT_MODE unit_mode) { This->lpVtbl->SetUnitMode(This,unit_mode); } static inline D2D1_UNIT_MODE ID2D1DeviceContext3_GetUnitMode(ID2D1DeviceContext3* This) { return This->lpVtbl->GetUnitMode(This); } static inline void ID2D1DeviceContext3_DrawGlyphRun(ID2D1DeviceContext3* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline void ID2D1DeviceContext3_DrawImage(ID2D1DeviceContext3* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline void ID2D1DeviceContext3_DrawBitmap(ID2D1DeviceContext3* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { This->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline void ID2D1DeviceContext3_PushLayer(ID2D1DeviceContext3* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1DeviceContext3_InvalidateEffectInputRectangle(ID2D1DeviceContext3* This,ID2D1Effect *effect,UINT32 input,const D2D1_RECT_F *input_rect) { return This->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect); } static inline HRESULT ID2D1DeviceContext3_GetEffectInvalidRectangleCount(ID2D1DeviceContext3* This,ID2D1Effect *effect,UINT32 *rect_count) { return This->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count); } static inline HRESULT ID2D1DeviceContext3_GetEffectInvalidRectangles(ID2D1DeviceContext3* This,ID2D1Effect *effect,D2D1_RECT_F *rectangles,UINT32 rect_count) { return This->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count); } static inline HRESULT ID2D1DeviceContext3_GetEffectRequiredInputRectangles(ID2D1DeviceContext3* This,ID2D1Effect *effect,const D2D1_RECT_F *image_rect,const D2D1_EFFECT_INPUT_DESCRIPTION *desc,D2D1_RECT_F *input_rect,UINT32 input_count) { return This->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count); } static inline void ID2D1DeviceContext3_FillOpacityMask(ID2D1DeviceContext3* This,ID2D1Bitmap *mask,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect); } /*** ID2D1DeviceContext1 methods ***/ static inline HRESULT ID2D1DeviceContext3_CreateFilledGeometryRealization(ID2D1DeviceContext3* This,ID2D1Geometry *geometry,float tolerance,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization); } static inline HRESULT ID2D1DeviceContext3_CreateStrokedGeometryRealization(ID2D1DeviceContext3* This,ID2D1Geometry *geometry,float tolerance,float stroke_width,ID2D1StrokeStyle *stroke_style,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization); } static inline void ID2D1DeviceContext3_DrawGeometryRealization(ID2D1DeviceContext3* This,ID2D1GeometryRealization *realization,ID2D1Brush *brush) { This->lpVtbl->DrawGeometryRealization(This,realization,brush); } /*** ID2D1DeviceContext2 methods ***/ static inline HRESULT ID2D1DeviceContext3_CreateInk(ID2D1DeviceContext3* This,const D2D1_INK_POINT *start_point,ID2D1Ink **ink) { return This->lpVtbl->CreateInk(This,start_point,ink); } static inline HRESULT ID2D1DeviceContext3_CreateInkStyle(ID2D1DeviceContext3* This,const D2D1_INK_STYLE_PROPERTIES *ink_style_properties,ID2D1InkStyle **ink_style) { return This->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style); } static inline HRESULT ID2D1DeviceContext3_CreateGradientMesh(ID2D1DeviceContext3* This,const D2D1_GRADIENT_MESH_PATCH *patches,UINT32 patches_count,ID2D1GradientMesh **gradient_mesh) { return This->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh); } static inline HRESULT ID2D1DeviceContext3_CreateImageSourceFromWic(ID2D1DeviceContext3* This,IWICBitmapSource *wic_bitmap_source,D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options,D2D1_ALPHA_MODE alpha_mode,ID2D1ImageSourceFromWic **image_source) { return This->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source); } static inline HRESULT ID2D1DeviceContext3_CreateLookupTable3D(ID2D1DeviceContext3* This,D2D1_BUFFER_PRECISION precision,const UINT32 *extents,const BYTE *data,UINT32 data_count,const UINT32 *strides,ID2D1LookupTable3D **lookup_table) { return This->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table); } static inline HRESULT ID2D1DeviceContext3_CreateImageSourceFromDxgi(ID2D1DeviceContext3* This,IDXGISurface **surfaces,UINT32 surface_count,DXGI_COLOR_SPACE_TYPE color_space,D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,ID2D1ImageSource **image_source) { return This->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source); } static inline HRESULT ID2D1DeviceContext3_GetGradientMeshWorldBounds(ID2D1DeviceContext3* This,ID2D1GradientMesh *gradient_mesh,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds); } static inline void ID2D1DeviceContext3_DrawInk(ID2D1DeviceContext3* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline void ID2D1DeviceContext3_DrawGradientMesh(ID2D1DeviceContext3* This,ID2D1GradientMesh *gradient_mesh) { This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline void ID2D1DeviceContext3_DrawGdiMetafile(ID2D1DeviceContext3* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect); } static inline HRESULT ID2D1DeviceContext3_CreateTransformedImageSource(ID2D1DeviceContext3* This,ID2D1ImageSource *source,const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props,ID2D1TransformedImageSource **transformed) { return This->lpVtbl->CreateTransformedImageSource(This,source,props,transformed); } /*** ID2D1DeviceContext3 methods ***/ static inline HRESULT ID2D1DeviceContext3_CreateSpriteBatch(ID2D1DeviceContext3* This,ID2D1SpriteBatch **sprite_batch) { return This->lpVtbl->CreateSpriteBatch(This,sprite_batch); } static inline void ID2D1DeviceContext3_DrawSpriteBatch(ID2D1DeviceContext3* This,ID2D1SpriteBatch *sprite_batch,UINT32 start_index,UINT32 sprite_count,ID2D1Bitmap *bitmap,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,D2D1_SPRITE_OPTIONS sprite_options) { This->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options); } #endif #endif #endif #endif /* __ID2D1DeviceContext3_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1DeviceContext4 interface */ #ifndef __ID2D1DeviceContext4_INTERFACE_DEFINED__ #define __ID2D1DeviceContext4_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1DeviceContext4, 0x8c427831, 0x3d90, 0x4476, 0xb6,0x47, 0xc4,0xfa,0xe3,0x49,0xe4,0xdb); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8c427831-3d90-4476-b647-c4fae349e4db") ID2D1DeviceContext4 : public ID2D1DeviceContext3 { virtual HRESULT STDMETHODCALLTYPE CreateSvgGlyphStyle( ID2D1SvgGlyphStyle **svg_glyph_style) = 0; virtual void STDMETHODCALLTYPE DrawText( const WCHAR *string, UINT32 string_length, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode) = 0; virtual void STDMETHODCALLTYPE DrawTextLayout( D2D1_POINT_2F origin, IDWriteTextLayout *text_layout, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options) = 0; virtual void STDMETHODCALLTYPE DrawColorBitmapGlyphRun( DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option) = 0; virtual void STDMETHODCALLTYPE DrawSvgGlyphRun( D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, DWRITE_MEASURING_MODE measuring_mode) = 0; virtual HRESULT STDMETHODCALLTYPE GetColorBitmapGlyphImage( DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, FLOAT dpi_x, FLOAT dpi_y, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1Image **glyph_image) = 0; virtual HRESULT STDMETHODCALLTYPE GetSvgGlyphImage( D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1CommandList **glyph_image) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1DeviceContext4, 0x8c427831, 0x3d90, 0x4476, 0xb6,0x47, 0xc4,0xfa,0xe3,0x49,0xe4,0xdb) #endif #else typedef struct ID2D1DeviceContext4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1DeviceContext4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1DeviceContext4 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1DeviceContext4 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1DeviceContext4 *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1DeviceContext4 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1DeviceContext4 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1DeviceContext4 *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1DeviceContext4 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1DeviceContext4 *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1DeviceContext4 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1DeviceContext4 *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1DeviceContext4 *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1DeviceContext4 *This, const D2D1_SIZE_F *size, const D2D1_SIZE_U *pixel_size, const D2D1_PIXEL_FORMAT *format, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateLayer)( ID2D1DeviceContext4 *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1DeviceContext4 *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1DeviceContext4 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1DeviceContext4 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1DeviceContext4 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1DeviceContext4 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1DeviceContext4 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1DeviceContext4 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1DeviceContext4 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1DeviceContext4 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1DeviceContext4 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1DeviceContext4 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1DeviceContext4 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawBitmap)( ID2D1DeviceContext4 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawText)( ID2D1DeviceContext4 *This, const WCHAR *string, UINT32 string_len, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawTextLayout)( ID2D1DeviceContext4 *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1DeviceContext4 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1DeviceContext4 *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1DeviceContext4 *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1DeviceContext4 *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1DeviceContext4 *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1DeviceContext4 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1DeviceContext4 *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1DeviceContext4 *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1DeviceContext4 *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1DeviceContext4 *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1DeviceContext4 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1DeviceContext4 *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1DeviceContext4 *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1DeviceContext4 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1DeviceContext4 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1DeviceContext4 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1DeviceContext4 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1DeviceContext4 *This); void (STDMETHODCALLTYPE *Clear)( ID2D1DeviceContext4 *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1DeviceContext4 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1DeviceContext4 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1DeviceContext4 *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1DeviceContext4 *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1DeviceContext4 *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1DeviceContext4 *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1DeviceContext4 *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1DeviceContext4 *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1DeviceContext4 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1DeviceContext methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmap)( ID2D1DeviceContext4 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapFromWicBitmap)( ID2D1DeviceContext4 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateColorContext)( ID2D1DeviceContext4 *This, D2D1_COLOR_SPACE space, const BYTE *profile, UINT32 profile_size, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromFilename)( ID2D1DeviceContext4 *This, const WCHAR *filename, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromWicColorContext)( ID2D1DeviceContext4 *This, IWICColorContext *wic_color_context, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromDxgiSurface)( ID2D1DeviceContext4 *This, IDXGISurface *surface, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateEffect)( ID2D1DeviceContext4 *This, REFCLSID effect_id, ID2D1Effect **effect); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateGradientStopCollection)( ID2D1DeviceContext4 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_COLOR_SPACE preinterpolation_space, D2D1_COLOR_SPACE postinterpolation_space, D2D1_BUFFER_PRECISION buffer_precision, D2D1_EXTEND_MODE extend_mode, D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode, ID2D1GradientStopCollection1 **gradient); HRESULT (STDMETHODCALLTYPE *CreateImageBrush)( ID2D1DeviceContext4 *This, ID2D1Image *image, const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1ImageBrush **brush); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapBrush)( ID2D1DeviceContext4 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush1 **bitmap_brush); HRESULT (STDMETHODCALLTYPE *CreateCommandList)( ID2D1DeviceContext4 *This, ID2D1CommandList **command_list); BOOL (STDMETHODCALLTYPE *IsDxgiFormatSupported)( ID2D1DeviceContext4 *This, DXGI_FORMAT format); BOOL (STDMETHODCALLTYPE *IsBufferPrecisionSupported)( ID2D1DeviceContext4 *This, D2D1_BUFFER_PRECISION buffer_precision); HRESULT (STDMETHODCALLTYPE *GetImageLocalBounds)( ID2D1DeviceContext4 *This, ID2D1Image *image, D2D1_RECT_F *local_bounds); HRESULT (STDMETHODCALLTYPE *GetImageWorldBounds)( ID2D1DeviceContext4 *This, ID2D1Image *image, D2D1_RECT_F *world_bounds); HRESULT (STDMETHODCALLTYPE *GetGlyphRunWorldBounds)( ID2D1DeviceContext4 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *GetDevice)( ID2D1DeviceContext4 *This, ID2D1Device **device); void (STDMETHODCALLTYPE *SetTarget)( ID2D1DeviceContext4 *This, ID2D1Image *target); void (STDMETHODCALLTYPE *GetTarget)( ID2D1DeviceContext4 *This, ID2D1Image **target); void (STDMETHODCALLTYPE *SetRenderingControls)( ID2D1DeviceContext4 *This, const D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *GetRenderingControls)( ID2D1DeviceContext4 *This, D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1DeviceContext4 *This, D2D1_PRIMITIVE_BLEND primitive_blend); D2D1_PRIMITIVE_BLEND (STDMETHODCALLTYPE *GetPrimitiveBlend)( ID2D1DeviceContext4 *This); void (STDMETHODCALLTYPE *SetUnitMode)( ID2D1DeviceContext4 *This, D2D1_UNIT_MODE unit_mode); D2D1_UNIT_MODE (STDMETHODCALLTYPE *GetUnitMode)( ID2D1DeviceContext4 *This); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawGlyphRun)( ID2D1DeviceContext4 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawImage)( ID2D1DeviceContext4 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); void (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1DeviceContext4 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawBitmap)( ID2D1DeviceContext4 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); void (STDMETHODCALLTYPE *ID2D1DeviceContext_PushLayer)( ID2D1DeviceContext4 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *InvalidateEffectInputRectangle)( ID2D1DeviceContext4 *This, ID2D1Effect *effect, UINT32 input, const D2D1_RECT_F *input_rect); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangleCount)( ID2D1DeviceContext4 *This, ID2D1Effect *effect, UINT32 *rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangles)( ID2D1DeviceContext4 *This, ID2D1Effect *effect, D2D1_RECT_F *rectangles, UINT32 rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectRequiredInputRectangles)( ID2D1DeviceContext4 *This, ID2D1Effect *effect, const D2D1_RECT_F *image_rect, const D2D1_EFFECT_INPUT_DESCRIPTION *desc, D2D1_RECT_F *input_rect, UINT32 input_count); void (STDMETHODCALLTYPE *ID2D1DeviceContext_FillOpacityMask)( ID2D1DeviceContext4 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); /*** ID2D1DeviceContext1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFilledGeometryRealization)( ID2D1DeviceContext4 *This, ID2D1Geometry *geometry, float tolerance, ID2D1GeometryRealization **realization); HRESULT (STDMETHODCALLTYPE *CreateStrokedGeometryRealization)( ID2D1DeviceContext4 *This, ID2D1Geometry *geometry, float tolerance, float stroke_width, ID2D1StrokeStyle *stroke_style, ID2D1GeometryRealization **realization); void (STDMETHODCALLTYPE *DrawGeometryRealization)( ID2D1DeviceContext4 *This, ID2D1GeometryRealization *realization, ID2D1Brush *brush); /*** ID2D1DeviceContext2 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateInk)( ID2D1DeviceContext4 *This, const D2D1_INK_POINT *start_point, ID2D1Ink **ink); HRESULT (STDMETHODCALLTYPE *CreateInkStyle)( ID2D1DeviceContext4 *This, const D2D1_INK_STYLE_PROPERTIES *ink_style_properties, ID2D1InkStyle **ink_style); HRESULT (STDMETHODCALLTYPE *CreateGradientMesh)( ID2D1DeviceContext4 *This, const D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patches_count, ID2D1GradientMesh **gradient_mesh); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromWic)( ID2D1DeviceContext4 *This, IWICBitmapSource *wic_bitmap_source, D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options, D2D1_ALPHA_MODE alpha_mode, ID2D1ImageSourceFromWic **image_source); HRESULT (STDMETHODCALLTYPE *CreateLookupTable3D)( ID2D1DeviceContext4 *This, D2D1_BUFFER_PRECISION precision, const UINT32 *extents, const BYTE *data, UINT32 data_count, const UINT32 *strides, ID2D1LookupTable3D **lookup_table); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromDxgi)( ID2D1DeviceContext4 *This, IDXGISurface **surfaces, UINT32 surface_count, DXGI_COLOR_SPACE_TYPE color_space, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options, ID2D1ImageSource **image_source); HRESULT (STDMETHODCALLTYPE *GetGradientMeshWorldBounds)( ID2D1DeviceContext4 *This, ID2D1GradientMesh *gradient_mesh, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *DrawInk)( ID2D1DeviceContext4 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); void (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1DeviceContext4 *This, ID2D1GradientMesh *gradient_mesh); void (STDMETHODCALLTYPE *ID2D1DeviceContext2_DrawGdiMetafile)( ID2D1DeviceContext4 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *CreateTransformedImageSource)( ID2D1DeviceContext4 *This, ID2D1ImageSource *source, const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props, ID2D1TransformedImageSource **transformed); /*** ID2D1DeviceContext3 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSpriteBatch)( ID2D1DeviceContext4 *This, ID2D1SpriteBatch **sprite_batch); void (STDMETHODCALLTYPE *DrawSpriteBatch)( ID2D1DeviceContext4 *This, ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options); /*** ID2D1DeviceContext4 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSvgGlyphStyle)( ID2D1DeviceContext4 *This, ID2D1SvgGlyphStyle **svg_glyph_style); void (STDMETHODCALLTYPE *ID2D1DeviceContext4_DrawText)( ID2D1DeviceContext4 *This, const WCHAR *string, UINT32 string_length, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *ID2D1DeviceContext4_DrawTextLayout)( ID2D1DeviceContext4 *This, D2D1_POINT_2F origin, IDWriteTextLayout *text_layout, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawColorBitmapGlyphRun)( ID2D1DeviceContext4 *This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option); void (STDMETHODCALLTYPE *DrawSvgGlyphRun)( ID2D1DeviceContext4 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, DWRITE_MEASURING_MODE measuring_mode); HRESULT (STDMETHODCALLTYPE *GetColorBitmapGlyphImage)( ID2D1DeviceContext4 *This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, FLOAT dpi_x, FLOAT dpi_y, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1Image **glyph_image); HRESULT (STDMETHODCALLTYPE *GetSvgGlyphImage)( ID2D1DeviceContext4 *This, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1CommandList **glyph_image); END_INTERFACE } ID2D1DeviceContext4Vtbl; interface ID2D1DeviceContext4 { CONST_VTBL ID2D1DeviceContext4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1DeviceContext4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1DeviceContext4_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1DeviceContext4_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1DeviceContext4_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1DeviceContext4_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1DeviceContext4_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1DeviceContext4_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext4_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext4_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1DeviceContext4_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1DeviceContext4_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1DeviceContext4_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1DeviceContext4_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext4_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1DeviceContext4_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext4_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1DeviceContext4_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1DeviceContext4_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1DeviceContext4_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1DeviceContext4_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1DeviceContext4_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1DeviceContext4_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1DeviceContext4_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1DeviceContext4_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext4_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1DeviceContext4_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext4_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1DeviceContext4_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext4_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext4_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1DeviceContext4_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1DeviceContext4_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1DeviceContext4_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1DeviceContext4_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1DeviceContext4_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1DeviceContext4_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1DeviceContext4_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1DeviceContext4_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1DeviceContext4_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1DeviceContext4_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1DeviceContext4_GetPixelFormat(This) ID2D1DeviceContext4_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext4_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext4_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext4_GetSize(This) ID2D1DeviceContext4_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext4_GetPixelSize(This) ID2D1DeviceContext4_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext4_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1DeviceContext4_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1DeviceContext methods ***/ #define ID2D1DeviceContext4_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1DeviceContext4_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1DeviceContext4_CreateColorContext(This,space,profile,profile_size,color_context) (This)->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context) #define ID2D1DeviceContext4_CreateColorContextFromFilename(This,filename,color_context) (This)->lpVtbl->CreateColorContextFromFilename(This,filename,color_context) #define ID2D1DeviceContext4_CreateColorContextFromWicColorContext(This,wic_color_context,color_context) (This)->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context) #define ID2D1DeviceContext4_CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) (This)->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) #define ID2D1DeviceContext4_CreateEffect(This,effect_id,effect) (This)->lpVtbl->CreateEffect(This,effect_id,effect) #define ID2D1DeviceContext4_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) (This)->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) #define ID2D1DeviceContext4_CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) #define ID2D1DeviceContext4_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) #define ID2D1DeviceContext4_CreateCommandList(This,command_list) (This)->lpVtbl->CreateCommandList(This,command_list) #define ID2D1DeviceContext4_IsDxgiFormatSupported(This,format) (This)->lpVtbl->IsDxgiFormatSupported(This,format) #define ID2D1DeviceContext4_IsBufferPrecisionSupported(This,buffer_precision) (This)->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision) #define ID2D1DeviceContext4_GetImageLocalBounds(This,image,local_bounds) (This)->lpVtbl->GetImageLocalBounds(This,image,local_bounds) #define ID2D1DeviceContext4_GetImageWorldBounds(This,image,world_bounds) (This)->lpVtbl->GetImageWorldBounds(This,image,world_bounds) #define ID2D1DeviceContext4_GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) (This)->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) #define ID2D1DeviceContext4_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define ID2D1DeviceContext4_SetTarget(This,target) (This)->lpVtbl->SetTarget(This,target) #define ID2D1DeviceContext4_GetTarget(This,target) (This)->lpVtbl->GetTarget(This,target) #define ID2D1DeviceContext4_SetRenderingControls(This,rendering_controls) (This)->lpVtbl->SetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext4_GetRenderingControls(This,rendering_controls) (This)->lpVtbl->GetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext4_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1DeviceContext4_GetPrimitiveBlend(This) (This)->lpVtbl->GetPrimitiveBlend(This) #define ID2D1DeviceContext4_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1DeviceContext4_GetUnitMode(This) (This)->lpVtbl->GetUnitMode(This) #define ID2D1DeviceContext4_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1DeviceContext4_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1DeviceContext4_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1DeviceContext4_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer) #define ID2D1DeviceContext4_InvalidateEffectInputRectangle(This,effect,input,input_rect) (This)->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect) #define ID2D1DeviceContext4_GetEffectInvalidRectangleCount(This,effect,rect_count) (This)->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count) #define ID2D1DeviceContext4_GetEffectInvalidRectangles(This,effect,rectangles,rect_count) (This)->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count) #define ID2D1DeviceContext4_GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) (This)->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) #define ID2D1DeviceContext4_FillOpacityMask(This,mask,brush,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect) /*** ID2D1DeviceContext1 methods ***/ #define ID2D1DeviceContext4_CreateFilledGeometryRealization(This,geometry,tolerance,realization) (This)->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization) #define ID2D1DeviceContext4_CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) (This)->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) #define ID2D1DeviceContext4_DrawGeometryRealization(This,realization,brush) (This)->lpVtbl->DrawGeometryRealization(This,realization,brush) /*** ID2D1DeviceContext2 methods ***/ #define ID2D1DeviceContext4_CreateInk(This,start_point,ink) (This)->lpVtbl->CreateInk(This,start_point,ink) #define ID2D1DeviceContext4_CreateInkStyle(This,ink_style_properties,ink_style) (This)->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style) #define ID2D1DeviceContext4_CreateGradientMesh(This,patches,patches_count,gradient_mesh) (This)->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh) #define ID2D1DeviceContext4_CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) (This)->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) #define ID2D1DeviceContext4_CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) (This)->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) #define ID2D1DeviceContext4_CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) (This)->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) #define ID2D1DeviceContext4_GetGradientMeshWorldBounds(This,gradient_mesh,bounds) (This)->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds) #define ID2D1DeviceContext4_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1DeviceContext4_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1DeviceContext4_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) #define ID2D1DeviceContext4_CreateTransformedImageSource(This,source,props,transformed) (This)->lpVtbl->CreateTransformedImageSource(This,source,props,transformed) /*** ID2D1DeviceContext3 methods ***/ #define ID2D1DeviceContext4_CreateSpriteBatch(This,sprite_batch) (This)->lpVtbl->CreateSpriteBatch(This,sprite_batch) #define ID2D1DeviceContext4_DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) (This)->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) /*** ID2D1DeviceContext4 methods ***/ #define ID2D1DeviceContext4_CreateSvgGlyphStyle(This,svg_glyph_style) (This)->lpVtbl->CreateSvgGlyphStyle(This,svg_glyph_style) #define ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode) #define ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options) (This)->lpVtbl->ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options) #define ID2D1DeviceContext4_DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option) (This)->lpVtbl->DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option) #define ID2D1DeviceContext4_DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode) (This)->lpVtbl->DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode) #define ID2D1DeviceContext4_GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image) (This)->lpVtbl->GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image) #define ID2D1DeviceContext4_GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image) (This)->lpVtbl->GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1DeviceContext4_QueryInterface(ID2D1DeviceContext4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1DeviceContext4_AddRef(ID2D1DeviceContext4* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1DeviceContext4_Release(ID2D1DeviceContext4* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1DeviceContext4_GetFactory(ID2D1DeviceContext4* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1DeviceContext4_CreateSharedBitmap(ID2D1DeviceContext4* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1DeviceContext4_CreateSolidColorBrush(ID2D1DeviceContext4* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1DeviceContext4_CreateLinearGradientBrush(ID2D1DeviceContext4* This,const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1LinearGradientBrush **brush) { return This->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext4_CreateRadialGradientBrush(ID2D1DeviceContext4* This,const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1RadialGradientBrush **brush) { return This->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext4_CreateCompatibleRenderTarget(ID2D1DeviceContext4* This,const D2D1_SIZE_F *size,const D2D1_SIZE_U *pixel_size,const D2D1_PIXEL_FORMAT *format,D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,ID2D1BitmapRenderTarget **render_target) { return This->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target); } static inline HRESULT ID2D1DeviceContext4_CreateLayer(ID2D1DeviceContext4* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1DeviceContext4_CreateMesh(ID2D1DeviceContext4* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1DeviceContext4_DrawLine(ID2D1DeviceContext4* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext4_DrawRectangle(ID2D1DeviceContext4* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext4_FillRectangle(ID2D1DeviceContext4* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1DeviceContext4_DrawRoundedRectangle(ID2D1DeviceContext4* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext4_FillRoundedRectangle(ID2D1DeviceContext4* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1DeviceContext4_DrawEllipse(ID2D1DeviceContext4* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext4_FillEllipse(ID2D1DeviceContext4* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1DeviceContext4_DrawGeometry(ID2D1DeviceContext4* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext4_FillGeometry(ID2D1DeviceContext4* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1DeviceContext4_FillMesh(ID2D1DeviceContext4* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1DeviceContext4_SetTransform(ID2D1DeviceContext4* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1DeviceContext4_GetTransform(ID2D1DeviceContext4* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1DeviceContext4_SetAntialiasMode(ID2D1DeviceContext4* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1DeviceContext4_GetAntialiasMode(ID2D1DeviceContext4* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1DeviceContext4_SetTextAntialiasMode(ID2D1DeviceContext4* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1DeviceContext4_GetTextAntialiasMode(ID2D1DeviceContext4* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1DeviceContext4_SetTextRenderingParams(ID2D1DeviceContext4* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext4_GetTextRenderingParams(ID2D1DeviceContext4* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext4_SetTags(ID2D1DeviceContext4* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext4_GetTags(ID2D1DeviceContext4* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext4_PopLayer(ID2D1DeviceContext4* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1DeviceContext4_Flush(ID2D1DeviceContext4* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1DeviceContext4_SaveDrawingState(ID2D1DeviceContext4* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1DeviceContext4_RestoreDrawingState(ID2D1DeviceContext4* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1DeviceContext4_PushAxisAlignedClip(ID2D1DeviceContext4* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1DeviceContext4_PopAxisAlignedClip(ID2D1DeviceContext4* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1DeviceContext4_Clear(ID2D1DeviceContext4* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1DeviceContext4_BeginDraw(ID2D1DeviceContext4* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1DeviceContext4_EndDraw(ID2D1DeviceContext4* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1DeviceContext4_GetPixelFormat(ID2D1DeviceContext4* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1DeviceContext4_SetDpi(ID2D1DeviceContext4* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1DeviceContext4_GetDpi(ID2D1DeviceContext4* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1DeviceContext4_GetSize(ID2D1DeviceContext4* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1DeviceContext4_GetPixelSize(ID2D1DeviceContext4* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1DeviceContext4_GetMaximumBitmapSize(ID2D1DeviceContext4* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1DeviceContext4_IsSupported(ID2D1DeviceContext4* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1DeviceContext methods ***/ static inline HRESULT ID2D1DeviceContext4_CreateBitmap(ID2D1DeviceContext4* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1DeviceContext4_CreateBitmapFromWicBitmap(ID2D1DeviceContext4* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1DeviceContext4_CreateColorContext(ID2D1DeviceContext4* This,D2D1_COLOR_SPACE space,const BYTE *profile,UINT32 profile_size,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context); } static inline HRESULT ID2D1DeviceContext4_CreateColorContextFromFilename(ID2D1DeviceContext4* This,const WCHAR *filename,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromFilename(This,filename,color_context); } static inline HRESULT ID2D1DeviceContext4_CreateColorContextFromWicColorContext(ID2D1DeviceContext4* This,IWICColorContext *wic_color_context,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context); } static inline HRESULT ID2D1DeviceContext4_CreateBitmapFromDxgiSurface(ID2D1DeviceContext4* This,IDXGISurface *surface,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap); } static inline HRESULT ID2D1DeviceContext4_CreateEffect(ID2D1DeviceContext4* This,REFCLSID effect_id,ID2D1Effect **effect) { return This->lpVtbl->CreateEffect(This,effect_id,effect); } static inline HRESULT ID2D1DeviceContext4_CreateGradientStopCollection(ID2D1DeviceContext4* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_COLOR_SPACE preinterpolation_space,D2D1_COLOR_SPACE postinterpolation_space,D2D1_BUFFER_PRECISION buffer_precision,D2D1_EXTEND_MODE extend_mode,D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode,ID2D1GradientStopCollection1 **gradient) { return This->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient); } static inline HRESULT ID2D1DeviceContext4_CreateImageBrush(ID2D1DeviceContext4* This,ID2D1Image *image,const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1ImageBrush **brush) { return This->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1DeviceContext4_CreateBitmapBrush(ID2D1DeviceContext4* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush1 **bitmap_brush) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush); } static inline HRESULT ID2D1DeviceContext4_CreateCommandList(ID2D1DeviceContext4* This,ID2D1CommandList **command_list) { return This->lpVtbl->CreateCommandList(This,command_list); } static inline BOOL ID2D1DeviceContext4_IsDxgiFormatSupported(ID2D1DeviceContext4* This,DXGI_FORMAT format) { return This->lpVtbl->IsDxgiFormatSupported(This,format); } static inline BOOL ID2D1DeviceContext4_IsBufferPrecisionSupported(ID2D1DeviceContext4* This,D2D1_BUFFER_PRECISION buffer_precision) { return This->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision); } static inline HRESULT ID2D1DeviceContext4_GetImageLocalBounds(ID2D1DeviceContext4* This,ID2D1Image *image,D2D1_RECT_F *local_bounds) { return This->lpVtbl->GetImageLocalBounds(This,image,local_bounds); } static inline HRESULT ID2D1DeviceContext4_GetImageWorldBounds(ID2D1DeviceContext4* This,ID2D1Image *image,D2D1_RECT_F *world_bounds) { return This->lpVtbl->GetImageWorldBounds(This,image,world_bounds); } static inline HRESULT ID2D1DeviceContext4_GetGlyphRunWorldBounds(ID2D1DeviceContext4* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds); } static inline void ID2D1DeviceContext4_GetDevice(ID2D1DeviceContext4* This,ID2D1Device **device) { This->lpVtbl->GetDevice(This,device); } static inline void ID2D1DeviceContext4_SetTarget(ID2D1DeviceContext4* This,ID2D1Image *target) { This->lpVtbl->SetTarget(This,target); } static inline void ID2D1DeviceContext4_GetTarget(ID2D1DeviceContext4* This,ID2D1Image **target) { This->lpVtbl->GetTarget(This,target); } static inline void ID2D1DeviceContext4_SetRenderingControls(ID2D1DeviceContext4* This,const D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->SetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext4_GetRenderingControls(ID2D1DeviceContext4* This,D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->GetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext4_SetPrimitiveBlend(ID2D1DeviceContext4* This,D2D1_PRIMITIVE_BLEND primitive_blend) { This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline D2D1_PRIMITIVE_BLEND ID2D1DeviceContext4_GetPrimitiveBlend(ID2D1DeviceContext4* This) { return This->lpVtbl->GetPrimitiveBlend(This); } static inline void ID2D1DeviceContext4_SetUnitMode(ID2D1DeviceContext4* This,D2D1_UNIT_MODE unit_mode) { This->lpVtbl->SetUnitMode(This,unit_mode); } static inline D2D1_UNIT_MODE ID2D1DeviceContext4_GetUnitMode(ID2D1DeviceContext4* This) { return This->lpVtbl->GetUnitMode(This); } static inline void ID2D1DeviceContext4_DrawGlyphRun(ID2D1DeviceContext4* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline void ID2D1DeviceContext4_DrawImage(ID2D1DeviceContext4* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline void ID2D1DeviceContext4_DrawBitmap(ID2D1DeviceContext4* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { This->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline void ID2D1DeviceContext4_PushLayer(ID2D1DeviceContext4* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1DeviceContext4_InvalidateEffectInputRectangle(ID2D1DeviceContext4* This,ID2D1Effect *effect,UINT32 input,const D2D1_RECT_F *input_rect) { return This->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect); } static inline HRESULT ID2D1DeviceContext4_GetEffectInvalidRectangleCount(ID2D1DeviceContext4* This,ID2D1Effect *effect,UINT32 *rect_count) { return This->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count); } static inline HRESULT ID2D1DeviceContext4_GetEffectInvalidRectangles(ID2D1DeviceContext4* This,ID2D1Effect *effect,D2D1_RECT_F *rectangles,UINT32 rect_count) { return This->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count); } static inline HRESULT ID2D1DeviceContext4_GetEffectRequiredInputRectangles(ID2D1DeviceContext4* This,ID2D1Effect *effect,const D2D1_RECT_F *image_rect,const D2D1_EFFECT_INPUT_DESCRIPTION *desc,D2D1_RECT_F *input_rect,UINT32 input_count) { return This->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count); } static inline void ID2D1DeviceContext4_FillOpacityMask(ID2D1DeviceContext4* This,ID2D1Bitmap *mask,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect); } /*** ID2D1DeviceContext1 methods ***/ static inline HRESULT ID2D1DeviceContext4_CreateFilledGeometryRealization(ID2D1DeviceContext4* This,ID2D1Geometry *geometry,float tolerance,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization); } static inline HRESULT ID2D1DeviceContext4_CreateStrokedGeometryRealization(ID2D1DeviceContext4* This,ID2D1Geometry *geometry,float tolerance,float stroke_width,ID2D1StrokeStyle *stroke_style,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization); } static inline void ID2D1DeviceContext4_DrawGeometryRealization(ID2D1DeviceContext4* This,ID2D1GeometryRealization *realization,ID2D1Brush *brush) { This->lpVtbl->DrawGeometryRealization(This,realization,brush); } /*** ID2D1DeviceContext2 methods ***/ static inline HRESULT ID2D1DeviceContext4_CreateInk(ID2D1DeviceContext4* This,const D2D1_INK_POINT *start_point,ID2D1Ink **ink) { return This->lpVtbl->CreateInk(This,start_point,ink); } static inline HRESULT ID2D1DeviceContext4_CreateInkStyle(ID2D1DeviceContext4* This,const D2D1_INK_STYLE_PROPERTIES *ink_style_properties,ID2D1InkStyle **ink_style) { return This->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style); } static inline HRESULT ID2D1DeviceContext4_CreateGradientMesh(ID2D1DeviceContext4* This,const D2D1_GRADIENT_MESH_PATCH *patches,UINT32 patches_count,ID2D1GradientMesh **gradient_mesh) { return This->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh); } static inline HRESULT ID2D1DeviceContext4_CreateImageSourceFromWic(ID2D1DeviceContext4* This,IWICBitmapSource *wic_bitmap_source,D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options,D2D1_ALPHA_MODE alpha_mode,ID2D1ImageSourceFromWic **image_source) { return This->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source); } static inline HRESULT ID2D1DeviceContext4_CreateLookupTable3D(ID2D1DeviceContext4* This,D2D1_BUFFER_PRECISION precision,const UINT32 *extents,const BYTE *data,UINT32 data_count,const UINT32 *strides,ID2D1LookupTable3D **lookup_table) { return This->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table); } static inline HRESULT ID2D1DeviceContext4_CreateImageSourceFromDxgi(ID2D1DeviceContext4* This,IDXGISurface **surfaces,UINT32 surface_count,DXGI_COLOR_SPACE_TYPE color_space,D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,ID2D1ImageSource **image_source) { return This->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source); } static inline HRESULT ID2D1DeviceContext4_GetGradientMeshWorldBounds(ID2D1DeviceContext4* This,ID2D1GradientMesh *gradient_mesh,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds); } static inline void ID2D1DeviceContext4_DrawInk(ID2D1DeviceContext4* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline void ID2D1DeviceContext4_DrawGradientMesh(ID2D1DeviceContext4* This,ID2D1GradientMesh *gradient_mesh) { This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline void ID2D1DeviceContext4_DrawGdiMetafile(ID2D1DeviceContext4* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect); } static inline HRESULT ID2D1DeviceContext4_CreateTransformedImageSource(ID2D1DeviceContext4* This,ID2D1ImageSource *source,const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props,ID2D1TransformedImageSource **transformed) { return This->lpVtbl->CreateTransformedImageSource(This,source,props,transformed); } /*** ID2D1DeviceContext3 methods ***/ static inline HRESULT ID2D1DeviceContext4_CreateSpriteBatch(ID2D1DeviceContext4* This,ID2D1SpriteBatch **sprite_batch) { return This->lpVtbl->CreateSpriteBatch(This,sprite_batch); } static inline void ID2D1DeviceContext4_DrawSpriteBatch(ID2D1DeviceContext4* This,ID2D1SpriteBatch *sprite_batch,UINT32 start_index,UINT32 sprite_count,ID2D1Bitmap *bitmap,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,D2D1_SPRITE_OPTIONS sprite_options) { This->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options); } /*** ID2D1DeviceContext4 methods ***/ static inline HRESULT ID2D1DeviceContext4_CreateSvgGlyphStyle(ID2D1DeviceContext4* This,ID2D1SvgGlyphStyle **svg_glyph_style) { return This->lpVtbl->CreateSvgGlyphStyle(This,svg_glyph_style); } static inline void ID2D1DeviceContext4_DrawText(ID2D1DeviceContext4* This,const WCHAR *string,UINT32 string_length,IDWriteTextFormat *text_format,const D2D1_RECT_F *layout_rect,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_DRAW_TEXT_OPTIONS options,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode); } static inline void ID2D1DeviceContext4_DrawTextLayout(ID2D1DeviceContext4* This,D2D1_POINT_2F origin,IDWriteTextLayout *text_layout,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_DRAW_TEXT_OPTIONS options) { This->lpVtbl->ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options); } static inline void ID2D1DeviceContext4_DrawColorBitmapGlyphRun(ID2D1DeviceContext4* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option) { This->lpVtbl->DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option); } static inline void ID2D1DeviceContext4_DrawSvgGlyphRun(ID2D1DeviceContext4* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode); } static inline HRESULT ID2D1DeviceContext4_GetColorBitmapGlyphImage(ID2D1DeviceContext4* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,D2D1_POINT_2F glyph_origin,IDWriteFontFace *font_face,FLOAT font_em_size,UINT16 glyph_index,BOOL is_sideways,const D2D1_MATRIX_3X2_F *world_transform,FLOAT dpi_x,FLOAT dpi_y,D2D1_MATRIX_3X2_F *glyph_transform,ID2D1Image **glyph_image) { return This->lpVtbl->GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image); } static inline HRESULT ID2D1DeviceContext4_GetSvgGlyphImage(ID2D1DeviceContext4* This,D2D1_POINT_2F glyph_origin,IDWriteFontFace *font_face,FLOAT font_em_size,UINT16 glyph_index,BOOL is_sideways,const D2D1_MATRIX_3X2_F *world_transform,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_MATRIX_3X2_F *glyph_transform,ID2D1CommandList **glyph_image) { return This->lpVtbl->GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image); } #endif #endif #endif #endif /* __ID2D1DeviceContext4_INTERFACE_DEFINED__ */ #ifndef __ID2D1SvgDocument_FWD_DEFINED__ #define __ID2D1SvgDocument_FWD_DEFINED__ typedef interface ID2D1SvgDocument ID2D1SvgDocument; #ifdef __cplusplus interface ID2D1SvgDocument; #endif /* __cplusplus */ #endif /***************************************************************************** * ID2D1ColorContext1 interface */ #ifndef __ID2D1ColorContext1_INTERFACE_DEFINED__ #define __ID2D1ColorContext1_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1ColorContext1, 0x1ab42875, 0xc57f, 0x4be9, 0xbd,0x85, 0x9c,0xd7,0x8d,0x6f,0x55,0xee); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("1ab42875-c57f-4be9-bd85-9cd78d6f55ee") ID2D1ColorContext1 : public ID2D1ColorContext { virtual D2D1_COLOR_CONTEXT_TYPE STDMETHODCALLTYPE GetColorContextType( ) = 0; virtual DXGI_COLOR_SPACE_TYPE STDMETHODCALLTYPE GetDXGIColorSpace( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetSimpleColorProfile( D2D1_SIMPLE_COLOR_PROFILE *simple_profile) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1ColorContext1, 0x1ab42875, 0xc57f, 0x4be9, 0xbd,0x85, 0x9c,0xd7,0x8d,0x6f,0x55,0xee) #endif #else typedef struct ID2D1ColorContext1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1ColorContext1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1ColorContext1 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1ColorContext1 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1ColorContext1 *This, ID2D1Factory **factory); /*** ID2D1ColorContext methods ***/ D2D1_COLOR_SPACE (STDMETHODCALLTYPE *GetColorSpace)( ID2D1ColorContext1 *This); UINT32 (STDMETHODCALLTYPE *GetProfileSize)( ID2D1ColorContext1 *This); HRESULT (STDMETHODCALLTYPE *GetProfile)( ID2D1ColorContext1 *This, BYTE *profile, UINT32 size); /*** ID2D1ColorContext1 methods ***/ D2D1_COLOR_CONTEXT_TYPE (STDMETHODCALLTYPE *GetColorContextType)( ID2D1ColorContext1 *This); DXGI_COLOR_SPACE_TYPE (STDMETHODCALLTYPE *GetDXGIColorSpace)( ID2D1ColorContext1 *This); HRESULT (STDMETHODCALLTYPE *GetSimpleColorProfile)( ID2D1ColorContext1 *This, D2D1_SIMPLE_COLOR_PROFILE *simple_profile); END_INTERFACE } ID2D1ColorContext1Vtbl; interface ID2D1ColorContext1 { CONST_VTBL ID2D1ColorContext1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1ColorContext1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1ColorContext1_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1ColorContext1_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1ColorContext1_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1ColorContext methods ***/ #define ID2D1ColorContext1_GetColorSpace(This) (This)->lpVtbl->GetColorSpace(This) #define ID2D1ColorContext1_GetProfileSize(This) (This)->lpVtbl->GetProfileSize(This) #define ID2D1ColorContext1_GetProfile(This,profile,size) (This)->lpVtbl->GetProfile(This,profile,size) /*** ID2D1ColorContext1 methods ***/ #define ID2D1ColorContext1_GetColorContextType(This) (This)->lpVtbl->GetColorContextType(This) #define ID2D1ColorContext1_GetDXGIColorSpace(This) (This)->lpVtbl->GetDXGIColorSpace(This) #define ID2D1ColorContext1_GetSimpleColorProfile(This,simple_profile) (This)->lpVtbl->GetSimpleColorProfile(This,simple_profile) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1ColorContext1_QueryInterface(ID2D1ColorContext1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1ColorContext1_AddRef(ID2D1ColorContext1* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1ColorContext1_Release(ID2D1ColorContext1* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1ColorContext1_GetFactory(ID2D1ColorContext1* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1ColorContext methods ***/ static inline D2D1_COLOR_SPACE ID2D1ColorContext1_GetColorSpace(ID2D1ColorContext1* This) { return This->lpVtbl->GetColorSpace(This); } static inline UINT32 ID2D1ColorContext1_GetProfileSize(ID2D1ColorContext1* This) { return This->lpVtbl->GetProfileSize(This); } static inline HRESULT ID2D1ColorContext1_GetProfile(ID2D1ColorContext1* This,BYTE *profile,UINT32 size) { return This->lpVtbl->GetProfile(This,profile,size); } /*** ID2D1ColorContext1 methods ***/ static inline D2D1_COLOR_CONTEXT_TYPE ID2D1ColorContext1_GetColorContextType(ID2D1ColorContext1* This) { return This->lpVtbl->GetColorContextType(This); } static inline DXGI_COLOR_SPACE_TYPE ID2D1ColorContext1_GetDXGIColorSpace(ID2D1ColorContext1* This) { return This->lpVtbl->GetDXGIColorSpace(This); } static inline HRESULT ID2D1ColorContext1_GetSimpleColorProfile(ID2D1ColorContext1* This,D2D1_SIMPLE_COLOR_PROFILE *simple_profile) { return This->lpVtbl->GetSimpleColorProfile(This,simple_profile); } #endif #endif #endif #endif /* __ID2D1ColorContext1_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1DeviceContext5 interface */ #ifndef __ID2D1DeviceContext5_INTERFACE_DEFINED__ #define __ID2D1DeviceContext5_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1DeviceContext5, 0x7836d248, 0x68cc, 0x4df6, 0xb9,0xe8, 0xde,0x99,0x1b,0xf6,0x2e,0xb7); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7836d248-68cc-4df6-b9e8-de991bf62eb7") ID2D1DeviceContext5 : public ID2D1DeviceContext4 { virtual HRESULT STDMETHODCALLTYPE CreateSvgDocument( IStream *input_xml_stream, D2D1_SIZE_F viewport_size, ID2D1SvgDocument **svg_document) = 0; virtual void STDMETHODCALLTYPE DrawSvgDocument( ID2D1SvgDocument *svg_document) = 0; virtual HRESULT STDMETHODCALLTYPE CreateColorContextFromDxgiColorSpace( DXGI_COLOR_SPACE_TYPE color_space, ID2D1ColorContext1 **color_context) = 0; virtual HRESULT STDMETHODCALLTYPE CreateColorContextFromSimpleColorProfile( const D2D1_SIMPLE_COLOR_PROFILE *simple_profile, ID2D1ColorContext1 **color_context) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1DeviceContext5, 0x7836d248, 0x68cc, 0x4df6, 0xb9,0xe8, 0xde,0x99,0x1b,0xf6,0x2e,0xb7) #endif #else typedef struct ID2D1DeviceContext5Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1DeviceContext5 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1DeviceContext5 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1DeviceContext5 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1DeviceContext5 *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1DeviceContext5 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1DeviceContext5 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1DeviceContext5 *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1DeviceContext5 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1DeviceContext5 *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1DeviceContext5 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1DeviceContext5 *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1DeviceContext5 *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1DeviceContext5 *This, const D2D1_SIZE_F *size, const D2D1_SIZE_U *pixel_size, const D2D1_PIXEL_FORMAT *format, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateLayer)( ID2D1DeviceContext5 *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1DeviceContext5 *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1DeviceContext5 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1DeviceContext5 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1DeviceContext5 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1DeviceContext5 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1DeviceContext5 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1DeviceContext5 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1DeviceContext5 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1DeviceContext5 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1DeviceContext5 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1DeviceContext5 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1DeviceContext5 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawBitmap)( ID2D1DeviceContext5 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawText)( ID2D1DeviceContext5 *This, const WCHAR *string, UINT32 string_len, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawTextLayout)( ID2D1DeviceContext5 *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1DeviceContext5 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1DeviceContext5 *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1DeviceContext5 *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1DeviceContext5 *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1DeviceContext5 *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1DeviceContext5 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1DeviceContext5 *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1DeviceContext5 *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1DeviceContext5 *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1DeviceContext5 *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1DeviceContext5 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1DeviceContext5 *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1DeviceContext5 *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1DeviceContext5 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1DeviceContext5 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1DeviceContext5 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1DeviceContext5 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1DeviceContext5 *This); void (STDMETHODCALLTYPE *Clear)( ID2D1DeviceContext5 *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1DeviceContext5 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1DeviceContext5 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1DeviceContext5 *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1DeviceContext5 *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1DeviceContext5 *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1DeviceContext5 *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1DeviceContext5 *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1DeviceContext5 *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1DeviceContext5 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1DeviceContext methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmap)( ID2D1DeviceContext5 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapFromWicBitmap)( ID2D1DeviceContext5 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateColorContext)( ID2D1DeviceContext5 *This, D2D1_COLOR_SPACE space, const BYTE *profile, UINT32 profile_size, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromFilename)( ID2D1DeviceContext5 *This, const WCHAR *filename, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromWicColorContext)( ID2D1DeviceContext5 *This, IWICColorContext *wic_color_context, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromDxgiSurface)( ID2D1DeviceContext5 *This, IDXGISurface *surface, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateEffect)( ID2D1DeviceContext5 *This, REFCLSID effect_id, ID2D1Effect **effect); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateGradientStopCollection)( ID2D1DeviceContext5 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_COLOR_SPACE preinterpolation_space, D2D1_COLOR_SPACE postinterpolation_space, D2D1_BUFFER_PRECISION buffer_precision, D2D1_EXTEND_MODE extend_mode, D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode, ID2D1GradientStopCollection1 **gradient); HRESULT (STDMETHODCALLTYPE *CreateImageBrush)( ID2D1DeviceContext5 *This, ID2D1Image *image, const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1ImageBrush **brush); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapBrush)( ID2D1DeviceContext5 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush1 **bitmap_brush); HRESULT (STDMETHODCALLTYPE *CreateCommandList)( ID2D1DeviceContext5 *This, ID2D1CommandList **command_list); BOOL (STDMETHODCALLTYPE *IsDxgiFormatSupported)( ID2D1DeviceContext5 *This, DXGI_FORMAT format); BOOL (STDMETHODCALLTYPE *IsBufferPrecisionSupported)( ID2D1DeviceContext5 *This, D2D1_BUFFER_PRECISION buffer_precision); HRESULT (STDMETHODCALLTYPE *GetImageLocalBounds)( ID2D1DeviceContext5 *This, ID2D1Image *image, D2D1_RECT_F *local_bounds); HRESULT (STDMETHODCALLTYPE *GetImageWorldBounds)( ID2D1DeviceContext5 *This, ID2D1Image *image, D2D1_RECT_F *world_bounds); HRESULT (STDMETHODCALLTYPE *GetGlyphRunWorldBounds)( ID2D1DeviceContext5 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *GetDevice)( ID2D1DeviceContext5 *This, ID2D1Device **device); void (STDMETHODCALLTYPE *SetTarget)( ID2D1DeviceContext5 *This, ID2D1Image *target); void (STDMETHODCALLTYPE *GetTarget)( ID2D1DeviceContext5 *This, ID2D1Image **target); void (STDMETHODCALLTYPE *SetRenderingControls)( ID2D1DeviceContext5 *This, const D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *GetRenderingControls)( ID2D1DeviceContext5 *This, D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1DeviceContext5 *This, D2D1_PRIMITIVE_BLEND primitive_blend); D2D1_PRIMITIVE_BLEND (STDMETHODCALLTYPE *GetPrimitiveBlend)( ID2D1DeviceContext5 *This); void (STDMETHODCALLTYPE *SetUnitMode)( ID2D1DeviceContext5 *This, D2D1_UNIT_MODE unit_mode); D2D1_UNIT_MODE (STDMETHODCALLTYPE *GetUnitMode)( ID2D1DeviceContext5 *This); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawGlyphRun)( ID2D1DeviceContext5 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawImage)( ID2D1DeviceContext5 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); void (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1DeviceContext5 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawBitmap)( ID2D1DeviceContext5 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); void (STDMETHODCALLTYPE *ID2D1DeviceContext_PushLayer)( ID2D1DeviceContext5 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *InvalidateEffectInputRectangle)( ID2D1DeviceContext5 *This, ID2D1Effect *effect, UINT32 input, const D2D1_RECT_F *input_rect); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangleCount)( ID2D1DeviceContext5 *This, ID2D1Effect *effect, UINT32 *rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangles)( ID2D1DeviceContext5 *This, ID2D1Effect *effect, D2D1_RECT_F *rectangles, UINT32 rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectRequiredInputRectangles)( ID2D1DeviceContext5 *This, ID2D1Effect *effect, const D2D1_RECT_F *image_rect, const D2D1_EFFECT_INPUT_DESCRIPTION *desc, D2D1_RECT_F *input_rect, UINT32 input_count); void (STDMETHODCALLTYPE *ID2D1DeviceContext_FillOpacityMask)( ID2D1DeviceContext5 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); /*** ID2D1DeviceContext1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFilledGeometryRealization)( ID2D1DeviceContext5 *This, ID2D1Geometry *geometry, float tolerance, ID2D1GeometryRealization **realization); HRESULT (STDMETHODCALLTYPE *CreateStrokedGeometryRealization)( ID2D1DeviceContext5 *This, ID2D1Geometry *geometry, float tolerance, float stroke_width, ID2D1StrokeStyle *stroke_style, ID2D1GeometryRealization **realization); void (STDMETHODCALLTYPE *DrawGeometryRealization)( ID2D1DeviceContext5 *This, ID2D1GeometryRealization *realization, ID2D1Brush *brush); /*** ID2D1DeviceContext2 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateInk)( ID2D1DeviceContext5 *This, const D2D1_INK_POINT *start_point, ID2D1Ink **ink); HRESULT (STDMETHODCALLTYPE *CreateInkStyle)( ID2D1DeviceContext5 *This, const D2D1_INK_STYLE_PROPERTIES *ink_style_properties, ID2D1InkStyle **ink_style); HRESULT (STDMETHODCALLTYPE *CreateGradientMesh)( ID2D1DeviceContext5 *This, const D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patches_count, ID2D1GradientMesh **gradient_mesh); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromWic)( ID2D1DeviceContext5 *This, IWICBitmapSource *wic_bitmap_source, D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options, D2D1_ALPHA_MODE alpha_mode, ID2D1ImageSourceFromWic **image_source); HRESULT (STDMETHODCALLTYPE *CreateLookupTable3D)( ID2D1DeviceContext5 *This, D2D1_BUFFER_PRECISION precision, const UINT32 *extents, const BYTE *data, UINT32 data_count, const UINT32 *strides, ID2D1LookupTable3D **lookup_table); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromDxgi)( ID2D1DeviceContext5 *This, IDXGISurface **surfaces, UINT32 surface_count, DXGI_COLOR_SPACE_TYPE color_space, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options, ID2D1ImageSource **image_source); HRESULT (STDMETHODCALLTYPE *GetGradientMeshWorldBounds)( ID2D1DeviceContext5 *This, ID2D1GradientMesh *gradient_mesh, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *DrawInk)( ID2D1DeviceContext5 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); void (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1DeviceContext5 *This, ID2D1GradientMesh *gradient_mesh); void (STDMETHODCALLTYPE *ID2D1DeviceContext2_DrawGdiMetafile)( ID2D1DeviceContext5 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *CreateTransformedImageSource)( ID2D1DeviceContext5 *This, ID2D1ImageSource *source, const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props, ID2D1TransformedImageSource **transformed); /*** ID2D1DeviceContext3 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSpriteBatch)( ID2D1DeviceContext5 *This, ID2D1SpriteBatch **sprite_batch); void (STDMETHODCALLTYPE *DrawSpriteBatch)( ID2D1DeviceContext5 *This, ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options); /*** ID2D1DeviceContext4 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSvgGlyphStyle)( ID2D1DeviceContext5 *This, ID2D1SvgGlyphStyle **svg_glyph_style); void (STDMETHODCALLTYPE *ID2D1DeviceContext4_DrawText)( ID2D1DeviceContext5 *This, const WCHAR *string, UINT32 string_length, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *ID2D1DeviceContext4_DrawTextLayout)( ID2D1DeviceContext5 *This, D2D1_POINT_2F origin, IDWriteTextLayout *text_layout, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawColorBitmapGlyphRun)( ID2D1DeviceContext5 *This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option); void (STDMETHODCALLTYPE *DrawSvgGlyphRun)( ID2D1DeviceContext5 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, DWRITE_MEASURING_MODE measuring_mode); HRESULT (STDMETHODCALLTYPE *GetColorBitmapGlyphImage)( ID2D1DeviceContext5 *This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, FLOAT dpi_x, FLOAT dpi_y, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1Image **glyph_image); HRESULT (STDMETHODCALLTYPE *GetSvgGlyphImage)( ID2D1DeviceContext5 *This, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1CommandList **glyph_image); /*** ID2D1DeviceContext5 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSvgDocument)( ID2D1DeviceContext5 *This, IStream *input_xml_stream, D2D1_SIZE_F viewport_size, ID2D1SvgDocument **svg_document); void (STDMETHODCALLTYPE *DrawSvgDocument)( ID2D1DeviceContext5 *This, ID2D1SvgDocument *svg_document); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromDxgiColorSpace)( ID2D1DeviceContext5 *This, DXGI_COLOR_SPACE_TYPE color_space, ID2D1ColorContext1 **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromSimpleColorProfile)( ID2D1DeviceContext5 *This, const D2D1_SIMPLE_COLOR_PROFILE *simple_profile, ID2D1ColorContext1 **color_context); END_INTERFACE } ID2D1DeviceContext5Vtbl; interface ID2D1DeviceContext5 { CONST_VTBL ID2D1DeviceContext5Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1DeviceContext5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1DeviceContext5_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1DeviceContext5_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1DeviceContext5_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1DeviceContext5_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1DeviceContext5_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1DeviceContext5_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext5_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext5_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1DeviceContext5_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1DeviceContext5_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1DeviceContext5_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1DeviceContext5_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext5_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1DeviceContext5_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext5_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1DeviceContext5_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1DeviceContext5_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1DeviceContext5_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1DeviceContext5_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1DeviceContext5_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1DeviceContext5_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1DeviceContext5_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1DeviceContext5_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext5_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1DeviceContext5_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext5_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1DeviceContext5_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext5_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext5_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1DeviceContext5_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1DeviceContext5_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1DeviceContext5_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1DeviceContext5_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1DeviceContext5_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1DeviceContext5_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1DeviceContext5_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1DeviceContext5_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1DeviceContext5_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1DeviceContext5_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1DeviceContext5_GetPixelFormat(This) ID2D1DeviceContext5_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext5_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext5_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext5_GetSize(This) ID2D1DeviceContext5_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext5_GetPixelSize(This) ID2D1DeviceContext5_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext5_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1DeviceContext5_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1DeviceContext methods ***/ #define ID2D1DeviceContext5_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1DeviceContext5_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1DeviceContext5_CreateColorContext(This,space,profile,profile_size,color_context) (This)->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context) #define ID2D1DeviceContext5_CreateColorContextFromFilename(This,filename,color_context) (This)->lpVtbl->CreateColorContextFromFilename(This,filename,color_context) #define ID2D1DeviceContext5_CreateColorContextFromWicColorContext(This,wic_color_context,color_context) (This)->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context) #define ID2D1DeviceContext5_CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) (This)->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) #define ID2D1DeviceContext5_CreateEffect(This,effect_id,effect) (This)->lpVtbl->CreateEffect(This,effect_id,effect) #define ID2D1DeviceContext5_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) (This)->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) #define ID2D1DeviceContext5_CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) #define ID2D1DeviceContext5_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) #define ID2D1DeviceContext5_CreateCommandList(This,command_list) (This)->lpVtbl->CreateCommandList(This,command_list) #define ID2D1DeviceContext5_IsDxgiFormatSupported(This,format) (This)->lpVtbl->IsDxgiFormatSupported(This,format) #define ID2D1DeviceContext5_IsBufferPrecisionSupported(This,buffer_precision) (This)->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision) #define ID2D1DeviceContext5_GetImageLocalBounds(This,image,local_bounds) (This)->lpVtbl->GetImageLocalBounds(This,image,local_bounds) #define ID2D1DeviceContext5_GetImageWorldBounds(This,image,world_bounds) (This)->lpVtbl->GetImageWorldBounds(This,image,world_bounds) #define ID2D1DeviceContext5_GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) (This)->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) #define ID2D1DeviceContext5_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define ID2D1DeviceContext5_SetTarget(This,target) (This)->lpVtbl->SetTarget(This,target) #define ID2D1DeviceContext5_GetTarget(This,target) (This)->lpVtbl->GetTarget(This,target) #define ID2D1DeviceContext5_SetRenderingControls(This,rendering_controls) (This)->lpVtbl->SetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext5_GetRenderingControls(This,rendering_controls) (This)->lpVtbl->GetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext5_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1DeviceContext5_GetPrimitiveBlend(This) (This)->lpVtbl->GetPrimitiveBlend(This) #define ID2D1DeviceContext5_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1DeviceContext5_GetUnitMode(This) (This)->lpVtbl->GetUnitMode(This) #define ID2D1DeviceContext5_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1DeviceContext5_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1DeviceContext5_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1DeviceContext5_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer) #define ID2D1DeviceContext5_InvalidateEffectInputRectangle(This,effect,input,input_rect) (This)->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect) #define ID2D1DeviceContext5_GetEffectInvalidRectangleCount(This,effect,rect_count) (This)->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count) #define ID2D1DeviceContext5_GetEffectInvalidRectangles(This,effect,rectangles,rect_count) (This)->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count) #define ID2D1DeviceContext5_GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) (This)->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) #define ID2D1DeviceContext5_FillOpacityMask(This,mask,brush,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect) /*** ID2D1DeviceContext1 methods ***/ #define ID2D1DeviceContext5_CreateFilledGeometryRealization(This,geometry,tolerance,realization) (This)->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization) #define ID2D1DeviceContext5_CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) (This)->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) #define ID2D1DeviceContext5_DrawGeometryRealization(This,realization,brush) (This)->lpVtbl->DrawGeometryRealization(This,realization,brush) /*** ID2D1DeviceContext2 methods ***/ #define ID2D1DeviceContext5_CreateInk(This,start_point,ink) (This)->lpVtbl->CreateInk(This,start_point,ink) #define ID2D1DeviceContext5_CreateInkStyle(This,ink_style_properties,ink_style) (This)->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style) #define ID2D1DeviceContext5_CreateGradientMesh(This,patches,patches_count,gradient_mesh) (This)->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh) #define ID2D1DeviceContext5_CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) (This)->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) #define ID2D1DeviceContext5_CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) (This)->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) #define ID2D1DeviceContext5_CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) (This)->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) #define ID2D1DeviceContext5_GetGradientMeshWorldBounds(This,gradient_mesh,bounds) (This)->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds) #define ID2D1DeviceContext5_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1DeviceContext5_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1DeviceContext5_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) #define ID2D1DeviceContext5_CreateTransformedImageSource(This,source,props,transformed) (This)->lpVtbl->CreateTransformedImageSource(This,source,props,transformed) /*** ID2D1DeviceContext3 methods ***/ #define ID2D1DeviceContext5_CreateSpriteBatch(This,sprite_batch) (This)->lpVtbl->CreateSpriteBatch(This,sprite_batch) #define ID2D1DeviceContext5_DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) (This)->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) /*** ID2D1DeviceContext4 methods ***/ #define ID2D1DeviceContext5_CreateSvgGlyphStyle(This,svg_glyph_style) (This)->lpVtbl->CreateSvgGlyphStyle(This,svg_glyph_style) #define ID2D1DeviceContext5_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode) #define ID2D1DeviceContext5_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options) (This)->lpVtbl->ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options) #define ID2D1DeviceContext5_DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option) (This)->lpVtbl->DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option) #define ID2D1DeviceContext5_DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode) (This)->lpVtbl->DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode) #define ID2D1DeviceContext5_GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image) (This)->lpVtbl->GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image) #define ID2D1DeviceContext5_GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image) (This)->lpVtbl->GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image) /*** ID2D1DeviceContext5 methods ***/ #define ID2D1DeviceContext5_CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document) (This)->lpVtbl->CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document) #define ID2D1DeviceContext5_DrawSvgDocument(This,svg_document) (This)->lpVtbl->DrawSvgDocument(This,svg_document) #define ID2D1DeviceContext5_CreateColorContextFromDxgiColorSpace(This,color_space,color_context) (This)->lpVtbl->CreateColorContextFromDxgiColorSpace(This,color_space,color_context) #define ID2D1DeviceContext5_CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context) (This)->lpVtbl->CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1DeviceContext5_QueryInterface(ID2D1DeviceContext5* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1DeviceContext5_AddRef(ID2D1DeviceContext5* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1DeviceContext5_Release(ID2D1DeviceContext5* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1DeviceContext5_GetFactory(ID2D1DeviceContext5* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1DeviceContext5_CreateSharedBitmap(ID2D1DeviceContext5* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1DeviceContext5_CreateSolidColorBrush(ID2D1DeviceContext5* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1DeviceContext5_CreateLinearGradientBrush(ID2D1DeviceContext5* This,const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1LinearGradientBrush **brush) { return This->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext5_CreateRadialGradientBrush(ID2D1DeviceContext5* This,const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1RadialGradientBrush **brush) { return This->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext5_CreateCompatibleRenderTarget(ID2D1DeviceContext5* This,const D2D1_SIZE_F *size,const D2D1_SIZE_U *pixel_size,const D2D1_PIXEL_FORMAT *format,D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,ID2D1BitmapRenderTarget **render_target) { return This->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target); } static inline HRESULT ID2D1DeviceContext5_CreateLayer(ID2D1DeviceContext5* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1DeviceContext5_CreateMesh(ID2D1DeviceContext5* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1DeviceContext5_DrawLine(ID2D1DeviceContext5* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext5_DrawRectangle(ID2D1DeviceContext5* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext5_FillRectangle(ID2D1DeviceContext5* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1DeviceContext5_DrawRoundedRectangle(ID2D1DeviceContext5* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext5_FillRoundedRectangle(ID2D1DeviceContext5* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1DeviceContext5_DrawEllipse(ID2D1DeviceContext5* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext5_FillEllipse(ID2D1DeviceContext5* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1DeviceContext5_DrawGeometry(ID2D1DeviceContext5* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext5_FillGeometry(ID2D1DeviceContext5* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1DeviceContext5_FillMesh(ID2D1DeviceContext5* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1DeviceContext5_SetTransform(ID2D1DeviceContext5* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1DeviceContext5_GetTransform(ID2D1DeviceContext5* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1DeviceContext5_SetAntialiasMode(ID2D1DeviceContext5* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1DeviceContext5_GetAntialiasMode(ID2D1DeviceContext5* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1DeviceContext5_SetTextAntialiasMode(ID2D1DeviceContext5* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1DeviceContext5_GetTextAntialiasMode(ID2D1DeviceContext5* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1DeviceContext5_SetTextRenderingParams(ID2D1DeviceContext5* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext5_GetTextRenderingParams(ID2D1DeviceContext5* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext5_SetTags(ID2D1DeviceContext5* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext5_GetTags(ID2D1DeviceContext5* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext5_PopLayer(ID2D1DeviceContext5* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1DeviceContext5_Flush(ID2D1DeviceContext5* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1DeviceContext5_SaveDrawingState(ID2D1DeviceContext5* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1DeviceContext5_RestoreDrawingState(ID2D1DeviceContext5* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1DeviceContext5_PushAxisAlignedClip(ID2D1DeviceContext5* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1DeviceContext5_PopAxisAlignedClip(ID2D1DeviceContext5* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1DeviceContext5_Clear(ID2D1DeviceContext5* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1DeviceContext5_BeginDraw(ID2D1DeviceContext5* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1DeviceContext5_EndDraw(ID2D1DeviceContext5* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1DeviceContext5_GetPixelFormat(ID2D1DeviceContext5* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1DeviceContext5_SetDpi(ID2D1DeviceContext5* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1DeviceContext5_GetDpi(ID2D1DeviceContext5* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1DeviceContext5_GetSize(ID2D1DeviceContext5* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1DeviceContext5_GetPixelSize(ID2D1DeviceContext5* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1DeviceContext5_GetMaximumBitmapSize(ID2D1DeviceContext5* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1DeviceContext5_IsSupported(ID2D1DeviceContext5* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1DeviceContext methods ***/ static inline HRESULT ID2D1DeviceContext5_CreateBitmap(ID2D1DeviceContext5* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1DeviceContext5_CreateBitmapFromWicBitmap(ID2D1DeviceContext5* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1DeviceContext5_CreateColorContext(ID2D1DeviceContext5* This,D2D1_COLOR_SPACE space,const BYTE *profile,UINT32 profile_size,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context); } static inline HRESULT ID2D1DeviceContext5_CreateColorContextFromFilename(ID2D1DeviceContext5* This,const WCHAR *filename,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromFilename(This,filename,color_context); } static inline HRESULT ID2D1DeviceContext5_CreateColorContextFromWicColorContext(ID2D1DeviceContext5* This,IWICColorContext *wic_color_context,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context); } static inline HRESULT ID2D1DeviceContext5_CreateBitmapFromDxgiSurface(ID2D1DeviceContext5* This,IDXGISurface *surface,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap); } static inline HRESULT ID2D1DeviceContext5_CreateEffect(ID2D1DeviceContext5* This,REFCLSID effect_id,ID2D1Effect **effect) { return This->lpVtbl->CreateEffect(This,effect_id,effect); } static inline HRESULT ID2D1DeviceContext5_CreateGradientStopCollection(ID2D1DeviceContext5* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_COLOR_SPACE preinterpolation_space,D2D1_COLOR_SPACE postinterpolation_space,D2D1_BUFFER_PRECISION buffer_precision,D2D1_EXTEND_MODE extend_mode,D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode,ID2D1GradientStopCollection1 **gradient) { return This->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient); } static inline HRESULT ID2D1DeviceContext5_CreateImageBrush(ID2D1DeviceContext5* This,ID2D1Image *image,const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1ImageBrush **brush) { return This->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1DeviceContext5_CreateBitmapBrush(ID2D1DeviceContext5* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush1 **bitmap_brush) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush); } static inline HRESULT ID2D1DeviceContext5_CreateCommandList(ID2D1DeviceContext5* This,ID2D1CommandList **command_list) { return This->lpVtbl->CreateCommandList(This,command_list); } static inline BOOL ID2D1DeviceContext5_IsDxgiFormatSupported(ID2D1DeviceContext5* This,DXGI_FORMAT format) { return This->lpVtbl->IsDxgiFormatSupported(This,format); } static inline BOOL ID2D1DeviceContext5_IsBufferPrecisionSupported(ID2D1DeviceContext5* This,D2D1_BUFFER_PRECISION buffer_precision) { return This->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision); } static inline HRESULT ID2D1DeviceContext5_GetImageLocalBounds(ID2D1DeviceContext5* This,ID2D1Image *image,D2D1_RECT_F *local_bounds) { return This->lpVtbl->GetImageLocalBounds(This,image,local_bounds); } static inline HRESULT ID2D1DeviceContext5_GetImageWorldBounds(ID2D1DeviceContext5* This,ID2D1Image *image,D2D1_RECT_F *world_bounds) { return This->lpVtbl->GetImageWorldBounds(This,image,world_bounds); } static inline HRESULT ID2D1DeviceContext5_GetGlyphRunWorldBounds(ID2D1DeviceContext5* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds); } static inline void ID2D1DeviceContext5_GetDevice(ID2D1DeviceContext5* This,ID2D1Device **device) { This->lpVtbl->GetDevice(This,device); } static inline void ID2D1DeviceContext5_SetTarget(ID2D1DeviceContext5* This,ID2D1Image *target) { This->lpVtbl->SetTarget(This,target); } static inline void ID2D1DeviceContext5_GetTarget(ID2D1DeviceContext5* This,ID2D1Image **target) { This->lpVtbl->GetTarget(This,target); } static inline void ID2D1DeviceContext5_SetRenderingControls(ID2D1DeviceContext5* This,const D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->SetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext5_GetRenderingControls(ID2D1DeviceContext5* This,D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->GetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext5_SetPrimitiveBlend(ID2D1DeviceContext5* This,D2D1_PRIMITIVE_BLEND primitive_blend) { This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline D2D1_PRIMITIVE_BLEND ID2D1DeviceContext5_GetPrimitiveBlend(ID2D1DeviceContext5* This) { return This->lpVtbl->GetPrimitiveBlend(This); } static inline void ID2D1DeviceContext5_SetUnitMode(ID2D1DeviceContext5* This,D2D1_UNIT_MODE unit_mode) { This->lpVtbl->SetUnitMode(This,unit_mode); } static inline D2D1_UNIT_MODE ID2D1DeviceContext5_GetUnitMode(ID2D1DeviceContext5* This) { return This->lpVtbl->GetUnitMode(This); } static inline void ID2D1DeviceContext5_DrawGlyphRun(ID2D1DeviceContext5* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline void ID2D1DeviceContext5_DrawImage(ID2D1DeviceContext5* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline void ID2D1DeviceContext5_DrawBitmap(ID2D1DeviceContext5* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { This->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline void ID2D1DeviceContext5_PushLayer(ID2D1DeviceContext5* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1DeviceContext5_InvalidateEffectInputRectangle(ID2D1DeviceContext5* This,ID2D1Effect *effect,UINT32 input,const D2D1_RECT_F *input_rect) { return This->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect); } static inline HRESULT ID2D1DeviceContext5_GetEffectInvalidRectangleCount(ID2D1DeviceContext5* This,ID2D1Effect *effect,UINT32 *rect_count) { return This->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count); } static inline HRESULT ID2D1DeviceContext5_GetEffectInvalidRectangles(ID2D1DeviceContext5* This,ID2D1Effect *effect,D2D1_RECT_F *rectangles,UINT32 rect_count) { return This->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count); } static inline HRESULT ID2D1DeviceContext5_GetEffectRequiredInputRectangles(ID2D1DeviceContext5* This,ID2D1Effect *effect,const D2D1_RECT_F *image_rect,const D2D1_EFFECT_INPUT_DESCRIPTION *desc,D2D1_RECT_F *input_rect,UINT32 input_count) { return This->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count); } static inline void ID2D1DeviceContext5_FillOpacityMask(ID2D1DeviceContext5* This,ID2D1Bitmap *mask,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect); } /*** ID2D1DeviceContext1 methods ***/ static inline HRESULT ID2D1DeviceContext5_CreateFilledGeometryRealization(ID2D1DeviceContext5* This,ID2D1Geometry *geometry,float tolerance,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization); } static inline HRESULT ID2D1DeviceContext5_CreateStrokedGeometryRealization(ID2D1DeviceContext5* This,ID2D1Geometry *geometry,float tolerance,float stroke_width,ID2D1StrokeStyle *stroke_style,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization); } static inline void ID2D1DeviceContext5_DrawGeometryRealization(ID2D1DeviceContext5* This,ID2D1GeometryRealization *realization,ID2D1Brush *brush) { This->lpVtbl->DrawGeometryRealization(This,realization,brush); } /*** ID2D1DeviceContext2 methods ***/ static inline HRESULT ID2D1DeviceContext5_CreateInk(ID2D1DeviceContext5* This,const D2D1_INK_POINT *start_point,ID2D1Ink **ink) { return This->lpVtbl->CreateInk(This,start_point,ink); } static inline HRESULT ID2D1DeviceContext5_CreateInkStyle(ID2D1DeviceContext5* This,const D2D1_INK_STYLE_PROPERTIES *ink_style_properties,ID2D1InkStyle **ink_style) { return This->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style); } static inline HRESULT ID2D1DeviceContext5_CreateGradientMesh(ID2D1DeviceContext5* This,const D2D1_GRADIENT_MESH_PATCH *patches,UINT32 patches_count,ID2D1GradientMesh **gradient_mesh) { return This->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh); } static inline HRESULT ID2D1DeviceContext5_CreateImageSourceFromWic(ID2D1DeviceContext5* This,IWICBitmapSource *wic_bitmap_source,D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options,D2D1_ALPHA_MODE alpha_mode,ID2D1ImageSourceFromWic **image_source) { return This->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source); } static inline HRESULT ID2D1DeviceContext5_CreateLookupTable3D(ID2D1DeviceContext5* This,D2D1_BUFFER_PRECISION precision,const UINT32 *extents,const BYTE *data,UINT32 data_count,const UINT32 *strides,ID2D1LookupTable3D **lookup_table) { return This->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table); } static inline HRESULT ID2D1DeviceContext5_CreateImageSourceFromDxgi(ID2D1DeviceContext5* This,IDXGISurface **surfaces,UINT32 surface_count,DXGI_COLOR_SPACE_TYPE color_space,D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,ID2D1ImageSource **image_source) { return This->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source); } static inline HRESULT ID2D1DeviceContext5_GetGradientMeshWorldBounds(ID2D1DeviceContext5* This,ID2D1GradientMesh *gradient_mesh,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds); } static inline void ID2D1DeviceContext5_DrawInk(ID2D1DeviceContext5* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline void ID2D1DeviceContext5_DrawGradientMesh(ID2D1DeviceContext5* This,ID2D1GradientMesh *gradient_mesh) { This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline void ID2D1DeviceContext5_DrawGdiMetafile(ID2D1DeviceContext5* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect); } static inline HRESULT ID2D1DeviceContext5_CreateTransformedImageSource(ID2D1DeviceContext5* This,ID2D1ImageSource *source,const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props,ID2D1TransformedImageSource **transformed) { return This->lpVtbl->CreateTransformedImageSource(This,source,props,transformed); } /*** ID2D1DeviceContext3 methods ***/ static inline HRESULT ID2D1DeviceContext5_CreateSpriteBatch(ID2D1DeviceContext5* This,ID2D1SpriteBatch **sprite_batch) { return This->lpVtbl->CreateSpriteBatch(This,sprite_batch); } static inline void ID2D1DeviceContext5_DrawSpriteBatch(ID2D1DeviceContext5* This,ID2D1SpriteBatch *sprite_batch,UINT32 start_index,UINT32 sprite_count,ID2D1Bitmap *bitmap,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,D2D1_SPRITE_OPTIONS sprite_options) { This->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options); } /*** ID2D1DeviceContext4 methods ***/ static inline HRESULT ID2D1DeviceContext5_CreateSvgGlyphStyle(ID2D1DeviceContext5* This,ID2D1SvgGlyphStyle **svg_glyph_style) { return This->lpVtbl->CreateSvgGlyphStyle(This,svg_glyph_style); } static inline void ID2D1DeviceContext5_DrawText(ID2D1DeviceContext5* This,const WCHAR *string,UINT32 string_length,IDWriteTextFormat *text_format,const D2D1_RECT_F *layout_rect,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_DRAW_TEXT_OPTIONS options,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode); } static inline void ID2D1DeviceContext5_DrawTextLayout(ID2D1DeviceContext5* This,D2D1_POINT_2F origin,IDWriteTextLayout *text_layout,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_DRAW_TEXT_OPTIONS options) { This->lpVtbl->ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options); } static inline void ID2D1DeviceContext5_DrawColorBitmapGlyphRun(ID2D1DeviceContext5* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option) { This->lpVtbl->DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option); } static inline void ID2D1DeviceContext5_DrawSvgGlyphRun(ID2D1DeviceContext5* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode); } static inline HRESULT ID2D1DeviceContext5_GetColorBitmapGlyphImage(ID2D1DeviceContext5* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,D2D1_POINT_2F glyph_origin,IDWriteFontFace *font_face,FLOAT font_em_size,UINT16 glyph_index,BOOL is_sideways,const D2D1_MATRIX_3X2_F *world_transform,FLOAT dpi_x,FLOAT dpi_y,D2D1_MATRIX_3X2_F *glyph_transform,ID2D1Image **glyph_image) { return This->lpVtbl->GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image); } static inline HRESULT ID2D1DeviceContext5_GetSvgGlyphImage(ID2D1DeviceContext5* This,D2D1_POINT_2F glyph_origin,IDWriteFontFace *font_face,FLOAT font_em_size,UINT16 glyph_index,BOOL is_sideways,const D2D1_MATRIX_3X2_F *world_transform,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_MATRIX_3X2_F *glyph_transform,ID2D1CommandList **glyph_image) { return This->lpVtbl->GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image); } /*** ID2D1DeviceContext5 methods ***/ static inline HRESULT ID2D1DeviceContext5_CreateSvgDocument(ID2D1DeviceContext5* This,IStream *input_xml_stream,D2D1_SIZE_F viewport_size,ID2D1SvgDocument **svg_document) { return This->lpVtbl->CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document); } static inline void ID2D1DeviceContext5_DrawSvgDocument(ID2D1DeviceContext5* This,ID2D1SvgDocument *svg_document) { This->lpVtbl->DrawSvgDocument(This,svg_document); } static inline HRESULT ID2D1DeviceContext5_CreateColorContextFromDxgiColorSpace(ID2D1DeviceContext5* This,DXGI_COLOR_SPACE_TYPE color_space,ID2D1ColorContext1 **color_context) { return This->lpVtbl->CreateColorContextFromDxgiColorSpace(This,color_space,color_context); } static inline HRESULT ID2D1DeviceContext5_CreateColorContextFromSimpleColorProfile(ID2D1DeviceContext5* This,const D2D1_SIMPLE_COLOR_PROFILE *simple_profile,ID2D1ColorContext1 **color_context) { return This->lpVtbl->CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context); } #endif #endif #endif #endif /* __ID2D1DeviceContext5_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1DeviceContext6 interface */ #ifndef __ID2D1DeviceContext6_INTERFACE_DEFINED__ #define __ID2D1DeviceContext6_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1DeviceContext6, 0x985f7e37, 0x4ed0, 0x4a19, 0x98,0xa3, 0x15,0xb0,0xed,0xfd,0xe3,0x06); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("985f7e37-4ed0-4a19-98a3-15b0edfde306") ID2D1DeviceContext6 : public ID2D1DeviceContext5 { virtual void STDMETHODCALLTYPE BlendImage( ID2D1Image *image, D2D1_BLEND_MODE blend_mode, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1DeviceContext6, 0x985f7e37, 0x4ed0, 0x4a19, 0x98,0xa3, 0x15,0xb0,0xed,0xfd,0xe3,0x06) #endif #else typedef struct ID2D1DeviceContext6Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1DeviceContext6 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1DeviceContext6 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1DeviceContext6 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1DeviceContext6 *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1DeviceContext6 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1DeviceContext6 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1DeviceContext6 *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1DeviceContext6 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1DeviceContext6 *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1DeviceContext6 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1DeviceContext6 *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1DeviceContext6 *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1DeviceContext6 *This, const D2D1_SIZE_F *size, const D2D1_SIZE_U *pixel_size, const D2D1_PIXEL_FORMAT *format, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateLayer)( ID2D1DeviceContext6 *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1DeviceContext6 *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1DeviceContext6 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1DeviceContext6 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1DeviceContext6 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1DeviceContext6 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1DeviceContext6 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1DeviceContext6 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1DeviceContext6 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1DeviceContext6 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1DeviceContext6 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1DeviceContext6 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1DeviceContext6 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawBitmap)( ID2D1DeviceContext6 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawText)( ID2D1DeviceContext6 *This, const WCHAR *string, UINT32 string_len, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawTextLayout)( ID2D1DeviceContext6 *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1DeviceContext6 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1DeviceContext6 *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1DeviceContext6 *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1DeviceContext6 *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1DeviceContext6 *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1DeviceContext6 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1DeviceContext6 *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1DeviceContext6 *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1DeviceContext6 *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1DeviceContext6 *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1DeviceContext6 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1DeviceContext6 *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1DeviceContext6 *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1DeviceContext6 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1DeviceContext6 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1DeviceContext6 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1DeviceContext6 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1DeviceContext6 *This); void (STDMETHODCALLTYPE *Clear)( ID2D1DeviceContext6 *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1DeviceContext6 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1DeviceContext6 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1DeviceContext6 *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1DeviceContext6 *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1DeviceContext6 *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1DeviceContext6 *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1DeviceContext6 *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1DeviceContext6 *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1DeviceContext6 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1DeviceContext methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmap)( ID2D1DeviceContext6 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapFromWicBitmap)( ID2D1DeviceContext6 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateColorContext)( ID2D1DeviceContext6 *This, D2D1_COLOR_SPACE space, const BYTE *profile, UINT32 profile_size, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromFilename)( ID2D1DeviceContext6 *This, const WCHAR *filename, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromWicColorContext)( ID2D1DeviceContext6 *This, IWICColorContext *wic_color_context, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromDxgiSurface)( ID2D1DeviceContext6 *This, IDXGISurface *surface, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateEffect)( ID2D1DeviceContext6 *This, REFCLSID effect_id, ID2D1Effect **effect); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateGradientStopCollection)( ID2D1DeviceContext6 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_COLOR_SPACE preinterpolation_space, D2D1_COLOR_SPACE postinterpolation_space, D2D1_BUFFER_PRECISION buffer_precision, D2D1_EXTEND_MODE extend_mode, D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode, ID2D1GradientStopCollection1 **gradient); HRESULT (STDMETHODCALLTYPE *CreateImageBrush)( ID2D1DeviceContext6 *This, ID2D1Image *image, const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1ImageBrush **brush); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapBrush)( ID2D1DeviceContext6 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush1 **bitmap_brush); HRESULT (STDMETHODCALLTYPE *CreateCommandList)( ID2D1DeviceContext6 *This, ID2D1CommandList **command_list); BOOL (STDMETHODCALLTYPE *IsDxgiFormatSupported)( ID2D1DeviceContext6 *This, DXGI_FORMAT format); BOOL (STDMETHODCALLTYPE *IsBufferPrecisionSupported)( ID2D1DeviceContext6 *This, D2D1_BUFFER_PRECISION buffer_precision); HRESULT (STDMETHODCALLTYPE *GetImageLocalBounds)( ID2D1DeviceContext6 *This, ID2D1Image *image, D2D1_RECT_F *local_bounds); HRESULT (STDMETHODCALLTYPE *GetImageWorldBounds)( ID2D1DeviceContext6 *This, ID2D1Image *image, D2D1_RECT_F *world_bounds); HRESULT (STDMETHODCALLTYPE *GetGlyphRunWorldBounds)( ID2D1DeviceContext6 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *GetDevice)( ID2D1DeviceContext6 *This, ID2D1Device **device); void (STDMETHODCALLTYPE *SetTarget)( ID2D1DeviceContext6 *This, ID2D1Image *target); void (STDMETHODCALLTYPE *GetTarget)( ID2D1DeviceContext6 *This, ID2D1Image **target); void (STDMETHODCALLTYPE *SetRenderingControls)( ID2D1DeviceContext6 *This, const D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *GetRenderingControls)( ID2D1DeviceContext6 *This, D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1DeviceContext6 *This, D2D1_PRIMITIVE_BLEND primitive_blend); D2D1_PRIMITIVE_BLEND (STDMETHODCALLTYPE *GetPrimitiveBlend)( ID2D1DeviceContext6 *This); void (STDMETHODCALLTYPE *SetUnitMode)( ID2D1DeviceContext6 *This, D2D1_UNIT_MODE unit_mode); D2D1_UNIT_MODE (STDMETHODCALLTYPE *GetUnitMode)( ID2D1DeviceContext6 *This); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawGlyphRun)( ID2D1DeviceContext6 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawImage)( ID2D1DeviceContext6 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); void (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1DeviceContext6 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawBitmap)( ID2D1DeviceContext6 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); void (STDMETHODCALLTYPE *ID2D1DeviceContext_PushLayer)( ID2D1DeviceContext6 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *InvalidateEffectInputRectangle)( ID2D1DeviceContext6 *This, ID2D1Effect *effect, UINT32 input, const D2D1_RECT_F *input_rect); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangleCount)( ID2D1DeviceContext6 *This, ID2D1Effect *effect, UINT32 *rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangles)( ID2D1DeviceContext6 *This, ID2D1Effect *effect, D2D1_RECT_F *rectangles, UINT32 rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectRequiredInputRectangles)( ID2D1DeviceContext6 *This, ID2D1Effect *effect, const D2D1_RECT_F *image_rect, const D2D1_EFFECT_INPUT_DESCRIPTION *desc, D2D1_RECT_F *input_rect, UINT32 input_count); void (STDMETHODCALLTYPE *ID2D1DeviceContext_FillOpacityMask)( ID2D1DeviceContext6 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); /*** ID2D1DeviceContext1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFilledGeometryRealization)( ID2D1DeviceContext6 *This, ID2D1Geometry *geometry, float tolerance, ID2D1GeometryRealization **realization); HRESULT (STDMETHODCALLTYPE *CreateStrokedGeometryRealization)( ID2D1DeviceContext6 *This, ID2D1Geometry *geometry, float tolerance, float stroke_width, ID2D1StrokeStyle *stroke_style, ID2D1GeometryRealization **realization); void (STDMETHODCALLTYPE *DrawGeometryRealization)( ID2D1DeviceContext6 *This, ID2D1GeometryRealization *realization, ID2D1Brush *brush); /*** ID2D1DeviceContext2 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateInk)( ID2D1DeviceContext6 *This, const D2D1_INK_POINT *start_point, ID2D1Ink **ink); HRESULT (STDMETHODCALLTYPE *CreateInkStyle)( ID2D1DeviceContext6 *This, const D2D1_INK_STYLE_PROPERTIES *ink_style_properties, ID2D1InkStyle **ink_style); HRESULT (STDMETHODCALLTYPE *CreateGradientMesh)( ID2D1DeviceContext6 *This, const D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patches_count, ID2D1GradientMesh **gradient_mesh); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromWic)( ID2D1DeviceContext6 *This, IWICBitmapSource *wic_bitmap_source, D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options, D2D1_ALPHA_MODE alpha_mode, ID2D1ImageSourceFromWic **image_source); HRESULT (STDMETHODCALLTYPE *CreateLookupTable3D)( ID2D1DeviceContext6 *This, D2D1_BUFFER_PRECISION precision, const UINT32 *extents, const BYTE *data, UINT32 data_count, const UINT32 *strides, ID2D1LookupTable3D **lookup_table); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromDxgi)( ID2D1DeviceContext6 *This, IDXGISurface **surfaces, UINT32 surface_count, DXGI_COLOR_SPACE_TYPE color_space, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options, ID2D1ImageSource **image_source); HRESULT (STDMETHODCALLTYPE *GetGradientMeshWorldBounds)( ID2D1DeviceContext6 *This, ID2D1GradientMesh *gradient_mesh, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *DrawInk)( ID2D1DeviceContext6 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); void (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1DeviceContext6 *This, ID2D1GradientMesh *gradient_mesh); void (STDMETHODCALLTYPE *ID2D1DeviceContext2_DrawGdiMetafile)( ID2D1DeviceContext6 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *CreateTransformedImageSource)( ID2D1DeviceContext6 *This, ID2D1ImageSource *source, const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props, ID2D1TransformedImageSource **transformed); /*** ID2D1DeviceContext3 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSpriteBatch)( ID2D1DeviceContext6 *This, ID2D1SpriteBatch **sprite_batch); void (STDMETHODCALLTYPE *DrawSpriteBatch)( ID2D1DeviceContext6 *This, ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options); /*** ID2D1DeviceContext4 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSvgGlyphStyle)( ID2D1DeviceContext6 *This, ID2D1SvgGlyphStyle **svg_glyph_style); void (STDMETHODCALLTYPE *ID2D1DeviceContext4_DrawText)( ID2D1DeviceContext6 *This, const WCHAR *string, UINT32 string_length, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *ID2D1DeviceContext4_DrawTextLayout)( ID2D1DeviceContext6 *This, D2D1_POINT_2F origin, IDWriteTextLayout *text_layout, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawColorBitmapGlyphRun)( ID2D1DeviceContext6 *This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option); void (STDMETHODCALLTYPE *DrawSvgGlyphRun)( ID2D1DeviceContext6 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, DWRITE_MEASURING_MODE measuring_mode); HRESULT (STDMETHODCALLTYPE *GetColorBitmapGlyphImage)( ID2D1DeviceContext6 *This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, FLOAT dpi_x, FLOAT dpi_y, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1Image **glyph_image); HRESULT (STDMETHODCALLTYPE *GetSvgGlyphImage)( ID2D1DeviceContext6 *This, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1CommandList **glyph_image); /*** ID2D1DeviceContext5 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSvgDocument)( ID2D1DeviceContext6 *This, IStream *input_xml_stream, D2D1_SIZE_F viewport_size, ID2D1SvgDocument **svg_document); void (STDMETHODCALLTYPE *DrawSvgDocument)( ID2D1DeviceContext6 *This, ID2D1SvgDocument *svg_document); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromDxgiColorSpace)( ID2D1DeviceContext6 *This, DXGI_COLOR_SPACE_TYPE color_space, ID2D1ColorContext1 **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromSimpleColorProfile)( ID2D1DeviceContext6 *This, const D2D1_SIMPLE_COLOR_PROFILE *simple_profile, ID2D1ColorContext1 **color_context); /*** ID2D1DeviceContext6 methods ***/ void (STDMETHODCALLTYPE *BlendImage)( ID2D1DeviceContext6 *This, ID2D1Image *image, D2D1_BLEND_MODE blend_mode, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode); END_INTERFACE } ID2D1DeviceContext6Vtbl; interface ID2D1DeviceContext6 { CONST_VTBL ID2D1DeviceContext6Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1DeviceContext6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1DeviceContext6_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1DeviceContext6_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1DeviceContext6_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1DeviceContext6_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1DeviceContext6_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1DeviceContext6_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext6_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext6_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1DeviceContext6_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1DeviceContext6_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1DeviceContext6_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1DeviceContext6_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext6_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1DeviceContext6_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext6_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1DeviceContext6_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1DeviceContext6_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1DeviceContext6_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1DeviceContext6_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1DeviceContext6_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1DeviceContext6_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1DeviceContext6_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1DeviceContext6_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext6_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1DeviceContext6_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext6_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1DeviceContext6_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext6_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext6_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1DeviceContext6_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1DeviceContext6_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1DeviceContext6_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1DeviceContext6_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1DeviceContext6_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1DeviceContext6_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1DeviceContext6_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1DeviceContext6_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1DeviceContext6_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1DeviceContext6_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1DeviceContext6_GetPixelFormat(This) ID2D1DeviceContext6_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext6_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext6_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext6_GetSize(This) ID2D1DeviceContext6_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext6_GetPixelSize(This) ID2D1DeviceContext6_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext6_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1DeviceContext6_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1DeviceContext methods ***/ #define ID2D1DeviceContext6_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1DeviceContext6_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1DeviceContext6_CreateColorContext(This,space,profile,profile_size,color_context) (This)->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context) #define ID2D1DeviceContext6_CreateColorContextFromFilename(This,filename,color_context) (This)->lpVtbl->CreateColorContextFromFilename(This,filename,color_context) #define ID2D1DeviceContext6_CreateColorContextFromWicColorContext(This,wic_color_context,color_context) (This)->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context) #define ID2D1DeviceContext6_CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) (This)->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) #define ID2D1DeviceContext6_CreateEffect(This,effect_id,effect) (This)->lpVtbl->CreateEffect(This,effect_id,effect) #define ID2D1DeviceContext6_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) (This)->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) #define ID2D1DeviceContext6_CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) #define ID2D1DeviceContext6_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) #define ID2D1DeviceContext6_CreateCommandList(This,command_list) (This)->lpVtbl->CreateCommandList(This,command_list) #define ID2D1DeviceContext6_IsDxgiFormatSupported(This,format) (This)->lpVtbl->IsDxgiFormatSupported(This,format) #define ID2D1DeviceContext6_IsBufferPrecisionSupported(This,buffer_precision) (This)->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision) #define ID2D1DeviceContext6_GetImageLocalBounds(This,image,local_bounds) (This)->lpVtbl->GetImageLocalBounds(This,image,local_bounds) #define ID2D1DeviceContext6_GetImageWorldBounds(This,image,world_bounds) (This)->lpVtbl->GetImageWorldBounds(This,image,world_bounds) #define ID2D1DeviceContext6_GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) (This)->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) #define ID2D1DeviceContext6_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define ID2D1DeviceContext6_SetTarget(This,target) (This)->lpVtbl->SetTarget(This,target) #define ID2D1DeviceContext6_GetTarget(This,target) (This)->lpVtbl->GetTarget(This,target) #define ID2D1DeviceContext6_SetRenderingControls(This,rendering_controls) (This)->lpVtbl->SetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext6_GetRenderingControls(This,rendering_controls) (This)->lpVtbl->GetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext6_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1DeviceContext6_GetPrimitiveBlend(This) (This)->lpVtbl->GetPrimitiveBlend(This) #define ID2D1DeviceContext6_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1DeviceContext6_GetUnitMode(This) (This)->lpVtbl->GetUnitMode(This) #define ID2D1DeviceContext6_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1DeviceContext6_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1DeviceContext6_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1DeviceContext6_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer) #define ID2D1DeviceContext6_InvalidateEffectInputRectangle(This,effect,input,input_rect) (This)->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect) #define ID2D1DeviceContext6_GetEffectInvalidRectangleCount(This,effect,rect_count) (This)->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count) #define ID2D1DeviceContext6_GetEffectInvalidRectangles(This,effect,rectangles,rect_count) (This)->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count) #define ID2D1DeviceContext6_GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) (This)->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) #define ID2D1DeviceContext6_FillOpacityMask(This,mask,brush,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect) /*** ID2D1DeviceContext1 methods ***/ #define ID2D1DeviceContext6_CreateFilledGeometryRealization(This,geometry,tolerance,realization) (This)->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization) #define ID2D1DeviceContext6_CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) (This)->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) #define ID2D1DeviceContext6_DrawGeometryRealization(This,realization,brush) (This)->lpVtbl->DrawGeometryRealization(This,realization,brush) /*** ID2D1DeviceContext2 methods ***/ #define ID2D1DeviceContext6_CreateInk(This,start_point,ink) (This)->lpVtbl->CreateInk(This,start_point,ink) #define ID2D1DeviceContext6_CreateInkStyle(This,ink_style_properties,ink_style) (This)->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style) #define ID2D1DeviceContext6_CreateGradientMesh(This,patches,patches_count,gradient_mesh) (This)->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh) #define ID2D1DeviceContext6_CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) (This)->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) #define ID2D1DeviceContext6_CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) (This)->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) #define ID2D1DeviceContext6_CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) (This)->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) #define ID2D1DeviceContext6_GetGradientMeshWorldBounds(This,gradient_mesh,bounds) (This)->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds) #define ID2D1DeviceContext6_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1DeviceContext6_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1DeviceContext6_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) #define ID2D1DeviceContext6_CreateTransformedImageSource(This,source,props,transformed) (This)->lpVtbl->CreateTransformedImageSource(This,source,props,transformed) /*** ID2D1DeviceContext3 methods ***/ #define ID2D1DeviceContext6_CreateSpriteBatch(This,sprite_batch) (This)->lpVtbl->CreateSpriteBatch(This,sprite_batch) #define ID2D1DeviceContext6_DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) (This)->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) /*** ID2D1DeviceContext4 methods ***/ #define ID2D1DeviceContext6_CreateSvgGlyphStyle(This,svg_glyph_style) (This)->lpVtbl->CreateSvgGlyphStyle(This,svg_glyph_style) #define ID2D1DeviceContext6_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode) #define ID2D1DeviceContext6_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options) (This)->lpVtbl->ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options) #define ID2D1DeviceContext6_DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option) (This)->lpVtbl->DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option) #define ID2D1DeviceContext6_DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode) (This)->lpVtbl->DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode) #define ID2D1DeviceContext6_GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image) (This)->lpVtbl->GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image) #define ID2D1DeviceContext6_GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image) (This)->lpVtbl->GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image) /*** ID2D1DeviceContext5 methods ***/ #define ID2D1DeviceContext6_CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document) (This)->lpVtbl->CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document) #define ID2D1DeviceContext6_DrawSvgDocument(This,svg_document) (This)->lpVtbl->DrawSvgDocument(This,svg_document) #define ID2D1DeviceContext6_CreateColorContextFromDxgiColorSpace(This,color_space,color_context) (This)->lpVtbl->CreateColorContextFromDxgiColorSpace(This,color_space,color_context) #define ID2D1DeviceContext6_CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context) (This)->lpVtbl->CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context) /*** ID2D1DeviceContext6 methods ***/ #define ID2D1DeviceContext6_BlendImage(This,image,blend_mode,target_offset,image_rect,interpolation_mode) (This)->lpVtbl->BlendImage(This,image,blend_mode,target_offset,image_rect,interpolation_mode) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1DeviceContext6_QueryInterface(ID2D1DeviceContext6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1DeviceContext6_AddRef(ID2D1DeviceContext6* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1DeviceContext6_Release(ID2D1DeviceContext6* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1DeviceContext6_GetFactory(ID2D1DeviceContext6* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1DeviceContext6_CreateSharedBitmap(ID2D1DeviceContext6* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1DeviceContext6_CreateSolidColorBrush(ID2D1DeviceContext6* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1DeviceContext6_CreateLinearGradientBrush(ID2D1DeviceContext6* This,const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1LinearGradientBrush **brush) { return This->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext6_CreateRadialGradientBrush(ID2D1DeviceContext6* This,const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1RadialGradientBrush **brush) { return This->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext6_CreateCompatibleRenderTarget(ID2D1DeviceContext6* This,const D2D1_SIZE_F *size,const D2D1_SIZE_U *pixel_size,const D2D1_PIXEL_FORMAT *format,D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,ID2D1BitmapRenderTarget **render_target) { return This->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target); } static inline HRESULT ID2D1DeviceContext6_CreateLayer(ID2D1DeviceContext6* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1DeviceContext6_CreateMesh(ID2D1DeviceContext6* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1DeviceContext6_DrawLine(ID2D1DeviceContext6* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext6_DrawRectangle(ID2D1DeviceContext6* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext6_FillRectangle(ID2D1DeviceContext6* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1DeviceContext6_DrawRoundedRectangle(ID2D1DeviceContext6* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext6_FillRoundedRectangle(ID2D1DeviceContext6* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1DeviceContext6_DrawEllipse(ID2D1DeviceContext6* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext6_FillEllipse(ID2D1DeviceContext6* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1DeviceContext6_DrawGeometry(ID2D1DeviceContext6* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext6_FillGeometry(ID2D1DeviceContext6* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1DeviceContext6_FillMesh(ID2D1DeviceContext6* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1DeviceContext6_SetTransform(ID2D1DeviceContext6* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1DeviceContext6_GetTransform(ID2D1DeviceContext6* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1DeviceContext6_SetAntialiasMode(ID2D1DeviceContext6* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1DeviceContext6_GetAntialiasMode(ID2D1DeviceContext6* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1DeviceContext6_SetTextAntialiasMode(ID2D1DeviceContext6* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1DeviceContext6_GetTextAntialiasMode(ID2D1DeviceContext6* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1DeviceContext6_SetTextRenderingParams(ID2D1DeviceContext6* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext6_GetTextRenderingParams(ID2D1DeviceContext6* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext6_SetTags(ID2D1DeviceContext6* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext6_GetTags(ID2D1DeviceContext6* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext6_PopLayer(ID2D1DeviceContext6* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1DeviceContext6_Flush(ID2D1DeviceContext6* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1DeviceContext6_SaveDrawingState(ID2D1DeviceContext6* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1DeviceContext6_RestoreDrawingState(ID2D1DeviceContext6* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1DeviceContext6_PushAxisAlignedClip(ID2D1DeviceContext6* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1DeviceContext6_PopAxisAlignedClip(ID2D1DeviceContext6* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1DeviceContext6_Clear(ID2D1DeviceContext6* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1DeviceContext6_BeginDraw(ID2D1DeviceContext6* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1DeviceContext6_EndDraw(ID2D1DeviceContext6* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1DeviceContext6_GetPixelFormat(ID2D1DeviceContext6* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1DeviceContext6_SetDpi(ID2D1DeviceContext6* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1DeviceContext6_GetDpi(ID2D1DeviceContext6* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1DeviceContext6_GetSize(ID2D1DeviceContext6* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1DeviceContext6_GetPixelSize(ID2D1DeviceContext6* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1DeviceContext6_GetMaximumBitmapSize(ID2D1DeviceContext6* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1DeviceContext6_IsSupported(ID2D1DeviceContext6* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1DeviceContext methods ***/ static inline HRESULT ID2D1DeviceContext6_CreateBitmap(ID2D1DeviceContext6* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1DeviceContext6_CreateBitmapFromWicBitmap(ID2D1DeviceContext6* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1DeviceContext6_CreateColorContext(ID2D1DeviceContext6* This,D2D1_COLOR_SPACE space,const BYTE *profile,UINT32 profile_size,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context); } static inline HRESULT ID2D1DeviceContext6_CreateColorContextFromFilename(ID2D1DeviceContext6* This,const WCHAR *filename,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromFilename(This,filename,color_context); } static inline HRESULT ID2D1DeviceContext6_CreateColorContextFromWicColorContext(ID2D1DeviceContext6* This,IWICColorContext *wic_color_context,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context); } static inline HRESULT ID2D1DeviceContext6_CreateBitmapFromDxgiSurface(ID2D1DeviceContext6* This,IDXGISurface *surface,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap); } static inline HRESULT ID2D1DeviceContext6_CreateEffect(ID2D1DeviceContext6* This,REFCLSID effect_id,ID2D1Effect **effect) { return This->lpVtbl->CreateEffect(This,effect_id,effect); } static inline HRESULT ID2D1DeviceContext6_CreateGradientStopCollection(ID2D1DeviceContext6* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_COLOR_SPACE preinterpolation_space,D2D1_COLOR_SPACE postinterpolation_space,D2D1_BUFFER_PRECISION buffer_precision,D2D1_EXTEND_MODE extend_mode,D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode,ID2D1GradientStopCollection1 **gradient) { return This->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient); } static inline HRESULT ID2D1DeviceContext6_CreateImageBrush(ID2D1DeviceContext6* This,ID2D1Image *image,const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1ImageBrush **brush) { return This->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1DeviceContext6_CreateBitmapBrush(ID2D1DeviceContext6* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush1 **bitmap_brush) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush); } static inline HRESULT ID2D1DeviceContext6_CreateCommandList(ID2D1DeviceContext6* This,ID2D1CommandList **command_list) { return This->lpVtbl->CreateCommandList(This,command_list); } static inline BOOL ID2D1DeviceContext6_IsDxgiFormatSupported(ID2D1DeviceContext6* This,DXGI_FORMAT format) { return This->lpVtbl->IsDxgiFormatSupported(This,format); } static inline BOOL ID2D1DeviceContext6_IsBufferPrecisionSupported(ID2D1DeviceContext6* This,D2D1_BUFFER_PRECISION buffer_precision) { return This->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision); } static inline HRESULT ID2D1DeviceContext6_GetImageLocalBounds(ID2D1DeviceContext6* This,ID2D1Image *image,D2D1_RECT_F *local_bounds) { return This->lpVtbl->GetImageLocalBounds(This,image,local_bounds); } static inline HRESULT ID2D1DeviceContext6_GetImageWorldBounds(ID2D1DeviceContext6* This,ID2D1Image *image,D2D1_RECT_F *world_bounds) { return This->lpVtbl->GetImageWorldBounds(This,image,world_bounds); } static inline HRESULT ID2D1DeviceContext6_GetGlyphRunWorldBounds(ID2D1DeviceContext6* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds); } static inline void ID2D1DeviceContext6_GetDevice(ID2D1DeviceContext6* This,ID2D1Device **device) { This->lpVtbl->GetDevice(This,device); } static inline void ID2D1DeviceContext6_SetTarget(ID2D1DeviceContext6* This,ID2D1Image *target) { This->lpVtbl->SetTarget(This,target); } static inline void ID2D1DeviceContext6_GetTarget(ID2D1DeviceContext6* This,ID2D1Image **target) { This->lpVtbl->GetTarget(This,target); } static inline void ID2D1DeviceContext6_SetRenderingControls(ID2D1DeviceContext6* This,const D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->SetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext6_GetRenderingControls(ID2D1DeviceContext6* This,D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->GetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext6_SetPrimitiveBlend(ID2D1DeviceContext6* This,D2D1_PRIMITIVE_BLEND primitive_blend) { This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline D2D1_PRIMITIVE_BLEND ID2D1DeviceContext6_GetPrimitiveBlend(ID2D1DeviceContext6* This) { return This->lpVtbl->GetPrimitiveBlend(This); } static inline void ID2D1DeviceContext6_SetUnitMode(ID2D1DeviceContext6* This,D2D1_UNIT_MODE unit_mode) { This->lpVtbl->SetUnitMode(This,unit_mode); } static inline D2D1_UNIT_MODE ID2D1DeviceContext6_GetUnitMode(ID2D1DeviceContext6* This) { return This->lpVtbl->GetUnitMode(This); } static inline void ID2D1DeviceContext6_DrawGlyphRun(ID2D1DeviceContext6* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline void ID2D1DeviceContext6_DrawImage(ID2D1DeviceContext6* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline void ID2D1DeviceContext6_DrawBitmap(ID2D1DeviceContext6* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { This->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline void ID2D1DeviceContext6_PushLayer(ID2D1DeviceContext6* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1DeviceContext6_InvalidateEffectInputRectangle(ID2D1DeviceContext6* This,ID2D1Effect *effect,UINT32 input,const D2D1_RECT_F *input_rect) { return This->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect); } static inline HRESULT ID2D1DeviceContext6_GetEffectInvalidRectangleCount(ID2D1DeviceContext6* This,ID2D1Effect *effect,UINT32 *rect_count) { return This->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count); } static inline HRESULT ID2D1DeviceContext6_GetEffectInvalidRectangles(ID2D1DeviceContext6* This,ID2D1Effect *effect,D2D1_RECT_F *rectangles,UINT32 rect_count) { return This->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count); } static inline HRESULT ID2D1DeviceContext6_GetEffectRequiredInputRectangles(ID2D1DeviceContext6* This,ID2D1Effect *effect,const D2D1_RECT_F *image_rect,const D2D1_EFFECT_INPUT_DESCRIPTION *desc,D2D1_RECT_F *input_rect,UINT32 input_count) { return This->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count); } static inline void ID2D1DeviceContext6_FillOpacityMask(ID2D1DeviceContext6* This,ID2D1Bitmap *mask,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect); } /*** ID2D1DeviceContext1 methods ***/ static inline HRESULT ID2D1DeviceContext6_CreateFilledGeometryRealization(ID2D1DeviceContext6* This,ID2D1Geometry *geometry,float tolerance,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization); } static inline HRESULT ID2D1DeviceContext6_CreateStrokedGeometryRealization(ID2D1DeviceContext6* This,ID2D1Geometry *geometry,float tolerance,float stroke_width,ID2D1StrokeStyle *stroke_style,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization); } static inline void ID2D1DeviceContext6_DrawGeometryRealization(ID2D1DeviceContext6* This,ID2D1GeometryRealization *realization,ID2D1Brush *brush) { This->lpVtbl->DrawGeometryRealization(This,realization,brush); } /*** ID2D1DeviceContext2 methods ***/ static inline HRESULT ID2D1DeviceContext6_CreateInk(ID2D1DeviceContext6* This,const D2D1_INK_POINT *start_point,ID2D1Ink **ink) { return This->lpVtbl->CreateInk(This,start_point,ink); } static inline HRESULT ID2D1DeviceContext6_CreateInkStyle(ID2D1DeviceContext6* This,const D2D1_INK_STYLE_PROPERTIES *ink_style_properties,ID2D1InkStyle **ink_style) { return This->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style); } static inline HRESULT ID2D1DeviceContext6_CreateGradientMesh(ID2D1DeviceContext6* This,const D2D1_GRADIENT_MESH_PATCH *patches,UINT32 patches_count,ID2D1GradientMesh **gradient_mesh) { return This->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh); } static inline HRESULT ID2D1DeviceContext6_CreateImageSourceFromWic(ID2D1DeviceContext6* This,IWICBitmapSource *wic_bitmap_source,D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options,D2D1_ALPHA_MODE alpha_mode,ID2D1ImageSourceFromWic **image_source) { return This->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source); } static inline HRESULT ID2D1DeviceContext6_CreateLookupTable3D(ID2D1DeviceContext6* This,D2D1_BUFFER_PRECISION precision,const UINT32 *extents,const BYTE *data,UINT32 data_count,const UINT32 *strides,ID2D1LookupTable3D **lookup_table) { return This->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table); } static inline HRESULT ID2D1DeviceContext6_CreateImageSourceFromDxgi(ID2D1DeviceContext6* This,IDXGISurface **surfaces,UINT32 surface_count,DXGI_COLOR_SPACE_TYPE color_space,D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,ID2D1ImageSource **image_source) { return This->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source); } static inline HRESULT ID2D1DeviceContext6_GetGradientMeshWorldBounds(ID2D1DeviceContext6* This,ID2D1GradientMesh *gradient_mesh,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds); } static inline void ID2D1DeviceContext6_DrawInk(ID2D1DeviceContext6* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline void ID2D1DeviceContext6_DrawGradientMesh(ID2D1DeviceContext6* This,ID2D1GradientMesh *gradient_mesh) { This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline void ID2D1DeviceContext6_DrawGdiMetafile(ID2D1DeviceContext6* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect); } static inline HRESULT ID2D1DeviceContext6_CreateTransformedImageSource(ID2D1DeviceContext6* This,ID2D1ImageSource *source,const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props,ID2D1TransformedImageSource **transformed) { return This->lpVtbl->CreateTransformedImageSource(This,source,props,transformed); } /*** ID2D1DeviceContext3 methods ***/ static inline HRESULT ID2D1DeviceContext6_CreateSpriteBatch(ID2D1DeviceContext6* This,ID2D1SpriteBatch **sprite_batch) { return This->lpVtbl->CreateSpriteBatch(This,sprite_batch); } static inline void ID2D1DeviceContext6_DrawSpriteBatch(ID2D1DeviceContext6* This,ID2D1SpriteBatch *sprite_batch,UINT32 start_index,UINT32 sprite_count,ID2D1Bitmap *bitmap,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,D2D1_SPRITE_OPTIONS sprite_options) { This->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options); } /*** ID2D1DeviceContext4 methods ***/ static inline HRESULT ID2D1DeviceContext6_CreateSvgGlyphStyle(ID2D1DeviceContext6* This,ID2D1SvgGlyphStyle **svg_glyph_style) { return This->lpVtbl->CreateSvgGlyphStyle(This,svg_glyph_style); } static inline void ID2D1DeviceContext6_DrawText(ID2D1DeviceContext6* This,const WCHAR *string,UINT32 string_length,IDWriteTextFormat *text_format,const D2D1_RECT_F *layout_rect,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_DRAW_TEXT_OPTIONS options,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode); } static inline void ID2D1DeviceContext6_DrawTextLayout(ID2D1DeviceContext6* This,D2D1_POINT_2F origin,IDWriteTextLayout *text_layout,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_DRAW_TEXT_OPTIONS options) { This->lpVtbl->ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options); } static inline void ID2D1DeviceContext6_DrawColorBitmapGlyphRun(ID2D1DeviceContext6* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option) { This->lpVtbl->DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option); } static inline void ID2D1DeviceContext6_DrawSvgGlyphRun(ID2D1DeviceContext6* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode); } static inline HRESULT ID2D1DeviceContext6_GetColorBitmapGlyphImage(ID2D1DeviceContext6* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,D2D1_POINT_2F glyph_origin,IDWriteFontFace *font_face,FLOAT font_em_size,UINT16 glyph_index,BOOL is_sideways,const D2D1_MATRIX_3X2_F *world_transform,FLOAT dpi_x,FLOAT dpi_y,D2D1_MATRIX_3X2_F *glyph_transform,ID2D1Image **glyph_image) { return This->lpVtbl->GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image); } static inline HRESULT ID2D1DeviceContext6_GetSvgGlyphImage(ID2D1DeviceContext6* This,D2D1_POINT_2F glyph_origin,IDWriteFontFace *font_face,FLOAT font_em_size,UINT16 glyph_index,BOOL is_sideways,const D2D1_MATRIX_3X2_F *world_transform,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_MATRIX_3X2_F *glyph_transform,ID2D1CommandList **glyph_image) { return This->lpVtbl->GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image); } /*** ID2D1DeviceContext5 methods ***/ static inline HRESULT ID2D1DeviceContext6_CreateSvgDocument(ID2D1DeviceContext6* This,IStream *input_xml_stream,D2D1_SIZE_F viewport_size,ID2D1SvgDocument **svg_document) { return This->lpVtbl->CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document); } static inline void ID2D1DeviceContext6_DrawSvgDocument(ID2D1DeviceContext6* This,ID2D1SvgDocument *svg_document) { This->lpVtbl->DrawSvgDocument(This,svg_document); } static inline HRESULT ID2D1DeviceContext6_CreateColorContextFromDxgiColorSpace(ID2D1DeviceContext6* This,DXGI_COLOR_SPACE_TYPE color_space,ID2D1ColorContext1 **color_context) { return This->lpVtbl->CreateColorContextFromDxgiColorSpace(This,color_space,color_context); } static inline HRESULT ID2D1DeviceContext6_CreateColorContextFromSimpleColorProfile(ID2D1DeviceContext6* This,const D2D1_SIMPLE_COLOR_PROFILE *simple_profile,ID2D1ColorContext1 **color_context) { return This->lpVtbl->CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context); } /*** ID2D1DeviceContext6 methods ***/ static inline void ID2D1DeviceContext6_BlendImage(ID2D1DeviceContext6* This,ID2D1Image *image,D2D1_BLEND_MODE blend_mode,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode) { This->lpVtbl->BlendImage(This,image,blend_mode,target_offset,image_rect,interpolation_mode); } #endif #endif #endif #endif /* __ID2D1DeviceContext6_INTERFACE_DEFINED__ */ #ifndef DWRITE_PAINT_FEATURE_LEVEL_DEFINED #define DWRITE_PAINT_FEATURE_LEVEL_DEFINED typedef enum DWRITE_PAINT_FEATURE_LEVEL { DWRITE_PAINT_FEATURE_LEVEL_NONE = 0, DWRITE_PAINT_FEATURE_LEVEL_COLR_V0 = 1, DWRITE_PAINT_FEATURE_LEVEL_COLR_V1 = 2 } DWRITE_PAINT_FEATURE_LEVEL; #endif /* DWRITE_PAINT_FEATURE_LEVEL_DEFINED */ /***************************************************************************** * ID2D1DeviceContext7 interface */ #ifndef __ID2D1DeviceContext7_INTERFACE_DEFINED__ #define __ID2D1DeviceContext7_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1DeviceContext7, 0xec891cf7, 0x9b69, 0x4851, 0x9d,0xef, 0x4e,0x09,0x15,0x77,0x1e,0x62); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ec891cf7-9b69-4851-9def-4e0915771e62") ID2D1DeviceContext7 : public ID2D1DeviceContext6 { virtual DWRITE_PAINT_FEATURE_LEVEL STDMETHODCALLTYPE GetPaintFeatureLevel( ) = 0; virtual void STDMETHODCALLTYPE DrawPaintGlyphRun( D2D1_POINT_2F origin, const DWRITE_GLYPH_RUN *run, ID2D1Brush *brush = 0, UINT32 palette_index = 0, DWRITE_MEASURING_MODE measuring_mode = DWRITE_MEASURING_MODE_NATURAL) = 0; virtual void STDMETHODCALLTYPE DrawGlyphRunWithColorSupport( D2D1_POINT_2F origin, const DWRITE_GLYPH_RUN *run, const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, ID2D1Brush *brush, ID2D1SvgGlyphStyle *style, UINT32 palette_index = 0, DWRITE_MEASURING_MODE measuring_mode = DWRITE_MEASURING_MODE_NATURAL, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION snap_option = D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1DeviceContext7, 0xec891cf7, 0x9b69, 0x4851, 0x9d,0xef, 0x4e,0x09,0x15,0x77,0x1e,0x62) #endif #else typedef struct ID2D1DeviceContext7Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1DeviceContext7 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1DeviceContext7 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1DeviceContext7 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1DeviceContext7 *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1DeviceContext7 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1DeviceContext7 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1DeviceContext7 *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1DeviceContext7 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1DeviceContext7 *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1DeviceContext7 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1DeviceContext7 *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1DeviceContext7 *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1DeviceContext7 *This, const D2D1_SIZE_F *size, const D2D1_SIZE_U *pixel_size, const D2D1_PIXEL_FORMAT *format, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateLayer)( ID2D1DeviceContext7 *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1DeviceContext7 *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1DeviceContext7 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1DeviceContext7 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1DeviceContext7 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1DeviceContext7 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1DeviceContext7 *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1DeviceContext7 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1DeviceContext7 *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1DeviceContext7 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1DeviceContext7 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1DeviceContext7 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1DeviceContext7 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawBitmap)( ID2D1DeviceContext7 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect); void (STDMETHODCALLTYPE *DrawText)( ID2D1DeviceContext7 *This, const WCHAR *string, UINT32 string_len, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawTextLayout)( ID2D1DeviceContext7 *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1DeviceContext7 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1DeviceContext7 *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1DeviceContext7 *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1DeviceContext7 *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1DeviceContext7 *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1DeviceContext7 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1DeviceContext7 *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1DeviceContext7 *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1DeviceContext7 *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1DeviceContext7 *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1DeviceContext7 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1DeviceContext7 *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1DeviceContext7 *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1DeviceContext7 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1DeviceContext7 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1DeviceContext7 *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1DeviceContext7 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1DeviceContext7 *This); void (STDMETHODCALLTYPE *Clear)( ID2D1DeviceContext7 *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1DeviceContext7 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1DeviceContext7 *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1DeviceContext7 *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1DeviceContext7 *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1DeviceContext7 *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1DeviceContext7 *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1DeviceContext7 *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1DeviceContext7 *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1DeviceContext7 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1DeviceContext methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmap)( ID2D1DeviceContext7 *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapFromWicBitmap)( ID2D1DeviceContext7 *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateColorContext)( ID2D1DeviceContext7 *This, D2D1_COLOR_SPACE space, const BYTE *profile, UINT32 profile_size, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromFilename)( ID2D1DeviceContext7 *This, const WCHAR *filename, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromWicColorContext)( ID2D1DeviceContext7 *This, IWICColorContext *wic_color_context, ID2D1ColorContext **color_context); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromDxgiSurface)( ID2D1DeviceContext7 *This, IDXGISurface *surface, const D2D1_BITMAP_PROPERTIES1 *desc, ID2D1Bitmap1 **bitmap); HRESULT (STDMETHODCALLTYPE *CreateEffect)( ID2D1DeviceContext7 *This, REFCLSID effect_id, ID2D1Effect **effect); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateGradientStopCollection)( ID2D1DeviceContext7 *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_COLOR_SPACE preinterpolation_space, D2D1_COLOR_SPACE postinterpolation_space, D2D1_BUFFER_PRECISION buffer_precision, D2D1_EXTEND_MODE extend_mode, D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode, ID2D1GradientStopCollection1 **gradient); HRESULT (STDMETHODCALLTYPE *CreateImageBrush)( ID2D1DeviceContext7 *This, ID2D1Image *image, const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1ImageBrush **brush); HRESULT (STDMETHODCALLTYPE *ID2D1DeviceContext_CreateBitmapBrush)( ID2D1DeviceContext7 *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush1 **bitmap_brush); HRESULT (STDMETHODCALLTYPE *CreateCommandList)( ID2D1DeviceContext7 *This, ID2D1CommandList **command_list); BOOL (STDMETHODCALLTYPE *IsDxgiFormatSupported)( ID2D1DeviceContext7 *This, DXGI_FORMAT format); BOOL (STDMETHODCALLTYPE *IsBufferPrecisionSupported)( ID2D1DeviceContext7 *This, D2D1_BUFFER_PRECISION buffer_precision); HRESULT (STDMETHODCALLTYPE *GetImageLocalBounds)( ID2D1DeviceContext7 *This, ID2D1Image *image, D2D1_RECT_F *local_bounds); HRESULT (STDMETHODCALLTYPE *GetImageWorldBounds)( ID2D1DeviceContext7 *This, ID2D1Image *image, D2D1_RECT_F *world_bounds); HRESULT (STDMETHODCALLTYPE *GetGlyphRunWorldBounds)( ID2D1DeviceContext7 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *GetDevice)( ID2D1DeviceContext7 *This, ID2D1Device **device); void (STDMETHODCALLTYPE *SetTarget)( ID2D1DeviceContext7 *This, ID2D1Image *target); void (STDMETHODCALLTYPE *GetTarget)( ID2D1DeviceContext7 *This, ID2D1Image **target); void (STDMETHODCALLTYPE *SetRenderingControls)( ID2D1DeviceContext7 *This, const D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *GetRenderingControls)( ID2D1DeviceContext7 *This, D2D1_RENDERING_CONTROLS *rendering_controls); void (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1DeviceContext7 *This, D2D1_PRIMITIVE_BLEND primitive_blend); D2D1_PRIMITIVE_BLEND (STDMETHODCALLTYPE *GetPrimitiveBlend)( ID2D1DeviceContext7 *This); void (STDMETHODCALLTYPE *SetUnitMode)( ID2D1DeviceContext7 *This, D2D1_UNIT_MODE unit_mode); D2D1_UNIT_MODE (STDMETHODCALLTYPE *GetUnitMode)( ID2D1DeviceContext7 *This); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawGlyphRun)( ID2D1DeviceContext7 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawImage)( ID2D1DeviceContext7 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); void (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1DeviceContext7 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); void (STDMETHODCALLTYPE *ID2D1DeviceContext_DrawBitmap)( ID2D1DeviceContext7 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); void (STDMETHODCALLTYPE *ID2D1DeviceContext_PushLayer)( ID2D1DeviceContext7 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *InvalidateEffectInputRectangle)( ID2D1DeviceContext7 *This, ID2D1Effect *effect, UINT32 input, const D2D1_RECT_F *input_rect); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangleCount)( ID2D1DeviceContext7 *This, ID2D1Effect *effect, UINT32 *rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectInvalidRectangles)( ID2D1DeviceContext7 *This, ID2D1Effect *effect, D2D1_RECT_F *rectangles, UINT32 rect_count); HRESULT (STDMETHODCALLTYPE *GetEffectRequiredInputRectangles)( ID2D1DeviceContext7 *This, ID2D1Effect *effect, const D2D1_RECT_F *image_rect, const D2D1_EFFECT_INPUT_DESCRIPTION *desc, D2D1_RECT_F *input_rect, UINT32 input_count); void (STDMETHODCALLTYPE *ID2D1DeviceContext_FillOpacityMask)( ID2D1DeviceContext7 *This, ID2D1Bitmap *mask, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); /*** ID2D1DeviceContext1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateFilledGeometryRealization)( ID2D1DeviceContext7 *This, ID2D1Geometry *geometry, float tolerance, ID2D1GeometryRealization **realization); HRESULT (STDMETHODCALLTYPE *CreateStrokedGeometryRealization)( ID2D1DeviceContext7 *This, ID2D1Geometry *geometry, float tolerance, float stroke_width, ID2D1StrokeStyle *stroke_style, ID2D1GeometryRealization **realization); void (STDMETHODCALLTYPE *DrawGeometryRealization)( ID2D1DeviceContext7 *This, ID2D1GeometryRealization *realization, ID2D1Brush *brush); /*** ID2D1DeviceContext2 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateInk)( ID2D1DeviceContext7 *This, const D2D1_INK_POINT *start_point, ID2D1Ink **ink); HRESULT (STDMETHODCALLTYPE *CreateInkStyle)( ID2D1DeviceContext7 *This, const D2D1_INK_STYLE_PROPERTIES *ink_style_properties, ID2D1InkStyle **ink_style); HRESULT (STDMETHODCALLTYPE *CreateGradientMesh)( ID2D1DeviceContext7 *This, const D2D1_GRADIENT_MESH_PATCH *patches, UINT32 patches_count, ID2D1GradientMesh **gradient_mesh); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromWic)( ID2D1DeviceContext7 *This, IWICBitmapSource *wic_bitmap_source, D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options, D2D1_ALPHA_MODE alpha_mode, ID2D1ImageSourceFromWic **image_source); HRESULT (STDMETHODCALLTYPE *CreateLookupTable3D)( ID2D1DeviceContext7 *This, D2D1_BUFFER_PRECISION precision, const UINT32 *extents, const BYTE *data, UINT32 data_count, const UINT32 *strides, ID2D1LookupTable3D **lookup_table); HRESULT (STDMETHODCALLTYPE *CreateImageSourceFromDxgi)( ID2D1DeviceContext7 *This, IDXGISurface **surfaces, UINT32 surface_count, DXGI_COLOR_SPACE_TYPE color_space, D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options, ID2D1ImageSource **image_source); HRESULT (STDMETHODCALLTYPE *GetGradientMeshWorldBounds)( ID2D1DeviceContext7 *This, ID2D1GradientMesh *gradient_mesh, D2D1_RECT_F *bounds); void (STDMETHODCALLTYPE *DrawInk)( ID2D1DeviceContext7 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); void (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1DeviceContext7 *This, ID2D1GradientMesh *gradient_mesh); void (STDMETHODCALLTYPE *ID2D1DeviceContext2_DrawGdiMetafile)( ID2D1DeviceContext7 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *CreateTransformedImageSource)( ID2D1DeviceContext7 *This, ID2D1ImageSource *source, const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props, ID2D1TransformedImageSource **transformed); /*** ID2D1DeviceContext3 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSpriteBatch)( ID2D1DeviceContext7 *This, ID2D1SpriteBatch **sprite_batch); void (STDMETHODCALLTYPE *DrawSpriteBatch)( ID2D1DeviceContext7 *This, ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options); /*** ID2D1DeviceContext4 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSvgGlyphStyle)( ID2D1DeviceContext7 *This, ID2D1SvgGlyphStyle **svg_glyph_style); void (STDMETHODCALLTYPE *ID2D1DeviceContext4_DrawText)( ID2D1DeviceContext7 *This, const WCHAR *string, UINT32 string_length, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *ID2D1DeviceContext4_DrawTextLayout)( ID2D1DeviceContext7 *This, D2D1_POINT_2F origin, IDWriteTextLayout *text_layout, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawColorBitmapGlyphRun)( ID2D1DeviceContext7 *This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, DWRITE_MEASURING_MODE measuring_mode, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option); void (STDMETHODCALLTYPE *DrawSvgGlyphRun)( ID2D1DeviceContext7 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, DWRITE_MEASURING_MODE measuring_mode); HRESULT (STDMETHODCALLTYPE *GetColorBitmapGlyphImage)( ID2D1DeviceContext7 *This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, FLOAT dpi_x, FLOAT dpi_y, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1Image **glyph_image); HRESULT (STDMETHODCALLTYPE *GetSvgGlyphImage)( ID2D1DeviceContext7 *This, D2D1_POINT_2F glyph_origin, IDWriteFontFace *font_face, FLOAT font_em_size, UINT16 glyph_index, BOOL is_sideways, const D2D1_MATRIX_3X2_F *world_transform, ID2D1Brush *default_fill_brush, ID2D1SvgGlyphStyle *svg_glyph_style, UINT32 color_palette_index, D2D1_MATRIX_3X2_F *glyph_transform, ID2D1CommandList **glyph_image); /*** ID2D1DeviceContext5 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateSvgDocument)( ID2D1DeviceContext7 *This, IStream *input_xml_stream, D2D1_SIZE_F viewport_size, ID2D1SvgDocument **svg_document); void (STDMETHODCALLTYPE *DrawSvgDocument)( ID2D1DeviceContext7 *This, ID2D1SvgDocument *svg_document); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromDxgiColorSpace)( ID2D1DeviceContext7 *This, DXGI_COLOR_SPACE_TYPE color_space, ID2D1ColorContext1 **color_context); HRESULT (STDMETHODCALLTYPE *CreateColorContextFromSimpleColorProfile)( ID2D1DeviceContext7 *This, const D2D1_SIMPLE_COLOR_PROFILE *simple_profile, ID2D1ColorContext1 **color_context); /*** ID2D1DeviceContext6 methods ***/ void (STDMETHODCALLTYPE *BlendImage)( ID2D1DeviceContext7 *This, ID2D1Image *image, D2D1_BLEND_MODE blend_mode, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode); /*** ID2D1DeviceContext7 methods ***/ DWRITE_PAINT_FEATURE_LEVEL (STDMETHODCALLTYPE *GetPaintFeatureLevel)( ID2D1DeviceContext7 *This); void (STDMETHODCALLTYPE *DrawPaintGlyphRun)( ID2D1DeviceContext7 *This, D2D1_POINT_2F origin, const DWRITE_GLYPH_RUN *run, ID2D1Brush *brush, UINT32 palette_index, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *DrawGlyphRunWithColorSupport)( ID2D1DeviceContext7 *This, D2D1_POINT_2F origin, const DWRITE_GLYPH_RUN *run, const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, ID2D1Brush *brush, ID2D1SvgGlyphStyle *style, UINT32 palette_index, DWRITE_MEASURING_MODE measuring_mode, D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION snap_option); END_INTERFACE } ID2D1DeviceContext7Vtbl; interface ID2D1DeviceContext7 { CONST_VTBL ID2D1DeviceContext7Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1DeviceContext7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1DeviceContext7_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1DeviceContext7_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1DeviceContext7_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1DeviceContext7_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1DeviceContext7_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1DeviceContext7_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext7_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DeviceContext7_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1DeviceContext7_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1DeviceContext7_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1DeviceContext7_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1DeviceContext7_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext7_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1DeviceContext7_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DeviceContext7_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1DeviceContext7_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1DeviceContext7_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1DeviceContext7_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1DeviceContext7_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1DeviceContext7_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1DeviceContext7_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1DeviceContext7_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1DeviceContext7_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext7_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1DeviceContext7_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1DeviceContext7_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1DeviceContext7_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext7_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1DeviceContext7_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1DeviceContext7_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1DeviceContext7_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1DeviceContext7_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1DeviceContext7_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1DeviceContext7_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1DeviceContext7_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1DeviceContext7_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1DeviceContext7_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1DeviceContext7_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1DeviceContext7_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1DeviceContext7_GetPixelFormat(This) ID2D1DeviceContext7_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext7_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext7_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1DeviceContext7_GetSize(This) ID2D1DeviceContext7_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext7_GetPixelSize(This) ID2D1DeviceContext7_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DeviceContext7_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1DeviceContext7_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1DeviceContext methods ***/ #define ID2D1DeviceContext7_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1DeviceContext7_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1DeviceContext7_CreateColorContext(This,space,profile,profile_size,color_context) (This)->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context) #define ID2D1DeviceContext7_CreateColorContextFromFilename(This,filename,color_context) (This)->lpVtbl->CreateColorContextFromFilename(This,filename,color_context) #define ID2D1DeviceContext7_CreateColorContextFromWicColorContext(This,wic_color_context,color_context) (This)->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context) #define ID2D1DeviceContext7_CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) (This)->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap) #define ID2D1DeviceContext7_CreateEffect(This,effect_id,effect) (This)->lpVtbl->CreateEffect(This,effect_id,effect) #define ID2D1DeviceContext7_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) (This)->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient) #define ID2D1DeviceContext7_CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush) #define ID2D1DeviceContext7_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) (This)->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush) #define ID2D1DeviceContext7_CreateCommandList(This,command_list) (This)->lpVtbl->CreateCommandList(This,command_list) #define ID2D1DeviceContext7_IsDxgiFormatSupported(This,format) (This)->lpVtbl->IsDxgiFormatSupported(This,format) #define ID2D1DeviceContext7_IsBufferPrecisionSupported(This,buffer_precision) (This)->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision) #define ID2D1DeviceContext7_GetImageLocalBounds(This,image,local_bounds) (This)->lpVtbl->GetImageLocalBounds(This,image,local_bounds) #define ID2D1DeviceContext7_GetImageWorldBounds(This,image,world_bounds) (This)->lpVtbl->GetImageWorldBounds(This,image,world_bounds) #define ID2D1DeviceContext7_GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) (This)->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds) #define ID2D1DeviceContext7_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define ID2D1DeviceContext7_SetTarget(This,target) (This)->lpVtbl->SetTarget(This,target) #define ID2D1DeviceContext7_GetTarget(This,target) (This)->lpVtbl->GetTarget(This,target) #define ID2D1DeviceContext7_SetRenderingControls(This,rendering_controls) (This)->lpVtbl->SetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext7_GetRenderingControls(This,rendering_controls) (This)->lpVtbl->GetRenderingControls(This,rendering_controls) #define ID2D1DeviceContext7_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1DeviceContext7_GetPrimitiveBlend(This) (This)->lpVtbl->GetPrimitiveBlend(This) #define ID2D1DeviceContext7_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1DeviceContext7_GetUnitMode(This) (This)->lpVtbl->GetUnitMode(This) #define ID2D1DeviceContext7_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1DeviceContext7_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1DeviceContext7_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1DeviceContext7_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer) #define ID2D1DeviceContext7_InvalidateEffectInputRectangle(This,effect,input,input_rect) (This)->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect) #define ID2D1DeviceContext7_GetEffectInvalidRectangleCount(This,effect,rect_count) (This)->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count) #define ID2D1DeviceContext7_GetEffectInvalidRectangles(This,effect,rectangles,rect_count) (This)->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count) #define ID2D1DeviceContext7_GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) (This)->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count) #define ID2D1DeviceContext7_FillOpacityMask(This,mask,brush,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect) /*** ID2D1DeviceContext1 methods ***/ #define ID2D1DeviceContext7_CreateFilledGeometryRealization(This,geometry,tolerance,realization) (This)->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization) #define ID2D1DeviceContext7_CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) (This)->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization) #define ID2D1DeviceContext7_DrawGeometryRealization(This,realization,brush) (This)->lpVtbl->DrawGeometryRealization(This,realization,brush) /*** ID2D1DeviceContext2 methods ***/ #define ID2D1DeviceContext7_CreateInk(This,start_point,ink) (This)->lpVtbl->CreateInk(This,start_point,ink) #define ID2D1DeviceContext7_CreateInkStyle(This,ink_style_properties,ink_style) (This)->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style) #define ID2D1DeviceContext7_CreateGradientMesh(This,patches,patches_count,gradient_mesh) (This)->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh) #define ID2D1DeviceContext7_CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) (This)->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source) #define ID2D1DeviceContext7_CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) (This)->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table) #define ID2D1DeviceContext7_CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) (This)->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source) #define ID2D1DeviceContext7_GetGradientMeshWorldBounds(This,gradient_mesh,bounds) (This)->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds) #define ID2D1DeviceContext7_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1DeviceContext7_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1DeviceContext7_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) (This)->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect) #define ID2D1DeviceContext7_CreateTransformedImageSource(This,source,props,transformed) (This)->lpVtbl->CreateTransformedImageSource(This,source,props,transformed) /*** ID2D1DeviceContext3 methods ***/ #define ID2D1DeviceContext7_CreateSpriteBatch(This,sprite_batch) (This)->lpVtbl->CreateSpriteBatch(This,sprite_batch) #define ID2D1DeviceContext7_DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) (This)->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) /*** ID2D1DeviceContext4 methods ***/ #define ID2D1DeviceContext7_CreateSvgGlyphStyle(This,svg_glyph_style) (This)->lpVtbl->CreateSvgGlyphStyle(This,svg_glyph_style) #define ID2D1DeviceContext7_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode) (This)->lpVtbl->ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode) #define ID2D1DeviceContext7_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options) (This)->lpVtbl->ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options) #define ID2D1DeviceContext7_DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option) (This)->lpVtbl->DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option) #define ID2D1DeviceContext7_DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode) (This)->lpVtbl->DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode) #define ID2D1DeviceContext7_GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image) (This)->lpVtbl->GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image) #define ID2D1DeviceContext7_GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image) (This)->lpVtbl->GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image) /*** ID2D1DeviceContext5 methods ***/ #define ID2D1DeviceContext7_CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document) (This)->lpVtbl->CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document) #define ID2D1DeviceContext7_DrawSvgDocument(This,svg_document) (This)->lpVtbl->DrawSvgDocument(This,svg_document) #define ID2D1DeviceContext7_CreateColorContextFromDxgiColorSpace(This,color_space,color_context) (This)->lpVtbl->CreateColorContextFromDxgiColorSpace(This,color_space,color_context) #define ID2D1DeviceContext7_CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context) (This)->lpVtbl->CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context) /*** ID2D1DeviceContext6 methods ***/ #define ID2D1DeviceContext7_BlendImage(This,image,blend_mode,target_offset,image_rect,interpolation_mode) (This)->lpVtbl->BlendImage(This,image,blend_mode,target_offset,image_rect,interpolation_mode) /*** ID2D1DeviceContext7 methods ***/ #define ID2D1DeviceContext7_GetPaintFeatureLevel(This) (This)->lpVtbl->GetPaintFeatureLevel(This) #define ID2D1DeviceContext7_DrawPaintGlyphRun(This,origin,run,brush,palette_index,measuring_mode) (This)->lpVtbl->DrawPaintGlyphRun(This,origin,run,brush,palette_index,measuring_mode) #define ID2D1DeviceContext7_DrawGlyphRunWithColorSupport(This,origin,run,run_desc,brush,style,palette_index,measuring_mode,snap_option) (This)->lpVtbl->DrawGlyphRunWithColorSupport(This,origin,run,run_desc,brush,style,palette_index,measuring_mode,snap_option) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1DeviceContext7_QueryInterface(ID2D1DeviceContext7* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1DeviceContext7_AddRef(ID2D1DeviceContext7* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1DeviceContext7_Release(ID2D1DeviceContext7* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1DeviceContext7_GetFactory(ID2D1DeviceContext7* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1DeviceContext7_CreateSharedBitmap(ID2D1DeviceContext7* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1DeviceContext7_CreateSolidColorBrush(ID2D1DeviceContext7* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1DeviceContext7_CreateLinearGradientBrush(ID2D1DeviceContext7* This,const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1LinearGradientBrush **brush) { return This->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext7_CreateRadialGradientBrush(ID2D1DeviceContext7* This,const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1GradientStopCollection *gradient,ID2D1RadialGradientBrush **brush) { return This->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush); } static inline HRESULT ID2D1DeviceContext7_CreateCompatibleRenderTarget(ID2D1DeviceContext7* This,const D2D1_SIZE_F *size,const D2D1_SIZE_U *pixel_size,const D2D1_PIXEL_FORMAT *format,D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,ID2D1BitmapRenderTarget **render_target) { return This->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target); } static inline HRESULT ID2D1DeviceContext7_CreateLayer(ID2D1DeviceContext7* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1DeviceContext7_CreateMesh(ID2D1DeviceContext7* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1DeviceContext7_DrawLine(ID2D1DeviceContext7* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext7_DrawRectangle(ID2D1DeviceContext7* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext7_FillRectangle(ID2D1DeviceContext7* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1DeviceContext7_DrawRoundedRectangle(ID2D1DeviceContext7* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext7_FillRoundedRectangle(ID2D1DeviceContext7* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1DeviceContext7_DrawEllipse(ID2D1DeviceContext7* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext7_FillEllipse(ID2D1DeviceContext7* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1DeviceContext7_DrawGeometry(ID2D1DeviceContext7* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1DeviceContext7_FillGeometry(ID2D1DeviceContext7* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1DeviceContext7_FillMesh(ID2D1DeviceContext7* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1DeviceContext7_SetTransform(ID2D1DeviceContext7* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1DeviceContext7_GetTransform(ID2D1DeviceContext7* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1DeviceContext7_SetAntialiasMode(ID2D1DeviceContext7* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1DeviceContext7_GetAntialiasMode(ID2D1DeviceContext7* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1DeviceContext7_SetTextAntialiasMode(ID2D1DeviceContext7* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1DeviceContext7_GetTextAntialiasMode(ID2D1DeviceContext7* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1DeviceContext7_SetTextRenderingParams(ID2D1DeviceContext7* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext7_GetTextRenderingParams(ID2D1DeviceContext7* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DeviceContext7_SetTags(ID2D1DeviceContext7* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext7_GetTags(ID2D1DeviceContext7* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1DeviceContext7_PopLayer(ID2D1DeviceContext7* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1DeviceContext7_Flush(ID2D1DeviceContext7* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1DeviceContext7_SaveDrawingState(ID2D1DeviceContext7* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1DeviceContext7_RestoreDrawingState(ID2D1DeviceContext7* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1DeviceContext7_PushAxisAlignedClip(ID2D1DeviceContext7* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1DeviceContext7_PopAxisAlignedClip(ID2D1DeviceContext7* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1DeviceContext7_Clear(ID2D1DeviceContext7* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1DeviceContext7_BeginDraw(ID2D1DeviceContext7* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1DeviceContext7_EndDraw(ID2D1DeviceContext7* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1DeviceContext7_GetPixelFormat(ID2D1DeviceContext7* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1DeviceContext7_SetDpi(ID2D1DeviceContext7* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1DeviceContext7_GetDpi(ID2D1DeviceContext7* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1DeviceContext7_GetSize(ID2D1DeviceContext7* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1DeviceContext7_GetPixelSize(ID2D1DeviceContext7* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1DeviceContext7_GetMaximumBitmapSize(ID2D1DeviceContext7* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1DeviceContext7_IsSupported(ID2D1DeviceContext7* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1DeviceContext methods ***/ static inline HRESULT ID2D1DeviceContext7_CreateBitmap(ID2D1DeviceContext7* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1DeviceContext7_CreateBitmapFromWicBitmap(ID2D1DeviceContext7* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1DeviceContext7_CreateColorContext(ID2D1DeviceContext7* This,D2D1_COLOR_SPACE space,const BYTE *profile,UINT32 profile_size,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContext(This,space,profile,profile_size,color_context); } static inline HRESULT ID2D1DeviceContext7_CreateColorContextFromFilename(ID2D1DeviceContext7* This,const WCHAR *filename,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromFilename(This,filename,color_context); } static inline HRESULT ID2D1DeviceContext7_CreateColorContextFromWicColorContext(ID2D1DeviceContext7* This,IWICColorContext *wic_color_context,ID2D1ColorContext **color_context) { return This->lpVtbl->CreateColorContextFromWicColorContext(This,wic_color_context,color_context); } static inline HRESULT ID2D1DeviceContext7_CreateBitmapFromDxgiSurface(ID2D1DeviceContext7* This,IDXGISurface *surface,const D2D1_BITMAP_PROPERTIES1 *desc,ID2D1Bitmap1 **bitmap) { return This->lpVtbl->CreateBitmapFromDxgiSurface(This,surface,desc,bitmap); } static inline HRESULT ID2D1DeviceContext7_CreateEffect(ID2D1DeviceContext7* This,REFCLSID effect_id,ID2D1Effect **effect) { return This->lpVtbl->CreateEffect(This,effect_id,effect); } static inline HRESULT ID2D1DeviceContext7_CreateGradientStopCollection(ID2D1DeviceContext7* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_COLOR_SPACE preinterpolation_space,D2D1_COLOR_SPACE postinterpolation_space,D2D1_BUFFER_PRECISION buffer_precision,D2D1_EXTEND_MODE extend_mode,D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode,ID2D1GradientStopCollection1 **gradient) { return This->lpVtbl->ID2D1DeviceContext_CreateGradientStopCollection(This,stops,stop_count,preinterpolation_space,postinterpolation_space,buffer_precision,extend_mode,color_interpolation_mode,gradient); } static inline HRESULT ID2D1DeviceContext7_CreateImageBrush(ID2D1DeviceContext7* This,ID2D1Image *image,const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1ImageBrush **brush) { return This->lpVtbl->CreateImageBrush(This,image,image_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1DeviceContext7_CreateBitmapBrush(ID2D1DeviceContext7* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush1 **bitmap_brush) { return This->lpVtbl->ID2D1DeviceContext_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,bitmap_brush); } static inline HRESULT ID2D1DeviceContext7_CreateCommandList(ID2D1DeviceContext7* This,ID2D1CommandList **command_list) { return This->lpVtbl->CreateCommandList(This,command_list); } static inline BOOL ID2D1DeviceContext7_IsDxgiFormatSupported(ID2D1DeviceContext7* This,DXGI_FORMAT format) { return This->lpVtbl->IsDxgiFormatSupported(This,format); } static inline BOOL ID2D1DeviceContext7_IsBufferPrecisionSupported(ID2D1DeviceContext7* This,D2D1_BUFFER_PRECISION buffer_precision) { return This->lpVtbl->IsBufferPrecisionSupported(This,buffer_precision); } static inline HRESULT ID2D1DeviceContext7_GetImageLocalBounds(ID2D1DeviceContext7* This,ID2D1Image *image,D2D1_RECT_F *local_bounds) { return This->lpVtbl->GetImageLocalBounds(This,image,local_bounds); } static inline HRESULT ID2D1DeviceContext7_GetImageWorldBounds(ID2D1DeviceContext7* This,ID2D1Image *image,D2D1_RECT_F *world_bounds) { return This->lpVtbl->GetImageWorldBounds(This,image,world_bounds); } static inline HRESULT ID2D1DeviceContext7_GetGlyphRunWorldBounds(ID2D1DeviceContext7* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGlyphRunWorldBounds(This,baseline_origin,glyph_run,measuring_mode,bounds); } static inline void ID2D1DeviceContext7_GetDevice(ID2D1DeviceContext7* This,ID2D1Device **device) { This->lpVtbl->GetDevice(This,device); } static inline void ID2D1DeviceContext7_SetTarget(ID2D1DeviceContext7* This,ID2D1Image *target) { This->lpVtbl->SetTarget(This,target); } static inline void ID2D1DeviceContext7_GetTarget(ID2D1DeviceContext7* This,ID2D1Image **target) { This->lpVtbl->GetTarget(This,target); } static inline void ID2D1DeviceContext7_SetRenderingControls(ID2D1DeviceContext7* This,const D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->SetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext7_GetRenderingControls(ID2D1DeviceContext7* This,D2D1_RENDERING_CONTROLS *rendering_controls) { This->lpVtbl->GetRenderingControls(This,rendering_controls); } static inline void ID2D1DeviceContext7_SetPrimitiveBlend(ID2D1DeviceContext7* This,D2D1_PRIMITIVE_BLEND primitive_blend) { This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline D2D1_PRIMITIVE_BLEND ID2D1DeviceContext7_GetPrimitiveBlend(ID2D1DeviceContext7* This) { return This->lpVtbl->GetPrimitiveBlend(This); } static inline void ID2D1DeviceContext7_SetUnitMode(ID2D1DeviceContext7* This,D2D1_UNIT_MODE unit_mode) { This->lpVtbl->SetUnitMode(This,unit_mode); } static inline D2D1_UNIT_MODE ID2D1DeviceContext7_GetUnitMode(ID2D1DeviceContext7* This) { return This->lpVtbl->GetUnitMode(This); } static inline void ID2D1DeviceContext7_DrawGlyphRun(ID2D1DeviceContext7* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline void ID2D1DeviceContext7_DrawImage(ID2D1DeviceContext7* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline void ID2D1DeviceContext7_DrawBitmap(ID2D1DeviceContext7* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { This->lpVtbl->ID2D1DeviceContext_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline void ID2D1DeviceContext7_PushLayer(ID2D1DeviceContext7* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->ID2D1DeviceContext_PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1DeviceContext7_InvalidateEffectInputRectangle(ID2D1DeviceContext7* This,ID2D1Effect *effect,UINT32 input,const D2D1_RECT_F *input_rect) { return This->lpVtbl->InvalidateEffectInputRectangle(This,effect,input,input_rect); } static inline HRESULT ID2D1DeviceContext7_GetEffectInvalidRectangleCount(ID2D1DeviceContext7* This,ID2D1Effect *effect,UINT32 *rect_count) { return This->lpVtbl->GetEffectInvalidRectangleCount(This,effect,rect_count); } static inline HRESULT ID2D1DeviceContext7_GetEffectInvalidRectangles(ID2D1DeviceContext7* This,ID2D1Effect *effect,D2D1_RECT_F *rectangles,UINT32 rect_count) { return This->lpVtbl->GetEffectInvalidRectangles(This,effect,rectangles,rect_count); } static inline HRESULT ID2D1DeviceContext7_GetEffectRequiredInputRectangles(ID2D1DeviceContext7* This,ID2D1Effect *effect,const D2D1_RECT_F *image_rect,const D2D1_EFFECT_INPUT_DESCRIPTION *desc,D2D1_RECT_F *input_rect,UINT32 input_count) { return This->lpVtbl->GetEffectRequiredInputRectangles(This,effect,image_rect,desc,input_rect,input_count); } static inline void ID2D1DeviceContext7_FillOpacityMask(ID2D1DeviceContext7* This,ID2D1Bitmap *mask,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext_FillOpacityMask(This,mask,brush,dst_rect,src_rect); } /*** ID2D1DeviceContext1 methods ***/ static inline HRESULT ID2D1DeviceContext7_CreateFilledGeometryRealization(ID2D1DeviceContext7* This,ID2D1Geometry *geometry,float tolerance,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateFilledGeometryRealization(This,geometry,tolerance,realization); } static inline HRESULT ID2D1DeviceContext7_CreateStrokedGeometryRealization(ID2D1DeviceContext7* This,ID2D1Geometry *geometry,float tolerance,float stroke_width,ID2D1StrokeStyle *stroke_style,ID2D1GeometryRealization **realization) { return This->lpVtbl->CreateStrokedGeometryRealization(This,geometry,tolerance,stroke_width,stroke_style,realization); } static inline void ID2D1DeviceContext7_DrawGeometryRealization(ID2D1DeviceContext7* This,ID2D1GeometryRealization *realization,ID2D1Brush *brush) { This->lpVtbl->DrawGeometryRealization(This,realization,brush); } /*** ID2D1DeviceContext2 methods ***/ static inline HRESULT ID2D1DeviceContext7_CreateInk(ID2D1DeviceContext7* This,const D2D1_INK_POINT *start_point,ID2D1Ink **ink) { return This->lpVtbl->CreateInk(This,start_point,ink); } static inline HRESULT ID2D1DeviceContext7_CreateInkStyle(ID2D1DeviceContext7* This,const D2D1_INK_STYLE_PROPERTIES *ink_style_properties,ID2D1InkStyle **ink_style) { return This->lpVtbl->CreateInkStyle(This,ink_style_properties,ink_style); } static inline HRESULT ID2D1DeviceContext7_CreateGradientMesh(ID2D1DeviceContext7* This,const D2D1_GRADIENT_MESH_PATCH *patches,UINT32 patches_count,ID2D1GradientMesh **gradient_mesh) { return This->lpVtbl->CreateGradientMesh(This,patches,patches_count,gradient_mesh); } static inline HRESULT ID2D1DeviceContext7_CreateImageSourceFromWic(ID2D1DeviceContext7* This,IWICBitmapSource *wic_bitmap_source,D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options,D2D1_ALPHA_MODE alpha_mode,ID2D1ImageSourceFromWic **image_source) { return This->lpVtbl->CreateImageSourceFromWic(This,wic_bitmap_source,loading_options,alpha_mode,image_source); } static inline HRESULT ID2D1DeviceContext7_CreateLookupTable3D(ID2D1DeviceContext7* This,D2D1_BUFFER_PRECISION precision,const UINT32 *extents,const BYTE *data,UINT32 data_count,const UINT32 *strides,ID2D1LookupTable3D **lookup_table) { return This->lpVtbl->CreateLookupTable3D(This,precision,extents,data,data_count,strides,lookup_table); } static inline HRESULT ID2D1DeviceContext7_CreateImageSourceFromDxgi(ID2D1DeviceContext7* This,IDXGISurface **surfaces,UINT32 surface_count,DXGI_COLOR_SPACE_TYPE color_space,D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,ID2D1ImageSource **image_source) { return This->lpVtbl->CreateImageSourceFromDxgi(This,surfaces,surface_count,color_space,options,image_source); } static inline HRESULT ID2D1DeviceContext7_GetGradientMeshWorldBounds(ID2D1DeviceContext7* This,ID2D1GradientMesh *gradient_mesh,D2D1_RECT_F *bounds) { return This->lpVtbl->GetGradientMeshWorldBounds(This,gradient_mesh,bounds); } static inline void ID2D1DeviceContext7_DrawInk(ID2D1DeviceContext7* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline void ID2D1DeviceContext7_DrawGradientMesh(ID2D1DeviceContext7* This,ID2D1GradientMesh *gradient_mesh) { This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline void ID2D1DeviceContext7_DrawGdiMetafile(ID2D1DeviceContext7* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->ID2D1DeviceContext2_DrawGdiMetafile(This,gdi_metafile,dst_rect,src_rect); } static inline HRESULT ID2D1DeviceContext7_CreateTransformedImageSource(ID2D1DeviceContext7* This,ID2D1ImageSource *source,const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props,ID2D1TransformedImageSource **transformed) { return This->lpVtbl->CreateTransformedImageSource(This,source,props,transformed); } /*** ID2D1DeviceContext3 methods ***/ static inline HRESULT ID2D1DeviceContext7_CreateSpriteBatch(ID2D1DeviceContext7* This,ID2D1SpriteBatch **sprite_batch) { return This->lpVtbl->CreateSpriteBatch(This,sprite_batch); } static inline void ID2D1DeviceContext7_DrawSpriteBatch(ID2D1DeviceContext7* This,ID2D1SpriteBatch *sprite_batch,UINT32 start_index,UINT32 sprite_count,ID2D1Bitmap *bitmap,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,D2D1_SPRITE_OPTIONS sprite_options) { This->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options); } /*** ID2D1DeviceContext4 methods ***/ static inline HRESULT ID2D1DeviceContext7_CreateSvgGlyphStyle(ID2D1DeviceContext7* This,ID2D1SvgGlyphStyle **svg_glyph_style) { return This->lpVtbl->CreateSvgGlyphStyle(This,svg_glyph_style); } static inline void ID2D1DeviceContext7_DrawText(ID2D1DeviceContext7* This,const WCHAR *string,UINT32 string_length,IDWriteTextFormat *text_format,const D2D1_RECT_F *layout_rect,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_DRAW_TEXT_OPTIONS options,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->ID2D1DeviceContext4_DrawText(This,string,string_length,text_format,layout_rect,default_fill_brush,svg_glyph_style,color_palette_index,options,measuring_mode); } static inline void ID2D1DeviceContext7_DrawTextLayout(ID2D1DeviceContext7* This,D2D1_POINT_2F origin,IDWriteTextLayout *text_layout,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_DRAW_TEXT_OPTIONS options) { This->lpVtbl->ID2D1DeviceContext4_DrawTextLayout(This,origin,text_layout,default_fill_brush,svg_glyph_style,color_palette_index,options); } static inline void ID2D1DeviceContext7_DrawColorBitmapGlyphRun(ID2D1DeviceContext7* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,DWRITE_MEASURING_MODE measuring_mode,D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option) { This->lpVtbl->DrawColorBitmapGlyphRun(This,glyph_image_format,baseline_origin,glyph_run,measuring_mode,bitmap_snap_option); } static inline void ID2D1DeviceContext7_DrawSvgGlyphRun(ID2D1DeviceContext7* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawSvgGlyphRun(This,baseline_origin,glyph_run,default_fill_brush,svg_glyph_style,color_palette_index,measuring_mode); } static inline HRESULT ID2D1DeviceContext7_GetColorBitmapGlyphImage(ID2D1DeviceContext7* This,DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,D2D1_POINT_2F glyph_origin,IDWriteFontFace *font_face,FLOAT font_em_size,UINT16 glyph_index,BOOL is_sideways,const D2D1_MATRIX_3X2_F *world_transform,FLOAT dpi_x,FLOAT dpi_y,D2D1_MATRIX_3X2_F *glyph_transform,ID2D1Image **glyph_image) { return This->lpVtbl->GetColorBitmapGlyphImage(This,glyph_image_format,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,dpi_x,dpi_y,glyph_transform,glyph_image); } static inline HRESULT ID2D1DeviceContext7_GetSvgGlyphImage(ID2D1DeviceContext7* This,D2D1_POINT_2F glyph_origin,IDWriteFontFace *font_face,FLOAT font_em_size,UINT16 glyph_index,BOOL is_sideways,const D2D1_MATRIX_3X2_F *world_transform,ID2D1Brush *default_fill_brush,ID2D1SvgGlyphStyle *svg_glyph_style,UINT32 color_palette_index,D2D1_MATRIX_3X2_F *glyph_transform,ID2D1CommandList **glyph_image) { return This->lpVtbl->GetSvgGlyphImage(This,glyph_origin,font_face,font_em_size,glyph_index,is_sideways,world_transform,default_fill_brush,svg_glyph_style,color_palette_index,glyph_transform,glyph_image); } /*** ID2D1DeviceContext5 methods ***/ static inline HRESULT ID2D1DeviceContext7_CreateSvgDocument(ID2D1DeviceContext7* This,IStream *input_xml_stream,D2D1_SIZE_F viewport_size,ID2D1SvgDocument **svg_document) { return This->lpVtbl->CreateSvgDocument(This,input_xml_stream,viewport_size,svg_document); } static inline void ID2D1DeviceContext7_DrawSvgDocument(ID2D1DeviceContext7* This,ID2D1SvgDocument *svg_document) { This->lpVtbl->DrawSvgDocument(This,svg_document); } static inline HRESULT ID2D1DeviceContext7_CreateColorContextFromDxgiColorSpace(ID2D1DeviceContext7* This,DXGI_COLOR_SPACE_TYPE color_space,ID2D1ColorContext1 **color_context) { return This->lpVtbl->CreateColorContextFromDxgiColorSpace(This,color_space,color_context); } static inline HRESULT ID2D1DeviceContext7_CreateColorContextFromSimpleColorProfile(ID2D1DeviceContext7* This,const D2D1_SIMPLE_COLOR_PROFILE *simple_profile,ID2D1ColorContext1 **color_context) { return This->lpVtbl->CreateColorContextFromSimpleColorProfile(This,simple_profile,color_context); } /*** ID2D1DeviceContext6 methods ***/ static inline void ID2D1DeviceContext7_BlendImage(ID2D1DeviceContext7* This,ID2D1Image *image,D2D1_BLEND_MODE blend_mode,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode) { This->lpVtbl->BlendImage(This,image,blend_mode,target_offset,image_rect,interpolation_mode); } /*** ID2D1DeviceContext7 methods ***/ static inline DWRITE_PAINT_FEATURE_LEVEL ID2D1DeviceContext7_GetPaintFeatureLevel(ID2D1DeviceContext7* This) { return This->lpVtbl->GetPaintFeatureLevel(This); } static inline void ID2D1DeviceContext7_DrawPaintGlyphRun(ID2D1DeviceContext7* This,D2D1_POINT_2F origin,const DWRITE_GLYPH_RUN *run,ID2D1Brush *brush,UINT32 palette_index,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawPaintGlyphRun(This,origin,run,brush,palette_index,measuring_mode); } static inline void ID2D1DeviceContext7_DrawGlyphRunWithColorSupport(ID2D1DeviceContext7* This,D2D1_POINT_2F origin,const DWRITE_GLYPH_RUN *run,const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc,ID2D1Brush *brush,ID2D1SvgGlyphStyle *style,UINT32 palette_index,DWRITE_MEASURING_MODE measuring_mode,D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION snap_option) { This->lpVtbl->DrawGlyphRunWithColorSupport(This,origin,run,run_desc,brush,style,palette_index,measuring_mode,snap_option); } #endif #endif #endif #endif /* __ID2D1DeviceContext7_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Device2 interface */ #ifndef __ID2D1Device2_INTERFACE_DEFINED__ #define __ID2D1Device2_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Device2, 0xa44472e1, 0x8dfb, 0x4e60, 0x84,0x92, 0x6e,0x28,0x61,0xc9,0xca,0x8b); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a44472e1-8dfb-4e60-8492-6e2861c9ca8b") ID2D1Device2 : public ID2D1Device1 { virtual HRESULT STDMETHODCALLTYPE CreateDeviceContext( D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext2 **context) = 0; virtual void STDMETHODCALLTYPE FlushDeviceContexts( ID2D1Bitmap *bitmap) = 0; virtual HRESULT STDMETHODCALLTYPE GetDxgiDevice( IDXGIDevice **dxgi_device) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Device2, 0xa44472e1, 0x8dfb, 0x4e60, 0x84,0x92, 0x6e,0x28,0x61,0xc9,0xca,0x8b) #endif #else typedef struct ID2D1Device2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Device2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Device2 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Device2 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Device2 *This, ID2D1Factory **factory); /*** ID2D1Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDeviceContext)( ID2D1Device2 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext **context); HRESULT (STDMETHODCALLTYPE *CreatePrintControl)( ID2D1Device2 *This, IWICImagingFactory *wic_factory, IPrintDocumentPackageTarget *document_target, const D2D1_PRINT_CONTROL_PROPERTIES *desc, ID2D1PrintControl **print_control); void (STDMETHODCALLTYPE *SetMaximumTextureMemory)( ID2D1Device2 *This, UINT64 max_texture_memory); UINT64 (STDMETHODCALLTYPE *GetMaximumTextureMemory)( ID2D1Device2 *This); HRESULT (STDMETHODCALLTYPE *ClearResources)( ID2D1Device2 *This, UINT msec_since_use); /*** ID2D1Device1 methods ***/ D2D1_RENDERING_PRIORITY (STDMETHODCALLTYPE *GetRenderingPriority)( ID2D1Device2 *This); void (STDMETHODCALLTYPE *SetRenderingPriority)( ID2D1Device2 *This, D2D1_RENDERING_PRIORITY priority); HRESULT (STDMETHODCALLTYPE *ID2D1Device1_CreateDeviceContext)( ID2D1Device2 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext1 **device_context); /*** ID2D1Device2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device2_CreateDeviceContext)( ID2D1Device2 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext2 **context); void (STDMETHODCALLTYPE *FlushDeviceContexts)( ID2D1Device2 *This, ID2D1Bitmap *bitmap); HRESULT (STDMETHODCALLTYPE *GetDxgiDevice)( ID2D1Device2 *This, IDXGIDevice **dxgi_device); END_INTERFACE } ID2D1Device2Vtbl; interface ID2D1Device2 { CONST_VTBL ID2D1Device2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Device2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Device2_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Device2_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Device2_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Device methods ***/ #define ID2D1Device2_CreatePrintControl(This,wic_factory,document_target,desc,print_control) (This)->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control) #define ID2D1Device2_SetMaximumTextureMemory(This,max_texture_memory) (This)->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory) #define ID2D1Device2_GetMaximumTextureMemory(This) (This)->lpVtbl->GetMaximumTextureMemory(This) #define ID2D1Device2_ClearResources(This,msec_since_use) (This)->lpVtbl->ClearResources(This,msec_since_use) /*** ID2D1Device1 methods ***/ #define ID2D1Device2_GetRenderingPriority(This) (This)->lpVtbl->GetRenderingPriority(This) #define ID2D1Device2_SetRenderingPriority(This,priority) (This)->lpVtbl->SetRenderingPriority(This,priority) /*** ID2D1Device2 methods ***/ #define ID2D1Device2_CreateDeviceContext(This,options,context) (This)->lpVtbl->ID2D1Device2_CreateDeviceContext(This,options,context) #define ID2D1Device2_FlushDeviceContexts(This,bitmap) (This)->lpVtbl->FlushDeviceContexts(This,bitmap) #define ID2D1Device2_GetDxgiDevice(This,dxgi_device) (This)->lpVtbl->GetDxgiDevice(This,dxgi_device) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Device2_QueryInterface(ID2D1Device2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Device2_AddRef(ID2D1Device2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Device2_Release(ID2D1Device2* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Device2_GetFactory(ID2D1Device2* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Device methods ***/ static inline HRESULT ID2D1Device2_CreatePrintControl(ID2D1Device2* This,IWICImagingFactory *wic_factory,IPrintDocumentPackageTarget *document_target,const D2D1_PRINT_CONTROL_PROPERTIES *desc,ID2D1PrintControl **print_control) { return This->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control); } static inline void ID2D1Device2_SetMaximumTextureMemory(ID2D1Device2* This,UINT64 max_texture_memory) { This->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory); } static inline UINT64 ID2D1Device2_GetMaximumTextureMemory(ID2D1Device2* This) { return This->lpVtbl->GetMaximumTextureMemory(This); } static inline HRESULT ID2D1Device2_ClearResources(ID2D1Device2* This,UINT msec_since_use) { return This->lpVtbl->ClearResources(This,msec_since_use); } /*** ID2D1Device1 methods ***/ static inline D2D1_RENDERING_PRIORITY ID2D1Device2_GetRenderingPriority(ID2D1Device2* This) { return This->lpVtbl->GetRenderingPriority(This); } static inline void ID2D1Device2_SetRenderingPriority(ID2D1Device2* This,D2D1_RENDERING_PRIORITY priority) { This->lpVtbl->SetRenderingPriority(This,priority); } /*** ID2D1Device2 methods ***/ static inline HRESULT ID2D1Device2_CreateDeviceContext(ID2D1Device2* This,D2D1_DEVICE_CONTEXT_OPTIONS options,ID2D1DeviceContext2 **context) { return This->lpVtbl->ID2D1Device2_CreateDeviceContext(This,options,context); } static inline void ID2D1Device2_FlushDeviceContexts(ID2D1Device2* This,ID2D1Bitmap *bitmap) { This->lpVtbl->FlushDeviceContexts(This,bitmap); } static inline HRESULT ID2D1Device2_GetDxgiDevice(ID2D1Device2* This,IDXGIDevice **dxgi_device) { return This->lpVtbl->GetDxgiDevice(This,dxgi_device); } #endif #endif #endif #endif /* __ID2D1Device2_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Device3 interface */ #ifndef __ID2D1Device3_INTERFACE_DEFINED__ #define __ID2D1Device3_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Device3, 0x852f2087, 0x802c, 0x4037, 0xab,0x60, 0xff,0x2e,0x7e,0xe6,0xfc,0x01); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("852f2087-802c-4037-ab60-ff2e7ee6fc01") ID2D1Device3 : public ID2D1Device2 { virtual HRESULT STDMETHODCALLTYPE CreateDeviceContext( D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext3 **context) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Device3, 0x852f2087, 0x802c, 0x4037, 0xab,0x60, 0xff,0x2e,0x7e,0xe6,0xfc,0x01) #endif #else typedef struct ID2D1Device3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Device3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Device3 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Device3 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Device3 *This, ID2D1Factory **factory); /*** ID2D1Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDeviceContext)( ID2D1Device3 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext **context); HRESULT (STDMETHODCALLTYPE *CreatePrintControl)( ID2D1Device3 *This, IWICImagingFactory *wic_factory, IPrintDocumentPackageTarget *document_target, const D2D1_PRINT_CONTROL_PROPERTIES *desc, ID2D1PrintControl **print_control); void (STDMETHODCALLTYPE *SetMaximumTextureMemory)( ID2D1Device3 *This, UINT64 max_texture_memory); UINT64 (STDMETHODCALLTYPE *GetMaximumTextureMemory)( ID2D1Device3 *This); HRESULT (STDMETHODCALLTYPE *ClearResources)( ID2D1Device3 *This, UINT msec_since_use); /*** ID2D1Device1 methods ***/ D2D1_RENDERING_PRIORITY (STDMETHODCALLTYPE *GetRenderingPriority)( ID2D1Device3 *This); void (STDMETHODCALLTYPE *SetRenderingPriority)( ID2D1Device3 *This, D2D1_RENDERING_PRIORITY priority); HRESULT (STDMETHODCALLTYPE *ID2D1Device1_CreateDeviceContext)( ID2D1Device3 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext1 **device_context); /*** ID2D1Device2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device2_CreateDeviceContext)( ID2D1Device3 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext2 **context); void (STDMETHODCALLTYPE *FlushDeviceContexts)( ID2D1Device3 *This, ID2D1Bitmap *bitmap); HRESULT (STDMETHODCALLTYPE *GetDxgiDevice)( ID2D1Device3 *This, IDXGIDevice **dxgi_device); /*** ID2D1Device3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device3_CreateDeviceContext)( ID2D1Device3 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext3 **context); END_INTERFACE } ID2D1Device3Vtbl; interface ID2D1Device3 { CONST_VTBL ID2D1Device3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Device3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Device3_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Device3_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Device3_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Device methods ***/ #define ID2D1Device3_CreatePrintControl(This,wic_factory,document_target,desc,print_control) (This)->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control) #define ID2D1Device3_SetMaximumTextureMemory(This,max_texture_memory) (This)->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory) #define ID2D1Device3_GetMaximumTextureMemory(This) (This)->lpVtbl->GetMaximumTextureMemory(This) #define ID2D1Device3_ClearResources(This,msec_since_use) (This)->lpVtbl->ClearResources(This,msec_since_use) /*** ID2D1Device1 methods ***/ #define ID2D1Device3_GetRenderingPriority(This) (This)->lpVtbl->GetRenderingPriority(This) #define ID2D1Device3_SetRenderingPriority(This,priority) (This)->lpVtbl->SetRenderingPriority(This,priority) /*** ID2D1Device2 methods ***/ #define ID2D1Device3_FlushDeviceContexts(This,bitmap) (This)->lpVtbl->FlushDeviceContexts(This,bitmap) #define ID2D1Device3_GetDxgiDevice(This,dxgi_device) (This)->lpVtbl->GetDxgiDevice(This,dxgi_device) /*** ID2D1Device3 methods ***/ #define ID2D1Device3_CreateDeviceContext(This,options,context) (This)->lpVtbl->ID2D1Device3_CreateDeviceContext(This,options,context) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Device3_QueryInterface(ID2D1Device3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Device3_AddRef(ID2D1Device3* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Device3_Release(ID2D1Device3* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Device3_GetFactory(ID2D1Device3* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Device methods ***/ static inline HRESULT ID2D1Device3_CreatePrintControl(ID2D1Device3* This,IWICImagingFactory *wic_factory,IPrintDocumentPackageTarget *document_target,const D2D1_PRINT_CONTROL_PROPERTIES *desc,ID2D1PrintControl **print_control) { return This->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control); } static inline void ID2D1Device3_SetMaximumTextureMemory(ID2D1Device3* This,UINT64 max_texture_memory) { This->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory); } static inline UINT64 ID2D1Device3_GetMaximumTextureMemory(ID2D1Device3* This) { return This->lpVtbl->GetMaximumTextureMemory(This); } static inline HRESULT ID2D1Device3_ClearResources(ID2D1Device3* This,UINT msec_since_use) { return This->lpVtbl->ClearResources(This,msec_since_use); } /*** ID2D1Device1 methods ***/ static inline D2D1_RENDERING_PRIORITY ID2D1Device3_GetRenderingPriority(ID2D1Device3* This) { return This->lpVtbl->GetRenderingPriority(This); } static inline void ID2D1Device3_SetRenderingPriority(ID2D1Device3* This,D2D1_RENDERING_PRIORITY priority) { This->lpVtbl->SetRenderingPriority(This,priority); } /*** ID2D1Device2 methods ***/ static inline void ID2D1Device3_FlushDeviceContexts(ID2D1Device3* This,ID2D1Bitmap *bitmap) { This->lpVtbl->FlushDeviceContexts(This,bitmap); } static inline HRESULT ID2D1Device3_GetDxgiDevice(ID2D1Device3* This,IDXGIDevice **dxgi_device) { return This->lpVtbl->GetDxgiDevice(This,dxgi_device); } /*** ID2D1Device3 methods ***/ static inline HRESULT ID2D1Device3_CreateDeviceContext(ID2D1Device3* This,D2D1_DEVICE_CONTEXT_OPTIONS options,ID2D1DeviceContext3 **context) { return This->lpVtbl->ID2D1Device3_CreateDeviceContext(This,options,context); } #endif #endif #endif #endif /* __ID2D1Device3_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Device4 interface */ #ifndef __ID2D1Device4_INTERFACE_DEFINED__ #define __ID2D1Device4_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Device4, 0xd7bdb159, 0x5683, 0x4a46, 0xbc,0x9c, 0x72,0xdc,0x72,0x0b,0x85,0x8b); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d7bdb159-5683-4a46-bc9c-72dc720b858b") ID2D1Device4 : public ID2D1Device3 { virtual HRESULT STDMETHODCALLTYPE CreateDeviceContext( D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext4 **context) = 0; virtual void STDMETHODCALLTYPE SetMaximumColorGlyphCacheMemory( UINT64 size) = 0; virtual UINT64 STDMETHODCALLTYPE GetMaximumColorGlyphCacheMemory( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Device4, 0xd7bdb159, 0x5683, 0x4a46, 0xbc,0x9c, 0x72,0xdc,0x72,0x0b,0x85,0x8b) #endif #else typedef struct ID2D1Device4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Device4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Device4 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Device4 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Device4 *This, ID2D1Factory **factory); /*** ID2D1Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDeviceContext)( ID2D1Device4 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext **context); HRESULT (STDMETHODCALLTYPE *CreatePrintControl)( ID2D1Device4 *This, IWICImagingFactory *wic_factory, IPrintDocumentPackageTarget *document_target, const D2D1_PRINT_CONTROL_PROPERTIES *desc, ID2D1PrintControl **print_control); void (STDMETHODCALLTYPE *SetMaximumTextureMemory)( ID2D1Device4 *This, UINT64 max_texture_memory); UINT64 (STDMETHODCALLTYPE *GetMaximumTextureMemory)( ID2D1Device4 *This); HRESULT (STDMETHODCALLTYPE *ClearResources)( ID2D1Device4 *This, UINT msec_since_use); /*** ID2D1Device1 methods ***/ D2D1_RENDERING_PRIORITY (STDMETHODCALLTYPE *GetRenderingPriority)( ID2D1Device4 *This); void (STDMETHODCALLTYPE *SetRenderingPriority)( ID2D1Device4 *This, D2D1_RENDERING_PRIORITY priority); HRESULT (STDMETHODCALLTYPE *ID2D1Device1_CreateDeviceContext)( ID2D1Device4 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext1 **device_context); /*** ID2D1Device2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device2_CreateDeviceContext)( ID2D1Device4 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext2 **context); void (STDMETHODCALLTYPE *FlushDeviceContexts)( ID2D1Device4 *This, ID2D1Bitmap *bitmap); HRESULT (STDMETHODCALLTYPE *GetDxgiDevice)( ID2D1Device4 *This, IDXGIDevice **dxgi_device); /*** ID2D1Device3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device3_CreateDeviceContext)( ID2D1Device4 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext3 **context); /*** ID2D1Device4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device4_CreateDeviceContext)( ID2D1Device4 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext4 **context); void (STDMETHODCALLTYPE *SetMaximumColorGlyphCacheMemory)( ID2D1Device4 *This, UINT64 size); UINT64 (STDMETHODCALLTYPE *GetMaximumColorGlyphCacheMemory)( ID2D1Device4 *This); END_INTERFACE } ID2D1Device4Vtbl; interface ID2D1Device4 { CONST_VTBL ID2D1Device4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Device4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Device4_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Device4_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Device4_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Device methods ***/ #define ID2D1Device4_CreatePrintControl(This,wic_factory,document_target,desc,print_control) (This)->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control) #define ID2D1Device4_SetMaximumTextureMemory(This,max_texture_memory) (This)->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory) #define ID2D1Device4_GetMaximumTextureMemory(This) (This)->lpVtbl->GetMaximumTextureMemory(This) #define ID2D1Device4_ClearResources(This,msec_since_use) (This)->lpVtbl->ClearResources(This,msec_since_use) /*** ID2D1Device1 methods ***/ #define ID2D1Device4_GetRenderingPriority(This) (This)->lpVtbl->GetRenderingPriority(This) #define ID2D1Device4_SetRenderingPriority(This,priority) (This)->lpVtbl->SetRenderingPriority(This,priority) /*** ID2D1Device2 methods ***/ #define ID2D1Device4_FlushDeviceContexts(This,bitmap) (This)->lpVtbl->FlushDeviceContexts(This,bitmap) #define ID2D1Device4_GetDxgiDevice(This,dxgi_device) (This)->lpVtbl->GetDxgiDevice(This,dxgi_device) /*** ID2D1Device3 methods ***/ /*** ID2D1Device4 methods ***/ #define ID2D1Device4_CreateDeviceContext(This,options,context) (This)->lpVtbl->ID2D1Device4_CreateDeviceContext(This,options,context) #define ID2D1Device4_SetMaximumColorGlyphCacheMemory(This,size) (This)->lpVtbl->SetMaximumColorGlyphCacheMemory(This,size) #define ID2D1Device4_GetMaximumColorGlyphCacheMemory(This) (This)->lpVtbl->GetMaximumColorGlyphCacheMemory(This) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Device4_QueryInterface(ID2D1Device4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Device4_AddRef(ID2D1Device4* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Device4_Release(ID2D1Device4* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Device4_GetFactory(ID2D1Device4* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Device methods ***/ static inline HRESULT ID2D1Device4_CreatePrintControl(ID2D1Device4* This,IWICImagingFactory *wic_factory,IPrintDocumentPackageTarget *document_target,const D2D1_PRINT_CONTROL_PROPERTIES *desc,ID2D1PrintControl **print_control) { return This->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control); } static inline void ID2D1Device4_SetMaximumTextureMemory(ID2D1Device4* This,UINT64 max_texture_memory) { This->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory); } static inline UINT64 ID2D1Device4_GetMaximumTextureMemory(ID2D1Device4* This) { return This->lpVtbl->GetMaximumTextureMemory(This); } static inline HRESULT ID2D1Device4_ClearResources(ID2D1Device4* This,UINT msec_since_use) { return This->lpVtbl->ClearResources(This,msec_since_use); } /*** ID2D1Device1 methods ***/ static inline D2D1_RENDERING_PRIORITY ID2D1Device4_GetRenderingPriority(ID2D1Device4* This) { return This->lpVtbl->GetRenderingPriority(This); } static inline void ID2D1Device4_SetRenderingPriority(ID2D1Device4* This,D2D1_RENDERING_PRIORITY priority) { This->lpVtbl->SetRenderingPriority(This,priority); } /*** ID2D1Device2 methods ***/ static inline void ID2D1Device4_FlushDeviceContexts(ID2D1Device4* This,ID2D1Bitmap *bitmap) { This->lpVtbl->FlushDeviceContexts(This,bitmap); } static inline HRESULT ID2D1Device4_GetDxgiDevice(ID2D1Device4* This,IDXGIDevice **dxgi_device) { return This->lpVtbl->GetDxgiDevice(This,dxgi_device); } /*** ID2D1Device3 methods ***/ /*** ID2D1Device4 methods ***/ static inline HRESULT ID2D1Device4_CreateDeviceContext(ID2D1Device4* This,D2D1_DEVICE_CONTEXT_OPTIONS options,ID2D1DeviceContext4 **context) { return This->lpVtbl->ID2D1Device4_CreateDeviceContext(This,options,context); } static inline void ID2D1Device4_SetMaximumColorGlyphCacheMemory(ID2D1Device4* This,UINT64 size) { This->lpVtbl->SetMaximumColorGlyphCacheMemory(This,size); } static inline UINT64 ID2D1Device4_GetMaximumColorGlyphCacheMemory(ID2D1Device4* This) { return This->lpVtbl->GetMaximumColorGlyphCacheMemory(This); } #endif #endif #endif #endif /* __ID2D1Device4_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Device5 interface */ #ifndef __ID2D1Device5_INTERFACE_DEFINED__ #define __ID2D1Device5_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Device5, 0xd55ba0a4, 0x6405, 0x4694, 0xae,0xf5, 0x08,0xee,0x1a,0x43,0x58,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d55ba0a4-6405-4694-aef5-08ee1a4358b4") ID2D1Device5 : public ID2D1Device4 { virtual HRESULT STDMETHODCALLTYPE CreateDeviceContext( D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext5 **context) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Device5, 0xd55ba0a4, 0x6405, 0x4694, 0xae,0xf5, 0x08,0xee,0x1a,0x43,0x58,0xb4) #endif #else typedef struct ID2D1Device5Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Device5 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Device5 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Device5 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Device5 *This, ID2D1Factory **factory); /*** ID2D1Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDeviceContext)( ID2D1Device5 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext **context); HRESULT (STDMETHODCALLTYPE *CreatePrintControl)( ID2D1Device5 *This, IWICImagingFactory *wic_factory, IPrintDocumentPackageTarget *document_target, const D2D1_PRINT_CONTROL_PROPERTIES *desc, ID2D1PrintControl **print_control); void (STDMETHODCALLTYPE *SetMaximumTextureMemory)( ID2D1Device5 *This, UINT64 max_texture_memory); UINT64 (STDMETHODCALLTYPE *GetMaximumTextureMemory)( ID2D1Device5 *This); HRESULT (STDMETHODCALLTYPE *ClearResources)( ID2D1Device5 *This, UINT msec_since_use); /*** ID2D1Device1 methods ***/ D2D1_RENDERING_PRIORITY (STDMETHODCALLTYPE *GetRenderingPriority)( ID2D1Device5 *This); void (STDMETHODCALLTYPE *SetRenderingPriority)( ID2D1Device5 *This, D2D1_RENDERING_PRIORITY priority); HRESULT (STDMETHODCALLTYPE *ID2D1Device1_CreateDeviceContext)( ID2D1Device5 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext1 **device_context); /*** ID2D1Device2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device2_CreateDeviceContext)( ID2D1Device5 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext2 **context); void (STDMETHODCALLTYPE *FlushDeviceContexts)( ID2D1Device5 *This, ID2D1Bitmap *bitmap); HRESULT (STDMETHODCALLTYPE *GetDxgiDevice)( ID2D1Device5 *This, IDXGIDevice **dxgi_device); /*** ID2D1Device3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device3_CreateDeviceContext)( ID2D1Device5 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext3 **context); /*** ID2D1Device4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device4_CreateDeviceContext)( ID2D1Device5 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext4 **context); void (STDMETHODCALLTYPE *SetMaximumColorGlyphCacheMemory)( ID2D1Device5 *This, UINT64 size); UINT64 (STDMETHODCALLTYPE *GetMaximumColorGlyphCacheMemory)( ID2D1Device5 *This); /*** ID2D1Device5 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device5_CreateDeviceContext)( ID2D1Device5 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext5 **context); END_INTERFACE } ID2D1Device5Vtbl; interface ID2D1Device5 { CONST_VTBL ID2D1Device5Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Device5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Device5_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Device5_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Device5_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Device methods ***/ #define ID2D1Device5_CreatePrintControl(This,wic_factory,document_target,desc,print_control) (This)->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control) #define ID2D1Device5_SetMaximumTextureMemory(This,max_texture_memory) (This)->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory) #define ID2D1Device5_GetMaximumTextureMemory(This) (This)->lpVtbl->GetMaximumTextureMemory(This) #define ID2D1Device5_ClearResources(This,msec_since_use) (This)->lpVtbl->ClearResources(This,msec_since_use) /*** ID2D1Device1 methods ***/ #define ID2D1Device5_GetRenderingPriority(This) (This)->lpVtbl->GetRenderingPriority(This) #define ID2D1Device5_SetRenderingPriority(This,priority) (This)->lpVtbl->SetRenderingPriority(This,priority) /*** ID2D1Device2 methods ***/ #define ID2D1Device5_FlushDeviceContexts(This,bitmap) (This)->lpVtbl->FlushDeviceContexts(This,bitmap) #define ID2D1Device5_GetDxgiDevice(This,dxgi_device) (This)->lpVtbl->GetDxgiDevice(This,dxgi_device) /*** ID2D1Device3 methods ***/ /*** ID2D1Device4 methods ***/ #define ID2D1Device5_SetMaximumColorGlyphCacheMemory(This,size) (This)->lpVtbl->SetMaximumColorGlyphCacheMemory(This,size) #define ID2D1Device5_GetMaximumColorGlyphCacheMemory(This) (This)->lpVtbl->GetMaximumColorGlyphCacheMemory(This) /*** ID2D1Device5 methods ***/ #define ID2D1Device5_CreateDeviceContext(This,options,context) (This)->lpVtbl->ID2D1Device5_CreateDeviceContext(This,options,context) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Device5_QueryInterface(ID2D1Device5* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Device5_AddRef(ID2D1Device5* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Device5_Release(ID2D1Device5* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Device5_GetFactory(ID2D1Device5* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Device methods ***/ static inline HRESULT ID2D1Device5_CreatePrintControl(ID2D1Device5* This,IWICImagingFactory *wic_factory,IPrintDocumentPackageTarget *document_target,const D2D1_PRINT_CONTROL_PROPERTIES *desc,ID2D1PrintControl **print_control) { return This->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control); } static inline void ID2D1Device5_SetMaximumTextureMemory(ID2D1Device5* This,UINT64 max_texture_memory) { This->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory); } static inline UINT64 ID2D1Device5_GetMaximumTextureMemory(ID2D1Device5* This) { return This->lpVtbl->GetMaximumTextureMemory(This); } static inline HRESULT ID2D1Device5_ClearResources(ID2D1Device5* This,UINT msec_since_use) { return This->lpVtbl->ClearResources(This,msec_since_use); } /*** ID2D1Device1 methods ***/ static inline D2D1_RENDERING_PRIORITY ID2D1Device5_GetRenderingPriority(ID2D1Device5* This) { return This->lpVtbl->GetRenderingPriority(This); } static inline void ID2D1Device5_SetRenderingPriority(ID2D1Device5* This,D2D1_RENDERING_PRIORITY priority) { This->lpVtbl->SetRenderingPriority(This,priority); } /*** ID2D1Device2 methods ***/ static inline void ID2D1Device5_FlushDeviceContexts(ID2D1Device5* This,ID2D1Bitmap *bitmap) { This->lpVtbl->FlushDeviceContexts(This,bitmap); } static inline HRESULT ID2D1Device5_GetDxgiDevice(ID2D1Device5* This,IDXGIDevice **dxgi_device) { return This->lpVtbl->GetDxgiDevice(This,dxgi_device); } /*** ID2D1Device3 methods ***/ /*** ID2D1Device4 methods ***/ static inline void ID2D1Device5_SetMaximumColorGlyphCacheMemory(ID2D1Device5* This,UINT64 size) { This->lpVtbl->SetMaximumColorGlyphCacheMemory(This,size); } static inline UINT64 ID2D1Device5_GetMaximumColorGlyphCacheMemory(ID2D1Device5* This) { return This->lpVtbl->GetMaximumColorGlyphCacheMemory(This); } /*** ID2D1Device5 methods ***/ static inline HRESULT ID2D1Device5_CreateDeviceContext(ID2D1Device5* This,D2D1_DEVICE_CONTEXT_OPTIONS options,ID2D1DeviceContext5 **context) { return This->lpVtbl->ID2D1Device5_CreateDeviceContext(This,options,context); } #endif #endif #endif #endif /* __ID2D1Device5_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Device6 interface */ #ifndef __ID2D1Device6_INTERFACE_DEFINED__ #define __ID2D1Device6_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Device6, 0x7bfef914, 0x2d75, 0x4bad, 0xbe,0x87, 0xe1,0x8d,0xdb,0x07,0x7b,0x6d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7bfef914-2d75-4bad-be87-e18ddb077b6d") ID2D1Device6 : public ID2D1Device5 { virtual HRESULT STDMETHODCALLTYPE CreateDeviceContext( D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext6 **context) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Device6, 0x7bfef914, 0x2d75, 0x4bad, 0xbe,0x87, 0xe1,0x8d,0xdb,0x07,0x7b,0x6d) #endif #else typedef struct ID2D1Device6Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Device6 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Device6 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Device6 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Device6 *This, ID2D1Factory **factory); /*** ID2D1Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDeviceContext)( ID2D1Device6 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext **context); HRESULT (STDMETHODCALLTYPE *CreatePrintControl)( ID2D1Device6 *This, IWICImagingFactory *wic_factory, IPrintDocumentPackageTarget *document_target, const D2D1_PRINT_CONTROL_PROPERTIES *desc, ID2D1PrintControl **print_control); void (STDMETHODCALLTYPE *SetMaximumTextureMemory)( ID2D1Device6 *This, UINT64 max_texture_memory); UINT64 (STDMETHODCALLTYPE *GetMaximumTextureMemory)( ID2D1Device6 *This); HRESULT (STDMETHODCALLTYPE *ClearResources)( ID2D1Device6 *This, UINT msec_since_use); /*** ID2D1Device1 methods ***/ D2D1_RENDERING_PRIORITY (STDMETHODCALLTYPE *GetRenderingPriority)( ID2D1Device6 *This); void (STDMETHODCALLTYPE *SetRenderingPriority)( ID2D1Device6 *This, D2D1_RENDERING_PRIORITY priority); HRESULT (STDMETHODCALLTYPE *ID2D1Device1_CreateDeviceContext)( ID2D1Device6 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext1 **device_context); /*** ID2D1Device2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device2_CreateDeviceContext)( ID2D1Device6 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext2 **context); void (STDMETHODCALLTYPE *FlushDeviceContexts)( ID2D1Device6 *This, ID2D1Bitmap *bitmap); HRESULT (STDMETHODCALLTYPE *GetDxgiDevice)( ID2D1Device6 *This, IDXGIDevice **dxgi_device); /*** ID2D1Device3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device3_CreateDeviceContext)( ID2D1Device6 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext3 **context); /*** ID2D1Device4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device4_CreateDeviceContext)( ID2D1Device6 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext4 **context); void (STDMETHODCALLTYPE *SetMaximumColorGlyphCacheMemory)( ID2D1Device6 *This, UINT64 size); UINT64 (STDMETHODCALLTYPE *GetMaximumColorGlyphCacheMemory)( ID2D1Device6 *This); /*** ID2D1Device5 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device5_CreateDeviceContext)( ID2D1Device6 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext5 **context); /*** ID2D1Device6 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device6_CreateDeviceContext)( ID2D1Device6 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext6 **context); END_INTERFACE } ID2D1Device6Vtbl; interface ID2D1Device6 { CONST_VTBL ID2D1Device6Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Device6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Device6_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Device6_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Device6_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Device methods ***/ #define ID2D1Device6_CreatePrintControl(This,wic_factory,document_target,desc,print_control) (This)->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control) #define ID2D1Device6_SetMaximumTextureMemory(This,max_texture_memory) (This)->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory) #define ID2D1Device6_GetMaximumTextureMemory(This) (This)->lpVtbl->GetMaximumTextureMemory(This) #define ID2D1Device6_ClearResources(This,msec_since_use) (This)->lpVtbl->ClearResources(This,msec_since_use) /*** ID2D1Device1 methods ***/ #define ID2D1Device6_GetRenderingPriority(This) (This)->lpVtbl->GetRenderingPriority(This) #define ID2D1Device6_SetRenderingPriority(This,priority) (This)->lpVtbl->SetRenderingPriority(This,priority) /*** ID2D1Device2 methods ***/ #define ID2D1Device6_FlushDeviceContexts(This,bitmap) (This)->lpVtbl->FlushDeviceContexts(This,bitmap) #define ID2D1Device6_GetDxgiDevice(This,dxgi_device) (This)->lpVtbl->GetDxgiDevice(This,dxgi_device) /*** ID2D1Device3 methods ***/ /*** ID2D1Device4 methods ***/ #define ID2D1Device6_SetMaximumColorGlyphCacheMemory(This,size) (This)->lpVtbl->SetMaximumColorGlyphCacheMemory(This,size) #define ID2D1Device6_GetMaximumColorGlyphCacheMemory(This) (This)->lpVtbl->GetMaximumColorGlyphCacheMemory(This) /*** ID2D1Device5 methods ***/ /*** ID2D1Device6 methods ***/ #define ID2D1Device6_CreateDeviceContext(This,options,context) (This)->lpVtbl->ID2D1Device6_CreateDeviceContext(This,options,context) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Device6_QueryInterface(ID2D1Device6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Device6_AddRef(ID2D1Device6* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Device6_Release(ID2D1Device6* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Device6_GetFactory(ID2D1Device6* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Device methods ***/ static inline HRESULT ID2D1Device6_CreatePrintControl(ID2D1Device6* This,IWICImagingFactory *wic_factory,IPrintDocumentPackageTarget *document_target,const D2D1_PRINT_CONTROL_PROPERTIES *desc,ID2D1PrintControl **print_control) { return This->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control); } static inline void ID2D1Device6_SetMaximumTextureMemory(ID2D1Device6* This,UINT64 max_texture_memory) { This->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory); } static inline UINT64 ID2D1Device6_GetMaximumTextureMemory(ID2D1Device6* This) { return This->lpVtbl->GetMaximumTextureMemory(This); } static inline HRESULT ID2D1Device6_ClearResources(ID2D1Device6* This,UINT msec_since_use) { return This->lpVtbl->ClearResources(This,msec_since_use); } /*** ID2D1Device1 methods ***/ static inline D2D1_RENDERING_PRIORITY ID2D1Device6_GetRenderingPriority(ID2D1Device6* This) { return This->lpVtbl->GetRenderingPriority(This); } static inline void ID2D1Device6_SetRenderingPriority(ID2D1Device6* This,D2D1_RENDERING_PRIORITY priority) { This->lpVtbl->SetRenderingPriority(This,priority); } /*** ID2D1Device2 methods ***/ static inline void ID2D1Device6_FlushDeviceContexts(ID2D1Device6* This,ID2D1Bitmap *bitmap) { This->lpVtbl->FlushDeviceContexts(This,bitmap); } static inline HRESULT ID2D1Device6_GetDxgiDevice(ID2D1Device6* This,IDXGIDevice **dxgi_device) { return This->lpVtbl->GetDxgiDevice(This,dxgi_device); } /*** ID2D1Device3 methods ***/ /*** ID2D1Device4 methods ***/ static inline void ID2D1Device6_SetMaximumColorGlyphCacheMemory(ID2D1Device6* This,UINT64 size) { This->lpVtbl->SetMaximumColorGlyphCacheMemory(This,size); } static inline UINT64 ID2D1Device6_GetMaximumColorGlyphCacheMemory(ID2D1Device6* This) { return This->lpVtbl->GetMaximumColorGlyphCacheMemory(This); } /*** ID2D1Device5 methods ***/ /*** ID2D1Device6 methods ***/ static inline HRESULT ID2D1Device6_CreateDeviceContext(ID2D1Device6* This,D2D1_DEVICE_CONTEXT_OPTIONS options,ID2D1DeviceContext6 **context) { return This->lpVtbl->ID2D1Device6_CreateDeviceContext(This,options,context); } #endif #endif #endif #endif /* __ID2D1Device6_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Device7 interface */ #ifndef __ID2D1Device7_INTERFACE_DEFINED__ #define __ID2D1Device7_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Device7, 0xf07c8968, 0xdd4e, 0x4ba6, 0x9c,0xbd, 0xeb,0x6d,0x37,0x52,0xdc,0xbb); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f07c8968-dd4e-4ba6-9cbd-eb6d3752dcbb") ID2D1Device7 : public ID2D1Device6 { virtual HRESULT STDMETHODCALLTYPE CreateDeviceContext( D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext7 **context) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Device7, 0xf07c8968, 0xdd4e, 0x4ba6, 0x9c,0xbd, 0xeb,0x6d,0x37,0x52,0xdc,0xbb) #endif #else typedef struct ID2D1Device7Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Device7 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Device7 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Device7 *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Device7 *This, ID2D1Factory **factory); /*** ID2D1Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDeviceContext)( ID2D1Device7 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext **context); HRESULT (STDMETHODCALLTYPE *CreatePrintControl)( ID2D1Device7 *This, IWICImagingFactory *wic_factory, IPrintDocumentPackageTarget *document_target, const D2D1_PRINT_CONTROL_PROPERTIES *desc, ID2D1PrintControl **print_control); void (STDMETHODCALLTYPE *SetMaximumTextureMemory)( ID2D1Device7 *This, UINT64 max_texture_memory); UINT64 (STDMETHODCALLTYPE *GetMaximumTextureMemory)( ID2D1Device7 *This); HRESULT (STDMETHODCALLTYPE *ClearResources)( ID2D1Device7 *This, UINT msec_since_use); /*** ID2D1Device1 methods ***/ D2D1_RENDERING_PRIORITY (STDMETHODCALLTYPE *GetRenderingPriority)( ID2D1Device7 *This); void (STDMETHODCALLTYPE *SetRenderingPriority)( ID2D1Device7 *This, D2D1_RENDERING_PRIORITY priority); HRESULT (STDMETHODCALLTYPE *ID2D1Device1_CreateDeviceContext)( ID2D1Device7 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext1 **device_context); /*** ID2D1Device2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device2_CreateDeviceContext)( ID2D1Device7 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext2 **context); void (STDMETHODCALLTYPE *FlushDeviceContexts)( ID2D1Device7 *This, ID2D1Bitmap *bitmap); HRESULT (STDMETHODCALLTYPE *GetDxgiDevice)( ID2D1Device7 *This, IDXGIDevice **dxgi_device); /*** ID2D1Device3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device3_CreateDeviceContext)( ID2D1Device7 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext3 **context); /*** ID2D1Device4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device4_CreateDeviceContext)( ID2D1Device7 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext4 **context); void (STDMETHODCALLTYPE *SetMaximumColorGlyphCacheMemory)( ID2D1Device7 *This, UINT64 size); UINT64 (STDMETHODCALLTYPE *GetMaximumColorGlyphCacheMemory)( ID2D1Device7 *This); /*** ID2D1Device5 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device5_CreateDeviceContext)( ID2D1Device7 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext5 **context); /*** ID2D1Device6 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device6_CreateDeviceContext)( ID2D1Device7 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext6 **context); /*** ID2D1Device7 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Device7_CreateDeviceContext)( ID2D1Device7 *This, D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext7 **context); END_INTERFACE } ID2D1Device7Vtbl; interface ID2D1Device7 { CONST_VTBL ID2D1Device7Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Device7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Device7_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Device7_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Device7_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Device methods ***/ #define ID2D1Device7_CreatePrintControl(This,wic_factory,document_target,desc,print_control) (This)->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control) #define ID2D1Device7_SetMaximumTextureMemory(This,max_texture_memory) (This)->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory) #define ID2D1Device7_GetMaximumTextureMemory(This) (This)->lpVtbl->GetMaximumTextureMemory(This) #define ID2D1Device7_ClearResources(This,msec_since_use) (This)->lpVtbl->ClearResources(This,msec_since_use) /*** ID2D1Device1 methods ***/ #define ID2D1Device7_GetRenderingPriority(This) (This)->lpVtbl->GetRenderingPriority(This) #define ID2D1Device7_SetRenderingPriority(This,priority) (This)->lpVtbl->SetRenderingPriority(This,priority) /*** ID2D1Device2 methods ***/ #define ID2D1Device7_FlushDeviceContexts(This,bitmap) (This)->lpVtbl->FlushDeviceContexts(This,bitmap) #define ID2D1Device7_GetDxgiDevice(This,dxgi_device) (This)->lpVtbl->GetDxgiDevice(This,dxgi_device) /*** ID2D1Device3 methods ***/ /*** ID2D1Device4 methods ***/ #define ID2D1Device7_SetMaximumColorGlyphCacheMemory(This,size) (This)->lpVtbl->SetMaximumColorGlyphCacheMemory(This,size) #define ID2D1Device7_GetMaximumColorGlyphCacheMemory(This) (This)->lpVtbl->GetMaximumColorGlyphCacheMemory(This) /*** ID2D1Device5 methods ***/ /*** ID2D1Device6 methods ***/ /*** ID2D1Device7 methods ***/ #define ID2D1Device7_CreateDeviceContext(This,options,context) (This)->lpVtbl->ID2D1Device7_CreateDeviceContext(This,options,context) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Device7_QueryInterface(ID2D1Device7* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Device7_AddRef(ID2D1Device7* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Device7_Release(ID2D1Device7* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Device7_GetFactory(ID2D1Device7* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Device methods ***/ static inline HRESULT ID2D1Device7_CreatePrintControl(ID2D1Device7* This,IWICImagingFactory *wic_factory,IPrintDocumentPackageTarget *document_target,const D2D1_PRINT_CONTROL_PROPERTIES *desc,ID2D1PrintControl **print_control) { return This->lpVtbl->CreatePrintControl(This,wic_factory,document_target,desc,print_control); } static inline void ID2D1Device7_SetMaximumTextureMemory(ID2D1Device7* This,UINT64 max_texture_memory) { This->lpVtbl->SetMaximumTextureMemory(This,max_texture_memory); } static inline UINT64 ID2D1Device7_GetMaximumTextureMemory(ID2D1Device7* This) { return This->lpVtbl->GetMaximumTextureMemory(This); } static inline HRESULT ID2D1Device7_ClearResources(ID2D1Device7* This,UINT msec_since_use) { return This->lpVtbl->ClearResources(This,msec_since_use); } /*** ID2D1Device1 methods ***/ static inline D2D1_RENDERING_PRIORITY ID2D1Device7_GetRenderingPriority(ID2D1Device7* This) { return This->lpVtbl->GetRenderingPriority(This); } static inline void ID2D1Device7_SetRenderingPriority(ID2D1Device7* This,D2D1_RENDERING_PRIORITY priority) { This->lpVtbl->SetRenderingPriority(This,priority); } /*** ID2D1Device2 methods ***/ static inline void ID2D1Device7_FlushDeviceContexts(ID2D1Device7* This,ID2D1Bitmap *bitmap) { This->lpVtbl->FlushDeviceContexts(This,bitmap); } static inline HRESULT ID2D1Device7_GetDxgiDevice(ID2D1Device7* This,IDXGIDevice **dxgi_device) { return This->lpVtbl->GetDxgiDevice(This,dxgi_device); } /*** ID2D1Device3 methods ***/ /*** ID2D1Device4 methods ***/ static inline void ID2D1Device7_SetMaximumColorGlyphCacheMemory(ID2D1Device7* This,UINT64 size) { This->lpVtbl->SetMaximumColorGlyphCacheMemory(This,size); } static inline UINT64 ID2D1Device7_GetMaximumColorGlyphCacheMemory(ID2D1Device7* This) { return This->lpVtbl->GetMaximumColorGlyphCacheMemory(This); } /*** ID2D1Device5 methods ***/ /*** ID2D1Device6 methods ***/ /*** ID2D1Device7 methods ***/ static inline HRESULT ID2D1Device7_CreateDeviceContext(ID2D1Device7* This,D2D1_DEVICE_CONTEXT_OPTIONS options,ID2D1DeviceContext7 **context) { return This->lpVtbl->ID2D1Device7_CreateDeviceContext(This,options,context); } #endif #endif #endif #endif /* __ID2D1Device7_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Factory3 interface */ #ifndef __ID2D1Factory3_INTERFACE_DEFINED__ #define __ID2D1Factory3_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Factory3, 0x0869759f, 0x4f00, 0x413f, 0xb0,0x3e, 0x2b,0xda,0x45,0x40,0x4d,0x0f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0869759f-4f00-413f-b03e-2bda45404d0f") ID2D1Factory3 : public ID2D1Factory2 { virtual HRESULT STDMETHODCALLTYPE CreateDevice( IDXGIDevice *dxgi_device, ID2D1Device2 **d2d_device) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Factory3, 0x0869759f, 0x4f00, 0x413f, 0xb0,0x3e, 0x2b,0xda,0x45,0x40,0x4d,0x0f) #endif #else typedef struct ID2D1Factory3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Factory3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Factory3 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Factory3 *This); /*** ID2D1Factory methods ***/ HRESULT (STDMETHODCALLTYPE *ReloadSystemMetrics)( ID2D1Factory3 *This); void (STDMETHODCALLTYPE *GetDesktopDpi)( ID2D1Factory3 *This, float *dpi_x, float *dpi_y); HRESULT (STDMETHODCALLTYPE *CreateRectangleGeometry)( ID2D1Factory3 *This, const D2D1_RECT_F *rect, ID2D1RectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateRoundedRectangleGeometry)( ID2D1Factory3 *This, const D2D1_ROUNDED_RECT *rect, ID2D1RoundedRectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateEllipseGeometry)( ID2D1Factory3 *This, const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateGeometryGroup)( ID2D1Factory3 *This, D2D1_FILL_MODE fill_mode, ID2D1Geometry **geometries, UINT32 geometry_count, ID2D1GeometryGroup **group); HRESULT (STDMETHODCALLTYPE *CreateTransformedGeometry)( ID2D1Factory3 *This, ID2D1Geometry *src_geometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformed_geometry); HRESULT (STDMETHODCALLTYPE *CreatePathGeometry)( ID2D1Factory3 *This, ID2D1PathGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateStrokeStyle)( ID2D1Factory3 *This, const D2D1_STROKE_STYLE_PROPERTIES *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle **stroke_style); HRESULT (STDMETHODCALLTYPE *CreateDrawingStateBlock)( ID2D1Factory3 *This, const D2D1_DRAWING_STATE_DESCRIPTION *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock **state_block); HRESULT (STDMETHODCALLTYPE *CreateWicBitmapRenderTarget)( ID2D1Factory3 *This, IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateHwndRenderTarget)( ID2D1Factory3 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc, ID2D1HwndRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDxgiSurfaceRenderTarget)( ID2D1Factory3 *This, IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDCRenderTarget)( ID2D1Factory3 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget **render_target); /*** ID2D1Factory1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDevice)( ID2D1Factory3 *This, IDXGIDevice *dxgi_device, ID2D1Device **device); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateStrokeStyle)( ID2D1Factory3 *This, const D2D1_STROKE_STYLE_PROPERTIES1 *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle1 **stroke_style); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreatePathGeometry)( ID2D1Factory3 *This, ID2D1PathGeometry1 **geometry); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateDrawingStateBlock)( ID2D1Factory3 *This, const D2D1_DRAWING_STATE_DESCRIPTION1 *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock1 **state_block); HRESULT (STDMETHODCALLTYPE *CreateGdiMetafile)( ID2D1Factory3 *This, IStream *stream, ID2D1GdiMetafile **metafile); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromStream)( ID2D1Factory3 *This, REFCLSID effect_id, IStream *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromString)( ID2D1Factory3 *This, REFCLSID effect_id, const WCHAR *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *UnregisterEffect)( ID2D1Factory3 *This, REFCLSID effect_id); HRESULT (STDMETHODCALLTYPE *GetRegisteredEffects)( ID2D1Factory3 *This, CLSID *effects, UINT32 effect_count, UINT32 *returned, UINT32 *registered); HRESULT (STDMETHODCALLTYPE *GetEffectProperties)( ID2D1Factory3 *This, REFCLSID effect_id, ID2D1Properties **props); /*** ID2D1Factory2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory2_CreateDevice)( ID2D1Factory3 *This, IDXGIDevice *dxgi_device, ID2D1Device1 **device); /*** ID2D1Factory3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory3_CreateDevice)( ID2D1Factory3 *This, IDXGIDevice *dxgi_device, ID2D1Device2 **d2d_device); END_INTERFACE } ID2D1Factory3Vtbl; interface ID2D1Factory3 { CONST_VTBL ID2D1Factory3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Factory3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Factory3_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Factory3_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Factory methods ***/ #define ID2D1Factory3_ReloadSystemMetrics(This) (This)->lpVtbl->ReloadSystemMetrics(This) #define ID2D1Factory3_GetDesktopDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y) #define ID2D1Factory3_CreateRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRectangleGeometry(This,rect,geometry) #define ID2D1Factory3_CreateRoundedRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry) #define ID2D1Factory3_CreateEllipseGeometry(This,ellipse,geometry) (This)->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry) #define ID2D1Factory3_CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) (This)->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) #define ID2D1Factory3_CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) (This)->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) #define ID2D1Factory3_CreateWicBitmapRenderTarget(This,target,desc,render_target) (This)->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target) #define ID2D1Factory3_CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) (This)->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) #define ID2D1Factory3_CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) (This)->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) #define ID2D1Factory3_CreateDCRenderTarget(This,desc,render_target) (This)->lpVtbl->CreateDCRenderTarget(This,desc,render_target) /*** ID2D1Factory1 methods ***/ #define ID2D1Factory3_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) (This)->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) #define ID2D1Factory3_CreatePathGeometry(This,geometry) (This)->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry) #define ID2D1Factory3_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) (This)->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) #define ID2D1Factory3_CreateGdiMetafile(This,stream,metafile) (This)->lpVtbl->CreateGdiMetafile(This,stream,metafile) #define ID2D1Factory3_RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory3_RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory3_UnregisterEffect(This,effect_id) (This)->lpVtbl->UnregisterEffect(This,effect_id) #define ID2D1Factory3_GetRegisteredEffects(This,effects,effect_count,returned,registered) (This)->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered) #define ID2D1Factory3_GetEffectProperties(This,effect_id,props) (This)->lpVtbl->GetEffectProperties(This,effect_id,props) /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ #define ID2D1Factory3_CreateDevice(This,dxgi_device,d2d_device) (This)->lpVtbl->ID2D1Factory3_CreateDevice(This,dxgi_device,d2d_device) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Factory3_QueryInterface(ID2D1Factory3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Factory3_AddRef(ID2D1Factory3* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Factory3_Release(ID2D1Factory3* This) { return This->lpVtbl->Release(This); } /*** ID2D1Factory methods ***/ static inline HRESULT ID2D1Factory3_ReloadSystemMetrics(ID2D1Factory3* This) { return This->lpVtbl->ReloadSystemMetrics(This); } static inline void ID2D1Factory3_GetDesktopDpi(ID2D1Factory3* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y); } static inline HRESULT ID2D1Factory3_CreateRectangleGeometry(ID2D1Factory3* This,const D2D1_RECT_F *rect,ID2D1RectangleGeometry **geometry) { return This->lpVtbl->CreateRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory3_CreateRoundedRectangleGeometry(ID2D1Factory3* This,const D2D1_ROUNDED_RECT *rect,ID2D1RoundedRectangleGeometry **geometry) { return This->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory3_CreateEllipseGeometry(ID2D1Factory3* This,const D2D1_ELLIPSE *ellipse,ID2D1EllipseGeometry **geometry) { return This->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry); } static inline HRESULT ID2D1Factory3_CreateGeometryGroup(ID2D1Factory3* This,D2D1_FILL_MODE fill_mode,ID2D1Geometry **geometries,UINT32 geometry_count,ID2D1GeometryGroup **group) { return This->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group); } static inline HRESULT ID2D1Factory3_CreateTransformedGeometry(ID2D1Factory3* This,ID2D1Geometry *src_geometry,const D2D1_MATRIX_3X2_F *transform,ID2D1TransformedGeometry **transformed_geometry) { return This->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry); } static inline HRESULT ID2D1Factory3_CreateWicBitmapRenderTarget(ID2D1Factory3* This,IWICBitmap *target,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target); } static inline HRESULT ID2D1Factory3_CreateHwndRenderTarget(ID2D1Factory3* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc,ID2D1HwndRenderTarget **render_target) { return This->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target); } static inline HRESULT ID2D1Factory3_CreateDxgiSurfaceRenderTarget(ID2D1Factory3* This,IDXGISurface *surface,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target); } static inline HRESULT ID2D1Factory3_CreateDCRenderTarget(ID2D1Factory3* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1DCRenderTarget **render_target) { return This->lpVtbl->CreateDCRenderTarget(This,desc,render_target); } /*** ID2D1Factory1 methods ***/ static inline HRESULT ID2D1Factory3_CreateStrokeStyle(ID2D1Factory3* This,const D2D1_STROKE_STYLE_PROPERTIES1 *desc,const float *dashes,UINT32 dash_count,ID2D1StrokeStyle1 **stroke_style) { return This->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style); } static inline HRESULT ID2D1Factory3_CreatePathGeometry(ID2D1Factory3* This,ID2D1PathGeometry1 **geometry) { return This->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry); } static inline HRESULT ID2D1Factory3_CreateDrawingStateBlock(ID2D1Factory3* This,const D2D1_DRAWING_STATE_DESCRIPTION1 *desc,IDWriteRenderingParams *text_rendering_params,ID2D1DrawingStateBlock1 **state_block) { return This->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block); } static inline HRESULT ID2D1Factory3_CreateGdiMetafile(ID2D1Factory3* This,IStream *stream,ID2D1GdiMetafile **metafile) { return This->lpVtbl->CreateGdiMetafile(This,stream,metafile); } static inline HRESULT ID2D1Factory3_RegisterEffectFromStream(ID2D1Factory3* This,REFCLSID effect_id,IStream *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory3_RegisterEffectFromString(ID2D1Factory3* This,REFCLSID effect_id,const WCHAR *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory3_UnregisterEffect(ID2D1Factory3* This,REFCLSID effect_id) { return This->lpVtbl->UnregisterEffect(This,effect_id); } static inline HRESULT ID2D1Factory3_GetRegisteredEffects(ID2D1Factory3* This,CLSID *effects,UINT32 effect_count,UINT32 *returned,UINT32 *registered) { return This->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered); } static inline HRESULT ID2D1Factory3_GetEffectProperties(ID2D1Factory3* This,REFCLSID effect_id,ID2D1Properties **props) { return This->lpVtbl->GetEffectProperties(This,effect_id,props); } /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ static inline HRESULT ID2D1Factory3_CreateDevice(ID2D1Factory3* This,IDXGIDevice *dxgi_device,ID2D1Device2 **d2d_device) { return This->lpVtbl->ID2D1Factory3_CreateDevice(This,dxgi_device,d2d_device); } #endif #endif #endif #endif /* __ID2D1Factory3_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Factory4 interface */ #ifndef __ID2D1Factory4_INTERFACE_DEFINED__ #define __ID2D1Factory4_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Factory4, 0xbd4ec2d2, 0x0662, 0x4bee, 0xba,0x8e, 0x6f,0x29,0xf0,0x32,0xe0,0x96); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bd4ec2d2-0662-4bee-ba8e-6f29f032e096") ID2D1Factory4 : public ID2D1Factory3 { virtual HRESULT STDMETHODCALLTYPE CreateDevice( IDXGIDevice *dxgi_device, ID2D1Device3 **d2d_device) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Factory4, 0xbd4ec2d2, 0x0662, 0x4bee, 0xba,0x8e, 0x6f,0x29,0xf0,0x32,0xe0,0x96) #endif #else typedef struct ID2D1Factory4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Factory4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Factory4 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Factory4 *This); /*** ID2D1Factory methods ***/ HRESULT (STDMETHODCALLTYPE *ReloadSystemMetrics)( ID2D1Factory4 *This); void (STDMETHODCALLTYPE *GetDesktopDpi)( ID2D1Factory4 *This, float *dpi_x, float *dpi_y); HRESULT (STDMETHODCALLTYPE *CreateRectangleGeometry)( ID2D1Factory4 *This, const D2D1_RECT_F *rect, ID2D1RectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateRoundedRectangleGeometry)( ID2D1Factory4 *This, const D2D1_ROUNDED_RECT *rect, ID2D1RoundedRectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateEllipseGeometry)( ID2D1Factory4 *This, const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateGeometryGroup)( ID2D1Factory4 *This, D2D1_FILL_MODE fill_mode, ID2D1Geometry **geometries, UINT32 geometry_count, ID2D1GeometryGroup **group); HRESULT (STDMETHODCALLTYPE *CreateTransformedGeometry)( ID2D1Factory4 *This, ID2D1Geometry *src_geometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformed_geometry); HRESULT (STDMETHODCALLTYPE *CreatePathGeometry)( ID2D1Factory4 *This, ID2D1PathGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateStrokeStyle)( ID2D1Factory4 *This, const D2D1_STROKE_STYLE_PROPERTIES *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle **stroke_style); HRESULT (STDMETHODCALLTYPE *CreateDrawingStateBlock)( ID2D1Factory4 *This, const D2D1_DRAWING_STATE_DESCRIPTION *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock **state_block); HRESULT (STDMETHODCALLTYPE *CreateWicBitmapRenderTarget)( ID2D1Factory4 *This, IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateHwndRenderTarget)( ID2D1Factory4 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc, ID2D1HwndRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDxgiSurfaceRenderTarget)( ID2D1Factory4 *This, IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDCRenderTarget)( ID2D1Factory4 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget **render_target); /*** ID2D1Factory1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDevice)( ID2D1Factory4 *This, IDXGIDevice *dxgi_device, ID2D1Device **device); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateStrokeStyle)( ID2D1Factory4 *This, const D2D1_STROKE_STYLE_PROPERTIES1 *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle1 **stroke_style); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreatePathGeometry)( ID2D1Factory4 *This, ID2D1PathGeometry1 **geometry); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateDrawingStateBlock)( ID2D1Factory4 *This, const D2D1_DRAWING_STATE_DESCRIPTION1 *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock1 **state_block); HRESULT (STDMETHODCALLTYPE *CreateGdiMetafile)( ID2D1Factory4 *This, IStream *stream, ID2D1GdiMetafile **metafile); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromStream)( ID2D1Factory4 *This, REFCLSID effect_id, IStream *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromString)( ID2D1Factory4 *This, REFCLSID effect_id, const WCHAR *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *UnregisterEffect)( ID2D1Factory4 *This, REFCLSID effect_id); HRESULT (STDMETHODCALLTYPE *GetRegisteredEffects)( ID2D1Factory4 *This, CLSID *effects, UINT32 effect_count, UINT32 *returned, UINT32 *registered); HRESULT (STDMETHODCALLTYPE *GetEffectProperties)( ID2D1Factory4 *This, REFCLSID effect_id, ID2D1Properties **props); /*** ID2D1Factory2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory2_CreateDevice)( ID2D1Factory4 *This, IDXGIDevice *dxgi_device, ID2D1Device1 **device); /*** ID2D1Factory3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory3_CreateDevice)( ID2D1Factory4 *This, IDXGIDevice *dxgi_device, ID2D1Device2 **d2d_device); /*** ID2D1Factory4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory4_CreateDevice)( ID2D1Factory4 *This, IDXGIDevice *dxgi_device, ID2D1Device3 **d2d_device); END_INTERFACE } ID2D1Factory4Vtbl; interface ID2D1Factory4 { CONST_VTBL ID2D1Factory4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Factory4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Factory4_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Factory4_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Factory methods ***/ #define ID2D1Factory4_ReloadSystemMetrics(This) (This)->lpVtbl->ReloadSystemMetrics(This) #define ID2D1Factory4_GetDesktopDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y) #define ID2D1Factory4_CreateRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRectangleGeometry(This,rect,geometry) #define ID2D1Factory4_CreateRoundedRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry) #define ID2D1Factory4_CreateEllipseGeometry(This,ellipse,geometry) (This)->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry) #define ID2D1Factory4_CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) (This)->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) #define ID2D1Factory4_CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) (This)->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) #define ID2D1Factory4_CreateWicBitmapRenderTarget(This,target,desc,render_target) (This)->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target) #define ID2D1Factory4_CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) (This)->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) #define ID2D1Factory4_CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) (This)->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) #define ID2D1Factory4_CreateDCRenderTarget(This,desc,render_target) (This)->lpVtbl->CreateDCRenderTarget(This,desc,render_target) /*** ID2D1Factory1 methods ***/ #define ID2D1Factory4_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) (This)->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) #define ID2D1Factory4_CreatePathGeometry(This,geometry) (This)->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry) #define ID2D1Factory4_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) (This)->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) #define ID2D1Factory4_CreateGdiMetafile(This,stream,metafile) (This)->lpVtbl->CreateGdiMetafile(This,stream,metafile) #define ID2D1Factory4_RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory4_RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory4_UnregisterEffect(This,effect_id) (This)->lpVtbl->UnregisterEffect(This,effect_id) #define ID2D1Factory4_GetRegisteredEffects(This,effects,effect_count,returned,registered) (This)->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered) #define ID2D1Factory4_GetEffectProperties(This,effect_id,props) (This)->lpVtbl->GetEffectProperties(This,effect_id,props) /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ #define ID2D1Factory4_CreateDevice(This,dxgi_device,d2d_device) (This)->lpVtbl->ID2D1Factory4_CreateDevice(This,dxgi_device,d2d_device) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Factory4_QueryInterface(ID2D1Factory4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Factory4_AddRef(ID2D1Factory4* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Factory4_Release(ID2D1Factory4* This) { return This->lpVtbl->Release(This); } /*** ID2D1Factory methods ***/ static inline HRESULT ID2D1Factory4_ReloadSystemMetrics(ID2D1Factory4* This) { return This->lpVtbl->ReloadSystemMetrics(This); } static inline void ID2D1Factory4_GetDesktopDpi(ID2D1Factory4* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y); } static inline HRESULT ID2D1Factory4_CreateRectangleGeometry(ID2D1Factory4* This,const D2D1_RECT_F *rect,ID2D1RectangleGeometry **geometry) { return This->lpVtbl->CreateRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory4_CreateRoundedRectangleGeometry(ID2D1Factory4* This,const D2D1_ROUNDED_RECT *rect,ID2D1RoundedRectangleGeometry **geometry) { return This->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory4_CreateEllipseGeometry(ID2D1Factory4* This,const D2D1_ELLIPSE *ellipse,ID2D1EllipseGeometry **geometry) { return This->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry); } static inline HRESULT ID2D1Factory4_CreateGeometryGroup(ID2D1Factory4* This,D2D1_FILL_MODE fill_mode,ID2D1Geometry **geometries,UINT32 geometry_count,ID2D1GeometryGroup **group) { return This->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group); } static inline HRESULT ID2D1Factory4_CreateTransformedGeometry(ID2D1Factory4* This,ID2D1Geometry *src_geometry,const D2D1_MATRIX_3X2_F *transform,ID2D1TransformedGeometry **transformed_geometry) { return This->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry); } static inline HRESULT ID2D1Factory4_CreateWicBitmapRenderTarget(ID2D1Factory4* This,IWICBitmap *target,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target); } static inline HRESULT ID2D1Factory4_CreateHwndRenderTarget(ID2D1Factory4* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc,ID2D1HwndRenderTarget **render_target) { return This->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target); } static inline HRESULT ID2D1Factory4_CreateDxgiSurfaceRenderTarget(ID2D1Factory4* This,IDXGISurface *surface,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target); } static inline HRESULT ID2D1Factory4_CreateDCRenderTarget(ID2D1Factory4* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1DCRenderTarget **render_target) { return This->lpVtbl->CreateDCRenderTarget(This,desc,render_target); } /*** ID2D1Factory1 methods ***/ static inline HRESULT ID2D1Factory4_CreateStrokeStyle(ID2D1Factory4* This,const D2D1_STROKE_STYLE_PROPERTIES1 *desc,const float *dashes,UINT32 dash_count,ID2D1StrokeStyle1 **stroke_style) { return This->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style); } static inline HRESULT ID2D1Factory4_CreatePathGeometry(ID2D1Factory4* This,ID2D1PathGeometry1 **geometry) { return This->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry); } static inline HRESULT ID2D1Factory4_CreateDrawingStateBlock(ID2D1Factory4* This,const D2D1_DRAWING_STATE_DESCRIPTION1 *desc,IDWriteRenderingParams *text_rendering_params,ID2D1DrawingStateBlock1 **state_block) { return This->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block); } static inline HRESULT ID2D1Factory4_CreateGdiMetafile(ID2D1Factory4* This,IStream *stream,ID2D1GdiMetafile **metafile) { return This->lpVtbl->CreateGdiMetafile(This,stream,metafile); } static inline HRESULT ID2D1Factory4_RegisterEffectFromStream(ID2D1Factory4* This,REFCLSID effect_id,IStream *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory4_RegisterEffectFromString(ID2D1Factory4* This,REFCLSID effect_id,const WCHAR *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory4_UnregisterEffect(ID2D1Factory4* This,REFCLSID effect_id) { return This->lpVtbl->UnregisterEffect(This,effect_id); } static inline HRESULT ID2D1Factory4_GetRegisteredEffects(ID2D1Factory4* This,CLSID *effects,UINT32 effect_count,UINT32 *returned,UINT32 *registered) { return This->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered); } static inline HRESULT ID2D1Factory4_GetEffectProperties(ID2D1Factory4* This,REFCLSID effect_id,ID2D1Properties **props) { return This->lpVtbl->GetEffectProperties(This,effect_id,props); } /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ static inline HRESULT ID2D1Factory4_CreateDevice(ID2D1Factory4* This,IDXGIDevice *dxgi_device,ID2D1Device3 **d2d_device) { return This->lpVtbl->ID2D1Factory4_CreateDevice(This,dxgi_device,d2d_device); } #endif #endif #endif #endif /* __ID2D1Factory4_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Factory5 interface */ #ifndef __ID2D1Factory5_INTERFACE_DEFINED__ #define __ID2D1Factory5_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Factory5, 0xc4349994, 0x838e, 0x4b0f, 0x8c,0xab, 0x44,0x99,0x7d,0x9e,0xea,0xcc); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c4349994-838e-4b0f-8cab-44997d9eeacc") ID2D1Factory5 : public ID2D1Factory4 { virtual HRESULT STDMETHODCALLTYPE CreateDevice( IDXGIDevice *dxgi_device, ID2D1Device4 **d2d_device) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Factory5, 0xc4349994, 0x838e, 0x4b0f, 0x8c,0xab, 0x44,0x99,0x7d,0x9e,0xea,0xcc) #endif #else typedef struct ID2D1Factory5Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Factory5 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Factory5 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Factory5 *This); /*** ID2D1Factory methods ***/ HRESULT (STDMETHODCALLTYPE *ReloadSystemMetrics)( ID2D1Factory5 *This); void (STDMETHODCALLTYPE *GetDesktopDpi)( ID2D1Factory5 *This, float *dpi_x, float *dpi_y); HRESULT (STDMETHODCALLTYPE *CreateRectangleGeometry)( ID2D1Factory5 *This, const D2D1_RECT_F *rect, ID2D1RectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateRoundedRectangleGeometry)( ID2D1Factory5 *This, const D2D1_ROUNDED_RECT *rect, ID2D1RoundedRectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateEllipseGeometry)( ID2D1Factory5 *This, const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateGeometryGroup)( ID2D1Factory5 *This, D2D1_FILL_MODE fill_mode, ID2D1Geometry **geometries, UINT32 geometry_count, ID2D1GeometryGroup **group); HRESULT (STDMETHODCALLTYPE *CreateTransformedGeometry)( ID2D1Factory5 *This, ID2D1Geometry *src_geometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformed_geometry); HRESULT (STDMETHODCALLTYPE *CreatePathGeometry)( ID2D1Factory5 *This, ID2D1PathGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateStrokeStyle)( ID2D1Factory5 *This, const D2D1_STROKE_STYLE_PROPERTIES *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle **stroke_style); HRESULT (STDMETHODCALLTYPE *CreateDrawingStateBlock)( ID2D1Factory5 *This, const D2D1_DRAWING_STATE_DESCRIPTION *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock **state_block); HRESULT (STDMETHODCALLTYPE *CreateWicBitmapRenderTarget)( ID2D1Factory5 *This, IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateHwndRenderTarget)( ID2D1Factory5 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc, ID2D1HwndRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDxgiSurfaceRenderTarget)( ID2D1Factory5 *This, IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDCRenderTarget)( ID2D1Factory5 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget **render_target); /*** ID2D1Factory1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDevice)( ID2D1Factory5 *This, IDXGIDevice *dxgi_device, ID2D1Device **device); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateStrokeStyle)( ID2D1Factory5 *This, const D2D1_STROKE_STYLE_PROPERTIES1 *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle1 **stroke_style); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreatePathGeometry)( ID2D1Factory5 *This, ID2D1PathGeometry1 **geometry); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateDrawingStateBlock)( ID2D1Factory5 *This, const D2D1_DRAWING_STATE_DESCRIPTION1 *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock1 **state_block); HRESULT (STDMETHODCALLTYPE *CreateGdiMetafile)( ID2D1Factory5 *This, IStream *stream, ID2D1GdiMetafile **metafile); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromStream)( ID2D1Factory5 *This, REFCLSID effect_id, IStream *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromString)( ID2D1Factory5 *This, REFCLSID effect_id, const WCHAR *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *UnregisterEffect)( ID2D1Factory5 *This, REFCLSID effect_id); HRESULT (STDMETHODCALLTYPE *GetRegisteredEffects)( ID2D1Factory5 *This, CLSID *effects, UINT32 effect_count, UINT32 *returned, UINT32 *registered); HRESULT (STDMETHODCALLTYPE *GetEffectProperties)( ID2D1Factory5 *This, REFCLSID effect_id, ID2D1Properties **props); /*** ID2D1Factory2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory2_CreateDevice)( ID2D1Factory5 *This, IDXGIDevice *dxgi_device, ID2D1Device1 **device); /*** ID2D1Factory3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory3_CreateDevice)( ID2D1Factory5 *This, IDXGIDevice *dxgi_device, ID2D1Device2 **d2d_device); /*** ID2D1Factory4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory4_CreateDevice)( ID2D1Factory5 *This, IDXGIDevice *dxgi_device, ID2D1Device3 **d2d_device); /*** ID2D1Factory5 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory5_CreateDevice)( ID2D1Factory5 *This, IDXGIDevice *dxgi_device, ID2D1Device4 **d2d_device); END_INTERFACE } ID2D1Factory5Vtbl; interface ID2D1Factory5 { CONST_VTBL ID2D1Factory5Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Factory5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Factory5_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Factory5_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Factory methods ***/ #define ID2D1Factory5_ReloadSystemMetrics(This) (This)->lpVtbl->ReloadSystemMetrics(This) #define ID2D1Factory5_GetDesktopDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y) #define ID2D1Factory5_CreateRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRectangleGeometry(This,rect,geometry) #define ID2D1Factory5_CreateRoundedRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry) #define ID2D1Factory5_CreateEllipseGeometry(This,ellipse,geometry) (This)->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry) #define ID2D1Factory5_CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) (This)->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) #define ID2D1Factory5_CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) (This)->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) #define ID2D1Factory5_CreateWicBitmapRenderTarget(This,target,desc,render_target) (This)->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target) #define ID2D1Factory5_CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) (This)->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) #define ID2D1Factory5_CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) (This)->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) #define ID2D1Factory5_CreateDCRenderTarget(This,desc,render_target) (This)->lpVtbl->CreateDCRenderTarget(This,desc,render_target) /*** ID2D1Factory1 methods ***/ #define ID2D1Factory5_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) (This)->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) #define ID2D1Factory5_CreatePathGeometry(This,geometry) (This)->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry) #define ID2D1Factory5_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) (This)->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) #define ID2D1Factory5_CreateGdiMetafile(This,stream,metafile) (This)->lpVtbl->CreateGdiMetafile(This,stream,metafile) #define ID2D1Factory5_RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory5_RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory5_UnregisterEffect(This,effect_id) (This)->lpVtbl->UnregisterEffect(This,effect_id) #define ID2D1Factory5_GetRegisteredEffects(This,effects,effect_count,returned,registered) (This)->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered) #define ID2D1Factory5_GetEffectProperties(This,effect_id,props) (This)->lpVtbl->GetEffectProperties(This,effect_id,props) /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ /*** ID2D1Factory5 methods ***/ #define ID2D1Factory5_CreateDevice(This,dxgi_device,d2d_device) (This)->lpVtbl->ID2D1Factory5_CreateDevice(This,dxgi_device,d2d_device) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Factory5_QueryInterface(ID2D1Factory5* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Factory5_AddRef(ID2D1Factory5* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Factory5_Release(ID2D1Factory5* This) { return This->lpVtbl->Release(This); } /*** ID2D1Factory methods ***/ static inline HRESULT ID2D1Factory5_ReloadSystemMetrics(ID2D1Factory5* This) { return This->lpVtbl->ReloadSystemMetrics(This); } static inline void ID2D1Factory5_GetDesktopDpi(ID2D1Factory5* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y); } static inline HRESULT ID2D1Factory5_CreateRectangleGeometry(ID2D1Factory5* This,const D2D1_RECT_F *rect,ID2D1RectangleGeometry **geometry) { return This->lpVtbl->CreateRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory5_CreateRoundedRectangleGeometry(ID2D1Factory5* This,const D2D1_ROUNDED_RECT *rect,ID2D1RoundedRectangleGeometry **geometry) { return This->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory5_CreateEllipseGeometry(ID2D1Factory5* This,const D2D1_ELLIPSE *ellipse,ID2D1EllipseGeometry **geometry) { return This->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry); } static inline HRESULT ID2D1Factory5_CreateGeometryGroup(ID2D1Factory5* This,D2D1_FILL_MODE fill_mode,ID2D1Geometry **geometries,UINT32 geometry_count,ID2D1GeometryGroup **group) { return This->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group); } static inline HRESULT ID2D1Factory5_CreateTransformedGeometry(ID2D1Factory5* This,ID2D1Geometry *src_geometry,const D2D1_MATRIX_3X2_F *transform,ID2D1TransformedGeometry **transformed_geometry) { return This->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry); } static inline HRESULT ID2D1Factory5_CreateWicBitmapRenderTarget(ID2D1Factory5* This,IWICBitmap *target,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target); } static inline HRESULT ID2D1Factory5_CreateHwndRenderTarget(ID2D1Factory5* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc,ID2D1HwndRenderTarget **render_target) { return This->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target); } static inline HRESULT ID2D1Factory5_CreateDxgiSurfaceRenderTarget(ID2D1Factory5* This,IDXGISurface *surface,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target); } static inline HRESULT ID2D1Factory5_CreateDCRenderTarget(ID2D1Factory5* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1DCRenderTarget **render_target) { return This->lpVtbl->CreateDCRenderTarget(This,desc,render_target); } /*** ID2D1Factory1 methods ***/ static inline HRESULT ID2D1Factory5_CreateStrokeStyle(ID2D1Factory5* This,const D2D1_STROKE_STYLE_PROPERTIES1 *desc,const float *dashes,UINT32 dash_count,ID2D1StrokeStyle1 **stroke_style) { return This->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style); } static inline HRESULT ID2D1Factory5_CreatePathGeometry(ID2D1Factory5* This,ID2D1PathGeometry1 **geometry) { return This->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry); } static inline HRESULT ID2D1Factory5_CreateDrawingStateBlock(ID2D1Factory5* This,const D2D1_DRAWING_STATE_DESCRIPTION1 *desc,IDWriteRenderingParams *text_rendering_params,ID2D1DrawingStateBlock1 **state_block) { return This->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block); } static inline HRESULT ID2D1Factory5_CreateGdiMetafile(ID2D1Factory5* This,IStream *stream,ID2D1GdiMetafile **metafile) { return This->lpVtbl->CreateGdiMetafile(This,stream,metafile); } static inline HRESULT ID2D1Factory5_RegisterEffectFromStream(ID2D1Factory5* This,REFCLSID effect_id,IStream *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory5_RegisterEffectFromString(ID2D1Factory5* This,REFCLSID effect_id,const WCHAR *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory5_UnregisterEffect(ID2D1Factory5* This,REFCLSID effect_id) { return This->lpVtbl->UnregisterEffect(This,effect_id); } static inline HRESULT ID2D1Factory5_GetRegisteredEffects(ID2D1Factory5* This,CLSID *effects,UINT32 effect_count,UINT32 *returned,UINT32 *registered) { return This->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered); } static inline HRESULT ID2D1Factory5_GetEffectProperties(ID2D1Factory5* This,REFCLSID effect_id,ID2D1Properties **props) { return This->lpVtbl->GetEffectProperties(This,effect_id,props); } /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ /*** ID2D1Factory5 methods ***/ static inline HRESULT ID2D1Factory5_CreateDevice(ID2D1Factory5* This,IDXGIDevice *dxgi_device,ID2D1Device4 **d2d_device) { return This->lpVtbl->ID2D1Factory5_CreateDevice(This,dxgi_device,d2d_device); } #endif #endif #endif #endif /* __ID2D1Factory5_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Factory6 interface */ #ifndef __ID2D1Factory6_INTERFACE_DEFINED__ #define __ID2D1Factory6_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Factory6, 0xf9976f46, 0xf642, 0x44c1, 0x97,0xca, 0xda,0x32,0xea,0x2a,0x26,0x35); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f9976f46-f642-44c1-97ca-da32ea2a2635") ID2D1Factory6 : public ID2D1Factory5 { virtual HRESULT STDMETHODCALLTYPE CreateDevice( IDXGIDevice *dxgi_device, ID2D1Device5 **d2d_device) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Factory6, 0xf9976f46, 0xf642, 0x44c1, 0x97,0xca, 0xda,0x32,0xea,0x2a,0x26,0x35) #endif #else typedef struct ID2D1Factory6Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Factory6 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Factory6 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Factory6 *This); /*** ID2D1Factory methods ***/ HRESULT (STDMETHODCALLTYPE *ReloadSystemMetrics)( ID2D1Factory6 *This); void (STDMETHODCALLTYPE *GetDesktopDpi)( ID2D1Factory6 *This, float *dpi_x, float *dpi_y); HRESULT (STDMETHODCALLTYPE *CreateRectangleGeometry)( ID2D1Factory6 *This, const D2D1_RECT_F *rect, ID2D1RectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateRoundedRectangleGeometry)( ID2D1Factory6 *This, const D2D1_ROUNDED_RECT *rect, ID2D1RoundedRectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateEllipseGeometry)( ID2D1Factory6 *This, const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateGeometryGroup)( ID2D1Factory6 *This, D2D1_FILL_MODE fill_mode, ID2D1Geometry **geometries, UINT32 geometry_count, ID2D1GeometryGroup **group); HRESULT (STDMETHODCALLTYPE *CreateTransformedGeometry)( ID2D1Factory6 *This, ID2D1Geometry *src_geometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformed_geometry); HRESULT (STDMETHODCALLTYPE *CreatePathGeometry)( ID2D1Factory6 *This, ID2D1PathGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateStrokeStyle)( ID2D1Factory6 *This, const D2D1_STROKE_STYLE_PROPERTIES *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle **stroke_style); HRESULT (STDMETHODCALLTYPE *CreateDrawingStateBlock)( ID2D1Factory6 *This, const D2D1_DRAWING_STATE_DESCRIPTION *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock **state_block); HRESULT (STDMETHODCALLTYPE *CreateWicBitmapRenderTarget)( ID2D1Factory6 *This, IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateHwndRenderTarget)( ID2D1Factory6 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc, ID2D1HwndRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDxgiSurfaceRenderTarget)( ID2D1Factory6 *This, IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDCRenderTarget)( ID2D1Factory6 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget **render_target); /*** ID2D1Factory1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDevice)( ID2D1Factory6 *This, IDXGIDevice *dxgi_device, ID2D1Device **device); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateStrokeStyle)( ID2D1Factory6 *This, const D2D1_STROKE_STYLE_PROPERTIES1 *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle1 **stroke_style); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreatePathGeometry)( ID2D1Factory6 *This, ID2D1PathGeometry1 **geometry); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateDrawingStateBlock)( ID2D1Factory6 *This, const D2D1_DRAWING_STATE_DESCRIPTION1 *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock1 **state_block); HRESULT (STDMETHODCALLTYPE *CreateGdiMetafile)( ID2D1Factory6 *This, IStream *stream, ID2D1GdiMetafile **metafile); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromStream)( ID2D1Factory6 *This, REFCLSID effect_id, IStream *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromString)( ID2D1Factory6 *This, REFCLSID effect_id, const WCHAR *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *UnregisterEffect)( ID2D1Factory6 *This, REFCLSID effect_id); HRESULT (STDMETHODCALLTYPE *GetRegisteredEffects)( ID2D1Factory6 *This, CLSID *effects, UINT32 effect_count, UINT32 *returned, UINT32 *registered); HRESULT (STDMETHODCALLTYPE *GetEffectProperties)( ID2D1Factory6 *This, REFCLSID effect_id, ID2D1Properties **props); /*** ID2D1Factory2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory2_CreateDevice)( ID2D1Factory6 *This, IDXGIDevice *dxgi_device, ID2D1Device1 **device); /*** ID2D1Factory3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory3_CreateDevice)( ID2D1Factory6 *This, IDXGIDevice *dxgi_device, ID2D1Device2 **d2d_device); /*** ID2D1Factory4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory4_CreateDevice)( ID2D1Factory6 *This, IDXGIDevice *dxgi_device, ID2D1Device3 **d2d_device); /*** ID2D1Factory5 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory5_CreateDevice)( ID2D1Factory6 *This, IDXGIDevice *dxgi_device, ID2D1Device4 **d2d_device); /*** ID2D1Factory6 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory6_CreateDevice)( ID2D1Factory6 *This, IDXGIDevice *dxgi_device, ID2D1Device5 **d2d_device); END_INTERFACE } ID2D1Factory6Vtbl; interface ID2D1Factory6 { CONST_VTBL ID2D1Factory6Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Factory6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Factory6_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Factory6_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Factory methods ***/ #define ID2D1Factory6_ReloadSystemMetrics(This) (This)->lpVtbl->ReloadSystemMetrics(This) #define ID2D1Factory6_GetDesktopDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y) #define ID2D1Factory6_CreateRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRectangleGeometry(This,rect,geometry) #define ID2D1Factory6_CreateRoundedRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry) #define ID2D1Factory6_CreateEllipseGeometry(This,ellipse,geometry) (This)->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry) #define ID2D1Factory6_CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) (This)->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) #define ID2D1Factory6_CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) (This)->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) #define ID2D1Factory6_CreateWicBitmapRenderTarget(This,target,desc,render_target) (This)->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target) #define ID2D1Factory6_CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) (This)->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) #define ID2D1Factory6_CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) (This)->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) #define ID2D1Factory6_CreateDCRenderTarget(This,desc,render_target) (This)->lpVtbl->CreateDCRenderTarget(This,desc,render_target) /*** ID2D1Factory1 methods ***/ #define ID2D1Factory6_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) (This)->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) #define ID2D1Factory6_CreatePathGeometry(This,geometry) (This)->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry) #define ID2D1Factory6_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) (This)->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) #define ID2D1Factory6_CreateGdiMetafile(This,stream,metafile) (This)->lpVtbl->CreateGdiMetafile(This,stream,metafile) #define ID2D1Factory6_RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory6_RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory6_UnregisterEffect(This,effect_id) (This)->lpVtbl->UnregisterEffect(This,effect_id) #define ID2D1Factory6_GetRegisteredEffects(This,effects,effect_count,returned,registered) (This)->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered) #define ID2D1Factory6_GetEffectProperties(This,effect_id,props) (This)->lpVtbl->GetEffectProperties(This,effect_id,props) /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ /*** ID2D1Factory5 methods ***/ /*** ID2D1Factory6 methods ***/ #define ID2D1Factory6_CreateDevice(This,dxgi_device,d2d_device) (This)->lpVtbl->ID2D1Factory6_CreateDevice(This,dxgi_device,d2d_device) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Factory6_QueryInterface(ID2D1Factory6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Factory6_AddRef(ID2D1Factory6* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Factory6_Release(ID2D1Factory6* This) { return This->lpVtbl->Release(This); } /*** ID2D1Factory methods ***/ static inline HRESULT ID2D1Factory6_ReloadSystemMetrics(ID2D1Factory6* This) { return This->lpVtbl->ReloadSystemMetrics(This); } static inline void ID2D1Factory6_GetDesktopDpi(ID2D1Factory6* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y); } static inline HRESULT ID2D1Factory6_CreateRectangleGeometry(ID2D1Factory6* This,const D2D1_RECT_F *rect,ID2D1RectangleGeometry **geometry) { return This->lpVtbl->CreateRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory6_CreateRoundedRectangleGeometry(ID2D1Factory6* This,const D2D1_ROUNDED_RECT *rect,ID2D1RoundedRectangleGeometry **geometry) { return This->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory6_CreateEllipseGeometry(ID2D1Factory6* This,const D2D1_ELLIPSE *ellipse,ID2D1EllipseGeometry **geometry) { return This->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry); } static inline HRESULT ID2D1Factory6_CreateGeometryGroup(ID2D1Factory6* This,D2D1_FILL_MODE fill_mode,ID2D1Geometry **geometries,UINT32 geometry_count,ID2D1GeometryGroup **group) { return This->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group); } static inline HRESULT ID2D1Factory6_CreateTransformedGeometry(ID2D1Factory6* This,ID2D1Geometry *src_geometry,const D2D1_MATRIX_3X2_F *transform,ID2D1TransformedGeometry **transformed_geometry) { return This->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry); } static inline HRESULT ID2D1Factory6_CreateWicBitmapRenderTarget(ID2D1Factory6* This,IWICBitmap *target,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target); } static inline HRESULT ID2D1Factory6_CreateHwndRenderTarget(ID2D1Factory6* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc,ID2D1HwndRenderTarget **render_target) { return This->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target); } static inline HRESULT ID2D1Factory6_CreateDxgiSurfaceRenderTarget(ID2D1Factory6* This,IDXGISurface *surface,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target); } static inline HRESULT ID2D1Factory6_CreateDCRenderTarget(ID2D1Factory6* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1DCRenderTarget **render_target) { return This->lpVtbl->CreateDCRenderTarget(This,desc,render_target); } /*** ID2D1Factory1 methods ***/ static inline HRESULT ID2D1Factory6_CreateStrokeStyle(ID2D1Factory6* This,const D2D1_STROKE_STYLE_PROPERTIES1 *desc,const float *dashes,UINT32 dash_count,ID2D1StrokeStyle1 **stroke_style) { return This->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style); } static inline HRESULT ID2D1Factory6_CreatePathGeometry(ID2D1Factory6* This,ID2D1PathGeometry1 **geometry) { return This->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry); } static inline HRESULT ID2D1Factory6_CreateDrawingStateBlock(ID2D1Factory6* This,const D2D1_DRAWING_STATE_DESCRIPTION1 *desc,IDWriteRenderingParams *text_rendering_params,ID2D1DrawingStateBlock1 **state_block) { return This->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block); } static inline HRESULT ID2D1Factory6_CreateGdiMetafile(ID2D1Factory6* This,IStream *stream,ID2D1GdiMetafile **metafile) { return This->lpVtbl->CreateGdiMetafile(This,stream,metafile); } static inline HRESULT ID2D1Factory6_RegisterEffectFromStream(ID2D1Factory6* This,REFCLSID effect_id,IStream *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory6_RegisterEffectFromString(ID2D1Factory6* This,REFCLSID effect_id,const WCHAR *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory6_UnregisterEffect(ID2D1Factory6* This,REFCLSID effect_id) { return This->lpVtbl->UnregisterEffect(This,effect_id); } static inline HRESULT ID2D1Factory6_GetRegisteredEffects(ID2D1Factory6* This,CLSID *effects,UINT32 effect_count,UINT32 *returned,UINT32 *registered) { return This->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered); } static inline HRESULT ID2D1Factory6_GetEffectProperties(ID2D1Factory6* This,REFCLSID effect_id,ID2D1Properties **props) { return This->lpVtbl->GetEffectProperties(This,effect_id,props); } /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ /*** ID2D1Factory5 methods ***/ /*** ID2D1Factory6 methods ***/ static inline HRESULT ID2D1Factory6_CreateDevice(ID2D1Factory6* This,IDXGIDevice *dxgi_device,ID2D1Device5 **d2d_device) { return This->lpVtbl->ID2D1Factory6_CreateDevice(This,dxgi_device,d2d_device); } #endif #endif #endif #endif /* __ID2D1Factory6_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Factory7 interface */ #ifndef __ID2D1Factory7_INTERFACE_DEFINED__ #define __ID2D1Factory7_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Factory7, 0xbdc2bdd3, 0xb96c, 0x4de6, 0xbd,0xf7, 0x99,0xd4,0x74,0x54,0x54,0xde); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bdc2bdd3-b96c-4de6-bdf7-99d4745454de") ID2D1Factory7 : public ID2D1Factory6 { virtual HRESULT STDMETHODCALLTYPE CreateDevice( IDXGIDevice *dxgi_device, ID2D1Device6 **d2d_device) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Factory7, 0xbdc2bdd3, 0xb96c, 0x4de6, 0xbd,0xf7, 0x99,0xd4,0x74,0x54,0x54,0xde) #endif #else typedef struct ID2D1Factory7Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Factory7 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Factory7 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Factory7 *This); /*** ID2D1Factory methods ***/ HRESULT (STDMETHODCALLTYPE *ReloadSystemMetrics)( ID2D1Factory7 *This); void (STDMETHODCALLTYPE *GetDesktopDpi)( ID2D1Factory7 *This, float *dpi_x, float *dpi_y); HRESULT (STDMETHODCALLTYPE *CreateRectangleGeometry)( ID2D1Factory7 *This, const D2D1_RECT_F *rect, ID2D1RectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateRoundedRectangleGeometry)( ID2D1Factory7 *This, const D2D1_ROUNDED_RECT *rect, ID2D1RoundedRectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateEllipseGeometry)( ID2D1Factory7 *This, const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateGeometryGroup)( ID2D1Factory7 *This, D2D1_FILL_MODE fill_mode, ID2D1Geometry **geometries, UINT32 geometry_count, ID2D1GeometryGroup **group); HRESULT (STDMETHODCALLTYPE *CreateTransformedGeometry)( ID2D1Factory7 *This, ID2D1Geometry *src_geometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformed_geometry); HRESULT (STDMETHODCALLTYPE *CreatePathGeometry)( ID2D1Factory7 *This, ID2D1PathGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateStrokeStyle)( ID2D1Factory7 *This, const D2D1_STROKE_STYLE_PROPERTIES *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle **stroke_style); HRESULT (STDMETHODCALLTYPE *CreateDrawingStateBlock)( ID2D1Factory7 *This, const D2D1_DRAWING_STATE_DESCRIPTION *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock **state_block); HRESULT (STDMETHODCALLTYPE *CreateWicBitmapRenderTarget)( ID2D1Factory7 *This, IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateHwndRenderTarget)( ID2D1Factory7 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc, ID2D1HwndRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDxgiSurfaceRenderTarget)( ID2D1Factory7 *This, IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDCRenderTarget)( ID2D1Factory7 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget **render_target); /*** ID2D1Factory1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDevice)( ID2D1Factory7 *This, IDXGIDevice *dxgi_device, ID2D1Device **device); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateStrokeStyle)( ID2D1Factory7 *This, const D2D1_STROKE_STYLE_PROPERTIES1 *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle1 **stroke_style); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreatePathGeometry)( ID2D1Factory7 *This, ID2D1PathGeometry1 **geometry); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateDrawingStateBlock)( ID2D1Factory7 *This, const D2D1_DRAWING_STATE_DESCRIPTION1 *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock1 **state_block); HRESULT (STDMETHODCALLTYPE *CreateGdiMetafile)( ID2D1Factory7 *This, IStream *stream, ID2D1GdiMetafile **metafile); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromStream)( ID2D1Factory7 *This, REFCLSID effect_id, IStream *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromString)( ID2D1Factory7 *This, REFCLSID effect_id, const WCHAR *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *UnregisterEffect)( ID2D1Factory7 *This, REFCLSID effect_id); HRESULT (STDMETHODCALLTYPE *GetRegisteredEffects)( ID2D1Factory7 *This, CLSID *effects, UINT32 effect_count, UINT32 *returned, UINT32 *registered); HRESULT (STDMETHODCALLTYPE *GetEffectProperties)( ID2D1Factory7 *This, REFCLSID effect_id, ID2D1Properties **props); /*** ID2D1Factory2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory2_CreateDevice)( ID2D1Factory7 *This, IDXGIDevice *dxgi_device, ID2D1Device1 **device); /*** ID2D1Factory3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory3_CreateDevice)( ID2D1Factory7 *This, IDXGIDevice *dxgi_device, ID2D1Device2 **d2d_device); /*** ID2D1Factory4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory4_CreateDevice)( ID2D1Factory7 *This, IDXGIDevice *dxgi_device, ID2D1Device3 **d2d_device); /*** ID2D1Factory5 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory5_CreateDevice)( ID2D1Factory7 *This, IDXGIDevice *dxgi_device, ID2D1Device4 **d2d_device); /*** ID2D1Factory6 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory6_CreateDevice)( ID2D1Factory7 *This, IDXGIDevice *dxgi_device, ID2D1Device5 **d2d_device); /*** ID2D1Factory7 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory7_CreateDevice)( ID2D1Factory7 *This, IDXGIDevice *dxgi_device, ID2D1Device6 **d2d_device); END_INTERFACE } ID2D1Factory7Vtbl; interface ID2D1Factory7 { CONST_VTBL ID2D1Factory7Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Factory7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Factory7_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Factory7_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Factory methods ***/ #define ID2D1Factory7_ReloadSystemMetrics(This) (This)->lpVtbl->ReloadSystemMetrics(This) #define ID2D1Factory7_GetDesktopDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y) #define ID2D1Factory7_CreateRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRectangleGeometry(This,rect,geometry) #define ID2D1Factory7_CreateRoundedRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry) #define ID2D1Factory7_CreateEllipseGeometry(This,ellipse,geometry) (This)->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry) #define ID2D1Factory7_CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) (This)->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) #define ID2D1Factory7_CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) (This)->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) #define ID2D1Factory7_CreateWicBitmapRenderTarget(This,target,desc,render_target) (This)->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target) #define ID2D1Factory7_CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) (This)->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) #define ID2D1Factory7_CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) (This)->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) #define ID2D1Factory7_CreateDCRenderTarget(This,desc,render_target) (This)->lpVtbl->CreateDCRenderTarget(This,desc,render_target) /*** ID2D1Factory1 methods ***/ #define ID2D1Factory7_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) (This)->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) #define ID2D1Factory7_CreatePathGeometry(This,geometry) (This)->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry) #define ID2D1Factory7_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) (This)->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) #define ID2D1Factory7_CreateGdiMetafile(This,stream,metafile) (This)->lpVtbl->CreateGdiMetafile(This,stream,metafile) #define ID2D1Factory7_RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory7_RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory7_UnregisterEffect(This,effect_id) (This)->lpVtbl->UnregisterEffect(This,effect_id) #define ID2D1Factory7_GetRegisteredEffects(This,effects,effect_count,returned,registered) (This)->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered) #define ID2D1Factory7_GetEffectProperties(This,effect_id,props) (This)->lpVtbl->GetEffectProperties(This,effect_id,props) /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ /*** ID2D1Factory5 methods ***/ /*** ID2D1Factory6 methods ***/ /*** ID2D1Factory7 methods ***/ #define ID2D1Factory7_CreateDevice(This,dxgi_device,d2d_device) (This)->lpVtbl->ID2D1Factory7_CreateDevice(This,dxgi_device,d2d_device) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Factory7_QueryInterface(ID2D1Factory7* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Factory7_AddRef(ID2D1Factory7* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Factory7_Release(ID2D1Factory7* This) { return This->lpVtbl->Release(This); } /*** ID2D1Factory methods ***/ static inline HRESULT ID2D1Factory7_ReloadSystemMetrics(ID2D1Factory7* This) { return This->lpVtbl->ReloadSystemMetrics(This); } static inline void ID2D1Factory7_GetDesktopDpi(ID2D1Factory7* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y); } static inline HRESULT ID2D1Factory7_CreateRectangleGeometry(ID2D1Factory7* This,const D2D1_RECT_F *rect,ID2D1RectangleGeometry **geometry) { return This->lpVtbl->CreateRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory7_CreateRoundedRectangleGeometry(ID2D1Factory7* This,const D2D1_ROUNDED_RECT *rect,ID2D1RoundedRectangleGeometry **geometry) { return This->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory7_CreateEllipseGeometry(ID2D1Factory7* This,const D2D1_ELLIPSE *ellipse,ID2D1EllipseGeometry **geometry) { return This->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry); } static inline HRESULT ID2D1Factory7_CreateGeometryGroup(ID2D1Factory7* This,D2D1_FILL_MODE fill_mode,ID2D1Geometry **geometries,UINT32 geometry_count,ID2D1GeometryGroup **group) { return This->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group); } static inline HRESULT ID2D1Factory7_CreateTransformedGeometry(ID2D1Factory7* This,ID2D1Geometry *src_geometry,const D2D1_MATRIX_3X2_F *transform,ID2D1TransformedGeometry **transformed_geometry) { return This->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry); } static inline HRESULT ID2D1Factory7_CreateWicBitmapRenderTarget(ID2D1Factory7* This,IWICBitmap *target,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target); } static inline HRESULT ID2D1Factory7_CreateHwndRenderTarget(ID2D1Factory7* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc,ID2D1HwndRenderTarget **render_target) { return This->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target); } static inline HRESULT ID2D1Factory7_CreateDxgiSurfaceRenderTarget(ID2D1Factory7* This,IDXGISurface *surface,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target); } static inline HRESULT ID2D1Factory7_CreateDCRenderTarget(ID2D1Factory7* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1DCRenderTarget **render_target) { return This->lpVtbl->CreateDCRenderTarget(This,desc,render_target); } /*** ID2D1Factory1 methods ***/ static inline HRESULT ID2D1Factory7_CreateStrokeStyle(ID2D1Factory7* This,const D2D1_STROKE_STYLE_PROPERTIES1 *desc,const float *dashes,UINT32 dash_count,ID2D1StrokeStyle1 **stroke_style) { return This->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style); } static inline HRESULT ID2D1Factory7_CreatePathGeometry(ID2D1Factory7* This,ID2D1PathGeometry1 **geometry) { return This->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry); } static inline HRESULT ID2D1Factory7_CreateDrawingStateBlock(ID2D1Factory7* This,const D2D1_DRAWING_STATE_DESCRIPTION1 *desc,IDWriteRenderingParams *text_rendering_params,ID2D1DrawingStateBlock1 **state_block) { return This->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block); } static inline HRESULT ID2D1Factory7_CreateGdiMetafile(ID2D1Factory7* This,IStream *stream,ID2D1GdiMetafile **metafile) { return This->lpVtbl->CreateGdiMetafile(This,stream,metafile); } static inline HRESULT ID2D1Factory7_RegisterEffectFromStream(ID2D1Factory7* This,REFCLSID effect_id,IStream *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory7_RegisterEffectFromString(ID2D1Factory7* This,REFCLSID effect_id,const WCHAR *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory7_UnregisterEffect(ID2D1Factory7* This,REFCLSID effect_id) { return This->lpVtbl->UnregisterEffect(This,effect_id); } static inline HRESULT ID2D1Factory7_GetRegisteredEffects(ID2D1Factory7* This,CLSID *effects,UINT32 effect_count,UINT32 *returned,UINT32 *registered) { return This->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered); } static inline HRESULT ID2D1Factory7_GetEffectProperties(ID2D1Factory7* This,REFCLSID effect_id,ID2D1Properties **props) { return This->lpVtbl->GetEffectProperties(This,effect_id,props); } /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ /*** ID2D1Factory5 methods ***/ /*** ID2D1Factory6 methods ***/ /*** ID2D1Factory7 methods ***/ static inline HRESULT ID2D1Factory7_CreateDevice(ID2D1Factory7* This,IDXGIDevice *dxgi_device,ID2D1Device6 **d2d_device) { return This->lpVtbl->ID2D1Factory7_CreateDevice(This,dxgi_device,d2d_device); } #endif #endif #endif #endif /* __ID2D1Factory7_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Factory8 interface */ #ifndef __ID2D1Factory8_INTERFACE_DEFINED__ #define __ID2D1Factory8_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Factory8, 0x677c9311, 0xf36d, 0x4b1f, 0xae,0x86, 0x86,0xd1,0x22,0x3f,0xfd,0x3a); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("677c9311-f36d-4b1f-ae86-86d1223ffd3a") ID2D1Factory8 : public ID2D1Factory7 { virtual HRESULT STDMETHODCALLTYPE CreateDevice( IDXGIDevice *dxgi_device, ID2D1Device7 **d2d_device) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Factory8, 0x677c9311, 0xf36d, 0x4b1f, 0xae,0x86, 0x86,0xd1,0x22,0x3f,0xfd,0x3a) #endif #else typedef struct ID2D1Factory8Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Factory8 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Factory8 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Factory8 *This); /*** ID2D1Factory methods ***/ HRESULT (STDMETHODCALLTYPE *ReloadSystemMetrics)( ID2D1Factory8 *This); void (STDMETHODCALLTYPE *GetDesktopDpi)( ID2D1Factory8 *This, float *dpi_x, float *dpi_y); HRESULT (STDMETHODCALLTYPE *CreateRectangleGeometry)( ID2D1Factory8 *This, const D2D1_RECT_F *rect, ID2D1RectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateRoundedRectangleGeometry)( ID2D1Factory8 *This, const D2D1_ROUNDED_RECT *rect, ID2D1RoundedRectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateEllipseGeometry)( ID2D1Factory8 *This, const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateGeometryGroup)( ID2D1Factory8 *This, D2D1_FILL_MODE fill_mode, ID2D1Geometry **geometries, UINT32 geometry_count, ID2D1GeometryGroup **group); HRESULT (STDMETHODCALLTYPE *CreateTransformedGeometry)( ID2D1Factory8 *This, ID2D1Geometry *src_geometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformed_geometry); HRESULT (STDMETHODCALLTYPE *CreatePathGeometry)( ID2D1Factory8 *This, ID2D1PathGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateStrokeStyle)( ID2D1Factory8 *This, const D2D1_STROKE_STYLE_PROPERTIES *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle **stroke_style); HRESULT (STDMETHODCALLTYPE *CreateDrawingStateBlock)( ID2D1Factory8 *This, const D2D1_DRAWING_STATE_DESCRIPTION *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock **state_block); HRESULT (STDMETHODCALLTYPE *CreateWicBitmapRenderTarget)( ID2D1Factory8 *This, IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateHwndRenderTarget)( ID2D1Factory8 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc, ID2D1HwndRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDxgiSurfaceRenderTarget)( ID2D1Factory8 *This, IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDCRenderTarget)( ID2D1Factory8 *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget **render_target); /*** ID2D1Factory1 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateDevice)( ID2D1Factory8 *This, IDXGIDevice *dxgi_device, ID2D1Device **device); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateStrokeStyle)( ID2D1Factory8 *This, const D2D1_STROKE_STYLE_PROPERTIES1 *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle1 **stroke_style); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreatePathGeometry)( ID2D1Factory8 *This, ID2D1PathGeometry1 **geometry); HRESULT (STDMETHODCALLTYPE *ID2D1Factory1_CreateDrawingStateBlock)( ID2D1Factory8 *This, const D2D1_DRAWING_STATE_DESCRIPTION1 *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock1 **state_block); HRESULT (STDMETHODCALLTYPE *CreateGdiMetafile)( ID2D1Factory8 *This, IStream *stream, ID2D1GdiMetafile **metafile); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromStream)( ID2D1Factory8 *This, REFCLSID effect_id, IStream *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *RegisterEffectFromString)( ID2D1Factory8 *This, REFCLSID effect_id, const WCHAR *property_xml, const struct D2D1_PROPERTY_BINDING *bindings, UINT32 binding_count, PD2D1_EFFECT_FACTORY effect_factory); HRESULT (STDMETHODCALLTYPE *UnregisterEffect)( ID2D1Factory8 *This, REFCLSID effect_id); HRESULT (STDMETHODCALLTYPE *GetRegisteredEffects)( ID2D1Factory8 *This, CLSID *effects, UINT32 effect_count, UINT32 *returned, UINT32 *registered); HRESULT (STDMETHODCALLTYPE *GetEffectProperties)( ID2D1Factory8 *This, REFCLSID effect_id, ID2D1Properties **props); /*** ID2D1Factory2 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory2_CreateDevice)( ID2D1Factory8 *This, IDXGIDevice *dxgi_device, ID2D1Device1 **device); /*** ID2D1Factory3 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory3_CreateDevice)( ID2D1Factory8 *This, IDXGIDevice *dxgi_device, ID2D1Device2 **d2d_device); /*** ID2D1Factory4 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory4_CreateDevice)( ID2D1Factory8 *This, IDXGIDevice *dxgi_device, ID2D1Device3 **d2d_device); /*** ID2D1Factory5 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory5_CreateDevice)( ID2D1Factory8 *This, IDXGIDevice *dxgi_device, ID2D1Device4 **d2d_device); /*** ID2D1Factory6 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory6_CreateDevice)( ID2D1Factory8 *This, IDXGIDevice *dxgi_device, ID2D1Device5 **d2d_device); /*** ID2D1Factory7 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory7_CreateDevice)( ID2D1Factory8 *This, IDXGIDevice *dxgi_device, ID2D1Device6 **d2d_device); /*** ID2D1Factory8 methods ***/ HRESULT (STDMETHODCALLTYPE *ID2D1Factory8_CreateDevice)( ID2D1Factory8 *This, IDXGIDevice *dxgi_device, ID2D1Device7 **d2d_device); END_INTERFACE } ID2D1Factory8Vtbl; interface ID2D1Factory8 { CONST_VTBL ID2D1Factory8Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Factory8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Factory8_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Factory8_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Factory methods ***/ #define ID2D1Factory8_ReloadSystemMetrics(This) (This)->lpVtbl->ReloadSystemMetrics(This) #define ID2D1Factory8_GetDesktopDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y) #define ID2D1Factory8_CreateRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRectangleGeometry(This,rect,geometry) #define ID2D1Factory8_CreateRoundedRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry) #define ID2D1Factory8_CreateEllipseGeometry(This,ellipse,geometry) (This)->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry) #define ID2D1Factory8_CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) (This)->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) #define ID2D1Factory8_CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) (This)->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) #define ID2D1Factory8_CreateWicBitmapRenderTarget(This,target,desc,render_target) (This)->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target) #define ID2D1Factory8_CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) (This)->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) #define ID2D1Factory8_CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) (This)->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) #define ID2D1Factory8_CreateDCRenderTarget(This,desc,render_target) (This)->lpVtbl->CreateDCRenderTarget(This,desc,render_target) /*** ID2D1Factory1 methods ***/ #define ID2D1Factory8_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) (This)->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) #define ID2D1Factory8_CreatePathGeometry(This,geometry) (This)->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry) #define ID2D1Factory8_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) (This)->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) #define ID2D1Factory8_CreateGdiMetafile(This,stream,metafile) (This)->lpVtbl->CreateGdiMetafile(This,stream,metafile) #define ID2D1Factory8_RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory8_RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) (This)->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory) #define ID2D1Factory8_UnregisterEffect(This,effect_id) (This)->lpVtbl->UnregisterEffect(This,effect_id) #define ID2D1Factory8_GetRegisteredEffects(This,effects,effect_count,returned,registered) (This)->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered) #define ID2D1Factory8_GetEffectProperties(This,effect_id,props) (This)->lpVtbl->GetEffectProperties(This,effect_id,props) /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ /*** ID2D1Factory5 methods ***/ /*** ID2D1Factory6 methods ***/ /*** ID2D1Factory7 methods ***/ /*** ID2D1Factory8 methods ***/ #define ID2D1Factory8_CreateDevice(This,dxgi_device,d2d_device) (This)->lpVtbl->ID2D1Factory8_CreateDevice(This,dxgi_device,d2d_device) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Factory8_QueryInterface(ID2D1Factory8* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Factory8_AddRef(ID2D1Factory8* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Factory8_Release(ID2D1Factory8* This) { return This->lpVtbl->Release(This); } /*** ID2D1Factory methods ***/ static inline HRESULT ID2D1Factory8_ReloadSystemMetrics(ID2D1Factory8* This) { return This->lpVtbl->ReloadSystemMetrics(This); } static inline void ID2D1Factory8_GetDesktopDpi(ID2D1Factory8* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y); } static inline HRESULT ID2D1Factory8_CreateRectangleGeometry(ID2D1Factory8* This,const D2D1_RECT_F *rect,ID2D1RectangleGeometry **geometry) { return This->lpVtbl->CreateRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory8_CreateRoundedRectangleGeometry(ID2D1Factory8* This,const D2D1_ROUNDED_RECT *rect,ID2D1RoundedRectangleGeometry **geometry) { return This->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory8_CreateEllipseGeometry(ID2D1Factory8* This,const D2D1_ELLIPSE *ellipse,ID2D1EllipseGeometry **geometry) { return This->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry); } static inline HRESULT ID2D1Factory8_CreateGeometryGroup(ID2D1Factory8* This,D2D1_FILL_MODE fill_mode,ID2D1Geometry **geometries,UINT32 geometry_count,ID2D1GeometryGroup **group) { return This->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group); } static inline HRESULT ID2D1Factory8_CreateTransformedGeometry(ID2D1Factory8* This,ID2D1Geometry *src_geometry,const D2D1_MATRIX_3X2_F *transform,ID2D1TransformedGeometry **transformed_geometry) { return This->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry); } static inline HRESULT ID2D1Factory8_CreateWicBitmapRenderTarget(ID2D1Factory8* This,IWICBitmap *target,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target); } static inline HRESULT ID2D1Factory8_CreateHwndRenderTarget(ID2D1Factory8* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc,ID2D1HwndRenderTarget **render_target) { return This->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target); } static inline HRESULT ID2D1Factory8_CreateDxgiSurfaceRenderTarget(ID2D1Factory8* This,IDXGISurface *surface,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target); } static inline HRESULT ID2D1Factory8_CreateDCRenderTarget(ID2D1Factory8* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1DCRenderTarget **render_target) { return This->lpVtbl->CreateDCRenderTarget(This,desc,render_target); } /*** ID2D1Factory1 methods ***/ static inline HRESULT ID2D1Factory8_CreateStrokeStyle(ID2D1Factory8* This,const D2D1_STROKE_STYLE_PROPERTIES1 *desc,const float *dashes,UINT32 dash_count,ID2D1StrokeStyle1 **stroke_style) { return This->lpVtbl->ID2D1Factory1_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style); } static inline HRESULT ID2D1Factory8_CreatePathGeometry(ID2D1Factory8* This,ID2D1PathGeometry1 **geometry) { return This->lpVtbl->ID2D1Factory1_CreatePathGeometry(This,geometry); } static inline HRESULT ID2D1Factory8_CreateDrawingStateBlock(ID2D1Factory8* This,const D2D1_DRAWING_STATE_DESCRIPTION1 *desc,IDWriteRenderingParams *text_rendering_params,ID2D1DrawingStateBlock1 **state_block) { return This->lpVtbl->ID2D1Factory1_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block); } static inline HRESULT ID2D1Factory8_CreateGdiMetafile(ID2D1Factory8* This,IStream *stream,ID2D1GdiMetafile **metafile) { return This->lpVtbl->CreateGdiMetafile(This,stream,metafile); } static inline HRESULT ID2D1Factory8_RegisterEffectFromStream(ID2D1Factory8* This,REFCLSID effect_id,IStream *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromStream(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory8_RegisterEffectFromString(ID2D1Factory8* This,REFCLSID effect_id,const WCHAR *property_xml,const struct D2D1_PROPERTY_BINDING *bindings,UINT32 binding_count,PD2D1_EFFECT_FACTORY effect_factory) { return This->lpVtbl->RegisterEffectFromString(This,effect_id,property_xml,bindings,binding_count,effect_factory); } static inline HRESULT ID2D1Factory8_UnregisterEffect(ID2D1Factory8* This,REFCLSID effect_id) { return This->lpVtbl->UnregisterEffect(This,effect_id); } static inline HRESULT ID2D1Factory8_GetRegisteredEffects(ID2D1Factory8* This,CLSID *effects,UINT32 effect_count,UINT32 *returned,UINT32 *registered) { return This->lpVtbl->GetRegisteredEffects(This,effects,effect_count,returned,registered); } static inline HRESULT ID2D1Factory8_GetEffectProperties(ID2D1Factory8* This,REFCLSID effect_id,ID2D1Properties **props) { return This->lpVtbl->GetEffectProperties(This,effect_id,props); } /*** ID2D1Factory2 methods ***/ /*** ID2D1Factory3 methods ***/ /*** ID2D1Factory4 methods ***/ /*** ID2D1Factory5 methods ***/ /*** ID2D1Factory6 methods ***/ /*** ID2D1Factory7 methods ***/ /*** ID2D1Factory8 methods ***/ static inline HRESULT ID2D1Factory8_CreateDevice(ID2D1Factory8* This,IDXGIDevice *dxgi_device,ID2D1Device7 **d2d_device) { return This->lpVtbl->ID2D1Factory8_CreateDevice(This,dxgi_device,d2d_device); } #endif #endif #endif #endif /* __ID2D1Factory8_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1CommandSink2 interface */ #ifndef __ID2D1CommandSink2_INTERFACE_DEFINED__ #define __ID2D1CommandSink2_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1CommandSink2, 0x3bab440e, 0x417e, 0x47df, 0xa2,0xe2, 0xbc,0x0b,0xe6,0xa0,0x09,0x16); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3bab440e-417e-47df-a2e2-bc0be6a00916") ID2D1CommandSink2 : public ID2D1CommandSink1 { virtual HRESULT STDMETHODCALLTYPE DrawInk( ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style) = 0; virtual HRESULT STDMETHODCALLTYPE DrawGradientMesh( ID2D1GradientMesh *gradient_mesh) = 0; virtual HRESULT STDMETHODCALLTYPE DrawGdiMetafile( ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dest_rect, const D2D1_RECT_F *src_rect) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1CommandSink2, 0x3bab440e, 0x417e, 0x47df, 0xa2,0xe2, 0xbc,0x0b,0xe6,0xa0,0x09,0x16) #endif #else typedef struct ID2D1CommandSink2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1CommandSink2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1CommandSink2 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1CommandSink2 *This); /*** ID2D1CommandSink methods ***/ HRESULT (STDMETHODCALLTYPE *BeginDraw)( ID2D1CommandSink2 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1CommandSink2 *This); HRESULT (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1CommandSink2 *This, D2D1_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *SetTags)( ID2D1CommandSink2 *This, D2D1_TAG tag1, D2D1_TAG tag2); HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1CommandSink2 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1CommandSink2 *This, IDWriteRenderingParams *text_rendering_params); HRESULT (STDMETHODCALLTYPE *SetTransform)( ID2D1CommandSink2 *This, const D2D1_MATRIX_3X2_F *transform); HRESULT (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1CommandSink2 *This, D2D1_PRIMITIVE_BLEND primitive_blend); HRESULT (STDMETHODCALLTYPE *SetUnitMode)( ID2D1CommandSink2 *This, D2D1_UNIT_MODE unit_mode); HRESULT (STDMETHODCALLTYPE *Clear)( ID2D1CommandSink2 *This, const D2D1_COLOR_F *color); HRESULT (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1CommandSink2 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); HRESULT (STDMETHODCALLTYPE *DrawLine)( ID2D1CommandSink2 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawGeometry)( ID2D1CommandSink2 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawRectangle)( ID2D1CommandSink2 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawBitmap)( ID2D1CommandSink2 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); HRESULT (STDMETHODCALLTYPE *DrawImage)( ID2D1CommandSink2 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); HRESULT (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1CommandSink2 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); HRESULT (STDMETHODCALLTYPE *FillMesh)( ID2D1CommandSink2 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); HRESULT (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1CommandSink2 *This, ID2D1Bitmap *bitmap, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *FillGeometry)( ID2D1CommandSink2 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); HRESULT (STDMETHODCALLTYPE *FillRectangle)( ID2D1CommandSink2 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); HRESULT (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1CommandSink2 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *PushLayer)( ID2D1CommandSink2 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1CommandSink2 *This); HRESULT (STDMETHODCALLTYPE *PopLayer)( ID2D1CommandSink2 *This); /*** ID2D1CommandSink1 methods ***/ HRESULT (STDMETHODCALLTYPE *SetPrimitiveBlend1)( ID2D1CommandSink2 *This, D2D1_PRIMITIVE_BLEND primitive_blend); /*** ID2D1CommandSink2 methods ***/ HRESULT (STDMETHODCALLTYPE *DrawInk)( ID2D1CommandSink2 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); HRESULT (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1CommandSink2 *This, ID2D1GradientMesh *gradient_mesh); HRESULT (STDMETHODCALLTYPE *ID2D1CommandSink2_DrawGdiMetafile)( ID2D1CommandSink2 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dest_rect, const D2D1_RECT_F *src_rect); END_INTERFACE } ID2D1CommandSink2Vtbl; interface ID2D1CommandSink2 { CONST_VTBL ID2D1CommandSink2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1CommandSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1CommandSink2_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1CommandSink2_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1CommandSink methods ***/ #define ID2D1CommandSink2_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1CommandSink2_EndDraw(This) (This)->lpVtbl->EndDraw(This) #define ID2D1CommandSink2_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1CommandSink2_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1CommandSink2_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1CommandSink2_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1CommandSink2_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1CommandSink2_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1CommandSink2_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1CommandSink2_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1CommandSink2_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1CommandSink2_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1CommandSink2_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1CommandSink2_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1CommandSink2_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1CommandSink2_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1CommandSink2_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1CommandSink2_FillOpacityMask(This,bitmap,brush,dst_rect,src_rect) (This)->lpVtbl->FillOpacityMask(This,bitmap,brush,dst_rect,src_rect) #define ID2D1CommandSink2_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1CommandSink2_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1CommandSink2_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1CommandSink2_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->PushLayer(This,layer_parameters,layer) #define ID2D1CommandSink2_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1CommandSink2_PopLayer(This) (This)->lpVtbl->PopLayer(This) /*** ID2D1CommandSink1 methods ***/ #define ID2D1CommandSink2_SetPrimitiveBlend1(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend1(This,primitive_blend) /*** ID2D1CommandSink2 methods ***/ #define ID2D1CommandSink2_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1CommandSink2_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1CommandSink2_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect) (This)->lpVtbl->ID2D1CommandSink2_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1CommandSink2_QueryInterface(ID2D1CommandSink2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1CommandSink2_AddRef(ID2D1CommandSink2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1CommandSink2_Release(ID2D1CommandSink2* This) { return This->lpVtbl->Release(This); } /*** ID2D1CommandSink methods ***/ static inline HRESULT ID2D1CommandSink2_BeginDraw(ID2D1CommandSink2* This) { return This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1CommandSink2_EndDraw(ID2D1CommandSink2* This) { return This->lpVtbl->EndDraw(This); } static inline HRESULT ID2D1CommandSink2_SetAntialiasMode(ID2D1CommandSink2* This,D2D1_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline HRESULT ID2D1CommandSink2_SetTags(ID2D1CommandSink2* This,D2D1_TAG tag1,D2D1_TAG tag2) { return This->lpVtbl->SetTags(This,tag1,tag2); } static inline HRESULT ID2D1CommandSink2_SetTextAntialiasMode(ID2D1CommandSink2* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline HRESULT ID2D1CommandSink2_SetTextRenderingParams(ID2D1CommandSink2* This,IDWriteRenderingParams *text_rendering_params) { return This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline HRESULT ID2D1CommandSink2_SetTransform(ID2D1CommandSink2* This,const D2D1_MATRIX_3X2_F *transform) { return This->lpVtbl->SetTransform(This,transform); } static inline HRESULT ID2D1CommandSink2_SetPrimitiveBlend(ID2D1CommandSink2* This,D2D1_PRIMITIVE_BLEND primitive_blend) { return This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline HRESULT ID2D1CommandSink2_SetUnitMode(ID2D1CommandSink2* This,D2D1_UNIT_MODE unit_mode) { return This->lpVtbl->SetUnitMode(This,unit_mode); } static inline HRESULT ID2D1CommandSink2_Clear(ID2D1CommandSink2* This,const D2D1_COLOR_F *color) { return This->lpVtbl->Clear(This,color); } static inline HRESULT ID2D1CommandSink2_DrawGlyphRun(ID2D1CommandSink2* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { return This->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline HRESULT ID2D1CommandSink2_DrawLine(ID2D1CommandSink2* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink2_DrawGeometry(ID2D1CommandSink2* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink2_DrawRectangle(ID2D1CommandSink2* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink2_DrawBitmap(ID2D1CommandSink2* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { return This->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline HRESULT ID2D1CommandSink2_DrawImage(ID2D1CommandSink2* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { return This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline HRESULT ID2D1CommandSink2_FillMesh(ID2D1CommandSink2* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { return This->lpVtbl->FillMesh(This,mesh,brush); } static inline HRESULT ID2D1CommandSink2_FillOpacityMask(ID2D1CommandSink2* This,ID2D1Bitmap *bitmap,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { return This->lpVtbl->FillOpacityMask(This,bitmap,brush,dst_rect,src_rect); } static inline HRESULT ID2D1CommandSink2_FillGeometry(ID2D1CommandSink2* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { return This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline HRESULT ID2D1CommandSink2_FillRectangle(ID2D1CommandSink2* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { return This->lpVtbl->FillRectangle(This,rect,brush); } static inline HRESULT ID2D1CommandSink2_PushAxisAlignedClip(ID2D1CommandSink2* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline HRESULT ID2D1CommandSink2_PushLayer(ID2D1CommandSink2* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { return This->lpVtbl->PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1CommandSink2_PopAxisAlignedClip(ID2D1CommandSink2* This) { return This->lpVtbl->PopAxisAlignedClip(This); } static inline HRESULT ID2D1CommandSink2_PopLayer(ID2D1CommandSink2* This) { return This->lpVtbl->PopLayer(This); } /*** ID2D1CommandSink1 methods ***/ static inline HRESULT ID2D1CommandSink2_SetPrimitiveBlend1(ID2D1CommandSink2* This,D2D1_PRIMITIVE_BLEND primitive_blend) { return This->lpVtbl->SetPrimitiveBlend1(This,primitive_blend); } /*** ID2D1CommandSink2 methods ***/ static inline HRESULT ID2D1CommandSink2_DrawInk(ID2D1CommandSink2* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { return This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline HRESULT ID2D1CommandSink2_DrawGradientMesh(ID2D1CommandSink2* This,ID2D1GradientMesh *gradient_mesh) { return This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline HRESULT ID2D1CommandSink2_DrawGdiMetafile(ID2D1CommandSink2* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dest_rect,const D2D1_RECT_F *src_rect) { return This->lpVtbl->ID2D1CommandSink2_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect); } #endif #endif #endif #endif /* __ID2D1CommandSink2_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1CommandSink3 interface */ #ifndef __ID2D1CommandSink3_INTERFACE_DEFINED__ #define __ID2D1CommandSink3_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1CommandSink3, 0x18079135, 0x4cf3, 0x4868, 0xbc,0x8e, 0x06,0x06,0x7e,0x6d,0x24,0x2d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("18079135-4cf3-4868-bc8e-06067e6d242d") ID2D1CommandSink3 : public ID2D1CommandSink2 { virtual HRESULT STDMETHODCALLTYPE DrawSpriteBatch( ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1CommandSink3, 0x18079135, 0x4cf3, 0x4868, 0xbc,0x8e, 0x06,0x06,0x7e,0x6d,0x24,0x2d) #endif #else typedef struct ID2D1CommandSink3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1CommandSink3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1CommandSink3 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1CommandSink3 *This); /*** ID2D1CommandSink methods ***/ HRESULT (STDMETHODCALLTYPE *BeginDraw)( ID2D1CommandSink3 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1CommandSink3 *This); HRESULT (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1CommandSink3 *This, D2D1_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *SetTags)( ID2D1CommandSink3 *This, D2D1_TAG tag1, D2D1_TAG tag2); HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1CommandSink3 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1CommandSink3 *This, IDWriteRenderingParams *text_rendering_params); HRESULT (STDMETHODCALLTYPE *SetTransform)( ID2D1CommandSink3 *This, const D2D1_MATRIX_3X2_F *transform); HRESULT (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1CommandSink3 *This, D2D1_PRIMITIVE_BLEND primitive_blend); HRESULT (STDMETHODCALLTYPE *SetUnitMode)( ID2D1CommandSink3 *This, D2D1_UNIT_MODE unit_mode); HRESULT (STDMETHODCALLTYPE *Clear)( ID2D1CommandSink3 *This, const D2D1_COLOR_F *color); HRESULT (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1CommandSink3 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); HRESULT (STDMETHODCALLTYPE *DrawLine)( ID2D1CommandSink3 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawGeometry)( ID2D1CommandSink3 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawRectangle)( ID2D1CommandSink3 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawBitmap)( ID2D1CommandSink3 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); HRESULT (STDMETHODCALLTYPE *DrawImage)( ID2D1CommandSink3 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); HRESULT (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1CommandSink3 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); HRESULT (STDMETHODCALLTYPE *FillMesh)( ID2D1CommandSink3 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); HRESULT (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1CommandSink3 *This, ID2D1Bitmap *bitmap, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *FillGeometry)( ID2D1CommandSink3 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); HRESULT (STDMETHODCALLTYPE *FillRectangle)( ID2D1CommandSink3 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); HRESULT (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1CommandSink3 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *PushLayer)( ID2D1CommandSink3 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1CommandSink3 *This); HRESULT (STDMETHODCALLTYPE *PopLayer)( ID2D1CommandSink3 *This); /*** ID2D1CommandSink1 methods ***/ HRESULT (STDMETHODCALLTYPE *SetPrimitiveBlend1)( ID2D1CommandSink3 *This, D2D1_PRIMITIVE_BLEND primitive_blend); /*** ID2D1CommandSink2 methods ***/ HRESULT (STDMETHODCALLTYPE *DrawInk)( ID2D1CommandSink3 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); HRESULT (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1CommandSink3 *This, ID2D1GradientMesh *gradient_mesh); HRESULT (STDMETHODCALLTYPE *ID2D1CommandSink2_DrawGdiMetafile)( ID2D1CommandSink3 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dest_rect, const D2D1_RECT_F *src_rect); /*** ID2D1CommandSink3 methods ***/ HRESULT (STDMETHODCALLTYPE *DrawSpriteBatch)( ID2D1CommandSink3 *This, ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options); END_INTERFACE } ID2D1CommandSink3Vtbl; interface ID2D1CommandSink3 { CONST_VTBL ID2D1CommandSink3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1CommandSink3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1CommandSink3_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1CommandSink3_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1CommandSink methods ***/ #define ID2D1CommandSink3_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1CommandSink3_EndDraw(This) (This)->lpVtbl->EndDraw(This) #define ID2D1CommandSink3_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1CommandSink3_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1CommandSink3_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1CommandSink3_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1CommandSink3_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1CommandSink3_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1CommandSink3_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1CommandSink3_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1CommandSink3_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1CommandSink3_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1CommandSink3_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1CommandSink3_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1CommandSink3_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1CommandSink3_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1CommandSink3_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1CommandSink3_FillOpacityMask(This,bitmap,brush,dst_rect,src_rect) (This)->lpVtbl->FillOpacityMask(This,bitmap,brush,dst_rect,src_rect) #define ID2D1CommandSink3_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1CommandSink3_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1CommandSink3_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1CommandSink3_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->PushLayer(This,layer_parameters,layer) #define ID2D1CommandSink3_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1CommandSink3_PopLayer(This) (This)->lpVtbl->PopLayer(This) /*** ID2D1CommandSink1 methods ***/ #define ID2D1CommandSink3_SetPrimitiveBlend1(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend1(This,primitive_blend) /*** ID2D1CommandSink2 methods ***/ #define ID2D1CommandSink3_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1CommandSink3_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1CommandSink3_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect) (This)->lpVtbl->ID2D1CommandSink2_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect) /*** ID2D1CommandSink3 methods ***/ #define ID2D1CommandSink3_DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) (This)->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1CommandSink3_QueryInterface(ID2D1CommandSink3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1CommandSink3_AddRef(ID2D1CommandSink3* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1CommandSink3_Release(ID2D1CommandSink3* This) { return This->lpVtbl->Release(This); } /*** ID2D1CommandSink methods ***/ static inline HRESULT ID2D1CommandSink3_BeginDraw(ID2D1CommandSink3* This) { return This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1CommandSink3_EndDraw(ID2D1CommandSink3* This) { return This->lpVtbl->EndDraw(This); } static inline HRESULT ID2D1CommandSink3_SetAntialiasMode(ID2D1CommandSink3* This,D2D1_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline HRESULT ID2D1CommandSink3_SetTags(ID2D1CommandSink3* This,D2D1_TAG tag1,D2D1_TAG tag2) { return This->lpVtbl->SetTags(This,tag1,tag2); } static inline HRESULT ID2D1CommandSink3_SetTextAntialiasMode(ID2D1CommandSink3* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline HRESULT ID2D1CommandSink3_SetTextRenderingParams(ID2D1CommandSink3* This,IDWriteRenderingParams *text_rendering_params) { return This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline HRESULT ID2D1CommandSink3_SetTransform(ID2D1CommandSink3* This,const D2D1_MATRIX_3X2_F *transform) { return This->lpVtbl->SetTransform(This,transform); } static inline HRESULT ID2D1CommandSink3_SetPrimitiveBlend(ID2D1CommandSink3* This,D2D1_PRIMITIVE_BLEND primitive_blend) { return This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline HRESULT ID2D1CommandSink3_SetUnitMode(ID2D1CommandSink3* This,D2D1_UNIT_MODE unit_mode) { return This->lpVtbl->SetUnitMode(This,unit_mode); } static inline HRESULT ID2D1CommandSink3_Clear(ID2D1CommandSink3* This,const D2D1_COLOR_F *color) { return This->lpVtbl->Clear(This,color); } static inline HRESULT ID2D1CommandSink3_DrawGlyphRun(ID2D1CommandSink3* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { return This->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline HRESULT ID2D1CommandSink3_DrawLine(ID2D1CommandSink3* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink3_DrawGeometry(ID2D1CommandSink3* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink3_DrawRectangle(ID2D1CommandSink3* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink3_DrawBitmap(ID2D1CommandSink3* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { return This->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline HRESULT ID2D1CommandSink3_DrawImage(ID2D1CommandSink3* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { return This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline HRESULT ID2D1CommandSink3_FillMesh(ID2D1CommandSink3* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { return This->lpVtbl->FillMesh(This,mesh,brush); } static inline HRESULT ID2D1CommandSink3_FillOpacityMask(ID2D1CommandSink3* This,ID2D1Bitmap *bitmap,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { return This->lpVtbl->FillOpacityMask(This,bitmap,brush,dst_rect,src_rect); } static inline HRESULT ID2D1CommandSink3_FillGeometry(ID2D1CommandSink3* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { return This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline HRESULT ID2D1CommandSink3_FillRectangle(ID2D1CommandSink3* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { return This->lpVtbl->FillRectangle(This,rect,brush); } static inline HRESULT ID2D1CommandSink3_PushAxisAlignedClip(ID2D1CommandSink3* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline HRESULT ID2D1CommandSink3_PushLayer(ID2D1CommandSink3* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { return This->lpVtbl->PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1CommandSink3_PopAxisAlignedClip(ID2D1CommandSink3* This) { return This->lpVtbl->PopAxisAlignedClip(This); } static inline HRESULT ID2D1CommandSink3_PopLayer(ID2D1CommandSink3* This) { return This->lpVtbl->PopLayer(This); } /*** ID2D1CommandSink1 methods ***/ static inline HRESULT ID2D1CommandSink3_SetPrimitiveBlend1(ID2D1CommandSink3* This,D2D1_PRIMITIVE_BLEND primitive_blend) { return This->lpVtbl->SetPrimitiveBlend1(This,primitive_blend); } /*** ID2D1CommandSink2 methods ***/ static inline HRESULT ID2D1CommandSink3_DrawInk(ID2D1CommandSink3* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { return This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline HRESULT ID2D1CommandSink3_DrawGradientMesh(ID2D1CommandSink3* This,ID2D1GradientMesh *gradient_mesh) { return This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline HRESULT ID2D1CommandSink3_DrawGdiMetafile(ID2D1CommandSink3* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dest_rect,const D2D1_RECT_F *src_rect) { return This->lpVtbl->ID2D1CommandSink2_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect); } /*** ID2D1CommandSink3 methods ***/ static inline HRESULT ID2D1CommandSink3_DrawSpriteBatch(ID2D1CommandSink3* This,ID2D1SpriteBatch *sprite_batch,UINT32 start_index,UINT32 sprite_count,ID2D1Bitmap *bitmap,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,D2D1_SPRITE_OPTIONS sprite_options) { return This->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options); } #endif #endif #endif #endif /* __ID2D1CommandSink3_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1CommandSink4 interface */ #ifndef __ID2D1CommandSink4_INTERFACE_DEFINED__ #define __ID2D1CommandSink4_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1CommandSink4, 0xc78a6519, 0x40d6, 0x4218, 0xb2,0xde, 0xbe,0xee,0xb7,0x44,0xbb,0x3e); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c78a6519-40d6-4218-b2de-beeeb744bb3e") ID2D1CommandSink4 : public ID2D1CommandSink3 { virtual HRESULT STDMETHODCALLTYPE SetPrimitiveBlend2( D2D1_PRIMITIVE_BLEND primitive_blend) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1CommandSink4, 0xc78a6519, 0x40d6, 0x4218, 0xb2,0xde, 0xbe,0xee,0xb7,0x44,0xbb,0x3e) #endif #else typedef struct ID2D1CommandSink4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1CommandSink4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1CommandSink4 *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1CommandSink4 *This); /*** ID2D1CommandSink methods ***/ HRESULT (STDMETHODCALLTYPE *BeginDraw)( ID2D1CommandSink4 *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1CommandSink4 *This); HRESULT (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1CommandSink4 *This, D2D1_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *SetTags)( ID2D1CommandSink4 *This, D2D1_TAG tag1, D2D1_TAG tag2); HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1CommandSink4 *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1CommandSink4 *This, IDWriteRenderingParams *text_rendering_params); HRESULT (STDMETHODCALLTYPE *SetTransform)( ID2D1CommandSink4 *This, const D2D1_MATRIX_3X2_F *transform); HRESULT (STDMETHODCALLTYPE *SetPrimitiveBlend)( ID2D1CommandSink4 *This, D2D1_PRIMITIVE_BLEND primitive_blend); HRESULT (STDMETHODCALLTYPE *SetUnitMode)( ID2D1CommandSink4 *This, D2D1_UNIT_MODE unit_mode); HRESULT (STDMETHODCALLTYPE *Clear)( ID2D1CommandSink4 *This, const D2D1_COLOR_F *color); HRESULT (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1CommandSink4 *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); HRESULT (STDMETHODCALLTYPE *DrawLine)( ID2D1CommandSink4 *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawGeometry)( ID2D1CommandSink4 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawRectangle)( ID2D1CommandSink4 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); HRESULT (STDMETHODCALLTYPE *DrawBitmap)( ID2D1CommandSink4 *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect, const D2D1_MATRIX_4X4_F *perspective_transform); HRESULT (STDMETHODCALLTYPE *DrawImage)( ID2D1CommandSink4 *This, ID2D1Image *image, const D2D1_POINT_2F *target_offset, const D2D1_RECT_F *image_rect, D2D1_INTERPOLATION_MODE interpolation_mode, D2D1_COMPOSITE_MODE composite_mode); HRESULT (STDMETHODCALLTYPE *DrawGdiMetafile)( ID2D1CommandSink4 *This, ID2D1GdiMetafile *metafile, const D2D1_POINT_2F *target_offset); HRESULT (STDMETHODCALLTYPE *FillMesh)( ID2D1CommandSink4 *This, ID2D1Mesh *mesh, ID2D1Brush *brush); HRESULT (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1CommandSink4 *This, ID2D1Bitmap *bitmap, ID2D1Brush *brush, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect); HRESULT (STDMETHODCALLTYPE *FillGeometry)( ID2D1CommandSink4 *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); HRESULT (STDMETHODCALLTYPE *FillRectangle)( ID2D1CommandSink4 *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); HRESULT (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1CommandSink4 *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); HRESULT (STDMETHODCALLTYPE *PushLayer)( ID2D1CommandSink4 *This, const D2D1_LAYER_PARAMETERS1 *layer_parameters, ID2D1Layer *layer); HRESULT (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1CommandSink4 *This); HRESULT (STDMETHODCALLTYPE *PopLayer)( ID2D1CommandSink4 *This); /*** ID2D1CommandSink1 methods ***/ HRESULT (STDMETHODCALLTYPE *SetPrimitiveBlend1)( ID2D1CommandSink4 *This, D2D1_PRIMITIVE_BLEND primitive_blend); /*** ID2D1CommandSink2 methods ***/ HRESULT (STDMETHODCALLTYPE *DrawInk)( ID2D1CommandSink4 *This, ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *ink_style); HRESULT (STDMETHODCALLTYPE *DrawGradientMesh)( ID2D1CommandSink4 *This, ID2D1GradientMesh *gradient_mesh); HRESULT (STDMETHODCALLTYPE *ID2D1CommandSink2_DrawGdiMetafile)( ID2D1CommandSink4 *This, ID2D1GdiMetafile *gdi_metafile, const D2D1_RECT_F *dest_rect, const D2D1_RECT_F *src_rect); /*** ID2D1CommandSink3 methods ***/ HRESULT (STDMETHODCALLTYPE *DrawSpriteBatch)( ID2D1CommandSink4 *This, ID2D1SpriteBatch *sprite_batch, UINT32 start_index, UINT32 sprite_count, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, D2D1_SPRITE_OPTIONS sprite_options); /*** ID2D1CommandSink4 methods ***/ HRESULT (STDMETHODCALLTYPE *SetPrimitiveBlend2)( ID2D1CommandSink4 *This, D2D1_PRIMITIVE_BLEND primitive_blend); END_INTERFACE } ID2D1CommandSink4Vtbl; interface ID2D1CommandSink4 { CONST_VTBL ID2D1CommandSink4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1CommandSink4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1CommandSink4_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1CommandSink4_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1CommandSink methods ***/ #define ID2D1CommandSink4_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1CommandSink4_EndDraw(This) (This)->lpVtbl->EndDraw(This) #define ID2D1CommandSink4_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1CommandSink4_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1CommandSink4_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1CommandSink4_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1CommandSink4_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1CommandSink4_SetPrimitiveBlend(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend(This,primitive_blend) #define ID2D1CommandSink4_SetUnitMode(This,unit_mode) (This)->lpVtbl->SetUnitMode(This,unit_mode) #define ID2D1CommandSink4_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1CommandSink4_DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) (This)->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode) #define ID2D1CommandSink4_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1CommandSink4_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1CommandSink4_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1CommandSink4_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) (This)->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform) #define ID2D1CommandSink4_DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) (This)->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode) #define ID2D1CommandSink4_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1CommandSink4_FillOpacityMask(This,bitmap,brush,dst_rect,src_rect) (This)->lpVtbl->FillOpacityMask(This,bitmap,brush,dst_rect,src_rect) #define ID2D1CommandSink4_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1CommandSink4_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1CommandSink4_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1CommandSink4_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->PushLayer(This,layer_parameters,layer) #define ID2D1CommandSink4_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1CommandSink4_PopLayer(This) (This)->lpVtbl->PopLayer(This) /*** ID2D1CommandSink1 methods ***/ #define ID2D1CommandSink4_SetPrimitiveBlend1(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend1(This,primitive_blend) /*** ID2D1CommandSink2 methods ***/ #define ID2D1CommandSink4_DrawInk(This,ink,brush,ink_style) (This)->lpVtbl->DrawInk(This,ink,brush,ink_style) #define ID2D1CommandSink4_DrawGradientMesh(This,gradient_mesh) (This)->lpVtbl->DrawGradientMesh(This,gradient_mesh) #define ID2D1CommandSink4_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect) (This)->lpVtbl->ID2D1CommandSink2_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect) /*** ID2D1CommandSink3 methods ***/ #define ID2D1CommandSink4_DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) (This)->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options) /*** ID2D1CommandSink4 methods ***/ #define ID2D1CommandSink4_SetPrimitiveBlend2(This,primitive_blend) (This)->lpVtbl->SetPrimitiveBlend2(This,primitive_blend) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1CommandSink4_QueryInterface(ID2D1CommandSink4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1CommandSink4_AddRef(ID2D1CommandSink4* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1CommandSink4_Release(ID2D1CommandSink4* This) { return This->lpVtbl->Release(This); } /*** ID2D1CommandSink methods ***/ static inline HRESULT ID2D1CommandSink4_BeginDraw(ID2D1CommandSink4* This) { return This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1CommandSink4_EndDraw(ID2D1CommandSink4* This) { return This->lpVtbl->EndDraw(This); } static inline HRESULT ID2D1CommandSink4_SetAntialiasMode(ID2D1CommandSink4* This,D2D1_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline HRESULT ID2D1CommandSink4_SetTags(ID2D1CommandSink4* This,D2D1_TAG tag1,D2D1_TAG tag2) { return This->lpVtbl->SetTags(This,tag1,tag2); } static inline HRESULT ID2D1CommandSink4_SetTextAntialiasMode(ID2D1CommandSink4* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline HRESULT ID2D1CommandSink4_SetTextRenderingParams(ID2D1CommandSink4* This,IDWriteRenderingParams *text_rendering_params) { return This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline HRESULT ID2D1CommandSink4_SetTransform(ID2D1CommandSink4* This,const D2D1_MATRIX_3X2_F *transform) { return This->lpVtbl->SetTransform(This,transform); } static inline HRESULT ID2D1CommandSink4_SetPrimitiveBlend(ID2D1CommandSink4* This,D2D1_PRIMITIVE_BLEND primitive_blend) { return This->lpVtbl->SetPrimitiveBlend(This,primitive_blend); } static inline HRESULT ID2D1CommandSink4_SetUnitMode(ID2D1CommandSink4* This,D2D1_UNIT_MODE unit_mode) { return This->lpVtbl->SetUnitMode(This,unit_mode); } static inline HRESULT ID2D1CommandSink4_Clear(ID2D1CommandSink4* This,const D2D1_COLOR_F *color) { return This->lpVtbl->Clear(This,color); } static inline HRESULT ID2D1CommandSink4_DrawGlyphRun(ID2D1CommandSink4* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { return This->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,glyph_run_desc,brush,measuring_mode); } static inline HRESULT ID2D1CommandSink4_DrawLine(ID2D1CommandSink4* This,D2D1_POINT_2F p0,D2D1_POINT_2F p1,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink4_DrawGeometry(ID2D1CommandSink4* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink4_DrawRectangle(ID2D1CommandSink4* This,const D2D1_RECT_F *rect,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { return This->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style); } static inline HRESULT ID2D1CommandSink4_DrawBitmap(ID2D1CommandSink4* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect,const D2D1_MATRIX_4X4_F *perspective_transform) { return This->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect,perspective_transform); } static inline HRESULT ID2D1CommandSink4_DrawImage(ID2D1CommandSink4* This,ID2D1Image *image,const D2D1_POINT_2F *target_offset,const D2D1_RECT_F *image_rect,D2D1_INTERPOLATION_MODE interpolation_mode,D2D1_COMPOSITE_MODE composite_mode) { return This->lpVtbl->DrawImage(This,image,target_offset,image_rect,interpolation_mode,composite_mode); } static inline HRESULT ID2D1CommandSink4_FillMesh(ID2D1CommandSink4* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { return This->lpVtbl->FillMesh(This,mesh,brush); } static inline HRESULT ID2D1CommandSink4_FillOpacityMask(ID2D1CommandSink4* This,ID2D1Bitmap *bitmap,ID2D1Brush *brush,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { return This->lpVtbl->FillOpacityMask(This,bitmap,brush,dst_rect,src_rect); } static inline HRESULT ID2D1CommandSink4_FillGeometry(ID2D1CommandSink4* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { return This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline HRESULT ID2D1CommandSink4_FillRectangle(ID2D1CommandSink4* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { return This->lpVtbl->FillRectangle(This,rect,brush); } static inline HRESULT ID2D1CommandSink4_PushAxisAlignedClip(ID2D1CommandSink4* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { return This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline HRESULT ID2D1CommandSink4_PushLayer(ID2D1CommandSink4* This,const D2D1_LAYER_PARAMETERS1 *layer_parameters,ID2D1Layer *layer) { return This->lpVtbl->PushLayer(This,layer_parameters,layer); } static inline HRESULT ID2D1CommandSink4_PopAxisAlignedClip(ID2D1CommandSink4* This) { return This->lpVtbl->PopAxisAlignedClip(This); } static inline HRESULT ID2D1CommandSink4_PopLayer(ID2D1CommandSink4* This) { return This->lpVtbl->PopLayer(This); } /*** ID2D1CommandSink1 methods ***/ static inline HRESULT ID2D1CommandSink4_SetPrimitiveBlend1(ID2D1CommandSink4* This,D2D1_PRIMITIVE_BLEND primitive_blend) { return This->lpVtbl->SetPrimitiveBlend1(This,primitive_blend); } /*** ID2D1CommandSink2 methods ***/ static inline HRESULT ID2D1CommandSink4_DrawInk(ID2D1CommandSink4* This,ID2D1Ink *ink,ID2D1Brush *brush,ID2D1InkStyle *ink_style) { return This->lpVtbl->DrawInk(This,ink,brush,ink_style); } static inline HRESULT ID2D1CommandSink4_DrawGradientMesh(ID2D1CommandSink4* This,ID2D1GradientMesh *gradient_mesh) { return This->lpVtbl->DrawGradientMesh(This,gradient_mesh); } static inline HRESULT ID2D1CommandSink4_DrawGdiMetafile(ID2D1CommandSink4* This,ID2D1GdiMetafile *gdi_metafile,const D2D1_RECT_F *dest_rect,const D2D1_RECT_F *src_rect) { return This->lpVtbl->ID2D1CommandSink2_DrawGdiMetafile(This,gdi_metafile,dest_rect,src_rect); } /*** ID2D1CommandSink3 methods ***/ static inline HRESULT ID2D1CommandSink4_DrawSpriteBatch(ID2D1CommandSink4* This,ID2D1SpriteBatch *sprite_batch,UINT32 start_index,UINT32 sprite_count,ID2D1Bitmap *bitmap,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,D2D1_SPRITE_OPTIONS sprite_options) { return This->lpVtbl->DrawSpriteBatch(This,sprite_batch,start_index,sprite_count,bitmap,interpolation_mode,sprite_options); } /*** ID2D1CommandSink4 methods ***/ static inline HRESULT ID2D1CommandSink4_SetPrimitiveBlend2(ID2D1CommandSink4* This,D2D1_PRIMITIVE_BLEND primitive_blend) { return This->lpVtbl->SetPrimitiveBlend2(This,primitive_blend); } #endif #endif #endif #endif /* __ID2D1CommandSink4_INTERFACE_DEFINED__ */ /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __d2d1_3_h__ */