2 * Copyright 2018 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
"d2d1effects_1.idl";
22 typedef enum D2D1_RENDERING_PRIORITY
24 D2D1_RENDERING_PRIORITY_NORMAL
= 0,
25 D2D1_RENDERING_PRIORITY_LOW
= 1,
26 D2D1_RENDERING_PRIORITY_FORCE_DWORD
= 0xffffffff,
27 } D2D1_RENDERING_PRIORITY
;
31 uuid(a16907d7
-bc02
-4801-99e8
-8cf7f485f774
),
34 interface ID2D1GeometryRealization
: ID2D1Resource
40 uuid(d37f57e4
-6908-459f
-a199
-e72f24f79987
),
43 interface ID2D1DeviceContext1
: ID2D1DeviceContext
45 HRESULT CreateFilledGeometryRealization
(
46 [in] ID2D1Geometry
*geometry
,
48 [out] ID2D1GeometryRealization
**realization
50 HRESULT CreateStrokedGeometryRealization
(
51 [in] ID2D1Geometry
*geometry
,
53 [in] float stroke_width
,
54 [in] ID2D1StrokeStyle
*stroke_style
,
55 [out] ID2D1GeometryRealization
**realization
57 void DrawGeometryRealization
(
58 [in] ID2D1GeometryRealization
*realization
,
59 [in] ID2D1Brush
*brush
65 uuid(d21768e1
-23a4
-4823-a14b
-7c3eba85d658
),
68 interface ID2D1Device1
: ID2D1Device
70 D2D1_RENDERING_PRIORITY GetRenderingPriority
();
71 void SetRenderingPriority
(
72 [in] D2D1_RENDERING_PRIORITY priority
74 HRESULT CreateDeviceContext
(
75 [in] D2D1_DEVICE_CONTEXT_OPTIONS options
,
76 [out] ID2D1DeviceContext1
**device_context
82 uuid(94f81a73
-9212-4376-9c58
-b16a3a0d3992
),
85 interface ID2D1Factory2
: ID2D1Factory1
88 [in] IDXGIDevice
*dxgi_device
,
89 [out] ID2D1Device1
**device
95 uuid(9eb767fd
-4269-4467-b8c2
-eb30cb305743
),
98 interface ID2D1CommandSink1
: ID2D1CommandSink
100 HRESULT SetPrimitiveBlend1
(
101 [in] D2D1_PRIMITIVE_BLEND primitive_blend