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_DEBUG_LEVEL
26 D2D1_DEBUG_LEVEL_NONE
= 0,
27 D2D1_DEBUG_LEVEL_ERROR
= 1,
28 D2D1_DEBUG_LEVEL_WARNING
= 2,
29 D2D1_DEBUG_LEVEL_INFORMATION
= 3,
30 D2D1_DEBUG_LEVEL_FORCE_DWORD
= 0xffffffff,
33 typedef enum D2D1_FACTORY_TYPE
35 D2D1_FACTORY_TYPE_SINGLE_THREADED
= 0,
36 D2D1_FACTORY_TYPE_MULTI_THREADED
= 1,
37 D2D1_FACTORY_TYPE_FORCE_DWORD
= 0xfffffff,
40 typedef enum D2D1_FILL_MODE
42 D2D1_FILL_MODE_ALTERNATE
= 0,
43 D2D1_FILL_MODE_WINDING
= 1,
44 D2D1_FILL_MODE_FORCE_DWORD
= 0xffffffff
47 typedef enum D2D1_PATH_SEGMENT
49 D2D1_PATH_SEGMENT_NONE
= 0,
50 D2D1_PATH_SEGMENT_FORCE_UNSTROKED
= 1,
51 D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN
= 2,
52 D2D1_PATH_SEGMENT_FORCE_DWORD
= 0xffffffff
55 typedef enum D2D1_FIGURE_BEGIN
57 D2D1_FIGURE_BEGIN_FILLED
= 0,
58 D2D1_FIGURE_BEGIN_HOLLOW
= 1,
59 D2D1_FIGURE_BEGIN_FORCE_DWORD
= 0xffffffff
62 typedef struct D2D1_BEZIER_SEGMENT
67 } D2D1_BEZIER_SEGMENT
;
69 typedef enum D2D1_FIGURE_END
71 D2D1_FIGURE_END_OPEN
= 0,
72 D2D1_FIGURE_END_CLOSED
= 1,
73 D2D1_FIGURE_END_FORCE_DWORD
= 0xffffffff
76 typedef struct D2D1_FACTORY_OPTIONS
78 D2D1_DEBUG_LEVEL debugLevel
;
79 } D2D1_FACTORY_OPTIONS
;
84 uuid(2cd9069e
-12e2
-11dc
-9fed
-001143a055f9
)
86 interface ID2D1SimplifiedGeometrySink
: IUnknown
88 void SetFillMode
(D2D1_FILL_MODE mode
);
89 void SetSegmentFlags
(D2D1_PATH_SEGMENT vertexFlags
);
90 void BeginFigure
(D2D1_POINT_2F startPoint
, D2D1_FIGURE_BEGIN figureBegin
);
91 void AddLines
(const D2D1_POINT_2F
*points
, UINT32 count
);
92 void AddBeziers
(const D2D1_BEZIER_SEGMENT
*beziers
, UINT32 count
);
93 void EndFigure
(D2D1_FIGURE_END figureEnd
);
97 [local] HRESULT __stdcall D2D1CreateFactory
(D2D1_FACTORY_TYPE factory_type
, REFIID iid
,
98 const D2D1_FACTORY_OPTIONS
*factory_options
, void **factory
);