From 3a6b53feacb8f0ca0047ef9121749ed14c73e092 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 12 May 2014 09:34:01 +0200 Subject: [PATCH] d2d1: Add the ID2D1StrokeStyle interface. --- include/d2d1.idl | 64 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 57 insertions(+), 7 deletions(-) diff --git a/include/d2d1.idl b/include/d2d1.idl index b5f136bf4ba..76cb47f5b22 100644 --- a/include/d2d1.idl +++ b/include/d2d1.idl @@ -59,13 +59,6 @@ typedef enum D2D1_FIGURE_BEGIN D2D1_FIGURE_BEGIN_FORCE_DWORD = 0xffffffff } D2D1_FIGURE_BEGIN; -typedef struct D2D1_BEZIER_SEGMENT -{ - D2D1_POINT_2F point1; - D2D1_POINT_2F point2; - D2D1_POINT_2F point3; -} D2D1_BEZIER_SEGMENT; - typedef enum D2D1_FIGURE_END { D2D1_FIGURE_END_OPEN = 0, @@ -73,6 +66,42 @@ typedef enum D2D1_FIGURE_END D2D1_FIGURE_END_FORCE_DWORD = 0xffffffff } D2D1_FIGURE_END; +typedef enum D2D1_CAP_STYLE +{ + D2D1_CAP_STYLE_FLAT = 0, + D2D1_CAP_STYLE_SQUARE = 1, + D2D1_CAP_STYLE_ROUND = 2, + D2D1_CAP_STYLE_TRIANGLE = 3, + D2D1_CAP_STYLE_FORCE_DWORD = 0xffffffff, +} D2D1_CAP_STYLE; + +typedef enum D2D1_LINE_JOIN +{ + D2D1_LINE_JOIN_MITER = 0, + D2D1_LINE_JOIN_BEVEL = 1, + D2D1_LINE_JOIN_ROUND = 2, + D2D1_LINE_JOIN_MITER_OR_BEVEL = 3, + D2D1_LINE_JOIN_FORCE_DWORD = 0xffffffff, +} D2D1_LINE_JOIN; + +typedef enum D2D1_DASH_STYLE +{ + D2D1_DASH_STYLE_SOLID = 0, + D2D1_DASH_STYLE_DASH = 1, + D2D1_DASH_STYLE_DOT = 2, + D2D1_DASH_STYLE_DASH_DOT = 3, + D2D1_DASH_STYLE_DASH_DOT_DOT = 4, + D2D1_DASH_STYLE_CUSTOM = 5, + D2D1_DASH_STYLE_FORCE_DWORD = 0xffffffff, +} D2D1_DASH_STYLE; + +typedef struct D2D1_BEZIER_SEGMENT +{ + D2D1_POINT_2F point1; + D2D1_POINT_2F point2; + D2D1_POINT_2F point3; +} D2D1_BEZIER_SEGMENT; + typedef struct D2D1_FACTORY_OPTIONS { D2D1_DEBUG_LEVEL debugLevel; @@ -92,6 +121,27 @@ interface ID2D1Resource : IUnknown ); } +[ + local, + object, + uuid(2cd9069d-12e2-11dc-9fed-001143a055f9) +] +interface ID2D1StrokeStyle : ID2D1Resource +{ + D2D1_CAP_STYLE GetStartCap(); + D2D1_CAP_STYLE GetEndCap(); + D2D1_CAP_STYLE GetDashCap(); + float GetMiterLimit(); + D2D1_LINE_JOIN GetLineJoin(); + float GetDashOffset(); + D2D1_DASH_STYLE GetDashStyle(); + UINT32 GetDashesCount(); + void GetDashes( + [out, size_is(count)] float *dashes, + [in] UINT32 count + ); +} + [ local, object,