2 * Copyright 2013 Nikolay Sivov for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 import
"d2dbasetypes.h";
22 typedef D2D_POINT_2F D2D1_POINT_2F
;
24 typedef enum D2D1_FILL_MODE
26 D2D1_FILL_MODE_ALTERNATE
= 0,
27 D2D1_FILL_MODE_WINDING
= 1,
28 D2D1_FILL_MODE_FORCE_DWORD
= 0xffffffff
31 typedef enum D2D1_PATH_SEGMENT
33 D2D1_PATH_SEGMENT_NONE
= 0,
34 D2D1_PATH_SEGMENT_FORCE_UNSTROKED
= 1,
35 D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN
= 2,
36 D2D1_PATH_SEGMENT_FORCE_DWORD
= 0xffffffff
39 typedef enum D2D1_FIGURE_BEGIN
41 D2D1_FIGURE_BEGIN_FILLED
= 0,
42 D2D1_FIGURE_BEGIN_HOLLOW
= 1,
43 D2D1_FIGURE_BEGIN_FORCE_DWORD
= 0xffffffff
46 typedef struct D2D1_BEZIER_SEGMENT
51 } D2D1_BEZIER_SEGMENT
;
53 typedef enum D2D1_FIGURE_END
55 D2D1_FIGURE_END_OPEN
= 0,
56 D2D1_FIGURE_END_CLOSED
= 1,
57 D2D1_FIGURE_END_FORCE_DWORD
= 0xffffffff
63 uuid(2cd9069e
-12e2
-11dc
-9fed
-001143a055f9
)
65 interface ID2D1SimplifiedGeometrySink
: IUnknown
67 void SetFillMode
(D2D1_FILL_MODE mode
);
68 void SetSegmentFlags
(D2D1_PATH_SEGMENT vertexFlags
);
69 void BeginFigure
(D2D1_POINT_2F startPoint
, D2D1_FIGURE_BEGIN figureBegin
);
70 void AddLines
(const D2D1_POINT_2F
*points
, UINT32 count
);
71 void AddBeziers
(const D2D1_BEZIER_SEGMENT
*beziers
, UINT32 count
);
72 void EndFigure
(D2D1_FIGURE_END figureEnd
);