[PATCH 3/5] include: Add defines for ID2D1Ink.
Ziqing Hui
zhui at codeweavers.com
Tue Mar 29 04:23:41 CDT 2022
Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
---
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
+ );
+};
--
2.25.1
More information about the wine-devel
mailing list