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