#ifdef _MSC_VER
#pragma once
#endif // #ifdef _MSC_VER
#ifndef _D2D1_H_
#define _D2D1_H_
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#endif // #ifndef COM_NO_WINDOWS_H
#include <unknwn.h>
#include <dcommon.h>
#include <D2DErr.h>
#include <D2DBaseTypes.h>
#include <dxgiformat.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#include <d3d10_1.h>
#else
#include <d3dcommon.h>
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#ifndef D2D_USE_C_DEFINITIONS
#ifndef __cplusplus
#define D2D_USE_C_DEFINITIONS
#endif
#endif // #ifndef D2D_USE_C_DEFINITIONS
#include <winapifamily.h>
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef interface IDWriteTextFormat IDWriteTextFormat;
typedef
struct
IDWriteTextFormat
;
typedef interface IDWriteTextLayout IDWriteTextLayout;
typedef
struct
IDWriteTextLayout
;
typedef interface IDWriteRenderingParams IDWriteRenderingParams;
typedef
struct
IDWriteRenderingParams
;
typedef interface IDXGISurface IDXGISurface;
typedef interface IWICBitmap IWICBitmap;
typedef
struct
IWICBitmap
;
typedef interface IWICBitmapSource IWICBitmapSource;
typedef
struct
IWICBitmapSource
;
typedef
struct
DWRITE_GLYPH_RUN
;
#ifndef D2D_USE_C_DEFINITIONS
interface ID2D1RenderTarget;
interface ID2D1BitmapRenderTarget;
interface ID2D1SimplifiedGeometrySink;
struct
ID2D1SimplifiedGeometrySink
;
interface ID2D1TessellationSink;
#else
typedef interface ID2D1Factory ID2D1Factory;
typedef interface ID2D1RenderTarget ID2D1RenderTarget;
typedef interface ID2D1BitmapRenderTarget ID2D1BitmapRenderTarget;
typedef interface ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink;;
typedef interface ID2D1TessellationSink ID2D1TessellationSink;
typedef interface ID2D1Geometry ID2D1Geometry;
typedef interface ID2D1Brush ID2D1Brush;
#endif
#define D2D1_INVALID_TAG ULONGLONG_MAX
#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
{
=
0
,
=
1
,
=
0xffffffff
}
;
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
{
=
0
,
=
1
,
=
2
,
D2D1_EXTEND_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
D2D1_ANTIALIAS_MODE_PER_PRIMITIVE
=
0
,
D2D1_ANTIALIAS_MODE_ALIASED
=
1
,
D2D1_ANTIALIAS_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
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
}
;
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_DRAW_TEXT_OPTIONS_NO_SNAP
=
0x00000001
,
D2D1_DRAW_TEXT_OPTIONS_CLIP
=
0x00000002
,
D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT
=
0x00000004
,
D2D1_DRAW_TEXT_OPTIONS_DISABLE_COLOR_BITMAP_SNAPPING
=
0x00000008
,
D2D1_DRAW_TEXT_OPTIONS_NONE
=
0x00000000
,
D2D1_DRAW_TEXT_OPTIONS_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_DRAW_TEXT_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
;
typedef
;
typedef
;
typedef
;
typedef
;
typedef
;
typedef
;
typedef
;
typedef
;
typedef
struct
{
;
;
;
}
;
typedef
struct
{
;
;
}
;
typedef
struct
{
;
;
}
;
typedef
struct
D2D1_BITMAP_BRUSH_PROPERTIES
{
;
;
D2D1_BITMAP_INTERPOLATION_MODE
;
}
D2D1_BITMAP_BRUSH_PROPERTIES
;
typedef
struct
D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES
{
;
;
}
D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES
;
typedef
struct
D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES
{
;
;
;
;
}
D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES
;
typedef
enum
{
=
0
,
=
1
,
D2D1_ARC_SIZE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
=
2
,
=
3
,
D2D1_CAP_STYLE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
=
2
,
=
3
,
D2D1_DASH_STYLE_DASH_DOT_DOT
=
4
,
=
5
,
D2D1_DASH_STYLE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
=
2
,
D2D1_LINE_JOIN_MITER_OR_BEVEL
=
3
,
D2D1_LINE_JOIN_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
D2D1_COMBINE_MODE_INTERSECT
=
1
,
=
2
,
D2D1_COMBINE_MODE_EXCLUDE
=
3
,
D2D1_COMBINE_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
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
}
;
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
{
=
0
,
=
1
,
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
=
0xffffffff
}
;
typedef
struct
{
;
;
;
}
;
typedef
struct
{
;
;
;
}
;
typedef
enum
{
=
0x00000000
,
D2D1_PATH_SEGMENT_FORCE_UNSTROKED
=
0x00000001
,
D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN
=
0x00000002
,
D2D1_PATH_SEGMENT_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_PATH_SEGMENT);
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_SWEEP_DIRECTION_COUNTER_CLOCKWISE
=
0
,
D2D1_SWEEP_DIRECTION_CLOCKWISE
=
1
,
D2D1_SWEEP_DIRECTION_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
D2D1_FILL_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
struct
{
;
;
;
;
;
}
;
typedef
struct
D2D1_QUADRATIC_BEZIER_SEGMENT
{
;
;
}
D2D1_QUADRATIC_BEZIER_SEGMENT
;
typedef
struct
{
;
;
;
}
;
typedef
struct
{
;
;
;
}
;
typedef
struct
D2D1_STROKE_STYLE_PROPERTIES
{
;
;
;
;
;
;
;
}
D2D1_STROKE_STYLE_PROPERTIES
;
typedef
enum
{
=
0x00000000
,
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE
=
0x00000001
,
D2D1_LAYER_OPTIONS_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_LAYER_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
struct
{
;
_Field_size_opt_(1) ID2D1Geometry *geometricMask;
;
;
;
_Field_size_opt_(1) ID2D1Brush *opacityBrush;
;
}
;
typedef
enum
{
=
0x0000000
,
D2D1_WINDOW_STATE_OCCLUDED
=
0x0000001
,
D2D1_WINDOW_STATE_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_WINDOW_STATE);
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_RENDER_TARGET_TYPE_DEFAULT
=
0
,
D2D1_RENDER_TARGET_TYPE_SOFTWARE
=
1
,
D2D1_RENDER_TARGET_TYPE_HARDWARE
=
2
,
D2D1_RENDER_TARGET_TYPE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
D2D1_FEATURE_LEVEL_DEFAULT
=
0
,
=
,
=
,
D2D1_FEATURE_LEVEL_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
D2D1_RENDER_TARGET_USAGE_NONE
=
0x00000000
,
D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING
=
0x00000001
,
D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE
=
0x00000002
,
D2D1_RENDER_TARGET_USAGE_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_RENDER_TARGET_USAGE);
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_PRESENT_OPTIONS_NONE
=
0x00000000
,
D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS
=
0x00000001
,
=
0x00000002
,
D2D1_PRESENT_OPTIONS_FORCE_DWORD
=
0xffffffff
}
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_PRESENT_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
struct
D2D1_RENDER_TARGET_PROPERTIES
{
;
;
;
;
;
;
}
D2D1_RENDER_TARGET_PROPERTIES
;
typedef
struct
D2D1_HWND_RENDER_TARGET_PROPERTIES
{
;
;
;
}
D2D1_HWND_RENDER_TARGET_PROPERTIES
;
typedef
enum
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
{
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE
=
0x00000000
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE
=
0x00000001
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_FORCE_DWORD
=
0xffffffff
}
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
;
DEFINE_ENUM_FLAG_OPERATORS(D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS);
extern
"C++"
{
inline
constexpr
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
)
throw
() {
return
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
(((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
) | ((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
)); }
inline
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
)
throw
() {
return
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&)(((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
&)
) |= ((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
)); }
inline
constexpr
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
)
throw
() {
return
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
(((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
) & ((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
)); }
inline
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
)
throw
() {
return
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&)(((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
&)
) &= ((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
)); }
inline
constexpr
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
)
throw
() {
return
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
(~((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
)); }
inline
constexpr
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
)
throw
() {
return
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
(((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
) ^ ((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
)); }
inline
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
)
throw
() {
return
(
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
&)(((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
&)
) ^= ((
<
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
>::
)
)); } };
typedef
struct
D2D1_DRAWING_STATE_DESCRIPTION
{
;
;
;
;
;
}
D2D1_DRAWING_STATE_DESCRIPTION
;
typedef
enum
{
D2D1_DC_INITIALIZE_MODE_COPY
=
0
,
D2D1_DC_INITIALIZE_MODE_CLEAR
=
1
,
D2D1_DC_INITIALIZE_MODE_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
=
0
,
=
1
,
=
2
,
=
3
,
D2D1_DEBUG_LEVEL_FORCE_DWORD
=
0xffffffff
}
;
typedef
enum
{
D2D1_FACTORY_TYPE_SINGLE_THREADED
=
0
,
D2D1_FACTORY_TYPE_MULTI_THREADED
=
1
,
D2D1_FACTORY_TYPE_FORCE_DWORD
=
0xffffffff
}
;
typedef
struct
{
;
}
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_C CONST IID IID_ID2D1Resource;
EXTERN_C CONST IID IID_ID2D1Image;
EXTERN_C CONST IID IID_ID2D1Bitmap;
EXTERN_C CONST IID IID_ID2D1GradientStopCollection;
extern
"C"
const
IID_ID2D1GradientStopCollection
;
EXTERN_C CONST IID IID_ID2D1Brush;
EXTERN_C CONST IID IID_ID2D1BitmapBrush;
EXTERN_C CONST IID IID_ID2D1SolidColorBrush;
EXTERN_C CONST IID IID_ID2D1LinearGradientBrush;
extern
"C"
const
IID_ID2D1LinearGradientBrush
;
EXTERN_C CONST IID IID_ID2D1RadialGradientBrush;
extern
"C"
const
IID_ID2D1RadialGradientBrush
;
EXTERN_C CONST IID IID_ID2D1StrokeStyle;
EXTERN_C CONST IID IID_ID2D1Geometry;
EXTERN_C CONST IID IID_ID2D1RectangleGeometry;
extern
"C"
const
IID_ID2D1RectangleGeometry
;
EXTERN_C CONST IID IID_ID2D1RoundedRectangleGeometry;
extern
"C"
const
IID_ID2D1RoundedRectangleGeometry
;
EXTERN_C CONST IID IID_ID2D1EllipseGeometry;
EXTERN_C CONST IID IID_ID2D1GeometryGroup;
EXTERN_C CONST IID IID_ID2D1TransformedGeometry;
EXTERN_C CONST IID IID_ID2D1SimplifiedGeometrySink;
extern
"C"
const
IID_ID2D1SimplifiedGeometrySink
;
EXTERN_C CONST IID IID_ID2D1GeometrySink;
EXTERN_C CONST IID IID_ID2D1TessellationSink;
extern
"C"
const
IID_ID2D1TessellationSink
;
EXTERN_C CONST IID IID_ID2D1PathGeometry;
EXTERN_C CONST IID IID_ID2D1Mesh;
EXTERN_C CONST IID IID_ID2D1Layer;
EXTERN_C CONST IID IID_ID2D1DrawingStateBlock;
extern
"C"
const
IID_ID2D1DrawingStateBlock
;
EXTERN_C CONST IID IID_ID2D1RenderTarget;
EXTERN_C CONST IID IID_ID2D1BitmapRenderTarget;
extern
"C"
const
IID_ID2D1BitmapRenderTarget
;
EXTERN_C CONST IID IID_ID2D1HwndRenderTarget;
extern
"C"
const
IID_ID2D1HwndRenderTarget
;
EXTERN_C CONST IID IID_ID2D1DCRenderTarget;
EXTERN_C CONST IID IID_ID2D1Factory;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
EXTERN_C CONST IID IID_ID2D1GdiInteropRenderTarget;
extern
"C"
const
IID_ID2D1GdiInteropRenderTarget
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifndef D2D_USE_C_DEFINITIONS
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
interface DX_DECLARE_INTERFACE("2cd90691-12e2-11dc-9fed-001143a055f9") ID2D1Resource : public IUnknown
struct
__declspec
(uuid(
"2cd90691-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, GetFactory)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_ ID2D1Factory **factory
};
interface DX_DECLARE_INTERFACE("65019f75-8da2-497c-b32c-dfa34e48ede6") ID2D1Image : public ID2D1Resource
struct
__declspec
(uuid(
"65019f75-8da2-497c-b32c-dfa34e48ede6"
))
__declspec
(novtable)
:
public
{
};
interface DX_DECLARE_INTERFACE("a2296057-ea42-4099-983b-539fb6505426") ID2D1Bitmap : public ID2D1Image
struct
__declspec
(uuid(
"a2296057-ea42-4099-983b-539fb6505426"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(D2D1_SIZE_F, GetSize)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_SIZE_U, GetPixelSize)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_PIXEL_FORMAT, GetPixelFormat)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetDpi)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD(CopyFromBitmap)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_POINT_2U *destPoint,
_In_ ID2D1Bitmap *bitmap,
_In_opt_ CONST D2D1_RECT_U *srcRect
STDMETHOD(CopyFromRenderTarget)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_POINT_2U *destPoint,
_In_ ID2D1RenderTarget *renderTarget,
_In_opt_ CONST D2D1_RECT_U *srcRect
STDMETHOD(CopyFromMemory)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_RECT_U *dstRect,
_In_ CONST void *srcData,
};
interface DX_DECLARE_INTERFACE("2cd906a7-12e2-11dc-9fed-001143a055f9") ID2D1GradientStopCollection : public ID2D1Resource
struct
__declspec
(uuid(
"2cd906a7-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
ID2D1GradientStopCollection
:
public
{
STDMETHOD_(UINT32, GetGradientStopCount)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetGradientStops)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_writes_to_(gradientStopsCount, _Inexpressible_("Retrieved through GetGradientStopCount()") ) D2D1_GRADIENT_STOP *gradientStops,
STDMETHOD_(D2D1_GAMMA, GetColorInterpolationGamma)(
virtual
__declspec
(nothrow)
__stdcall
GetColorInterpolationGamma
(
STDMETHOD_(D2D1_EXTEND_MODE, GetExtendMode)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("2cd906a8-12e2-11dc-9fed-001143a055f9") ID2D1Brush : public ID2D1Resource
struct
__declspec
(uuid(
"2cd906a8-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, SetOpacity)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetTransform)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_MATRIX_3X2_F *transform
STDMETHOD_(FLOAT, GetOpacity)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetTransform)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_MATRIX_3X2_F *transform
void
(
CONST D2D1_MATRIX_3X2_F &transform
)
{
(&
);
}
};
interface DX_DECLARE_INTERFACE("2cd906aa-12e2-11dc-9fed-001143a055f9") ID2D1BitmapBrush : public ID2D1Brush
struct
__declspec
(uuid(
"2cd906aa-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, SetExtendModeX)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetExtendModeY)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetInterpolationMode)(
virtual
__declspec
(nothrow)
void
__stdcall
(
D2D1_BITMAP_INTERPOLATION_MODE
STDMETHOD_(void, SetBitmap)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_opt_ ID2D1Bitmap *bitmap
STDMETHOD_(D2D1_EXTEND_MODE, GetExtendModeX)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_EXTEND_MODE, GetExtendModeY)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_BITMAP_INTERPOLATION_MODE, GetInterpolationMode)(
virtual
__declspec
(nothrow)
D2D1_BITMAP_INTERPOLATION_MODE
__stdcall
(
STDMETHOD_(void, GetBitmap)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_result_maybenull_ ID2D1Bitmap **bitmap
};
interface DX_DECLARE_INTERFACE("2cd906a9-12e2-11dc-9fed-001143a055f9") ID2D1SolidColorBrush : public ID2D1Brush
struct
__declspec
(uuid(
"2cd906a9-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, SetColor)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_COLOR_F *color
STDMETHOD_(D2D1_COLOR_F, GetColor)(
virtual
__declspec
(nothrow)
__stdcall
(
void
(
CONST D2D1_COLOR_F &color
)
{
(&
);
}
};
interface DX_DECLARE_INTERFACE("2cd906ab-12e2-11dc-9fed-001143a055f9") ID2D1LinearGradientBrush : public ID2D1Brush
struct
__declspec
(uuid(
"2cd906ab-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, SetStartPoint)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetEndPoint)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(D2D1_POINT_2F, GetStartPoint)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_POINT_2F, GetEndPoint)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetGradientStopCollection)(
virtual
__declspec
(nothrow)
void
__stdcall
GetGradientStopCollection
(
_Outptr_ ID2D1GradientStopCollection **gradientStopCollection
ID2D1GradientStopCollection
**
};
interface DX_DECLARE_INTERFACE("2cd906ac-12e2-11dc-9fed-001143a055f9") ID2D1RadialGradientBrush : public ID2D1Brush
struct
__declspec
(uuid(
"2cd906ac-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, SetCenter)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetGradientOriginOffset)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetRadiusX)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetRadiusY)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(D2D1_POINT_2F, GetCenter)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_POINT_2F, GetGradientOriginOffset)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(FLOAT, GetRadiusX)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(FLOAT, GetRadiusY)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetGradientStopCollection)(
virtual
__declspec
(nothrow)
void
__stdcall
GetGradientStopCollection
(
_Outptr_ ID2D1GradientStopCollection **gradientStopCollection
ID2D1GradientStopCollection
**
};
interface DX_DECLARE_INTERFACE("2cd9069d-12e2-11dc-9fed-001143a055f9") ID2D1StrokeStyle : public ID2D1Resource
struct
__declspec
(uuid(
"2cd9069d-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(D2D1_CAP_STYLE, GetStartCap)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_CAP_STYLE, GetEndCap)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_CAP_STYLE, GetDashCap)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(FLOAT, GetMiterLimit)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_LINE_JOIN, GetLineJoin)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(FLOAT, GetDashOffset)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_DASH_STYLE, GetDashStyle)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(UINT32, GetDashesCount)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetDashes)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_writes_(dashesCount) FLOAT *dashes,
};
interface DX_DECLARE_INTERFACE("2cd906a1-12e2-11dc-9fed-001143a055f9") ID2D1Geometry : public ID2D1Resource
struct
__declspec
(uuid(
"2cd906a1-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD(GetBounds)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
_Out_ D2D1_RECT_F *bounds
STDMETHOD(GetWidenedBounds)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
_Out_ D2D1_RECT_F *bounds
STDMETHOD(StrokeContainsPoint)(
virtual
__declspec
(nothrow)
__stdcall
(
,
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
STDMETHOD(FillContainsPoint)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
STDMETHOD(CompareWithGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1Geometry *inputGeometry,
_In_opt_ CONST D2D1_MATRIX_3X2_F *inputGeometryTransform,
,
_Out_ D2D1_GEOMETRY_RELATION *relation
STDMETHOD(Simplify)(
virtual
__declspec
(nothrow)
__stdcall
(
D2D1_GEOMETRY_SIMPLIFICATION_OPTION
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
STDMETHOD(Tessellate)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
_In_ ID2D1TessellationSink *tessellationSink
STDMETHOD(CombineWithGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1Geometry *inputGeometry,
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *inputGeometryTransform,
,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
STDMETHOD(Outline)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
STDMETHOD(ComputeArea)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
STDMETHOD(ComputeLength)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
STDMETHOD(ComputePointAtLength)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
_Out_opt_ D2D1_POINT_2F *point,
_Out_opt_ D2D1_POINT_2F *unitTangentVector
STDMETHOD(Widen)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
_Out_ D2D1_RECT_F *bounds
{
return
(&
,
);
}
(
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
_Out_ D2D1_RECT_F *bounds
{
return
(
,
, &
,
,
);
}
(
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
_Out_ D2D1_RECT_F *bounds
{
return GetWidenedBounds(strokeWidth, strokeStyle, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, bounds);
return
(
,
,
, (
0.25f
),
);
}
(
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
CONST D2D1_MATRIX_3X2_F &worldTransform,
_Out_ D2D1_RECT_F *bounds
{
return GetWidenedBounds(strokeWidth, strokeStyle, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, bounds);
return
(
,
, &
, (
0.25f
),
);
}
(
,
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
{
return
(
,
,
, &
,
,
);
}
(
,
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
{
return StrokeContainsPoint(point, strokeWidth, strokeStyle, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, contains);
return
(
,
,
,
, (
0.25f
),
);
}
(
,
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
CONST D2D1_MATRIX_3X2_F &worldTransform,
{
return StrokeContainsPoint(point, strokeWidth, strokeStyle, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, contains);
return
(
,
,
, &
, (
0.25f
),
);
}
(
,
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
{
return
(
, &
,
,
);
}
(
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
{
return FillContainsPoint(point, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, contains);
}
(
,
CONST D2D1_MATRIX_3X2_F &worldTransform,
{
return FillContainsPoint(point, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, contains);
}
(
_In_ ID2D1Geometry *inputGeometry,
CONST D2D1_MATRIX_3X2_F &inputGeometryTransform,
,
_Out_ D2D1_GEOMETRY_RELATION *relation
{
return
(
, &
,
,
);
}
(
_In_ ID2D1Geometry *inputGeometry,
_In_opt_ CONST D2D1_MATRIX_3X2_F *inputGeometryTransform,
_Out_ D2D1_GEOMETRY_RELATION *relation
{
return CompareWithGeometry(inputGeometry, inputGeometryTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, relation);
}
(
_In_ ID2D1Geometry *inputGeometry,
CONST D2D1_MATRIX_3X2_F &inputGeometryTransform,
_Out_ D2D1_GEOMETRY_RELATION *relation
{
return CompareWithGeometry(inputGeometry, &inputGeometryTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, relation);
}
(
D2D1_GEOMETRY_SIMPLIFICATION_OPTION
,
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return
(
, &
,
,
);
}
(
D2D1_GEOMETRY_SIMPLIFICATION_OPTION
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return Simplify(simplificationOption, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
}
(
D2D1_GEOMETRY_SIMPLIFICATION_OPTION
,
CONST D2D1_MATRIX_3X2_F &worldTransform,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return Simplify(simplificationOption, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
}
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
_In_ ID2D1TessellationSink *tessellationSink
{
return
(&
,
,
);
}
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
_In_ ID2D1TessellationSink *tessellationSink
{
return Tessellate(worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, tessellationSink);
}
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
_In_ ID2D1TessellationSink *tessellationSink
{
return Tessellate(&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, tessellationSink);
}
(
_In_ ID2D1Geometry *inputGeometry,
,
CONST D2D1_MATRIX_3X2_F &inputGeometryTransform,
,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return
(
,
, &
,
,
);
}
(
_In_ ID2D1Geometry *inputGeometry,
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *inputGeometryTransform,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return CombineWithGeometry(inputGeometry, combineMode, inputGeometryTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
return
(
,
,
, (
0.25f
),
);
}
(
_In_ ID2D1Geometry *inputGeometry,
,
CONST D2D1_MATRIX_3X2_F &inputGeometryTransform,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return CombineWithGeometry(inputGeometry, combineMode, &inputGeometryTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
return
(
,
, &
, (
0.25f
),
);
}
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return
(&
,
,
);
}
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return Outline(worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
}
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return Outline(&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
}
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
{
return
(&
,
,
);
}
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
{
return ComputeArea(worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, area);
}
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
{
return ComputeArea(&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, area);
}
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
{
return
(&
,
,
);
}
(
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
{
return ComputeLength(worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, length);
}
(
CONST D2D1_MATRIX_3X2_F &worldTransform,
{
return ComputeLength(&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, length);
}
(
,
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
_Out_opt_ D2D1_POINT_2F *point,
_Out_opt_ D2D1_POINT_2F *unitTangentVector
{
return
(
, &
,
,
,
);
}
(
,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
_Out_opt_ D2D1_POINT_2F *point,
_Out_opt_ D2D1_POINT_2F *unitTangentVector
{
return ComputePointAtLength(length, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, point, unitTangentVector);
return
(
,
, (
0.25f
),
,
);
}
(
,
CONST D2D1_MATRIX_3X2_F &worldTransform,
_Out_opt_ D2D1_POINT_2F *point,
_Out_opt_ D2D1_POINT_2F *unitTangentVector
{
return ComputePointAtLength(length, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, point, unitTangentVector);
return
(
, &
, (
0.25f
),
,
);
}
(
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
CONST D2D1_MATRIX_3X2_F &worldTransform,
,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return
(
,
, &
,
,
);
}
(
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
_In_opt_ CONST D2D1_MATRIX_3X2_F *worldTransform,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return Widen(strokeWidth, strokeStyle, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
return
(
,
,
, (
0.25f
),
);
}
(
,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
CONST D2D1_MATRIX_3X2_F &worldTransform,
_In_ ID2D1SimplifiedGeometrySink *geometrySink
ID2D1SimplifiedGeometrySink
*
{
return Widen(strokeWidth, strokeStyle, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
return
(
,
, &
, (
0.25f
),
);
}
};
interface DX_DECLARE_INTERFACE("2cd906a2-12e2-11dc-9fed-001143a055f9") ID2D1RectangleGeometry : public ID2D1Geometry
struct
__declspec
(uuid(
"2cd906a2-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, GetRect)(
virtual
__declspec
(nothrow)
void
__stdcall
(
};
interface DX_DECLARE_INTERFACE("2cd906a3-12e2-11dc-9fed-001143a055f9") ID2D1RoundedRectangleGeometry : public ID2D1Geometry
struct
__declspec
(uuid(
"2cd906a3-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
ID2D1RoundedRectangleGeometry
:
public
{
STDMETHOD_(void, GetRoundedRect)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_ROUNDED_RECT *roundedRect
};
interface DX_DECLARE_INTERFACE("2cd906a4-12e2-11dc-9fed-001143a055f9") ID2D1EllipseGeometry : public ID2D1Geometry
struct
__declspec
(uuid(
"2cd906a4-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, GetEllipse)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_ELLIPSE *ellipse
};
interface DX_DECLARE_INTERFACE("2cd906a6-12e2-11dc-9fed-001143a055f9") ID2D1GeometryGroup : public ID2D1Geometry
struct
__declspec
(uuid(
"2cd906a6-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(D2D1_FILL_MODE, GetFillMode)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(UINT32, GetSourceGeometryCount)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetSourceGeometries)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_writes_(geometriesCount) ID2D1Geometry **geometries,
};
interface DX_DECLARE_INTERFACE("2cd906bb-12e2-11dc-9fed-001143a055f9") ID2D1TransformedGeometry : public ID2D1Geometry
struct
__declspec
(uuid(
"2cd906bb-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, GetSourceGeometry)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_ ID2D1Geometry **sourceGeometry
STDMETHOD_(void, GetTransform)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_MATRIX_3X2_F *transform
};
interface DX_DECLARE_INTERFACE("2cd9069e-12e2-11dc-9fed-001143a055f9") ID2D1SimplifiedGeometrySink : public IUnknown
struct
__declspec
(uuid(
"2cd9069e-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
ID2D1SimplifiedGeometrySink
:
public
{
STDMETHOD_(void, SetFillMode)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, SetSegmentFlags)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, BeginFigure)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
STDMETHOD_(void, AddLines)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_reads_(pointsCount) CONST D2D1_POINT_2F *points,
STDMETHOD_(void, AddBeziers)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_reads_(beziersCount) CONST D2D1_BEZIER_SEGMENT *beziers,
STDMETHOD_(void, EndFigure)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD(Close)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("2cd9069f-12e2-11dc-9fed-001143a055f9") ID2D1GeometrySink : public ID2D1SimplifiedGeometrySink
struct
__declspec
(uuid(
"2cd9069f-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
ID2D1SimplifiedGeometrySink
{
STDMETHOD_(void, AddLine)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, AddBezier)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_BEZIER_SEGMENT *bezier
STDMETHOD_(void, AddQuadraticBezier)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_QUADRATIC_BEZIER_SEGMENT *bezier
const
D2D1_QUADRATIC_BEZIER_SEGMENT
*
STDMETHOD_(void, AddQuadraticBeziers)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_reads_(beziersCount) CONST D2D1_QUADRATIC_BEZIER_SEGMENT *beziers,
const
D2D1_QUADRATIC_BEZIER_SEGMENT
*
,
STDMETHOD_(void, AddArc)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_ARC_SEGMENT *arc
void
(
CONST D2D1_BEZIER_SEGMENT &bezier
)
{
(&
);
}
void
(
CONST D2D1_QUADRATIC_BEZIER_SEGMENT &bezier
const
D2D1_QUADRATIC_BEZIER_SEGMENT
&
)
{
(&
);
}
void
(
CONST D2D1_ARC_SEGMENT &arc
)
{
(&
);
}
};
interface DX_DECLARE_INTERFACE("2cd906c1-12e2-11dc-9fed-001143a055f9") ID2D1TessellationSink : public IUnknown
struct
__declspec
(uuid(
"2cd906c1-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, AddTriangles)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_reads_(trianglesCount) CONST D2D1_TRIANGLE *triangles,
STDMETHOD(Close)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("2cd906a5-12e2-11dc-9fed-001143a055f9") ID2D1PathGeometry : public ID2D1Geometry
struct
__declspec
(uuid(
"2cd906a5-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD(Open)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1GeometrySink **geometrySink
STDMETHOD(Stream)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1GeometrySink *geometrySink
STDMETHOD(GetSegmentCount)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(GetFigureCount)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("2cd906c2-12e2-11dc-9fed-001143a055f9") ID2D1Mesh : public ID2D1Resource
struct
__declspec
(uuid(
"2cd906c2-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD(Open)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1TessellationSink **tessellationSink
};
interface DX_DECLARE_INTERFACE("2cd9069b-12e2-11dc-9fed-001143a055f9") ID2D1Layer : public ID2D1Resource
struct
__declspec
(uuid(
"2cd9069b-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(D2D1_SIZE_F, GetSize)(
virtual
__declspec
(nothrow)
__stdcall
(
};
interface DX_DECLARE_INTERFACE("28506e39-ebf6-46a1-bb47-fd85565ab957") ID2D1DrawingStateBlock : public ID2D1Resource
struct
__declspec
(uuid(
"28506e39-ebf6-46a1-bb47-fd85565ab957"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(void, GetDescription)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_DRAWING_STATE_DESCRIPTION *stateDescription
D2D1_DRAWING_STATE_DESCRIPTION
*
STDMETHOD_(void, SetDescription)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_DRAWING_STATE_DESCRIPTION *stateDescription
const
D2D1_DRAWING_STATE_DESCRIPTION
*
STDMETHOD_(void, SetTextRenderingParams)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_opt_ IDWriteRenderingParams *textRenderingParams = NULL
STDMETHOD_(void, GetTextRenderingParams)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_result_maybenull_ IDWriteRenderingParams **textRenderingParams
void
(
CONST D2D1_DRAWING_STATE_DESCRIPTION &stateDescription
const
D2D1_DRAWING_STATE_DESCRIPTION
&
)
{
(&
);
}
};
interface DX_DECLARE_INTERFACE("2cd90694-12e2-11dc-9fed-001143a055f9") ID2D1RenderTarget : public ID2D1Resource
struct
__declspec
(uuid(
"2cd90694-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD(CreateBitmap)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_opt_ CONST void *srcData,
,
_In_ CONST D2D1_BITMAP_PROPERTIES *bitmapProperties,
_COM_Outptr_ ID2D1Bitmap **bitmap
STDMETHOD(CreateBitmapFromWicBitmap)(
virtual
__declspec
(nothrow)
__stdcall
CreateBitmapFromWicBitmap
(
_In_ IWICBitmapSource *wicBitmapSource,
_In_opt_ CONST D2D1_BITMAP_PROPERTIES *bitmapProperties,
_COM_Outptr_ ID2D1Bitmap **bitmap
STDMETHOD(CreateSharedBitmap)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_BITMAP_PROPERTIES *bitmapProperties,
_COM_Outptr_ ID2D1Bitmap **bitmap
STDMETHOD(CreateBitmapBrush)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ ID2D1Bitmap *bitmap,
_In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties,
const
D2D1_BITMAP_BRUSH_PROPERTIES
*
,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties,
_COM_Outptr_ ID2D1BitmapBrush **bitmapBrush
STDMETHOD(CreateSolidColorBrush)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_COLOR_F *color,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties,
_COM_Outptr_ ID2D1SolidColorBrush **solidColorBrush
STDMETHOD(CreateGradientStopCollection)(
virtual
__declspec
(nothrow)
__stdcall
CreateGradientStopCollection
(
_In_reads_(gradientStopsCount) CONST D2D1_GRADIENT_STOP *gradientStops,
_In_range_(>=,1) UINT32 gradientStopsCount,
,
,
_COM_Outptr_ ID2D1GradientStopCollection **gradientStopCollection
ID2D1GradientStopCollection
**
STDMETHOD(CreateLinearGradientBrush)(
virtual
__declspec
(nothrow)
__stdcall
CreateLinearGradientBrush
(
_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties,
const
D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES
*
linearGradientBrushProperties
,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties,
_In_ ID2D1GradientStopCollection *gradientStopCollection,
ID2D1GradientStopCollection
*
,
_COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush
STDMETHOD(CreateRadialGradientBrush)(
virtual
__declspec
(nothrow)
__stdcall
CreateRadialGradientBrush
(
_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties,
const
D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES
*
radialGradientBrushProperties
,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties,
_In_ ID2D1GradientStopCollection *gradientStopCollection,
ID2D1GradientStopCollection
*
,
_COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush
STDMETHOD(CreateCompatibleRenderTarget)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_SIZE_F *desiredSize,
_In_opt_ CONST D2D1_SIZE_U *desiredPixelSize,
_In_opt_ CONST D2D1_PIXEL_FORMAT *desiredFormat,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
,
_COM_Outptr_ ID2D1BitmapRenderTarget **bitmapRenderTarget
STDMETHOD(CreateLayer)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_SIZE_F *size,
_COM_Outptr_ ID2D1Layer **layer
STDMETHOD(CreateMesh)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1Mesh **mesh
STDMETHOD_(void, DrawLine)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
,
=
1.0f
,
_In_opt_ ID2D1StrokeStyle *strokeStyle = NULL
STDMETHOD_(void, DrawRectangle)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_RECT_F *rect,
=
1.0f
,
_In_opt_ ID2D1StrokeStyle *strokeStyle = NULL
STDMETHOD_(void, FillRectangle)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_RECT_F *rect,
STDMETHOD_(void, DrawRoundedRectangle)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_ROUNDED_RECT *roundedRect,
=
1.0f
,
_In_opt_ ID2D1StrokeStyle *strokeStyle = NULL
STDMETHOD_(void, FillRoundedRectangle)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_ROUNDED_RECT *roundedRect,
STDMETHOD_(void, DrawEllipse)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_ELLIPSE *ellipse,
=
1.0f
,
_In_opt_ ID2D1StrokeStyle *strokeStyle = NULL
STDMETHOD_(void, FillEllipse)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_ELLIPSE *ellipse,
STDMETHOD_(void, DrawGeometry)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ ID2D1Geometry *geometry,
=
1.0f
,
_In_opt_ ID2D1StrokeStyle *strokeStyle = NULL
STDMETHOD_(void, FillGeometry)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ ID2D1Geometry *geometry,
_In_opt_ ID2D1Brush *opacityBrush = NULL
STDMETHOD_(void, FillMesh)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, FillOpacityMask)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ ID2D1Bitmap *opacityMask,
D2D1_OPACITY_MASK_CONTENT
,
_In_opt_ CONST D2D1_RECT_F *destinationRectangle = NULL,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle = NULL
STDMETHOD_(void, DrawBitmap)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ ID2D1Bitmap *bitmap,
_In_opt_ CONST D2D1_RECT_F *destinationRectangle = NULL,
=
1.0f
,
D2D1_BITMAP_INTERPOLATION_MODE
=
D2D1_BITMAP_INTERPOLATION_MODE_LINEAR
,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle = NULL
STDMETHOD_(void, DrawText)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_reads_(stringLength) CONST WCHAR *string,
,
_In_ IDWriteTextFormat *textFormat,
_In_ CONST D2D1_RECT_F *layoutRect,
_In_ ID2D1Brush *defaultFillBrush,
=
D2D1_DRAW_TEXT_OPTIONS_NONE
,
=
DWRITE_MEASURING_MODE_NATURAL
STDMETHOD_(void, DrawTextLayout)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
_In_ IDWriteTextLayout *textLayout,
_In_ ID2D1Brush *defaultFillBrush,
=
D2D1_DRAW_TEXT_OPTIONS_NONE
STDMETHOD_(void, DrawGlyphRun)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
_In_ CONST DWRITE_GLYPH_RUN *glyphRun,
_In_ ID2D1Brush *foregroundBrush,
=
DWRITE_MEASURING_MODE_NATURAL
STDMETHOD_(void, SetTransform)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_MATRIX_3X2_F *transform
STDMETHOD_(void, GetTransform)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_ D2D1_MATRIX_3X2_F *transform
STDMETHOD_(void, SetAntialiasMode)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(D2D1_ANTIALIAS_MODE, GetAntialiasMode)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, SetTextAntialiasMode)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(D2D1_TEXT_ANTIALIAS_MODE, GetTextAntialiasMode)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, SetTextRenderingParams)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_opt_ IDWriteRenderingParams *textRenderingParams = NULL
STDMETHOD_(void, GetTextRenderingParams)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Outptr_result_maybenull_ IDWriteRenderingParams **textRenderingParams
STDMETHOD_(void, SetTags)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
STDMETHOD_(void, GetTags)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Out_opt_ D2D1_TAG *tag1 = NULL,
_Out_opt_ D2D1_TAG *tag2 = NULL
STDMETHOD_(void, PushLayer)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_LAYER_PARAMETERS *layerParameters,
_In_opt_ ID2D1Layer *layer
STDMETHOD_(void, PopLayer)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD(Flush)(
virtual
__declspec
(nothrow)
__stdcall
(
_Out_opt_ D2D1_TAG *tag1 = NULL,
_Out_opt_ D2D1_TAG *tag2 = NULL
STDMETHOD_(void, SaveDrawingState)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_Inout_ ID2D1DrawingStateBlock *drawingStateBlock
STDMETHOD_(void, RestoreDrawingState)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ ID2D1DrawingStateBlock *drawingStateBlock
STDMETHOD_(void, PushAxisAlignedClip)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_ CONST D2D1_RECT_F *clipRect,
STDMETHOD_(void, PopAxisAlignedClip)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(void, Clear)(
virtual
__declspec
(nothrow)
void
__stdcall
(
_In_opt_ CONST D2D1_COLOR_F *clearColor = NULL
STDMETHOD_(void, BeginDraw)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD(EndDraw)(
virtual
__declspec
(nothrow)
__stdcall
(
_Out_opt_ D2D1_TAG *tag1 = NULL,
_Out_opt_ D2D1_TAG *tag2 = NULL
STDMETHOD_(D2D1_PIXEL_FORMAT, GetPixelFormat)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, SetDpi)(
virtual
__declspec
(nothrow)
void
__stdcall
(
,
STDMETHOD_(void, GetDpi)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD_(D2D1_SIZE_F, GetSize)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(D2D1_SIZE_U, GetPixelSize)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(UINT32, GetMaximumBitmapSize)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(BOOL, IsSupported)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties
const
D2D1_RENDER_TARGET_PROPERTIES
*
(
,
_In_opt_ CONST void *srcData,
,
CONST D2D1_BITMAP_PROPERTIES &bitmapProperties,
_COM_Outptr_ ID2D1Bitmap **bitmap
)
{
return
(
,
,
, &
,
);
}
(
,
CONST D2D1_BITMAP_PROPERTIES &bitmapProperties,
_COM_Outptr_ ID2D1Bitmap **bitmap
)
{
return CreateBitmap(size, NULL, 0, &bitmapProperties, bitmap);
}
CreateBitmapFromWicBitmap
(
_In_ IWICBitmapSource *wicBitmapSource,
CONST D2D1_BITMAP_PROPERTIES &bitmapProperties,
_COM_Outptr_ ID2D1Bitmap **bitmap
)
{
return
CreateBitmapFromWicBitmap
(
, &
,
);
}
CreateBitmapFromWicBitmap
(
_In_ IWICBitmapSource *wicBitmapSource,
_COM_Outptr_ ID2D1Bitmap **bitmap
)
{
return CreateBitmapFromWicBitmap(wicBitmapSource, NULL, bitmap);
return
CreateBitmapFromWicBitmap
(
,
0
,
);
}
(
_In_opt_ ID2D1Bitmap *bitmap,
_COM_Outptr_ ID2D1BitmapBrush **bitmapBrush
)
{
return CreateBitmapBrush(bitmap, NULL, NULL, bitmapBrush);
}
(
_In_opt_ ID2D1Bitmap *bitmap,
CONST D2D1_BITMAP_BRUSH_PROPERTIES &bitmapBrushProperties,
const
D2D1_BITMAP_BRUSH_PROPERTIES
&
,
_COM_Outptr_ ID2D1BitmapBrush **bitmapBrush
)
{
return CreateBitmapBrush(bitmap, &bitmapBrushProperties, NULL, bitmapBrush);
}
(
_In_opt_ ID2D1Bitmap *bitmap,
CONST D2D1_BITMAP_BRUSH_PROPERTIES &bitmapBrushProperties,
const
D2D1_BITMAP_BRUSH_PROPERTIES
&
,
CONST D2D1_BRUSH_PROPERTIES &brushProperties,
_COM_Outptr_ ID2D1BitmapBrush **bitmapBrush
)
{
return
(
, &
, &
,
);
}
(
CONST D2D1_COLOR_F &color,
_COM_Outptr_ ID2D1SolidColorBrush **solidColorBrush
)
{
return CreateSolidColorBrush(&color, NULL, solidColorBrush);
}
(
CONST D2D1_COLOR_F &color,
CONST D2D1_BRUSH_PROPERTIES &brushProperties,
_COM_Outptr_ ID2D1SolidColorBrush **solidColorBrush
)
{
return
(&
, &
,
);
}
CreateGradientStopCollection
(
_In_reads_(gradientStopsCount) CONST D2D1_GRADIENT_STOP *gradientStops,
,
_COM_Outptr_ ID2D1GradientStopCollection **gradientStopCollection
ID2D1GradientStopCollection
**
)
{
return
CreateGradientStopCollection
(
,
,
,
,
);
}
CreateLinearGradientBrush
(
CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties,
const
D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES
&
linearGradientBrushProperties
,
_In_ ID2D1GradientStopCollection *gradientStopCollection,
ID2D1GradientStopCollection
*
,
_COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush
)
{
return CreateLinearGradientBrush(&linearGradientBrushProperties, NULL, gradientStopCollection, linearGradientBrush);
return
CreateLinearGradientBrush
(&
linearGradientBrushProperties
,
0
,
,
);
}
CreateLinearGradientBrush
(
CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties,
const
D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES
&
linearGradientBrushProperties
,
CONST D2D1_BRUSH_PROPERTIES &brushProperties,
_In_ ID2D1GradientStopCollection *gradientStopCollection,
ID2D1GradientStopCollection
*
,
_COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush
)
{
return
CreateLinearGradientBrush
(&
linearGradientBrushProperties
, &
,
,
);
}
CreateRadialGradientBrush
(
CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties,
const
D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES
&
radialGradientBrushProperties
,
_In_ ID2D1GradientStopCollection *gradientStopCollection,
ID2D1GradientStopCollection
*
,
_COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush
)
{
return CreateRadialGradientBrush(&radialGradientBrushProperties, NULL, gradientStopCollection, radialGradientBrush);
return
CreateRadialGradientBrush
(&
radialGradientBrushProperties
,
0
,
,
);
}
CreateRadialGradientBrush
(
CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties,
const
D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES
&
radialGradientBrushProperties
,
CONST D2D1_BRUSH_PROPERTIES &brushProperties,
_In_ ID2D1GradientStopCollection *gradientStopCollection,
ID2D1GradientStopCollection
*
,
_COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush
)
{
return
CreateRadialGradientBrush
(&
radialGradientBrushProperties
, &
,
,
);
}
CreateCompatibleRenderTarget
(
_COM_Outptr_ ID2D1BitmapRenderTarget **bitmapRenderTarget
)
{
return CreateCompatibleRenderTarget(NULL, NULL, NULL, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE, bitmapRenderTarget);
return
CreateCompatibleRenderTarget
(
0
,
0
,
0
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE
,
);
}
CreateCompatibleRenderTarget
(
,
_COM_Outptr_ ID2D1BitmapRenderTarget **bitmapRenderTarget
)
{
return CreateCompatibleRenderTarget(&desiredSize, NULL, NULL, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE, bitmapRenderTarget);
return
CreateCompatibleRenderTarget
(&
,
0
,
0
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE
,
);
}
CreateCompatibleRenderTarget
(
,
,
_COM_Outptr_ ID2D1BitmapRenderTarget **bitmapRenderTarget
)
{
return CreateCompatibleRenderTarget(&desiredSize, &desiredPixelSize, NULL, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE, bitmapRenderTarget);
return
CreateCompatibleRenderTarget
(&
, &
,
0
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE
,
);
}
(
,
,
,
_COM_Outptr_ ID2D1BitmapRenderTarget **bitmapRenderTarget
)
{
return
CreateCompatibleRenderTarget
(&
, &
, &
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE
,
);
}
(
,
,
,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
,
_COM_Outptr_ ID2D1BitmapRenderTarget **bitmapRenderTarget
)
{
return
CreateCompatibleRenderTarget
(&
, &
, &
,
,
);
}
(
,
_COM_Outptr_ ID2D1Layer **layer
)
{
return
(&
,
);
}
(
_COM_Outptr_ ID2D1Layer **layer
)
{
return CreateLayer(NULL, layer);
}
void
(
=
1.0f
,
_In_opt_ ID2D1StrokeStyle *strokeStyle = NULL
)
{
(&
,
,
,
);
}
void
(
)
{
(&
,
);
}
void
(
CONST D2D1_ROUNDED_RECT &roundedRect,
=
1.0f
,
_In_opt_ ID2D1StrokeStyle *strokeStyle = NULL
)
{
(&
,
,
,
);
}
void
(
CONST D2D1_ROUNDED_RECT &roundedRect,
)
{
(&
,
);
}
void
(
CONST D2D1_ELLIPSE &ellipse,
=
1.0f
,
_In_opt_ ID2D1StrokeStyle *strokeStyle = NULL
)
{
(&
,
,
,
);
}
void
(
CONST D2D1_ELLIPSE &ellipse,
)
{
(&
,
);
}
void
(
_In_ ID2D1Bitmap *opacityMask,
D2D1_OPACITY_MASK_CONTENT
,
CONST D2D1_RECT_F &destinationRectangle,
CONST D2D1_RECT_F &sourceRectangle
)
{
(
,
,
, &
, &
);
}
void
(
_In_ ID2D1Bitmap *bitmap,
CONST D2D1_RECT_F &destinationRectangle,
=
1.0f
,
D2D1_BITMAP_INTERPOLATION_MODE
=
D2D1_BITMAP_INTERPOLATION_MODE_LINEAR
,
_In_opt_ CONST D2D1_RECT_F *sourceRectangle = NULL
)
{
(
, &
,
,
,
);
}
void
(
_In_ ID2D1Bitmap *bitmap,
CONST D2D1_RECT_F &destinationRectangle,
,
D2D1_BITMAP_INTERPOLATION_MODE
,
CONST D2D1_RECT_F &sourceRectangle
)
{
(
, &
,
,
, &
);
}
void
(
CONST D2D1_MATRIX_3X2_F &transform
)
{
(&
);
}
void
(
CONST D2D1_LAYER_PARAMETERS &layerParameters,
_In_opt_ ID2D1Layer *layer
)
{
(&
,
);
}
void
(
CONST D2D1_RECT_F &clipRect,
)
{
return
(&
,
);
}
void
(
CONST D2D1_COLOR_F &clearColor
)
{
return
(&
);
}
void
_In_reads_(stringLength) CONST WCHAR *string,
,
_In_ IDWriteTextFormat *textFormat,
CONST D2D1_RECT_F &layoutRect,
_In_ ID2D1Brush *defaultFillBrush,
=
D2D1_DRAW_TEXT_OPTIONS_NONE
,
=
DWRITE_MEASURING_MODE_NATURAL
)
{
return DrawText(string, stringLength, textFormat, &layoutRect, defaultFillBrush, options, measuringMode);
}
(
CONST D2D1_RENDER_TARGET_PROPERTIES &renderTargetProperties
const
D2D1_RENDER_TARGET_PROPERTIES
&
{
return
(&
);
}
};
interface DX_DECLARE_INTERFACE("2cd90695-12e2-11dc-9fed-001143a055f9") ID2D1BitmapRenderTarget : public ID2D1RenderTarget
struct
__declspec
(uuid(
"2cd90695-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD(GetBitmap)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1Bitmap **bitmap
};
interface DX_DECLARE_INTERFACE("2cd90698-12e2-11dc-9fed-001143a055f9") ID2D1HwndRenderTarget : public ID2D1RenderTarget
struct
__declspec
(uuid(
"2cd90698-12e2-11dc-9fed-001143a055f9"
))
__declspec
(novtable)
:
public
{
STDMETHOD_(D2D1_WINDOW_STATE, CheckWindowState)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD(Resize)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_SIZE_U *pixelSize
STDMETHOD_(HWND, GetHwnd)(
virtual
__declspec
(nothrow)
__stdcall
(
(
CONST D2D1_SIZE_U &pixelSize
)
{
return
(&
);
}
};
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
interface DX_DECLARE_INTERFACE("e0db51c3-6f77-4bae-b3d5-e47509b35838") ID2D1GdiInteropRenderTarget : public IUnknown
struct
__declspec
(uuid(
"e0db51c3-6f77-4bae-b3d5-e47509b35838"
))
__declspec
(novtable)
ID2D1GdiInteropRenderTarget
:
public
{
STDMETHOD(GetDC)(
virtual
__declspec
(nothrow)
__stdcall
(
,
STDMETHOD(ReleaseDC)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST RECT *update
};
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
interface DX_DECLARE_INTERFACE("1c51bc64-de61-46fd-9899-63a5d8f03950") ID2D1DCRenderTarget : public ID2D1RenderTarget
struct
__declspec
(uuid(
"1c51bc64-de61-46fd-9899-63a5d8f03950"
))
__declspec
(novtable)
:
public
{
STDMETHOD(BindDC)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST RECT *pSubRect
};
interface DX_DECLARE_INTERFACE("06152247-6f50-465a-9245-118bfd3b6007") ID2D1Factory : public IUnknown
struct
__declspec
(uuid(
"06152247-6f50-465a-9245-118bfd3b6007"
))
__declspec
(novtable)
:
public
{
STDMETHOD(ReloadSystemMetrics)(
virtual
__declspec
(nothrow)
__stdcall
(
STDMETHOD_(void, GetDesktopDpi)(
virtual
__declspec
(nothrow)
void
__stdcall
(
STDMETHOD(CreateRectangleGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_RECT_F *rectangle,
_COM_Outptr_ ID2D1RectangleGeometry **rectangleGeometry
STDMETHOD(CreateRoundedRectangleGeometry)(
virtual
__declspec
(nothrow)
__stdcall
CreateRoundedRectangleGeometry
(
_In_ CONST D2D1_ROUNDED_RECT *roundedRectangle,
_COM_Outptr_ ID2D1RoundedRectangleGeometry **roundedRectangleGeometry
ID2D1RoundedRectangleGeometry
**
STDMETHOD(CreateEllipseGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_ELLIPSE *ellipse,
_COM_Outptr_ ID2D1EllipseGeometry **ellipseGeometry
STDMETHOD(CreateGeometryGroup)(
virtual
__declspec
(nothrow)
__stdcall
(
,
_In_reads_(geometriesCount) ID2D1Geometry **geometries,
,
_COM_Outptr_ ID2D1GeometryGroup **geometryGroup
STDMETHOD(CreateTransformedGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ ID2D1Geometry *sourceGeometry,
_In_ CONST D2D1_MATRIX_3X2_F *transform,
_COM_Outptr_ ID2D1TransformedGeometry **transformedGeometry
STDMETHOD(CreatePathGeometry)(
virtual
__declspec
(nothrow)
__stdcall
(
_COM_Outptr_ ID2D1PathGeometry **pathGeometry
STDMETHOD(CreateStrokeStyle)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_STROKE_STYLE_PROPERTIES *strokeStyleProperties,
const
D2D1_STROKE_STYLE_PROPERTIES
*
,
_In_reads_opt_(dashesCount) CONST FLOAT *dashes,
,
_COM_Outptr_ ID2D1StrokeStyle **strokeStyle
STDMETHOD(CreateDrawingStateBlock)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_opt_ CONST D2D1_DRAWING_STATE_DESCRIPTION *drawingStateDescription,
const
D2D1_DRAWING_STATE_DESCRIPTION
*
,
_In_opt_ IDWriteRenderingParams *textRenderingParams,
_COM_Outptr_ ID2D1DrawingStateBlock **drawingStateBlock
STDMETHOD(CreateWicBitmapRenderTarget)(
virtual
__declspec
(nothrow)
__stdcall
CreateWicBitmapRenderTarget
(
_In_ CONST D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
const
D2D1_RENDER_TARGET_PROPERTIES
*
,
_COM_Outptr_ ID2D1RenderTarget **renderTarget
STDMETHOD(CreateHwndRenderTarget)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
const
D2D1_RENDER_TARGET_PROPERTIES
*
,
_In_ CONST D2D1_HWND_RENDER_TARGET_PROPERTIES *hwndRenderTargetProperties,
const
D2D1_HWND_RENDER_TARGET_PROPERTIES
*
hwndRenderTargetProperties
,
_COM_Outptr_ ID2D1HwndRenderTarget **hwndRenderTarget
STDMETHOD(CreateDxgiSurfaceRenderTarget)(
virtual
__declspec
(nothrow)
__stdcall
CreateDxgiSurfaceRenderTarget
(
_In_ IDXGISurface *dxgiSurface,
_In_ CONST D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
const
D2D1_RENDER_TARGET_PROPERTIES
*
,
_COM_Outptr_ ID2D1RenderTarget **renderTarget
STDMETHOD(CreateDCRenderTarget)(
virtual
__declspec
(nothrow)
__stdcall
(
_In_ CONST D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
const
D2D1_RENDER_TARGET_PROPERTIES
*
,
_COM_Outptr_ ID2D1DCRenderTarget **dcRenderTarget
(
CONST D2D1_RECT_F &rectangle,
_COM_Outptr_ ID2D1RectangleGeometry **rectangleGeometry
)
{
return
(&
,
);
}
CreateRoundedRectangleGeometry
(
CONST D2D1_ROUNDED_RECT &roundedRectangle,
_COM_Outptr_ ID2D1RoundedRectangleGeometry **roundedRectangleGeometry
ID2D1RoundedRectangleGeometry
**
)
{
return
CreateRoundedRectangleGeometry
(&
,
);
}
(
CONST D2D1_ELLIPSE &ellipse,
_COM_Outptr_ ID2D1EllipseGeometry **ellipseGeometry
)
{
return
(&
,
);
}
(
_In_ ID2D1Geometry *sourceGeometry,
CONST D2D1_MATRIX_3X2_F &transform,
_COM_Outptr_ ID2D1TransformedGeometry **transformedGeometry
)
{
return
CreateTransformedGeometry
(
, &
,
);
}
(
CONST D2D1_STROKE_STYLE_PROPERTIES &strokeStyleProperties,
const
D2D1_STROKE_STYLE_PROPERTIES
&
,
_In_reads_opt_(dashesCount) CONST FLOAT *dashes,
,
_COM_Outptr_ ID2D1StrokeStyle **strokeStyle
)
{
return
(&
,
,
,
);
}
(
CONST D2D1_DRAWING_STATE_DESCRIPTION &drawingStateDescription,
const
D2D1_DRAWING_STATE_DESCRIPTION
&
,
_COM_Outptr_ ID2D1DrawingStateBlock **drawingStateBlock
)
{
return CreateDrawingStateBlock(&drawingStateDescription, NULL, drawingStateBlock);
}
(
_COM_Outptr_ ID2D1DrawingStateBlock **drawingStateBlock
)
{
return CreateDrawingStateBlock(NULL, NULL, drawingStateBlock);
}
CreateWicBitmapRenderTarget
(
CONST D2D1_RENDER_TARGET_PROPERTIES &renderTargetProperties,
const
D2D1_RENDER_TARGET_PROPERTIES
&
,
_COM_Outptr_ ID2D1RenderTarget **renderTarget
)
{
return
CreateWicBitmapRenderTarget
(
, &
,
);
}
(
CONST D2D1_RENDER_TARGET_PROPERTIES &renderTargetProperties,
const
D2D1_RENDER_TARGET_PROPERTIES
&
,
CONST D2D1_HWND_RENDER_TARGET_PROPERTIES &hwndRenderTargetProperties,
const
D2D1_HWND_RENDER_TARGET_PROPERTIES
&
hwndRenderTargetProperties
,
_COM_Outptr_ ID2D1HwndRenderTarget **hwndRenderTarget
)
{
return
(&
, &
hwndRenderTargetProperties
,
);
}
CreateDxgiSurfaceRenderTarget
(
_In_ IDXGISurface *dxgiSurface,
CONST D2D1_RENDER_TARGET_PROPERTIES &renderTargetProperties,
const
D2D1_RENDER_TARGET_PROPERTIES
&
,
_COM_Outptr_ ID2D1RenderTarget **renderTarget
)
{
return
CreateDxgiSurfaceRenderTarget
(
, &
,
);
}
};
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif
#ifdef D2D_USE_C_DEFINITIONS
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef interface ID2D1Resource ID2D1Resource;
typedef interface ID2D1Image ID2D1Image;
typedef interface ID2D1Bitmap ID2D1Bitmap;
typedef interface ID2D1GradientStopCollection ID2D1GradientStopCollection;
typedef interface ID2D1Brush ID2D1Brush;
typedef interface ID2D1BitmapBrush ID2D1BitmapBrush;
typedef interface ID2D1SolidColorBrush ID2D1SolidColorBrush;
typedef interface ID2D1LinearGradientBrush ID2D1LinearGradientBrush;
typedef interface ID2D1RadialGradientBrush ID2D1RadialGradientBrush;
typedef interface ID2D1StrokeStyle ID2D1StrokeStyle;
typedef interface ID2D1Geometry ID2D1Geometry;
typedef interface ID2D1RectangleGeometry ID2D1RectangleGeometry;
typedef interface ID2D1RoundedRectangleGeometry ID2D1RoundedRectangleGeometry;
typedef interface ID2D1EllipseGeometry ID2D1EllipseGeometry;
typedef interface ID2D1GeometryGroup ID2D1GeometryGroup;
typedef interface ID2D1TransformedGeometry ID2D1TransformedGeometry;
typedef interface ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink;
typedef interface ID2D1GeometrySink ID2D1GeometrySink;
typedef interface ID2D1TessellationSink ID2D1TessellationSink;
typedef interface ID2D1PathGeometry ID2D1PathGeometry;
typedef interface ID2D1Mesh ID2D1Mesh;
typedef interface ID2D1Layer ID2D1Layer;
typedef interface ID2D1DrawingStateBlock ID2D1DrawingStateBlock;
typedef interface ID2D1RenderTarget ID2D1RenderTarget;
typedef interface ID2D1BitmapRenderTarget ID2D1BitmapRenderTarget;
typedef interface ID2D1HwndRenderTarget ID2D1HwndRenderTarget;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef interface ID2D1GdiInteropRenderTarget ID2D1GdiInteropRenderTarget;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef interface ID2D1DCRenderTarget ID2D1DCRenderTarget;
typedef interface ID2D1Factory ID2D1Factory;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#ifdef __cplusplus
extern
"C"
{
#endif
(
_In_ D2D1_FACTORY_TYPE factoryType,
_In_opt_ CONST D2D1_FACTORY_OPTIONS *pFactoryOptions,
);
(
_In_ D2D1_POINT_2F center,
_Out_ D2D1_MATRIX_3X2_F *matrix
);
(
_In_ D2D1_POINT_2F center,
_Out_ D2D1_MATRIX_3X2_F *matrix
);
(
_In_ CONST D2D1_MATRIX_3X2_F *matrix
);
(
_Inout_ D2D1_MATRIX_3X2_F *matrix
);
#ifdef __cplusplus
}
#endif
#ifndef D2D1FORCEINLINE
#define D2D1FORCEINLINE FORCEINLINE
#endif // #ifndef D2D1FORCEINLINE
#include <d2d1helper.h>
#ifndef D2D_USE_C_DEFINITIONS
inline
(
_In_ D2D1_FACTORY_TYPE factoryType,
)
{
return
(
,
,
);
}
template
<
class
>
(
_In_ D2D1_FACTORY_TYPE factoryType,
)
{
return
(
,
__uuidof(
),
reinterpret_cast
<
void
**>(
));
}
template
<
class
>
(
_In_ D2D1_FACTORY_TYPE factoryType,
_In_ CONST D2D1_FACTORY_OPTIONS &factoryOptions,
_Out_ Factory **ppFactory
)
{
return
(
,
__uuidof(
),
&
,
reinterpret_cast
<
void
**>(
));
}
#endif // #ifndef D2D_USE_C_DEFINITIONS
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // #ifndef _D2D1_H_