#ifdef _MSC_VER
#pragma once
#endif // #ifdef _MSC_VER
#ifndef _D2D1_1_H_
#define _D2D1_1_H_
#ifndef _D2D1_H_
#include <d2d1.h>
#endif // #ifndef _D2D1_H_
#ifndef _D2D1_EFFECTS_
#include <d2d1effects.h>
#endif // #ifndef _D2D1_EFFECTS_
#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#include <dxgi.h>
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#include <winapifamily.h>
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef interface ID2D1ColorContext ID2D1ColorContext;
typedef
struct
ID2D1ColorContext
;
typedef interface IWICColorContext IWICColorContext;
typedef
struct
IWICColorContext
;
typedef interface IWICImagingFactory IWICImagingFactory;
typedef
struct
IWICImagingFactory
;
typedef interface IPrintDocumentPackageTarget IPrintDocumentPackageTarget;
typedef
struct
IPrintDocumentPackageTarget
IPrintDocumentPackageTarget
;
typedef interface IDWriteFactory IDWriteFactory;
typedef
struct
IDWriteFactory
;
typedef
struct
DWRITE_GLYPH_RUN_DESCRIPTION
DWRITE_GLYPH_RUN_DESCRIPTION
;
typedef
struct
D2D1_PROPERTY_BINDING
;
typedef HRESULT (CALLBACK *PD2D1_EFFECT_FACTORY)(
_Outptr_ IUnknown **effectImpl
);
#ifndef D2D_USE_C_DEFINITIONS
#else
typedef interface ID2D1Device ID2D1Device;
typedef interface ID2D1Effect ID2D1Effect;
#endif
#define D2D1_INVALID_PROPERTY_INDEX UINT_MAX
typedef
;
typedef
;
typedef
enum
{
D2D1_PROPERTY_TYPE_UNKNOWN
=
0
,
D2D1_PROPERTY_TYPE_STRING
=
1
,
=
2
,
D2D1_PROPERTY_TYPE_UINT32
=
3
,
=
4
,
=
5
,
D2D1_PROPERTY_TYPE_VECTOR2
=
6
,
D2D1_PROPERTY_TYPE_VECTOR3
=
7
,
D2D1_PROPERTY_TYPE_VECTOR4
=
8
,
=
9
,
D2D1_PROPERTY_TYPE_IUNKNOWN
=
10
,
=
11
,
=
12
,
=
13
,
D2D1_PROPERTY_TYPE_MATRIX_3X2
=
14
,
D2D1_PROPERTY_TYPE_MATRIX_4X3
=
15
,
D2D1_PROPERTY_TYPE_MATRIX_4X4
=
16
,
D2D1_PROPERTY_TYPE_MATRIX_5X4
=
17
,
D2D1_PROPERTY_TYPE_COLOR_CONTEXT
=
18
,
D2D1_PROPERTY_TYPE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0x80000000
,
D2D1_PROPERTY_DISPLAYNAME
=
0x80000001
,
=
0x80000002
,
=
0x80000003
,
D2D1_PROPERTY_DESCRIPTION
=
0x80000004
,
=
0x80000005
,
=
0x80000006
,
=
0x80000007
,
=
0x80000008
,
=
0x80000009
,
D2D1_PROPERTY_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
D2D1_SUBPROPERTY_DISPLAYNAME
=
0x80000000
,
D2D1_SUBPROPERTY_ISREADONLY
=
0x80000001
,
=
0x80000002
,
=
0x80000003
,
=
0x80000004
,
=
0x80000005
,
=
0x80000006
,
D2D1_SUBPROPERTY_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0x00000000
,
D2D1_BITMAP_OPTIONS_TARGET
=
0x00000001
,
D2D1_BITMAP_OPTIONS_CANNOT_DRAW
=
0x00000002
,
D2D1_BITMAP_OPTIONS_CPU_READ
=
0x00000004
,
D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE
=
0x00000008
,
D2D1_BITMAP_OPTIONS_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_BITMAP_OPTIONS);
extern
"C++"
{
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) | ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) |= ((
<
>::
)
)); }
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) & ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) &= ((
<
>::
)
)); }
inline
constexpr
(
)
throw
() {
return
(~((
<
>::
)
)); }
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) ^ ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) ^= ((
<
>::
)
)); } };
typedef
enum
{
D2D1_COMPOSITE_MODE_SOURCE_OVER
=
0
,
D2D1_COMPOSITE_MODE_DESTINATION_OVER
=
1
,
D2D1_COMPOSITE_MODE_SOURCE_IN
=
2
,
D2D1_COMPOSITE_MODE_DESTINATION_IN
=
3
,
D2D1_COMPOSITE_MODE_SOURCE_OUT
=
4
,
D2D1_COMPOSITE_MODE_DESTINATION_OUT
=
5
,
D2D1_COMPOSITE_MODE_SOURCE_ATOP
=
6
,
D2D1_COMPOSITE_MODE_DESTINATION_ATOP
=
7
,
=
8
,
=
9
,
D2D1_COMPOSITE_MODE_SOURCE_COPY
=
10
,
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY
=
11
,
D2D1_COMPOSITE_MODE_MASK_INVERT
=
12
,
D2D1_COMPOSITE_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
D2D1_BUFFER_PRECISION_UNKNOWN
=
0
,
D2D1_BUFFER_PRECISION_8BPC_UNORM
=
1
,
D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB
=
2
,
D2D1_BUFFER_PRECISION_16BPC_UNORM
=
3
,
D2D1_BUFFER_PRECISION_16BPC_FLOAT
=
4
,
D2D1_BUFFER_PRECISION_32BPC_FLOAT
=
5
,
D2D1_BUFFER_PRECISION_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
=
2
,
=
4
,
D2D1_MAP_OPTIONS_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_MAP_OPTIONS);
extern
"C++"
{
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) | ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) |= ((
<
>::
)
)); }
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) & ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) &= ((
<
>::
)
)); }
inline
constexpr
(
)
throw
() {
return
(~((
<
>::
)
)); }
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) ^ ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) ^= ((
<
>::
)
)); } };
typedef
enum
{
D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR
=
D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR
,
D2D1_INTERPOLATION_MODE_LINEAR
=
D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR
,
D2D1_INTERPOLATION_MODE_CUBIC
=
D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC
,
D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR
=
D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR
,
D2D1_INTERPOLATION_MODE_ANISOTROPIC
=
D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC
,
D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC
=
D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC
,
D2D1_INTERPOLATION_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
D2D1_UNIT_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
=
2
,
D2D1_COLOR_SPACE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
D2D1_DEVICE_CONTEXT_OPTIONS
{
D2D1_DEVICE_CONTEXT_OPTIONS_NONE
=
0
,
D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS
=
1
,
D2D1_DEVICE_CONTEXT_OPTIONS_FORCE_DWORD
=
0xffffffff
}
D2D1_DEVICE_CONTEXT_OPTIONS
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_DEVICE_CONTEXT_OPTIONS);
extern
"C++"
{
inline
constexpr
D2D1_DEVICE_CONTEXT_OPTIONS
(
D2D1_DEVICE_CONTEXT_OPTIONS
,
D2D1_DEVICE_CONTEXT_OPTIONS
)
throw
() {
return
D2D1_DEVICE_CONTEXT_OPTIONS
(((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
) | ((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
)); }
inline
D2D1_DEVICE_CONTEXT_OPTIONS
&
(
D2D1_DEVICE_CONTEXT_OPTIONS
&
,
D2D1_DEVICE_CONTEXT_OPTIONS
)
throw
() {
return
(
D2D1_DEVICE_CONTEXT_OPTIONS
&)(((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
&)
) |= ((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
)); }
inline
constexpr
D2D1_DEVICE_CONTEXT_OPTIONS
(
D2D1_DEVICE_CONTEXT_OPTIONS
,
D2D1_DEVICE_CONTEXT_OPTIONS
)
throw
() {
return
D2D1_DEVICE_CONTEXT_OPTIONS
(((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
) & ((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
)); }
inline
D2D1_DEVICE_CONTEXT_OPTIONS
&
(
D2D1_DEVICE_CONTEXT_OPTIONS
&
,
D2D1_DEVICE_CONTEXT_OPTIONS
)
throw
() {
return
(
D2D1_DEVICE_CONTEXT_OPTIONS
&)(((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
&)
) &= ((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
)); }
inline
constexpr
D2D1_DEVICE_CONTEXT_OPTIONS
(
D2D1_DEVICE_CONTEXT_OPTIONS
)
throw
() {
return
D2D1_DEVICE_CONTEXT_OPTIONS
(~((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
)); }
inline
constexpr
D2D1_DEVICE_CONTEXT_OPTIONS
(
D2D1_DEVICE_CONTEXT_OPTIONS
,
D2D1_DEVICE_CONTEXT_OPTIONS
)
throw
() {
return
D2D1_DEVICE_CONTEXT_OPTIONS
(((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
) ^ ((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
)); }
inline
D2D1_DEVICE_CONTEXT_OPTIONS
&
(
D2D1_DEVICE_CONTEXT_OPTIONS
&
,
D2D1_DEVICE_CONTEXT_OPTIONS
)
throw
() {
return
(
D2D1_DEVICE_CONTEXT_OPTIONS
&)(((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
&)
) ^= ((
<
D2D1_DEVICE_CONTEXT_OPTIONS
>::
)
)); } };
typedef
enum
{
=
0
,
=
1
,
=
2
,
=
0xffffffff
}
D2D1_STROKE_TRANSFORM_TYPE
;
typedef
enum
{
D2D1_PRIMITIVE_BLEND_SOURCE_OVER
=
0
,
D2D1_PRIMITIVE_BLEND_COPY
=
1
,
=
2
,
=
3
,
=
4
,
D2D1_PRIMITIVE_BLEND_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
D2D1_THREADING_MODE_SINGLE_THREADED
=
D2D1_FACTORY_TYPE_SINGLE_THREADED
,
D2D1_THREADING_MODE_MULTI_THREADED
=
D2D1_FACTORY_TYPE_MULTI_THREADED
,
D2D1_THREADING_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
D2D1_COLOR_INTERPOLATION_MODE
{
D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT
=
0
,
D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED
=
1
,
D2D1_COLOR_INTERPOLATION_MODE_FORCE_DWORD
=
0xffffffff
}
D2D1_COLOR_INTERPOLATION_MODE
;
typedef
;
typedef
;
typedef
;
typedef
struct
{
;
;
;
;
_Field_size_opt_(1) ID2D1ColorContext *colorContext;
}
;
typedef
struct
{
;
*
;
}
;
typedef
struct
{
;
;
}
;
typedef
struct
{
*
;
;
;
}
D2D1_EFFECT_INPUT_DESCRIPTION
;
typedef
;
typedef
;
typedef
;
typedef
struct
{
;
;
;
;
;
}
;
typedef
struct
D2D1_IMAGE_BRUSH_PROPERTIES
{
;
;
;
;
}
D2D1_IMAGE_BRUSH_PROPERTIES
;
typedef
struct
D2D1_BITMAP_BRUSH_PROPERTIES1
{
;
;
;
}
D2D1_BITMAP_BRUSH_PROPERTIES1
;
typedef
struct
D2D1_STROKE_STYLE_PROPERTIES1
{
;
;
;
;
;
;
;
D2D1_STROKE_TRANSFORM_TYPE
;
}
D2D1_STROKE_STYLE_PROPERTIES1
;
typedef
enum
{
=
0
,
D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND
=
1
,
D2D1_LAYER_OPTIONS1_IGNORE_ALPHA
=
2
,
D2D1_LAYER_OPTIONS1_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_LAYER_OPTIONS1);
extern
"C++"
{
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) | ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) |= ((
<
>::
)
)); }
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) & ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) &= ((
<
>::
)
)); }
inline
constexpr
(
)
throw
() {
return
(~((
<
>::
)
)); }
inline
constexpr
(
,
)
throw
() {
return
(((
<
>::
)
) ^ ((
<
>::
)
)); }
inline
&
(
&
,
)
throw
() {
return
(
&)(((
<
>::
&)
) ^= ((
<
>::
)
)); } };
typedef
struct
{
;
_Field_size_opt_(1) ID2D1Geometry *geometricMask;
;
;
;
_Field_size_opt_(1) ID2D1Brush *opacityBrush;
;
}
;
typedef
enum
D2D1_PRINT_FONT_SUBSET_MODE
{
D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT
=
0
,
D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE
=
1
,
D2D1_PRINT_FONT_SUBSET_MODE_NONE
=
2
,
D2D1_PRINT_FONT_SUBSET_MODE_FORCE_DWORD
=
0xffffffff
}
D2D1_PRINT_FONT_SUBSET_MODE
;
typedef
struct
D2D1_DRAWING_STATE_DESCRIPTION1
{
;
;
;
;
;
;
;
}
D2D1_DRAWING_STATE_DESCRIPTION1
;
typedef
struct
D2D1_PRINT_CONTROL_PROPERTIES
{
D2D1_PRINT_FONT_SUBSET_MODE
;
;
;
}
D2D1_PRINT_CONTROL_PROPERTIES
;
typedef
struct
{
;
;
D2D1_DEVICE_CONTEXT_OPTIONS
;
}
;
EXTERN_C CONST IID IID_ID2D1GdiMetafileSink;
EXTERN_C CONST IID IID_ID2D1GdiMetafile;
EXTERN_C CONST IID IID_ID2D1CommandSink;
EXTERN_C CONST IID IID_ID2D1CommandList;
EXTERN_C CONST IID IID_ID2D1PrintControl;
EXTERN_C CONST IID IID_ID2D1ImageBrush;
EXTERN_C CONST IID IID_ID2D1BitmapBrush1;
EXTERN_C CONST IID IID_ID2D1StrokeStyle1;
EXTERN_C CONST IID IID_ID2D1PathGeometry1;
EXTERN_C CONST IID IID_ID2D1Properties;
EXTERN_C CONST IID IID_ID2D1Effect;
EXTERN_C CONST IID IID_ID2D1Bitmap1;
EXTERN_C CONST IID IID_ID2D1ColorContext;
EXTERN_C CONST IID IID_ID2D1GradientStopCollection1;
extern
"C"
const
IID_ID2D1GradientStopCollection1
;
EXTERN_C CONST IID IID_ID2D1DrawingStateBlock1;
extern
"C"
const
IID_ID2D1DrawingStateBlock1
;
EXTERN_C CONST IID IID_ID2D1DeviceContext;
EXTERN_C CONST IID IID_ID2D1Device;
EXTERN_C CONST IID IID_ID2D1Factory1;
EXTERN_C CONST IID IID_ID2D1Multithread;
#ifndef D2D_USE_C_DEFINITIONS
interface DX_DECLARE_INTERFACE("82237326-8111-4f7c-bcf4-b5c1175564fe") ID2D1GdiMetafileSink : public IUnknown
struct
__declspec
(uuid(
"82237326-8111-4f7c-bcf4-b5c1175564fe"
))
__declspec
(novtable)
:
public
{
STDMETHOD(ProcessRecord)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_opt_ CONST void *recordData,
};
interface DX_DECLARE_INTERFACE("2f543dc3-cfc1-4211-864f-cfd91c6f3395") ID2D1GdiMetafile : public ID2D1Resource
struct
__declspec
(uuid(
"2f543dc3-cfc1-4211-864f-cfd91c6f3395"
))
__declspec
(novtable)
:
public
{
STDMETHOD(Stream)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1GdiMetafileSink *sink
STDMETHOD(GetBounds)(
virtual
__declspec
(nothrow)
__stdcall
(
_Out_ D2D1_RECT_F *bounds
};
interface DX_DECLARE_INTERFACE("54d7898a-a061-40a7-bec7-e465bcba2c4f") ID2D1CommandSink : public IUnknown
struct
__declspec
(uuid(
"54d7898a-a061-40a7-bec7-e465bcba2c4f"
))
__declspec
(novtable)
:
public
{
STDMETHOD(BeginDraw)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(EndDraw)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(SetAntialiasMode)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(SetTags)(
virtual
__declspec
(nothrow)
__stdcall
(
,
STDMETHOD(SetTextAntialiasMode)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(SetTextRenderingParams)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ IDWriteRenderingParams *textRenderingParams
STDMETHOD(SetTransform)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_MATRIX_3X2_F *transform
STDMETHOD(SetPrimitiveBlend)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(SetUnitMode)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(Clear)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_COLOR_F *color
STDMETHOD(DrawGlyphRun)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_ CONST DWRITE_GLYPH_RUN *glyphRun,
_In_opt_ CONST DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription,
const
DWRITE_GLYPH_RUN_DESCRIPTION
*
,
_In_ ID2D1Brush *foregroundBrush,
STDMETHOD(DrawLine)(
virtual
__declspec
(nothrow)
__stdcall
(
,
,
,
_In_opt_ ID2D1StrokeStyle *strokeStyle
STDMETHOD(DrawGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1Geometry *geometry,
,
_In_opt_ ID2D1StrokeStyle *strokeStyle
STDMETHOD(DrawRectangle)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_RECT_F *rect,
,
_In_opt_ ID2D1StrokeStyle *strokeStyle
STDMETHOD(DrawBitmap)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1Bitmap *bitmap,
_In_opt_ CONST D2D1_RECT_F *destinationRectangle,
,
,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle,
_In_opt_ CONST D2D1_MATRIX_4X4_F *perspectiveTransform
STDMETHOD(DrawImage)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_POINT_2F *targetOffset,
_In_opt_ CONST D2D1_RECT_F *imageRectangle,
,
STDMETHOD(DrawGdiMetafile)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1GdiMetafile *gdiMetafile,
_In_opt_ CONST D2D1_POINT_2F *targetOffset
STDMETHOD(FillMesh)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(FillOpacityMask)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1Bitmap *opacityMask,
_In_opt_ CONST D2D1_RECT_F *destinationRectangle,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle
STDMETHOD(FillGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1Geometry *geometry,
_In_opt_ ID2D1Brush *opacityBrush
STDMETHOD(FillRectangle)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_RECT_F *rect,
STDMETHOD(PushAxisAlignedClip)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_RECT_F *clipRect,
STDMETHOD(PushLayer)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_LAYER_PARAMETERS1 *layerParameters1,
_In_opt_ ID2D1Layer *layer
STDMETHOD(PopAxisAlignedClip)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(PopLayer)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("b4f34a19-2383-4d76-94f6-ec343657c3dc") ID2D1CommandList : public ID2D1Image
struct
__declspec
(uuid(
"b4f34a19-2383-4d76-94f6-ec343657c3dc"
))
__declspec
(novtable)
:
public
{
STDMETHOD(Stream)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1CommandSink *sink
STDMETHOD(Close)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("2c1d867d-c290-41c8-ae7e-34a98702e9a5") ID2D1PrintControl : public IUnknown
struct
__declspec
(uuid(
"2c1d867d-c290-41c8-ae7e-34a98702e9a5"
))
__declspec
(novtable)
:
public
{
STDMETHOD(AddPage)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1CommandList *commandList,
,
_In_opt_ IStream *pagePrintTicketStream,
_Out_opt_ D2D1_TAG *tag1 = NULL,
_Out_opt_ D2D1_TAG *tag2 = NULL
STDMETHOD(Close)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("fe9e984d-3f95-407c-b5db-cb94d4e8f87c") ID2D1ImageBrush : public ID2D1Brush
struct
__declspec
(uuid(
"fe9e984d-3f95-407c-b5db-cb94d4e8f87c"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, SetImage)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_opt_ ID2D1Image *image
STDMETHOD_(void, SetExtendModeX)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetExtendModeY)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetInterpolationMode)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetSourceRectangle)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_RECT_F *sourceRectangle
STDMETHOD_(void, GetImage)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_result_maybenull_ ID2D1Image **image
STDMETHOD_(D2D1_EXTEND_MODE, GetExtendModeX)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_EXTEND_MODE, GetExtendModeY)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_INTERPOLATION_MODE, GetInterpolationMode)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetSourceRectangle)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_RECT_F *sourceRectangle
};
interface DX_DECLARE_INTERFACE("41343a53-e41a-49a2-91cd-21793bbb62e5") ID2D1BitmapBrush1 : public ID2D1BitmapBrush
struct
__declspec
(uuid(
"41343a53-e41a-49a2-91cd-21793bbb62e5"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, SetInterpolationMode1)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(D2D1_INTERPOLATION_MODE, GetInterpolationMode1)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("10a72a66-e91c-43f4-993f-ddf4b82b0b4a") ID2D1StrokeStyle1 : public ID2D1StrokeStyle
struct
__declspec
(uuid(
"10a72a66-e91c-43f4-993f-ddf4b82b0b4a"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(D2D1_STROKE_TRANSFORM_TYPE, GetStrokeTransformType)(
virtual
__declspec
(nothrow)
D2D1_STROKE_TRANSFORM_TYPE
__stdcall
(
};
interface DX_DECLARE_INTERFACE("62baa2d2-ab54-41b7-b872-787e0106a421") ID2D1PathGeometry1 : public ID2D1PathGeometry
struct
__declspec
(uuid(
"62baa2d2-ab54-41b7-b872-787e0106a421"
))
__declspec
(novtable)
:
public
{
STDMETHOD(ComputePointAndSegmentAtLength)(
virtual
__declspec
(nothrow)
__stdcall
ComputePointAndSegmentAtLength
(
,
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
_Out_ D2D1_POINT_DESCRIPTION *pointDescription
ComputePointAndSegmentAtLength
(
,
,
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
_Out_ D2D1_POINT_DESCRIPTION *pointDescription
{
return
ComputePointAndSegmentAtLength
(
,
, &
,
,
);
}
ComputePointAndSegmentAtLength
(
,
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
_Out_ D2D1_POINT_DESCRIPTION *pointDescription
{
return ComputePointAndSegmentAtLength(length, startSegment, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, pointDescription);
return
ComputePointAndSegmentAtLength
(
,
,
, (
0.25f
),
);
}
ComputePointAndSegmentAtLength
(
,
,
CONST D2D1_MATRIX_3X2_F &worldTransform,
_Out_ D2D1_POINT_DESCRIPTION *pointDescription
{
return ComputePointAndSegmentAtLength(length, startSegment, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, pointDescription);
return
ComputePointAndSegmentAtLength
(
,
, &
, (
0.25f
),
);
}
};
interface DX_DECLARE_INTERFACE("483473d7-cd46-4f9d-9d3a-3112aa80159d") ID2D1Properties : public IUnknown
struct
__declspec
(uuid(
"483473d7-cd46-4f9d-9d3a-3112aa80159d"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(UINT32, GetPropertyCount)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(GetPropertyName)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_Out_writes_(nameCount) PWSTR name,
STDMETHOD_(UINT32, GetPropertyNameLength)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_PROPERTY_TYPE, GetType)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(UINT32, GetPropertyIndex)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(SetValueByName)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_reads_(dataSize) CONST BYTE *data,
STDMETHOD(SetValue)(
virtual
__declspec
(nothrow)
__stdcall
(
,
,
_In_reads_(dataSize) CONST BYTE *data,
STDMETHOD(GetValueByName)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_Out_writes_(dataSize) BYTE *data,
STDMETHOD(GetValue)(
virtual
__declspec
(nothrow)
__stdcall
(
,
,
_Out_writes_(dataSize) BYTE *data,
STDMETHOD_(UINT32, GetValueSize)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(GetSubProperties)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_COM_Outptr_result_maybenull_ ID2D1Properties **subProperties
(
_In_reads_(dataSize) CONST BYTE *data,
)
{
return
(
,
D2D1_PROPERTY_TYPE_UNKNOWN
,
,
);
}
(
,
_In_reads_(dataSize) CONST BYTE *data,
)
{
return
(
,
D2D1_PROPERTY_TYPE_UNKNOWN
,
,
);
}
(
_Out_writes_(dataSize) BYTE *data,
{
return
(
,
D2D1_PROPERTY_TYPE_UNKNOWN
,
,
);
}
(
,
_Out_writes_(dataSize) BYTE *data,
{
return
(
,
D2D1_PROPERTY_TYPE_UNKNOWN
,
,
);
}
template
<
typename
>
(
_In_ PCWSTR propertyName,
)
const
{
return
(
,
reinterpret_cast
<
*>(
),
sizeof
(*
));
}
template
<
typename
>
(
)
const
{
;
=
(
,
reinterpret_cast
<
*>(&
value
),
sizeof
(
value
));
UNREFERENCED_PARAMETER(ignoreHr);
return
value
;
}
template
<
typename
>
(
_In_ PCWSTR propertyName,
)
{
return
(
,
reinterpret_cast
<
const
*>(&
),
sizeof
(
));
}
template
<
typename
>
(
,
_Out_writes_(dataSize) BYTE *data,
{
return
(
static_cast
<
>(
),
,
);
}
template
<
typename
,
typename
>
(
,
)
const
{
return
(
static_cast
<
>(
),
reinterpret_cast
<
*>(
),
sizeof
(*
));
}
template
<
typename
,
typename
>
(
)
const
{
;
=
(
static_cast
<
>(
),
reinterpret_cast
<
*>(&
value
),
sizeof
(
value
));
ignoreHr
;
return
value
;
}
template
<
typename
>
(
,
_In_reads_(dataSize) CONST BYTE *data,
)
{
return
(
static_cast
<
>(
),
,
);
}
template
<
typename
,
typename
>
(
,
)
{
return
(
static_cast
<
>(
),
reinterpret_cast
<
const
*>(&
),
sizeof
(
));
}
template
<
typename
>
(
,
_Out_writes_(nameCount) PWSTR name,
{
return
(
static_cast
<
>(
),
,
);
}
template
<
typename
>
(
{
return
(
static_cast
<
>(
));
}
template
<
typename
>
(
{
return
(
static_cast
<
>(
));
}
template
<
typename
>
(
{
return
(
static_cast
<
>(
));
}
template
<
typename
>
(
,
_Outptr_result_maybenull_ ID2D1Properties **subProperties
{
return
(
static_cast
<
>(
),
);
}
};
interface DX_DECLARE_INTERFACE("28211a43-7d89-476f-8181-2d6159b220ad") ID2D1Effect : public ID2D1Properties
struct
__declspec
(uuid(
"28211a43-7d89-476f-8181-2d6159b220ad"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, SetInput)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
_In_opt_ ID2D1Image *input,
STDMETHOD(SetInputCount)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetInput)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
_Outptr_result_maybenull_ ID2D1Image **input
STDMETHOD_(UINT32, GetInputCount)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetOutput)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_ ID2D1Image **outputImage
void
(
,
_In_opt_ ID2D1Effect *inputEffect,
)
{
ID2D1Image *output = NULL;
{
->
(&
output
);
}
(
,
output
,
);
{
output
->
();
}
}
};
interface DX_DECLARE_INTERFACE("a898a84c-3873-4588-b08b-ebbf978df041") ID2D1Bitmap1 : public ID2D1Bitmap
struct
__declspec
(uuid(
"a898a84c-3873-4588-b08b-ebbf978df041"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, GetColorContext)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_result_maybenull_ ID2D1ColorContext **colorContext
STDMETHOD_(D2D1_BITMAP_OPTIONS, GetOptions)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(GetSurface)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_result_maybenull_ IDXGISurface **dxgiSurface
STDMETHOD(Map)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_Out_ D2D1_MAPPED_RECT *mappedRect
STDMETHOD(Unmap)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("1c4820bb-5771-4518-a581-2fe4dd0ec657") ID2D1ColorContext : public ID2D1Resource
struct
__declspec
(uuid(
"1c4820bb-5771-4518-a581-2fe4dd0ec657"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(D2D1_COLOR_SPACE, GetColorSpace)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(UINT32, GetProfileSize)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(GetProfile)(
virtual
__declspec
(nothrow)
__stdcall
(
_Out_writes_(profileSize) BYTE *profile,
};
interface DX_DECLARE_INTERFACE("ae1572f4-5dd0-4777-998b-9279472ae63b") ID2D1GradientStopCollection1 : public ID2D1GradientStopCollection
struct
__declspec
(uuid(
"ae1572f4-5dd0-4777-998b-9279472ae63b"
))
__declspec
(novtable)
ID2D1GradientStopCollection1
:
public
ID2D1GradientStopCollection
{
STDMETHOD_(void, GetGradientStops1)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_writes_to_(gradientStopsCount, _Inexpressible_("Retrieved through GetGradientStopCount()") ) D2D1_GRADIENT_STOP *gradientStops,
STDMETHOD_(D2D1_COLOR_SPACE, GetPreInterpolationSpace)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_COLOR_SPACE, GetPostInterpolationSpace)(
virtual
__declspec
(nothrow)
__stdcall
GetPostInterpolationSpace
(
STDMETHOD_(D2D1_BUFFER_PRECISION, GetBufferPrecision)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_COLOR_INTERPOLATION_MODE, GetColorInterpolationMode)(
virtual
__declspec
(nothrow)
D2D1_COLOR_INTERPOLATION_MODE
__stdcall
GetColorInterpolationMode
(
};
interface DX_DECLARE_INTERFACE("689f1f85-c72e-4e33-8f19-85754efd5ace") ID2D1DrawingStateBlock1 : public ID2D1DrawingStateBlock
struct
__declspec
(uuid(
"689f1f85-c72e-4e33-8f19-85754efd5ace"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, GetDescription)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_DRAWING_STATE_DESCRIPTION1 *stateDescription
D2D1_DRAWING_STATE_DESCRIPTION1
*
using
::
;
STDMETHOD_(void, SetDescription)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_DRAWING_STATE_DESCRIPTION1 *stateDescription
const
D2D1_DRAWING_STATE_DESCRIPTION1
*
using
::
;
};
interface DX_DECLARE_INTERFACE("e8f7fe7a-191c-466d-ad95-975678bda998") ID2D1DeviceContext : public ID2D1RenderTarget
struct
__declspec
(uuid(
"e8f7fe7a-191c-466d-ad95-975678bda998"
))
__declspec
(novtable)
:
public
{
STDMETHOD(CreateBitmap)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_opt_ CONST void *sourceData,
,
_In_ CONST D2D1_BITMAP_PROPERTIES1 *bitmapProperties,
_COM_Outptr_ ID2D1Bitmap1 **bitmap
using
::
;
STDMETHOD(CreateBitmapFromWicBitmap)(
virtual
__declspec
(nothrow)
__stdcall
CreateBitmapFromWicBitmap
(
_In_ IWICBitmapSource *wicBitmapSource,
_In_opt_ CONST D2D1_BITMAP_PROPERTIES1 *bitmapProperties,
_COM_Outptr_ ID2D1Bitmap1 **bitmap
using
::
CreateBitmapFromWicBitmap
;
STDMETHOD(CreateColorContext)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_reads_opt_(profileSize) CONST BYTE *profile,
,
_COM_Outptr_ ID2D1ColorContext **colorContext
STDMETHOD(CreateColorContextFromFilename)(
virtual
__declspec
(nothrow)
__stdcall
CreateColorContextFromFilename
(
_COM_Outptr_ ID2D1ColorContext **colorContext
STDMETHOD(CreateColorContextFromWicColorContext)(
virtual
__declspec
(nothrow)
__stdcall
CreateColorContextFromWicColorContext
(
_In_ IWICColorContext *wicColorContext,
_COM_Outptr_ ID2D1ColorContext **colorContext
STDMETHOD(CreateBitmapFromDxgiSurface)(
virtual
__declspec
(nothrow)
__stdcall
CreateBitmapFromDxgiSurface
(
_In_ IDXGISurface *surface,
_In_opt_ CONST D2D1_BITMAP_PROPERTIES1 *bitmapProperties,
_COM_Outptr_ ID2D1Bitmap1 **bitmap
STDMETHOD(CreateEffect)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1Effect **effect
STDMETHOD(CreateGradientStopCollection)(
virtual
__declspec
(nothrow)
__stdcall
CreateGradientStopCollection
(
_In_reads_(straightAlphaGradientStopsCount) CONST D2D1_GRADIENT_STOP *straightAlphaGradientStops,
const
*
straightAlphaGradientStops
,
_In_range_(>=,1) UINT32 straightAlphaGradientStopsCount,
straightAlphaGradientStopsCount
,
,
,
,
,
D2D1_COLOR_INTERPOLATION_MODE
,
_COM_Outptr_ ID2D1GradientStopCollection1 **gradientStopCollection1
ID2D1GradientStopCollection1
**
using
::
CreateGradientStopCollection
;
STDMETHOD(CreateImageBrush)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ ID2D1Image *image,
_In_ CONST D2D1_IMAGE_BRUSH_PROPERTIES *imageBrushProperties,
const
D2D1_IMAGE_BRUSH_PROPERTIES
*
,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties,
_COM_Outptr_ ID2D1ImageBrush **imageBrush
STDMETHOD(CreateBitmapBrush)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ ID2D1Bitmap *bitmap,
_In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmapBrushProperties,
const
D2D1_BITMAP_BRUSH_PROPERTIES1
*
,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties,
_COM_Outptr_ ID2D1BitmapBrush1 **bitmapBrush
using
::
;
STDMETHOD(CreateCommandList)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1CommandList **commandList
STDMETHOD_(BOOL, IsDxgiFormatSupported)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(BOOL, IsBufferPrecisionSupported)(
virtual
__declspec
(nothrow)
__stdcall
IsBufferPrecisionSupported
(
STDMETHOD(GetImageLocalBounds)(
virtual
__declspec
(nothrow)
__stdcall
(
_Out_ D2D1_RECT_F *localBounds
STDMETHOD(GetImageWorldBounds)(
virtual
__declspec
(nothrow)
__stdcall
(
_Out_ D2D1_RECT_F *worldBounds
STDMETHOD(GetGlyphRunWorldBounds)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_ CONST DWRITE_GLYPH_RUN *glyphRun,
,
_Out_ D2D1_RECT_F *bounds
STDMETHOD_(void, GetDevice)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_ ID2D1Device **device
STDMETHOD_(void, SetTarget)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_opt_ ID2D1Image *image
STDMETHOD_(void, GetTarget)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_result_maybenull_ ID2D1Image **image
STDMETHOD_(void, SetRenderingControls)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_RENDERING_CONTROLS *renderingControls
STDMETHOD_(void, GetRenderingControls)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_RENDERING_CONTROLS *renderingControls
STDMETHOD_(void, SetPrimitiveBlend)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(D2D1_PRIMITIVE_BLEND, GetPrimitiveBlend)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, SetUnitMode)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(D2D1_UNIT_MODE, GetUnitMode)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, DrawGlyphRun)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
_In_ CONST DWRITE_GLYPH_RUN *glyphRun,
_In_opt_ CONST DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription,
const
DWRITE_GLYPH_RUN_DESCRIPTION
*
,
_In_ ID2D1Brush *foregroundBrush,
=
DWRITE_MEASURING_MODE_NATURAL
using
::
;
STDMETHOD_(void, DrawImage)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_opt_ CONST D2D1_POINT_2F *targetOffset = NULL,
_In_opt_ CONST D2D1_RECT_F *imageRectangle = NULL,
=
D2D1_INTERPOLATION_MODE_LINEAR
,
=
D2D1_COMPOSITE_MODE_SOURCE_OVER
STDMETHOD_(void, DrawGdiMetafile)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ ID2D1GdiMetafile *gdiMetafile,
_In_opt_ CONST D2D1_POINT_2F *targetOffset = NULL
STDMETHOD_(void, DrawBitmap)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ ID2D1Bitmap *bitmap,
_In_opt_ CONST D2D1_RECT_F *destinationRectangle,
,
,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle = NULL,
_In_opt_ CONST D2D1_MATRIX_4X4_F *perspectiveTransform = NULL
using
::
;
STDMETHOD_(void, PushLayer)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_LAYER_PARAMETERS1 *layerParameters,
_In_opt_ ID2D1Layer *layer
using
::
;
STDMETHOD(InvalidateEffectInputRectangle)(
virtual
__declspec
(nothrow)
__stdcall
InvalidateEffectInputRectangle
(
_In_ ID2D1Effect *effect,
,
_In_ CONST D2D1_RECT_F *inputRectangle
STDMETHOD(GetEffectInvalidRectangleCount)(
virtual
__declspec
(nothrow)
__stdcall
GetEffectInvalidRectangleCount
(
_In_ ID2D1Effect *effect,
_Out_ UINT32 *rectangleCount
STDMETHOD(GetEffectInvalidRectangles)(
virtual
__declspec
(nothrow)
__stdcall
GetEffectInvalidRectangles
(
_In_ ID2D1Effect *effect,
_Out_writes_(rectanglesCount) D2D1_RECT_F *rectangles,
STDMETHOD(GetEffectRequiredInputRectangles)(
virtual
__declspec
(nothrow)
__stdcall
GetEffectRequiredInputRectangles
(
_In_ ID2D1Effect *renderEffect,
_In_opt_ CONST D2D1_RECT_F *renderImageRectangle,
_In_reads_(inputCount) CONST D2D1_EFFECT_INPUT_DESCRIPTION *inputDescriptions,
const
D2D1_EFFECT_INPUT_DESCRIPTION
*
,
_Out_writes_(inputCount) D2D1_RECT_F *requiredInputRects,
STDMETHOD_(void, FillOpacityMask)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ ID2D1Bitmap *opacityMask,
_In_opt_ CONST D2D1_RECT_F *destinationRectangle = NULL,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle = NULL
using
::
;
(
,
_In_opt_ CONST void *sourceData,
,
CONST D2D1_BITMAP_PROPERTIES1 &bitmapProperties,
_COM_Outptr_ ID2D1Bitmap1 **bitmap
)
{
return
(
,
,
, &
,
);
}
CreateBitmapFromWicBitmap
(
_In_ IWICBitmapSource *wicBitmapSource,
CONST D2D1_BITMAP_PROPERTIES1 &bitmapProperties,
_COM_Outptr_ ID2D1Bitmap1 **bitmap
)
{
return
CreateBitmapFromWicBitmap
(
, &
,
);
}
CreateBitmapFromWicBitmap
(
_In_ IWICBitmapSource *wicBitmapSource,
_COM_Outptr_ ID2D1Bitmap1 **bitmap
)
{
return CreateBitmapFromWicBitmap(wicBitmapSource, NULL, bitmap);
return
CreateBitmapFromWicBitmap
(
,
0
,
);
}
CreateBitmapFromDxgiSurface
(
_In_ IDXGISurface *surface,
CONST D2D1_BITMAP_PROPERTIES1 &bitmapProperties,
_COM_Outptr_ ID2D1Bitmap1 **bitmap
)
{
return
CreateBitmapFromDxgiSurface
(
, &
,
);
}
(
_In_opt_ ID2D1Image *image,
CONST D2D1_IMAGE_BRUSH_PROPERTIES &imageBrushProperties,
const
D2D1_IMAGE_BRUSH_PROPERTIES
&
,
CONST D2D1_BRUSH_PROPERTIES &brushProperties,
_COM_Outptr_ ID2D1ImageBrush **imageBrush
)
{
return
(
, &
, &
,
);
}
(
_In_opt_ ID2D1Image *image,
CONST D2D1_IMAGE_BRUSH_PROPERTIES &imageBrushProperties,
const
D2D1_IMAGE_BRUSH_PROPERTIES
&
,
_COM_Outptr_ ID2D1ImageBrush **imageBrush
)
{
return CreateImageBrush(image,&imageBrushProperties, NULL, imageBrush);
}
(
_In_opt_ ID2D1Bitmap *bitmap,
_COM_Outptr_ ID2D1BitmapBrush1 **bitmapBrush
)
{
return CreateBitmapBrush(bitmap, NULL, NULL, bitmapBrush);
}
(
_In_opt_ ID2D1Bitmap *bitmap,
CONST D2D1_BITMAP_BRUSH_PROPERTIES1 &bitmapBrushProperties,
const
D2D1_BITMAP_BRUSH_PROPERTIES1
&
,
_COM_Outptr_ ID2D1BitmapBrush1 **bitmapBrush
)
{
return CreateBitmapBrush(bitmap, &bitmapBrushProperties, NULL, bitmapBrush);
}
(
_In_opt_ ID2D1Bitmap *bitmap,
CONST D2D1_BITMAP_BRUSH_PROPERTIES1 &bitmapBrushProperties,
const
D2D1_BITMAP_BRUSH_PROPERTIES1
&
,
CONST D2D1_BRUSH_PROPERTIES &brushProperties,
_COM_Outptr_ ID2D1BitmapBrush1 **bitmapBrush
)
{
return
(
, &
, &
,
);
}
void
(
_In_ ID2D1Effect *effect,
_In_opt_ CONST D2D1_POINT_2F *targetOffset = NULL,
_In_opt_ CONST D2D1_RECT_F *imageRectangle = NULL,
=
D2D1_INTERPOLATION_MODE_LINEAR
,
=
D2D1_COMPOSITE_MODE_SOURCE_OVER
)
{
ID2D1Image *output = NULL;
->
(&
output
);
(
output
,
,
,
,
);
output
->
();
}
void
(
,
=
D2D1_COMPOSITE_MODE_SOURCE_OVER
)
{
DrawImage(image, NULL, NULL, interpolationMode, compositeMode);
}
void
(
_In_ ID2D1Effect *effect,
,
=
D2D1_COMPOSITE_MODE_SOURCE_OVER
)
{
DrawImage(effect, NULL, NULL, interpolationMode, compositeMode);
}
void
(
,
=
D2D1_INTERPOLATION_MODE_LINEAR
,
=
D2D1_COMPOSITE_MODE_SOURCE_OVER
)
{
DrawImage(image, &targetOffset, NULL, interpolationMode, compositeMode);
}
void
(
_In_ ID2D1Effect *effect,
,
=
D2D1_INTERPOLATION_MODE_LINEAR
,
=
D2D1_COMPOSITE_MODE_SOURCE_OVER
)
{
DrawImage(effect, &targetOffset, NULL, interpolationMode, compositeMode);
}
void
(
,
CONST D2D1_RECT_F &imageRectangle,
=
D2D1_INTERPOLATION_MODE_LINEAR
,
=
D2D1_COMPOSITE_MODE_SOURCE_OVER
)
{
(
, &
, &
,
,
);
}
void
(
_In_ ID2D1Effect *effect,
,
CONST D2D1_RECT_F &imageRectangle,
=
D2D1_INTERPOLATION_MODE_LINEAR
,
=
D2D1_COMPOSITE_MODE_SOURCE_OVER
)
{
(
, &
, &
,
,
);
}
void
(
CONST D2D1_LAYER_PARAMETERS1 &layerParameters,
_In_opt_ ID2D1Layer *layer
)
{
(&
,
);
}
void
(
_In_ ID2D1GdiMetafile *gdiMetafile,
)
{
(
, &
);
}
void
(
_In_ ID2D1Bitmap *bitmap,
CONST D2D1_RECT_F &destinationRectangle,
,
,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle = NULL,
_In_opt_ CONST D2D1_MATRIX_4X4_F *perspectiveTransform = NULL
)
{
(
, &
,
,
,
,
);
}
void
(
_In_ ID2D1Bitmap *bitmap,
CONST D2D1_RECT_F &destinationRectangle,
,
,
CONST D2D1_RECT_F &sourceRectangle,
_In_opt_ CONST D2D1_MATRIX_4X4_F *perspectiveTransform = NULL
)
{
(
, &
,
,
, &
,
);
}
void
(
_In_ ID2D1Bitmap *bitmap,
CONST D2D1_RECT_F &destinationRectangle,
,
,
CONST D2D1_RECT_F &sourceRectangle,
CONST D2D1_MATRIX_4X4_F &perspectiveTransform
)
{
(
, &
,
,
, &
, &
);
}
void
(
_In_ ID2D1Bitmap *opacityMask,
CONST D2D1_RECT_F &destinationRectangle,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle = NULL
)
{
(
,
, &
,
);
}
void
(
_In_ ID2D1Bitmap *opacityMask,
CONST D2D1_RECT_F &destinationRectangle,
CONST D2D1_RECT_F &sourceRectangle
)
{
(
,
, &
, &
);
}
void
(
CONST D2D1_RENDERING_CONTROLS &renderingControls
)
{
return
(&
);
}
};
interface DX_DECLARE_INTERFACE("47dd575d-ac05-4cdd-8049-9b02cd16f44c") ID2D1Device : public ID2D1Resource
struct
__declspec
(uuid(
"47dd575d-ac05-4cdd-8049-9b02cd16f44c"
))
__declspec
(novtable)
:
public
{
STDMETHOD(CreateDeviceContext)(
virtual
__declspec
(nothrow)
__stdcall
(
D2D1_DEVICE_CONTEXT_OPTIONS
,
_COM_Outptr_ ID2D1DeviceContext **deviceContext
STDMETHOD(CreatePrintControl)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ IWICImagingFactory *wicFactory,
_In_ IPrintDocumentPackageTarget *documentTarget,
IPrintDocumentPackageTarget
*
,
_In_opt_ CONST D2D1_PRINT_CONTROL_PROPERTIES *printControlProperties,
const
D2D1_PRINT_CONTROL_PROPERTIES
*
,
_COM_Outptr_ ID2D1PrintControl **printControl
STDMETHOD_(void, SetMaximumTextureMemory)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(UINT64, GetMaximumTextureMemory)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, ClearResources)(
virtual
__declspec
(nothrow)
void
__stdcall
(
=
0
(
_In_ IWICImagingFactory *wicFactory,
_In_ IPrintDocumentPackageTarget *documentTarget,
IPrintDocumentPackageTarget
*
,
CONST D2D1_PRINT_CONTROL_PROPERTIES &printControlProperties,
const
D2D1_PRINT_CONTROL_PROPERTIES
&
,
_COM_Outptr_ ID2D1PrintControl **printControl
)
{
return
(
,
, &
,
);
}
};
interface DX_DECLARE_INTERFACE("bb12d362-daee-4b9a-aa1d-14ba401cfa1f") ID2D1Factory1 : public ID2D1Factory
struct
__declspec
(uuid(
"bb12d362-daee-4b9a-aa1d-14ba401cfa1f"
))
__declspec
(novtable)
:
public
{
STDMETHOD(CreateDevice)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ IDXGIDevice *dxgiDevice,
_COM_Outptr_ ID2D1Device **d2dDevice
STDMETHOD(CreateStrokeStyle)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_STROKE_STYLE_PROPERTIES1 *strokeStyleProperties,
const
D2D1_STROKE_STYLE_PROPERTIES1
*
,
_In_reads_opt_(dashesCount) CONST FLOAT *dashes,
,
_COM_Outptr_ ID2D1StrokeStyle1 **strokeStyle
using
::
;
STDMETHOD(CreatePathGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1PathGeometry1 **pathGeometry
using
::
;
STDMETHOD(CreateDrawingStateBlock)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_DRAWING_STATE_DESCRIPTION1 *drawingStateDescription,
const
D2D1_DRAWING_STATE_DESCRIPTION1
*
,
_In_opt_ IDWriteRenderingParams *textRenderingParams,
_COM_Outptr_ ID2D1DrawingStateBlock1 **drawingStateBlock
using
::
;
STDMETHOD(CreateGdiMetafile)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ IStream *metafileStream,
_COM_Outptr_ ID2D1GdiMetafile **metafile
STDMETHOD(RegisterEffectFromStream)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ IStream *propertyXml,
_In_reads_opt_(bindingsCount) CONST D2D1_PROPERTY_BINDING *bindings,
,
_In_ CONST PD2D1_EFFECT_FACTORY effectFactory
STDMETHOD(RegisterEffectFromString)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_reads_opt_(bindingsCount) CONST D2D1_PROPERTY_BINDING *bindings,
,
_In_ CONST PD2D1_EFFECT_FACTORY effectFactory
STDMETHOD(UnregisterEffect)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(GetRegisteredEffects)(
virtual
__declspec
(nothrow)
__stdcall
(
_Out_writes_to_opt_(effectsCount, *effectsReturned) CLSID *effects,
,
_Out_opt_ UINT32 *effectsReturned,
_Out_opt_ UINT32 *effectsRegistered
STDMETHOD(GetEffectProperties)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1Properties **properties
(
CONST D2D1_STROKE_STYLE_PROPERTIES1 &strokeStyleProperties,
const
D2D1_STROKE_STYLE_PROPERTIES1
&
,
_In_reads_opt_(dashesCount) CONST FLOAT *dashes,
,
_COM_Outptr_ ID2D1StrokeStyle1 **strokeStyle
)
{
return
(&
,
,
,
);
}
(
CONST D2D1_DRAWING_STATE_DESCRIPTION1 &drawingStateDescription,
const
D2D1_DRAWING_STATE_DESCRIPTION1
&
,
_COM_Outptr_ ID2D1DrawingStateBlock1 **drawingStateBlock
)
{
return CreateDrawingStateBlock(&drawingStateDescription, NULL, drawingStateBlock);
}
(
_COM_Outptr_ ID2D1DrawingStateBlock1 **drawingStateBlock
)
{
return CreateDrawingStateBlock(NULL, NULL, drawingStateBlock);
}
};
interface DX_DECLARE_INTERFACE("31e6e7bc-e0ff-4d46-8c64-a0a8c41c15d3") ID2D1Multithread : public IUnknown
struct
__declspec
(uuid(
"31e6e7bc-e0ff-4d46-8c64-a0a8c41c15d3"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(BOOL, GetMultithreadProtected)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, Enter)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, Leave)(
virtual
__declspec
(nothrow)
void
__stdcall
(
};
#endif
#ifdef D2D_USE_C_DEFINITIONS
typedef interface ID2D1GdiMetafileSink ID2D1GdiMetafileSink;
typedef interface ID2D1GdiMetafile ID2D1GdiMetafile;
typedef interface ID2D1CommandSink ID2D1CommandSink;
typedef interface ID2D1CommandList ID2D1CommandList;
typedef interface ID2D1PrintControl ID2D1PrintControl;
typedef interface ID2D1ImageBrush ID2D1ImageBrush;
typedef interface ID2D1BitmapBrush1 ID2D1BitmapBrush1;
typedef interface ID2D1StrokeStyle1 ID2D1StrokeStyle1;
typedef interface ID2D1PathGeometry1 ID2D1PathGeometry1;
typedef interface ID2D1Properties ID2D1Properties;
typedef interface ID2D1Effect ID2D1Effect;
typedef interface ID2D1Bitmap1 ID2D1Bitmap1;
typedef interface ID2D1ColorContext ID2D1ColorContext;
typedef interface ID2D1GradientStopCollection1 ID2D1GradientStopCollection1;
typedef interface ID2D1DrawingStateBlock1 ID2D1DrawingStateBlock1;
typedef interface ID2D1DeviceContext ID2D1DeviceContext;
typedef interface ID2D1Device ID2D1Device;
typedef interface ID2D1Factory1 ID2D1Factory1;
typedef interface ID2D1Multithread ID2D1Multithread;
#endif
#ifdef __cplusplus
extern
"C"
{
#endif
(
_In_ IDXGIDevice *dxgiDevice,
_In_opt_ CONST D2D1_CREATION_PROPERTIES *creationProperties,
_Outptr_ ID2D1Device **d2dDevice
);
(
_In_ IDXGISurface *dxgiSurface,
_In_opt_ CONST D2D1_CREATION_PROPERTIES *creationProperties,
_Outptr_ ID2D1DeviceContext **d2dDeviceContext
);
(
,
,
_In_ CONST D2D1_COLOR_F* color
);
(
);
(
);
(
);
#ifdef __cplusplus
}
#endif
#include <d2d1_1helper.h>
#ifndef D2D_USE_C_DEFINITIONS
inline
(
_In_ IDXGIDevice *dxgiDevice,
_In_ CONST D2D1_CREATION_PROPERTIES &creationProperties,
_Outptr_ ID2D1Device **d2dDevice
)
{
return
(
,
&
,
);
}
inline
(
_In_ IDXGISurface *dxgiSurface,
_In_ CONST D2D1_CREATION_PROPERTIES &creationProperties,
_Outptr_ ID2D1DeviceContext **d2dDeviceContext
)
{
return
(
,
&
,
);
}
#endif // #ifndef D2D_USE_C_DEFINITIONS
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // #ifndef _D2D1_1_H_