/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/include/d2d1.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_h__ #define __d2d1_h__ /* Forward declarations */ #ifndef __ID2D1Resource_FWD_DEFINED__ #define __ID2D1Resource_FWD_DEFINED__ typedef interface ID2D1Resource ID2D1Resource; #ifdef __cplusplus interface ID2D1Resource; #endif /* __cplusplus */ #endif #ifndef __ID2D1StrokeStyle_FWD_DEFINED__ #define __ID2D1StrokeStyle_FWD_DEFINED__ typedef interface ID2D1StrokeStyle ID2D1StrokeStyle; #ifdef __cplusplus interface ID2D1StrokeStyle; #endif /* __cplusplus */ #endif #ifndef __ID2D1SimplifiedGeometrySink_FWD_DEFINED__ #define __ID2D1SimplifiedGeometrySink_FWD_DEFINED__ typedef interface ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink; #ifdef __cplusplus interface ID2D1SimplifiedGeometrySink; #endif /* __cplusplus */ #endif #ifndef __ID2D1TessellationSink_FWD_DEFINED__ #define __ID2D1TessellationSink_FWD_DEFINED__ typedef interface ID2D1TessellationSink ID2D1TessellationSink; #ifdef __cplusplus interface ID2D1TessellationSink; #endif /* __cplusplus */ #endif #ifndef __ID2D1Geometry_FWD_DEFINED__ #define __ID2D1Geometry_FWD_DEFINED__ typedef interface ID2D1Geometry ID2D1Geometry; #ifdef __cplusplus interface ID2D1Geometry; #endif /* __cplusplus */ #endif #ifndef __ID2D1RectangleGeometry_FWD_DEFINED__ #define __ID2D1RectangleGeometry_FWD_DEFINED__ typedef interface ID2D1RectangleGeometry ID2D1RectangleGeometry; #ifdef __cplusplus interface ID2D1RectangleGeometry; #endif /* __cplusplus */ #endif #ifndef __ID2D1RoundedRectangleGeometry_FWD_DEFINED__ #define __ID2D1RoundedRectangleGeometry_FWD_DEFINED__ typedef interface ID2D1RoundedRectangleGeometry ID2D1RoundedRectangleGeometry; #ifdef __cplusplus interface ID2D1RoundedRectangleGeometry; #endif /* __cplusplus */ #endif #ifndef __ID2D1EllipseGeometry_FWD_DEFINED__ #define __ID2D1EllipseGeometry_FWD_DEFINED__ typedef interface ID2D1EllipseGeometry ID2D1EllipseGeometry; #ifdef __cplusplus interface ID2D1EllipseGeometry; #endif /* __cplusplus */ #endif #ifndef __ID2D1GeometryGroup_FWD_DEFINED__ #define __ID2D1GeometryGroup_FWD_DEFINED__ typedef interface ID2D1GeometryGroup ID2D1GeometryGroup; #ifdef __cplusplus interface ID2D1GeometryGroup; #endif /* __cplusplus */ #endif #ifndef __ID2D1TransformedGeometry_FWD_DEFINED__ #define __ID2D1TransformedGeometry_FWD_DEFINED__ typedef interface ID2D1TransformedGeometry ID2D1TransformedGeometry; #ifdef __cplusplus interface ID2D1TransformedGeometry; #endif /* __cplusplus */ #endif #ifndef __ID2D1GeometrySink_FWD_DEFINED__ #define __ID2D1GeometrySink_FWD_DEFINED__ typedef interface ID2D1GeometrySink ID2D1GeometrySink; #ifdef __cplusplus interface ID2D1GeometrySink; #endif /* __cplusplus */ #endif #ifndef __ID2D1PathGeometry_FWD_DEFINED__ #define __ID2D1PathGeometry_FWD_DEFINED__ typedef interface ID2D1PathGeometry ID2D1PathGeometry; #ifdef __cplusplus interface ID2D1PathGeometry; #endif /* __cplusplus */ #endif #ifndef __ID2D1DrawingStateBlock_FWD_DEFINED__ #define __ID2D1DrawingStateBlock_FWD_DEFINED__ typedef interface ID2D1DrawingStateBlock ID2D1DrawingStateBlock; #ifdef __cplusplus interface ID2D1DrawingStateBlock; #endif /* __cplusplus */ #endif #ifndef __ID2D1Image_FWD_DEFINED__ #define __ID2D1Image_FWD_DEFINED__ typedef interface ID2D1Image ID2D1Image; #ifdef __cplusplus interface ID2D1Image; #endif /* __cplusplus */ #endif #ifndef __ID2D1Bitmap_FWD_DEFINED__ #define __ID2D1Bitmap_FWD_DEFINED__ typedef interface ID2D1Bitmap ID2D1Bitmap; #ifdef __cplusplus interface ID2D1Bitmap; #endif /* __cplusplus */ #endif #ifndef __ID2D1Brush_FWD_DEFINED__ #define __ID2D1Brush_FWD_DEFINED__ typedef interface ID2D1Brush ID2D1Brush; #ifdef __cplusplus interface ID2D1Brush; #endif /* __cplusplus */ #endif #ifndef __ID2D1BitmapBrush_FWD_DEFINED__ #define __ID2D1BitmapBrush_FWD_DEFINED__ typedef interface ID2D1BitmapBrush ID2D1BitmapBrush; #ifdef __cplusplus interface ID2D1BitmapBrush; #endif /* __cplusplus */ #endif #ifndef __ID2D1SolidColorBrush_FWD_DEFINED__ #define __ID2D1SolidColorBrush_FWD_DEFINED__ typedef interface ID2D1SolidColorBrush ID2D1SolidColorBrush; #ifdef __cplusplus interface ID2D1SolidColorBrush; #endif /* __cplusplus */ #endif #ifndef __ID2D1GradientStopCollection_FWD_DEFINED__ #define __ID2D1GradientStopCollection_FWD_DEFINED__ typedef interface ID2D1GradientStopCollection ID2D1GradientStopCollection; #ifdef __cplusplus interface ID2D1GradientStopCollection; #endif /* __cplusplus */ #endif #ifndef __ID2D1LinearGradientBrush_FWD_DEFINED__ #define __ID2D1LinearGradientBrush_FWD_DEFINED__ typedef interface ID2D1LinearGradientBrush ID2D1LinearGradientBrush; #ifdef __cplusplus interface ID2D1LinearGradientBrush; #endif /* __cplusplus */ #endif #ifndef __ID2D1RadialGradientBrush_FWD_DEFINED__ #define __ID2D1RadialGradientBrush_FWD_DEFINED__ typedef interface ID2D1RadialGradientBrush ID2D1RadialGradientBrush; #ifdef __cplusplus interface ID2D1RadialGradientBrush; #endif /* __cplusplus */ #endif #ifndef __ID2D1Layer_FWD_DEFINED__ #define __ID2D1Layer_FWD_DEFINED__ typedef interface ID2D1Layer ID2D1Layer; #ifdef __cplusplus interface ID2D1Layer; #endif /* __cplusplus */ #endif #ifndef __ID2D1Mesh_FWD_DEFINED__ #define __ID2D1Mesh_FWD_DEFINED__ typedef interface ID2D1Mesh ID2D1Mesh; #ifdef __cplusplus interface ID2D1Mesh; #endif /* __cplusplus */ #endif #ifndef __ID2D1RenderTarget_FWD_DEFINED__ #define __ID2D1RenderTarget_FWD_DEFINED__ typedef interface ID2D1RenderTarget ID2D1RenderTarget; #ifdef __cplusplus interface ID2D1RenderTarget; #endif /* __cplusplus */ #endif #ifndef __ID2D1BitmapRenderTarget_FWD_DEFINED__ #define __ID2D1BitmapRenderTarget_FWD_DEFINED__ typedef interface ID2D1BitmapRenderTarget ID2D1BitmapRenderTarget; #ifdef __cplusplus interface ID2D1BitmapRenderTarget; #endif /* __cplusplus */ #endif #ifndef __ID2D1HwndRenderTarget_FWD_DEFINED__ #define __ID2D1HwndRenderTarget_FWD_DEFINED__ typedef interface ID2D1HwndRenderTarget ID2D1HwndRenderTarget; #ifdef __cplusplus interface ID2D1HwndRenderTarget; #endif /* __cplusplus */ #endif #ifndef __ID2D1DCRenderTarget_FWD_DEFINED__ #define __ID2D1DCRenderTarget_FWD_DEFINED__ typedef interface ID2D1DCRenderTarget ID2D1DCRenderTarget; #ifdef __cplusplus interface ID2D1DCRenderTarget; #endif /* __cplusplus */ #endif #ifndef __ID2D1GdiInteropRenderTarget_FWD_DEFINED__ #define __ID2D1GdiInteropRenderTarget_FWD_DEFINED__ typedef interface ID2D1GdiInteropRenderTarget ID2D1GdiInteropRenderTarget; #ifdef __cplusplus interface ID2D1GdiInteropRenderTarget; #endif /* __cplusplus */ #endif #ifndef __ID2D1Factory_FWD_DEFINED__ #define __ID2D1Factory_FWD_DEFINED__ typedef interface ID2D1Factory ID2D1Factory; #ifdef __cplusplus interface ID2D1Factory; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif #ifdef WINE_NO_UNICODE_MACROS #undef DrawText #endif #ifndef __ID2D1Factory_FWD_DEFINED__ #define __ID2D1Factory_FWD_DEFINED__ typedef interface ID2D1Factory ID2D1Factory; #ifdef __cplusplus interface ID2D1Factory; #endif /* __cplusplus */ #endif #ifndef __ID2D1RenderTarget_FWD_DEFINED__ #define __ID2D1RenderTarget_FWD_DEFINED__ typedef interface ID2D1RenderTarget ID2D1RenderTarget; #ifdef __cplusplus interface ID2D1RenderTarget; #endif /* __cplusplus */ #endif #ifndef __ID2D1BitmapRenderTarget_FWD_DEFINED__ #define __ID2D1BitmapRenderTarget_FWD_DEFINED__ typedef interface ID2D1BitmapRenderTarget ID2D1BitmapRenderTarget; #ifdef __cplusplus interface ID2D1BitmapRenderTarget; #endif /* __cplusplus */ #endif #ifndef __ID2D1Geometry_FWD_DEFINED__ #define __ID2D1Geometry_FWD_DEFINED__ typedef interface ID2D1Geometry ID2D1Geometry; #ifdef __cplusplus interface ID2D1Geometry; #endif /* __cplusplus */ #endif #ifndef __ID2D1Brush_FWD_DEFINED__ #define __ID2D1Brush_FWD_DEFINED__ typedef interface ID2D1Brush ID2D1Brush; #ifdef __cplusplus interface ID2D1Brush; #endif /* __cplusplus */ #endif #ifndef __IDWriteRenderingParams_FWD_DEFINED__ #define __IDWriteRenderingParams_FWD_DEFINED__ typedef interface IDWriteRenderingParams IDWriteRenderingParams; #ifdef __cplusplus interface IDWriteRenderingParams; #endif /* __cplusplus */ #endif #ifndef __IDWriteTextFormat_FWD_DEFINED__ #define __IDWriteTextFormat_FWD_DEFINED__ typedef interface IDWriteTextFormat IDWriteTextFormat; #ifdef __cplusplus interface IDWriteTextFormat; #endif /* __cplusplus */ #endif #ifndef __IDWriteTextLayout_FWD_DEFINED__ #define __IDWriteTextLayout_FWD_DEFINED__ typedef interface IDWriteTextLayout IDWriteTextLayout; #ifdef __cplusplus interface IDWriteTextLayout; #endif /* __cplusplus */ #endif #ifndef __IWICBitmapSource_FWD_DEFINED__ #define __IWICBitmapSource_FWD_DEFINED__ typedef interface IWICBitmapSource IWICBitmapSource; #ifdef __cplusplus interface IWICBitmapSource; #endif /* __cplusplus */ #endif #ifndef __IWICBitmap_FWD_DEFINED__ #define __IWICBitmap_FWD_DEFINED__ typedef interface IWICBitmap IWICBitmap; #ifdef __cplusplus interface IWICBitmap; #endif /* __cplusplus */ #endif #ifndef __dwrite_h__ typedef struct DWRITE_GLYPH_RUN DWRITE_GLYPH_RUN; #endif /* __dwrite_h__ */ typedef D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F; typedef D2D_RECT_F D2D1_RECT_F; typedef D2D_SIZE_F D2D1_SIZE_F; typedef UINT64 D2D1_TAG; typedef D2D_POINT_2U D2D1_POINT_2U; typedef D2D_RECT_U D2D1_RECT_U; typedef D2D_COLOR_F D2D1_COLOR_F; #define D2D1_DEFAULT_FLATTENING_TOLERANCE (0.25f) enum { D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR = 0, D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR = 1, D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC = 2, D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR = 3, D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC = 4, D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC = 5, D2D1_INTERPOLATION_MODE_DEFINITION_FANT = 6, D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR = 7 }; typedef enum D2D1_DEBUG_LEVEL { D2D1_DEBUG_LEVEL_NONE = 0, D2D1_DEBUG_LEVEL_ERROR = 1, D2D1_DEBUG_LEVEL_WARNING = 2, D2D1_DEBUG_LEVEL_INFORMATION = 3, D2D1_DEBUG_LEVEL_FORCE_DWORD = 0xffffffff } D2D1_DEBUG_LEVEL; typedef enum D2D1_FACTORY_TYPE { D2D1_FACTORY_TYPE_SINGLE_THREADED = 0, D2D1_FACTORY_TYPE_MULTI_THREADED = 1, D2D1_FACTORY_TYPE_FORCE_DWORD = 0xfffffff } D2D1_FACTORY_TYPE; typedef enum D2D1_FILL_MODE { D2D1_FILL_MODE_ALTERNATE = 0, D2D1_FILL_MODE_WINDING = 1, D2D1_FILL_MODE_FORCE_DWORD = 0xffffffff } D2D1_FILL_MODE; typedef enum D2D1_PATH_SEGMENT { D2D1_PATH_SEGMENT_NONE = 0, D2D1_PATH_SEGMENT_FORCE_UNSTROKED = 1, D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN = 2, D2D1_PATH_SEGMENT_FORCE_DWORD = 0xffffffff } D2D1_PATH_SEGMENT; typedef enum D2D1_FIGURE_BEGIN { D2D1_FIGURE_BEGIN_FILLED = 0, D2D1_FIGURE_BEGIN_HOLLOW = 1, D2D1_FIGURE_BEGIN_FORCE_DWORD = 0xffffffff } D2D1_FIGURE_BEGIN; typedef enum D2D1_FIGURE_END { D2D1_FIGURE_END_OPEN = 0, D2D1_FIGURE_END_CLOSED = 1, D2D1_FIGURE_END_FORCE_DWORD = 0xffffffff } D2D1_FIGURE_END; typedef enum D2D1_CAP_STYLE { D2D1_CAP_STYLE_FLAT = 0, D2D1_CAP_STYLE_SQUARE = 1, D2D1_CAP_STYLE_ROUND = 2, D2D1_CAP_STYLE_TRIANGLE = 3, D2D1_CAP_STYLE_FORCE_DWORD = 0xffffffff } D2D1_CAP_STYLE; typedef enum D2D1_LINE_JOIN { D2D1_LINE_JOIN_MITER = 0, D2D1_LINE_JOIN_BEVEL = 1, D2D1_LINE_JOIN_ROUND = 2, D2D1_LINE_JOIN_MITER_OR_BEVEL = 3, D2D1_LINE_JOIN_FORCE_DWORD = 0xffffffff } D2D1_LINE_JOIN; typedef enum D2D1_DASH_STYLE { D2D1_DASH_STYLE_SOLID = 0, D2D1_DASH_STYLE_DASH = 1, D2D1_DASH_STYLE_DOT = 2, D2D1_DASH_STYLE_DASH_DOT = 3, D2D1_DASH_STYLE_DASH_DOT_DOT = 4, D2D1_DASH_STYLE_CUSTOM = 5, D2D1_DASH_STYLE_FORCE_DWORD = 0xffffffff } D2D1_DASH_STYLE; typedef enum D2D1_GEOMETRY_RELATION { D2D1_GEOMETRY_RELATION_UNKNOWN = 0, D2D1_GEOMETRY_RELATION_DISJOINT = 1, D2D1_GEOMETRY_RELATION_IS_CONTAINED = 2, D2D1_GEOMETRY_RELATION_CONTAINS = 3, D2D1_GEOMETRY_RELATION_OVERLAP = 4, D2D1_GEOMETRY_RELATION_FORCE_DWORD = 0xffffffff } D2D1_GEOMETRY_RELATION; typedef enum D2D1_GEOMETRY_SIMPLIFICATION_OPTION { D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES = 0, D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES = 1, D2D1_GEOMETRY_SIMPLIFICATION_OPTION_FORCE_DWORD = 0xffffffff } D2D1_GEOMETRY_SIMPLIFICATION_OPTION; typedef enum D2D1_COMBINE_MODE { D2D1_COMBINE_MODE_UNION = 0, D2D1_COMBINE_MODE_INTERSECT = 1, D2D1_COMBINE_MODE_XOR = 2, D2D1_COMBINE_MODE_EXCLUDE = 3, D2D1_COMBINE_MODE_FORCE_DWORD = 0xffffffff } D2D1_COMBINE_MODE; typedef enum D2D1_SWEEP_DIRECTION { D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE = 0, D2D1_SWEEP_DIRECTION_CLOCKWISE = 1, D2D1_SWEEP_DIRECTION_FORCE_DWORD = 0xffffffff } D2D1_SWEEP_DIRECTION; typedef enum D2D1_ARC_SIZE { D2D1_ARC_SIZE_SMALL = 0, D2D1_ARC_SIZE_LARGE = 1, D2D1_ARC_SIZE_FORCE_DWORD = 0xffffffff } D2D1_ARC_SIZE; typedef enum D2D1_ANTIALIAS_MODE { D2D1_ANTIALIAS_MODE_PER_PRIMITIVE = 0, D2D1_ANTIALIAS_MODE_ALIASED = 1, D2D1_ANTIALIAS_MODE_FORCE_DWORD = 0xffffffff } D2D1_ANTIALIAS_MODE; typedef enum D2D1_TEXT_ANTIALIAS_MODE { D2D1_TEXT_ANTIALIAS_MODE_DEFAULT = 0, D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE = 1, D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE = 2, D2D1_TEXT_ANTIALIAS_MODE_ALIASED = 3, D2D1_TEXT_ANTIALIAS_MODE_FORCE_DWORD = 0xffffffff } D2D1_TEXT_ANTIALIAS_MODE; typedef enum D2D1_EXTEND_MODE { D2D1_EXTEND_MODE_CLAMP = 0, D2D1_EXTEND_MODE_WRAP = 1, D2D1_EXTEND_MODE_MIRROR = 2, D2D1_EXTEND_MODE_FORCE_DWORD = 0xffffffff } D2D1_EXTEND_MODE; typedef enum D2D1_BITMAP_INTERPOLATION_MODE { D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR, D2D1_BITMAP_INTERPOLATION_MODE_LINEAR = D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR, D2D1_BITMAP_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff } D2D1_BITMAP_INTERPOLATION_MODE; typedef enum D2D1_GAMMA { D2D1_GAMMA_2_2 = 0, D2D1_GAMMA_1_0 = 1, D2D1_GAMMA_FORCE_DWORD = 0xffffffff } D2D1_GAMMA; typedef enum D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS { D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE = 0x0, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE = 0x1, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_FORCE_DWORD = 0xffffffff } D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS; typedef enum D2D1_OPACITY_MASK_CONTENT { D2D1_OPACITY_MASK_CONTENT_GRAPHICS = 0, D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL = 1, D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE = 2, D2D1_OPACITY_MASK_CONTENT_FORCE_DWORD = 0xffffffff } D2D1_OPACITY_MASK_CONTENT; typedef enum D2D1_DRAW_TEXT_OPTIONS { D2D1_DRAW_TEXT_OPTIONS_NO_SNAP = 0x1, D2D1_DRAW_TEXT_OPTIONS_CLIP = 0x2, D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT = 0x4, D2D1_DRAW_TEXT_OPTIONS_DISABLE_COLOR_BITMAP_SNAPPING = 0x8, D2D1_DRAW_TEXT_OPTIONS_NONE = 0x0, D2D1_DRAW_TEXT_OPTIONS_FORCE_DWORD = 0xffffffff } D2D1_DRAW_TEXT_OPTIONS; typedef enum D2D1_LAYER_OPTIONS { D2D1_LAYER_OPTIONS_NONE = 0x0, D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x1, D2D1_LAYER_OPTIONS_FORCE_DWORD = 0xffffffff } D2D1_LAYER_OPTIONS; typedef enum D2D1_RENDER_TARGET_TYPE { D2D1_RENDER_TARGET_TYPE_DEFAULT = 0, D2D1_RENDER_TARGET_TYPE_SOFTWARE = 1, D2D1_RENDER_TARGET_TYPE_HARDWARE = 2, D2D1_RENDER_TARGET_TYPE_FORCE_DWORD = 0xffffffff } D2D1_RENDER_TARGET_TYPE; typedef enum D2D1_RENDER_TARGET_USAGE { D2D1_RENDER_TARGET_USAGE_NONE = 0x0, D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING = 0x1, D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE = 0x2, D2D1_RENDER_TARGET_USAGE_FORCE_DWORD = 0xffffffff } D2D1_RENDER_TARGET_USAGE; typedef enum D2D1_FEATURE_LEVEL { D2D1_FEATURE_LEVEL_DEFAULT = 0, D2D1_FEATURE_LEVEL_9 = D3D_FEATURE_LEVEL_9_1, D2D1_FEATURE_LEVEL_10 = D3D_FEATURE_LEVEL_10_0, D2D1_FEATURE_LEVEL_FORCE_DWORD = 0xffffffff } D2D1_FEATURE_LEVEL; typedef enum D2D1_WINDOW_STATE { D2D1_WINDOW_STATE_NONE = 0, D2D1_WINDOW_STATE_OCCLUDED = 1, D2D1_WINDOW_STATE_FORCE_DWORD = 0xffffffff } D2D1_WINDOW_STATE; typedef enum D2D1_DC_INITIALIZE_MODE { D2D1_DC_INITIALIZE_MODE_COPY = 0, D2D1_DC_INITIALIZE_MODE_CLEAR = 1, D2D1_DC_INITIALIZE_MODE_FORCE_DWORD = 0xffffffff } D2D1_DC_INITIALIZE_MODE; typedef enum D2D1_PRESENT_OPTIONS { D2D1_PRESENT_OPTIONS_NONE = 0x0, D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS = 0x1, D2D1_PRESENT_OPTIONS_IMMEDIATELY = 0x2, D2D1_PRESENT_OPTIONS_FORCE_DWORD = 0xffffffff } D2D1_PRESENT_OPTIONS; typedef struct D2D1_BEZIER_SEGMENT { D2D1_POINT_2F point1; D2D1_POINT_2F point2; D2D1_POINT_2F point3; } D2D1_BEZIER_SEGMENT; typedef struct D2D1_FACTORY_OPTIONS { D2D1_DEBUG_LEVEL debugLevel; } D2D1_FACTORY_OPTIONS; typedef struct D2D1_TRIANGLE { D2D1_POINT_2F point1; D2D1_POINT_2F point2; D2D1_POINT_2F point3; } D2D1_TRIANGLE; typedef struct D2D1_ROUNDED_RECT { D2D1_RECT_F rect; float radiusX; float radiusY; } D2D1_ROUNDED_RECT; typedef struct D2D1_ELLIPSE { D2D1_POINT_2F point; float radiusX; float radiusY; } D2D1_ELLIPSE; typedef struct D2D1_QUADRATIC_BEZIER_SEGMENT { D2D1_POINT_2F point1; D2D1_POINT_2F point2; } D2D1_QUADRATIC_BEZIER_SEGMENT; typedef struct D2D1_ARC_SEGMENT { D2D1_POINT_2F point; D2D1_SIZE_F size; float rotationAngle; D2D1_SWEEP_DIRECTION sweepDirection; D2D1_ARC_SIZE arcSize; } D2D1_ARC_SEGMENT; typedef struct D2D1_DRAWING_STATE_DESCRIPTION { D2D1_ANTIALIAS_MODE antialiasMode; D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode; D2D1_TAG tag1; D2D1_TAG tag2; D2D1_MATRIX_3X2_F transform; } D2D1_DRAWING_STATE_DESCRIPTION; typedef struct D2D1_GRADIENT_STOP { float position; D2D1_COLOR_F color; } D2D1_GRADIENT_STOP; typedef struct D2D1_BITMAP_PROPERTIES { D2D1_PIXEL_FORMAT pixelFormat; float dpiX; float dpiY; } D2D1_BITMAP_PROPERTIES; typedef struct D2D1_BITMAP_BRUSH_PROPERTIES { D2D1_EXTEND_MODE extendModeX; D2D1_EXTEND_MODE extendModeY; D2D1_BITMAP_INTERPOLATION_MODE interpolationMode; } D2D1_BITMAP_BRUSH_PROPERTIES; typedef struct D2D1_BRUSH_PROPERTIES { float opacity; D2D1_MATRIX_3X2_F transform; } D2D1_BRUSH_PROPERTIES; typedef struct D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES { D2D1_POINT_2F startPoint; D2D1_POINT_2F endPoint; } D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES; typedef struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES { D2D1_POINT_2F center; D2D1_POINT_2F gradientOriginOffset; float radiusX; float radiusY; } D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES; typedef struct D2D1_LAYER_PARAMETERS { D2D1_RECT_F contentBounds; ID2D1Geometry *geometricMask; D2D1_ANTIALIAS_MODE maskAntialiasMode; D2D1_MATRIX_3X2_F maskTransform; float opacity; ID2D1Brush *opacityBrush; D2D1_LAYER_OPTIONS layerOptions; } D2D1_LAYER_PARAMETERS; typedef struct D2D1_RENDER_TARGET_PROPERTIES { D2D1_RENDER_TARGET_TYPE type; D2D1_PIXEL_FORMAT pixelFormat; float dpiX; float dpiY; D2D1_RENDER_TARGET_USAGE usage; D2D1_FEATURE_LEVEL minLevel; } D2D1_RENDER_TARGET_PROPERTIES; typedef struct D2D1_STROKE_STYLE_PROPERTIES { D2D1_CAP_STYLE startCap; D2D1_CAP_STYLE endCap; D2D1_CAP_STYLE dashCap; D2D1_LINE_JOIN lineJoin; float miterLimit; D2D1_DASH_STYLE dashStyle; float dashOffset; } D2D1_STROKE_STYLE_PROPERTIES; typedef struct D2D1_HWND_RENDER_TARGET_PROPERTIES { HWND hwnd; D2D1_SIZE_U pixelSize; D2D1_PRESENT_OPTIONS presentOptions; } D2D1_HWND_RENDER_TARGET_PROPERTIES; /***************************************************************************** * ID2D1Resource interface */ #ifndef __ID2D1Resource_INTERFACE_DEFINED__ #define __ID2D1Resource_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Resource, 0x2cd90691, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd90691-12e2-11dc-9fed-001143a055f9") ID2D1Resource : public IUnknown { virtual void STDMETHODCALLTYPE GetFactory( ID2D1Factory **factory) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Resource, 0x2cd90691, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1ResourceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Resource *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Resource *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Resource *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Resource *This, ID2D1Factory **factory); END_INTERFACE } ID2D1ResourceVtbl; interface ID2D1Resource { CONST_VTBL ID2D1ResourceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Resource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Resource_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Resource_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Resource_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Resource_QueryInterface(ID2D1Resource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Resource_AddRef(ID2D1Resource* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Resource_Release(ID2D1Resource* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Resource_GetFactory(ID2D1Resource* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } #endif #endif #endif #endif /* __ID2D1Resource_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1StrokeStyle interface */ #ifndef __ID2D1StrokeStyle_INTERFACE_DEFINED__ #define __ID2D1StrokeStyle_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1StrokeStyle, 0x2cd9069d, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd9069d-12e2-11dc-9fed-001143a055f9") ID2D1StrokeStyle : public ID2D1Resource { virtual D2D1_CAP_STYLE STDMETHODCALLTYPE GetStartCap( ) = 0; virtual D2D1_CAP_STYLE STDMETHODCALLTYPE GetEndCap( ) = 0; virtual D2D1_CAP_STYLE STDMETHODCALLTYPE GetDashCap( ) = 0; virtual float STDMETHODCALLTYPE GetMiterLimit( ) = 0; virtual D2D1_LINE_JOIN STDMETHODCALLTYPE GetLineJoin( ) = 0; virtual float STDMETHODCALLTYPE GetDashOffset( ) = 0; virtual D2D1_DASH_STYLE STDMETHODCALLTYPE GetDashStyle( ) = 0; virtual UINT32 STDMETHODCALLTYPE GetDashesCount( ) = 0; virtual void STDMETHODCALLTYPE GetDashes( float *dashes, UINT32 count) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1StrokeStyle, 0x2cd9069d, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1StrokeStyleVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1StrokeStyle *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1StrokeStyle *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1StrokeStyle *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1StrokeStyle *This, ID2D1Factory **factory); /*** ID2D1StrokeStyle methods ***/ D2D1_CAP_STYLE (STDMETHODCALLTYPE *GetStartCap)( ID2D1StrokeStyle *This); D2D1_CAP_STYLE (STDMETHODCALLTYPE *GetEndCap)( ID2D1StrokeStyle *This); D2D1_CAP_STYLE (STDMETHODCALLTYPE *GetDashCap)( ID2D1StrokeStyle *This); float (STDMETHODCALLTYPE *GetMiterLimit)( ID2D1StrokeStyle *This); D2D1_LINE_JOIN (STDMETHODCALLTYPE *GetLineJoin)( ID2D1StrokeStyle *This); float (STDMETHODCALLTYPE *GetDashOffset)( ID2D1StrokeStyle *This); D2D1_DASH_STYLE (STDMETHODCALLTYPE *GetDashStyle)( ID2D1StrokeStyle *This); UINT32 (STDMETHODCALLTYPE *GetDashesCount)( ID2D1StrokeStyle *This); void (STDMETHODCALLTYPE *GetDashes)( ID2D1StrokeStyle *This, float *dashes, UINT32 count); END_INTERFACE } ID2D1StrokeStyleVtbl; interface ID2D1StrokeStyle { CONST_VTBL ID2D1StrokeStyleVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1StrokeStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1StrokeStyle_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1StrokeStyle_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1StrokeStyle_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1StrokeStyle methods ***/ #define ID2D1StrokeStyle_GetStartCap(This) (This)->lpVtbl->GetStartCap(This) #define ID2D1StrokeStyle_GetEndCap(This) (This)->lpVtbl->GetEndCap(This) #define ID2D1StrokeStyle_GetDashCap(This) (This)->lpVtbl->GetDashCap(This) #define ID2D1StrokeStyle_GetMiterLimit(This) (This)->lpVtbl->GetMiterLimit(This) #define ID2D1StrokeStyle_GetLineJoin(This) (This)->lpVtbl->GetLineJoin(This) #define ID2D1StrokeStyle_GetDashOffset(This) (This)->lpVtbl->GetDashOffset(This) #define ID2D1StrokeStyle_GetDashStyle(This) (This)->lpVtbl->GetDashStyle(This) #define ID2D1StrokeStyle_GetDashesCount(This) (This)->lpVtbl->GetDashesCount(This) #define ID2D1StrokeStyle_GetDashes(This,dashes,count) (This)->lpVtbl->GetDashes(This,dashes,count) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1StrokeStyle_QueryInterface(ID2D1StrokeStyle* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1StrokeStyle_AddRef(ID2D1StrokeStyle* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1StrokeStyle_Release(ID2D1StrokeStyle* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1StrokeStyle_GetFactory(ID2D1StrokeStyle* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1StrokeStyle methods ***/ static inline D2D1_CAP_STYLE ID2D1StrokeStyle_GetStartCap(ID2D1StrokeStyle* This) { return This->lpVtbl->GetStartCap(This); } static inline D2D1_CAP_STYLE ID2D1StrokeStyle_GetEndCap(ID2D1StrokeStyle* This) { return This->lpVtbl->GetEndCap(This); } static inline D2D1_CAP_STYLE ID2D1StrokeStyle_GetDashCap(ID2D1StrokeStyle* This) { return This->lpVtbl->GetDashCap(This); } static inline float ID2D1StrokeStyle_GetMiterLimit(ID2D1StrokeStyle* This) { return This->lpVtbl->GetMiterLimit(This); } static inline D2D1_LINE_JOIN ID2D1StrokeStyle_GetLineJoin(ID2D1StrokeStyle* This) { return This->lpVtbl->GetLineJoin(This); } static inline float ID2D1StrokeStyle_GetDashOffset(ID2D1StrokeStyle* This) { return This->lpVtbl->GetDashOffset(This); } static inline D2D1_DASH_STYLE ID2D1StrokeStyle_GetDashStyle(ID2D1StrokeStyle* This) { return This->lpVtbl->GetDashStyle(This); } static inline UINT32 ID2D1StrokeStyle_GetDashesCount(ID2D1StrokeStyle* This) { return This->lpVtbl->GetDashesCount(This); } static inline void ID2D1StrokeStyle_GetDashes(ID2D1StrokeStyle* This,float *dashes,UINT32 count) { This->lpVtbl->GetDashes(This,dashes,count); } #endif #endif #endif #endif /* __ID2D1StrokeStyle_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1SimplifiedGeometrySink interface */ #ifndef __ID2D1SimplifiedGeometrySink_INTERFACE_DEFINED__ #define __ID2D1SimplifiedGeometrySink_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1SimplifiedGeometrySink, 0x2cd9069e, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd9069e-12e2-11dc-9fed-001143a055f9") ID2D1SimplifiedGeometrySink : public IUnknown { virtual void STDMETHODCALLTYPE SetFillMode( D2D1_FILL_MODE mode) = 0; virtual void STDMETHODCALLTYPE SetSegmentFlags( D2D1_PATH_SEGMENT vertexFlags) = 0; virtual void STDMETHODCALLTYPE BeginFigure( D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin) = 0; virtual void STDMETHODCALLTYPE AddLines( const D2D1_POINT_2F *points, UINT32 count) = 0; virtual void STDMETHODCALLTYPE AddBeziers( const D2D1_BEZIER_SEGMENT *beziers, UINT32 count) = 0; virtual void STDMETHODCALLTYPE EndFigure( D2D1_FIGURE_END figureEnd) = 0; virtual HRESULT STDMETHODCALLTYPE Close( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1SimplifiedGeometrySink, 0x2cd9069e, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1SimplifiedGeometrySinkVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1SimplifiedGeometrySink *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1SimplifiedGeometrySink *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1SimplifiedGeometrySink *This); /*** ID2D1SimplifiedGeometrySink methods ***/ void (STDMETHODCALLTYPE *SetFillMode)( ID2D1SimplifiedGeometrySink *This, D2D1_FILL_MODE mode); void (STDMETHODCALLTYPE *SetSegmentFlags)( ID2D1SimplifiedGeometrySink *This, D2D1_PATH_SEGMENT vertexFlags); void (STDMETHODCALLTYPE *BeginFigure)( ID2D1SimplifiedGeometrySink *This, D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin); void (STDMETHODCALLTYPE *AddLines)( ID2D1SimplifiedGeometrySink *This, const D2D1_POINT_2F *points, UINT32 count); void (STDMETHODCALLTYPE *AddBeziers)( ID2D1SimplifiedGeometrySink *This, const D2D1_BEZIER_SEGMENT *beziers, UINT32 count); void (STDMETHODCALLTYPE *EndFigure)( ID2D1SimplifiedGeometrySink *This, D2D1_FIGURE_END figureEnd); HRESULT (STDMETHODCALLTYPE *Close)( ID2D1SimplifiedGeometrySink *This); END_INTERFACE } ID2D1SimplifiedGeometrySinkVtbl; interface ID2D1SimplifiedGeometrySink { CONST_VTBL ID2D1SimplifiedGeometrySinkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1SimplifiedGeometrySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1SimplifiedGeometrySink_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1SimplifiedGeometrySink_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1SimplifiedGeometrySink methods ***/ #define ID2D1SimplifiedGeometrySink_SetFillMode(This,mode) (This)->lpVtbl->SetFillMode(This,mode) #define ID2D1SimplifiedGeometrySink_SetSegmentFlags(This,vertexFlags) (This)->lpVtbl->SetSegmentFlags(This,vertexFlags) #define ID2D1SimplifiedGeometrySink_BeginFigure(This,startPoint,figureBegin) (This)->lpVtbl->BeginFigure(This,startPoint,figureBegin) #define ID2D1SimplifiedGeometrySink_AddLines(This,points,count) (This)->lpVtbl->AddLines(This,points,count) #define ID2D1SimplifiedGeometrySink_AddBeziers(This,beziers,count) (This)->lpVtbl->AddBeziers(This,beziers,count) #define ID2D1SimplifiedGeometrySink_EndFigure(This,figureEnd) (This)->lpVtbl->EndFigure(This,figureEnd) #define ID2D1SimplifiedGeometrySink_Close(This) (This)->lpVtbl->Close(This) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1SimplifiedGeometrySink_QueryInterface(ID2D1SimplifiedGeometrySink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1SimplifiedGeometrySink_AddRef(ID2D1SimplifiedGeometrySink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1SimplifiedGeometrySink_Release(ID2D1SimplifiedGeometrySink* This) { return This->lpVtbl->Release(This); } /*** ID2D1SimplifiedGeometrySink methods ***/ static inline void ID2D1SimplifiedGeometrySink_SetFillMode(ID2D1SimplifiedGeometrySink* This,D2D1_FILL_MODE mode) { This->lpVtbl->SetFillMode(This,mode); } static inline void ID2D1SimplifiedGeometrySink_SetSegmentFlags(ID2D1SimplifiedGeometrySink* This,D2D1_PATH_SEGMENT vertexFlags) { This->lpVtbl->SetSegmentFlags(This,vertexFlags); } static inline void ID2D1SimplifiedGeometrySink_BeginFigure(ID2D1SimplifiedGeometrySink* This,D2D1_POINT_2F startPoint,D2D1_FIGURE_BEGIN figureBegin) { This->lpVtbl->BeginFigure(This,startPoint,figureBegin); } static inline void ID2D1SimplifiedGeometrySink_AddLines(ID2D1SimplifiedGeometrySink* This,const D2D1_POINT_2F *points,UINT32 count) { This->lpVtbl->AddLines(This,points,count); } static inline void ID2D1SimplifiedGeometrySink_AddBeziers(ID2D1SimplifiedGeometrySink* This,const D2D1_BEZIER_SEGMENT *beziers,UINT32 count) { This->lpVtbl->AddBeziers(This,beziers,count); } static inline void ID2D1SimplifiedGeometrySink_EndFigure(ID2D1SimplifiedGeometrySink* This,D2D1_FIGURE_END figureEnd) { This->lpVtbl->EndFigure(This,figureEnd); } static inline HRESULT ID2D1SimplifiedGeometrySink_Close(ID2D1SimplifiedGeometrySink* This) { return This->lpVtbl->Close(This); } #endif #endif #endif #endif /* __ID2D1SimplifiedGeometrySink_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1TessellationSink interface */ #ifndef __ID2D1TessellationSink_INTERFACE_DEFINED__ #define __ID2D1TessellationSink_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1TessellationSink, 0x2cd906c1, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906c1-12e2-11dc-9fed-001143a055f9") ID2D1TessellationSink : public IUnknown { virtual void STDMETHODCALLTYPE AddTriangles( const D2D1_TRIANGLE *triangles, UINT32 count) = 0; virtual HRESULT STDMETHODCALLTYPE Close( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1TessellationSink, 0x2cd906c1, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1TessellationSinkVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1TessellationSink *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1TessellationSink *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1TessellationSink *This); /*** ID2D1TessellationSink methods ***/ void (STDMETHODCALLTYPE *AddTriangles)( ID2D1TessellationSink *This, const D2D1_TRIANGLE *triangles, UINT32 count); HRESULT (STDMETHODCALLTYPE *Close)( ID2D1TessellationSink *This); END_INTERFACE } ID2D1TessellationSinkVtbl; interface ID2D1TessellationSink { CONST_VTBL ID2D1TessellationSinkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1TessellationSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1TessellationSink_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1TessellationSink_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1TessellationSink methods ***/ #define ID2D1TessellationSink_AddTriangles(This,triangles,count) (This)->lpVtbl->AddTriangles(This,triangles,count) #define ID2D1TessellationSink_Close(This) (This)->lpVtbl->Close(This) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1TessellationSink_QueryInterface(ID2D1TessellationSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1TessellationSink_AddRef(ID2D1TessellationSink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1TessellationSink_Release(ID2D1TessellationSink* This) { return This->lpVtbl->Release(This); } /*** ID2D1TessellationSink methods ***/ static inline void ID2D1TessellationSink_AddTriangles(ID2D1TessellationSink* This,const D2D1_TRIANGLE *triangles,UINT32 count) { This->lpVtbl->AddTriangles(This,triangles,count); } static inline HRESULT ID2D1TessellationSink_Close(ID2D1TessellationSink* This) { return This->lpVtbl->Close(This); } #endif #endif #endif #endif /* __ID2D1TessellationSink_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Geometry interface */ #ifndef __ID2D1Geometry_INTERFACE_DEFINED__ #define __ID2D1Geometry_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Geometry, 0x2cd906a1, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a1-12e2-11dc-9fed-001143a055f9") ID2D1Geometry : public ID2D1Resource { virtual HRESULT STDMETHODCALLTYPE GetBounds( const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds) = 0; virtual HRESULT STDMETHODCALLTYPE GetWidenedBounds( float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_RECT_F *bounds) = 0; virtual HRESULT STDMETHODCALLTYPE StrokeContainsPoint( D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains) = 0; virtual HRESULT STDMETHODCALLTYPE FillContainsPoint( D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains) = 0; virtual HRESULT STDMETHODCALLTYPE CompareWithGeometry( ID2D1Geometry *geometry, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_GEOMETRY_RELATION *relation) = 0; virtual HRESULT STDMETHODCALLTYPE Simplify( D2D1_GEOMETRY_SIMPLIFICATION_OPTION option, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink) = 0; virtual HRESULT STDMETHODCALLTYPE Tessellate( const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1TessellationSink *sink) = 0; virtual HRESULT STDMETHODCALLTYPE CombineWithGeometry( ID2D1Geometry *geometry, D2D1_COMBINE_MODE combine_mode, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink) = 0; virtual HRESULT STDMETHODCALLTYPE Outline( const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink) = 0; virtual HRESULT STDMETHODCALLTYPE ComputeArea( const D2D1_MATRIX_3X2_F *transform, float tolerance, float *area) = 0; virtual HRESULT STDMETHODCALLTYPE ComputeLength( const D2D1_MATRIX_3X2_F *transform, float tolerance, float *length) = 0; virtual HRESULT STDMETHODCALLTYPE ComputePointAtLength( float length, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *tangent) = 0; virtual HRESULT STDMETHODCALLTYPE Widen( float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Geometry, 0x2cd906a1, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1GeometryVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Geometry *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Geometry *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Geometry *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Geometry *This, ID2D1Factory **factory); /*** ID2D1Geometry methods ***/ HRESULT (STDMETHODCALLTYPE *GetBounds)( ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *GetWidenedBounds)( ID2D1Geometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *StrokeContainsPoint)( ID2D1Geometry *This, D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *FillContainsPoint)( ID2D1Geometry *This, D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *CompareWithGeometry)( ID2D1Geometry *This, ID2D1Geometry *geometry, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_GEOMETRY_RELATION *relation); HRESULT (STDMETHODCALLTYPE *Simplify)( ID2D1Geometry *This, D2D1_GEOMETRY_SIMPLIFICATION_OPTION option, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Tessellate)( ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1TessellationSink *sink); HRESULT (STDMETHODCALLTYPE *CombineWithGeometry)( ID2D1Geometry *This, ID2D1Geometry *geometry, D2D1_COMBINE_MODE combine_mode, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Outline)( ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *ComputeArea)( ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *area); HRESULT (STDMETHODCALLTYPE *ComputeLength)( ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *length); HRESULT (STDMETHODCALLTYPE *ComputePointAtLength)( ID2D1Geometry *This, float length, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *tangent); HRESULT (STDMETHODCALLTYPE *Widen)( ID2D1Geometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); END_INTERFACE } ID2D1GeometryVtbl; interface ID2D1Geometry { CONST_VTBL ID2D1GeometryVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Geometry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Geometry_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Geometry_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Geometry_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Geometry methods ***/ #define ID2D1Geometry_GetBounds(This,transform,bounds) (This)->lpVtbl->GetBounds(This,transform,bounds) #define ID2D1Geometry_GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) (This)->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) #define ID2D1Geometry_StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) (This)->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) #define ID2D1Geometry_FillContainsPoint(This,point,transform,tolerance,contains) (This)->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains) #define ID2D1Geometry_CompareWithGeometry(This,geometry,transform,tolerance,relation) (This)->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation) #define ID2D1Geometry_Simplify(This,option,transform,tolerance,sink) (This)->lpVtbl->Simplify(This,option,transform,tolerance,sink) #define ID2D1Geometry_Tessellate(This,transform,tolerance,sink) (This)->lpVtbl->Tessellate(This,transform,tolerance,sink) #define ID2D1Geometry_CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) (This)->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) #define ID2D1Geometry_Outline(This,transform,tolerance,sink) (This)->lpVtbl->Outline(This,transform,tolerance,sink) #define ID2D1Geometry_ComputeArea(This,transform,tolerance,area) (This)->lpVtbl->ComputeArea(This,transform,tolerance,area) #define ID2D1Geometry_ComputeLength(This,transform,tolerance,length) (This)->lpVtbl->ComputeLength(This,transform,tolerance,length) #define ID2D1Geometry_ComputePointAtLength(This,length,transform,tolerance,point,tangent) (This)->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent) #define ID2D1Geometry_Widen(This,stroke_width,stroke_style,transform,tolerance,sink) (This)->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Geometry_QueryInterface(ID2D1Geometry* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Geometry_AddRef(ID2D1Geometry* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Geometry_Release(ID2D1Geometry* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Geometry_GetFactory(ID2D1Geometry* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Geometry methods ***/ static inline HRESULT ID2D1Geometry_GetBounds(ID2D1Geometry* This,const D2D1_MATRIX_3X2_F *transform,D2D1_RECT_F *bounds) { return This->lpVtbl->GetBounds(This,transform,bounds); } static inline HRESULT ID2D1Geometry_GetWidenedBounds(ID2D1Geometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_RECT_F *bounds) { return This->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds); } static inline HRESULT ID2D1Geometry_StrokeContainsPoint(ID2D1Geometry* This,D2D1_POINT_2F point,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains); } static inline HRESULT ID2D1Geometry_FillContainsPoint(ID2D1Geometry* This,D2D1_POINT_2F point,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains); } static inline HRESULT ID2D1Geometry_CompareWithGeometry(ID2D1Geometry* This,ID2D1Geometry *geometry,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_GEOMETRY_RELATION *relation) { return This->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation); } static inline HRESULT ID2D1Geometry_Simplify(ID2D1Geometry* This,D2D1_GEOMETRY_SIMPLIFICATION_OPTION option,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Simplify(This,option,transform,tolerance,sink); } static inline HRESULT ID2D1Geometry_Tessellate(ID2D1Geometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1TessellationSink *sink) { return This->lpVtbl->Tessellate(This,transform,tolerance,sink); } static inline HRESULT ID2D1Geometry_CombineWithGeometry(ID2D1Geometry* This,ID2D1Geometry *geometry,D2D1_COMBINE_MODE combine_mode,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink); } static inline HRESULT ID2D1Geometry_Outline(ID2D1Geometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Outline(This,transform,tolerance,sink); } static inline HRESULT ID2D1Geometry_ComputeArea(ID2D1Geometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *area) { return This->lpVtbl->ComputeArea(This,transform,tolerance,area); } static inline HRESULT ID2D1Geometry_ComputeLength(ID2D1Geometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *length) { return This->lpVtbl->ComputeLength(This,transform,tolerance,length); } static inline HRESULT ID2D1Geometry_ComputePointAtLength(ID2D1Geometry* This,float length,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_POINT_2F *point,D2D1_POINT_2F *tangent) { return This->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent); } static inline HRESULT ID2D1Geometry_Widen(ID2D1Geometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink); } #endif #endif #endif #endif /* __ID2D1Geometry_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1RectangleGeometry interface */ #ifndef __ID2D1RectangleGeometry_INTERFACE_DEFINED__ #define __ID2D1RectangleGeometry_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1RectangleGeometry, 0x2cd906a2, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a2-12e2-11dc-9fed-001143a055f9") ID2D1RectangleGeometry : public ID2D1Geometry { virtual void STDMETHODCALLTYPE GetRect( D2D1_RECT_F *rect) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1RectangleGeometry, 0x2cd906a2, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1RectangleGeometryVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1RectangleGeometry *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1RectangleGeometry *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1RectangleGeometry *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1RectangleGeometry *This, ID2D1Factory **factory); /*** ID2D1Geometry methods ***/ HRESULT (STDMETHODCALLTYPE *GetBounds)( ID2D1RectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *GetWidenedBounds)( ID2D1RectangleGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *StrokeContainsPoint)( ID2D1RectangleGeometry *This, D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *FillContainsPoint)( ID2D1RectangleGeometry *This, D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *CompareWithGeometry)( ID2D1RectangleGeometry *This, ID2D1Geometry *geometry, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_GEOMETRY_RELATION *relation); HRESULT (STDMETHODCALLTYPE *Simplify)( ID2D1RectangleGeometry *This, D2D1_GEOMETRY_SIMPLIFICATION_OPTION option, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Tessellate)( ID2D1RectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1TessellationSink *sink); HRESULT (STDMETHODCALLTYPE *CombineWithGeometry)( ID2D1RectangleGeometry *This, ID2D1Geometry *geometry, D2D1_COMBINE_MODE combine_mode, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Outline)( ID2D1RectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *ComputeArea)( ID2D1RectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *area); HRESULT (STDMETHODCALLTYPE *ComputeLength)( ID2D1RectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *length); HRESULT (STDMETHODCALLTYPE *ComputePointAtLength)( ID2D1RectangleGeometry *This, float length, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *tangent); HRESULT (STDMETHODCALLTYPE *Widen)( ID2D1RectangleGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); /*** ID2D1RectangleGeometry methods ***/ void (STDMETHODCALLTYPE *GetRect)( ID2D1RectangleGeometry *This, D2D1_RECT_F *rect); END_INTERFACE } ID2D1RectangleGeometryVtbl; interface ID2D1RectangleGeometry { CONST_VTBL ID2D1RectangleGeometryVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1RectangleGeometry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1RectangleGeometry_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1RectangleGeometry_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1RectangleGeometry_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Geometry methods ***/ #define ID2D1RectangleGeometry_GetBounds(This,transform,bounds) (This)->lpVtbl->GetBounds(This,transform,bounds) #define ID2D1RectangleGeometry_GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) (This)->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) #define ID2D1RectangleGeometry_StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) (This)->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) #define ID2D1RectangleGeometry_FillContainsPoint(This,point,transform,tolerance,contains) (This)->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains) #define ID2D1RectangleGeometry_CompareWithGeometry(This,geometry,transform,tolerance,relation) (This)->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation) #define ID2D1RectangleGeometry_Simplify(This,option,transform,tolerance,sink) (This)->lpVtbl->Simplify(This,option,transform,tolerance,sink) #define ID2D1RectangleGeometry_Tessellate(This,transform,tolerance,sink) (This)->lpVtbl->Tessellate(This,transform,tolerance,sink) #define ID2D1RectangleGeometry_CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) (This)->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) #define ID2D1RectangleGeometry_Outline(This,transform,tolerance,sink) (This)->lpVtbl->Outline(This,transform,tolerance,sink) #define ID2D1RectangleGeometry_ComputeArea(This,transform,tolerance,area) (This)->lpVtbl->ComputeArea(This,transform,tolerance,area) #define ID2D1RectangleGeometry_ComputeLength(This,transform,tolerance,length) (This)->lpVtbl->ComputeLength(This,transform,tolerance,length) #define ID2D1RectangleGeometry_ComputePointAtLength(This,length,transform,tolerance,point,tangent) (This)->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent) #define ID2D1RectangleGeometry_Widen(This,stroke_width,stroke_style,transform,tolerance,sink) (This)->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink) /*** ID2D1RectangleGeometry methods ***/ #define ID2D1RectangleGeometry_GetRect(This,rect) (This)->lpVtbl->GetRect(This,rect) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1RectangleGeometry_QueryInterface(ID2D1RectangleGeometry* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1RectangleGeometry_AddRef(ID2D1RectangleGeometry* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1RectangleGeometry_Release(ID2D1RectangleGeometry* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1RectangleGeometry_GetFactory(ID2D1RectangleGeometry* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Geometry methods ***/ static inline HRESULT ID2D1RectangleGeometry_GetBounds(ID2D1RectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,D2D1_RECT_F *bounds) { return This->lpVtbl->GetBounds(This,transform,bounds); } static inline HRESULT ID2D1RectangleGeometry_GetWidenedBounds(ID2D1RectangleGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_RECT_F *bounds) { return This->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds); } static inline HRESULT ID2D1RectangleGeometry_StrokeContainsPoint(ID2D1RectangleGeometry* This,D2D1_POINT_2F point,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains); } static inline HRESULT ID2D1RectangleGeometry_FillContainsPoint(ID2D1RectangleGeometry* This,D2D1_POINT_2F point,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains); } static inline HRESULT ID2D1RectangleGeometry_CompareWithGeometry(ID2D1RectangleGeometry* This,ID2D1Geometry *geometry,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_GEOMETRY_RELATION *relation) { return This->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation); } static inline HRESULT ID2D1RectangleGeometry_Simplify(ID2D1RectangleGeometry* This,D2D1_GEOMETRY_SIMPLIFICATION_OPTION option,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Simplify(This,option,transform,tolerance,sink); } static inline HRESULT ID2D1RectangleGeometry_Tessellate(ID2D1RectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1TessellationSink *sink) { return This->lpVtbl->Tessellate(This,transform,tolerance,sink); } static inline HRESULT ID2D1RectangleGeometry_CombineWithGeometry(ID2D1RectangleGeometry* This,ID2D1Geometry *geometry,D2D1_COMBINE_MODE combine_mode,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink); } static inline HRESULT ID2D1RectangleGeometry_Outline(ID2D1RectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Outline(This,transform,tolerance,sink); } static inline HRESULT ID2D1RectangleGeometry_ComputeArea(ID2D1RectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *area) { return This->lpVtbl->ComputeArea(This,transform,tolerance,area); } static inline HRESULT ID2D1RectangleGeometry_ComputeLength(ID2D1RectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *length) { return This->lpVtbl->ComputeLength(This,transform,tolerance,length); } static inline HRESULT ID2D1RectangleGeometry_ComputePointAtLength(ID2D1RectangleGeometry* This,float length,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_POINT_2F *point,D2D1_POINT_2F *tangent) { return This->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent); } static inline HRESULT ID2D1RectangleGeometry_Widen(ID2D1RectangleGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink); } /*** ID2D1RectangleGeometry methods ***/ static inline void ID2D1RectangleGeometry_GetRect(ID2D1RectangleGeometry* This,D2D1_RECT_F *rect) { This->lpVtbl->GetRect(This,rect); } #endif #endif #endif #endif /* __ID2D1RectangleGeometry_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1RoundedRectangleGeometry interface */ #ifndef __ID2D1RoundedRectangleGeometry_INTERFACE_DEFINED__ #define __ID2D1RoundedRectangleGeometry_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1RoundedRectangleGeometry, 0x2cd906a3, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a3-12e2-11dc-9fed-001143a055f9") ID2D1RoundedRectangleGeometry : public ID2D1Geometry { virtual void STDMETHODCALLTYPE GetRoundedRect( D2D1_ROUNDED_RECT *rect) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1RoundedRectangleGeometry, 0x2cd906a3, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1RoundedRectangleGeometryVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1RoundedRectangleGeometry *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1RoundedRectangleGeometry *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1RoundedRectangleGeometry *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1RoundedRectangleGeometry *This, ID2D1Factory **factory); /*** ID2D1Geometry methods ***/ HRESULT (STDMETHODCALLTYPE *GetBounds)( ID2D1RoundedRectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *GetWidenedBounds)( ID2D1RoundedRectangleGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *StrokeContainsPoint)( ID2D1RoundedRectangleGeometry *This, D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *FillContainsPoint)( ID2D1RoundedRectangleGeometry *This, D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *CompareWithGeometry)( ID2D1RoundedRectangleGeometry *This, ID2D1Geometry *geometry, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_GEOMETRY_RELATION *relation); HRESULT (STDMETHODCALLTYPE *Simplify)( ID2D1RoundedRectangleGeometry *This, D2D1_GEOMETRY_SIMPLIFICATION_OPTION option, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Tessellate)( ID2D1RoundedRectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1TessellationSink *sink); HRESULT (STDMETHODCALLTYPE *CombineWithGeometry)( ID2D1RoundedRectangleGeometry *This, ID2D1Geometry *geometry, D2D1_COMBINE_MODE combine_mode, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Outline)( ID2D1RoundedRectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *ComputeArea)( ID2D1RoundedRectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *area); HRESULT (STDMETHODCALLTYPE *ComputeLength)( ID2D1RoundedRectangleGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *length); HRESULT (STDMETHODCALLTYPE *ComputePointAtLength)( ID2D1RoundedRectangleGeometry *This, float length, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *tangent); HRESULT (STDMETHODCALLTYPE *Widen)( ID2D1RoundedRectangleGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); /*** ID2D1RoundedRectangleGeometry methods ***/ void (STDMETHODCALLTYPE *GetRoundedRect)( ID2D1RoundedRectangleGeometry *This, D2D1_ROUNDED_RECT *rect); END_INTERFACE } ID2D1RoundedRectangleGeometryVtbl; interface ID2D1RoundedRectangleGeometry { CONST_VTBL ID2D1RoundedRectangleGeometryVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1RoundedRectangleGeometry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1RoundedRectangleGeometry_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1RoundedRectangleGeometry_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1RoundedRectangleGeometry_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Geometry methods ***/ #define ID2D1RoundedRectangleGeometry_GetBounds(This,transform,bounds) (This)->lpVtbl->GetBounds(This,transform,bounds) #define ID2D1RoundedRectangleGeometry_GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) (This)->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) #define ID2D1RoundedRectangleGeometry_StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) (This)->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) #define ID2D1RoundedRectangleGeometry_FillContainsPoint(This,point,transform,tolerance,contains) (This)->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains) #define ID2D1RoundedRectangleGeometry_CompareWithGeometry(This,geometry,transform,tolerance,relation) (This)->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation) #define ID2D1RoundedRectangleGeometry_Simplify(This,option,transform,tolerance,sink) (This)->lpVtbl->Simplify(This,option,transform,tolerance,sink) #define ID2D1RoundedRectangleGeometry_Tessellate(This,transform,tolerance,sink) (This)->lpVtbl->Tessellate(This,transform,tolerance,sink) #define ID2D1RoundedRectangleGeometry_CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) (This)->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) #define ID2D1RoundedRectangleGeometry_Outline(This,transform,tolerance,sink) (This)->lpVtbl->Outline(This,transform,tolerance,sink) #define ID2D1RoundedRectangleGeometry_ComputeArea(This,transform,tolerance,area) (This)->lpVtbl->ComputeArea(This,transform,tolerance,area) #define ID2D1RoundedRectangleGeometry_ComputeLength(This,transform,tolerance,length) (This)->lpVtbl->ComputeLength(This,transform,tolerance,length) #define ID2D1RoundedRectangleGeometry_ComputePointAtLength(This,length,transform,tolerance,point,tangent) (This)->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent) #define ID2D1RoundedRectangleGeometry_Widen(This,stroke_width,stroke_style,transform,tolerance,sink) (This)->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink) /*** ID2D1RoundedRectangleGeometry methods ***/ #define ID2D1RoundedRectangleGeometry_GetRoundedRect(This,rect) (This)->lpVtbl->GetRoundedRect(This,rect) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1RoundedRectangleGeometry_QueryInterface(ID2D1RoundedRectangleGeometry* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1RoundedRectangleGeometry_AddRef(ID2D1RoundedRectangleGeometry* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1RoundedRectangleGeometry_Release(ID2D1RoundedRectangleGeometry* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1RoundedRectangleGeometry_GetFactory(ID2D1RoundedRectangleGeometry* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Geometry methods ***/ static inline HRESULT ID2D1RoundedRectangleGeometry_GetBounds(ID2D1RoundedRectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,D2D1_RECT_F *bounds) { return This->lpVtbl->GetBounds(This,transform,bounds); } static inline HRESULT ID2D1RoundedRectangleGeometry_GetWidenedBounds(ID2D1RoundedRectangleGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_RECT_F *bounds) { return This->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds); } static inline HRESULT ID2D1RoundedRectangleGeometry_StrokeContainsPoint(ID2D1RoundedRectangleGeometry* This,D2D1_POINT_2F point,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains); } static inline HRESULT ID2D1RoundedRectangleGeometry_FillContainsPoint(ID2D1RoundedRectangleGeometry* This,D2D1_POINT_2F point,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains); } static inline HRESULT ID2D1RoundedRectangleGeometry_CompareWithGeometry(ID2D1RoundedRectangleGeometry* This,ID2D1Geometry *geometry,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_GEOMETRY_RELATION *relation) { return This->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation); } static inline HRESULT ID2D1RoundedRectangleGeometry_Simplify(ID2D1RoundedRectangleGeometry* This,D2D1_GEOMETRY_SIMPLIFICATION_OPTION option,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Simplify(This,option,transform,tolerance,sink); } static inline HRESULT ID2D1RoundedRectangleGeometry_Tessellate(ID2D1RoundedRectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1TessellationSink *sink) { return This->lpVtbl->Tessellate(This,transform,tolerance,sink); } static inline HRESULT ID2D1RoundedRectangleGeometry_CombineWithGeometry(ID2D1RoundedRectangleGeometry* This,ID2D1Geometry *geometry,D2D1_COMBINE_MODE combine_mode,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink); } static inline HRESULT ID2D1RoundedRectangleGeometry_Outline(ID2D1RoundedRectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Outline(This,transform,tolerance,sink); } static inline HRESULT ID2D1RoundedRectangleGeometry_ComputeArea(ID2D1RoundedRectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *area) { return This->lpVtbl->ComputeArea(This,transform,tolerance,area); } static inline HRESULT ID2D1RoundedRectangleGeometry_ComputeLength(ID2D1RoundedRectangleGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *length) { return This->lpVtbl->ComputeLength(This,transform,tolerance,length); } static inline HRESULT ID2D1RoundedRectangleGeometry_ComputePointAtLength(ID2D1RoundedRectangleGeometry* This,float length,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_POINT_2F *point,D2D1_POINT_2F *tangent) { return This->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent); } static inline HRESULT ID2D1RoundedRectangleGeometry_Widen(ID2D1RoundedRectangleGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink); } /*** ID2D1RoundedRectangleGeometry methods ***/ static inline void ID2D1RoundedRectangleGeometry_GetRoundedRect(ID2D1RoundedRectangleGeometry* This,D2D1_ROUNDED_RECT *rect) { This->lpVtbl->GetRoundedRect(This,rect); } #endif #endif #endif #endif /* __ID2D1RoundedRectangleGeometry_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1EllipseGeometry interface */ #ifndef __ID2D1EllipseGeometry_INTERFACE_DEFINED__ #define __ID2D1EllipseGeometry_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1EllipseGeometry, 0x2cd906a4, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a4-12e2-11dc-9fed-001143a055f9") ID2D1EllipseGeometry : public ID2D1Geometry { virtual void STDMETHODCALLTYPE GetEllipse( D2D1_ELLIPSE *ellipse) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1EllipseGeometry, 0x2cd906a4, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1EllipseGeometryVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1EllipseGeometry *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1EllipseGeometry *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1EllipseGeometry *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1EllipseGeometry *This, ID2D1Factory **factory); /*** ID2D1Geometry methods ***/ HRESULT (STDMETHODCALLTYPE *GetBounds)( ID2D1EllipseGeometry *This, const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *GetWidenedBounds)( ID2D1EllipseGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *StrokeContainsPoint)( ID2D1EllipseGeometry *This, D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *FillContainsPoint)( ID2D1EllipseGeometry *This, D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *CompareWithGeometry)( ID2D1EllipseGeometry *This, ID2D1Geometry *geometry, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_GEOMETRY_RELATION *relation); HRESULT (STDMETHODCALLTYPE *Simplify)( ID2D1EllipseGeometry *This, D2D1_GEOMETRY_SIMPLIFICATION_OPTION option, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Tessellate)( ID2D1EllipseGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1TessellationSink *sink); HRESULT (STDMETHODCALLTYPE *CombineWithGeometry)( ID2D1EllipseGeometry *This, ID2D1Geometry *geometry, D2D1_COMBINE_MODE combine_mode, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Outline)( ID2D1EllipseGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *ComputeArea)( ID2D1EllipseGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *area); HRESULT (STDMETHODCALLTYPE *ComputeLength)( ID2D1EllipseGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *length); HRESULT (STDMETHODCALLTYPE *ComputePointAtLength)( ID2D1EllipseGeometry *This, float length, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *tangent); HRESULT (STDMETHODCALLTYPE *Widen)( ID2D1EllipseGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); /*** ID2D1EllipseGeometry methods ***/ void (STDMETHODCALLTYPE *GetEllipse)( ID2D1EllipseGeometry *This, D2D1_ELLIPSE *ellipse); END_INTERFACE } ID2D1EllipseGeometryVtbl; interface ID2D1EllipseGeometry { CONST_VTBL ID2D1EllipseGeometryVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1EllipseGeometry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1EllipseGeometry_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1EllipseGeometry_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1EllipseGeometry_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Geometry methods ***/ #define ID2D1EllipseGeometry_GetBounds(This,transform,bounds) (This)->lpVtbl->GetBounds(This,transform,bounds) #define ID2D1EllipseGeometry_GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) (This)->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) #define ID2D1EllipseGeometry_StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) (This)->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) #define ID2D1EllipseGeometry_FillContainsPoint(This,point,transform,tolerance,contains) (This)->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains) #define ID2D1EllipseGeometry_CompareWithGeometry(This,geometry,transform,tolerance,relation) (This)->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation) #define ID2D1EllipseGeometry_Simplify(This,option,transform,tolerance,sink) (This)->lpVtbl->Simplify(This,option,transform,tolerance,sink) #define ID2D1EllipseGeometry_Tessellate(This,transform,tolerance,sink) (This)->lpVtbl->Tessellate(This,transform,tolerance,sink) #define ID2D1EllipseGeometry_CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) (This)->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) #define ID2D1EllipseGeometry_Outline(This,transform,tolerance,sink) (This)->lpVtbl->Outline(This,transform,tolerance,sink) #define ID2D1EllipseGeometry_ComputeArea(This,transform,tolerance,area) (This)->lpVtbl->ComputeArea(This,transform,tolerance,area) #define ID2D1EllipseGeometry_ComputeLength(This,transform,tolerance,length) (This)->lpVtbl->ComputeLength(This,transform,tolerance,length) #define ID2D1EllipseGeometry_ComputePointAtLength(This,length,transform,tolerance,point,tangent) (This)->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent) #define ID2D1EllipseGeometry_Widen(This,stroke_width,stroke_style,transform,tolerance,sink) (This)->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink) /*** ID2D1EllipseGeometry methods ***/ #define ID2D1EllipseGeometry_GetEllipse(This,ellipse) (This)->lpVtbl->GetEllipse(This,ellipse) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1EllipseGeometry_QueryInterface(ID2D1EllipseGeometry* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1EllipseGeometry_AddRef(ID2D1EllipseGeometry* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1EllipseGeometry_Release(ID2D1EllipseGeometry* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1EllipseGeometry_GetFactory(ID2D1EllipseGeometry* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Geometry methods ***/ static inline HRESULT ID2D1EllipseGeometry_GetBounds(ID2D1EllipseGeometry* This,const D2D1_MATRIX_3X2_F *transform,D2D1_RECT_F *bounds) { return This->lpVtbl->GetBounds(This,transform,bounds); } static inline HRESULT ID2D1EllipseGeometry_GetWidenedBounds(ID2D1EllipseGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_RECT_F *bounds) { return This->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds); } static inline HRESULT ID2D1EllipseGeometry_StrokeContainsPoint(ID2D1EllipseGeometry* This,D2D1_POINT_2F point,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains); } static inline HRESULT ID2D1EllipseGeometry_FillContainsPoint(ID2D1EllipseGeometry* This,D2D1_POINT_2F point,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains); } static inline HRESULT ID2D1EllipseGeometry_CompareWithGeometry(ID2D1EllipseGeometry* This,ID2D1Geometry *geometry,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_GEOMETRY_RELATION *relation) { return This->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation); } static inline HRESULT ID2D1EllipseGeometry_Simplify(ID2D1EllipseGeometry* This,D2D1_GEOMETRY_SIMPLIFICATION_OPTION option,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Simplify(This,option,transform,tolerance,sink); } static inline HRESULT ID2D1EllipseGeometry_Tessellate(ID2D1EllipseGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1TessellationSink *sink) { return This->lpVtbl->Tessellate(This,transform,tolerance,sink); } static inline HRESULT ID2D1EllipseGeometry_CombineWithGeometry(ID2D1EllipseGeometry* This,ID2D1Geometry *geometry,D2D1_COMBINE_MODE combine_mode,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink); } static inline HRESULT ID2D1EllipseGeometry_Outline(ID2D1EllipseGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Outline(This,transform,tolerance,sink); } static inline HRESULT ID2D1EllipseGeometry_ComputeArea(ID2D1EllipseGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *area) { return This->lpVtbl->ComputeArea(This,transform,tolerance,area); } static inline HRESULT ID2D1EllipseGeometry_ComputeLength(ID2D1EllipseGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *length) { return This->lpVtbl->ComputeLength(This,transform,tolerance,length); } static inline HRESULT ID2D1EllipseGeometry_ComputePointAtLength(ID2D1EllipseGeometry* This,float length,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_POINT_2F *point,D2D1_POINT_2F *tangent) { return This->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent); } static inline HRESULT ID2D1EllipseGeometry_Widen(ID2D1EllipseGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink); } /*** ID2D1EllipseGeometry methods ***/ static inline void ID2D1EllipseGeometry_GetEllipse(ID2D1EllipseGeometry* This,D2D1_ELLIPSE *ellipse) { This->lpVtbl->GetEllipse(This,ellipse); } #endif #endif #endif #endif /* __ID2D1EllipseGeometry_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1GeometryGroup interface */ #ifndef __ID2D1GeometryGroup_INTERFACE_DEFINED__ #define __ID2D1GeometryGroup_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1GeometryGroup, 0x2cd906a6, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a6-12e2-11dc-9fed-001143a055f9") ID2D1GeometryGroup : public ID2D1Geometry { virtual D2D1_FILL_MODE STDMETHODCALLTYPE GetFillMode( ) = 0; virtual UINT32 STDMETHODCALLTYPE GetSourceGeometryCount( ) = 0; virtual void STDMETHODCALLTYPE GetSourceGeometries( ID2D1Geometry **geometry, UINT32 geometry_count) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1GeometryGroup, 0x2cd906a6, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1GeometryGroupVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1GeometryGroup *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1GeometryGroup *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1GeometryGroup *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1GeometryGroup *This, ID2D1Factory **factory); /*** ID2D1Geometry methods ***/ HRESULT (STDMETHODCALLTYPE *GetBounds)( ID2D1GeometryGroup *This, const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *GetWidenedBounds)( ID2D1GeometryGroup *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *StrokeContainsPoint)( ID2D1GeometryGroup *This, D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *FillContainsPoint)( ID2D1GeometryGroup *This, D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *CompareWithGeometry)( ID2D1GeometryGroup *This, ID2D1Geometry *geometry, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_GEOMETRY_RELATION *relation); HRESULT (STDMETHODCALLTYPE *Simplify)( ID2D1GeometryGroup *This, D2D1_GEOMETRY_SIMPLIFICATION_OPTION option, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Tessellate)( ID2D1GeometryGroup *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1TessellationSink *sink); HRESULT (STDMETHODCALLTYPE *CombineWithGeometry)( ID2D1GeometryGroup *This, ID2D1Geometry *geometry, D2D1_COMBINE_MODE combine_mode, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Outline)( ID2D1GeometryGroup *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *ComputeArea)( ID2D1GeometryGroup *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *area); HRESULT (STDMETHODCALLTYPE *ComputeLength)( ID2D1GeometryGroup *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *length); HRESULT (STDMETHODCALLTYPE *ComputePointAtLength)( ID2D1GeometryGroup *This, float length, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *tangent); HRESULT (STDMETHODCALLTYPE *Widen)( ID2D1GeometryGroup *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); /*** ID2D1GeometryGroup methods ***/ D2D1_FILL_MODE (STDMETHODCALLTYPE *GetFillMode)( ID2D1GeometryGroup *This); UINT32 (STDMETHODCALLTYPE *GetSourceGeometryCount)( ID2D1GeometryGroup *This); void (STDMETHODCALLTYPE *GetSourceGeometries)( ID2D1GeometryGroup *This, ID2D1Geometry **geometry, UINT32 geometry_count); END_INTERFACE } ID2D1GeometryGroupVtbl; interface ID2D1GeometryGroup { CONST_VTBL ID2D1GeometryGroupVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1GeometryGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1GeometryGroup_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1GeometryGroup_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1GeometryGroup_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Geometry methods ***/ #define ID2D1GeometryGroup_GetBounds(This,transform,bounds) (This)->lpVtbl->GetBounds(This,transform,bounds) #define ID2D1GeometryGroup_GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) (This)->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) #define ID2D1GeometryGroup_StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) (This)->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) #define ID2D1GeometryGroup_FillContainsPoint(This,point,transform,tolerance,contains) (This)->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains) #define ID2D1GeometryGroup_CompareWithGeometry(This,geometry,transform,tolerance,relation) (This)->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation) #define ID2D1GeometryGroup_Simplify(This,option,transform,tolerance,sink) (This)->lpVtbl->Simplify(This,option,transform,tolerance,sink) #define ID2D1GeometryGroup_Tessellate(This,transform,tolerance,sink) (This)->lpVtbl->Tessellate(This,transform,tolerance,sink) #define ID2D1GeometryGroup_CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) (This)->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) #define ID2D1GeometryGroup_Outline(This,transform,tolerance,sink) (This)->lpVtbl->Outline(This,transform,tolerance,sink) #define ID2D1GeometryGroup_ComputeArea(This,transform,tolerance,area) (This)->lpVtbl->ComputeArea(This,transform,tolerance,area) #define ID2D1GeometryGroup_ComputeLength(This,transform,tolerance,length) (This)->lpVtbl->ComputeLength(This,transform,tolerance,length) #define ID2D1GeometryGroup_ComputePointAtLength(This,length,transform,tolerance,point,tangent) (This)->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent) #define ID2D1GeometryGroup_Widen(This,stroke_width,stroke_style,transform,tolerance,sink) (This)->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink) /*** ID2D1GeometryGroup methods ***/ #define ID2D1GeometryGroup_GetFillMode(This) (This)->lpVtbl->GetFillMode(This) #define ID2D1GeometryGroup_GetSourceGeometryCount(This) (This)->lpVtbl->GetSourceGeometryCount(This) #define ID2D1GeometryGroup_GetSourceGeometries(This,geometry,geometry_count) (This)->lpVtbl->GetSourceGeometries(This,geometry,geometry_count) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1GeometryGroup_QueryInterface(ID2D1GeometryGroup* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1GeometryGroup_AddRef(ID2D1GeometryGroup* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1GeometryGroup_Release(ID2D1GeometryGroup* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1GeometryGroup_GetFactory(ID2D1GeometryGroup* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Geometry methods ***/ static inline HRESULT ID2D1GeometryGroup_GetBounds(ID2D1GeometryGroup* This,const D2D1_MATRIX_3X2_F *transform,D2D1_RECT_F *bounds) { return This->lpVtbl->GetBounds(This,transform,bounds); } static inline HRESULT ID2D1GeometryGroup_GetWidenedBounds(ID2D1GeometryGroup* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_RECT_F *bounds) { return This->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds); } static inline HRESULT ID2D1GeometryGroup_StrokeContainsPoint(ID2D1GeometryGroup* This,D2D1_POINT_2F point,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains); } static inline HRESULT ID2D1GeometryGroup_FillContainsPoint(ID2D1GeometryGroup* This,D2D1_POINT_2F point,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains); } static inline HRESULT ID2D1GeometryGroup_CompareWithGeometry(ID2D1GeometryGroup* This,ID2D1Geometry *geometry,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_GEOMETRY_RELATION *relation) { return This->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation); } static inline HRESULT ID2D1GeometryGroup_Simplify(ID2D1GeometryGroup* This,D2D1_GEOMETRY_SIMPLIFICATION_OPTION option,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Simplify(This,option,transform,tolerance,sink); } static inline HRESULT ID2D1GeometryGroup_Tessellate(ID2D1GeometryGroup* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1TessellationSink *sink) { return This->lpVtbl->Tessellate(This,transform,tolerance,sink); } static inline HRESULT ID2D1GeometryGroup_CombineWithGeometry(ID2D1GeometryGroup* This,ID2D1Geometry *geometry,D2D1_COMBINE_MODE combine_mode,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink); } static inline HRESULT ID2D1GeometryGroup_Outline(ID2D1GeometryGroup* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Outline(This,transform,tolerance,sink); } static inline HRESULT ID2D1GeometryGroup_ComputeArea(ID2D1GeometryGroup* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *area) { return This->lpVtbl->ComputeArea(This,transform,tolerance,area); } static inline HRESULT ID2D1GeometryGroup_ComputeLength(ID2D1GeometryGroup* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *length) { return This->lpVtbl->ComputeLength(This,transform,tolerance,length); } static inline HRESULT ID2D1GeometryGroup_ComputePointAtLength(ID2D1GeometryGroup* This,float length,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_POINT_2F *point,D2D1_POINT_2F *tangent) { return This->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent); } static inline HRESULT ID2D1GeometryGroup_Widen(ID2D1GeometryGroup* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink); } /*** ID2D1GeometryGroup methods ***/ static inline D2D1_FILL_MODE ID2D1GeometryGroup_GetFillMode(ID2D1GeometryGroup* This) { return This->lpVtbl->GetFillMode(This); } static inline UINT32 ID2D1GeometryGroup_GetSourceGeometryCount(ID2D1GeometryGroup* This) { return This->lpVtbl->GetSourceGeometryCount(This); } static inline void ID2D1GeometryGroup_GetSourceGeometries(ID2D1GeometryGroup* This,ID2D1Geometry **geometry,UINT32 geometry_count) { This->lpVtbl->GetSourceGeometries(This,geometry,geometry_count); } #endif #endif #endif #endif /* __ID2D1GeometryGroup_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1TransformedGeometry interface */ #ifndef __ID2D1TransformedGeometry_INTERFACE_DEFINED__ #define __ID2D1TransformedGeometry_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1TransformedGeometry, 0x2cd906bb, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906bb-12e2-11dc-9fed-001143a055f9") ID2D1TransformedGeometry : public ID2D1Geometry { virtual void STDMETHODCALLTYPE GetSourceGeometry( ID2D1Geometry **geometry) = 0; virtual void STDMETHODCALLTYPE GetTransform( D2D1_MATRIX_3X2_F *transform) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1TransformedGeometry, 0x2cd906bb, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1TransformedGeometryVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1TransformedGeometry *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1TransformedGeometry *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1TransformedGeometry *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1TransformedGeometry *This, ID2D1Factory **factory); /*** ID2D1Geometry methods ***/ HRESULT (STDMETHODCALLTYPE *GetBounds)( ID2D1TransformedGeometry *This, const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *GetWidenedBounds)( ID2D1TransformedGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *StrokeContainsPoint)( ID2D1TransformedGeometry *This, D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *FillContainsPoint)( ID2D1TransformedGeometry *This, D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *CompareWithGeometry)( ID2D1TransformedGeometry *This, ID2D1Geometry *geometry, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_GEOMETRY_RELATION *relation); HRESULT (STDMETHODCALLTYPE *Simplify)( ID2D1TransformedGeometry *This, D2D1_GEOMETRY_SIMPLIFICATION_OPTION option, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Tessellate)( ID2D1TransformedGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1TessellationSink *sink); HRESULT (STDMETHODCALLTYPE *CombineWithGeometry)( ID2D1TransformedGeometry *This, ID2D1Geometry *geometry, D2D1_COMBINE_MODE combine_mode, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Outline)( ID2D1TransformedGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *ComputeArea)( ID2D1TransformedGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *area); HRESULT (STDMETHODCALLTYPE *ComputeLength)( ID2D1TransformedGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *length); HRESULT (STDMETHODCALLTYPE *ComputePointAtLength)( ID2D1TransformedGeometry *This, float length, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *tangent); HRESULT (STDMETHODCALLTYPE *Widen)( ID2D1TransformedGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); /*** ID2D1TransformedGeometry methods ***/ void (STDMETHODCALLTYPE *GetSourceGeometry)( ID2D1TransformedGeometry *This, ID2D1Geometry **geometry); void (STDMETHODCALLTYPE *GetTransform)( ID2D1TransformedGeometry *This, D2D1_MATRIX_3X2_F *transform); END_INTERFACE } ID2D1TransformedGeometryVtbl; interface ID2D1TransformedGeometry { CONST_VTBL ID2D1TransformedGeometryVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1TransformedGeometry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1TransformedGeometry_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1TransformedGeometry_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1TransformedGeometry_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Geometry methods ***/ #define ID2D1TransformedGeometry_GetBounds(This,transform,bounds) (This)->lpVtbl->GetBounds(This,transform,bounds) #define ID2D1TransformedGeometry_GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) (This)->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) #define ID2D1TransformedGeometry_StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) (This)->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) #define ID2D1TransformedGeometry_FillContainsPoint(This,point,transform,tolerance,contains) (This)->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains) #define ID2D1TransformedGeometry_CompareWithGeometry(This,geometry,transform,tolerance,relation) (This)->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation) #define ID2D1TransformedGeometry_Simplify(This,option,transform,tolerance,sink) (This)->lpVtbl->Simplify(This,option,transform,tolerance,sink) #define ID2D1TransformedGeometry_Tessellate(This,transform,tolerance,sink) (This)->lpVtbl->Tessellate(This,transform,tolerance,sink) #define ID2D1TransformedGeometry_CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) (This)->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) #define ID2D1TransformedGeometry_Outline(This,transform,tolerance,sink) (This)->lpVtbl->Outline(This,transform,tolerance,sink) #define ID2D1TransformedGeometry_ComputeArea(This,transform,tolerance,area) (This)->lpVtbl->ComputeArea(This,transform,tolerance,area) #define ID2D1TransformedGeometry_ComputeLength(This,transform,tolerance,length) (This)->lpVtbl->ComputeLength(This,transform,tolerance,length) #define ID2D1TransformedGeometry_ComputePointAtLength(This,length,transform,tolerance,point,tangent) (This)->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent) #define ID2D1TransformedGeometry_Widen(This,stroke_width,stroke_style,transform,tolerance,sink) (This)->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink) /*** ID2D1TransformedGeometry methods ***/ #define ID2D1TransformedGeometry_GetSourceGeometry(This,geometry) (This)->lpVtbl->GetSourceGeometry(This,geometry) #define ID2D1TransformedGeometry_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1TransformedGeometry_QueryInterface(ID2D1TransformedGeometry* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1TransformedGeometry_AddRef(ID2D1TransformedGeometry* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1TransformedGeometry_Release(ID2D1TransformedGeometry* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1TransformedGeometry_GetFactory(ID2D1TransformedGeometry* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Geometry methods ***/ static inline HRESULT ID2D1TransformedGeometry_GetBounds(ID2D1TransformedGeometry* This,const D2D1_MATRIX_3X2_F *transform,D2D1_RECT_F *bounds) { return This->lpVtbl->GetBounds(This,transform,bounds); } static inline HRESULT ID2D1TransformedGeometry_GetWidenedBounds(ID2D1TransformedGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_RECT_F *bounds) { return This->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds); } static inline HRESULT ID2D1TransformedGeometry_StrokeContainsPoint(ID2D1TransformedGeometry* This,D2D1_POINT_2F point,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains); } static inline HRESULT ID2D1TransformedGeometry_FillContainsPoint(ID2D1TransformedGeometry* This,D2D1_POINT_2F point,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains); } static inline HRESULT ID2D1TransformedGeometry_CompareWithGeometry(ID2D1TransformedGeometry* This,ID2D1Geometry *geometry,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_GEOMETRY_RELATION *relation) { return This->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation); } static inline HRESULT ID2D1TransformedGeometry_Simplify(ID2D1TransformedGeometry* This,D2D1_GEOMETRY_SIMPLIFICATION_OPTION option,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Simplify(This,option,transform,tolerance,sink); } static inline HRESULT ID2D1TransformedGeometry_Tessellate(ID2D1TransformedGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1TessellationSink *sink) { return This->lpVtbl->Tessellate(This,transform,tolerance,sink); } static inline HRESULT ID2D1TransformedGeometry_CombineWithGeometry(ID2D1TransformedGeometry* This,ID2D1Geometry *geometry,D2D1_COMBINE_MODE combine_mode,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink); } static inline HRESULT ID2D1TransformedGeometry_Outline(ID2D1TransformedGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Outline(This,transform,tolerance,sink); } static inline HRESULT ID2D1TransformedGeometry_ComputeArea(ID2D1TransformedGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *area) { return This->lpVtbl->ComputeArea(This,transform,tolerance,area); } static inline HRESULT ID2D1TransformedGeometry_ComputeLength(ID2D1TransformedGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *length) { return This->lpVtbl->ComputeLength(This,transform,tolerance,length); } static inline HRESULT ID2D1TransformedGeometry_ComputePointAtLength(ID2D1TransformedGeometry* This,float length,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_POINT_2F *point,D2D1_POINT_2F *tangent) { return This->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent); } static inline HRESULT ID2D1TransformedGeometry_Widen(ID2D1TransformedGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink); } /*** ID2D1TransformedGeometry methods ***/ static inline void ID2D1TransformedGeometry_GetSourceGeometry(ID2D1TransformedGeometry* This,ID2D1Geometry **geometry) { This->lpVtbl->GetSourceGeometry(This,geometry); } static inline void ID2D1TransformedGeometry_GetTransform(ID2D1TransformedGeometry* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } #endif #endif #endif #endif /* __ID2D1TransformedGeometry_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1GeometrySink interface */ #ifndef __ID2D1GeometrySink_INTERFACE_DEFINED__ #define __ID2D1GeometrySink_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1GeometrySink, 0x2cd9069f, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd9069f-12e2-11dc-9fed-001143a055f9") ID2D1GeometrySink : public ID2D1SimplifiedGeometrySink { virtual void STDMETHODCALLTYPE AddLine( D2D1_POINT_2F point) = 0; virtual void STDMETHODCALLTYPE AddBezier( const D2D1_BEZIER_SEGMENT *bezier) = 0; virtual void STDMETHODCALLTYPE AddQuadraticBezier( const D2D1_QUADRATIC_BEZIER_SEGMENT *bezier) = 0; virtual void STDMETHODCALLTYPE AddQuadraticBeziers( const D2D1_QUADRATIC_BEZIER_SEGMENT *beziers, UINT32 bezier_count) = 0; virtual void STDMETHODCALLTYPE AddArc( const D2D1_ARC_SEGMENT *arc) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1GeometrySink, 0x2cd9069f, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1GeometrySinkVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1GeometrySink *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1GeometrySink *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1GeometrySink *This); /*** ID2D1SimplifiedGeometrySink methods ***/ void (STDMETHODCALLTYPE *SetFillMode)( ID2D1GeometrySink *This, D2D1_FILL_MODE mode); void (STDMETHODCALLTYPE *SetSegmentFlags)( ID2D1GeometrySink *This, D2D1_PATH_SEGMENT vertexFlags); void (STDMETHODCALLTYPE *BeginFigure)( ID2D1GeometrySink *This, D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin); void (STDMETHODCALLTYPE *AddLines)( ID2D1GeometrySink *This, const D2D1_POINT_2F *points, UINT32 count); void (STDMETHODCALLTYPE *AddBeziers)( ID2D1GeometrySink *This, const D2D1_BEZIER_SEGMENT *beziers, UINT32 count); void (STDMETHODCALLTYPE *EndFigure)( ID2D1GeometrySink *This, D2D1_FIGURE_END figureEnd); HRESULT (STDMETHODCALLTYPE *Close)( ID2D1GeometrySink *This); /*** ID2D1GeometrySink methods ***/ void (STDMETHODCALLTYPE *AddLine)( ID2D1GeometrySink *This, D2D1_POINT_2F point); void (STDMETHODCALLTYPE *AddBezier)( ID2D1GeometrySink *This, const D2D1_BEZIER_SEGMENT *bezier); void (STDMETHODCALLTYPE *AddQuadraticBezier)( ID2D1GeometrySink *This, const D2D1_QUADRATIC_BEZIER_SEGMENT *bezier); void (STDMETHODCALLTYPE *AddQuadraticBeziers)( ID2D1GeometrySink *This, const D2D1_QUADRATIC_BEZIER_SEGMENT *beziers, UINT32 bezier_count); void (STDMETHODCALLTYPE *AddArc)( ID2D1GeometrySink *This, const D2D1_ARC_SEGMENT *arc); END_INTERFACE } ID2D1GeometrySinkVtbl; interface ID2D1GeometrySink { CONST_VTBL ID2D1GeometrySinkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1GeometrySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1GeometrySink_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1GeometrySink_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1SimplifiedGeometrySink methods ***/ #define ID2D1GeometrySink_SetFillMode(This,mode) (This)->lpVtbl->SetFillMode(This,mode) #define ID2D1GeometrySink_SetSegmentFlags(This,vertexFlags) (This)->lpVtbl->SetSegmentFlags(This,vertexFlags) #define ID2D1GeometrySink_BeginFigure(This,startPoint,figureBegin) (This)->lpVtbl->BeginFigure(This,startPoint,figureBegin) #define ID2D1GeometrySink_AddLines(This,points,count) (This)->lpVtbl->AddLines(This,points,count) #define ID2D1GeometrySink_AddBeziers(This,beziers,count) (This)->lpVtbl->AddBeziers(This,beziers,count) #define ID2D1GeometrySink_EndFigure(This,figureEnd) (This)->lpVtbl->EndFigure(This,figureEnd) #define ID2D1GeometrySink_Close(This) (This)->lpVtbl->Close(This) /*** ID2D1GeometrySink methods ***/ #define ID2D1GeometrySink_AddLine(This,point) (This)->lpVtbl->AddLine(This,point) #define ID2D1GeometrySink_AddBezier(This,bezier) (This)->lpVtbl->AddBezier(This,bezier) #define ID2D1GeometrySink_AddQuadraticBezier(This,bezier) (This)->lpVtbl->AddQuadraticBezier(This,bezier) #define ID2D1GeometrySink_AddQuadraticBeziers(This,beziers,bezier_count) (This)->lpVtbl->AddQuadraticBeziers(This,beziers,bezier_count) #define ID2D1GeometrySink_AddArc(This,arc) (This)->lpVtbl->AddArc(This,arc) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1GeometrySink_QueryInterface(ID2D1GeometrySink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1GeometrySink_AddRef(ID2D1GeometrySink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1GeometrySink_Release(ID2D1GeometrySink* This) { return This->lpVtbl->Release(This); } /*** ID2D1SimplifiedGeometrySink methods ***/ static inline void ID2D1GeometrySink_SetFillMode(ID2D1GeometrySink* This,D2D1_FILL_MODE mode) { This->lpVtbl->SetFillMode(This,mode); } static inline void ID2D1GeometrySink_SetSegmentFlags(ID2D1GeometrySink* This,D2D1_PATH_SEGMENT vertexFlags) { This->lpVtbl->SetSegmentFlags(This,vertexFlags); } static inline void ID2D1GeometrySink_BeginFigure(ID2D1GeometrySink* This,D2D1_POINT_2F startPoint,D2D1_FIGURE_BEGIN figureBegin) { This->lpVtbl->BeginFigure(This,startPoint,figureBegin); } static inline void ID2D1GeometrySink_AddLines(ID2D1GeometrySink* This,const D2D1_POINT_2F *points,UINT32 count) { This->lpVtbl->AddLines(This,points,count); } static inline void ID2D1GeometrySink_AddBeziers(ID2D1GeometrySink* This,const D2D1_BEZIER_SEGMENT *beziers,UINT32 count) { This->lpVtbl->AddBeziers(This,beziers,count); } static inline void ID2D1GeometrySink_EndFigure(ID2D1GeometrySink* This,D2D1_FIGURE_END figureEnd) { This->lpVtbl->EndFigure(This,figureEnd); } static inline HRESULT ID2D1GeometrySink_Close(ID2D1GeometrySink* This) { return This->lpVtbl->Close(This); } /*** ID2D1GeometrySink methods ***/ static inline void ID2D1GeometrySink_AddLine(ID2D1GeometrySink* This,D2D1_POINT_2F point) { This->lpVtbl->AddLine(This,point); } static inline void ID2D1GeometrySink_AddBezier(ID2D1GeometrySink* This,const D2D1_BEZIER_SEGMENT *bezier) { This->lpVtbl->AddBezier(This,bezier); } static inline void ID2D1GeometrySink_AddQuadraticBezier(ID2D1GeometrySink* This,const D2D1_QUADRATIC_BEZIER_SEGMENT *bezier) { This->lpVtbl->AddQuadraticBezier(This,bezier); } static inline void ID2D1GeometrySink_AddQuadraticBeziers(ID2D1GeometrySink* This,const D2D1_QUADRATIC_BEZIER_SEGMENT *beziers,UINT32 bezier_count) { This->lpVtbl->AddQuadraticBeziers(This,beziers,bezier_count); } static inline void ID2D1GeometrySink_AddArc(ID2D1GeometrySink* This,const D2D1_ARC_SEGMENT *arc) { This->lpVtbl->AddArc(This,arc); } #endif #endif #endif #endif /* __ID2D1GeometrySink_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1PathGeometry interface */ #ifndef __ID2D1PathGeometry_INTERFACE_DEFINED__ #define __ID2D1PathGeometry_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1PathGeometry, 0x2cd906a5, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a5-12e2-11dc-9fed-001143a055f9") ID2D1PathGeometry : public ID2D1Geometry { virtual HRESULT STDMETHODCALLTYPE Open( ID2D1GeometrySink **sink) = 0; virtual HRESULT STDMETHODCALLTYPE Stream( ID2D1GeometrySink *sink) = 0; virtual HRESULT STDMETHODCALLTYPE GetSegmentCount( UINT32 *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetFigureCount( UINT32 *count) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1PathGeometry, 0x2cd906a5, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1PathGeometryVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1PathGeometry *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1PathGeometry *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1PathGeometry *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1PathGeometry *This, ID2D1Factory **factory); /*** ID2D1Geometry methods ***/ HRESULT (STDMETHODCALLTYPE *GetBounds)( ID2D1PathGeometry *This, const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *GetWidenedBounds)( ID2D1PathGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_RECT_F *bounds); HRESULT (STDMETHODCALLTYPE *StrokeContainsPoint)( ID2D1PathGeometry *This, D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *FillContainsPoint)( ID2D1PathGeometry *This, D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains); HRESULT (STDMETHODCALLTYPE *CompareWithGeometry)( ID2D1PathGeometry *This, ID2D1Geometry *geometry, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_GEOMETRY_RELATION *relation); HRESULT (STDMETHODCALLTYPE *Simplify)( ID2D1PathGeometry *This, D2D1_GEOMETRY_SIMPLIFICATION_OPTION option, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Tessellate)( ID2D1PathGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1TessellationSink *sink); HRESULT (STDMETHODCALLTYPE *CombineWithGeometry)( ID2D1PathGeometry *This, ID2D1Geometry *geometry, D2D1_COMBINE_MODE combine_mode, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *Outline)( ID2D1PathGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); HRESULT (STDMETHODCALLTYPE *ComputeArea)( ID2D1PathGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *area); HRESULT (STDMETHODCALLTYPE *ComputeLength)( ID2D1PathGeometry *This, const D2D1_MATRIX_3X2_F *transform, float tolerance, float *length); HRESULT (STDMETHODCALLTYPE *ComputePointAtLength)( ID2D1PathGeometry *This, float length, const D2D1_MATRIX_3X2_F *transform, float tolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *tangent); HRESULT (STDMETHODCALLTYPE *Widen)( ID2D1PathGeometry *This, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, float tolerance, ID2D1SimplifiedGeometrySink *sink); /*** ID2D1PathGeometry methods ***/ HRESULT (STDMETHODCALLTYPE *Open)( ID2D1PathGeometry *This, ID2D1GeometrySink **sink); HRESULT (STDMETHODCALLTYPE *Stream)( ID2D1PathGeometry *This, ID2D1GeometrySink *sink); HRESULT (STDMETHODCALLTYPE *GetSegmentCount)( ID2D1PathGeometry *This, UINT32 *count); HRESULT (STDMETHODCALLTYPE *GetFigureCount)( ID2D1PathGeometry *This, UINT32 *count); END_INTERFACE } ID2D1PathGeometryVtbl; interface ID2D1PathGeometry { CONST_VTBL ID2D1PathGeometryVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1PathGeometry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1PathGeometry_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1PathGeometry_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1PathGeometry_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Geometry methods ***/ #define ID2D1PathGeometry_GetBounds(This,transform,bounds) (This)->lpVtbl->GetBounds(This,transform,bounds) #define ID2D1PathGeometry_GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) (This)->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds) #define ID2D1PathGeometry_StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) (This)->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains) #define ID2D1PathGeometry_FillContainsPoint(This,point,transform,tolerance,contains) (This)->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains) #define ID2D1PathGeometry_CompareWithGeometry(This,geometry,transform,tolerance,relation) (This)->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation) #define ID2D1PathGeometry_Simplify(This,option,transform,tolerance,sink) (This)->lpVtbl->Simplify(This,option,transform,tolerance,sink) #define ID2D1PathGeometry_Tessellate(This,transform,tolerance,sink) (This)->lpVtbl->Tessellate(This,transform,tolerance,sink) #define ID2D1PathGeometry_CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) (This)->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink) #define ID2D1PathGeometry_Outline(This,transform,tolerance,sink) (This)->lpVtbl->Outline(This,transform,tolerance,sink) #define ID2D1PathGeometry_ComputeArea(This,transform,tolerance,area) (This)->lpVtbl->ComputeArea(This,transform,tolerance,area) #define ID2D1PathGeometry_ComputeLength(This,transform,tolerance,length) (This)->lpVtbl->ComputeLength(This,transform,tolerance,length) #define ID2D1PathGeometry_ComputePointAtLength(This,length,transform,tolerance,point,tangent) (This)->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent) #define ID2D1PathGeometry_Widen(This,stroke_width,stroke_style,transform,tolerance,sink) (This)->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink) /*** ID2D1PathGeometry methods ***/ #define ID2D1PathGeometry_Open(This,sink) (This)->lpVtbl->Open(This,sink) #define ID2D1PathGeometry_Stream(This,sink) (This)->lpVtbl->Stream(This,sink) #define ID2D1PathGeometry_GetSegmentCount(This,count) (This)->lpVtbl->GetSegmentCount(This,count) #define ID2D1PathGeometry_GetFigureCount(This,count) (This)->lpVtbl->GetFigureCount(This,count) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1PathGeometry_QueryInterface(ID2D1PathGeometry* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1PathGeometry_AddRef(ID2D1PathGeometry* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1PathGeometry_Release(ID2D1PathGeometry* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1PathGeometry_GetFactory(ID2D1PathGeometry* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Geometry methods ***/ static inline HRESULT ID2D1PathGeometry_GetBounds(ID2D1PathGeometry* This,const D2D1_MATRIX_3X2_F *transform,D2D1_RECT_F *bounds) { return This->lpVtbl->GetBounds(This,transform,bounds); } static inline HRESULT ID2D1PathGeometry_GetWidenedBounds(ID2D1PathGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_RECT_F *bounds) { return This->lpVtbl->GetWidenedBounds(This,stroke_width,stroke_style,transform,tolerance,bounds); } static inline HRESULT ID2D1PathGeometry_StrokeContainsPoint(ID2D1PathGeometry* This,D2D1_POINT_2F point,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->StrokeContainsPoint(This,point,stroke_width,stroke_style,transform,tolerance,contains); } static inline HRESULT ID2D1PathGeometry_FillContainsPoint(ID2D1PathGeometry* This,D2D1_POINT_2F point,const D2D1_MATRIX_3X2_F *transform,float tolerance,BOOL *contains) { return This->lpVtbl->FillContainsPoint(This,point,transform,tolerance,contains); } static inline HRESULT ID2D1PathGeometry_CompareWithGeometry(ID2D1PathGeometry* This,ID2D1Geometry *geometry,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_GEOMETRY_RELATION *relation) { return This->lpVtbl->CompareWithGeometry(This,geometry,transform,tolerance,relation); } static inline HRESULT ID2D1PathGeometry_Simplify(ID2D1PathGeometry* This,D2D1_GEOMETRY_SIMPLIFICATION_OPTION option,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Simplify(This,option,transform,tolerance,sink); } static inline HRESULT ID2D1PathGeometry_Tessellate(ID2D1PathGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1TessellationSink *sink) { return This->lpVtbl->Tessellate(This,transform,tolerance,sink); } static inline HRESULT ID2D1PathGeometry_CombineWithGeometry(ID2D1PathGeometry* This,ID2D1Geometry *geometry,D2D1_COMBINE_MODE combine_mode,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->CombineWithGeometry(This,geometry,combine_mode,transform,tolerance,sink); } static inline HRESULT ID2D1PathGeometry_Outline(ID2D1PathGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Outline(This,transform,tolerance,sink); } static inline HRESULT ID2D1PathGeometry_ComputeArea(ID2D1PathGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *area) { return This->lpVtbl->ComputeArea(This,transform,tolerance,area); } static inline HRESULT ID2D1PathGeometry_ComputeLength(ID2D1PathGeometry* This,const D2D1_MATRIX_3X2_F *transform,float tolerance,float *length) { return This->lpVtbl->ComputeLength(This,transform,tolerance,length); } static inline HRESULT ID2D1PathGeometry_ComputePointAtLength(ID2D1PathGeometry* This,float length,const D2D1_MATRIX_3X2_F *transform,float tolerance,D2D1_POINT_2F *point,D2D1_POINT_2F *tangent) { return This->lpVtbl->ComputePointAtLength(This,length,transform,tolerance,point,tangent); } static inline HRESULT ID2D1PathGeometry_Widen(ID2D1PathGeometry* This,float stroke_width,ID2D1StrokeStyle *stroke_style,const D2D1_MATRIX_3X2_F *transform,float tolerance,ID2D1SimplifiedGeometrySink *sink) { return This->lpVtbl->Widen(This,stroke_width,stroke_style,transform,tolerance,sink); } /*** ID2D1PathGeometry methods ***/ static inline HRESULT ID2D1PathGeometry_Open(ID2D1PathGeometry* This,ID2D1GeometrySink **sink) { return This->lpVtbl->Open(This,sink); } static inline HRESULT ID2D1PathGeometry_Stream(ID2D1PathGeometry* This,ID2D1GeometrySink *sink) { return This->lpVtbl->Stream(This,sink); } static inline HRESULT ID2D1PathGeometry_GetSegmentCount(ID2D1PathGeometry* This,UINT32 *count) { return This->lpVtbl->GetSegmentCount(This,count); } static inline HRESULT ID2D1PathGeometry_GetFigureCount(ID2D1PathGeometry* This,UINT32 *count) { return This->lpVtbl->GetFigureCount(This,count); } #endif #endif #endif #endif /* __ID2D1PathGeometry_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1DrawingStateBlock interface */ #ifndef __ID2D1DrawingStateBlock_INTERFACE_DEFINED__ #define __ID2D1DrawingStateBlock_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1DrawingStateBlock, 0x28506e39, 0xebf6, 0x46a1, 0xbb,0x47, 0xfd,0x85,0x56,0x5a,0xb9,0x57); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("28506e39-ebf6-46a1-bb47-fd85565ab957") ID2D1DrawingStateBlock : public ID2D1Resource { virtual void STDMETHODCALLTYPE GetDescription( D2D1_DRAWING_STATE_DESCRIPTION *desc) = 0; virtual void STDMETHODCALLTYPE SetDescription( const D2D1_DRAWING_STATE_DESCRIPTION *desc) = 0; virtual void STDMETHODCALLTYPE SetTextRenderingParams( IDWriteRenderingParams *text_rendering_params) = 0; virtual void STDMETHODCALLTYPE GetTextRenderingParams( IDWriteRenderingParams **text_rendering_params) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1DrawingStateBlock, 0x28506e39, 0xebf6, 0x46a1, 0xbb,0x47, 0xfd,0x85,0x56,0x5a,0xb9,0x57) #endif #else typedef struct ID2D1DrawingStateBlockVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1DrawingStateBlock *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1DrawingStateBlock *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1DrawingStateBlock *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1DrawingStateBlock *This, ID2D1Factory **factory); /*** ID2D1DrawingStateBlock methods ***/ void (STDMETHODCALLTYPE *GetDescription)( ID2D1DrawingStateBlock *This, D2D1_DRAWING_STATE_DESCRIPTION *desc); void (STDMETHODCALLTYPE *SetDescription)( ID2D1DrawingStateBlock *This, const D2D1_DRAWING_STATE_DESCRIPTION *desc); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1DrawingStateBlock *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1DrawingStateBlock *This, IDWriteRenderingParams **text_rendering_params); END_INTERFACE } ID2D1DrawingStateBlockVtbl; interface ID2D1DrawingStateBlock { CONST_VTBL ID2D1DrawingStateBlockVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1DrawingStateBlock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1DrawingStateBlock_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1DrawingStateBlock_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1DrawingStateBlock_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1DrawingStateBlock methods ***/ #define ID2D1DrawingStateBlock_GetDescription(This,desc) (This)->lpVtbl->GetDescription(This,desc) #define ID2D1DrawingStateBlock_SetDescription(This,desc) (This)->lpVtbl->SetDescription(This,desc) #define ID2D1DrawingStateBlock_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1DrawingStateBlock_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1DrawingStateBlock_QueryInterface(ID2D1DrawingStateBlock* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1DrawingStateBlock_AddRef(ID2D1DrawingStateBlock* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1DrawingStateBlock_Release(ID2D1DrawingStateBlock* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1DrawingStateBlock_GetFactory(ID2D1DrawingStateBlock* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1DrawingStateBlock methods ***/ static inline void ID2D1DrawingStateBlock_GetDescription(ID2D1DrawingStateBlock* This,D2D1_DRAWING_STATE_DESCRIPTION *desc) { This->lpVtbl->GetDescription(This,desc); } static inline void ID2D1DrawingStateBlock_SetDescription(ID2D1DrawingStateBlock* This,const D2D1_DRAWING_STATE_DESCRIPTION *desc) { This->lpVtbl->SetDescription(This,desc); } static inline void ID2D1DrawingStateBlock_SetTextRenderingParams(ID2D1DrawingStateBlock* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DrawingStateBlock_GetTextRenderingParams(ID2D1DrawingStateBlock* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } #endif #endif #endif #endif /* __ID2D1DrawingStateBlock_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Image interface */ #ifndef __ID2D1Image_INTERFACE_DEFINED__ #define __ID2D1Image_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Image, 0x65019f75, 0x8da2, 0x497c, 0xb3,0x2c, 0xdf,0xa3,0x4e,0x48,0xed,0xe6); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("65019f75-8da2-497c-b32c-dfa34e48ede6") ID2D1Image : public ID2D1Resource { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Image, 0x65019f75, 0x8da2, 0x497c, 0xb3,0x2c, 0xdf,0xa3,0x4e,0x48,0xed,0xe6) #endif #else typedef struct ID2D1ImageVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Image *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Image *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Image *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Image *This, ID2D1Factory **factory); END_INTERFACE } ID2D1ImageVtbl; interface ID2D1Image { CONST_VTBL ID2D1ImageVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Image_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Image_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Image_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Image_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Image_QueryInterface(ID2D1Image* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Image_AddRef(ID2D1Image* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Image_Release(ID2D1Image* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Image_GetFactory(ID2D1Image* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } #endif #endif #endif #endif /* __ID2D1Image_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Bitmap interface */ #ifndef __ID2D1Bitmap_INTERFACE_DEFINED__ #define __ID2D1Bitmap_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Bitmap, 0xa2296057, 0xea42, 0x4099, 0x98,0x3b, 0x53,0x9f,0xb6,0x50,0x54,0x26); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a2296057-ea42-4099-983b-539fb6505426") ID2D1Bitmap : public ID2D1Image { #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_SIZE_F* STDMETHODCALLTYPE GetSize( D2D1_SIZE_F *__ret) = 0; D2D1_SIZE_F STDMETHODCALLTYPE GetSize( ) { D2D1_SIZE_F __ret; return *GetSize(&__ret); } #else virtual D2D1_SIZE_F STDMETHODCALLTYPE GetSize( ) = 0; #endif #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_SIZE_U* STDMETHODCALLTYPE GetPixelSize( D2D1_SIZE_U *__ret) = 0; D2D1_SIZE_U STDMETHODCALLTYPE GetPixelSize( ) { D2D1_SIZE_U __ret; return *GetPixelSize(&__ret); } #else virtual D2D1_SIZE_U STDMETHODCALLTYPE GetPixelSize( ) = 0; #endif #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_PIXEL_FORMAT* STDMETHODCALLTYPE GetPixelFormat( D2D1_PIXEL_FORMAT *__ret) = 0; D2D1_PIXEL_FORMAT STDMETHODCALLTYPE GetPixelFormat( ) { D2D1_PIXEL_FORMAT __ret; return *GetPixelFormat(&__ret); } #else virtual D2D1_PIXEL_FORMAT STDMETHODCALLTYPE GetPixelFormat( ) = 0; #endif virtual void STDMETHODCALLTYPE GetDpi( float *dpi_x, float *dpi_y) = 0; virtual HRESULT STDMETHODCALLTYPE CopyFromBitmap( const D2D1_POINT_2U *dst_point, ID2D1Bitmap *bitmap, const D2D1_RECT_U *src_rect) = 0; virtual HRESULT STDMETHODCALLTYPE CopyFromRenderTarget( const D2D1_POINT_2U *dst_point, ID2D1RenderTarget *render_target, const D2D1_RECT_U *src_rect) = 0; virtual HRESULT STDMETHODCALLTYPE CopyFromMemory( const D2D1_RECT_U *dst_rect, const void *src_data, UINT32 pitch) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Bitmap, 0xa2296057, 0xea42, 0x4099, 0x98,0x3b, 0x53,0x9f,0xb6,0x50,0x54,0x26) #endif #else typedef struct ID2D1BitmapVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Bitmap *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Bitmap *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Bitmap *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Bitmap *This, ID2D1Factory **factory); /*** ID2D1Bitmap methods ***/ D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1Bitmap *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1Bitmap *This, D2D1_SIZE_U *__ret); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1Bitmap *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *GetDpi)( ID2D1Bitmap *This, float *dpi_x, float *dpi_y); HRESULT (STDMETHODCALLTYPE *CopyFromBitmap)( ID2D1Bitmap *This, const D2D1_POINT_2U *dst_point, ID2D1Bitmap *bitmap, const D2D1_RECT_U *src_rect); HRESULT (STDMETHODCALLTYPE *CopyFromRenderTarget)( ID2D1Bitmap *This, const D2D1_POINT_2U *dst_point, ID2D1RenderTarget *render_target, const D2D1_RECT_U *src_rect); HRESULT (STDMETHODCALLTYPE *CopyFromMemory)( ID2D1Bitmap *This, const D2D1_RECT_U *dst_rect, const void *src_data, UINT32 pitch); END_INTERFACE } ID2D1BitmapVtbl; interface ID2D1Bitmap { CONST_VTBL ID2D1BitmapVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Bitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Bitmap_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Bitmap_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Bitmap_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Bitmap methods ***/ #define ID2D1Bitmap_GetSize(This) ID2D1Bitmap_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1Bitmap_GetPixelSize(This) ID2D1Bitmap_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1Bitmap_GetPixelFormat(This) ID2D1Bitmap_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1Bitmap_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1Bitmap_CopyFromBitmap(This,dst_point,bitmap,src_rect) (This)->lpVtbl->CopyFromBitmap(This,dst_point,bitmap,src_rect) #define ID2D1Bitmap_CopyFromRenderTarget(This,dst_point,render_target,src_rect) (This)->lpVtbl->CopyFromRenderTarget(This,dst_point,render_target,src_rect) #define ID2D1Bitmap_CopyFromMemory(This,dst_rect,src_data,pitch) (This)->lpVtbl->CopyFromMemory(This,dst_rect,src_data,pitch) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Bitmap_QueryInterface(ID2D1Bitmap* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Bitmap_AddRef(ID2D1Bitmap* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Bitmap_Release(ID2D1Bitmap* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Bitmap_GetFactory(ID2D1Bitmap* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Bitmap methods ***/ static inline D2D1_SIZE_F ID2D1Bitmap_GetSize(ID2D1Bitmap* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1Bitmap_GetPixelSize(ID2D1Bitmap* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline D2D1_PIXEL_FORMAT ID2D1Bitmap_GetPixelFormat(ID2D1Bitmap* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1Bitmap_GetDpi(ID2D1Bitmap* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline HRESULT ID2D1Bitmap_CopyFromBitmap(ID2D1Bitmap* This,const D2D1_POINT_2U *dst_point,ID2D1Bitmap *bitmap,const D2D1_RECT_U *src_rect) { return This->lpVtbl->CopyFromBitmap(This,dst_point,bitmap,src_rect); } static inline HRESULT ID2D1Bitmap_CopyFromRenderTarget(ID2D1Bitmap* This,const D2D1_POINT_2U *dst_point,ID2D1RenderTarget *render_target,const D2D1_RECT_U *src_rect) { return This->lpVtbl->CopyFromRenderTarget(This,dst_point,render_target,src_rect); } static inline HRESULT ID2D1Bitmap_CopyFromMemory(ID2D1Bitmap* This,const D2D1_RECT_U *dst_rect,const void *src_data,UINT32 pitch) { return This->lpVtbl->CopyFromMemory(This,dst_rect,src_data,pitch); } #endif #endif #endif #endif /* __ID2D1Bitmap_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Brush interface */ #ifndef __ID2D1Brush_INTERFACE_DEFINED__ #define __ID2D1Brush_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Brush, 0x2cd906a8, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a8-12e2-11dc-9fed-001143a055f9") ID2D1Brush : public ID2D1Resource { virtual void STDMETHODCALLTYPE SetOpacity( float opacity) = 0; virtual void STDMETHODCALLTYPE SetTransform( const D2D1_MATRIX_3X2_F *transform) = 0; virtual float STDMETHODCALLTYPE GetOpacity( ) = 0; virtual void STDMETHODCALLTYPE GetTransform( D2D1_MATRIX_3X2_F *transform) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Brush, 0x2cd906a8, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1BrushVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Brush *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Brush *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Brush *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Brush *This, ID2D1Factory **factory); /*** ID2D1Brush methods ***/ void (STDMETHODCALLTYPE *SetOpacity)( ID2D1Brush *This, float opacity); void (STDMETHODCALLTYPE *SetTransform)( ID2D1Brush *This, const D2D1_MATRIX_3X2_F *transform); float (STDMETHODCALLTYPE *GetOpacity)( ID2D1Brush *This); void (STDMETHODCALLTYPE *GetTransform)( ID2D1Brush *This, D2D1_MATRIX_3X2_F *transform); END_INTERFACE } ID2D1BrushVtbl; interface ID2D1Brush { CONST_VTBL ID2D1BrushVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Brush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Brush_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Brush_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Brush_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Brush methods ***/ #define ID2D1Brush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) #define ID2D1Brush_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1Brush_GetOpacity(This) (This)->lpVtbl->GetOpacity(This) #define ID2D1Brush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Brush_QueryInterface(ID2D1Brush* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Brush_AddRef(ID2D1Brush* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Brush_Release(ID2D1Brush* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Brush_GetFactory(ID2D1Brush* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Brush methods ***/ static inline void ID2D1Brush_SetOpacity(ID2D1Brush* This,float opacity) { This->lpVtbl->SetOpacity(This,opacity); } static inline void ID2D1Brush_SetTransform(ID2D1Brush* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline float ID2D1Brush_GetOpacity(ID2D1Brush* This) { return This->lpVtbl->GetOpacity(This); } static inline void ID2D1Brush_GetTransform(ID2D1Brush* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } #endif #endif #endif #endif /* __ID2D1Brush_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1BitmapBrush interface */ #ifndef __ID2D1BitmapBrush_INTERFACE_DEFINED__ #define __ID2D1BitmapBrush_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1BitmapBrush, 0x2cd906aa, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906aa-12e2-11dc-9fed-001143a055f9") ID2D1BitmapBrush : public ID2D1Brush { virtual void STDMETHODCALLTYPE SetExtendModeX( D2D1_EXTEND_MODE mode) = 0; virtual void STDMETHODCALLTYPE SetExtendModeY( D2D1_EXTEND_MODE mode) = 0; virtual void STDMETHODCALLTYPE SetInterpolationMode( D2D1_BITMAP_INTERPOLATION_MODE mode) = 0; virtual void STDMETHODCALLTYPE SetBitmap( ID2D1Bitmap *bitmap) = 0; virtual D2D1_EXTEND_MODE STDMETHODCALLTYPE GetExtendModeX( ) = 0; virtual D2D1_EXTEND_MODE STDMETHODCALLTYPE GetExtendModeY( ) = 0; virtual D2D1_BITMAP_INTERPOLATION_MODE STDMETHODCALLTYPE GetInterpolationMode( ) = 0; virtual void STDMETHODCALLTYPE GetBitmap( ID2D1Bitmap **bitmap) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1BitmapBrush, 0x2cd906aa, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1BitmapBrushVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1BitmapBrush *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1BitmapBrush *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1BitmapBrush *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1BitmapBrush *This, ID2D1Factory **factory); /*** ID2D1Brush methods ***/ void (STDMETHODCALLTYPE *SetOpacity)( ID2D1BitmapBrush *This, float opacity); void (STDMETHODCALLTYPE *SetTransform)( ID2D1BitmapBrush *This, const D2D1_MATRIX_3X2_F *transform); float (STDMETHODCALLTYPE *GetOpacity)( ID2D1BitmapBrush *This); void (STDMETHODCALLTYPE *GetTransform)( ID2D1BitmapBrush *This, D2D1_MATRIX_3X2_F *transform); /*** ID2D1BitmapBrush methods ***/ void (STDMETHODCALLTYPE *SetExtendModeX)( ID2D1BitmapBrush *This, D2D1_EXTEND_MODE mode); void (STDMETHODCALLTYPE *SetExtendModeY)( ID2D1BitmapBrush *This, D2D1_EXTEND_MODE mode); void (STDMETHODCALLTYPE *SetInterpolationMode)( ID2D1BitmapBrush *This, D2D1_BITMAP_INTERPOLATION_MODE mode); void (STDMETHODCALLTYPE *SetBitmap)( ID2D1BitmapBrush *This, ID2D1Bitmap *bitmap); D2D1_EXTEND_MODE (STDMETHODCALLTYPE *GetExtendModeX)( ID2D1BitmapBrush *This); D2D1_EXTEND_MODE (STDMETHODCALLTYPE *GetExtendModeY)( ID2D1BitmapBrush *This); D2D1_BITMAP_INTERPOLATION_MODE (STDMETHODCALLTYPE *GetInterpolationMode)( ID2D1BitmapBrush *This); void (STDMETHODCALLTYPE *GetBitmap)( ID2D1BitmapBrush *This, ID2D1Bitmap **bitmap); END_INTERFACE } ID2D1BitmapBrushVtbl; interface ID2D1BitmapBrush { CONST_VTBL ID2D1BitmapBrushVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1BitmapBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1BitmapBrush_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1BitmapBrush_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1BitmapBrush_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Brush methods ***/ #define ID2D1BitmapBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) #define ID2D1BitmapBrush_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1BitmapBrush_GetOpacity(This) (This)->lpVtbl->GetOpacity(This) #define ID2D1BitmapBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) /*** ID2D1BitmapBrush methods ***/ #define ID2D1BitmapBrush_SetExtendModeX(This,mode) (This)->lpVtbl->SetExtendModeX(This,mode) #define ID2D1BitmapBrush_SetExtendModeY(This,mode) (This)->lpVtbl->SetExtendModeY(This,mode) #define ID2D1BitmapBrush_SetInterpolationMode(This,mode) (This)->lpVtbl->SetInterpolationMode(This,mode) #define ID2D1BitmapBrush_SetBitmap(This,bitmap) (This)->lpVtbl->SetBitmap(This,bitmap) #define ID2D1BitmapBrush_GetExtendModeX(This) (This)->lpVtbl->GetExtendModeX(This) #define ID2D1BitmapBrush_GetExtendModeY(This) (This)->lpVtbl->GetExtendModeY(This) #define ID2D1BitmapBrush_GetInterpolationMode(This) (This)->lpVtbl->GetInterpolationMode(This) #define ID2D1BitmapBrush_GetBitmap(This,bitmap) (This)->lpVtbl->GetBitmap(This,bitmap) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1BitmapBrush_QueryInterface(ID2D1BitmapBrush* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1BitmapBrush_AddRef(ID2D1BitmapBrush* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1BitmapBrush_Release(ID2D1BitmapBrush* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1BitmapBrush_GetFactory(ID2D1BitmapBrush* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Brush methods ***/ static inline void ID2D1BitmapBrush_SetOpacity(ID2D1BitmapBrush* This,float opacity) { This->lpVtbl->SetOpacity(This,opacity); } static inline void ID2D1BitmapBrush_SetTransform(ID2D1BitmapBrush* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline float ID2D1BitmapBrush_GetOpacity(ID2D1BitmapBrush* This) { return This->lpVtbl->GetOpacity(This); } static inline void ID2D1BitmapBrush_GetTransform(ID2D1BitmapBrush* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } /*** ID2D1BitmapBrush methods ***/ static inline void ID2D1BitmapBrush_SetExtendModeX(ID2D1BitmapBrush* This,D2D1_EXTEND_MODE mode) { This->lpVtbl->SetExtendModeX(This,mode); } static inline void ID2D1BitmapBrush_SetExtendModeY(ID2D1BitmapBrush* This,D2D1_EXTEND_MODE mode) { This->lpVtbl->SetExtendModeY(This,mode); } static inline void ID2D1BitmapBrush_SetInterpolationMode(ID2D1BitmapBrush* This,D2D1_BITMAP_INTERPOLATION_MODE mode) { This->lpVtbl->SetInterpolationMode(This,mode); } static inline void ID2D1BitmapBrush_SetBitmap(ID2D1BitmapBrush* This,ID2D1Bitmap *bitmap) { This->lpVtbl->SetBitmap(This,bitmap); } static inline D2D1_EXTEND_MODE ID2D1BitmapBrush_GetExtendModeX(ID2D1BitmapBrush* This) { return This->lpVtbl->GetExtendModeX(This); } static inline D2D1_EXTEND_MODE ID2D1BitmapBrush_GetExtendModeY(ID2D1BitmapBrush* This) { return This->lpVtbl->GetExtendModeY(This); } static inline D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush_GetInterpolationMode(ID2D1BitmapBrush* This) { return This->lpVtbl->GetInterpolationMode(This); } static inline void ID2D1BitmapBrush_GetBitmap(ID2D1BitmapBrush* This,ID2D1Bitmap **bitmap) { This->lpVtbl->GetBitmap(This,bitmap); } #endif #endif #endif #endif /* __ID2D1BitmapBrush_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1SolidColorBrush interface */ #ifndef __ID2D1SolidColorBrush_INTERFACE_DEFINED__ #define __ID2D1SolidColorBrush_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1SolidColorBrush, 0x2cd906a9, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a9-12e2-11dc-9fed-001143a055f9") ID2D1SolidColorBrush : public ID2D1Brush { virtual void STDMETHODCALLTYPE SetColor( const D2D1_COLOR_F *color) = 0; #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_COLOR_F* STDMETHODCALLTYPE GetColor( D2D1_COLOR_F *__ret) = 0; D2D1_COLOR_F STDMETHODCALLTYPE GetColor( ) { D2D1_COLOR_F __ret; return *GetColor(&__ret); } #else virtual D2D1_COLOR_F STDMETHODCALLTYPE GetColor( ) = 0; #endif }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1SolidColorBrush, 0x2cd906a9, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1SolidColorBrushVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1SolidColorBrush *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1SolidColorBrush *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1SolidColorBrush *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1SolidColorBrush *This, ID2D1Factory **factory); /*** ID2D1Brush methods ***/ void (STDMETHODCALLTYPE *SetOpacity)( ID2D1SolidColorBrush *This, float opacity); void (STDMETHODCALLTYPE *SetTransform)( ID2D1SolidColorBrush *This, const D2D1_MATRIX_3X2_F *transform); float (STDMETHODCALLTYPE *GetOpacity)( ID2D1SolidColorBrush *This); void (STDMETHODCALLTYPE *GetTransform)( ID2D1SolidColorBrush *This, D2D1_MATRIX_3X2_F *transform); /*** ID2D1SolidColorBrush methods ***/ void (STDMETHODCALLTYPE *SetColor)( ID2D1SolidColorBrush *This, const D2D1_COLOR_F *color); D2D1_COLOR_F * (STDMETHODCALLTYPE *GetColor)( ID2D1SolidColorBrush *This, D2D1_COLOR_F *__ret); END_INTERFACE } ID2D1SolidColorBrushVtbl; interface ID2D1SolidColorBrush { CONST_VTBL ID2D1SolidColorBrushVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1SolidColorBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1SolidColorBrush_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1SolidColorBrush_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1SolidColorBrush_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Brush methods ***/ #define ID2D1SolidColorBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) #define ID2D1SolidColorBrush_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1SolidColorBrush_GetOpacity(This) (This)->lpVtbl->GetOpacity(This) #define ID2D1SolidColorBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) /*** ID2D1SolidColorBrush methods ***/ #define ID2D1SolidColorBrush_SetColor(This,color) (This)->lpVtbl->SetColor(This,color) #define ID2D1SolidColorBrush_GetColor(This) ID2D1SolidColorBrush_GetColor_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #else /*** IUnknown methods ***/ static inline HRESULT ID2D1SolidColorBrush_QueryInterface(ID2D1SolidColorBrush* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1SolidColorBrush_AddRef(ID2D1SolidColorBrush* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1SolidColorBrush_Release(ID2D1SolidColorBrush* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1SolidColorBrush_GetFactory(ID2D1SolidColorBrush* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Brush methods ***/ static inline void ID2D1SolidColorBrush_SetOpacity(ID2D1SolidColorBrush* This,float opacity) { This->lpVtbl->SetOpacity(This,opacity); } static inline void ID2D1SolidColorBrush_SetTransform(ID2D1SolidColorBrush* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline float ID2D1SolidColorBrush_GetOpacity(ID2D1SolidColorBrush* This) { return This->lpVtbl->GetOpacity(This); } static inline void ID2D1SolidColorBrush_GetTransform(ID2D1SolidColorBrush* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } /*** ID2D1SolidColorBrush methods ***/ static inline void ID2D1SolidColorBrush_SetColor(ID2D1SolidColorBrush* This,const D2D1_COLOR_F *color) { This->lpVtbl->SetColor(This,color); } static inline D2D1_COLOR_F ID2D1SolidColorBrush_GetColor(ID2D1SolidColorBrush* This) { D2D1_COLOR_F __ret; return *This->lpVtbl->GetColor(This,&__ret); } #endif #endif #endif #endif /* __ID2D1SolidColorBrush_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1GradientStopCollection interface */ #ifndef __ID2D1GradientStopCollection_INTERFACE_DEFINED__ #define __ID2D1GradientStopCollection_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1GradientStopCollection, 0x2cd906a7, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906a7-12e2-11dc-9fed-001143a055f9") ID2D1GradientStopCollection : public ID2D1Resource { virtual UINT32 STDMETHODCALLTYPE GetGradientStopCount( ) = 0; virtual void STDMETHODCALLTYPE GetGradientStops( D2D1_GRADIENT_STOP *stops, UINT32 stop_count) = 0; virtual D2D1_GAMMA STDMETHODCALLTYPE GetColorInterpolationGamma( ) = 0; virtual D2D1_EXTEND_MODE STDMETHODCALLTYPE GetExtendMode( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1GradientStopCollection, 0x2cd906a7, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1GradientStopCollectionVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1GradientStopCollection *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1GradientStopCollection *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1GradientStopCollection *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1GradientStopCollection *This, ID2D1Factory **factory); /*** ID2D1GradientStopCollection methods ***/ UINT32 (STDMETHODCALLTYPE *GetGradientStopCount)( ID2D1GradientStopCollection *This); void (STDMETHODCALLTYPE *GetGradientStops)( ID2D1GradientStopCollection *This, D2D1_GRADIENT_STOP *stops, UINT32 stop_count); D2D1_GAMMA (STDMETHODCALLTYPE *GetColorInterpolationGamma)( ID2D1GradientStopCollection *This); D2D1_EXTEND_MODE (STDMETHODCALLTYPE *GetExtendMode)( ID2D1GradientStopCollection *This); END_INTERFACE } ID2D1GradientStopCollectionVtbl; interface ID2D1GradientStopCollection { CONST_VTBL ID2D1GradientStopCollectionVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1GradientStopCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1GradientStopCollection_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1GradientStopCollection_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1GradientStopCollection_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1GradientStopCollection methods ***/ #define ID2D1GradientStopCollection_GetGradientStopCount(This) (This)->lpVtbl->GetGradientStopCount(This) #define ID2D1GradientStopCollection_GetGradientStops(This,stops,stop_count) (This)->lpVtbl->GetGradientStops(This,stops,stop_count) #define ID2D1GradientStopCollection_GetColorInterpolationGamma(This) (This)->lpVtbl->GetColorInterpolationGamma(This) #define ID2D1GradientStopCollection_GetExtendMode(This) (This)->lpVtbl->GetExtendMode(This) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1GradientStopCollection_QueryInterface(ID2D1GradientStopCollection* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1GradientStopCollection_AddRef(ID2D1GradientStopCollection* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1GradientStopCollection_Release(ID2D1GradientStopCollection* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1GradientStopCollection_GetFactory(ID2D1GradientStopCollection* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1GradientStopCollection methods ***/ static inline UINT32 ID2D1GradientStopCollection_GetGradientStopCount(ID2D1GradientStopCollection* This) { return This->lpVtbl->GetGradientStopCount(This); } static inline void ID2D1GradientStopCollection_GetGradientStops(ID2D1GradientStopCollection* This,D2D1_GRADIENT_STOP *stops,UINT32 stop_count) { This->lpVtbl->GetGradientStops(This,stops,stop_count); } static inline D2D1_GAMMA ID2D1GradientStopCollection_GetColorInterpolationGamma(ID2D1GradientStopCollection* This) { return This->lpVtbl->GetColorInterpolationGamma(This); } static inline D2D1_EXTEND_MODE ID2D1GradientStopCollection_GetExtendMode(ID2D1GradientStopCollection* This) { return This->lpVtbl->GetExtendMode(This); } #endif #endif #endif #endif /* __ID2D1GradientStopCollection_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1LinearGradientBrush interface */ #ifndef __ID2D1LinearGradientBrush_INTERFACE_DEFINED__ #define __ID2D1LinearGradientBrush_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1LinearGradientBrush, 0x2cd906ab, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906ab-12e2-11dc-9fed-001143a055f9") ID2D1LinearGradientBrush : public ID2D1Brush { virtual void STDMETHODCALLTYPE SetStartPoint( D2D1_POINT_2F start_point) = 0; virtual void STDMETHODCALLTYPE SetEndPoint( D2D1_POINT_2F end_point) = 0; #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetStartPoint( D2D1_POINT_2F *__ret) = 0; D2D1_POINT_2F STDMETHODCALLTYPE GetStartPoint( ) { D2D1_POINT_2F __ret; return *GetStartPoint(&__ret); } #else virtual D2D1_POINT_2F STDMETHODCALLTYPE GetStartPoint( ) = 0; #endif #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetEndPoint( D2D1_POINT_2F *__ret) = 0; D2D1_POINT_2F STDMETHODCALLTYPE GetEndPoint( ) { D2D1_POINT_2F __ret; return *GetEndPoint(&__ret); } #else virtual D2D1_POINT_2F STDMETHODCALLTYPE GetEndPoint( ) = 0; #endif virtual void STDMETHODCALLTYPE GetGradientStopCollection( ID2D1GradientStopCollection **gradient) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1LinearGradientBrush, 0x2cd906ab, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1LinearGradientBrushVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1LinearGradientBrush *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1LinearGradientBrush *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1LinearGradientBrush *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1LinearGradientBrush *This, ID2D1Factory **factory); /*** ID2D1Brush methods ***/ void (STDMETHODCALLTYPE *SetOpacity)( ID2D1LinearGradientBrush *This, float opacity); void (STDMETHODCALLTYPE *SetTransform)( ID2D1LinearGradientBrush *This, const D2D1_MATRIX_3X2_F *transform); float (STDMETHODCALLTYPE *GetOpacity)( ID2D1LinearGradientBrush *This); void (STDMETHODCALLTYPE *GetTransform)( ID2D1LinearGradientBrush *This, D2D1_MATRIX_3X2_F *transform); /*** ID2D1LinearGradientBrush methods ***/ void (STDMETHODCALLTYPE *SetStartPoint)( ID2D1LinearGradientBrush *This, D2D1_POINT_2F start_point); void (STDMETHODCALLTYPE *SetEndPoint)( ID2D1LinearGradientBrush *This, D2D1_POINT_2F end_point); D2D1_POINT_2F * (STDMETHODCALLTYPE *GetStartPoint)( ID2D1LinearGradientBrush *This, D2D1_POINT_2F *__ret); D2D1_POINT_2F * (STDMETHODCALLTYPE *GetEndPoint)( ID2D1LinearGradientBrush *This, D2D1_POINT_2F *__ret); void (STDMETHODCALLTYPE *GetGradientStopCollection)( ID2D1LinearGradientBrush *This, ID2D1GradientStopCollection **gradient); END_INTERFACE } ID2D1LinearGradientBrushVtbl; interface ID2D1LinearGradientBrush { CONST_VTBL ID2D1LinearGradientBrushVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1LinearGradientBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1LinearGradientBrush_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1LinearGradientBrush_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1LinearGradientBrush_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Brush methods ***/ #define ID2D1LinearGradientBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) #define ID2D1LinearGradientBrush_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1LinearGradientBrush_GetOpacity(This) (This)->lpVtbl->GetOpacity(This) #define ID2D1LinearGradientBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) /*** ID2D1LinearGradientBrush methods ***/ #define ID2D1LinearGradientBrush_SetStartPoint(This,start_point) (This)->lpVtbl->SetStartPoint(This,start_point) #define ID2D1LinearGradientBrush_SetEndPoint(This,end_point) (This)->lpVtbl->SetEndPoint(This,end_point) #define ID2D1LinearGradientBrush_GetStartPoint(This) ID2D1LinearGradientBrush_GetStartPoint_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1LinearGradientBrush_GetEndPoint(This) ID2D1LinearGradientBrush_GetEndPoint_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1LinearGradientBrush_GetGradientStopCollection(This,gradient) (This)->lpVtbl->GetGradientStopCollection(This,gradient) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1LinearGradientBrush_QueryInterface(ID2D1LinearGradientBrush* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1LinearGradientBrush_AddRef(ID2D1LinearGradientBrush* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1LinearGradientBrush_Release(ID2D1LinearGradientBrush* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1LinearGradientBrush_GetFactory(ID2D1LinearGradientBrush* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Brush methods ***/ static inline void ID2D1LinearGradientBrush_SetOpacity(ID2D1LinearGradientBrush* This,float opacity) { This->lpVtbl->SetOpacity(This,opacity); } static inline void ID2D1LinearGradientBrush_SetTransform(ID2D1LinearGradientBrush* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline float ID2D1LinearGradientBrush_GetOpacity(ID2D1LinearGradientBrush* This) { return This->lpVtbl->GetOpacity(This); } static inline void ID2D1LinearGradientBrush_GetTransform(ID2D1LinearGradientBrush* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } /*** ID2D1LinearGradientBrush methods ***/ static inline void ID2D1LinearGradientBrush_SetStartPoint(ID2D1LinearGradientBrush* This,D2D1_POINT_2F start_point) { This->lpVtbl->SetStartPoint(This,start_point); } static inline void ID2D1LinearGradientBrush_SetEndPoint(ID2D1LinearGradientBrush* This,D2D1_POINT_2F end_point) { This->lpVtbl->SetEndPoint(This,end_point); } static inline D2D1_POINT_2F ID2D1LinearGradientBrush_GetStartPoint(ID2D1LinearGradientBrush* This) { D2D1_POINT_2F __ret; return *This->lpVtbl->GetStartPoint(This,&__ret); } static inline D2D1_POINT_2F ID2D1LinearGradientBrush_GetEndPoint(ID2D1LinearGradientBrush* This) { D2D1_POINT_2F __ret; return *This->lpVtbl->GetEndPoint(This,&__ret); } static inline void ID2D1LinearGradientBrush_GetGradientStopCollection(ID2D1LinearGradientBrush* This,ID2D1GradientStopCollection **gradient) { This->lpVtbl->GetGradientStopCollection(This,gradient); } #endif #endif #endif #endif /* __ID2D1LinearGradientBrush_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1RadialGradientBrush interface */ #ifndef __ID2D1RadialGradientBrush_INTERFACE_DEFINED__ #define __ID2D1RadialGradientBrush_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1RadialGradientBrush, 0x2cd906ac, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906ac-12e2-11dc-9fed-001143a055f9") ID2D1RadialGradientBrush : public ID2D1Brush { virtual void STDMETHODCALLTYPE SetCenter( D2D1_POINT_2F center) = 0; virtual void STDMETHODCALLTYPE SetGradientOriginOffset( D2D1_POINT_2F offset) = 0; virtual void STDMETHODCALLTYPE SetRadiusX( float radius) = 0; virtual void STDMETHODCALLTYPE SetRadiusY( float radius) = 0; #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetCenter( D2D1_POINT_2F *__ret) = 0; D2D1_POINT_2F STDMETHODCALLTYPE GetCenter( ) { D2D1_POINT_2F __ret; return *GetCenter(&__ret); } #else virtual D2D1_POINT_2F STDMETHODCALLTYPE GetCenter( ) = 0; #endif #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetGradientOriginOffset( D2D1_POINT_2F *__ret) = 0; D2D1_POINT_2F STDMETHODCALLTYPE GetGradientOriginOffset( ) { D2D1_POINT_2F __ret; return *GetGradientOriginOffset(&__ret); } #else virtual D2D1_POINT_2F STDMETHODCALLTYPE GetGradientOriginOffset( ) = 0; #endif virtual float STDMETHODCALLTYPE GetRadiusX( ) = 0; virtual float STDMETHODCALLTYPE GetRadiusY( ) = 0; virtual void STDMETHODCALLTYPE GetGradientStopCollection( ID2D1GradientStopCollection **gradient) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1RadialGradientBrush, 0x2cd906ac, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1RadialGradientBrushVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1RadialGradientBrush *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1RadialGradientBrush *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1RadialGradientBrush *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1RadialGradientBrush *This, ID2D1Factory **factory); /*** ID2D1Brush methods ***/ void (STDMETHODCALLTYPE *SetOpacity)( ID2D1RadialGradientBrush *This, float opacity); void (STDMETHODCALLTYPE *SetTransform)( ID2D1RadialGradientBrush *This, const D2D1_MATRIX_3X2_F *transform); float (STDMETHODCALLTYPE *GetOpacity)( ID2D1RadialGradientBrush *This); void (STDMETHODCALLTYPE *GetTransform)( ID2D1RadialGradientBrush *This, D2D1_MATRIX_3X2_F *transform); /*** ID2D1RadialGradientBrush methods ***/ void (STDMETHODCALLTYPE *SetCenter)( ID2D1RadialGradientBrush *This, D2D1_POINT_2F center); void (STDMETHODCALLTYPE *SetGradientOriginOffset)( ID2D1RadialGradientBrush *This, D2D1_POINT_2F offset); void (STDMETHODCALLTYPE *SetRadiusX)( ID2D1RadialGradientBrush *This, float radius); void (STDMETHODCALLTYPE *SetRadiusY)( ID2D1RadialGradientBrush *This, float radius); D2D1_POINT_2F * (STDMETHODCALLTYPE *GetCenter)( ID2D1RadialGradientBrush *This, D2D1_POINT_2F *__ret); D2D1_POINT_2F * (STDMETHODCALLTYPE *GetGradientOriginOffset)( ID2D1RadialGradientBrush *This, D2D1_POINT_2F *__ret); float (STDMETHODCALLTYPE *GetRadiusX)( ID2D1RadialGradientBrush *This); float (STDMETHODCALLTYPE *GetRadiusY)( ID2D1RadialGradientBrush *This); void (STDMETHODCALLTYPE *GetGradientStopCollection)( ID2D1RadialGradientBrush *This, ID2D1GradientStopCollection **gradient); END_INTERFACE } ID2D1RadialGradientBrushVtbl; interface ID2D1RadialGradientBrush { CONST_VTBL ID2D1RadialGradientBrushVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1RadialGradientBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1RadialGradientBrush_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1RadialGradientBrush_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1RadialGradientBrush_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Brush methods ***/ #define ID2D1RadialGradientBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) #define ID2D1RadialGradientBrush_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1RadialGradientBrush_GetOpacity(This) (This)->lpVtbl->GetOpacity(This) #define ID2D1RadialGradientBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) /*** ID2D1RadialGradientBrush methods ***/ #define ID2D1RadialGradientBrush_SetCenter(This,center) (This)->lpVtbl->SetCenter(This,center) #define ID2D1RadialGradientBrush_SetGradientOriginOffset(This,offset) (This)->lpVtbl->SetGradientOriginOffset(This,offset) #define ID2D1RadialGradientBrush_SetRadiusX(This,radius) (This)->lpVtbl->SetRadiusX(This,radius) #define ID2D1RadialGradientBrush_SetRadiusY(This,radius) (This)->lpVtbl->SetRadiusY(This,radius) #define ID2D1RadialGradientBrush_GetCenter(This) ID2D1RadialGradientBrush_GetCenter_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1RadialGradientBrush_GetGradientOriginOffset(This) ID2D1RadialGradientBrush_GetGradientOriginOffset_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1RadialGradientBrush_GetRadiusX(This) (This)->lpVtbl->GetRadiusX(This) #define ID2D1RadialGradientBrush_GetRadiusY(This) (This)->lpVtbl->GetRadiusY(This) #define ID2D1RadialGradientBrush_GetGradientStopCollection(This,gradient) (This)->lpVtbl->GetGradientStopCollection(This,gradient) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1RadialGradientBrush_QueryInterface(ID2D1RadialGradientBrush* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1RadialGradientBrush_AddRef(ID2D1RadialGradientBrush* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1RadialGradientBrush_Release(ID2D1RadialGradientBrush* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1RadialGradientBrush_GetFactory(ID2D1RadialGradientBrush* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Brush methods ***/ static inline void ID2D1RadialGradientBrush_SetOpacity(ID2D1RadialGradientBrush* This,float opacity) { This->lpVtbl->SetOpacity(This,opacity); } static inline void ID2D1RadialGradientBrush_SetTransform(ID2D1RadialGradientBrush* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline float ID2D1RadialGradientBrush_GetOpacity(ID2D1RadialGradientBrush* This) { return This->lpVtbl->GetOpacity(This); } static inline void ID2D1RadialGradientBrush_GetTransform(ID2D1RadialGradientBrush* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } /*** ID2D1RadialGradientBrush methods ***/ static inline void ID2D1RadialGradientBrush_SetCenter(ID2D1RadialGradientBrush* This,D2D1_POINT_2F center) { This->lpVtbl->SetCenter(This,center); } static inline void ID2D1RadialGradientBrush_SetGradientOriginOffset(ID2D1RadialGradientBrush* This,D2D1_POINT_2F offset) { This->lpVtbl->SetGradientOriginOffset(This,offset); } static inline void ID2D1RadialGradientBrush_SetRadiusX(ID2D1RadialGradientBrush* This,float radius) { This->lpVtbl->SetRadiusX(This,radius); } static inline void ID2D1RadialGradientBrush_SetRadiusY(ID2D1RadialGradientBrush* This,float radius) { This->lpVtbl->SetRadiusY(This,radius); } static inline D2D1_POINT_2F ID2D1RadialGradientBrush_GetCenter(ID2D1RadialGradientBrush* This) { D2D1_POINT_2F __ret; return *This->lpVtbl->GetCenter(This,&__ret); } static inline D2D1_POINT_2F ID2D1RadialGradientBrush_GetGradientOriginOffset(ID2D1RadialGradientBrush* This) { D2D1_POINT_2F __ret; return *This->lpVtbl->GetGradientOriginOffset(This,&__ret); } static inline float ID2D1RadialGradientBrush_GetRadiusX(ID2D1RadialGradientBrush* This) { return This->lpVtbl->GetRadiusX(This); } static inline float ID2D1RadialGradientBrush_GetRadiusY(ID2D1RadialGradientBrush* This) { return This->lpVtbl->GetRadiusY(This); } static inline void ID2D1RadialGradientBrush_GetGradientStopCollection(ID2D1RadialGradientBrush* This,ID2D1GradientStopCollection **gradient) { This->lpVtbl->GetGradientStopCollection(This,gradient); } #endif #endif #endif #endif /* __ID2D1RadialGradientBrush_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Layer interface */ #ifndef __ID2D1Layer_INTERFACE_DEFINED__ #define __ID2D1Layer_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Layer, 0x2cd9069b, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd9069b-12e2-11dc-9fed-001143a055f9") ID2D1Layer : public ID2D1Resource { #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_SIZE_F* STDMETHODCALLTYPE GetSize( D2D1_SIZE_F *__ret) = 0; D2D1_SIZE_F STDMETHODCALLTYPE GetSize( ) { D2D1_SIZE_F __ret; return *GetSize(&__ret); } #else virtual D2D1_SIZE_F STDMETHODCALLTYPE GetSize( ) = 0; #endif }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Layer, 0x2cd9069b, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1LayerVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Layer *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Layer *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Layer *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Layer *This, ID2D1Factory **factory); /*** ID2D1Layer methods ***/ D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1Layer *This, D2D1_SIZE_F *__ret); END_INTERFACE } ID2D1LayerVtbl; interface ID2D1Layer { CONST_VTBL ID2D1LayerVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Layer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Layer_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Layer_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Layer_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Layer methods ***/ #define ID2D1Layer_GetSize(This) ID2D1Layer_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Layer_QueryInterface(ID2D1Layer* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Layer_AddRef(ID2D1Layer* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Layer_Release(ID2D1Layer* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Layer_GetFactory(ID2D1Layer* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Layer methods ***/ static inline D2D1_SIZE_F ID2D1Layer_GetSize(ID2D1Layer* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } #endif #endif #endif #endif /* __ID2D1Layer_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Mesh interface */ #ifndef __ID2D1Mesh_INTERFACE_DEFINED__ #define __ID2D1Mesh_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Mesh, 0x2cd906c2, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd906c2-12e2-11dc-9fed-001143a055f9") ID2D1Mesh : public ID2D1Resource { virtual HRESULT STDMETHODCALLTYPE Open( ID2D1TessellationSink **sink) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Mesh, 0x2cd906c2, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1MeshVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Mesh *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Mesh *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Mesh *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1Mesh *This, ID2D1Factory **factory); /*** ID2D1Mesh methods ***/ HRESULT (STDMETHODCALLTYPE *Open)( ID2D1Mesh *This, ID2D1TessellationSink **sink); END_INTERFACE } ID2D1MeshVtbl; interface ID2D1Mesh { CONST_VTBL ID2D1MeshVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Mesh_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Mesh_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Mesh_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1Mesh_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1Mesh methods ***/ #define ID2D1Mesh_Open(This,sink) (This)->lpVtbl->Open(This,sink) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Mesh_QueryInterface(ID2D1Mesh* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Mesh_AddRef(ID2D1Mesh* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Mesh_Release(ID2D1Mesh* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1Mesh_GetFactory(ID2D1Mesh* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1Mesh methods ***/ static inline HRESULT ID2D1Mesh_Open(ID2D1Mesh* This,ID2D1TessellationSink **sink) { return This->lpVtbl->Open(This,sink); } #endif #endif #endif #endif /* __ID2D1Mesh_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1RenderTarget interface */ #ifndef __ID2D1RenderTarget_INTERFACE_DEFINED__ #define __ID2D1RenderTarget_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1RenderTarget, 0x2cd90694, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd90694-12e2-11dc-9fed-001143a055f9") ID2D1RenderTarget : public ID2D1Resource { virtual HRESULT STDMETHODCALLTYPE CreateBitmap( D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap) = 0; virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromWicBitmap( IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap) = 0; virtual HRESULT STDMETHODCALLTYPE CreateSharedBitmap( REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap) = 0; virtual HRESULT STDMETHODCALLTYPE CreateBitmapBrush( ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush) = 0; virtual HRESULT STDMETHODCALLTYPE CreateSolidColorBrush( const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush) = 0; virtual HRESULT STDMETHODCALLTYPE CreateGradientStopCollection( const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient) = 0; virtual HRESULT STDMETHODCALLTYPE CreateLinearGradientBrush( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush) = 0; virtual HRESULT STDMETHODCALLTYPE CreateRadialGradientBrush( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush) = 0; virtual HRESULT STDMETHODCALLTYPE CreateCompatibleRenderTarget( 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) = 0; virtual HRESULT STDMETHODCALLTYPE CreateLayer( const D2D1_SIZE_F *size, ID2D1Layer **layer) = 0; virtual HRESULT STDMETHODCALLTYPE CreateMesh( ID2D1Mesh **mesh) = 0; virtual void STDMETHODCALLTYPE DrawLine( D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style) = 0; virtual void STDMETHODCALLTYPE DrawRectangle( const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style) = 0; virtual void STDMETHODCALLTYPE FillRectangle( const D2D1_RECT_F *rect, ID2D1Brush *brush) = 0; virtual void STDMETHODCALLTYPE DrawRoundedRectangle( const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style) = 0; virtual void STDMETHODCALLTYPE FillRoundedRectangle( const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush) = 0; virtual void STDMETHODCALLTYPE DrawEllipse( const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style) = 0; virtual void STDMETHODCALLTYPE FillEllipse( const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush) = 0; virtual void STDMETHODCALLTYPE DrawGeometry( ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style) = 0; virtual void STDMETHODCALLTYPE FillGeometry( ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush) = 0; virtual void STDMETHODCALLTYPE FillMesh( ID2D1Mesh *mesh, ID2D1Brush *brush) = 0; virtual void STDMETHODCALLTYPE FillOpacityMask( ID2D1Bitmap *mask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *dst_rect, const D2D1_RECT_F *src_rect) = 0; virtual void STDMETHODCALLTYPE DrawBitmap( ID2D1Bitmap *bitmap, const D2D1_RECT_F *dst_rect, float opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode, const D2D1_RECT_F *src_rect) = 0; virtual void STDMETHODCALLTYPE DrawText( 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) = 0; virtual void STDMETHODCALLTYPE DrawTextLayout( D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options) = 0; virtual void STDMETHODCALLTYPE DrawGlyphRun( D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode) = 0; virtual void STDMETHODCALLTYPE SetTransform( const D2D1_MATRIX_3X2_F *transform) = 0; virtual void STDMETHODCALLTYPE GetTransform( D2D1_MATRIX_3X2_F *transform) = 0; virtual void STDMETHODCALLTYPE SetAntialiasMode( D2D1_ANTIALIAS_MODE antialias_mode) = 0; virtual D2D1_ANTIALIAS_MODE STDMETHODCALLTYPE GetAntialiasMode( ) = 0; virtual void STDMETHODCALLTYPE SetTextAntialiasMode( D2D1_TEXT_ANTIALIAS_MODE antialias_mode) = 0; virtual D2D1_TEXT_ANTIALIAS_MODE STDMETHODCALLTYPE GetTextAntialiasMode( ) = 0; virtual void STDMETHODCALLTYPE SetTextRenderingParams( IDWriteRenderingParams *text_rendering_params) = 0; virtual void STDMETHODCALLTYPE GetTextRenderingParams( IDWriteRenderingParams **text_rendering_params) = 0; virtual void STDMETHODCALLTYPE SetTags( D2D1_TAG tag1, D2D1_TAG tag2) = 0; virtual void STDMETHODCALLTYPE GetTags( D2D1_TAG *tag1, D2D1_TAG *tag2) = 0; virtual void STDMETHODCALLTYPE PushLayer( const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer) = 0; virtual void STDMETHODCALLTYPE PopLayer( ) = 0; virtual HRESULT STDMETHODCALLTYPE Flush( D2D1_TAG *tag1, D2D1_TAG *tag2) = 0; virtual void STDMETHODCALLTYPE SaveDrawingState( ID2D1DrawingStateBlock *state_block) = 0; virtual void STDMETHODCALLTYPE RestoreDrawingState( ID2D1DrawingStateBlock *state_block) = 0; virtual void STDMETHODCALLTYPE PushAxisAlignedClip( const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode) = 0; virtual void STDMETHODCALLTYPE PopAxisAlignedClip( ) = 0; virtual void STDMETHODCALLTYPE Clear( const D2D1_COLOR_F *color) = 0; virtual void STDMETHODCALLTYPE BeginDraw( ) = 0; virtual HRESULT STDMETHODCALLTYPE EndDraw( D2D1_TAG *tag1, D2D1_TAG *tag2) = 0; #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_PIXEL_FORMAT* STDMETHODCALLTYPE GetPixelFormat( D2D1_PIXEL_FORMAT *__ret) = 0; D2D1_PIXEL_FORMAT STDMETHODCALLTYPE GetPixelFormat( ) { D2D1_PIXEL_FORMAT __ret; return *GetPixelFormat(&__ret); } #else virtual D2D1_PIXEL_FORMAT STDMETHODCALLTYPE GetPixelFormat( ) = 0; #endif virtual void STDMETHODCALLTYPE SetDpi( float dpi_x, float dpi_y) = 0; virtual void STDMETHODCALLTYPE GetDpi( float *dpi_x, float *dpi_y) = 0; #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_SIZE_F* STDMETHODCALLTYPE GetSize( D2D1_SIZE_F *__ret) = 0; D2D1_SIZE_F STDMETHODCALLTYPE GetSize( ) { D2D1_SIZE_F __ret; return *GetSize(&__ret); } #else virtual D2D1_SIZE_F STDMETHODCALLTYPE GetSize( ) = 0; #endif #ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS virtual D2D1_SIZE_U* STDMETHODCALLTYPE GetPixelSize( D2D1_SIZE_U *__ret) = 0; D2D1_SIZE_U STDMETHODCALLTYPE GetPixelSize( ) { D2D1_SIZE_U __ret; return *GetPixelSize(&__ret); } #else virtual D2D1_SIZE_U STDMETHODCALLTYPE GetPixelSize( ) = 0; #endif virtual UINT32 STDMETHODCALLTYPE GetMaximumBitmapSize( ) = 0; virtual BOOL STDMETHODCALLTYPE IsSupported( const D2D1_RENDER_TARGET_PROPERTIES *desc) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1RenderTarget, 0x2cd90694, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1RenderTargetVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1RenderTarget *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1RenderTarget *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1RenderTarget *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1RenderTarget *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1RenderTarget *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1RenderTarget *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1RenderTarget *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1RenderTarget *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1RenderTarget *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1RenderTarget *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1RenderTarget *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1RenderTarget *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1RenderTarget *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)( ID2D1RenderTarget *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1RenderTarget *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1RenderTarget *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1RenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1RenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1RenderTarget *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1RenderTarget *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1RenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1RenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1RenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1RenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1RenderTarget *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1RenderTarget *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)( ID2D1RenderTarget *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)( ID2D1RenderTarget *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)( ID2D1RenderTarget *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1RenderTarget *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1RenderTarget *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1RenderTarget *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1RenderTarget *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1RenderTarget *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1RenderTarget *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1RenderTarget *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1RenderTarget *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1RenderTarget *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1RenderTarget *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1RenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1RenderTarget *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1RenderTarget *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1RenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1RenderTarget *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1RenderTarget *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1RenderTarget *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1RenderTarget *This); void (STDMETHODCALLTYPE *Clear)( ID2D1RenderTarget *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1RenderTarget *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1RenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1RenderTarget *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1RenderTarget *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1RenderTarget *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1RenderTarget *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1RenderTarget *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1RenderTarget *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1RenderTarget *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); END_INTERFACE } ID2D1RenderTargetVtbl; interface ID2D1RenderTarget { CONST_VTBL ID2D1RenderTargetVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1RenderTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1RenderTarget_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1RenderTarget_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1RenderTarget_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1RenderTarget_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1RenderTarget_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1RenderTarget_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1RenderTarget_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush) #define ID2D1RenderTarget_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1RenderTarget_CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient) (This)->lpVtbl->CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient) #define ID2D1RenderTarget_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1RenderTarget_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1RenderTarget_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1RenderTarget_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1RenderTarget_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1RenderTarget_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1RenderTarget_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1RenderTarget_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1RenderTarget_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1RenderTarget_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1RenderTarget_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1RenderTarget_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1RenderTarget_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1RenderTarget_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1RenderTarget_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1RenderTarget_FillOpacityMask(This,mask,brush,content,dst_rect,src_rect) (This)->lpVtbl->FillOpacityMask(This,mask,brush,content,dst_rect,src_rect) #define ID2D1RenderTarget_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect) (This)->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect) #define ID2D1RenderTarget_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 ID2D1RenderTarget_DrawTextLayout(This,origin,layout,brush,options) (This)->lpVtbl->DrawTextLayout(This,origin,layout,brush,options) #define ID2D1RenderTarget_DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode) (This)->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode) #define ID2D1RenderTarget_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1RenderTarget_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1RenderTarget_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1RenderTarget_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1RenderTarget_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1RenderTarget_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1RenderTarget_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1RenderTarget_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1RenderTarget_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1RenderTarget_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1RenderTarget_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->PushLayer(This,layer_parameters,layer) #define ID2D1RenderTarget_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1RenderTarget_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1RenderTarget_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1RenderTarget_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1RenderTarget_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1RenderTarget_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1RenderTarget_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1RenderTarget_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1RenderTarget_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1RenderTarget_GetPixelFormat(This) ID2D1RenderTarget_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1RenderTarget_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1RenderTarget_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1RenderTarget_GetSize(This) ID2D1RenderTarget_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1RenderTarget_GetPixelSize(This) ID2D1RenderTarget_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1RenderTarget_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1RenderTarget_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1RenderTarget_QueryInterface(ID2D1RenderTarget* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1RenderTarget_AddRef(ID2D1RenderTarget* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1RenderTarget_Release(ID2D1RenderTarget* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1RenderTarget_GetFactory(ID2D1RenderTarget* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1RenderTarget_CreateBitmap(ID2D1RenderTarget* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1RenderTarget_CreateBitmapFromWicBitmap(ID2D1RenderTarget* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1RenderTarget_CreateSharedBitmap(ID2D1RenderTarget* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1RenderTarget_CreateBitmapBrush(ID2D1RenderTarget* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush **brush) { return This->lpVtbl->CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1RenderTarget_CreateSolidColorBrush(ID2D1RenderTarget* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1RenderTarget_CreateGradientStopCollection(ID2D1RenderTarget* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_GAMMA gamma,D2D1_EXTEND_MODE extend_mode,ID2D1GradientStopCollection **gradient) { return This->lpVtbl->CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient); } static inline HRESULT ID2D1RenderTarget_CreateLinearGradientBrush(ID2D1RenderTarget* 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 ID2D1RenderTarget_CreateRadialGradientBrush(ID2D1RenderTarget* 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 ID2D1RenderTarget_CreateCompatibleRenderTarget(ID2D1RenderTarget* 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 ID2D1RenderTarget_CreateLayer(ID2D1RenderTarget* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1RenderTarget_CreateMesh(ID2D1RenderTarget* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1RenderTarget_DrawLine(ID2D1RenderTarget* 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 ID2D1RenderTarget_DrawRectangle(ID2D1RenderTarget* 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 ID2D1RenderTarget_FillRectangle(ID2D1RenderTarget* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1RenderTarget_DrawRoundedRectangle(ID2D1RenderTarget* 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 ID2D1RenderTarget_FillRoundedRectangle(ID2D1RenderTarget* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1RenderTarget_DrawEllipse(ID2D1RenderTarget* 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 ID2D1RenderTarget_FillEllipse(ID2D1RenderTarget* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1RenderTarget_DrawGeometry(ID2D1RenderTarget* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1RenderTarget_FillGeometry(ID2D1RenderTarget* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1RenderTarget_FillMesh(ID2D1RenderTarget* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1RenderTarget_FillOpacityMask(ID2D1RenderTarget* This,ID2D1Bitmap *mask,ID2D1Brush *brush,D2D1_OPACITY_MASK_CONTENT content,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->FillOpacityMask(This,mask,brush,content,dst_rect,src_rect); } static inline void ID2D1RenderTarget_DrawBitmap(ID2D1RenderTarget* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect) { This->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect); } static inline void ID2D1RenderTarget_DrawText(ID2D1RenderTarget* 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 ID2D1RenderTarget_DrawTextLayout(ID2D1RenderTarget* 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 ID2D1RenderTarget_DrawGlyphRun(ID2D1RenderTarget* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode); } static inline void ID2D1RenderTarget_SetTransform(ID2D1RenderTarget* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1RenderTarget_GetTransform(ID2D1RenderTarget* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1RenderTarget_SetAntialiasMode(ID2D1RenderTarget* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1RenderTarget_GetAntialiasMode(ID2D1RenderTarget* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1RenderTarget_SetTextAntialiasMode(ID2D1RenderTarget* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget_GetTextAntialiasMode(ID2D1RenderTarget* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1RenderTarget_SetTextRenderingParams(ID2D1RenderTarget* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1RenderTarget_GetTextRenderingParams(ID2D1RenderTarget* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1RenderTarget_SetTags(ID2D1RenderTarget* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1RenderTarget_GetTags(ID2D1RenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1RenderTarget_PushLayer(ID2D1RenderTarget* This,const D2D1_LAYER_PARAMETERS *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->PushLayer(This,layer_parameters,layer); } static inline void ID2D1RenderTarget_PopLayer(ID2D1RenderTarget* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1RenderTarget_Flush(ID2D1RenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1RenderTarget_SaveDrawingState(ID2D1RenderTarget* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1RenderTarget_RestoreDrawingState(ID2D1RenderTarget* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1RenderTarget_PushAxisAlignedClip(ID2D1RenderTarget* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1RenderTarget_PopAxisAlignedClip(ID2D1RenderTarget* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1RenderTarget_Clear(ID2D1RenderTarget* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1RenderTarget_BeginDraw(ID2D1RenderTarget* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1RenderTarget_EndDraw(ID2D1RenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1RenderTarget_GetPixelFormat(ID2D1RenderTarget* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1RenderTarget_SetDpi(ID2D1RenderTarget* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1RenderTarget_GetDpi(ID2D1RenderTarget* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1RenderTarget_GetSize(ID2D1RenderTarget* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1RenderTarget_GetPixelSize(ID2D1RenderTarget* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1RenderTarget_GetMaximumBitmapSize(ID2D1RenderTarget* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1RenderTarget_IsSupported(ID2D1RenderTarget* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } #endif #endif #endif #endif /* __ID2D1RenderTarget_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1BitmapRenderTarget interface */ #ifndef __ID2D1BitmapRenderTarget_INTERFACE_DEFINED__ #define __ID2D1BitmapRenderTarget_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1BitmapRenderTarget, 0x2cd90695, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd90695-12e2-11dc-9fed-001143a055f9") ID2D1BitmapRenderTarget : public ID2D1RenderTarget { virtual HRESULT STDMETHODCALLTYPE GetBitmap( ID2D1Bitmap **bitmap) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1BitmapRenderTarget, 0x2cd90695, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1BitmapRenderTargetVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1BitmapRenderTarget *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1BitmapRenderTarget *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1BitmapRenderTarget *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1BitmapRenderTarget *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1BitmapRenderTarget *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1BitmapRenderTarget *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1BitmapRenderTarget *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1BitmapRenderTarget *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1BitmapRenderTarget *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1BitmapRenderTarget *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1BitmapRenderTarget *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1BitmapRenderTarget *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1BitmapRenderTarget *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)( ID2D1BitmapRenderTarget *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1BitmapRenderTarget *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1BitmapRenderTarget *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1BitmapRenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1BitmapRenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1BitmapRenderTarget *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1BitmapRenderTarget *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1BitmapRenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1BitmapRenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1BitmapRenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1BitmapRenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1BitmapRenderTarget *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1BitmapRenderTarget *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)( ID2D1BitmapRenderTarget *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)( ID2D1BitmapRenderTarget *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)( ID2D1BitmapRenderTarget *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1BitmapRenderTarget *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1BitmapRenderTarget *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1BitmapRenderTarget *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1BitmapRenderTarget *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1BitmapRenderTarget *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1BitmapRenderTarget *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1BitmapRenderTarget *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1BitmapRenderTarget *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1BitmapRenderTarget *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1BitmapRenderTarget *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1BitmapRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1BitmapRenderTarget *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1BitmapRenderTarget *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1BitmapRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1BitmapRenderTarget *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1BitmapRenderTarget *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1BitmapRenderTarget *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1BitmapRenderTarget *This); void (STDMETHODCALLTYPE *Clear)( ID2D1BitmapRenderTarget *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1BitmapRenderTarget *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1BitmapRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1BitmapRenderTarget *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1BitmapRenderTarget *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1BitmapRenderTarget *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1BitmapRenderTarget *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1BitmapRenderTarget *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1BitmapRenderTarget *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1BitmapRenderTarget *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1BitmapRenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *GetBitmap)( ID2D1BitmapRenderTarget *This, ID2D1Bitmap **bitmap); END_INTERFACE } ID2D1BitmapRenderTargetVtbl; interface ID2D1BitmapRenderTarget { CONST_VTBL ID2D1BitmapRenderTargetVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1BitmapRenderTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1BitmapRenderTarget_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1BitmapRenderTarget_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1BitmapRenderTarget_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1BitmapRenderTarget_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1BitmapRenderTarget_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1BitmapRenderTarget_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1BitmapRenderTarget_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush) #define ID2D1BitmapRenderTarget_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1BitmapRenderTarget_CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient) (This)->lpVtbl->CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient) #define ID2D1BitmapRenderTarget_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1BitmapRenderTarget_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1BitmapRenderTarget_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1BitmapRenderTarget_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1BitmapRenderTarget_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1BitmapRenderTarget_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1BitmapRenderTarget_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1BitmapRenderTarget_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1BitmapRenderTarget_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1BitmapRenderTarget_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1BitmapRenderTarget_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1BitmapRenderTarget_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1BitmapRenderTarget_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1BitmapRenderTarget_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1BitmapRenderTarget_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1BitmapRenderTarget_FillOpacityMask(This,mask,brush,content,dst_rect,src_rect) (This)->lpVtbl->FillOpacityMask(This,mask,brush,content,dst_rect,src_rect) #define ID2D1BitmapRenderTarget_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect) (This)->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect) #define ID2D1BitmapRenderTarget_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 ID2D1BitmapRenderTarget_DrawTextLayout(This,origin,layout,brush,options) (This)->lpVtbl->DrawTextLayout(This,origin,layout,brush,options) #define ID2D1BitmapRenderTarget_DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode) (This)->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode) #define ID2D1BitmapRenderTarget_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1BitmapRenderTarget_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1BitmapRenderTarget_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1BitmapRenderTarget_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1BitmapRenderTarget_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1BitmapRenderTarget_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1BitmapRenderTarget_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1BitmapRenderTarget_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1BitmapRenderTarget_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1BitmapRenderTarget_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1BitmapRenderTarget_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->PushLayer(This,layer_parameters,layer) #define ID2D1BitmapRenderTarget_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1BitmapRenderTarget_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1BitmapRenderTarget_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1BitmapRenderTarget_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1BitmapRenderTarget_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1BitmapRenderTarget_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1BitmapRenderTarget_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1BitmapRenderTarget_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1BitmapRenderTarget_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1BitmapRenderTarget_GetPixelFormat(This) ID2D1BitmapRenderTarget_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1BitmapRenderTarget_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1BitmapRenderTarget_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1BitmapRenderTarget_GetSize(This) ID2D1BitmapRenderTarget_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1BitmapRenderTarget_GetPixelSize(This) ID2D1BitmapRenderTarget_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1BitmapRenderTarget_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1BitmapRenderTarget_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1BitmapRenderTarget methods ***/ #define ID2D1BitmapRenderTarget_GetBitmap(This,bitmap) (This)->lpVtbl->GetBitmap(This,bitmap) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1BitmapRenderTarget_QueryInterface(ID2D1BitmapRenderTarget* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1BitmapRenderTarget_AddRef(ID2D1BitmapRenderTarget* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1BitmapRenderTarget_Release(ID2D1BitmapRenderTarget* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1BitmapRenderTarget_GetFactory(ID2D1BitmapRenderTarget* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1BitmapRenderTarget_CreateBitmap(ID2D1BitmapRenderTarget* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1BitmapRenderTarget_CreateBitmapFromWicBitmap(ID2D1BitmapRenderTarget* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1BitmapRenderTarget_CreateSharedBitmap(ID2D1BitmapRenderTarget* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1BitmapRenderTarget_CreateBitmapBrush(ID2D1BitmapRenderTarget* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush **brush) { return This->lpVtbl->CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1BitmapRenderTarget_CreateSolidColorBrush(ID2D1BitmapRenderTarget* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1BitmapRenderTarget_CreateGradientStopCollection(ID2D1BitmapRenderTarget* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_GAMMA gamma,D2D1_EXTEND_MODE extend_mode,ID2D1GradientStopCollection **gradient) { return This->lpVtbl->CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient); } static inline HRESULT ID2D1BitmapRenderTarget_CreateLinearGradientBrush(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_CreateRadialGradientBrush(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_CreateCompatibleRenderTarget(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_CreateLayer(ID2D1BitmapRenderTarget* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1BitmapRenderTarget_CreateMesh(ID2D1BitmapRenderTarget* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1BitmapRenderTarget_DrawLine(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_DrawRectangle(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_FillRectangle(ID2D1BitmapRenderTarget* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1BitmapRenderTarget_DrawRoundedRectangle(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_FillRoundedRectangle(ID2D1BitmapRenderTarget* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1BitmapRenderTarget_DrawEllipse(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_FillEllipse(ID2D1BitmapRenderTarget* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1BitmapRenderTarget_DrawGeometry(ID2D1BitmapRenderTarget* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1BitmapRenderTarget_FillGeometry(ID2D1BitmapRenderTarget* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1BitmapRenderTarget_FillMesh(ID2D1BitmapRenderTarget* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1BitmapRenderTarget_FillOpacityMask(ID2D1BitmapRenderTarget* This,ID2D1Bitmap *mask,ID2D1Brush *brush,D2D1_OPACITY_MASK_CONTENT content,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->FillOpacityMask(This,mask,brush,content,dst_rect,src_rect); } static inline void ID2D1BitmapRenderTarget_DrawBitmap(ID2D1BitmapRenderTarget* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect) { This->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect); } static inline void ID2D1BitmapRenderTarget_DrawText(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_DrawTextLayout(ID2D1BitmapRenderTarget* 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 ID2D1BitmapRenderTarget_DrawGlyphRun(ID2D1BitmapRenderTarget* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode); } static inline void ID2D1BitmapRenderTarget_SetTransform(ID2D1BitmapRenderTarget* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1BitmapRenderTarget_GetTransform(ID2D1BitmapRenderTarget* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1BitmapRenderTarget_SetAntialiasMode(ID2D1BitmapRenderTarget* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1BitmapRenderTarget_GetAntialiasMode(ID2D1BitmapRenderTarget* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1BitmapRenderTarget_SetTextAntialiasMode(ID2D1BitmapRenderTarget* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1BitmapRenderTarget_GetTextAntialiasMode(ID2D1BitmapRenderTarget* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1BitmapRenderTarget_SetTextRenderingParams(ID2D1BitmapRenderTarget* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1BitmapRenderTarget_GetTextRenderingParams(ID2D1BitmapRenderTarget* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1BitmapRenderTarget_SetTags(ID2D1BitmapRenderTarget* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1BitmapRenderTarget_GetTags(ID2D1BitmapRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1BitmapRenderTarget_PushLayer(ID2D1BitmapRenderTarget* This,const D2D1_LAYER_PARAMETERS *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->PushLayer(This,layer_parameters,layer); } static inline void ID2D1BitmapRenderTarget_PopLayer(ID2D1BitmapRenderTarget* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1BitmapRenderTarget_Flush(ID2D1BitmapRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1BitmapRenderTarget_SaveDrawingState(ID2D1BitmapRenderTarget* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1BitmapRenderTarget_RestoreDrawingState(ID2D1BitmapRenderTarget* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1BitmapRenderTarget_PushAxisAlignedClip(ID2D1BitmapRenderTarget* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1BitmapRenderTarget_PopAxisAlignedClip(ID2D1BitmapRenderTarget* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1BitmapRenderTarget_Clear(ID2D1BitmapRenderTarget* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1BitmapRenderTarget_BeginDraw(ID2D1BitmapRenderTarget* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1BitmapRenderTarget_EndDraw(ID2D1BitmapRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1BitmapRenderTarget_GetPixelFormat(ID2D1BitmapRenderTarget* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1BitmapRenderTarget_SetDpi(ID2D1BitmapRenderTarget* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1BitmapRenderTarget_GetDpi(ID2D1BitmapRenderTarget* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1BitmapRenderTarget_GetSize(ID2D1BitmapRenderTarget* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1BitmapRenderTarget_GetPixelSize(ID2D1BitmapRenderTarget* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1BitmapRenderTarget_GetMaximumBitmapSize(ID2D1BitmapRenderTarget* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1BitmapRenderTarget_IsSupported(ID2D1BitmapRenderTarget* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1BitmapRenderTarget methods ***/ static inline HRESULT ID2D1BitmapRenderTarget_GetBitmap(ID2D1BitmapRenderTarget* This,ID2D1Bitmap **bitmap) { return This->lpVtbl->GetBitmap(This,bitmap); } #endif #endif #endif #endif /* __ID2D1BitmapRenderTarget_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1HwndRenderTarget interface */ #ifndef __ID2D1HwndRenderTarget_INTERFACE_DEFINED__ #define __ID2D1HwndRenderTarget_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1HwndRenderTarget, 0x2cd90698, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd90698-12e2-11dc-9fed-001143a055f9") ID2D1HwndRenderTarget : public ID2D1RenderTarget { virtual D2D1_WINDOW_STATE STDMETHODCALLTYPE CheckWindowState( ) = 0; virtual HRESULT STDMETHODCALLTYPE Resize( const D2D1_SIZE_U *size) = 0; virtual HWND STDMETHODCALLTYPE GetHwnd( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1HwndRenderTarget, 0x2cd90698, 0x12e2, 0x11dc, 0x9f,0xed, 0x00,0x11,0x43,0xa0,0x55,0xf9) #endif #else typedef struct ID2D1HwndRenderTargetVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1HwndRenderTarget *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1HwndRenderTarget *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1HwndRenderTarget *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1HwndRenderTarget *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1HwndRenderTarget *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1HwndRenderTarget *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1HwndRenderTarget *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1HwndRenderTarget *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1HwndRenderTarget *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1HwndRenderTarget *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1HwndRenderTarget *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1HwndRenderTarget *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1HwndRenderTarget *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)( ID2D1HwndRenderTarget *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1HwndRenderTarget *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1HwndRenderTarget *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1HwndRenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1HwndRenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1HwndRenderTarget *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1HwndRenderTarget *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1HwndRenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1HwndRenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1HwndRenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1HwndRenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1HwndRenderTarget *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1HwndRenderTarget *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)( ID2D1HwndRenderTarget *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)( ID2D1HwndRenderTarget *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)( ID2D1HwndRenderTarget *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1HwndRenderTarget *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1HwndRenderTarget *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1HwndRenderTarget *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1HwndRenderTarget *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1HwndRenderTarget *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1HwndRenderTarget *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1HwndRenderTarget *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1HwndRenderTarget *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1HwndRenderTarget *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1HwndRenderTarget *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1HwndRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1HwndRenderTarget *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1HwndRenderTarget *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1HwndRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1HwndRenderTarget *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1HwndRenderTarget *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1HwndRenderTarget *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1HwndRenderTarget *This); void (STDMETHODCALLTYPE *Clear)( ID2D1HwndRenderTarget *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1HwndRenderTarget *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1HwndRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1HwndRenderTarget *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1HwndRenderTarget *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1HwndRenderTarget *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1HwndRenderTarget *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1HwndRenderTarget *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1HwndRenderTarget *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1HwndRenderTarget *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1HwndRenderTarget methods ***/ D2D1_WINDOW_STATE (STDMETHODCALLTYPE *CheckWindowState)( ID2D1HwndRenderTarget *This); HRESULT (STDMETHODCALLTYPE *Resize)( ID2D1HwndRenderTarget *This, const D2D1_SIZE_U *size); HWND (STDMETHODCALLTYPE *GetHwnd)( ID2D1HwndRenderTarget *This); END_INTERFACE } ID2D1HwndRenderTargetVtbl; interface ID2D1HwndRenderTarget { CONST_VTBL ID2D1HwndRenderTargetVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1HwndRenderTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1HwndRenderTarget_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1HwndRenderTarget_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1HwndRenderTarget_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1HwndRenderTarget_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1HwndRenderTarget_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1HwndRenderTarget_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1HwndRenderTarget_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush) #define ID2D1HwndRenderTarget_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1HwndRenderTarget_CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient) (This)->lpVtbl->CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient) #define ID2D1HwndRenderTarget_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1HwndRenderTarget_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1HwndRenderTarget_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1HwndRenderTarget_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1HwndRenderTarget_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1HwndRenderTarget_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1HwndRenderTarget_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1HwndRenderTarget_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1HwndRenderTarget_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1HwndRenderTarget_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1HwndRenderTarget_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1HwndRenderTarget_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1HwndRenderTarget_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1HwndRenderTarget_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1HwndRenderTarget_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1HwndRenderTarget_FillOpacityMask(This,mask,brush,content,dst_rect,src_rect) (This)->lpVtbl->FillOpacityMask(This,mask,brush,content,dst_rect,src_rect) #define ID2D1HwndRenderTarget_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect) (This)->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect) #define ID2D1HwndRenderTarget_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 ID2D1HwndRenderTarget_DrawTextLayout(This,origin,layout,brush,options) (This)->lpVtbl->DrawTextLayout(This,origin,layout,brush,options) #define ID2D1HwndRenderTarget_DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode) (This)->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode) #define ID2D1HwndRenderTarget_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1HwndRenderTarget_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1HwndRenderTarget_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1HwndRenderTarget_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1HwndRenderTarget_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1HwndRenderTarget_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1HwndRenderTarget_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1HwndRenderTarget_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1HwndRenderTarget_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1HwndRenderTarget_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1HwndRenderTarget_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->PushLayer(This,layer_parameters,layer) #define ID2D1HwndRenderTarget_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1HwndRenderTarget_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1HwndRenderTarget_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1HwndRenderTarget_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1HwndRenderTarget_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1HwndRenderTarget_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1HwndRenderTarget_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1HwndRenderTarget_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1HwndRenderTarget_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1HwndRenderTarget_GetPixelFormat(This) ID2D1HwndRenderTarget_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1HwndRenderTarget_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1HwndRenderTarget_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1HwndRenderTarget_GetSize(This) ID2D1HwndRenderTarget_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1HwndRenderTarget_GetPixelSize(This) ID2D1HwndRenderTarget_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1HwndRenderTarget_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1HwndRenderTarget_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1HwndRenderTarget methods ***/ #define ID2D1HwndRenderTarget_CheckWindowState(This) (This)->lpVtbl->CheckWindowState(This) #define ID2D1HwndRenderTarget_Resize(This,size) (This)->lpVtbl->Resize(This,size) #define ID2D1HwndRenderTarget_GetHwnd(This) (This)->lpVtbl->GetHwnd(This) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1HwndRenderTarget_QueryInterface(ID2D1HwndRenderTarget* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1HwndRenderTarget_AddRef(ID2D1HwndRenderTarget* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1HwndRenderTarget_Release(ID2D1HwndRenderTarget* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1HwndRenderTarget_GetFactory(ID2D1HwndRenderTarget* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1HwndRenderTarget_CreateBitmap(ID2D1HwndRenderTarget* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1HwndRenderTarget_CreateBitmapFromWicBitmap(ID2D1HwndRenderTarget* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1HwndRenderTarget_CreateSharedBitmap(ID2D1HwndRenderTarget* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1HwndRenderTarget_CreateBitmapBrush(ID2D1HwndRenderTarget* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush **brush) { return This->lpVtbl->CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1HwndRenderTarget_CreateSolidColorBrush(ID2D1HwndRenderTarget* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1HwndRenderTarget_CreateGradientStopCollection(ID2D1HwndRenderTarget* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_GAMMA gamma,D2D1_EXTEND_MODE extend_mode,ID2D1GradientStopCollection **gradient) { return This->lpVtbl->CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient); } static inline HRESULT ID2D1HwndRenderTarget_CreateLinearGradientBrush(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_CreateRadialGradientBrush(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_CreateCompatibleRenderTarget(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_CreateLayer(ID2D1HwndRenderTarget* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1HwndRenderTarget_CreateMesh(ID2D1HwndRenderTarget* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1HwndRenderTarget_DrawLine(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_DrawRectangle(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_FillRectangle(ID2D1HwndRenderTarget* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1HwndRenderTarget_DrawRoundedRectangle(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_FillRoundedRectangle(ID2D1HwndRenderTarget* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1HwndRenderTarget_DrawEllipse(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_FillEllipse(ID2D1HwndRenderTarget* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1HwndRenderTarget_DrawGeometry(ID2D1HwndRenderTarget* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1HwndRenderTarget_FillGeometry(ID2D1HwndRenderTarget* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1HwndRenderTarget_FillMesh(ID2D1HwndRenderTarget* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1HwndRenderTarget_FillOpacityMask(ID2D1HwndRenderTarget* This,ID2D1Bitmap *mask,ID2D1Brush *brush,D2D1_OPACITY_MASK_CONTENT content,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->FillOpacityMask(This,mask,brush,content,dst_rect,src_rect); } static inline void ID2D1HwndRenderTarget_DrawBitmap(ID2D1HwndRenderTarget* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect) { This->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect); } static inline void ID2D1HwndRenderTarget_DrawText(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_DrawTextLayout(ID2D1HwndRenderTarget* 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 ID2D1HwndRenderTarget_DrawGlyphRun(ID2D1HwndRenderTarget* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode); } static inline void ID2D1HwndRenderTarget_SetTransform(ID2D1HwndRenderTarget* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1HwndRenderTarget_GetTransform(ID2D1HwndRenderTarget* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1HwndRenderTarget_SetAntialiasMode(ID2D1HwndRenderTarget* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1HwndRenderTarget_GetAntialiasMode(ID2D1HwndRenderTarget* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1HwndRenderTarget_SetTextAntialiasMode(ID2D1HwndRenderTarget* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1HwndRenderTarget_GetTextAntialiasMode(ID2D1HwndRenderTarget* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1HwndRenderTarget_SetTextRenderingParams(ID2D1HwndRenderTarget* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1HwndRenderTarget_GetTextRenderingParams(ID2D1HwndRenderTarget* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1HwndRenderTarget_SetTags(ID2D1HwndRenderTarget* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1HwndRenderTarget_GetTags(ID2D1HwndRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1HwndRenderTarget_PushLayer(ID2D1HwndRenderTarget* This,const D2D1_LAYER_PARAMETERS *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->PushLayer(This,layer_parameters,layer); } static inline void ID2D1HwndRenderTarget_PopLayer(ID2D1HwndRenderTarget* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1HwndRenderTarget_Flush(ID2D1HwndRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1HwndRenderTarget_SaveDrawingState(ID2D1HwndRenderTarget* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1HwndRenderTarget_RestoreDrawingState(ID2D1HwndRenderTarget* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1HwndRenderTarget_PushAxisAlignedClip(ID2D1HwndRenderTarget* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1HwndRenderTarget_PopAxisAlignedClip(ID2D1HwndRenderTarget* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1HwndRenderTarget_Clear(ID2D1HwndRenderTarget* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1HwndRenderTarget_BeginDraw(ID2D1HwndRenderTarget* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1HwndRenderTarget_EndDraw(ID2D1HwndRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1HwndRenderTarget_GetPixelFormat(ID2D1HwndRenderTarget* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1HwndRenderTarget_SetDpi(ID2D1HwndRenderTarget* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1HwndRenderTarget_GetDpi(ID2D1HwndRenderTarget* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1HwndRenderTarget_GetSize(ID2D1HwndRenderTarget* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1HwndRenderTarget_GetPixelSize(ID2D1HwndRenderTarget* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1HwndRenderTarget_GetMaximumBitmapSize(ID2D1HwndRenderTarget* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1HwndRenderTarget_IsSupported(ID2D1HwndRenderTarget* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1HwndRenderTarget methods ***/ static inline D2D1_WINDOW_STATE ID2D1HwndRenderTarget_CheckWindowState(ID2D1HwndRenderTarget* This) { return This->lpVtbl->CheckWindowState(This); } static inline HRESULT ID2D1HwndRenderTarget_Resize(ID2D1HwndRenderTarget* This,const D2D1_SIZE_U *size) { return This->lpVtbl->Resize(This,size); } static inline HWND ID2D1HwndRenderTarget_GetHwnd(ID2D1HwndRenderTarget* This) { return This->lpVtbl->GetHwnd(This); } #endif #endif #endif #endif /* __ID2D1HwndRenderTarget_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1DCRenderTarget interface */ #ifndef __ID2D1DCRenderTarget_INTERFACE_DEFINED__ #define __ID2D1DCRenderTarget_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1DCRenderTarget, 0x1c51bc64, 0xde61, 0x46fd, 0x98,0x99, 0x63,0xa5,0xd8,0xf0,0x39,0x50); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("1c51bc64-de61-46fd-9899-63a5d8f03950") ID2D1DCRenderTarget : public ID2D1RenderTarget { virtual HRESULT STDMETHODCALLTYPE BindDC( const HDC dc, const RECT *rect) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1DCRenderTarget, 0x1c51bc64, 0xde61, 0x46fd, 0x98,0x99, 0x63,0xa5,0xd8,0xf0,0x39,0x50) #endif #else typedef struct ID2D1DCRenderTargetVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1DCRenderTarget *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1DCRenderTarget *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1DCRenderTarget *This); /*** ID2D1Resource methods ***/ void (STDMETHODCALLTYPE *GetFactory)( ID2D1DCRenderTarget *This, ID2D1Factory **factory); /*** ID2D1RenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBitmap)( ID2D1DCRenderTarget *This, D2D1_SIZE_U size, const void *src_data, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapFromWicBitmap)( ID2D1DCRenderTarget *This, IWICBitmapSource *bitmap_source, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateSharedBitmap)( ID2D1DCRenderTarget *This, REFIID iid, void *data, const D2D1_BITMAP_PROPERTIES *desc, ID2D1Bitmap **bitmap); HRESULT (STDMETHODCALLTYPE *CreateBitmapBrush)( ID2D1DCRenderTarget *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1BitmapBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( ID2D1DCRenderTarget *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *desc, ID2D1SolidColorBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateGradientStopCollection)( ID2D1DCRenderTarget *This, const D2D1_GRADIENT_STOP *stops, UINT32 stop_count, D2D1_GAMMA gamma, D2D1_EXTEND_MODE extend_mode, ID2D1GradientStopCollection **gradient); HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( ID2D1DCRenderTarget *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1LinearGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( ID2D1DCRenderTarget *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *gradient_brush_desc, const D2D1_BRUSH_PROPERTIES *brush_desc, ID2D1GradientStopCollection *gradient, ID2D1RadialGradientBrush **brush); HRESULT (STDMETHODCALLTYPE *CreateCompatibleRenderTarget)( ID2D1DCRenderTarget *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)( ID2D1DCRenderTarget *This, const D2D1_SIZE_F *size, ID2D1Layer **layer); HRESULT (STDMETHODCALLTYPE *CreateMesh)( ID2D1DCRenderTarget *This, ID2D1Mesh **mesh); void (STDMETHODCALLTYPE *DrawLine)( ID2D1DCRenderTarget *This, D2D1_POINT_2F p0, D2D1_POINT_2F p1, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *DrawRectangle)( ID2D1DCRenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRectangle)( ID2D1DCRenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawRoundedRectangle)( ID2D1DCRenderTarget *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillRoundedRectangle)( ID2D1DCRenderTarget *This, const D2D1_ROUNDED_RECT *rect, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawEllipse)( ID2D1DCRenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillEllipse)( ID2D1DCRenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush); void (STDMETHODCALLTYPE *DrawGeometry)( ID2D1DCRenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, float stroke_width, ID2D1StrokeStyle *stroke_style); void (STDMETHODCALLTYPE *FillGeometry)( ID2D1DCRenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacity_brush); void (STDMETHODCALLTYPE *FillMesh)( ID2D1DCRenderTarget *This, ID2D1Mesh *mesh, ID2D1Brush *brush); void (STDMETHODCALLTYPE *FillOpacityMask)( ID2D1DCRenderTarget *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)( ID2D1DCRenderTarget *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)( ID2D1DCRenderTarget *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)( ID2D1DCRenderTarget *This, D2D1_POINT_2F origin, IDWriteTextLayout *layout, ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options); void (STDMETHODCALLTYPE *DrawGlyphRun)( ID2D1DCRenderTarget *This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN *glyph_run, ID2D1Brush *brush, DWRITE_MEASURING_MODE measuring_mode); void (STDMETHODCALLTYPE *SetTransform)( ID2D1DCRenderTarget *This, const D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *GetTransform)( ID2D1DCRenderTarget *This, D2D1_MATRIX_3X2_F *transform); void (STDMETHODCALLTYPE *SetAntialiasMode)( ID2D1DCRenderTarget *This, D2D1_ANTIALIAS_MODE antialias_mode); D2D1_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetAntialiasMode)( ID2D1DCRenderTarget *This); void (STDMETHODCALLTYPE *SetTextAntialiasMode)( ID2D1DCRenderTarget *This, D2D1_TEXT_ANTIALIAS_MODE antialias_mode); D2D1_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( ID2D1DCRenderTarget *This); void (STDMETHODCALLTYPE *SetTextRenderingParams)( ID2D1DCRenderTarget *This, IDWriteRenderingParams *text_rendering_params); void (STDMETHODCALLTYPE *GetTextRenderingParams)( ID2D1DCRenderTarget *This, IDWriteRenderingParams **text_rendering_params); void (STDMETHODCALLTYPE *SetTags)( ID2D1DCRenderTarget *This, D2D1_TAG tag1, D2D1_TAG tag2); void (STDMETHODCALLTYPE *GetTags)( ID2D1DCRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *PushLayer)( ID2D1DCRenderTarget *This, const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer); void (STDMETHODCALLTYPE *PopLayer)( ID2D1DCRenderTarget *This); HRESULT (STDMETHODCALLTYPE *Flush)( ID2D1DCRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); void (STDMETHODCALLTYPE *SaveDrawingState)( ID2D1DCRenderTarget *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *RestoreDrawingState)( ID2D1DCRenderTarget *This, ID2D1DrawingStateBlock *state_block); void (STDMETHODCALLTYPE *PushAxisAlignedClip)( ID2D1DCRenderTarget *This, const D2D1_RECT_F *clip_rect, D2D1_ANTIALIAS_MODE antialias_mode); void (STDMETHODCALLTYPE *PopAxisAlignedClip)( ID2D1DCRenderTarget *This); void (STDMETHODCALLTYPE *Clear)( ID2D1DCRenderTarget *This, const D2D1_COLOR_F *color); void (STDMETHODCALLTYPE *BeginDraw)( ID2D1DCRenderTarget *This); HRESULT (STDMETHODCALLTYPE *EndDraw)( ID2D1DCRenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2); D2D1_PIXEL_FORMAT * (STDMETHODCALLTYPE *GetPixelFormat)( ID2D1DCRenderTarget *This, D2D1_PIXEL_FORMAT *__ret); void (STDMETHODCALLTYPE *SetDpi)( ID2D1DCRenderTarget *This, float dpi_x, float dpi_y); void (STDMETHODCALLTYPE *GetDpi)( ID2D1DCRenderTarget *This, float *dpi_x, float *dpi_y); D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)( ID2D1DCRenderTarget *This, D2D1_SIZE_F *__ret); D2D1_SIZE_U * (STDMETHODCALLTYPE *GetPixelSize)( ID2D1DCRenderTarget *This, D2D1_SIZE_U *__ret); UINT32 (STDMETHODCALLTYPE *GetMaximumBitmapSize)( ID2D1DCRenderTarget *This); BOOL (STDMETHODCALLTYPE *IsSupported)( ID2D1DCRenderTarget *This, const D2D1_RENDER_TARGET_PROPERTIES *desc); /*** ID2D1DCRenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *BindDC)( ID2D1DCRenderTarget *This, const HDC dc, const RECT *rect); END_INTERFACE } ID2D1DCRenderTargetVtbl; interface ID2D1DCRenderTarget { CONST_VTBL ID2D1DCRenderTargetVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1DCRenderTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1DCRenderTarget_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1DCRenderTarget_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Resource methods ***/ #define ID2D1DCRenderTarget_GetFactory(This,factory) (This)->lpVtbl->GetFactory(This,factory) /*** ID2D1RenderTarget methods ***/ #define ID2D1DCRenderTarget_CreateBitmap(This,size,src_data,pitch,desc,bitmap) (This)->lpVtbl->CreateBitmap(This,size,src_data,pitch,desc,bitmap) #define ID2D1DCRenderTarget_CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) (This)->lpVtbl->CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap) #define ID2D1DCRenderTarget_CreateSharedBitmap(This,iid,data,desc,bitmap) (This)->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap) #define ID2D1DCRenderTarget_CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush) (This)->lpVtbl->CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush) #define ID2D1DCRenderTarget_CreateSolidColorBrush(This,color,desc,brush) (This)->lpVtbl->CreateSolidColorBrush(This,color,desc,brush) #define ID2D1DCRenderTarget_CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient) (This)->lpVtbl->CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient) #define ID2D1DCRenderTarget_CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DCRenderTarget_CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradient_brush_desc,brush_desc,gradient,brush) #define ID2D1DCRenderTarget_CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) (This)->lpVtbl->CreateCompatibleRenderTarget(This,size,pixel_size,format,options,render_target) #define ID2D1DCRenderTarget_CreateLayer(This,size,layer) (This)->lpVtbl->CreateLayer(This,size,layer) #define ID2D1DCRenderTarget_CreateMesh(This,mesh) (This)->lpVtbl->CreateMesh(This,mesh) #define ID2D1DCRenderTarget_DrawLine(This,p0,p1,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawLine(This,p0,p1,brush,stroke_width,stroke_style) #define ID2D1DCRenderTarget_DrawRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DCRenderTarget_FillRectangle(This,rect,brush) (This)->lpVtbl->FillRectangle(This,rect,brush) #define ID2D1DCRenderTarget_DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawRoundedRectangle(This,rect,brush,stroke_width,stroke_style) #define ID2D1DCRenderTarget_FillRoundedRectangle(This,rect,brush) (This)->lpVtbl->FillRoundedRectangle(This,rect,brush) #define ID2D1DCRenderTarget_DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawEllipse(This,ellipse,brush,stroke_width,stroke_style) #define ID2D1DCRenderTarget_FillEllipse(This,ellipse,brush) (This)->lpVtbl->FillEllipse(This,ellipse,brush) #define ID2D1DCRenderTarget_DrawGeometry(This,geometry,brush,stroke_width,stroke_style) (This)->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style) #define ID2D1DCRenderTarget_FillGeometry(This,geometry,brush,opacity_brush) (This)->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush) #define ID2D1DCRenderTarget_FillMesh(This,mesh,brush) (This)->lpVtbl->FillMesh(This,mesh,brush) #define ID2D1DCRenderTarget_FillOpacityMask(This,mask,brush,content,dst_rect,src_rect) (This)->lpVtbl->FillOpacityMask(This,mask,brush,content,dst_rect,src_rect) #define ID2D1DCRenderTarget_DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect) (This)->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect) #define ID2D1DCRenderTarget_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 ID2D1DCRenderTarget_DrawTextLayout(This,origin,layout,brush,options) (This)->lpVtbl->DrawTextLayout(This,origin,layout,brush,options) #define ID2D1DCRenderTarget_DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode) (This)->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode) #define ID2D1DCRenderTarget_SetTransform(This,transform) (This)->lpVtbl->SetTransform(This,transform) #define ID2D1DCRenderTarget_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) #define ID2D1DCRenderTarget_SetAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetAntialiasMode(This,antialias_mode) #define ID2D1DCRenderTarget_GetAntialiasMode(This) (This)->lpVtbl->GetAntialiasMode(This) #define ID2D1DCRenderTarget_SetTextAntialiasMode(This,antialias_mode) (This)->lpVtbl->SetTextAntialiasMode(This,antialias_mode) #define ID2D1DCRenderTarget_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) #define ID2D1DCRenderTarget_SetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->SetTextRenderingParams(This,text_rendering_params) #define ID2D1DCRenderTarget_GetTextRenderingParams(This,text_rendering_params) (This)->lpVtbl->GetTextRenderingParams(This,text_rendering_params) #define ID2D1DCRenderTarget_SetTags(This,tag1,tag2) (This)->lpVtbl->SetTags(This,tag1,tag2) #define ID2D1DCRenderTarget_GetTags(This,tag1,tag2) (This)->lpVtbl->GetTags(This,tag1,tag2) #define ID2D1DCRenderTarget_PushLayer(This,layer_parameters,layer) (This)->lpVtbl->PushLayer(This,layer_parameters,layer) #define ID2D1DCRenderTarget_PopLayer(This) (This)->lpVtbl->PopLayer(This) #define ID2D1DCRenderTarget_Flush(This,tag1,tag2) (This)->lpVtbl->Flush(This,tag1,tag2) #define ID2D1DCRenderTarget_SaveDrawingState(This,state_block) (This)->lpVtbl->SaveDrawingState(This,state_block) #define ID2D1DCRenderTarget_RestoreDrawingState(This,state_block) (This)->lpVtbl->RestoreDrawingState(This,state_block) #define ID2D1DCRenderTarget_PushAxisAlignedClip(This,clip_rect,antialias_mode) (This)->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode) #define ID2D1DCRenderTarget_PopAxisAlignedClip(This) (This)->lpVtbl->PopAxisAlignedClip(This) #define ID2D1DCRenderTarget_Clear(This,color) (This)->lpVtbl->Clear(This,color) #define ID2D1DCRenderTarget_BeginDraw(This) (This)->lpVtbl->BeginDraw(This) #define ID2D1DCRenderTarget_EndDraw(This,tag1,tag2) (This)->lpVtbl->EndDraw(This,tag1,tag2) #define ID2D1DCRenderTarget_GetPixelFormat(This) ID2D1DCRenderTarget_GetPixelFormat_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DCRenderTarget_SetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->SetDpi(This,dpi_x,dpi_y) #define ID2D1DCRenderTarget_GetDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDpi(This,dpi_x,dpi_y) #define ID2D1DCRenderTarget_GetSize(This) ID2D1DCRenderTarget_GetSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DCRenderTarget_GetPixelSize(This) ID2D1DCRenderTarget_GetPixelSize_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #define ID2D1DCRenderTarget_GetMaximumBitmapSize(This) (This)->lpVtbl->GetMaximumBitmapSize(This) #define ID2D1DCRenderTarget_IsSupported(This,desc) (This)->lpVtbl->IsSupported(This,desc) /*** ID2D1DCRenderTarget methods ***/ #define ID2D1DCRenderTarget_BindDC(This,dc,rect) (This)->lpVtbl->BindDC(This,dc,rect) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1DCRenderTarget_QueryInterface(ID2D1DCRenderTarget* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1DCRenderTarget_AddRef(ID2D1DCRenderTarget* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1DCRenderTarget_Release(ID2D1DCRenderTarget* This) { return This->lpVtbl->Release(This); } /*** ID2D1Resource methods ***/ static inline void ID2D1DCRenderTarget_GetFactory(ID2D1DCRenderTarget* This,ID2D1Factory **factory) { This->lpVtbl->GetFactory(This,factory); } /*** ID2D1RenderTarget methods ***/ static inline HRESULT ID2D1DCRenderTarget_CreateBitmap(ID2D1DCRenderTarget* This,D2D1_SIZE_U size,const void *src_data,UINT32 pitch,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateBitmap(This,size,src_data,pitch,desc,bitmap); } static inline HRESULT ID2D1DCRenderTarget_CreateBitmapFromWicBitmap(ID2D1DCRenderTarget* This,IWICBitmapSource *bitmap_source,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateBitmapFromWicBitmap(This,bitmap_source,desc,bitmap); } static inline HRESULT ID2D1DCRenderTarget_CreateSharedBitmap(ID2D1DCRenderTarget* This,REFIID iid,void *data,const D2D1_BITMAP_PROPERTIES *desc,ID2D1Bitmap **bitmap) { return This->lpVtbl->CreateSharedBitmap(This,iid,data,desc,bitmap); } static inline HRESULT ID2D1DCRenderTarget_CreateBitmapBrush(ID2D1DCRenderTarget* This,ID2D1Bitmap *bitmap,const D2D1_BITMAP_BRUSH_PROPERTIES *bitmap_brush_desc,const D2D1_BRUSH_PROPERTIES *brush_desc,ID2D1BitmapBrush **brush) { return This->lpVtbl->CreateBitmapBrush(This,bitmap,bitmap_brush_desc,brush_desc,brush); } static inline HRESULT ID2D1DCRenderTarget_CreateSolidColorBrush(ID2D1DCRenderTarget* This,const D2D1_COLOR_F *color,const D2D1_BRUSH_PROPERTIES *desc,ID2D1SolidColorBrush **brush) { return This->lpVtbl->CreateSolidColorBrush(This,color,desc,brush); } static inline HRESULT ID2D1DCRenderTarget_CreateGradientStopCollection(ID2D1DCRenderTarget* This,const D2D1_GRADIENT_STOP *stops,UINT32 stop_count,D2D1_GAMMA gamma,D2D1_EXTEND_MODE extend_mode,ID2D1GradientStopCollection **gradient) { return This->lpVtbl->CreateGradientStopCollection(This,stops,stop_count,gamma,extend_mode,gradient); } static inline HRESULT ID2D1DCRenderTarget_CreateLinearGradientBrush(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_CreateRadialGradientBrush(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_CreateCompatibleRenderTarget(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_CreateLayer(ID2D1DCRenderTarget* This,const D2D1_SIZE_F *size,ID2D1Layer **layer) { return This->lpVtbl->CreateLayer(This,size,layer); } static inline HRESULT ID2D1DCRenderTarget_CreateMesh(ID2D1DCRenderTarget* This,ID2D1Mesh **mesh) { return This->lpVtbl->CreateMesh(This,mesh); } static inline void ID2D1DCRenderTarget_DrawLine(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_DrawRectangle(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_FillRectangle(ID2D1DCRenderTarget* This,const D2D1_RECT_F *rect,ID2D1Brush *brush) { This->lpVtbl->FillRectangle(This,rect,brush); } static inline void ID2D1DCRenderTarget_DrawRoundedRectangle(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_FillRoundedRectangle(ID2D1DCRenderTarget* This,const D2D1_ROUNDED_RECT *rect,ID2D1Brush *brush) { This->lpVtbl->FillRoundedRectangle(This,rect,brush); } static inline void ID2D1DCRenderTarget_DrawEllipse(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_FillEllipse(ID2D1DCRenderTarget* This,const D2D1_ELLIPSE *ellipse,ID2D1Brush *brush) { This->lpVtbl->FillEllipse(This,ellipse,brush); } static inline void ID2D1DCRenderTarget_DrawGeometry(ID2D1DCRenderTarget* This,ID2D1Geometry *geometry,ID2D1Brush *brush,float stroke_width,ID2D1StrokeStyle *stroke_style) { This->lpVtbl->DrawGeometry(This,geometry,brush,stroke_width,stroke_style); } static inline void ID2D1DCRenderTarget_FillGeometry(ID2D1DCRenderTarget* This,ID2D1Geometry *geometry,ID2D1Brush *brush,ID2D1Brush *opacity_brush) { This->lpVtbl->FillGeometry(This,geometry,brush,opacity_brush); } static inline void ID2D1DCRenderTarget_FillMesh(ID2D1DCRenderTarget* This,ID2D1Mesh *mesh,ID2D1Brush *brush) { This->lpVtbl->FillMesh(This,mesh,brush); } static inline void ID2D1DCRenderTarget_FillOpacityMask(ID2D1DCRenderTarget* This,ID2D1Bitmap *mask,ID2D1Brush *brush,D2D1_OPACITY_MASK_CONTENT content,const D2D1_RECT_F *dst_rect,const D2D1_RECT_F *src_rect) { This->lpVtbl->FillOpacityMask(This,mask,brush,content,dst_rect,src_rect); } static inline void ID2D1DCRenderTarget_DrawBitmap(ID2D1DCRenderTarget* This,ID2D1Bitmap *bitmap,const D2D1_RECT_F *dst_rect,float opacity,D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,const D2D1_RECT_F *src_rect) { This->lpVtbl->DrawBitmap(This,bitmap,dst_rect,opacity,interpolation_mode,src_rect); } static inline void ID2D1DCRenderTarget_DrawText(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_DrawTextLayout(ID2D1DCRenderTarget* 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 ID2D1DCRenderTarget_DrawGlyphRun(ID2D1DCRenderTarget* This,D2D1_POINT_2F baseline_origin,const DWRITE_GLYPH_RUN *glyph_run,ID2D1Brush *brush,DWRITE_MEASURING_MODE measuring_mode) { This->lpVtbl->DrawGlyphRun(This,baseline_origin,glyph_run,brush,measuring_mode); } static inline void ID2D1DCRenderTarget_SetTransform(ID2D1DCRenderTarget* This,const D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->SetTransform(This,transform); } static inline void ID2D1DCRenderTarget_GetTransform(ID2D1DCRenderTarget* This,D2D1_MATRIX_3X2_F *transform) { This->lpVtbl->GetTransform(This,transform); } static inline void ID2D1DCRenderTarget_SetAntialiasMode(ID2D1DCRenderTarget* This,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetAntialiasMode(This,antialias_mode); } static inline D2D1_ANTIALIAS_MODE ID2D1DCRenderTarget_GetAntialiasMode(ID2D1DCRenderTarget* This) { return This->lpVtbl->GetAntialiasMode(This); } static inline void ID2D1DCRenderTarget_SetTextAntialiasMode(ID2D1DCRenderTarget* This,D2D1_TEXT_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->SetTextAntialiasMode(This,antialias_mode); } static inline D2D1_TEXT_ANTIALIAS_MODE ID2D1DCRenderTarget_GetTextAntialiasMode(ID2D1DCRenderTarget* This) { return This->lpVtbl->GetTextAntialiasMode(This); } static inline void ID2D1DCRenderTarget_SetTextRenderingParams(ID2D1DCRenderTarget* This,IDWriteRenderingParams *text_rendering_params) { This->lpVtbl->SetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DCRenderTarget_GetTextRenderingParams(ID2D1DCRenderTarget* This,IDWriteRenderingParams **text_rendering_params) { This->lpVtbl->GetTextRenderingParams(This,text_rendering_params); } static inline void ID2D1DCRenderTarget_SetTags(ID2D1DCRenderTarget* This,D2D1_TAG tag1,D2D1_TAG tag2) { This->lpVtbl->SetTags(This,tag1,tag2); } static inline void ID2D1DCRenderTarget_GetTags(ID2D1DCRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { This->lpVtbl->GetTags(This,tag1,tag2); } static inline void ID2D1DCRenderTarget_PushLayer(ID2D1DCRenderTarget* This,const D2D1_LAYER_PARAMETERS *layer_parameters,ID2D1Layer *layer) { This->lpVtbl->PushLayer(This,layer_parameters,layer); } static inline void ID2D1DCRenderTarget_PopLayer(ID2D1DCRenderTarget* This) { This->lpVtbl->PopLayer(This); } static inline HRESULT ID2D1DCRenderTarget_Flush(ID2D1DCRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->Flush(This,tag1,tag2); } static inline void ID2D1DCRenderTarget_SaveDrawingState(ID2D1DCRenderTarget* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->SaveDrawingState(This,state_block); } static inline void ID2D1DCRenderTarget_RestoreDrawingState(ID2D1DCRenderTarget* This,ID2D1DrawingStateBlock *state_block) { This->lpVtbl->RestoreDrawingState(This,state_block); } static inline void ID2D1DCRenderTarget_PushAxisAlignedClip(ID2D1DCRenderTarget* This,const D2D1_RECT_F *clip_rect,D2D1_ANTIALIAS_MODE antialias_mode) { This->lpVtbl->PushAxisAlignedClip(This,clip_rect,antialias_mode); } static inline void ID2D1DCRenderTarget_PopAxisAlignedClip(ID2D1DCRenderTarget* This) { This->lpVtbl->PopAxisAlignedClip(This); } static inline void ID2D1DCRenderTarget_Clear(ID2D1DCRenderTarget* This,const D2D1_COLOR_F *color) { This->lpVtbl->Clear(This,color); } static inline void ID2D1DCRenderTarget_BeginDraw(ID2D1DCRenderTarget* This) { This->lpVtbl->BeginDraw(This); } static inline HRESULT ID2D1DCRenderTarget_EndDraw(ID2D1DCRenderTarget* This,D2D1_TAG *tag1,D2D1_TAG *tag2) { return This->lpVtbl->EndDraw(This,tag1,tag2); } static inline D2D1_PIXEL_FORMAT ID2D1DCRenderTarget_GetPixelFormat(ID2D1DCRenderTarget* This) { D2D1_PIXEL_FORMAT __ret; return *This->lpVtbl->GetPixelFormat(This,&__ret); } static inline void ID2D1DCRenderTarget_SetDpi(ID2D1DCRenderTarget* This,float dpi_x,float dpi_y) { This->lpVtbl->SetDpi(This,dpi_x,dpi_y); } static inline void ID2D1DCRenderTarget_GetDpi(ID2D1DCRenderTarget* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDpi(This,dpi_x,dpi_y); } static inline D2D1_SIZE_F ID2D1DCRenderTarget_GetSize(ID2D1DCRenderTarget* This) { D2D1_SIZE_F __ret; return *This->lpVtbl->GetSize(This,&__ret); } static inline D2D1_SIZE_U ID2D1DCRenderTarget_GetPixelSize(ID2D1DCRenderTarget* This) { D2D1_SIZE_U __ret; return *This->lpVtbl->GetPixelSize(This,&__ret); } static inline UINT32 ID2D1DCRenderTarget_GetMaximumBitmapSize(ID2D1DCRenderTarget* This) { return This->lpVtbl->GetMaximumBitmapSize(This); } static inline BOOL ID2D1DCRenderTarget_IsSupported(ID2D1DCRenderTarget* This,const D2D1_RENDER_TARGET_PROPERTIES *desc) { return This->lpVtbl->IsSupported(This,desc); } /*** ID2D1DCRenderTarget methods ***/ static inline HRESULT ID2D1DCRenderTarget_BindDC(ID2D1DCRenderTarget* This,const HDC dc,const RECT *rect) { return This->lpVtbl->BindDC(This,dc,rect); } #endif #endif #endif #endif /* __ID2D1DCRenderTarget_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1GdiInteropRenderTarget interface */ #ifndef __ID2D1GdiInteropRenderTarget_INTERFACE_DEFINED__ #define __ID2D1GdiInteropRenderTarget_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1GdiInteropRenderTarget, 0xe0db51c3, 0x6f77, 0x4bae, 0xb3,0xd5, 0xe4,0x75,0x09,0xb3,0x58,0x38); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("e0db51c3-6f77-4bae-b3d5-e47509b35838") ID2D1GdiInteropRenderTarget : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetDC( D2D1_DC_INITIALIZE_MODE mode, HDC *dc) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseDC( const RECT *update) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1GdiInteropRenderTarget, 0xe0db51c3, 0x6f77, 0x4bae, 0xb3,0xd5, 0xe4,0x75,0x09,0xb3,0x58,0x38) #endif #else typedef struct ID2D1GdiInteropRenderTargetVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1GdiInteropRenderTarget *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1GdiInteropRenderTarget *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1GdiInteropRenderTarget *This); /*** ID2D1GdiInteropRenderTarget methods ***/ HRESULT (STDMETHODCALLTYPE *GetDC)( ID2D1GdiInteropRenderTarget *This, D2D1_DC_INITIALIZE_MODE mode, HDC *dc); HRESULT (STDMETHODCALLTYPE *ReleaseDC)( ID2D1GdiInteropRenderTarget *This, const RECT *update); END_INTERFACE } ID2D1GdiInteropRenderTargetVtbl; interface ID2D1GdiInteropRenderTarget { CONST_VTBL ID2D1GdiInteropRenderTargetVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1GdiInteropRenderTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1GdiInteropRenderTarget_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1GdiInteropRenderTarget_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1GdiInteropRenderTarget methods ***/ #define ID2D1GdiInteropRenderTarget_GetDC(This,mode,dc) (This)->lpVtbl->GetDC(This,mode,dc) #define ID2D1GdiInteropRenderTarget_ReleaseDC(This,update) (This)->lpVtbl->ReleaseDC(This,update) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1GdiInteropRenderTarget_QueryInterface(ID2D1GdiInteropRenderTarget* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1GdiInteropRenderTarget_AddRef(ID2D1GdiInteropRenderTarget* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1GdiInteropRenderTarget_Release(ID2D1GdiInteropRenderTarget* This) { return This->lpVtbl->Release(This); } /*** ID2D1GdiInteropRenderTarget methods ***/ static inline HRESULT ID2D1GdiInteropRenderTarget_GetDC(ID2D1GdiInteropRenderTarget* This,D2D1_DC_INITIALIZE_MODE mode,HDC *dc) { return This->lpVtbl->GetDC(This,mode,dc); } static inline HRESULT ID2D1GdiInteropRenderTarget_ReleaseDC(ID2D1GdiInteropRenderTarget* This,const RECT *update) { return This->lpVtbl->ReleaseDC(This,update); } #endif #endif #endif #endif /* __ID2D1GdiInteropRenderTarget_INTERFACE_DEFINED__ */ /***************************************************************************** * ID2D1Factory interface */ #ifndef __ID2D1Factory_INTERFACE_DEFINED__ #define __ID2D1Factory_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID2D1Factory, 0x06152247, 0x6f50, 0x465a, 0x92,0x45, 0x11,0x8b,0xfd,0x3b,0x60,0x07); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("06152247-6f50-465a-9245-118bfd3b6007") ID2D1Factory : public IUnknown { virtual HRESULT STDMETHODCALLTYPE ReloadSystemMetrics( ) = 0; virtual void STDMETHODCALLTYPE GetDesktopDpi( float *dpi_x, float *dpi_y) = 0; virtual HRESULT STDMETHODCALLTYPE CreateRectangleGeometry( const D2D1_RECT_F *rect, ID2D1RectangleGeometry **geometry) = 0; virtual HRESULT STDMETHODCALLTYPE CreateRoundedRectangleGeometry( const D2D1_ROUNDED_RECT *rect, ID2D1RoundedRectangleGeometry **geometry) = 0; virtual HRESULT STDMETHODCALLTYPE CreateEllipseGeometry( const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **geometry) = 0; virtual HRESULT STDMETHODCALLTYPE CreateGeometryGroup( D2D1_FILL_MODE fill_mode, ID2D1Geometry **geometries, UINT32 geometry_count, ID2D1GeometryGroup **group) = 0; virtual HRESULT STDMETHODCALLTYPE CreateTransformedGeometry( ID2D1Geometry *src_geometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformed_geometry) = 0; virtual HRESULT STDMETHODCALLTYPE CreatePathGeometry( ID2D1PathGeometry **geometry) = 0; virtual HRESULT STDMETHODCALLTYPE CreateStrokeStyle( const D2D1_STROKE_STYLE_PROPERTIES *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle **stroke_style) = 0; virtual HRESULT STDMETHODCALLTYPE CreateDrawingStateBlock( const D2D1_DRAWING_STATE_DESCRIPTION *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock **state_block) = 0; virtual HRESULT STDMETHODCALLTYPE CreateWicBitmapRenderTarget( IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target) = 0; virtual HRESULT STDMETHODCALLTYPE CreateHwndRenderTarget( const D2D1_RENDER_TARGET_PROPERTIES *desc, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc, ID2D1HwndRenderTarget **render_target) = 0; virtual HRESULT STDMETHODCALLTYPE CreateDxgiSurfaceRenderTarget( IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target) = 0; virtual HRESULT STDMETHODCALLTYPE CreateDCRenderTarget( const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget **render_target) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID2D1Factory, 0x06152247, 0x6f50, 0x465a, 0x92,0x45, 0x11,0x8b,0xfd,0x3b,0x60,0x07) #endif #else typedef struct ID2D1FactoryVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID2D1Factory *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID2D1Factory *This); ULONG (STDMETHODCALLTYPE *Release)( ID2D1Factory *This); /*** ID2D1Factory methods ***/ HRESULT (STDMETHODCALLTYPE *ReloadSystemMetrics)( ID2D1Factory *This); void (STDMETHODCALLTYPE *GetDesktopDpi)( ID2D1Factory *This, float *dpi_x, float *dpi_y); HRESULT (STDMETHODCALLTYPE *CreateRectangleGeometry)( ID2D1Factory *This, const D2D1_RECT_F *rect, ID2D1RectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateRoundedRectangleGeometry)( ID2D1Factory *This, const D2D1_ROUNDED_RECT *rect, ID2D1RoundedRectangleGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateEllipseGeometry)( ID2D1Factory *This, const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateGeometryGroup)( ID2D1Factory *This, D2D1_FILL_MODE fill_mode, ID2D1Geometry **geometries, UINT32 geometry_count, ID2D1GeometryGroup **group); HRESULT (STDMETHODCALLTYPE *CreateTransformedGeometry)( ID2D1Factory *This, ID2D1Geometry *src_geometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformed_geometry); HRESULT (STDMETHODCALLTYPE *CreatePathGeometry)( ID2D1Factory *This, ID2D1PathGeometry **geometry); HRESULT (STDMETHODCALLTYPE *CreateStrokeStyle)( ID2D1Factory *This, const D2D1_STROKE_STYLE_PROPERTIES *desc, const float *dashes, UINT32 dash_count, ID2D1StrokeStyle **stroke_style); HRESULT (STDMETHODCALLTYPE *CreateDrawingStateBlock)( ID2D1Factory *This, const D2D1_DRAWING_STATE_DESCRIPTION *desc, IDWriteRenderingParams *text_rendering_params, ID2D1DrawingStateBlock **state_block); HRESULT (STDMETHODCALLTYPE *CreateWicBitmapRenderTarget)( ID2D1Factory *This, IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateHwndRenderTarget)( ID2D1Factory *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwnd_rt_desc, ID2D1HwndRenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDxgiSurfaceRenderTarget)( ID2D1Factory *This, IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1RenderTarget **render_target); HRESULT (STDMETHODCALLTYPE *CreateDCRenderTarget)( ID2D1Factory *This, const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget **render_target); END_INTERFACE } ID2D1FactoryVtbl; interface ID2D1Factory { CONST_VTBL ID2D1FactoryVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID2D1Factory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID2D1Factory_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID2D1Factory_Release(This) (This)->lpVtbl->Release(This) /*** ID2D1Factory methods ***/ #define ID2D1Factory_ReloadSystemMetrics(This) (This)->lpVtbl->ReloadSystemMetrics(This) #define ID2D1Factory_GetDesktopDpi(This,dpi_x,dpi_y) (This)->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y) #define ID2D1Factory_CreateRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRectangleGeometry(This,rect,geometry) #define ID2D1Factory_CreateRoundedRectangleGeometry(This,rect,geometry) (This)->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry) #define ID2D1Factory_CreateEllipseGeometry(This,ellipse,geometry) (This)->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry) #define ID2D1Factory_CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) (This)->lpVtbl->CreateGeometryGroup(This,fill_mode,geometries,geometry_count,group) #define ID2D1Factory_CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) (This)->lpVtbl->CreateTransformedGeometry(This,src_geometry,transform,transformed_geometry) #define ID2D1Factory_CreatePathGeometry(This,geometry) (This)->lpVtbl->CreatePathGeometry(This,geometry) #define ID2D1Factory_CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) (This)->lpVtbl->CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style) #define ID2D1Factory_CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) (This)->lpVtbl->CreateDrawingStateBlock(This,desc,text_rendering_params,state_block) #define ID2D1Factory_CreateWicBitmapRenderTarget(This,target,desc,render_target) (This)->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target) #define ID2D1Factory_CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) (This)->lpVtbl->CreateHwndRenderTarget(This,desc,hwnd_rt_desc,render_target) #define ID2D1Factory_CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) (This)->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target) #define ID2D1Factory_CreateDCRenderTarget(This,desc,render_target) (This)->lpVtbl->CreateDCRenderTarget(This,desc,render_target) #else /*** IUnknown methods ***/ static inline HRESULT ID2D1Factory_QueryInterface(ID2D1Factory* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ID2D1Factory_AddRef(ID2D1Factory* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ID2D1Factory_Release(ID2D1Factory* This) { return This->lpVtbl->Release(This); } /*** ID2D1Factory methods ***/ static inline HRESULT ID2D1Factory_ReloadSystemMetrics(ID2D1Factory* This) { return This->lpVtbl->ReloadSystemMetrics(This); } static inline void ID2D1Factory_GetDesktopDpi(ID2D1Factory* This,float *dpi_x,float *dpi_y) { This->lpVtbl->GetDesktopDpi(This,dpi_x,dpi_y); } static inline HRESULT ID2D1Factory_CreateRectangleGeometry(ID2D1Factory* This,const D2D1_RECT_F *rect,ID2D1RectangleGeometry **geometry) { return This->lpVtbl->CreateRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory_CreateRoundedRectangleGeometry(ID2D1Factory* This,const D2D1_ROUNDED_RECT *rect,ID2D1RoundedRectangleGeometry **geometry) { return This->lpVtbl->CreateRoundedRectangleGeometry(This,rect,geometry); } static inline HRESULT ID2D1Factory_CreateEllipseGeometry(ID2D1Factory* This,const D2D1_ELLIPSE *ellipse,ID2D1EllipseGeometry **geometry) { return This->lpVtbl->CreateEllipseGeometry(This,ellipse,geometry); } static inline HRESULT ID2D1Factory_CreateGeometryGroup(ID2D1Factory* 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 ID2D1Factory_CreateTransformedGeometry(ID2D1Factory* 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 ID2D1Factory_CreatePathGeometry(ID2D1Factory* This,ID2D1PathGeometry **geometry) { return This->lpVtbl->CreatePathGeometry(This,geometry); } static inline HRESULT ID2D1Factory_CreateStrokeStyle(ID2D1Factory* This,const D2D1_STROKE_STYLE_PROPERTIES *desc,const float *dashes,UINT32 dash_count,ID2D1StrokeStyle **stroke_style) { return This->lpVtbl->CreateStrokeStyle(This,desc,dashes,dash_count,stroke_style); } static inline HRESULT ID2D1Factory_CreateDrawingStateBlock(ID2D1Factory* This,const D2D1_DRAWING_STATE_DESCRIPTION *desc,IDWriteRenderingParams *text_rendering_params,ID2D1DrawingStateBlock **state_block) { return This->lpVtbl->CreateDrawingStateBlock(This,desc,text_rendering_params,state_block); } static inline HRESULT ID2D1Factory_CreateWicBitmapRenderTarget(ID2D1Factory* This,IWICBitmap *target,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateWicBitmapRenderTarget(This,target,desc,render_target); } static inline HRESULT ID2D1Factory_CreateHwndRenderTarget(ID2D1Factory* 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 ID2D1Factory_CreateDxgiSurfaceRenderTarget(ID2D1Factory* This,IDXGISurface *surface,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1RenderTarget **render_target) { return This->lpVtbl->CreateDxgiSurfaceRenderTarget(This,surface,desc,render_target); } static inline HRESULT ID2D1Factory_CreateDCRenderTarget(ID2D1Factory* This,const D2D1_RENDER_TARGET_PROPERTIES *desc,ID2D1DCRenderTarget **render_target) { return This->lpVtbl->CreateDCRenderTarget(This,desc,render_target); } #endif #endif #endif #endif /* __ID2D1Factory_INTERFACE_DEFINED__ */ HRESULT __stdcall D2D1CreateFactory(D2D1_FACTORY_TYPE factory_type,REFIID iid,const D2D1_FACTORY_OPTIONS *factory_options,void **factory); BOOL __stdcall D2D1InvertMatrix(D2D1_MATRIX_3X2_F *matrix); BOOL __stdcall D2D1IsMatrixInvertible(const D2D1_MATRIX_3X2_F *matrix); void __stdcall D2D1MakeRotateMatrix(float angle,D2D1_POINT_2F center,D2D1_MATRIX_3X2_F *matrix); void __stdcall D2D1MakeSkewMatrix(float angle_x,float angle_y,D2D1_POINT_2F center,D2D1_MATRIX_3X2_F *matrix); /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __d2d1_h__ */