Ziqing Hui : include: Add defines for ID2D1Ink.
Alexandre Julliard
julliard at winehq.org
Tue Mar 29 15:09:53 CDT 2022
Module: wine
Branch: master
Commit: 17cf3037081b842f1e20127f01a47f29d7934226
URL: https://source.winehq.org/git/wine.git/?a=commit;h=17cf3037081b842f1e20127f01a47f29d7934226
Author: Ziqing Hui <zhui at codeweavers.com>
Date: Tue Mar 29 17:23:41 2022 +0800
include: Add defines for ID2D1Ink.
Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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
+ );
+};
More information about the wine-cvs
mailing list