Module: wine Branch: master Commit: 17cf3037081b842f1e20127f01a47f29d7934226 URL: https://source.winehq.org/git/wine.git/?a=commit;h=17cf3037081b842f1e20127f0...
Author: Ziqing Hui zhui@codeweavers.com Date: Tue Mar 29 17:23:41 2022 +0800
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
---
include/d2d1_3.idl | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+)
diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl index 3b27439f2d1..93c273816e2 100644 --- a/include/d2d1_3.idl +++ b/include/d2d1_3.idl @@ -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 + ); +};