include: Add defines for ID2D1Ink.

Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Ziqing Hui 2022-03-29 17:23:41 +08:00 committed by Alexandre Julliard
parent e0be2d476f
commit 17cf303708
1 changed files with 59 additions and 0 deletions

View File

@ -25,6 +25,20 @@ typedef enum D2D1_INK_NIB_SHAPE
D2D1_INK_NIB_SHAPE_FORCE_DWORD = 0xffffffff
} D2D1_INK_NIB_SHAPE;
typedef struct D2D1_INK_POINT
{
float x;
float y;
float radius;
} D2D1_INK_POINT;
typedef struct D2D1_INK_BEZIER_SEGMENT
{
D2D1_INK_POINT point1;
D2D1_INK_POINT point2;
D2D1_INK_POINT point3;
} D2D1_INK_BEZIER_SEGMENT;
[
object,
uuid(bae8b344-23fc-4071-8cb5-d05d6f073848),
@ -43,3 +57,48 @@ interface ID2D1InkStyle : ID2D1Resource
);
D2D1_INK_NIB_SHAPE GetNibShape();
};
[
object,
uuid(b499923b-7029-478f-a8b3-432c7c5f5312),
local,
]
interface ID2D1Ink : ID2D1Resource
{
void SetStartPoint(
[in] const D2D1_INK_POINT *start_point
);
D2D1_INK_POINT GetStartPoint();
HRESULT AddSegments(
[in] const D2D1_INK_BEZIER_SEGMENT *segments,
[in] UINT32 segment_count
);
HRESULT RemoveSegmentsAtEnd(
[in] UINT32 segment_count
);
HRESULT SetSegments(
[in] UINT32 start_segment,
[in] const D2D1_INK_BEZIER_SEGMENT *segments,
[in] UINT32 segment_count
);
HRESULT SetSegmentAtEnd(
[in] const D2D1_INK_BEZIER_SEGMENT *segment
);
UINT32 GetSegmentCount();
HRESULT GetSegments(
[in] UINT32 start_segment,
[out] D2D1_INK_BEZIER_SEGMENT *segments,
[in] UINT32 segment_count
);
HRESULT StreamAsGeometry(
[in, optional] ID2D1InkStyle *ink_style,
[in, optional] const D2D1_MATRIX_3X2_F *world_transform,
[in] float flattening_tolerance,
[in] ID2D1SimplifiedGeometrySink *geometry_sink
);
HRESULT GetBounds(
[in, optional] ID2D1InkStyle *ink_style,
[in, optional] const D2D1_MATRIX_3X2_F *world_transform,
[out] D2D1_RECT_F *bounds
);
};