1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 |
|
---|
6 | * d2d1.h - Header file for the Direct2D API
|
---|
7 | * No original Microsoft headers were used in the creation of this
|
---|
8 | * file.
|
---|
9 | *API docs available at: http://msdn.microsoft.com/en-us/library/dd372349%28v=VS.85%29.aspx
|
---|
10 | */
|
---|
11 |
|
---|
12 | #ifndef _D2D1_H
|
---|
13 | #define _D2D1_H
|
---|
14 |
|
---|
15 | #include <unknwn.h>
|
---|
16 | #include <dcommon.h>
|
---|
17 | #include <dxgiformat.h>
|
---|
18 | #include <d3d10_1.h>
|
---|
19 | #include <d2dbasetypes.h>
|
---|
20 | #include <d2derr.h>
|
---|
21 |
|
---|
22 | #ifndef _COM_interface
|
---|
23 | #define _COM_interface struct
|
---|
24 | #endif
|
---|
25 |
|
---|
26 | typedef UINT64 D2D1_TAG;
|
---|
27 |
|
---|
28 | #if !defined(D2D_USE_C_DEFINITIONS) && !defined(__cplusplus)
|
---|
29 | #define D2D_USE_C_DEFINITIONS
|
---|
30 | #endif
|
---|
31 |
|
---|
32 | #ifndef __IWICBitmapSource_FWD_DEFINED__
|
---|
33 | #define __IWICBitmapSource_FWD_DEFINED__
|
---|
34 | typedef interface IWICBitmapSource IWICBitmapSource;
|
---|
35 | #endif
|
---|
36 |
|
---|
37 | #ifndef __IWICBitmap_FWD_DEFINED__
|
---|
38 | #define __IWICBitmap_FWD_DEFINED__
|
---|
39 | typedef interface IWICBitmap IWICBitmap;
|
---|
40 | #endif
|
---|
41 |
|
---|
42 | typedef struct DWRITE_GLYPH_RUN DWRITE_GLYPH_RUN;
|
---|
43 |
|
---|
44 | #define D2D1_INVALID_TAG ULONGLONG_MAX
|
---|
45 | #define D2D1_DEFAULT_FLATTENING_TOLERANCE (0.25f)
|
---|
46 |
|
---|
47 | #ifndef __IDWriteRenderingParams_FWD_DEFINED__
|
---|
48 | #define __IDWriteRenderingParams_FWD_DEFINED__
|
---|
49 | typedef struct IDWriteRenderingParams IDWriteRenderingParams;
|
---|
50 | #endif
|
---|
51 |
|
---|
52 | #ifndef __IDXGISurface_FWD_DEFINED__
|
---|
53 | #define __IDXGISurface_FWD_DEFINED__
|
---|
54 | typedef struct IDXGISurface IDXGISurface;
|
---|
55 | #endif
|
---|
56 |
|
---|
57 | #ifndef __IDWriteTextFormat_FWD_DEFINED__
|
---|
58 | #define __IDWriteTextFormat_FWD_DEFINED__
|
---|
59 | typedef struct IDWriteTextFormat IDWriteTextFormat;
|
---|
60 | #endif
|
---|
61 |
|
---|
62 | #ifndef __IDWriteTextLayout_FWD_DEFINED__
|
---|
63 | #define __IDWriteTextLayout_FWD_DEFINED__
|
---|
64 | typedef struct IDWriteTextLayout IDWriteTextLayout;
|
---|
65 | #endif
|
---|
66 |
|
---|
67 | #ifndef __IDWriteFontFace_FWD_DEFINED__
|
---|
68 | #define __IDWriteFontFace_FWD_DEFINED__
|
---|
69 | typedef struct IDWriteFontFace IDWriteFontFace;
|
---|
70 | #endif
|
---|
71 |
|
---|
72 | typedef enum D2D1_ANTIALIAS_MODE {
|
---|
73 | D2D1_ANTIALIAS_MODE_PER_PRIMITIVE = 0,
|
---|
74 | D2D1_ANTIALIAS_MODE_ALIASED = 1,
|
---|
75 | D2D1_ANTIALIAS_MODE_FORCE_DWORD = 0xffffffff
|
---|
76 | } D2D1_ANTIALIAS_MODE;
|
---|
77 |
|
---|
78 | typedef enum D2D1_ARC_SIZE {
|
---|
79 | D2D1_ARC_SIZE_SMALL = 0,
|
---|
80 | D2D1_ARC_SIZE_LARGE = 1,
|
---|
81 | D2D1_ARC_SIZE_FORCE_DWORD = 0xffffffff
|
---|
82 | } D2D1_ARC_SIZE;
|
---|
83 |
|
---|
84 | enum {
|
---|
85 | D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR = 0,
|
---|
86 | D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR = 1,
|
---|
87 | D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC = 2,
|
---|
88 | D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR = 3,
|
---|
89 | D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC = 4,
|
---|
90 | D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC = 5,
|
---|
91 | D2D1_INTERPOLATION_MODE_DEFINITION_FANT = 6,
|
---|
92 | D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR = 7
|
---|
93 | };
|
---|
94 |
|
---|
95 | typedef enum D2D1_BITMAP_INTERPOLATION_MODE {
|
---|
96 | D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
|
---|
97 | D2D1_BITMAP_INTERPOLATION_MODE_LINEAR = 1,
|
---|
98 | D2D1_BITMAP_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
|
---|
99 | } D2D1_BITMAP_INTERPOLATION_MODE;
|
---|
100 |
|
---|
101 | typedef enum D2D1_CAP_STYLE {
|
---|
102 | D2D1_CAP_STYLE_FLAT = 0,
|
---|
103 | D2D1_CAP_STYLE_SQUARE = 1,
|
---|
104 | D2D1_CAP_STYLE_ROUND = 2,
|
---|
105 | D2D1_CAP_STYLE_TRIANGLE = 3,
|
---|
106 | D2D1_CAP_STYLE_FORCE_DWORD = 0xffffffff
|
---|
107 | } D2D1_CAP_STYLE;
|
---|
108 |
|
---|
109 | typedef enum D2D1_COMBINE_MODE {
|
---|
110 | D2D1_COMBINE_MODE_UNION = 0,
|
---|
111 | D2D1_COMBINE_MODE_INTERSECT = 1,
|
---|
112 | D2D1_COMBINE_MODE_XOR = 2,
|
---|
113 | D2D1_COMBINE_MODE_EXCLUDE = 3,
|
---|
114 | D2D1_COMBINE_MODE_FORCE_DWORD = 0xffffffff
|
---|
115 | } D2D1_COMBINE_MODE;
|
---|
116 |
|
---|
117 | typedef enum D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS {
|
---|
118 | D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE = 0x00000000,
|
---|
119 | D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE = 0x00000001,
|
---|
120 | D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_FORCE_DWORD = 0xffffffff
|
---|
121 | } D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS;
|
---|
122 |
|
---|
123 | typedef enum D2D1_DASH_STYLE {
|
---|
124 | D2D1_DASH_STYLE_SOLID = 0,
|
---|
125 | D2D1_DASH_STYLE_DASH = 1,
|
---|
126 | D2D1_DASH_STYLE_DOT = 2,
|
---|
127 | D2D1_DASH_STYLE_DASH_DOT = 3,
|
---|
128 | D2D1_DASH_STYLE_DASH_DOT_DOT = 4,
|
---|
129 | D2D1_DASH_STYLE_CUSTOM = 5,
|
---|
130 | D2D1_DASH_STYLE_FORCE_DWORD = 0xffffffff
|
---|
131 | } D2D1_DASH_STYLE;
|
---|
132 |
|
---|
133 | typedef enum D2D1_DC_INITIALIZE_MODE {
|
---|
134 | D2D1_DC_INITIALIZE_MODE_COPY = 0,
|
---|
135 | D2D1_DC_INITIALIZE_MODE_CLEAR = 1,
|
---|
136 | D2D1_DC_INITIALIZE_MODE_FORCE_DWORD = 0xffffffff
|
---|
137 | } D2D1_DC_INITIALIZE_MODE;
|
---|
138 |
|
---|
139 | typedef enum D2D1_DEBUG_LEVEL {
|
---|
140 | D2D1_DEBUG_LEVEL_NONE = 0,
|
---|
141 | D2D1_DEBUG_LEVEL_ERROR = 1,
|
---|
142 | D2D1_DEBUG_LEVEL_WARNING = 2,
|
---|
143 | D2D1_DEBUG_LEVEL_INFORMATION = 3,
|
---|
144 | D2D1_DEBUG_LEVEL_FORCE_DWORD = 0xffffffff
|
---|
145 | } D2D1_DEBUG_LEVEL;
|
---|
146 |
|
---|
147 | typedef enum D2D1_DRAW_TEXT_OPTIONS {
|
---|
148 | D2D1_DRAW_TEXT_OPTIONS_NO_SNAP = 0x00000001,
|
---|
149 | D2D1_DRAW_TEXT_OPTIONS_CLIP = 0x00000002,
|
---|
150 | D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT = 0x00000004,
|
---|
151 | D2D1_DRAW_TEXT_OPTIONS_DISABLE_COLOR_BITMAP_SNAPPING = 0x00000008,
|
---|
152 | D2D1_DRAW_TEXT_OPTIONS_NONE = 0x00000000,
|
---|
153 | D2D1_DRAW_TEXT_OPTIONS_FORCE_DWORD = 0xffffffff
|
---|
154 | } D2D1_DRAW_TEXT_OPTIONS;
|
---|
155 |
|
---|
156 | typedef enum D2D1_EXTEND_MODE {
|
---|
157 | D2D1_EXTEND_MODE_CLAMP = 0,
|
---|
158 | D2D1_EXTEND_MODE_WRAP = 1,
|
---|
159 | D2D1_EXTEND_MODE_MIRROR = 2,
|
---|
160 | D2D1_EXTEND_MODE_FORCE_DWORD = 0xffffffff
|
---|
161 | } D2D1_EXTEND_MODE;
|
---|
162 |
|
---|
163 | typedef enum D2D1_FACTORY_TYPE {
|
---|
164 | D2D1_FACTORY_TYPE_SINGLE_THREADED = 0,
|
---|
165 | D2D1_FACTORY_TYPE_MULTI_THREADED = 1,
|
---|
166 | D2D1_FACTORY_TYPE_FORCE_DWORD = 0xffffffff
|
---|
167 | } D2D1_FACTORY_TYPE;
|
---|
168 |
|
---|
169 | typedef enum D2D1_FEATURE_LEVEL {
|
---|
170 | D2D1_FEATURE_LEVEL_DEFAULT = 0,
|
---|
171 | D2D1_FEATURE_LEVEL_9 = D3D10_FEATURE_LEVEL_9_1,
|
---|
172 | D2D1_FEATURE_LEVEL_10 = D3D10_FEATURE_LEVEL_10_0,
|
---|
173 | D2D1_FEATURE_LEVEL_FORCE_DWORD = 0xffffffff
|
---|
174 | } D2D1_FEATURE_LEVEL;
|
---|
175 |
|
---|
176 | typedef enum D2D1_FIGURE_BEGIN {
|
---|
177 | D2D1_FIGURE_BEGIN_FILLED = 0,
|
---|
178 | D2D1_FIGURE_BEGIN_HOLLOW = 1,
|
---|
179 | D2D1_FIGURE_BEGIN_FORCE_DWORD = 0xffffffff
|
---|
180 | } D2D1_FIGURE_BEGIN;
|
---|
181 |
|
---|
182 | typedef enum D2D1_FIGURE_END {
|
---|
183 | D2D1_FIGURE_END_OPEN = 0,
|
---|
184 | D2D1_FIGURE_END_CLOSED = 1,
|
---|
185 | D2D1_FIGURE_END_FORCE_DWORD = 0xffffffff
|
---|
186 | } D2D1_FIGURE_END;
|
---|
187 |
|
---|
188 | typedef enum D2D1_FILL_MODE {
|
---|
189 | D2D1_FILL_MODE_ALTERNATE = 0,
|
---|
190 | D2D1_FILL_MODE_WINDING = 1,
|
---|
191 | D2D1_FILL_MODE_FORCE_DWORD = 0xffffffff
|
---|
192 | } D2D1_FILL_MODE;
|
---|
193 |
|
---|
194 | typedef enum D2D1_GAMMA {
|
---|
195 | D2D1_GAMMA_2_2 = 0,
|
---|
196 | D2D1_GAMMA_1_0 = 1,
|
---|
197 | D2D1_GAMMA_FORCE_DWORD = 0xffffffff
|
---|
198 | } D2D1_GAMMA;
|
---|
199 |
|
---|
200 | typedef enum D2D1_GEOMETRY_RELATION {
|
---|
201 | D2D1_GEOMETRY_RELATION_UNKNOWN = 0,
|
---|
202 | D2D1_GEOMETRY_RELATION_DISJOINT = 1,
|
---|
203 | D2D1_GEOMETRY_RELATION_IS_CONTAINED = 2,
|
---|
204 | D2D1_GEOMETRY_RELATION_CONTAINS = 3,
|
---|
205 | D2D1_GEOMETRY_RELATION_OVERLAP = 4,
|
---|
206 | D2D1_GEOMETRY_RELATION_FORCE_DWORD = 0xffffffff
|
---|
207 | } D2D1_GEOMETRY_RELATION;
|
---|
208 |
|
---|
209 | typedef enum D2D1_GEOMETRY_SIMPLIFICATION_OPTION {
|
---|
210 | D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES = 0,
|
---|
211 | D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES = 1,
|
---|
212 | D2D1_GEOMETRY_SIMPLIFICATION_OPTION_FORCE_DWORD = 0xffffffff
|
---|
213 | } D2D1_GEOMETRY_SIMPLIFICATION_OPTION;
|
---|
214 |
|
---|
215 | typedef enum D2D1_LAYER_OPTIONS {
|
---|
216 | D2D1_LAYER_OPTIONS_NONE = 0x00000000,
|
---|
217 | D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001,
|
---|
218 | D2D1_LAYER_OPTIONS_FORCE_DWORD = 0xffffffff
|
---|
219 | } D2D1_LAYER_OPTIONS;
|
---|
220 |
|
---|
221 | typedef enum D2D1_LINE_JOIN {
|
---|
222 | D2D1_LINE_JOIN_MITER = 0,
|
---|
223 | D2D1_LINE_JOIN_BEVEL = 1,
|
---|
224 | D2D1_LINE_JOIN_ROUND = 2,
|
---|
225 | D2D1_LINE_JOIN_MITER_OR_BEVEL = 3,
|
---|
226 | D2D1_LINE_JOIN_FORCE_DWORD = 0xffffffff
|
---|
227 | } D2D1_LINE_JOIN;
|
---|
228 |
|
---|
229 | typedef enum D2D1_OPACITY_MASK_CONTENT {
|
---|
230 | D2D1_OPACITY_MASK_CONTENT_GRAPHICS = 0,
|
---|
231 | D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL = 1,
|
---|
232 | D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE = 2,
|
---|
233 | D2D1_OPACITY_MASK_CONTENT_FORCE_DWORD = 0xffffffff
|
---|
234 | } D2D1_OPACITY_MASK_CONTENT;
|
---|
235 |
|
---|
236 | typedef enum D2D1_PATH_SEGMENT {
|
---|
237 | D2D1_PATH_SEGMENT_NONE = 0x00000000,
|
---|
238 | D2D1_PATH_SEGMENT_FORCE_UNSTROKED = 0x00000001,
|
---|
239 | D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN = 0x00000002,
|
---|
240 | D2D1_PATH_SEGMENT_FORCE_DWORD = 0xffffffff
|
---|
241 | } D2D1_PATH_SEGMENT;
|
---|
242 |
|
---|
243 | typedef enum D2D1_PRESENT_OPTIONS {
|
---|
244 | D2D1_PRESENT_OPTIONS_NONE = 0x00000000,
|
---|
245 | D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS = 0x00000001,
|
---|
246 | D2D1_PRESENT_OPTIONS_IMMEDIATELY = 0x00000002,
|
---|
247 | D2D1_PRESENT_OPTIONS_FORCE_DWORD = 0xffffffff
|
---|
248 | } D2D1_PRESENT_OPTIONS;
|
---|
249 |
|
---|
250 | typedef enum D2D1_RENDER_TARGET_TYPE {
|
---|
251 | D2D1_RENDER_TARGET_TYPE_DEFAULT = 0,
|
---|
252 | D2D1_RENDER_TARGET_TYPE_SOFTWARE = 1,
|
---|
253 | D2D1_RENDER_TARGET_TYPE_HARDWARE = 2,
|
---|
254 | D2D1_RENDER_TARGET_TYPE_FORCE_DWORD = 0xffffffff
|
---|
255 | } D2D1_RENDER_TARGET_TYPE;
|
---|
256 |
|
---|
257 | typedef enum D2D1_RENDER_TARGET_USAGE {
|
---|
258 | D2D1_RENDER_TARGET_USAGE_NONE = 0x00000000,
|
---|
259 | D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING = 0x00000001,
|
---|
260 | D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE = 0x00000002,
|
---|
261 | D2D1_RENDER_TARGET_USAGE_FORCE_DWORD = 0xffffffff
|
---|
262 | } D2D1_RENDER_TARGET_USAGE;
|
---|
263 |
|
---|
264 | typedef enum D2D1_SWEEP_DIRECTION {
|
---|
265 | D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE = 0,
|
---|
266 | D2D1_SWEEP_DIRECTION_CLOCKWISE = 1,
|
---|
267 | D2D1_SWEEP_DIRECTION_FORCE_DWORD = 0xffffffff
|
---|
268 | } D2D1_SWEEP_DIRECTION;
|
---|
269 |
|
---|
270 | typedef enum D2D1_TEXT_ANTIALIAS_MODE {
|
---|
271 | D2D1_TEXT_ANTIALIAS_MODE_DEFAULT = 0,
|
---|
272 | D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE = 1,
|
---|
273 | D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE = 2,
|
---|
274 | D2D1_TEXT_ANTIALIAS_MODE_ALIASED = 3,
|
---|
275 | D2D1_TEXT_ANTIALIAS_MODE_FORCE_DWORD = 0xffffffff
|
---|
276 | } D2D1_TEXT_ANTIALIAS_MODE;
|
---|
277 |
|
---|
278 | typedef enum D2D1_WINDOW_STATE {
|
---|
279 | D2D1_WINDOW_STATE_NONE = 0x00000000,
|
---|
280 | D2D1_WINDOW_STATE_OCCLUDED = 0x00000001,
|
---|
281 | D2D1_WINDOW_STATE_FORCE_DWORD = 0xffffffff
|
---|
282 | } D2D1_WINDOW_STATE;
|
---|
283 |
|
---|
284 | /* this is a hack so we can use forward declares in C (easier than reordering interfaces) */
|
---|
285 | #if !defined(__cplusplus)
|
---|
286 | #undef DECLARE_INTERFACE
|
---|
287 | #define DECLARE_INTERFACE(iface) struct iface { struct iface##Vtbl *lpVtbl; }; typedef struct iface##Vtbl iface##Vtbl; struct iface##Vtbl
|
---|
288 | #endif
|
---|
289 |
|
---|
290 | /* interface forward declares */
|
---|
291 |
|
---|
292 | typedef _COM_interface ID2D1Bitmap ID2D1Bitmap;
|
---|
293 | typedef _COM_interface ID2D1BitmapBrush ID2D1BitmapBrush;
|
---|
294 | typedef _COM_interface ID2D1BitmapRenderTarget ID2D1BitmapRenderTarget;
|
---|
295 | typedef _COM_interface ID2D1Brush ID2D1Brush;
|
---|
296 | typedef _COM_interface ID2D1DCRenderTarget ID2D1DCRenderTarget;
|
---|
297 | typedef _COM_interface ID2D1DrawingStateBlock ID2D1DrawingStateBlock;
|
---|
298 | typedef _COM_interface ID2D1EllipseGeometry ID2D1EllipseGeometry;
|
---|
299 | typedef _COM_interface ID2D1Factory ID2D1Factory;
|
---|
300 | typedef _COM_interface ID2D1GdiInteropRenderTarget ID2D1GdiInteropRenderTarget;
|
---|
301 | typedef _COM_interface ID2D1Geometry ID2D1Geometry;
|
---|
302 | typedef _COM_interface ID2D1GeometryGroup ID2D1GeometryGroup;
|
---|
303 | typedef _COM_interface ID2D1GeometrySink ID2D1GeometrySink;
|
---|
304 | typedef _COM_interface ID2D1GradientStopCollection ID2D1GradientStopCollection;
|
---|
305 | typedef _COM_interface ID2D1HwndRenderTarget ID2D1HwndRenderTarget;
|
---|
306 | typedef _COM_interface ID2D1Layer ID2D1Layer;
|
---|
307 | typedef _COM_interface ID2D1LinearGradientBrush ID2D1LinearGradientBrush;
|
---|
308 | typedef _COM_interface ID2D1Mesh ID2D1Mesh;
|
---|
309 | typedef _COM_interface ID2D1PathGeometry ID2D1PathGeometry;
|
---|
310 | typedef _COM_interface ID2D1RadialGradientBrush ID2D1RadialGradientBrush;
|
---|
311 | typedef _COM_interface ID2D1RectangleGeometry ID2D1RectangleGeometry;
|
---|
312 | typedef _COM_interface ID2D1RenderTarget ID2D1RenderTarget;
|
---|
313 | typedef _COM_interface ID2D1Resource ID2D1Resource;
|
---|
314 | typedef _COM_interface ID2D1RoundedRectangleGeometry ID2D1RoundedRectangleGeometry;
|
---|
315 | typedef _COM_interface ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink;
|
---|
316 | typedef _COM_interface ID2D1SolidColorBrush ID2D1SolidColorBrush;
|
---|
317 | typedef _COM_interface ID2D1StrokeStyle ID2D1StrokeStyle;
|
---|
318 | typedef _COM_interface ID2D1TessellationSink ID2D1TessellationSink;
|
---|
319 | typedef _COM_interface ID2D1TransformedGeometry ID2D1TransformedGeometry;
|
---|
320 |
|
---|
321 | /* structures */
|
---|
322 |
|
---|
323 | typedef struct D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F;
|
---|
324 |
|
---|
325 | typedef struct D2D1_ARC_SEGMENT D2D1_ARC_SEGMENT;
|
---|
326 | typedef struct D2D1_BEZIER_SEGMENT D2D1_BEZIER_SEGMENT;
|
---|
327 | typedef struct D2D1_BITMAP_BRUSH_PROPERTIES D2D1_BITMAP_BRUSH_PROPERTIES;
|
---|
328 | typedef struct D2D1_BITMAP_PROPERTIES D2D1_BITMAP_PROPERTIES;
|
---|
329 | typedef struct D2D1_BRUSH_PROPERTIES D2D1_BRUSH_PROPERTIES;
|
---|
330 | typedef struct D2D1_DRAWING_STATE_DESCRIPTION D2D1_DRAWING_STATE_DESCRIPTION;
|
---|
331 | typedef struct D2D1_ELLIPSE D2D1_ELLIPSE;
|
---|
332 | typedef struct D2D1_FACTORY_OPTIONS D2D1_FACTORY_OPTIONS;
|
---|
333 | typedef struct D2D1_GRADIENT_STOP D2D1_GRADIENT_STOP;
|
---|
334 | typedef struct D2D1_HWND_RENDER_TARGET_PROPERTIES D2D1_HWND_RENDER_TARGET_PROPERTIES;
|
---|
335 | typedef struct D2D1_LAYER_PARAMETERS D2D1_LAYER_PARAMETERS;
|
---|
336 | typedef struct D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES;
|
---|
337 | typedef struct D2D1_QUADRATIC_BEZIER_SEGMENT D2D1_QUADRATIC_BEZIER_SEGMENT;
|
---|
338 | typedef struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES;
|
---|
339 | typedef struct D2D1_RENDER_TARGET_PROPERTIES D2D1_RENDER_TARGET_PROPERTIES;
|
---|
340 | typedef struct D2D1_ROUNDED_RECT D2D1_ROUNDED_RECT;
|
---|
341 | typedef struct D2D1_STROKE_STYLE_PROPERTIES D2D1_STROKE_STYLE_PROPERTIES;
|
---|
342 | typedef struct D2D1_TRIANGLE D2D1_TRIANGLE;
|
---|
343 |
|
---|
344 | typedef D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F;
|
---|
345 | typedef D2D_RECT_F D2D1_RECT_F;
|
---|
346 | typedef D2D_SIZE_F D2D1_SIZE_F;
|
---|
347 | typedef UINT64 D2D1_TAG;
|
---|
348 | typedef D2D_POINT_2U D2D1_POINT_2U;
|
---|
349 | typedef D2D_RECT_U D2D1_RECT_U;
|
---|
350 | typedef D2D_COLOR_F D2D1_COLOR_F;
|
---|
351 |
|
---|
352 | struct D2D1_ARC_SEGMENT {
|
---|
353 | D2D1_POINT_2F point;
|
---|
354 | D2D1_SIZE_F size;
|
---|
355 | FLOAT rotationAngle;
|
---|
356 | D2D1_SWEEP_DIRECTION sweepDirection;
|
---|
357 | D2D1_ARC_SIZE arcSize;
|
---|
358 | };
|
---|
359 |
|
---|
360 | struct D2D1_BEZIER_SEGMENT {
|
---|
361 | D2D1_POINT_2F point1;
|
---|
362 | D2D1_POINT_2F point2;
|
---|
363 | D2D1_POINT_2F point3;
|
---|
364 | };
|
---|
365 |
|
---|
366 | struct D2D1_BITMAP_BRUSH_PROPERTIES {
|
---|
367 | D2D1_EXTEND_MODE extendModeX;
|
---|
368 | D2D1_EXTEND_MODE extendModeY;
|
---|
369 | D2D1_BITMAP_INTERPOLATION_MODE interpolationMode;
|
---|
370 | };
|
---|
371 |
|
---|
372 | struct D2D1_BITMAP_PROPERTIES {
|
---|
373 | D2D1_PIXEL_FORMAT pixelFormat;
|
---|
374 | FLOAT dpiX;
|
---|
375 | FLOAT dpiY;
|
---|
376 | };
|
---|
377 |
|
---|
378 | struct D2D1_BRUSH_PROPERTIES {
|
---|
379 | FLOAT opacity;
|
---|
380 | D2D1_MATRIX_3X2_F transform;
|
---|
381 | };
|
---|
382 |
|
---|
383 | struct D2D1_DRAWING_STATE_DESCRIPTION {
|
---|
384 | D2D1_ANTIALIAS_MODE antialiasMode;
|
---|
385 | D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode;
|
---|
386 | D2D1_TAG tag1;
|
---|
387 | D2D1_TAG tag2;
|
---|
388 | D2D1_MATRIX_3X2_F transform;
|
---|
389 | };
|
---|
390 |
|
---|
391 | struct D2D1_ELLIPSE {
|
---|
392 | D2D1_POINT_2F point;
|
---|
393 | FLOAT radiusX;
|
---|
394 | FLOAT radiusY;
|
---|
395 | };
|
---|
396 |
|
---|
397 | struct D2D1_FACTORY_OPTIONS {
|
---|
398 | D2D1_DEBUG_LEVEL debugLevel;
|
---|
399 | };
|
---|
400 |
|
---|
401 | struct D2D1_GRADIENT_STOP {
|
---|
402 | FLOAT position;
|
---|
403 | D2D1_COLOR_F color;
|
---|
404 | };
|
---|
405 |
|
---|
406 | struct D2D1_HWND_RENDER_TARGET_PROPERTIES {
|
---|
407 | HWND hwnd;
|
---|
408 | D2D1_SIZE_U pixelSize;
|
---|
409 | D2D1_PRESENT_OPTIONS presentOptions;
|
---|
410 | };
|
---|
411 |
|
---|
412 | struct D2D1_LAYER_PARAMETERS {
|
---|
413 | D2D1_RECT_F contentBounds;
|
---|
414 | ID2D1Geometry *geometricMask;
|
---|
415 | D2D1_ANTIALIAS_MODE maskAntialiasMode;
|
---|
416 | D2D1_MATRIX_3X2_F maskTransform;
|
---|
417 | FLOAT opacity;
|
---|
418 | ID2D1Brush *opacityBrush;
|
---|
419 | D2D1_LAYER_OPTIONS layerOptions;
|
---|
420 | };
|
---|
421 |
|
---|
422 | struct D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES {
|
---|
423 | D2D1_POINT_2F startPoint;
|
---|
424 | D2D1_POINT_2F endPoint;
|
---|
425 | };
|
---|
426 |
|
---|
427 | struct D2D1_QUADRATIC_BEZIER_SEGMENT {
|
---|
428 | D2D1_POINT_2F point1;
|
---|
429 | D2D1_POINT_2F point2;
|
---|
430 | };
|
---|
431 |
|
---|
432 | struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES {
|
---|
433 | D2D1_POINT_2F center;
|
---|
434 | D2D1_POINT_2F gradientOriginOffset;
|
---|
435 | FLOAT radiusX;
|
---|
436 | FLOAT radiusY;
|
---|
437 | };
|
---|
438 |
|
---|
439 | struct D2D1_RENDER_TARGET_PROPERTIES {
|
---|
440 | D2D1_RENDER_TARGET_TYPE type;
|
---|
441 | D2D1_PIXEL_FORMAT pixelFormat;
|
---|
442 | FLOAT dpiX;
|
---|
443 | FLOAT dpiY;
|
---|
444 | D2D1_RENDER_TARGET_USAGE usage;
|
---|
445 | D2D1_FEATURE_LEVEL minLevel;
|
---|
446 | };
|
---|
447 |
|
---|
448 | struct D2D1_ROUNDED_RECT {
|
---|
449 | D2D1_RECT_F rect;
|
---|
450 | FLOAT radiusX;
|
---|
451 | FLOAT radiusY;
|
---|
452 | };
|
---|
453 |
|
---|
454 | struct D2D1_STROKE_STYLE_PROPERTIES {
|
---|
455 | D2D1_CAP_STYLE startCap;
|
---|
456 | D2D1_CAP_STYLE endCap;
|
---|
457 | D2D1_CAP_STYLE dashCap;
|
---|
458 | D2D1_LINE_JOIN lineJoin;
|
---|
459 | FLOAT miterLimit;
|
---|
460 | D2D1_DASH_STYLE dashStyle;
|
---|
461 | FLOAT dashOffset;
|
---|
462 | };
|
---|
463 |
|
---|
464 | struct D2D1_TRIANGLE {
|
---|
465 | D2D1_POINT_2F point1;
|
---|
466 | D2D1_POINT_2F point2;
|
---|
467 | D2D1_POINT_2F point3;
|
---|
468 | };
|
---|
469 |
|
---|
470 | /* interfaces */
|
---|
471 |
|
---|
472 | /**
|
---|
473 | * Header generated from msdn for the purposes of allowing
|
---|
474 | * 3rd party compiler compatibility with the Microsoft API
|
---|
475 | */
|
---|
476 | DEFINE_GUID(IID_ID2D1Resource, 0x2cd90691,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
477 |
|
---|
478 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
479 |
|
---|
480 | interface ID2D1Resource : public IUnknown {
|
---|
481 | STDMETHOD_(void, GetFactory)(ID2D1Factory **factory) const PURE;
|
---|
482 | };
|
---|
483 |
|
---|
484 | #else
|
---|
485 |
|
---|
486 | typedef struct ID2D1ResourceVtbl {
|
---|
487 | IUnknownVtbl Base;
|
---|
488 |
|
---|
489 | STDMETHOD_(void, GetFactory)(ID2D1Resource *This, ID2D1Factory **factory) PURE;
|
---|
490 | } ID2D1ResourceVtbl;
|
---|
491 |
|
---|
492 | interface ID2D1Resource {
|
---|
493 | const ID2D1ResourceVtbl *lpVtbl;
|
---|
494 | };
|
---|
495 |
|
---|
496 | #define ID2D1Resource_QueryInterface(this,A,B) (this)->lpVtbl->Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
497 | #define ID2D1Resource_AddRef(this) (this)->lpVtbl->Base.AddRef((IUnknown*)(this))
|
---|
498 | #define ID2D1Resource_Release(this) (this)->lpVtbl->Base.Release((IUnknown*)(this))
|
---|
499 | #define ID2D1Resource_GetFactory(this,A) (this)->lpVtbl->GetFactory(this,A)
|
---|
500 |
|
---|
501 | #endif
|
---|
502 |
|
---|
503 | DEFINE_GUID(IID_ID2D1Brush, 0x2cd906a8,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
504 |
|
---|
505 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
506 |
|
---|
507 | interface ID2D1Brush : public ID2D1Resource {
|
---|
508 | STDMETHOD_(void, SetOpacity)(FLOAT opacity) PURE;
|
---|
509 | STDMETHOD_(void, SetTransform)(const D2D1_MATRIX_3X2_F *transform) PURE;
|
---|
510 | STDMETHOD_(FLOAT, GetOpacity)(void) const PURE;
|
---|
511 | STDMETHOD_(void, GetTransform)(D2D1_MATRIX_3X2_F *transform) const PURE;
|
---|
512 |
|
---|
513 | void SetTransform(const D2D1_MATRIX_3X2_F &transform) {
|
---|
514 | SetTransform(&transform);
|
---|
515 | }
|
---|
516 | };
|
---|
517 |
|
---|
518 | #else
|
---|
519 |
|
---|
520 | typedef struct ID2D1BrushVtbl {
|
---|
521 | ID2D1ResourceVtbl Base;
|
---|
522 |
|
---|
523 | STDMETHOD_(void, SetOpacity)(ID2D1Brush *This, FLOAT opacity) PURE;
|
---|
524 | STDMETHOD_(void, SetTransform)(ID2D1Brush *This, const D2D1_MATRIX_3X2_F *transform) PURE;
|
---|
525 | STDMETHOD_(FLOAT, GetOpacity)(ID2D1Brush *This) PURE;
|
---|
526 | STDMETHOD_(void, GetTransform)(ID2D1Brush *This, D2D1_MATRIX_3X2_F *transform) PURE;
|
---|
527 | } ID2D1BrushVtbl;
|
---|
528 |
|
---|
529 | interface ID2D1Brush {
|
---|
530 | const ID2D1BrushVtbl *lpVtbl;
|
---|
531 | };
|
---|
532 |
|
---|
533 | #define ID2D1Brush_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
534 | #define ID2D1Brush_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
535 | #define ID2D1Brush_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
536 | #define ID2D1Brush_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
537 | #define ID2D1Brush_SetOpacity(this,A) (this)->lpVtbl->SetOpacity(this,A)
|
---|
538 | #define ID2D1Brush_SetTransform(this,A) (this)->lpVtbl->SetTransform(this,A)
|
---|
539 | #define ID2D1Brush_GetOpacity(this) (this)->lpVtbl->GetOpacity(this)
|
---|
540 | #define ID2D1Brush_GetTransform(this,A) (this)->lpVtbl->GetTransform(this,A)
|
---|
541 |
|
---|
542 | #endif
|
---|
543 |
|
---|
544 | DEFINE_GUID(IID_ID2D1Image, 0x65019f75,0x8da2,0x497c,0xb3,0x2c,0xdf,0xa3,0x4e,0x48,0xed,0xe6);
|
---|
545 |
|
---|
546 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
547 |
|
---|
548 | interface ID2D1Image : public ID2D1Resource {};
|
---|
549 |
|
---|
550 | #else
|
---|
551 |
|
---|
552 | typedef struct ID2D1ImageVtbl {
|
---|
553 | ID2D1ResourceVtbl Base;
|
---|
554 | } ID2D1ImageVtbl;
|
---|
555 |
|
---|
556 | interface ID2D1Image {
|
---|
557 | const ID2D1ImageVtbl *lpVtbl;
|
---|
558 | };
|
---|
559 |
|
---|
560 | #define ID2D1Image_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnkwnown*)(this),A,B)
|
---|
561 | #define ID2D1Image_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
562 | #define ID2D1Image_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
563 | #define ID2D1Image_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
564 |
|
---|
565 | #endif
|
---|
566 |
|
---|
567 | DEFINE_GUID(IID_ID2D1Bitmap, 0xa2296057,0xea42,0x4099,0x98,0x3b,0x53,0x9f,0xb6,0x50,0x54,0x26);
|
---|
568 |
|
---|
569 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
570 |
|
---|
571 | interface ID2D1Bitmap : public ID2D1Image {
|
---|
572 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
573 | STDMETHOD_(D2D1_SIZE_F, GetSize)(void) const PURE;
|
---|
574 | #else
|
---|
575 | virtual D2D1_SIZE_F* STDMETHODCALLTYPE GetSize(D2D1_SIZE_F*) const = 0;
|
---|
576 | D2D1_SIZE_F STDMETHODCALLTYPE GetSize() const {
|
---|
577 | D2D1_SIZE_F __ret;
|
---|
578 | GetSize(&__ret);
|
---|
579 | return __ret;
|
---|
580 | }
|
---|
581 | #endif
|
---|
582 |
|
---|
583 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
584 | STDMETHOD_(D2D1_SIZE_U, GetPixelSize)(void) const PURE;
|
---|
585 | #else
|
---|
586 | virtual D2D1_SIZE_U* STDMETHODCALLTYPE GetPixelSize(D2D1_SIZE_U*) const = 0;
|
---|
587 | D2D1_SIZE_U STDMETHODCALLTYPE GetPixelSize() const {
|
---|
588 | D2D1_SIZE_U __ret;
|
---|
589 | GetPixelSize(&__ret);
|
---|
590 | return __ret;
|
---|
591 | }
|
---|
592 | #endif
|
---|
593 |
|
---|
594 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
595 | STDMETHOD_(D2D1_PIXEL_FORMAT, GetPixelFormat)(void) const PURE;
|
---|
596 | #else
|
---|
597 | virtual D2D1_PIXEL_FORMAT* STDMETHODCALLTYPE GetPixelFormat(D2D1_PIXEL_FORMAT*) const = 0;
|
---|
598 | D2D1_PIXEL_FORMAT STDMETHODCALLTYPE GetPixelFormat() const {
|
---|
599 | D2D1_PIXEL_FORMAT __ret;
|
---|
600 | GetPixelFormat(&__ret);
|
---|
601 | return __ret;
|
---|
602 | }
|
---|
603 | #endif
|
---|
604 |
|
---|
605 | STDMETHOD_(void, GetDpi)(FLOAT *dpiX, FLOAT *dpiY) const PURE;
|
---|
606 | STDMETHOD(CopyFromBitmap)(const D2D1_POINT_2U *destPoint, ID2D1Bitmap *bitmap, const D2D1_RECT_U *srcRect) PURE;
|
---|
607 | STDMETHOD(CopyFromRenderTarget)(const D2D1_POINT_2U *destPoint, ID2D1RenderTarget *renderTarget, const D2D1_RECT_U *srcRect) PURE;
|
---|
608 | STDMETHOD(CopyFromMemory)(const D2D1_RECT_U *dstRect, const void *srcData, UINT32 pitch) PURE;
|
---|
609 | };
|
---|
610 |
|
---|
611 | #else
|
---|
612 |
|
---|
613 | typedef struct ID2D1BitmapVtbl {
|
---|
614 | ID2D1ImageVtbl Base;
|
---|
615 |
|
---|
616 | STDMETHOD_(D2D1_SIZE_F, GetSize)(ID2D1Bitmap *This) PURE;
|
---|
617 | STDMETHOD_(D2D1_SIZE_U, GetPixelSize)(ID2D1Bitmap *This) PURE;
|
---|
618 | STDMETHOD_(D2D1_PIXEL_FORMAT, GetPixelFormat)(ID2D1Bitmap *This) PURE;
|
---|
619 | STDMETHOD_(void, GetDpi)(ID2D1Bitmap *This, FLOAT *dpiX, FLOAT *dpiY) PURE;
|
---|
620 | STDMETHOD(CopyFromBitmap)(ID2D1Bitmap *This, const D2D1_POINT_2U *destPoint, ID2D1Bitmap *bitmap, const D2D1_RECT_U *srcRect) PURE;
|
---|
621 | STDMETHOD(CopyFromRenderTarget)(ID2D1Bitmap *This, const D2D1_POINT_2U *destPoint, ID2D1RenderTarget *renderTarget, const D2D1_RECT_U *srcRect) PURE;
|
---|
622 | STDMETHOD(CopyFromMemory)(ID2D1Bitmap *This, const D2D1_RECT_U *dstRect, const void *srcData, UINT32 pitch) PURE;
|
---|
623 | } ID2D1BitmapVtbl;
|
---|
624 |
|
---|
625 | interface ID2D1Bitmap {
|
---|
626 | const ID2D1BitmapVtbl *lpVtbl;
|
---|
627 | };
|
---|
628 |
|
---|
629 | #define ID2D1Bitmap_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnkwnown*)(this),A,B)
|
---|
630 | #define ID2D1Bitmap_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
631 | #define ID2D1Bitmap_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
632 | #define ID2D1Bitmap_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
633 | #define ID2D1Bitmap_GetSize(this) (this)->lpVtbl->GetSize(this)
|
---|
634 | #define ID2D1Bitmap_GetPixelSize(this) (this)->lpVtbl->GetPixelSize(this)
|
---|
635 | #define ID2D1Bitmap_GetPixelFormat(this) (this)->lpVtbl->GetPixelFormat(this)
|
---|
636 | #define ID2D1Bitmap_GetDpi(this,A,B) (this)->lpVtbl->GetDpi(this,A,B)
|
---|
637 | #define ID2D1Bitmap_CopyFromBitmap(this,A,B,C) (this)->lpVtbl->CopyFromBitmap(this,A,B,C)
|
---|
638 | #define ID2D1Bitmap_CopyFromRenderTarget(this,A,B,C) (this)->lpVtbl->CopyFromRenderTarget(this,A,B,C)
|
---|
639 | #define ID2D1Bitmap_CopyFromMemory(this,A,B,C) (this)->lpVtbl->CopyFromMemory(this,A,B,C)
|
---|
640 |
|
---|
641 | #endif
|
---|
642 |
|
---|
643 | DEFINE_GUID(IID_ID2D1BitmapBrush, 0x2cd906aa,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
644 |
|
---|
645 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
646 |
|
---|
647 | interface ID2D1BitmapBrush : public ID2D1Brush {
|
---|
648 | STDMETHOD_(void, SetExtendModeX)(D2D1_EXTEND_MODE extendModeX) PURE;
|
---|
649 | STDMETHOD_(void, SetExtendModeY)(D2D1_EXTEND_MODE extendModeY) PURE;
|
---|
650 | STDMETHOD_(void, SetInterpolationMode)(D2D1_BITMAP_INTERPOLATION_MODE interpolationMode) PURE;
|
---|
651 | STDMETHOD_(void, SetBitmap)(ID2D1Bitmap *bitmap) PURE;
|
---|
652 | STDMETHOD_(D2D1_EXTEND_MODE, GetExtendModeX)(void) const PURE;
|
---|
653 | STDMETHOD_(D2D1_EXTEND_MODE, GetExtendModeY)(void) const PURE;
|
---|
654 | STDMETHOD_(D2D1_BITMAP_INTERPOLATION_MODE, GetInterpolationMode)(void) const PURE;
|
---|
655 | STDMETHOD_(void, GetBitmap)(ID2D1Bitmap **bitmap) const PURE;
|
---|
656 | };
|
---|
657 |
|
---|
658 | #else
|
---|
659 |
|
---|
660 | typedef struct ID2D1BitmapBrushVtbl {
|
---|
661 | ID2D1BrushVtbl Base;
|
---|
662 |
|
---|
663 | STDMETHOD_(void, SetExtendModeX)(ID2D1BitmapBrush *This, D2D1_EXTEND_MODE extendModeX) PURE;
|
---|
664 | STDMETHOD_(void, SetExtendModeY)(ID2D1BitmapBrush *This, D2D1_EXTEND_MODE extendModeY) PURE;
|
---|
665 | STDMETHOD_(void, SetInterpolationMode)(ID2D1BitmapBrush *This, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode) PURE;
|
---|
666 | STDMETHOD_(void, SetBitmap)(ID2D1BitmapBrush *This, ID2D1Bitmap *bitmap) PURE;
|
---|
667 | STDMETHOD_(D2D1_EXTEND_MODE, GetExtendModeX)(ID2D1BitmapBrush *This) PURE;
|
---|
668 | STDMETHOD_(D2D1_EXTEND_MODE, GetExtendModeY)(ID2D1BitmapBrush *This) PURE;
|
---|
669 | STDMETHOD_(D2D1_BITMAP_INTERPOLATION_MODE, GetInterpolationMode)(ID2D1BitmapBrush *This) PURE;
|
---|
670 | STDMETHOD_(void, GetBitmap)(ID2D1BitmapBrush *This, ID2D1Bitmap **bitmap) PURE;
|
---|
671 | } ID2D1BitmapBrushVtbl;
|
---|
672 |
|
---|
673 | interface ID2D1BitmapBrush {
|
---|
674 | const ID2D1BitmapBrushVtbl *lpVtbl;
|
---|
675 | };
|
---|
676 |
|
---|
677 | #define ID2D1BitmapBrush_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnkwnown*)(this),A,B)
|
---|
678 | #define ID2D1BitmapBrush_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
679 | #define ID2D1BitmapBrush_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
680 | #define ID2D1BitmapBrush_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
681 | #define ID2D1BitmapBrush_SetOpacity(this,A) (this)->lpVtbl->Base.SetOpacity((ID2D1Brush*)(this),A)
|
---|
682 | #define ID2D1BitmapBrush_SetTransform(this,A) (this)->lpVtbl->Base.SetTransform((ID2D1Brush*)(this),A)
|
---|
683 | #define ID2D1BitmapBrush_GetOpacity(this) (this)->lpVtbl->Base.GetOpacity((ID2D1Brush*)(this))
|
---|
684 | #define ID2D1BitmapBrush_GetTransform(this,A) (this)->lpVtbl->Base.GetTransform((ID2D1Brush*)(this),A)
|
---|
685 | #define ID2D1BitmapBrush_SetExtendModeX(this,A) (this)->lpVtbl->SetExtendModeX(this,A)
|
---|
686 | #define ID2D1BitmapBrush_SetExtendModeY(this,A) (this)->lpVtbl->SetExtendModeY(this,A)
|
---|
687 | #define ID2D1BitmapBrush_SetInterpolationMode(this,A) (this)->lpVtbl->SetInterpolationMode(this,A)
|
---|
688 | #define ID2D1BitmapBrush_SetBitmap(this,A) (this)->lpVtbl->SetBitmap(this,A)
|
---|
689 | #define ID2D1BitmapBrush_GetExtendModeX(this) (this)->lpVtbl->GetExtendModeX(this)
|
---|
690 | #define ID2D1BitmapBrush_GetExtendModeY(this) (this)->lpVtbl->GetExtendModeY(this)
|
---|
691 | #define ID2D1BitmapBrush_GetInterpolationMode(this) (this)->lpVtbl->GetInterpolationMode(this)
|
---|
692 | #define ID2D1BitmapBrush_GetBitmap(this,A) (this)->lpVtbl->GetBitmap(this,A)
|
---|
693 |
|
---|
694 | #endif
|
---|
695 |
|
---|
696 | DEFINE_GUID(IID_ID2D1RenderTarget, 0x2cd90694,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
697 |
|
---|
698 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
699 |
|
---|
700 | interface ID2D1RenderTarget : public ID2D1Resource {
|
---|
701 | STDMETHOD(CreateBitmap)(D2D1_SIZE_U size, const void *srcData, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap) PURE;
|
---|
702 | STDMETHOD(CreateBitmapFromWicBitmap)(IWICBitmapSource *wicBitmapSource, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap) PURE;
|
---|
703 | STDMETHOD(CreateSharedBitmap)(REFIID riid, void *data, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap) PURE;
|
---|
704 | STDMETHOD(CreateBitmapBrush)(ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1BitmapBrush **bitmapBrush) PURE;
|
---|
705 | STDMETHOD(CreateSolidColorBrush)(const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1SolidColorBrush **solidColorBrush) PURE;
|
---|
706 | STDMETHOD(CreateGradientStopCollection)(const D2D1_GRADIENT_STOP *gradientStops, UINT gradientStopsCount, D2D1_GAMMA colorInterpolationGamma, D2D1_EXTEND_MODE extendMode, ID2D1GradientStopCollection **gradientStopCollection) PURE;
|
---|
707 | STDMETHOD(CreateLinearGradientBrush)(const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1LinearGradientBrush **linearGradientBrush) PURE;
|
---|
708 | STDMETHOD(CreateRadialGradientBrush)(const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1RadialGradientBrush **radialGradientBrush) PURE;
|
---|
709 | STDMETHOD(CreateCompatibleRenderTarget)(const D2D1_SIZE_F *desiredSize, const D2D1_SIZE_U *desiredPixelSize, const D2D1_PIXEL_FORMAT *desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **bitmapRenderTarget) PURE;
|
---|
710 | STDMETHOD(CreateLayer)(const D2D1_SIZE_F *size, ID2D1Layer **layer) PURE;
|
---|
711 | STDMETHOD(CreateMesh)(ID2D1Mesh **mesh) PURE;
|
---|
712 | STDMETHOD_(void, DrawLine)(D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush *brush, FLOAT strokeWidth = 1.0f, ID2D1StrokeStyle *strokeStyle = NULL) PURE;
|
---|
713 | STDMETHOD_(void, DrawRectangle)(const D2D1_RECT_F *rect, ID2D1Brush *brush, FLOAT strokeWidth = 1.0f, ID2D1StrokeStyle *strokeStyle = NULL) PURE;
|
---|
714 | STDMETHOD_(void, FillRectangle)(const D2D1_RECT_F *rect, ID2D1Brush *brush) PURE;
|
---|
715 | STDMETHOD_(void, DrawRoundedRectangle)(const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush, FLOAT strokeWidth = 1.0f, ID2D1StrokeStyle *strokeStyle = NULL) PURE;
|
---|
716 | STDMETHOD_(void, FillRoundedRectangle)(const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush) PURE;
|
---|
717 | STDMETHOD_(void, DrawEllipse)(const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, FLOAT strokeWidth = 1.0f, ID2D1StrokeStyle *strokeStyle = NULL) PURE;
|
---|
718 | STDMETHOD_(void, FillEllipse)(const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush) PURE;
|
---|
719 | STDMETHOD_(void, DrawGeometry)(ID2D1Geometry *geometry, ID2D1Brush *brush, FLOAT strokeWidth = 1.0f, ID2D1StrokeStyle *strokeStyle = NULL) PURE;
|
---|
720 | STDMETHOD_(void, FillGeometry)(ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacityBrush = NULL) PURE;
|
---|
721 | STDMETHOD_(void, FillMesh)(ID2D1Mesh *mesh, ID2D1Brush *brush) PURE;
|
---|
722 | STDMETHOD_(void, FillOpacityMask)(ID2D1Bitmap *opacityMask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *destinationRectangle = NULL, const D2D1_RECT_F *sourceRectangle = NULL) PURE;
|
---|
723 | STDMETHOD_(void, DrawBitmap)(ID2D1Bitmap *bitmap, const D2D1_RECT_F *destinationRectangle = NULL, FLOAT opacity = 1.0f, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode = D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, const D2D1_RECT_F *sourceRectangle = NULL) PURE;
|
---|
724 | STDMETHOD_(void, DrawText)(const WCHAR *string, UINT stringLength, IDWriteTextFormat *textFormat, const D2D1_RECT_F *layoutRect, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE, DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL) PURE;
|
---|
725 | STDMETHOD_(void, DrawTextLayout)(D2D1_POINT_2F origin, IDWriteTextLayout *textLayout, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE) PURE;
|
---|
726 | STDMETHOD_(void, DrawGlyphRun)(D2D1_POINT_2F baselineOrigin, CONST DWRITE_GLYPH_RUN *glyphRun, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL) PURE;
|
---|
727 | STDMETHOD_(void, SetTransform)(const D2D1_MATRIX_3X2_F *transform) PURE;
|
---|
728 | STDMETHOD_(void, GetTransform)(D2D1_MATRIX_3X2_F *transform) const PURE;
|
---|
729 | STDMETHOD_(void, SetAntialiasMode)(D2D1_ANTIALIAS_MODE antialiasMode) PURE;
|
---|
730 | STDMETHOD_(D2D1_ANTIALIAS_MODE, GetAntialiasMode)(void) const PURE;
|
---|
731 | STDMETHOD_(void, SetTextAntialiasMode)(D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) PURE;
|
---|
732 | STDMETHOD_(D2D1_TEXT_ANTIALIAS_MODE, GetTextAntialiasMode)(void) const PURE;
|
---|
733 | STDMETHOD_(void, SetTextRenderingParams)(IDWriteRenderingParams *textRenderingParams = NULL) PURE;
|
---|
734 | STDMETHOD_(void, GetTextRenderingParams)(IDWriteRenderingParams **textRenderingParams) const PURE;
|
---|
735 | STDMETHOD_(void, SetTags)(D2D1_TAG tag1, D2D1_TAG tag2) PURE;
|
---|
736 | STDMETHOD_(void, GetTags)(D2D1_TAG *tag1 = NULL, D2D1_TAG *tag2 = NULL) const PURE;
|
---|
737 | STDMETHOD_(void, PushLayer)(const D2D1_LAYER_PARAMETERS *layerParameters, ID2D1Layer *layer) PURE;
|
---|
738 | STDMETHOD_(void, PopLayer)(void) PURE;
|
---|
739 | STDMETHOD(Flush)(D2D1_TAG *tag1 = NULL, D2D1_TAG *tag2 = NULL) PURE;
|
---|
740 | STDMETHOD_(void, SaveDrawingState)(ID2D1DrawingStateBlock *drawingStateBlock) const PURE;
|
---|
741 | STDMETHOD_(void, RestoreDrawingState)(ID2D1DrawingStateBlock *drawingStateBlock) PURE;
|
---|
742 | STDMETHOD_(void, PushAxisAlignedClip)(const D2D1_RECT_F *clipRect, D2D1_ANTIALIAS_MODE antialiasMode) PURE;
|
---|
743 | STDMETHOD_(void, PopAxisAlignedClip)(void) PURE;
|
---|
744 | STDMETHOD_(void, Clear)(const D2D1_COLOR_F *clearColor = NULL) PURE;
|
---|
745 | STDMETHOD_(void, BeginDraw)(void) PURE;
|
---|
746 | STDMETHOD(EndDraw)(D2D1_TAG *tag1 = NULL, D2D1_TAG *tag2 = NULL) PURE;
|
---|
747 |
|
---|
748 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
749 | STDMETHOD_(D2D1_PIXEL_FORMAT, GetPixelFormat)(void) const PURE;
|
---|
750 | #else
|
---|
751 | virtual D2D1_PIXEL_FORMAT* STDMETHODCALLTYPE GetPixelFormat(D2D1_PIXEL_FORMAT*) const = 0;
|
---|
752 | D2D1_PIXEL_FORMAT STDMETHODCALLTYPE GetPixelFormat() const {
|
---|
753 | D2D1_PIXEL_FORMAT __ret;
|
---|
754 | GetPixelFormat(&__ret);
|
---|
755 | return __ret;
|
---|
756 | }
|
---|
757 | #endif
|
---|
758 |
|
---|
759 | STDMETHOD_(void, SetDpi)(FLOAT dpiX, FLOAT dpiY) PURE;
|
---|
760 | STDMETHOD_(void, GetDpi)(FLOAT *dpiX, FLOAT *dpiY) const PURE;
|
---|
761 |
|
---|
762 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
763 | STDMETHOD_(D2D1_SIZE_F, GetSize)(void) const PURE;
|
---|
764 | #else
|
---|
765 | virtual D2D1_SIZE_F* STDMETHODCALLTYPE GetSize(D2D1_SIZE_F*) const = 0;
|
---|
766 | D2D1_SIZE_F STDMETHODCALLTYPE GetSize() const {
|
---|
767 | D2D1_SIZE_F __ret;
|
---|
768 | GetSize(&__ret);
|
---|
769 | return __ret;
|
---|
770 | }
|
---|
771 | #endif
|
---|
772 |
|
---|
773 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
774 | STDMETHOD_(D2D1_SIZE_U, GetPixelSize)(void) const PURE;
|
---|
775 | #else
|
---|
776 | virtual D2D1_SIZE_U* STDMETHODCALLTYPE GetPixelSize(D2D1_SIZE_U*) const = 0;
|
---|
777 | D2D1_SIZE_U STDMETHODCALLTYPE GetPixelSize() const {
|
---|
778 | D2D1_SIZE_U __ret;
|
---|
779 | GetPixelSize(&__ret);
|
---|
780 | return __ret;
|
---|
781 | }
|
---|
782 | #endif
|
---|
783 |
|
---|
784 | STDMETHOD_(UINT32, GetMaximumBitmapSize)(void) const PURE;
|
---|
785 | STDMETHOD_(BOOL, IsSupported)(const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties) const PURE;
|
---|
786 |
|
---|
787 | HRESULT CreateBitmap(D2D1_SIZE_U size, const void *srcData, UINT32 pitch, const D2D1_BITMAP_PROPERTIES &bitmapProperties, ID2D1Bitmap **bitmap) {
|
---|
788 | return CreateBitmap(size, srcData, pitch, &bitmapProperties, bitmap);
|
---|
789 | }
|
---|
790 |
|
---|
791 | HRESULT CreateBitmap(D2D1_SIZE_U size, const D2D1_BITMAP_PROPERTIES &bitmapProperties, ID2D1Bitmap **bitmap) {
|
---|
792 | return CreateBitmap(size, NULL, 0, &bitmapProperties, bitmap);
|
---|
793 | }
|
---|
794 |
|
---|
795 | HRESULT CreateBitmapFromWicBitmap(IWICBitmapSource *wicBitmapSource, const D2D1_BITMAP_PROPERTIES &bitmapProperties, ID2D1Bitmap **bitmap) {
|
---|
796 | return CreateBitmapFromWicBitmap(wicBitmapSource, &bitmapProperties, bitmap);
|
---|
797 | }
|
---|
798 |
|
---|
799 | HRESULT CreateBitmapFromWicBitmap(IWICBitmapSource *wicBitmapSource, ID2D1Bitmap **bitmap) {
|
---|
800 | return CreateBitmapFromWicBitmap(wicBitmapSource, NULL, bitmap);
|
---|
801 | }
|
---|
802 |
|
---|
803 | HRESULT CreateBitmapBrush(ID2D1Bitmap *bitmap, ID2D1BitmapBrush **bitmapBrush) {
|
---|
804 | return CreateBitmapBrush(bitmap, NULL, NULL, bitmapBrush);
|
---|
805 | }
|
---|
806 |
|
---|
807 | HRESULT CreateBitmapBrush(ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES &bitmapBrushProperties, ID2D1BitmapBrush **bitmapBrush) {
|
---|
808 | return CreateBitmapBrush(bitmap, &bitmapBrushProperties, NULL, bitmapBrush);
|
---|
809 | }
|
---|
810 |
|
---|
811 | HRESULT CreateBitmapBrush(ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES &bitmapBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, ID2D1BitmapBrush **bitmapBrush) {
|
---|
812 | return CreateBitmapBrush(bitmap, &bitmapBrushProperties, &brushProperties, bitmapBrush);
|
---|
813 | }
|
---|
814 |
|
---|
815 | HRESULT CreateSolidColorBrush(const D2D1_COLOR_F &color, ID2D1SolidColorBrush **solidColorBrush) {
|
---|
816 | return CreateSolidColorBrush(&color, NULL, solidColorBrush);
|
---|
817 | }
|
---|
818 |
|
---|
819 | HRESULT CreateSolidColorBrush(const D2D1_COLOR_F &color, const D2D1_BRUSH_PROPERTIES &brushProperties, ID2D1SolidColorBrush **solidColorBrush) {
|
---|
820 | return CreateSolidColorBrush(&color, &brushProperties, solidColorBrush);
|
---|
821 | }
|
---|
822 |
|
---|
823 | HRESULT CreateGradientStopCollection(const D2D1_GRADIENT_STOP *gradientStops, UINT gradientStopsCount, ID2D1GradientStopCollection **gradientStopCollection) {
|
---|
824 | return CreateGradientStopCollection(gradientStops, gradientStopsCount, D2D1_GAMMA_2_2, D2D1_EXTEND_MODE_CLAMP, gradientStopCollection);
|
---|
825 | }
|
---|
826 |
|
---|
827 | HRESULT CreateLinearGradientBrush(const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1LinearGradientBrush **linearGradientBrush) {
|
---|
828 | return CreateLinearGradientBrush(&linearGradientBrushProperties, NULL, gradientStopCollection, linearGradientBrush);
|
---|
829 | }
|
---|
830 |
|
---|
831 | HRESULT CreateLinearGradientBrush(const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1LinearGradientBrush **linearGradientBrush) {
|
---|
832 | return CreateLinearGradientBrush(&linearGradientBrushProperties, &brushProperties, gradientStopCollection, linearGradientBrush);
|
---|
833 | }
|
---|
834 |
|
---|
835 | HRESULT CreateRadialGradientBrush(const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1RadialGradientBrush **radialGradientBrush) {
|
---|
836 | return CreateRadialGradientBrush(&radialGradientBrushProperties, NULL, gradientStopCollection, radialGradientBrush);
|
---|
837 | }
|
---|
838 |
|
---|
839 | HRESULT CreateRadialGradientBrush(const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1RadialGradientBrush **radialGradientBrush) {
|
---|
840 | return CreateRadialGradientBrush(&radialGradientBrushProperties, &brushProperties, gradientStopCollection, radialGradientBrush);
|
---|
841 | }
|
---|
842 |
|
---|
843 | HRESULT CreateCompatibleRenderTarget(ID2D1BitmapRenderTarget **bitmapRenderTarget) {
|
---|
844 | return CreateCompatibleRenderTarget(NULL, NULL, NULL, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE, bitmapRenderTarget);
|
---|
845 | }
|
---|
846 |
|
---|
847 | HRESULT CreateCompatibleRenderTarget(D2D1_SIZE_F desiredSize, ID2D1BitmapRenderTarget **bitmapRenderTarget) {
|
---|
848 | return CreateCompatibleRenderTarget(&desiredSize, NULL, NULL, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE, bitmapRenderTarget);
|
---|
849 | }
|
---|
850 |
|
---|
851 | HRESULT CreateCompatibleRenderTarget(D2D1_SIZE_F desiredSize, D2D1_SIZE_U desiredPixelSize, ID2D1BitmapRenderTarget **bitmapRenderTarget){
|
---|
852 | return CreateCompatibleRenderTarget(&desiredSize, &desiredPixelSize, NULL, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE, bitmapRenderTarget);
|
---|
853 | }
|
---|
854 |
|
---|
855 | HRESULT CreateCompatibleRenderTarget(D2D1_SIZE_F desiredSize, D2D1_SIZE_U desiredPixelSize, D2D1_PIXEL_FORMAT desiredFormat, ID2D1BitmapRenderTarget **bitmapRenderTarget) {
|
---|
856 | return CreateCompatibleRenderTarget(&desiredSize, &desiredPixelSize, &desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE, bitmapRenderTarget);
|
---|
857 | }
|
---|
858 |
|
---|
859 | HRESULT CreateCompatibleRenderTarget(D2D1_SIZE_F desiredSize, D2D1_SIZE_U desiredPixelSize, D2D1_PIXEL_FORMAT desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **bitmapRenderTarget) {
|
---|
860 | return CreateCompatibleRenderTarget(&desiredSize, &desiredPixelSize, &desiredFormat, options, bitmapRenderTarget);
|
---|
861 | }
|
---|
862 |
|
---|
863 | HRESULT CreateLayer(D2D1_SIZE_F size, ID2D1Layer **layer) {
|
---|
864 | return CreateLayer(&size, layer);
|
---|
865 | }
|
---|
866 |
|
---|
867 | HRESULT CreateLayer(ID2D1Layer **layer) {
|
---|
868 | return CreateLayer(NULL, layer);
|
---|
869 | }
|
---|
870 |
|
---|
871 | void DrawRectangle(const D2D1_RECT_F &rect, ID2D1Brush *brush, FLOAT strokeWidth = 1.0f, ID2D1StrokeStyle *strokeStyle = NULL) {
|
---|
872 | DrawRectangle(&rect, brush, strokeWidth, strokeStyle);
|
---|
873 | }
|
---|
874 |
|
---|
875 | void FillRectangle(const D2D1_RECT_F &rect, ID2D1Brush *brush) {
|
---|
876 | FillRectangle(&rect, brush);
|
---|
877 | }
|
---|
878 |
|
---|
879 | void DrawRoundedRectangle(const D2D1_ROUNDED_RECT &roundedRect, ID2D1Brush *brush, FLOAT strokeWidth = 1.0f, ID2D1StrokeStyle *strokeStyle = NULL) {
|
---|
880 | DrawRoundedRectangle(&roundedRect, brush, strokeWidth, strokeStyle);
|
---|
881 | }
|
---|
882 |
|
---|
883 | void FillRoundedRectangle(const D2D1_ROUNDED_RECT &roundedRect, ID2D1Brush *brush) {
|
---|
884 | FillRoundedRectangle(&roundedRect, brush);
|
---|
885 | }
|
---|
886 |
|
---|
887 | void DrawEllipse(const D2D1_ELLIPSE &ellipse, ID2D1Brush *brush, FLOAT strokeWidth = 1.0f, ID2D1StrokeStyle *strokeStyle = NULL) {
|
---|
888 | DrawEllipse(&ellipse, brush, strokeWidth, strokeStyle);
|
---|
889 | }
|
---|
890 |
|
---|
891 | void FillEllipse(const D2D1_ELLIPSE &ellipse, ID2D1Brush *brush) {
|
---|
892 | FillEllipse(&ellipse, brush);
|
---|
893 | }
|
---|
894 |
|
---|
895 | void FillOpacityMask(ID2D1Bitmap *opacityMask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F &destinationRectangle, const D2D1_RECT_F &sourceRectangle) {
|
---|
896 | FillOpacityMask(opacityMask, brush, content, &destinationRectangle, &sourceRectangle);
|
---|
897 | }
|
---|
898 |
|
---|
899 | void DrawBitmap(ID2D1Bitmap *bitmap, const D2D1_RECT_F &destinationRectangle, FLOAT opacity = 1.0f, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode = D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, const D2D1_RECT_F *sourceRectangle = NULL) {
|
---|
900 | DrawBitmap(bitmap, &destinationRectangle, opacity, interpolationMode, sourceRectangle);
|
---|
901 | }
|
---|
902 |
|
---|
903 | void DrawBitmap(ID2D1Bitmap *bitmap, const D2D1_RECT_F &destinationRectangle, FLOAT opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, const D2D1_RECT_F &sourceRectangle) {
|
---|
904 | DrawBitmap(bitmap, &destinationRectangle, opacity, interpolationMode, &sourceRectangle);
|
---|
905 | }
|
---|
906 |
|
---|
907 | void SetTransform(const D2D1_MATRIX_3X2_F &transform) {
|
---|
908 | SetTransform(&transform);
|
---|
909 | }
|
---|
910 |
|
---|
911 | void PushLayer(const D2D1_LAYER_PARAMETERS &layerParameters, ID2D1Layer *layer) {
|
---|
912 | PushLayer(&layerParameters, layer);
|
---|
913 | }
|
---|
914 |
|
---|
915 | void PushAxisAlignedClip(const D2D1_RECT_F &clipRect, D2D1_ANTIALIAS_MODE antialiasMode) {
|
---|
916 | return PushAxisAlignedClip(&clipRect, antialiasMode);
|
---|
917 | }
|
---|
918 |
|
---|
919 | void Clear(const D2D1_COLOR_F &clearColor) {
|
---|
920 | return Clear(&clearColor);
|
---|
921 | }
|
---|
922 |
|
---|
923 | void DrawText(const WCHAR *string, UINT stringLength, IDWriteTextFormat *textFormat, const D2D1_RECT_F &layoutRect, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE, DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL) {
|
---|
924 | return DrawText(string, stringLength, textFormat, &layoutRect, defaultForegroundBrush, options, measuringMode);
|
---|
925 | }
|
---|
926 |
|
---|
927 | BOOL IsSupported(const D2D1_RENDER_TARGET_PROPERTIES &renderTargetProperties) const {
|
---|
928 | return IsSupported(&renderTargetProperties);
|
---|
929 | }
|
---|
930 | };
|
---|
931 |
|
---|
932 | #else
|
---|
933 |
|
---|
934 | typedef struct ID2D1RenderTargetVtbl {
|
---|
935 | ID2D1ResourceVtbl Base;
|
---|
936 |
|
---|
937 | STDMETHOD(CreateBitmap)(ID2D1RenderTarget *This, D2D1_SIZE_U size, const void *srcData, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap) PURE;
|
---|
938 | STDMETHOD(CreateBitmapFromWicBitmap)(ID2D1RenderTarget *This, IWICBitmapSource *wicBitmapSource, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap) PURE;
|
---|
939 | STDMETHOD(CreateSharedBitmap)(ID2D1RenderTarget *This, REFIID riid, void *data, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap) PURE;
|
---|
940 | STDMETHOD(CreateBitmapBrush)(ID2D1RenderTarget *This, ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1BitmapBrush **bitmapBrush) PURE;
|
---|
941 | STDMETHOD(CreateSolidColorBrush)(ID2D1RenderTarget *This, const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1SolidColorBrush **solidColorBrush) PURE;
|
---|
942 | STDMETHOD(CreateGradientStopCollection)(ID2D1RenderTarget *This, const D2D1_GRADIENT_STOP *gradientStops, UINT gradientStopsCount, D2D1_GAMMA colorInterpolationGamma, D2D1_EXTEND_MODE extendMode, ID2D1GradientStopCollection **gradientStopCollection) PURE;
|
---|
943 | STDMETHOD(CreateLinearGradientBrush)(ID2D1RenderTarget *This, const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1LinearGradientBrush **linearGradientBrush) PURE;
|
---|
944 | STDMETHOD(CreateRadialGradientBrush)(ID2D1RenderTarget *This, const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1RadialGradientBrush **radialGradientBrush) PURE;
|
---|
945 | STDMETHOD(CreateCompatibleRenderTarget)(ID2D1RenderTarget *This, const D2D1_SIZE_F *desiredSize, const D2D1_SIZE_U *desiredPixelSize, const D2D1_PIXEL_FORMAT *desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **bitmapRenderTarget) PURE;
|
---|
946 | STDMETHOD(CreateLayer)(ID2D1RenderTarget *This, const D2D1_SIZE_F *size, ID2D1Layer **layer) PURE;
|
---|
947 | STDMETHOD(CreateMesh)(ID2D1RenderTarget *This, ID2D1Mesh **mesh) PURE;
|
---|
948 | STDMETHOD_(void, DrawLine)(ID2D1RenderTarget *This, D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE;
|
---|
949 | STDMETHOD_(void, DrawRectangle)(ID2D1RenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE;
|
---|
950 | STDMETHOD_(void, FillRectangle)(ID2D1RenderTarget *This, const D2D1_RECT_F *rect, ID2D1Brush *brush) PURE;
|
---|
951 | STDMETHOD_(void, DrawRoundedRectangle)(ID2D1RenderTarget *This, const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE;
|
---|
952 | STDMETHOD_(void, FillRoundedRectangle)(ID2D1RenderTarget *This, const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush) PURE;
|
---|
953 | STDMETHOD_(void, DrawEllipse)(ID2D1RenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE;
|
---|
954 | STDMETHOD_(void, FillEllipse)(ID2D1RenderTarget *This, const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush) PURE;
|
---|
955 | STDMETHOD_(void, DrawGeometry)(ID2D1RenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE;
|
---|
956 | STDMETHOD_(void, FillGeometry)(ID2D1RenderTarget *This, ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacityBrush) PURE;
|
---|
957 | STDMETHOD_(void, FillMesh)(ID2D1RenderTarget *This, ID2D1Mesh *mesh, ID2D1Brush *brush) PURE;
|
---|
958 | STDMETHOD_(void, FillOpacityMask)(ID2D1RenderTarget *This, ID2D1Bitmap *opacityMask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *destinationRectangle, const D2D1_RECT_F *sourceRectangle) PURE;
|
---|
959 | STDMETHOD_(void, DrawBitmap)(ID2D1RenderTarget *This, ID2D1Bitmap *bitmap, const D2D1_RECT_F *destinationRectangle, FLOAT opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, const D2D1_RECT_F *sourceRectangle) PURE;
|
---|
960 | STDMETHOD_(void, DrawText)(ID2D1RenderTarget *This, const WCHAR *string, UINT stringLength, IDWriteTextFormat *textFormat, const D2D1_RECT_F *layoutRect, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuringMode) PURE;
|
---|
961 | STDMETHOD_(void, DrawTextLayout)(ID2D1RenderTarget *This, D2D1_POINT_2F origin, IDWriteTextLayout *textLayout, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options) PURE;
|
---|
962 | STDMETHOD_(void, DrawGlyphRun)(ID2D1RenderTarget *This, D2D1_POINT_2F baselineOrigin, const DWRITE_GLYPH_RUN *glyphRun, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode) PURE;
|
---|
963 | STDMETHOD_(void, SetTransform)(ID2D1RenderTarget *This, const D2D1_MATRIX_3X2_F *transform) PURE;
|
---|
964 | STDMETHOD_(void, GetTransform)(ID2D1RenderTarget *This, D2D1_MATRIX_3X2_F *transform) PURE;
|
---|
965 | STDMETHOD_(void, SetAntialiasMode)(ID2D1RenderTarget *This, D2D1_ANTIALIAS_MODE antialiasMode) PURE;
|
---|
966 | STDMETHOD_(D2D1_ANTIALIAS_MODE, GetAntialiasMode)(ID2D1RenderTarget *This) PURE;
|
---|
967 | STDMETHOD_(void, SetTextAntialiasMode)(ID2D1RenderTarget *This, D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) PURE;
|
---|
968 | STDMETHOD_(D2D1_TEXT_ANTIALIAS_MODE, GetTextAntialiasMode)(ID2D1RenderTarget *This) PURE;
|
---|
969 | STDMETHOD_(void, SetTextRenderingParams)(ID2D1RenderTarget *This, IDWriteRenderingParams *textRenderingParams) PURE;
|
---|
970 | STDMETHOD_(void, GetTextRenderingParams)(ID2D1RenderTarget *This, IDWriteRenderingParams **textRenderingParams) PURE;
|
---|
971 | STDMETHOD_(void, SetTags)(ID2D1RenderTarget *This, D2D1_TAG tag1, D2D1_TAG tag2) PURE;
|
---|
972 | STDMETHOD_(void, GetTags)(ID2D1RenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2) PURE;
|
---|
973 | STDMETHOD_(void, PushLayer)(ID2D1RenderTarget *This, const D2D1_LAYER_PARAMETERS *layerParameters, ID2D1Layer *layer) PURE;
|
---|
974 | STDMETHOD_(void, PopLayer)(ID2D1RenderTarget *This) PURE;
|
---|
975 | STDMETHOD(Flush)(ID2D1RenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2) PURE;
|
---|
976 | STDMETHOD_(void, SaveDrawingState)(ID2D1RenderTarget *This, ID2D1DrawingStateBlock *drawingStateBlock) PURE;
|
---|
977 | STDMETHOD_(void, RestoreDrawingState)(ID2D1RenderTarget *This, ID2D1DrawingStateBlock *drawingStateBlock) PURE;
|
---|
978 | STDMETHOD_(void, PushAxisAlignedClip)(ID2D1RenderTarget *This, const D2D1_RECT_F *clipRect, D2D1_ANTIALIAS_MODE antialiasMode) PURE;
|
---|
979 | STDMETHOD_(void, PopAxisAlignedClip)(ID2D1RenderTarget *This) PURE;
|
---|
980 | STDMETHOD_(void, Clear)(ID2D1RenderTarget *This, const D2D1_COLOR_F *clearColor) PURE;
|
---|
981 | STDMETHOD_(void, BeginDraw)(ID2D1RenderTarget *This) PURE;
|
---|
982 | STDMETHOD(EndDraw)(ID2D1RenderTarget *This, D2D1_TAG *tag1, D2D1_TAG *tag2) PURE;
|
---|
983 | STDMETHOD_(D2D1_PIXEL_FORMAT, GetPixelFormat)(ID2D1RenderTarget *This) PURE;
|
---|
984 | STDMETHOD_(void, SetDpi)(ID2D1RenderTarget *This, FLOAT dpiX, FLOAT dpiY) PURE;
|
---|
985 | STDMETHOD_(void, GetDpi)(ID2D1RenderTarget *This, FLOAT *dpiX, FLOAT *dpiY) PURE;
|
---|
986 | STDMETHOD_(D2D1_SIZE_F, GetSize)(ID2D1RenderTarget *This) PURE;
|
---|
987 | STDMETHOD_(D2D1_SIZE_U, GetPixelSize)(ID2D1RenderTarget *This) PURE;
|
---|
988 | STDMETHOD_(UINT32, GetMaximumBitmapSize)(ID2D1RenderTarget *This) PURE;
|
---|
989 | STDMETHOD_(BOOL, IsSupported)(ID2D1RenderTarget *This, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties) PURE;
|
---|
990 | } ID2D1RenderTargetVtbl;
|
---|
991 |
|
---|
992 | interface ID2D1RenderTarget {
|
---|
993 | const ID2D1RenderTargetVtbl *lpVtbl;
|
---|
994 | };
|
---|
995 |
|
---|
996 | #define ID2D1RenderTarget_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
997 | #define ID2D1RenderTarget_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
998 | #define ID2D1RenderTarget_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
999 | #define ID2D1RenderTarget_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1000 | #define ID2D1RenderTarget_BeginDraw(this) (this)->lpVtbl->BeginDraw(this)
|
---|
1001 | #define ID2D1RenderTarget_Clear(this,A) (this)->lpVtbl->Clear(this,A)
|
---|
1002 | #define ID2D1RenderTarget_CreateBitmap(this,A,B,C,D,E) (this)->lpVtbl->CreateBitmap(this,A,B,C,D,E)
|
---|
1003 | #define ID2D1RenderTarget_CreateBitmapBrush(this,A,B) (this)->lpVtbl->CreateBitmapBrush(this,A,B)
|
---|
1004 | #define ID2D1RenderTarget_CreateBitmapFromWicBitmap(this,A,B,C) (this)->lpVtbl->CreateBitmapFromWicBitmap(this,A,B,C)
|
---|
1005 | #define ID2D1RenderTarget_CreateCompatibleRenderTarget(this,A,B,C,D,E) (this)->lpVtbl->CreateCompatibleRenderTarget(this,A,B,C,D,E)
|
---|
1006 | #define ID2D1RenderTarget_CreateGradientStopCollection(this,A,B,C) (this)->lpVtbl->CreateGradientStopCollection(this,A,B,C)
|
---|
1007 | #define ID2D1RenderTarget_CreateLayer(this,A,B) (this)->lpVtbl->CreateLayer(this,A,B)
|
---|
1008 | #define ID2D1RenderTarget_CreateLinearGradientBrush(this,A,B,C,D) (this)->lpVtbl->CreateLinearGradientBrush(this,A,B,C,D)
|
---|
1009 | #define ID2D1RenderTarget_CreateMesh(this,A) (this)->lpVtbl->CreateMesh(this,A)
|
---|
1010 | #define ID2D1RenderTarget_CreateRadialGradientBrush(this,A,B,C,D) (this)->lpVtbl->CreateRadialGradientBrush(this,A,B,C,D)
|
---|
1011 | #define ID2D1RenderTarget_CreateSharedBitmap(this,A,B,C,D) (this)->lpVtbl->CreateSharedBitmap(this,A,B,C,D)
|
---|
1012 | #define ID2D1RenderTarget_CreateSolidColorBrush(this,A,B,C) (this)->lpVtbl->CreateSolidColorBrush(this,A,B,C)
|
---|
1013 | #define ID2D1RenderTarget_DrawBitmap(this,A,B,C,D,E) (this)->lpVtbl->DrawBitmap(this,A,B,C,D,E)
|
---|
1014 | #define ID2D1RenderTarget_DrawEllipse(this,A,B,C,D) (this)->lpVtbl->DrawEllipse(this,A,B,C,D)
|
---|
1015 | #define ID2D1RenderTarget_DrawGeometry(this,A,B,C,D) (this)->lpVtbl->DrawGeometry(this,A,B,C,D)
|
---|
1016 | #define ID2D1RenderTarget_DrawGlyphRun(this,A,B,C,D) (this)->lpVtbl->DrawGlyphRun(this,A,B,C,D)
|
---|
1017 | #define ID2D1RenderTarget_DrawLine(this,A,B,C,D,E) (this)->lpVtbl->DrawLine(this,A,B,C,D,E)
|
---|
1018 | #define ID2D1RenderTarget_DrawRectangle(this,A,B,C,D) (this)->lpVtbl->DrawRectangle(this,A,B,C,D)
|
---|
1019 | #define ID2D1RenderTarget_DrawRoundedRectangle(this,A,B,C,D) (this)->lpVtbl->DrawRoundedRectangle(this,A,B,C,D)
|
---|
1020 | #define ID2D1RenderTarget_DrawText(this,A,B,C,D,E,F,G) (this)->lpVtbl->DrawText(this,A,B,C,D,E,F,G)
|
---|
1021 | #define ID2D1RenderTarget_DrawTextLayout(this,A,B,C,D) (this)->lpVtbl->DrawTextLayout(this,A,B,C,D)
|
---|
1022 | #define ID2D1RenderTarget_EndDraw(this,A,B) (this)->lpVtbl->EndDraw(this,A,B)
|
---|
1023 | #define ID2D1RenderTarget_FillEllipse(this,A,B) (this)->lpVtbl->FillEllipse(this,A,B)
|
---|
1024 | #define ID2D1RenderTarget_FillGeometry(this,A,B,C) (this)->lpVtbl->FillGeometry(this,A,B,C)
|
---|
1025 | #define ID2D1RenderTarget_FillMesh(this,A,B) (this)->lpVtbl->FillMesh(this,A,B)
|
---|
1026 | #define ID2D1RenderTarget_FillOpacityMask(this,A,B,C,D,E) (this)->lpVtbl->FillOpacityMask(this,A,B,C,D,E)
|
---|
1027 | #define ID2D1RenderTarget_FillRectangle(this,A,B) (this)->lpVtbl->FillRectangle(this,A,B)
|
---|
1028 | #define ID2D1RenderTarget_FillRoundedRectangle(this,A,B) (this)->lpVtbl->FillRoundedRectangle(this,A,B)
|
---|
1029 | #define ID2D1RenderTarget_Flush(this,A,B) (this)->lpVtbl->Flush(this,A,B)
|
---|
1030 | #define ID2D1RenderTarget_GetAntialiasMode(this) (this)->lpVtbl->GetAntialiasMode(this)
|
---|
1031 | #define ID2D1RenderTarget_GetDpi(this,A,B) (this)->lpVtbl->GetDpi(this,A,B)
|
---|
1032 | #define ID2D1RenderTarget_GetMaximumBitmapSize(this) (this)->lpVtbl->GetMaximumBitmapSize(this)
|
---|
1033 | #define ID2D1RenderTarget_GetPixelFormat(this) (this)->lpVtbl->GetPixelFormat(this)
|
---|
1034 | #define ID2D1RenderTarget_GetPixelSize(this) (this)->lpVtbl->GetPixelSize(this)
|
---|
1035 | #define ID2D1RenderTarget_GetSize(this) (this)->lpVtbl->GetSize(this)
|
---|
1036 | #define ID2D1RenderTarget_GetTags(this,A,B) (this)->lpVtbl->GetTags(this,A,B)
|
---|
1037 | #define ID2D1RenderTarget_GetTextAntialiasMode(this) (this)->lpVtbl->GetTextAntialiasMode(this)
|
---|
1038 | #define ID2D1RenderTarget_GetTextRenderingParams(this,A) (this)->lpVtbl->GetTextRenderingParams(this,A)
|
---|
1039 | #define ID2D1RenderTarget_GetTransform(this,A) (this)->lpVtbl->GetTransform(this,A)
|
---|
1040 | #define ID2D1RenderTarget_IsSupported(this,A) (this)->lpVtbl->IsSupported(this,A)
|
---|
1041 | #define ID2D1RenderTarget_PopAxisAlignedClip(this) (this)->lpVtbl->PopAxisAlignedClip(this)
|
---|
1042 | #define ID2D1RenderTarget_PopLayer(this) (this)->lpVtbl->PopLayer(this)
|
---|
1043 | #define ID2D1RenderTarget_PushAxisAlignedClip(this,A,B) (this)->lpVtbl->PushAxisAlignedClip(this,A,B)
|
---|
1044 | #define ID2D1RenderTarget_PushLayer(this,A,B) (this)->lpVtbl->PushLayer(this,A,B)
|
---|
1045 | #define ID2D1RenderTarget_RestoreDrawingState(this,A) (this)->lpVtbl->RestoreDrawingState(this,A)
|
---|
1046 | #define ID2D1RenderTarget_SaveDrawingState(this,A) (this)->lpVtbl->SaveDrawingState(this,A)
|
---|
1047 | #define ID2D1RenderTarget_SetAntialiasMode(this,A) (this)->lpVtbl->SetAntialiasMode(this,A)
|
---|
1048 | #define ID2D1RenderTarget_SetDpi(this,A,B) (this)->lpVtbl->SetDpi(this,A,B)
|
---|
1049 | #define ID2D1RenderTarget_SetTags(this,A,B) (this)->lpVtbl->SetTags(this,A,B)
|
---|
1050 | #define ID2D1RenderTarget_SetTextAntialiasMode(this,A) (this)->lpVtbl->SetTextAntialiasMode(this,A)
|
---|
1051 | #define ID2D1RenderTarget_SetTextRenderingParams(this,A) (this)->lpVtbl->SetTextRenderingParams(this,A)
|
---|
1052 | #define ID2D1RenderTarget_SetTransform(this,A) (this)->lpVtbl->SetTransform(this,A)
|
---|
1053 |
|
---|
1054 | #endif
|
---|
1055 |
|
---|
1056 | DEFINE_GUID(IID_ID2D1Geometry, 0x2cd906a1,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1057 |
|
---|
1058 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1059 |
|
---|
1060 | interface ID2D1Geometry : public ID2D1Resource {
|
---|
1061 | STDMETHOD(GetBounds)(const D2D1_MATRIX_3X2_F *worldTransform, D2D1_RECT_F *bounds) const PURE;
|
---|
1062 | STDMETHOD(GetWidenedBounds)(FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F *bounds) const PURE;
|
---|
1063 | STDMETHOD(StrokeContainsPoint)(D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, BOOL *contains) const PURE;
|
---|
1064 | STDMETHOD(FillContainsPoint)(D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, BOOL *contains) const PURE;
|
---|
1065 | STDMETHOD(CompareWithGeometry)(ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F *inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION *relation) const PURE;
|
---|
1066 | STDMETHOD(Simplify)(D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const PURE;
|
---|
1067 | STDMETHOD(Tessellate)(const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1TessellationSink *tessellationSink) const PURE;
|
---|
1068 | STDMETHOD(CombineWithGeometry)(ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F *inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const PURE;
|
---|
1069 | STDMETHOD(Outline)(const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const PURE;
|
---|
1070 | STDMETHOD(ComputeArea)(const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, FLOAT *area) const PURE;
|
---|
1071 | STDMETHOD(ComputeLength)(const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, FLOAT *length) const PURE;
|
---|
1072 | STDMETHOD(ComputePointAtLength)(FLOAT length, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const PURE;
|
---|
1073 | STDMETHOD(Widen)(FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const PURE;
|
---|
1074 |
|
---|
1075 | HRESULT GetBounds(const D2D1_MATRIX_3X2_F &worldTransform, D2D1_RECT_F *bounds) const {
|
---|
1076 | return GetBounds(&worldTransform, bounds);
|
---|
1077 | }
|
---|
1078 |
|
---|
1079 | HRESULT GetWidenedBounds(FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F *bounds) const {
|
---|
1080 | return GetWidenedBounds(strokeWidth, strokeStyle, &worldTransform, flatteningTolerance, bounds);
|
---|
1081 | }
|
---|
1082 |
|
---|
1083 | HRESULT GetWidenedBounds(FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, D2D1_RECT_F *bounds) const {
|
---|
1084 | return GetWidenedBounds(strokeWidth, strokeStyle, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, bounds);
|
---|
1085 | }
|
---|
1086 |
|
---|
1087 | HRESULT GetWidenedBounds(FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, D2D1_RECT_F *bounds) const {
|
---|
1088 | return GetWidenedBounds(strokeWidth, strokeStyle, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, bounds);
|
---|
1089 | }
|
---|
1090 |
|
---|
1091 | HRESULT StrokeContainsPoint(D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, BOOL *contains) const {
|
---|
1092 | return StrokeContainsPoint(point, strokeWidth, strokeStyle, &worldTransform, flatteningTolerance, contains);
|
---|
1093 | }
|
---|
1094 |
|
---|
1095 | HRESULT StrokeContainsPoint(D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, BOOL *contains) const {
|
---|
1096 | return StrokeContainsPoint(point, strokeWidth, strokeStyle, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, contains);
|
---|
1097 | }
|
---|
1098 |
|
---|
1099 | HRESULT StrokeContainsPoint(D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, BOOL *contains) const {
|
---|
1100 | return StrokeContainsPoint(point, strokeWidth, strokeStyle, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, contains);
|
---|
1101 | }
|
---|
1102 |
|
---|
1103 | HRESULT FillContainsPoint(D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, BOOL *contains) const {
|
---|
1104 | return FillContainsPoint(point, &worldTransform, flatteningTolerance, contains);
|
---|
1105 | }
|
---|
1106 |
|
---|
1107 | HRESULT FillContainsPoint(D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *worldTransform, BOOL *contains) const {
|
---|
1108 | return FillContainsPoint(point, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, contains);
|
---|
1109 | }
|
---|
1110 |
|
---|
1111 | HRESULT FillContainsPoint(D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F &worldTransform, BOOL *contains) const {
|
---|
1112 | return FillContainsPoint(point, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, contains);
|
---|
1113 | }
|
---|
1114 |
|
---|
1115 | HRESULT CompareWithGeometry(ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F &inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION *relation) const {
|
---|
1116 | return CompareWithGeometry(inputGeometry, &inputGeometryTransform, flatteningTolerance, relation);
|
---|
1117 | }
|
---|
1118 |
|
---|
1119 | HRESULT CompareWithGeometry(ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F *inputGeometryTransform, D2D1_GEOMETRY_RELATION *relation) const {
|
---|
1120 | return CompareWithGeometry(inputGeometry, inputGeometryTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, relation);
|
---|
1121 | }
|
---|
1122 |
|
---|
1123 | HRESULT CompareWithGeometry(ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F &inputGeometryTransform, D2D1_GEOMETRY_RELATION *relation) const {
|
---|
1124 | return CompareWithGeometry(inputGeometry, &inputGeometryTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, relation);
|
---|
1125 | }
|
---|
1126 |
|
---|
1127 | HRESULT Simplify(D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1128 | return Simplify(simplificationOption, &worldTransform, flatteningTolerance, geometrySink);
|
---|
1129 | }
|
---|
1130 |
|
---|
1131 | HRESULT Simplify(D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, const D2D1_MATRIX_3X2_F *worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1132 | return Simplify(simplificationOption, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
|
---|
1133 | }
|
---|
1134 |
|
---|
1135 | HRESULT Simplify(D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, const D2D1_MATRIX_3X2_F &worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1136 | return Simplify(simplificationOption, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
|
---|
1137 | }
|
---|
1138 |
|
---|
1139 | HRESULT Tessellate(const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, ID2D1TessellationSink *tessellationSink) const {
|
---|
1140 | return Tessellate(&worldTransform, flatteningTolerance, tessellationSink);
|
---|
1141 | }
|
---|
1142 |
|
---|
1143 | HRESULT Tessellate(const D2D1_MATRIX_3X2_F *worldTransform, ID2D1TessellationSink *tessellationSink) const {
|
---|
1144 | return Tessellate(worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, tessellationSink);
|
---|
1145 | }
|
---|
1146 |
|
---|
1147 | HRESULT Tessellate(const D2D1_MATRIX_3X2_F &worldTransform, ID2D1TessellationSink *tessellationSink) const {
|
---|
1148 | return Tessellate(&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, tessellationSink);
|
---|
1149 | }
|
---|
1150 |
|
---|
1151 | HRESULT CombineWithGeometry(ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F &inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1152 | return CombineWithGeometry(inputGeometry, combineMode, &inputGeometryTransform, flatteningTolerance, geometrySink);
|
---|
1153 | }
|
---|
1154 |
|
---|
1155 | HRESULT CombineWithGeometry(ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, CONST D2D1_MATRIX_3X2_F *inputGeometryTransform, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1156 | return CombineWithGeometry(inputGeometry, combineMode, inputGeometryTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
|
---|
1157 | }
|
---|
1158 |
|
---|
1159 | HRESULT CombineWithGeometry(ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F &inputGeometryTransform, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1160 | return CombineWithGeometry(inputGeometry, combineMode, &inputGeometryTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
|
---|
1161 | }
|
---|
1162 |
|
---|
1163 | HRESULT Outline(const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1164 | return Outline(&worldTransform, flatteningTolerance, geometrySink);
|
---|
1165 | }
|
---|
1166 |
|
---|
1167 | HRESULT Outline(const D2D1_MATRIX_3X2_F *worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1168 | return Outline(worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
|
---|
1169 | }
|
---|
1170 |
|
---|
1171 | HRESULT Outline(const D2D1_MATRIX_3X2_F &worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1172 | return Outline(&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
|
---|
1173 | }
|
---|
1174 |
|
---|
1175 | HRESULT ComputeArea(const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, FLOAT *area) const {
|
---|
1176 | return ComputeArea(&worldTransform, flatteningTolerance, area);
|
---|
1177 | }
|
---|
1178 |
|
---|
1179 | HRESULT ComputeArea(const D2D1_MATRIX_3X2_F *worldTransform, FLOAT *area) const {
|
---|
1180 | return ComputeArea(worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, area);
|
---|
1181 | }
|
---|
1182 |
|
---|
1183 | HRESULT ComputeArea(const D2D1_MATRIX_3X2_F &worldTransform, FLOAT *area) const {
|
---|
1184 | return ComputeArea(&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, area);
|
---|
1185 | }
|
---|
1186 |
|
---|
1187 | HRESULT ComputeLength(const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, FLOAT *length) const {
|
---|
1188 | return ComputeLength(&worldTransform, flatteningTolerance, length);
|
---|
1189 | }
|
---|
1190 |
|
---|
1191 | HRESULT ComputeLength(const D2D1_MATRIX_3X2_F *worldTransform, FLOAT *length) const {
|
---|
1192 | return ComputeLength(worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, length);
|
---|
1193 | }
|
---|
1194 |
|
---|
1195 | HRESULT ComputeLength(const D2D1_MATRIX_3X2_F &worldTransform, FLOAT *length) const {
|
---|
1196 | return ComputeLength(&worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, length);
|
---|
1197 | }
|
---|
1198 |
|
---|
1199 | HRESULT ComputePointAtLength(FLOAT length, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const {
|
---|
1200 | return ComputePointAtLength(length, &worldTransform, flatteningTolerance, point, unitTangentVector);
|
---|
1201 | }
|
---|
1202 |
|
---|
1203 | HRESULT ComputePointAtLength(FLOAT length, const D2D1_MATRIX_3X2_F *worldTransform, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const {
|
---|
1204 | return ComputePointAtLength(length, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, point, unitTangentVector);
|
---|
1205 | }
|
---|
1206 |
|
---|
1207 | HRESULT ComputePointAtLength(FLOAT length, const D2D1_MATRIX_3X2_F &worldTransform, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const {
|
---|
1208 | return ComputePointAtLength(length, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, point, unitTangentVector);
|
---|
1209 | }
|
---|
1210 |
|
---|
1211 | HRESULT Widen(FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1212 | return Widen(strokeWidth, strokeStyle, &worldTransform, flatteningTolerance, geometrySink);
|
---|
1213 | }
|
---|
1214 |
|
---|
1215 | HRESULT Widen(FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1216 | return Widen(strokeWidth, strokeStyle, worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
|
---|
1217 | }
|
---|
1218 |
|
---|
1219 | HRESULT Widen(FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const {
|
---|
1220 | return Widen(strokeWidth, strokeStyle, &worldTransform, D2D1_DEFAULT_FLATTENING_TOLERANCE, geometrySink);
|
---|
1221 | }
|
---|
1222 | };
|
---|
1223 |
|
---|
1224 | #else
|
---|
1225 |
|
---|
1226 | typedef struct ID2D1GeometryVtbl {
|
---|
1227 | ID2D1ResourceVtbl Base;
|
---|
1228 |
|
---|
1229 | STDMETHOD(GetBounds)(ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *worldTransform, D2D1_RECT_F *bounds) PURE;
|
---|
1230 | STDMETHOD(GetWidenedBounds)(ID2D1Geometry *This, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F *bounds) PURE;
|
---|
1231 | STDMETHOD(StrokeContainsPoint)(ID2D1Geometry *This, D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, BOOL *contains) PURE;
|
---|
1232 | STDMETHOD(FillContainsPoint)(ID2D1Geometry *This, D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, BOOL *contains) PURE;
|
---|
1233 | STDMETHOD(CompareWithGeometry)(ID2D1Geometry *This, ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F *inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION *relation) PURE;
|
---|
1234 | STDMETHOD(Simplify)(ID2D1Geometry *This, D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) PURE;
|
---|
1235 | STDMETHOD(Tessellate)(ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1TessellationSink *tessellationSink) PURE;
|
---|
1236 | STDMETHOD(CombineWithGeometry)(ID2D1Geometry *This, ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F *inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) PURE;
|
---|
1237 | STDMETHOD(Outline)(ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) PURE;
|
---|
1238 | STDMETHOD(ComputeArea)(ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, FLOAT *area) PURE;
|
---|
1239 | STDMETHOD(ComputeLength)(ID2D1Geometry *This, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, FLOAT *length) PURE;
|
---|
1240 | STDMETHOD(ComputePointAtLength)(ID2D1Geometry *This, FLOAT length, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) PURE;
|
---|
1241 | STDMETHOD(Widen)(ID2D1Geometry *This, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) PURE;
|
---|
1242 | } ID2D1GeometryVtbl;
|
---|
1243 |
|
---|
1244 | interface ID2D1Geometry {
|
---|
1245 | const ID2D1GeometryVtbl *lpVtbl;
|
---|
1246 | };
|
---|
1247 |
|
---|
1248 | #define ID2D1Geometry_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1249 | #define ID2D1Geometry_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
1250 | #define ID2D1Geometry_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
1251 | #define ID2D1Geometry_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1252 | #define ID2D1Geometry_CombineWithGeometry(this,A,B,C,D) (this)->lpVtbl->CombineWithGeometry(this,A,B,C,D)
|
---|
1253 | #define ID2D1Geometry_CompareWithGeometry(this,A,B,C) (this)->lpVtbl->CompareWithGeometry(this,A,B,C)
|
---|
1254 | #define ID2D1Geometry_ComputeArea(this,A,B) (this)->lpVtbl->ComputeArea(this,A,B)
|
---|
1255 | #define ID2D1Geometry_ComputeLength(this,A,B) (this)->lpVtbl->ComputeLength(this,A,B)
|
---|
1256 | #define ID2D1Geometry_ComputePointAtLength(this,A,B,C,D) (this)->lpVtbl->ComputePointAtLength(this,A,B,C,D)
|
---|
1257 | #define ID2D1Geometry_FillContainsPoint(this,A,B,C) (this)->lpVtbl->FillContainsPoint(this,A,B,C)
|
---|
1258 | #define ID2D1Geometry_GetBounds(this,A,B) (this)->lpVtbl->GetBounds(this,A,B)
|
---|
1259 | #define ID2D1Geometry_GetWidenedBounds(this,A,B,C,D) (this)->lpVtbl->GetWidenedBounds(this,A,B,C,D)
|
---|
1260 | #define ID2D1Geometry_Outline(this,A,B) (this)->lpVtbl->Outline(this,A,B)
|
---|
1261 | #define ID2D1Geometry_StrokeContainsPoint(this,A,B,C,D,E) (this)->lpVtbl->StrokeContainsPoint(this,A,B,C,D,E)
|
---|
1262 | #define ID2D1Geometry_Simplify(this,A,B,C) (this)->lpVtbl->Simplify(this,A,B,C)
|
---|
1263 | #define ID2D1Geometry_Tessellate(this,A,B) (this)->lpVtbl->Tessellate(this,A,B)
|
---|
1264 | #define ID2D1Geometry_Widen(this,A,B,C,D) (this)->lpVtbl->Widen(this,A,B,C,D)
|
---|
1265 |
|
---|
1266 | #endif
|
---|
1267 |
|
---|
1268 | DEFINE_GUID(IID_ID2D1BitmapRenderTarget, 0x2cd90695,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1269 |
|
---|
1270 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1271 |
|
---|
1272 | interface ID2D1BitmapRenderTarget : public ID2D1RenderTarget {
|
---|
1273 | STDMETHOD(GetBitmap)(ID2D1Bitmap **bitmap) PURE;
|
---|
1274 | };
|
---|
1275 |
|
---|
1276 | #else
|
---|
1277 |
|
---|
1278 | typedef struct ID2D1BitmapRenderTargetVtbl {
|
---|
1279 | ID2D1RenderTargetVtbl Base;
|
---|
1280 |
|
---|
1281 | STDMETHOD(GetBitmap)(ID2D1BitmapRenderTarget *This, ID2D1Bitmap **bitmap) PURE;
|
---|
1282 | } ID2D1BitmapRenderTargetVtbl;
|
---|
1283 |
|
---|
1284 | interface ID2D1BitmapRenderTarget {
|
---|
1285 | const ID2D1BitmapRenderTargetVtbl *lpVtbl;
|
---|
1286 | };
|
---|
1287 |
|
---|
1288 | #define ID2D1BitmapRenderTarget_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1289 | #define ID2D1BitmapRenderTarget_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
1290 | #define ID2D1BitmapRenderTarget_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
1291 | #define ID2D1BitmapRenderTarget_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1292 | #define ID2D1BitmapRenderTarget_BeginDraw(this) (this)->lpVtbl->Base.BeginDraw((ID2D1RenderTarget*)(this))
|
---|
1293 | #define ID2D1BitmapRenderTarget_Clear(this,A) (this)->lpVtbl->Base.Clear((ID2D1RenderTarget*)(this),A)
|
---|
1294 | #define ID2D1BitmapRenderTarget_CreateBitmap(this,A,B,C,D,E) (this)->lpVtbl->Base.CreateBitmap((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1295 | #define ID2D1BitmapRenderTarget_CreateBitmapBrush(this,A,B) (this)->lpVtbl->Base.CreateBitmapBrush((ID2D1RenderTarget*)(this),A,B)
|
---|
1296 | #define ID2D1BitmapRenderTarget_CreateBitmapFromWicBitmap(this,A,B,C) (this)->lpVtbl->Base.CreateBitmapFromWicBitmap((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1297 | #define ID2D1BitmapRenderTarget_CreateCompatibleBitmapRenderTarget(this,A,B,C,D,E) (this)->lpVtbl->Base.CreateCompatibleBitmapRenderTarget((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1298 | #define ID2D1BitmapRenderTarget_CreateGradientStopCollection(this,A,B,C) (this)->lpVtbl->Base.CreateGradientStopCollection((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1299 | #define ID2D1BitmapRenderTarget_CreateLayer(this,A,B) (this)->lpVtbl->Base.CreateLayer((ID2D1RenderTarget*)(this),A,B)
|
---|
1300 | #define ID2D1BitmapRenderTarget_CreateLinearGradientBrush(this,A,B,C,D) (this)->lpVtbl->Base.CreateLinearGradientBrush((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1301 | #define ID2D1BitmapRenderTarget_CreateMesh(this,A) (this)->lpVtbl->Base.CreateMesh((ID2D1RenderTarget*)(this),A)
|
---|
1302 | #define ID2D1BitmapRenderTarget_CreateRadialGradientBrush(this,A,B,C,D) (this)->lpVtbl->Base.CreateRadialGradientBrush((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1303 | #define ID2D1BitmapRenderTarget_CreateSharedBitmap(this,A,B,C,D) (this)->lpVtbl->Base.CreateSharedBitmap((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1304 | #define ID2D1BitmapRenderTarget_CreateSolidColorBrush(this,A,B,C) (this)->lpVtbl->Base.CreateSolidColorBrush((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1305 | #define ID2D1BitmapRenderTarget_DrawBitmap(this,A,B,C,D,E) (this)->lpVtbl->Base.DrawBitmap((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1306 | #define ID2D1BitmapRenderTarget_DrawEllipse(this,A,B,C,D) (this)->lpVtbl->Base.DrawEllipse((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1307 | #define ID2D1BitmapRenderTarget_DrawGeometry(this,A,B,C,D) (this)->lpVtbl->Base.DrawGeometry((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1308 | #define ID2D1BitmapRenderTarget_DrawGlyphRun(this,A,B,C,D) (this)->lpVtbl->Base.DrawGlyphRun((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1309 | #define ID2D1BitmapRenderTarget_DrawLine(this,A,B,C,D,E) (this)->lpVtbl->Base.DrawLine((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1310 | #define ID2D1BitmapRenderTarget_DrawRectangle(this,A,B,C,D) (this)->lpVtbl->Base.DrawRectangle((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1311 | #define ID2D1BitmapRenderTarget_DrawRoundedRectangle(this,A,B,C,D) (this)->lpVtbl->Base.DrawRoundedRectangle((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1312 | #define ID2D1BitmapRenderTarget_DrawText(this,A,B,C,D,E,F,G) (this)->lpVtbl->Base.DrawText((ID2D1RenderTarget*)(this),A,B,C,D,E,F,G)
|
---|
1313 | #define ID2D1BitmapRenderTarget_DrawTextLayout(this,A,B,C,D) (this)->lpVtbl->Base.DrawTextLayout((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1314 | #define ID2D1BitmapRenderTarget_EndDraw(this,A,B) (this)->lpVtbl->Base.EndDraw((ID2D1RenderTarget*)(this),A,B)
|
---|
1315 | #define ID2D1BitmapRenderTarget_FillEllipse(this,A,B) (this)->lpVtbl->Base.FillEllipse((ID2D1RenderTarget*)(this),A,B)
|
---|
1316 | #define ID2D1BitmapRenderTarget_FillGeometry(this,A,B,C) (this)->lpVtbl->Base.FillGeometry((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1317 | #define ID2D1BitmapRenderTarget_FillMesh(this,A,B) (this)->lpVtbl->Base.FillMesh((ID2D1RenderTarget*)(this),A,B)
|
---|
1318 | #define ID2D1BitmapRenderTarget_FillOpacityMask(this,A,B,C,D,E) (this)->lpVtbl->Base.FillOpacityMask((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1319 | #define ID2D1BitmapRenderTarget_FillRectangle(this,A,B) (this)->lpVtbl->Base.FillRectangle((ID2D1RenderTarget*)(this),A,B)
|
---|
1320 | #define ID2D1BitmapRenderTarget_FillRoundedRectangle(this,A,B) (this)->lpVtbl->Base.FillRoundedRectangle((ID2D1RenderTarget*)(this),A,B)
|
---|
1321 | #define ID2D1BitmapRenderTarget_Flush(this,A,B) (this)->lpVtbl->Base.Flush((ID2D1RenderTarget*)(this),A,B)
|
---|
1322 | #define ID2D1BitmapRenderTarget_GetAntialiasMode(this) (this)->lpVtbl->Base.GetAntialiasMode((ID2D1RenderTarget*)(this))
|
---|
1323 | #define ID2D1BitmapRenderTarget_GetDpi(this,A,B) (this)->lpVtbl->Base.GetDpi((ID2D1RenderTarget*)(this),A,B)
|
---|
1324 | #define ID2D1BitmapRenderTarget_GetMaximumBitmapSize(this) (this)->lpVtbl->Base.GetMaximumBitmapSize((ID2D1RenderTarget*)(this))
|
---|
1325 | #define ID2D1BitmapRenderTarget_GetPixelFormat(this) (this)->lpVtbl->Base.GetPixelFormat((ID2D1RenderTarget*)(this))
|
---|
1326 | #define ID2D1BitmapRenderTarget_GetPixelSize(this) (this)->lpVtbl->Base.GetPixelSize((ID2D1RenderTarget*)(this))
|
---|
1327 | #define ID2D1BitmapRenderTarget_GetSize(this) (this)->lpVtbl->Base.GetSize((ID2D1RenderTarget*)(this))
|
---|
1328 | #define ID2D1BitmapRenderTarget_GetTags(this,A,B) (this)->lpVtbl->Base.GetTags((ID2D1RenderTarget*)(this),A,B)
|
---|
1329 | #define ID2D1BitmapRenderTarget_GetTextAntialiasMode(this) (this)->lpVtbl->Base.GetTextAntialiasMode((ID2D1RenderTarget*)(this))
|
---|
1330 | #define ID2D1BitmapRenderTarget_GetTextRenderingParams(this,A) (this)->lpVtbl->Base.GetTextRenderingParams((ID2D1RenderTarget*)(this),A)
|
---|
1331 | #define ID2D1BitmapRenderTarget_GetTransform(this,A) (this)->lpVtbl->Base.GetTransform((ID2D1RenderTarget*)(this),A)
|
---|
1332 | #define ID2D1BitmapRenderTarget_IsSupported(this,A) (this)->lpVtbl->Base.IsSupported((ID2D1RenderTarget*)(this),A)
|
---|
1333 | #define ID2D1BitmapRenderTarget_PopAxisAlignedClip(this) (this)->lpVtbl->Base.PopAxisAlignedClip((ID2D1RenderTarget*)(this))
|
---|
1334 | #define ID2D1BitmapRenderTarget_PopLayer(this) (this)->lpVtbl->Base.PopLayer((ID2D1RenderTarget*)(this))
|
---|
1335 | #define ID2D1BitmapRenderTarget_PushAxisAlignedClip(this,A,B) (this)->lpVtbl->Base.PushAxisAlignedClip((ID2D1RenderTarget*)(this),A,B)
|
---|
1336 | #define ID2D1BitmapRenderTarget_PushLayer(this,A,B) (this)->lpVtbl->Base.PushLayer((ID2D1RenderTarget*)(this),A,B)
|
---|
1337 | #define ID2D1BitmapRenderTarget_RestoreDrawingState(this,A) (this)->lpVtbl->Base.RestoreDrawingState((ID2D1RenderTarget*)(this),A)
|
---|
1338 | #define ID2D1BitmapRenderTarget_SaveDrawingState(this,A) (this)->lpVtbl->Base.SaveDrawingState((ID2D1RenderTarget*)(this),A)
|
---|
1339 | #define ID2D1BitmapRenderTarget_SetAntialiasMode(this,A) (this)->lpVtbl->Base.SetAntialiasMode((ID2D1RenderTarget*)(this),A)
|
---|
1340 | #define ID2D1BitmapRenderTarget_SetDpi(this,A,B) (this)->lpVtbl->Base.SetDpi((ID2D1RenderTarget*)(this),A,B)
|
---|
1341 | #define ID2D1BitmapRenderTarget_SetTags(this,A,B) (this)->lpVtbl->Base.SetTags((ID2D1RenderTarget*)(this),A,B)
|
---|
1342 | #define ID2D1BitmapRenderTarget_SetTextAntialiasMode(this,A) (this)->lpVtbl->Base.SetTextAntialiasMode((ID2D1RenderTarget*)(this),A)
|
---|
1343 | #define ID2D1BitmapRenderTarget_SetTextRenderingParams(this,A) (this)->lpVtbl->Base.SetTextRenderingParams((ID2D1RenderTarget*)(this),A)
|
---|
1344 | #define ID2D1BitmapRenderTarget_SetTransform(this,A) (this)->lpVtbl->Base.SetTransform((ID2D1RenderTarget*)(this),A)
|
---|
1345 | #define ID2D1BitmapRenderTarget_GetBitmap(this,A) (this)->lpVtbl->GetBitmap(this,A)
|
---|
1346 |
|
---|
1347 | #endif
|
---|
1348 |
|
---|
1349 | DEFINE_GUID(IID_ID2D1DCRenderTarget, 0x1c51bc64,0xde61,0x46fd,0x98,0x99,0x63,0xa5,0xd8,0xf0,0x39,0x50);
|
---|
1350 |
|
---|
1351 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1352 |
|
---|
1353 | interface ID2D1DCRenderTarget : public ID2D1RenderTarget {
|
---|
1354 | STDMETHOD(BindDC)(const HDC hDC, const RECT *pSubRect) PURE;
|
---|
1355 | };
|
---|
1356 |
|
---|
1357 | #else
|
---|
1358 |
|
---|
1359 | typedef struct ID2D1DCRenderTargetVtbl {
|
---|
1360 | ID2D1RenderTargetVtbl Base;
|
---|
1361 |
|
---|
1362 | STDMETHOD(BindDC)(ID2D1DCRenderTarget *This, const HDC hDC, const RECT *pSubRect) PURE;
|
---|
1363 | } ID2D1DCRenderTargetVtbl;
|
---|
1364 |
|
---|
1365 | interface ID2D1DCRenderTarget
|
---|
1366 | {
|
---|
1367 | const ID2D1DCRenderTargetVtbl *lpVtbl;
|
---|
1368 | };
|
---|
1369 |
|
---|
1370 | #define ID2D1DCRenderTarget_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1371 | #define ID2D1DCRenderTarget_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
1372 | #define ID2D1DCRenderTarget_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
1373 | #define ID2D1DCRenderTarget_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1374 | #define ID2D1DCRenderTarget_BeginDraw(this) (this)->lpVtbl->Base.BeginDraw((ID2D1RenderTarget*)(this))
|
---|
1375 | #define ID2D1DCRenderTarget_Clear(this,A) (this)->lpVtbl->Base.Clear((ID2D1RenderTarget*)(this),A)
|
---|
1376 | #define ID2D1DCRenderTarget_CreateBitmap(this,A,B,C,D,E) (this)->lpVtbl->Base.CreateBitmap((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1377 | #define ID2D1DCRenderTarget_CreateBitmapBrush(this,A,B) (this)->lpVtbl->Base.CreateBitmapBrush((ID2D1RenderTarget*)(this),A,B)
|
---|
1378 | #define ID2D1DCRenderTarget_CreateBitmapFromWicBitmap(this,A,B,C) (this)->lpVtbl->Base.CreateBitmapFromWicBitmap((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1379 | #define ID2D1DCRenderTarget_CreateCompatibleRenderTarget(this,A,B,C,D,E) (this)->lpVtbl->Base.CreateCompatibleRenderTarget((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1380 | #define ID2D1DCRenderTarget_CreateGradientStopCollection(this,A,B,C) (this)->lpVtbl->Base.CreateGradientStopCollection((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1381 | #define ID2D1DCRenderTarget_CreateLayer(this,A,B) (this)->lpVtbl->Base.CreateLayer((ID2D1RenderTarget*)(this),A,B)
|
---|
1382 | #define ID2D1DCRenderTarget_CreateLinearGradientBrush(this,A,B,C,D) (this)->lpVtbl->Base.CreateLinearGradientBrush((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1383 | #define ID2D1DCRenderTarget_CreateMesh(this,A) (this)->lpVtbl->Base.CreateMesh((ID2D1RenderTarget*)(this),A)
|
---|
1384 | #define ID2D1DCRenderTarget_CreateRadialGradientBrush(this,A,B,C,D) (this)->lpVtbl->Base.CreateRadialGradientBrush((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1385 | #define ID2D1DCRenderTarget_CreateSharedBitmap(this,A,B,C,D) (this)->lpVtbl->Base.CreateSharedBitmap((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1386 | #define ID2D1DCRenderTarget_CreateSolidColorBrush(this,A,B,C) (this)->lpVtbl->Base.CreateSolidColorBrush((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1387 | #define ID2D1DCRenderTarget_DrawBitmap(this,A,B,C,D,E) (this)->lpVtbl->Base.DrawBitmap((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1388 | #define ID2D1DCRenderTarget_DrawEllipse(this,A,B,C,D) (this)->lpVtbl->Base.DrawEllipse((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1389 | #define ID2D1DCRenderTarget_DrawGeometry(this,A,B,C,D) (this)->lpVtbl->Base.DrawGeometry((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1390 | #define ID2D1DCRenderTarget_DrawGlyphRun(this,A,B,C,D) (this)->lpVtbl->Base.DrawGlyphRun((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1391 | #define ID2D1DCRenderTarget_DrawLine(this,A,B,C,D,E) (this)->lpVtbl->Base.DrawLine((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1392 | #define ID2D1DCRenderTarget_DrawRectangle(this,A,B,C,D) (this)->lpVtbl->Base.DrawRectangle((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1393 | #define ID2D1DCRenderTarget_DrawRoundedRectangle(this,A,B,C,D) (this)->lpVtbl->Base.DrawRoundedRectangle((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1394 | #define ID2D1DCRenderTarget_DrawText(this,A,B,C,D,E,F,G) (this)->lpVtbl->Base.DrawText((ID2D1RenderTarget*)(this),A,B,C,D,E,F,G)
|
---|
1395 | #define ID2D1DCRenderTarget_DrawTextLayout(this,A,B,C,D) (this)->lpVtbl->Base.DrawTextLayout((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1396 | #define ID2D1DCRenderTarget_EndDraw(this,A,B) (this)->lpVtbl->Base.EndDraw((ID2D1RenderTarget*)(this),A,B)
|
---|
1397 | #define ID2D1DCRenderTarget_FillEllipse(this,A,B) (this)->lpVtbl->Base.FillEllipse((ID2D1RenderTarget*)(this),A,B)
|
---|
1398 | #define ID2D1DCRenderTarget_FillGeometry(this,A,B,C) (this)->lpVtbl->Base.FillGeometry((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1399 | #define ID2D1DCRenderTarget_FillMesh(this,A,B) (this)->lpVtbl->Base.FillMesh((ID2D1RenderTarget*)(this),A,B)
|
---|
1400 | #define ID2D1DCRenderTarget_FillOpacityMask(this,A,B,C,D,E) (this)->lpVtbl->Base.FillOpacityMask((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1401 | #define ID2D1DCRenderTarget_FillRectangle(this,A,B) (this)->lpVtbl->Base.FillRectangle((ID2D1RenderTarget*)(this),A,B)
|
---|
1402 | #define ID2D1DCRenderTarget_FillRoundedRectangle(this,A,B) (this)->lpVtbl->Base.FillRoundedRectangle((ID2D1RenderTarget*)(this),A,B)
|
---|
1403 | #define ID2D1DCRenderTarget_Flush(this,A,B) (this)->lpVtbl->Base.Flush((ID2D1RenderTarget*)(this),A,B)
|
---|
1404 | #define ID2D1DCRenderTarget_GetAntialiasMode(this) (this)->lpVtbl->Base.GetAntialiasMode((ID2D1RenderTarget*)(this))
|
---|
1405 | #define ID2D1DCRenderTarget_GetDpi(this,A,B) (this)->lpVtbl->Base.GetDpi((ID2D1RenderTarget*)(this),A,B)
|
---|
1406 | #define ID2D1DCRenderTarget_GetMaximumBitmapSize(this) (this)->lpVtbl->Base.GetMaximumBitmapSize((ID2D1RenderTarget*)(this))
|
---|
1407 | #define ID2D1DCRenderTarget_GetPixelFormat(this) (this)->lpVtbl->Base.GetPixelFormat((ID2D1RenderTarget*)(this))
|
---|
1408 | #define ID2D1DCRenderTarget_GetPixelSize(this) (this)->lpVtbl->Base.GetPixelSize((ID2D1RenderTarget*)(this))
|
---|
1409 | #define ID2D1DCRenderTarget_GetSize(this) (this)->lpVtbl->Base.GetSize((ID2D1RenderTarget*)(this))
|
---|
1410 | #define ID2D1DCRenderTarget_GetTags(this,A,B) (this)->lpVtbl->Base.GetTags((ID2D1RenderTarget*)(this),A,B)
|
---|
1411 | #define ID2D1DCRenderTarget_GetTextAntialiasMode(this) (this)->lpVtbl->Base.GetTextAntialiasMode((ID2D1RenderTarget*)(this))
|
---|
1412 | #define ID2D1DCRenderTarget_GetTextRenderingParams(this,A) (this)->lpVtbl->Base.GetTextRenderingParams((ID2D1RenderTarget*)(this),A)
|
---|
1413 | #define ID2D1DCRenderTarget_GetTransform(this,A) (this)->lpVtbl->Base.GetTransform((ID2D1RenderTarget*)(this),A)
|
---|
1414 | #define ID2D1DCRenderTarget_IsSupported(this,A) (this)->lpVtbl->Base.IsSupported((ID2D1RenderTarget*)(this),A)
|
---|
1415 | #define ID2D1DCRenderTarget_PopAxisAlignedClip(this) (this)->lpVtbl->Base.PopAxisAlignedClip((ID2D1RenderTarget*)(this))
|
---|
1416 | #define ID2D1DCRenderTarget_PopLayer(this) (this)->lpVtbl->Base.PopLayer((ID2D1RenderTarget*)(this))
|
---|
1417 | #define ID2D1DCRenderTarget_PushAxisAlignedClip(this,A,B) (this)->lpVtbl->Base.PushAxisAlignedClip((ID2D1RenderTarget*)(this),A,B)
|
---|
1418 | #define ID2D1DCRenderTarget_PushLayer(this,A,B) (this)->lpVtbl->Base.PushLayer((ID2D1RenderTarget*)(this),A,B)
|
---|
1419 | #define ID2D1DCRenderTarget_RestoreDrawingState(this,A) (this)->lpVtbl->Base.RestoreDrawingState((ID2D1RenderTarget*)(this),A)
|
---|
1420 | #define ID2D1DCRenderTarget_SaveDrawingState(this,A) (this)->lpVtbl->Base.SaveDrawingState((ID2D1RenderTarget*)(this),A)
|
---|
1421 | #define ID2D1DCRenderTarget_SetAntialiasMode(this,A) (this)->lpVtbl->Base.SetAntialiasMode((ID2D1RenderTarget*)(this),A)
|
---|
1422 | #define ID2D1DCRenderTarget_SetDpi(this,A,B) (this)->lpVtbl->Base.SetDpi((ID2D1RenderTarget*)(this),A,B)
|
---|
1423 | #define ID2D1DCRenderTarget_SetTags(this,A,B) (this)->lpVtbl->Base.SetTags((ID2D1RenderTarget*)(this),A,B)
|
---|
1424 | #define ID2D1DCRenderTarget_SetTextAntialiasMode(this,A) (this)->lpVtbl->Base.SetTextAntialiasMode((ID2D1RenderTarget*)(this),A)
|
---|
1425 | #define ID2D1DCRenderTarget_SetTextRenderingParams(this,A) (this)->lpVtbl->Base.SetTextRenderingParams((ID2D1RenderTarget*)(this),A)
|
---|
1426 | #define ID2D1DCRenderTarget_SetTransform(this,A) (this)->lpVtbl->Base.SetTransform((ID2D1RenderTarget*)(this),A)
|
---|
1427 | #define ID2D1DCRenderTarget_BindDC(this,A,B) (this)->lpVtbl->BindDC(this,A,B)
|
---|
1428 |
|
---|
1429 | #endif
|
---|
1430 |
|
---|
1431 | DEFINE_GUID(IID_ID2D1DrawingStateBlock, 0x28506e39,0xebf6,0x46a1,0xbb,0x47,0xfd,0x85,0x56,0x5a,0xb9,0x57);
|
---|
1432 |
|
---|
1433 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1434 |
|
---|
1435 | interface ID2D1DrawingStateBlock : public ID2D1Resource {
|
---|
1436 | STDMETHOD_(void, GetDescription)(D2D1_DRAWING_STATE_DESCRIPTION *stateDescription) const PURE;
|
---|
1437 | STDMETHOD_(void, SetDescription)(const D2D1_DRAWING_STATE_DESCRIPTION *stateDescription) PURE;
|
---|
1438 | STDMETHOD_(void, SetTextRenderingParams)(IDWriteRenderingParams *textRenderingParams = NULL) PURE;
|
---|
1439 | STDMETHOD_(void, GetTextRenderingParams)(IDWriteRenderingParams **textRenderingParams) const PURE;
|
---|
1440 |
|
---|
1441 | void SetDescription(const D2D1_DRAWING_STATE_DESCRIPTION &stateDescription) {
|
---|
1442 | SetDescription(&stateDescription);
|
---|
1443 | }
|
---|
1444 | };
|
---|
1445 |
|
---|
1446 | #else
|
---|
1447 |
|
---|
1448 | typedef struct ID2D1DrawingStateBlockVtbl {
|
---|
1449 | ID2D1ResourceVtbl Base;
|
---|
1450 |
|
---|
1451 | STDMETHOD_(void, GetDescription)(ID2D1DrawingStateBlock *This, D2D1_DRAWING_STATE_DESCRIPTION *stateDescription) PURE;
|
---|
1452 | STDMETHOD_(void, SetDescription)(ID2D1DrawingStateBlock *This, const D2D1_DRAWING_STATE_DESCRIPTION *stateDescription) PURE;
|
---|
1453 | STDMETHOD_(void, SetTextRenderingParams)(ID2D1DrawingStateBlock *This, IDWriteRenderingParams *textRenderingParams) PURE;
|
---|
1454 | STDMETHOD_(void, GetTextRenderingParams)(ID2D1DrawingStateBlock *This, IDWriteRenderingParams **textRenderingParams) PURE;
|
---|
1455 | } ID2D1DrawingStateBlockVtbl;
|
---|
1456 |
|
---|
1457 | interface ID2D1DrawingStateBlock {
|
---|
1458 | const struct ID2D1DrawingStateBlockVtbl *lpVtbl;
|
---|
1459 | };
|
---|
1460 |
|
---|
1461 | #define ID2D1DrawingStateBlock_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1462 | #define ID2D1DrawingStateBlock_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
1463 | #define ID2D1DrawingStateBlock_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
1464 | #define ID2D1DrawingStateBlock_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1465 | #define ID2D1DrawingStateBlock_GetDescription(this,A) (this)->lpVtbl->GetDescription(this,A)
|
---|
1466 | #define ID2D1DrawingStateBlock_GetTextRenderingParams(this,A) (this)->lpVtbl->GetTextRenderingParams(this,A)
|
---|
1467 | #define ID2D1DrawingStateBlock_SetDescription(this,A) (this)->lpVtbl->SetDescription(this,A)
|
---|
1468 | #define ID2D1DrawingStateBlock_SetTextRenderingParams(this,A) (this)->lpVtbl->SetTextRenderingParams(this,A)
|
---|
1469 |
|
---|
1470 | #endif
|
---|
1471 |
|
---|
1472 | DEFINE_GUID(IID_ID2D1SimplifiedGeometrySink, 0x2cd9069e,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1473 |
|
---|
1474 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1475 |
|
---|
1476 | interface ID2D1SimplifiedGeometrySink : public IUnknown {
|
---|
1477 | STDMETHOD_(void, SetFillMode)(D2D1_FILL_MODE fillMode) PURE;
|
---|
1478 | STDMETHOD_(void, SetSegmentFlags)(D2D1_PATH_SEGMENT vertexFlags) PURE;
|
---|
1479 | STDMETHOD_(void, BeginFigure)(D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin) PURE;
|
---|
1480 | STDMETHOD_(void, AddLines)(const D2D1_POINT_2F *points, UINT pointsCount) PURE;
|
---|
1481 | STDMETHOD_(void, AddBeziers)(const D2D1_BEZIER_SEGMENT *beziers, UINT beziersCount) PURE;
|
---|
1482 | STDMETHOD_(void, EndFigure)(D2D1_FIGURE_END figureEnd) PURE;
|
---|
1483 | STDMETHOD(Close)(void) PURE;
|
---|
1484 | };
|
---|
1485 |
|
---|
1486 | #else
|
---|
1487 |
|
---|
1488 | typedef struct ID2D1SimplifiedGeometrySinkVtbl {
|
---|
1489 | IUnknownVtbl Base;
|
---|
1490 |
|
---|
1491 | STDMETHOD_(void, SetFillMode)(ID2D1SimplifiedGeometrySink *This, D2D1_FILL_MODE fillMode) PURE;
|
---|
1492 | STDMETHOD_(void, SetSegmentFlags)(ID2D1SimplifiedGeometrySink *This, D2D1_PATH_SEGMENT vertexFlags) PURE;
|
---|
1493 | STDMETHOD_(void, BeginFigure)(ID2D1SimplifiedGeometrySink *This, D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin) PURE;
|
---|
1494 | STDMETHOD_(void, AddLines)(ID2D1SimplifiedGeometrySink *This, const D2D1_POINT_2F *points, UINT pointsCount) PURE;
|
---|
1495 | STDMETHOD_(void, AddBeziers)(ID2D1SimplifiedGeometrySink *This, const D2D1_BEZIER_SEGMENT *beziers, UINT beziersCount) PURE;
|
---|
1496 | STDMETHOD_(void, EndFigure)(ID2D1SimplifiedGeometrySink *This, D2D1_FIGURE_END figureEnd) PURE;
|
---|
1497 | STDMETHOD(Close)(ID2D1SimplifiedGeometrySink *This) PURE;
|
---|
1498 | } ID2D1SimplifiedGeometrySinkVtbl;
|
---|
1499 |
|
---|
1500 | interface ID2D1SimplifiedGeometrySink {
|
---|
1501 | const ID2D1SimplifiedGeometrySinkVtbl *lpVtbl;
|
---|
1502 | };
|
---|
1503 |
|
---|
1504 | #define ID2D1SimplifiedGeometrySink_QueryInterface(this,A,B) (this)->lpVtbl->Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1505 | #define ID2D1SimplifiedGeometrySink_AddRef(this) (this)->lpVtbl->Base.AddRef((IUnknown*)(this))
|
---|
1506 | #define ID2D1SimplifiedGeometrySink_Release(this) (this)->lpVtbl->Base.Release((IUnknown*)(this))
|
---|
1507 | #define ID2D1SimplifiedGeometrySink_SetFillMode(this,A) (this)->lpVtbl->SetFillMode(this,A)
|
---|
1508 | #define ID2D1SimplifiedGeometrySink_SetSegmentFlags(this,A) (this)->lpVtbl->SetSegmentFlags(this,A)
|
---|
1509 | #define ID2D1SimplifiedGeometrySink_BeginFigure(this,A,B) (this)->lpVtbl->BeginFigure(this,A,B)
|
---|
1510 | #define ID2D1SimplifiedGeometrySink_AddLines(this,A,B) (this)->lpVtbl->AddLines(this,A,B)
|
---|
1511 | #define ID2D1SimplifiedGeometrySink_AddBeziers(this,A,B) (this)->lpVtbl->AddBeziers(this,A,B)
|
---|
1512 | #define ID2D1SimplifiedGeometrySink_EndFigure(this,A) (this)->lpVtbl->EndFigure(this,A)
|
---|
1513 | #define ID2D1SimplifiedGeometrySink_Close(this) (this)->lpVtbl->Close(this)
|
---|
1514 |
|
---|
1515 | #endif
|
---|
1516 |
|
---|
1517 | DEFINE_GUID(IID_ID2D1EllipseGeometry, 0x2cd906a4,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1518 |
|
---|
1519 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1520 |
|
---|
1521 | interface ID2D1EllipseGeometry : public ID2D1Geometry {
|
---|
1522 | STDMETHOD_(void, GetEllipse)(D2D1_ELLIPSE *ellipse) const PURE;
|
---|
1523 | };
|
---|
1524 |
|
---|
1525 | #else
|
---|
1526 |
|
---|
1527 | typedef struct ID2D1EllipseGeometryVtbl {
|
---|
1528 | ID2D1GeometryVtbl Base;
|
---|
1529 |
|
---|
1530 | STDMETHOD_(void, GetEllipse)(ID2D1EllipseGeometry *This, D2D1_ELLIPSE *ellipse) PURE;
|
---|
1531 | } ID2D1EllipseGeometryVtbl;
|
---|
1532 |
|
---|
1533 | interface ID2D1EllipseGeometry {
|
---|
1534 | const struct ID2D1EllipseGeometryVtbl *lpVtbl;
|
---|
1535 | };
|
---|
1536 |
|
---|
1537 | #define ID2D1EllipseGeometry_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1538 | #define ID2D1EllipseGeometry_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
1539 | #define ID2D1EllipseGeometry_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
1540 | #define ID2D1EllipseGeometry_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1541 | #define ID2D1EllipseGeometry_CombineWithGeometry(this,A,B,C,D) (this)->lpVtbl->Base.CombineWithGeometry((ID2D1Geometry*)(this),A,B,C,D)
|
---|
1542 | #define ID2D1EllipseGeometry_CompareWithGeometry(this,A,B,C) (this)->lpVtbl->Base.CompareWithGeometry((ID2D1Geometry*)(this),A,B,C)
|
---|
1543 | #define ID2D1EllipseGeometry_ComputeArea(this,A,B) (this)->lpVtbl->Base.ComputeArea((ID2D1Geometry*)(this),A,B)
|
---|
1544 | #define ID2D1EllipseGeometry_ComputeLength(this,A,B) (this)->lpVtbl->Base.ComputeLength((ID2D1Geometry*)(this),A,B)
|
---|
1545 | #define ID2D1EllipseGeometry_ComputePointAtLength(this,A,B,C,D) (this)->lpVtbl->Base.ComputePointAtLength((ID2D1Geometry*)(this),A,B,C,D)
|
---|
1546 | #define ID2D1EllipseGeometry_FillContainsPoint(this,A,B,C) (this)->lpVtbl->Base.FillContainsPoint((ID2D1Geometry*)(this),A,B,C)
|
---|
1547 | #define ID2D1EllipseGeometry_GetBounds(this,A,B) (this)->lpVtbl->Base.GetBounds((ID2D1Geometry*)(this),A,B)
|
---|
1548 | #define ID2D1EllipseGeometry_GetWidenedBounds(this,A,B,C,D) (this)->lpVtbl->Base.GetWidenedBounds((ID2D1Geometry*)(this),A,B,C,D)
|
---|
1549 | #define ID2D1EllipseGeometry_Outline(this,A,B) (this)->lpVtbl->Base.Outline((ID2D1Geometry*)(this),A,B)
|
---|
1550 | #define ID2D1EllipseGeometry_StrokeContainsPoint(this,A,B,C,D,E) (this)->lpVtbl->Base.StrokeContainsPoint((ID2D1Geometry*)(this),A,B,C,D,E)
|
---|
1551 | #define ID2D1EllipseGeometry_Simplify(this,A,B,C) (this)->lpVtbl->Base.Simplify((ID2D1Geometry*)(this),A,B,C)
|
---|
1552 | #define ID2D1EllipseGeometry_Tessellate(this,A,B) (this)->lpVtbl->Base.Tessellate((ID2D1Geometry*)(this),A,B)
|
---|
1553 | #define ID2D1EllipseGeometry_Widen(this,A,B,C,D) (this)->lpVtbl->Base.Widen((ID2D1Geometry*)(this),A,B,C,D)
|
---|
1554 | #define ID2D1EllipseGeometry_GetEllipse(this,A) (this)->lpVtbl->GetEllipse(this,A)
|
---|
1555 |
|
---|
1556 | #endif
|
---|
1557 |
|
---|
1558 | DEFINE_GUID(IID_ID2D1Factory, 0x06152247,0x6f50,0x465a,0x92,0x45,0x11,0x8b,0xfd,0x3b,0x60,0x07);
|
---|
1559 |
|
---|
1560 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1561 |
|
---|
1562 | interface ID2D1Factory : public IUnknown {
|
---|
1563 | STDMETHOD(ReloadSystemMetrics)(void) PURE;
|
---|
1564 | STDMETHOD_(void, GetDesktopDpi)(FLOAT *dpiX, FLOAT *dpiY) PURE;
|
---|
1565 | STDMETHOD(CreateRectangleGeometry)(const D2D1_RECT_F *rectangle, ID2D1RectangleGeometry **rectangleGeometry) PURE;
|
---|
1566 | STDMETHOD(CreateRoundedRectangleGeometry)(const D2D1_ROUNDED_RECT *roundedRectangle, ID2D1RoundedRectangleGeometry **roundedRectangleGeometry) PURE;
|
---|
1567 | STDMETHOD(CreateEllipseGeometry)(const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **ellipseGeometry) PURE;
|
---|
1568 | STDMETHOD(CreateGeometryGroup)(D2D1_FILL_MODE fillMode, ID2D1Geometry **geometries, UINT geometriesCount, ID2D1GeometryGroup **geometryGroup) PURE;
|
---|
1569 | STDMETHOD(CreateTransformedGeometry)(ID2D1Geometry *sourceGeometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformedGeometry) PURE;
|
---|
1570 | STDMETHOD(CreatePathGeometry)(ID2D1PathGeometry **pathGeometry) PURE;
|
---|
1571 | STDMETHOD(CreateStrokeStyle)(const D2D1_STROKE_STYLE_PROPERTIES *strokeStyleProperties, const FLOAT *dashes, UINT dashesCount, ID2D1StrokeStyle **strokeStyle) PURE;
|
---|
1572 | STDMETHOD(CreateDrawingStateBlock)(const D2D1_DRAWING_STATE_DESCRIPTION *drawingStateDescription, IDWriteRenderingParams *textRenderingParams, ID2D1DrawingStateBlock **drawingStateBlock) PURE;
|
---|
1573 | STDMETHOD(CreateWicBitmapRenderTarget)(IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1RenderTarget **renderTarget) PURE;
|
---|
1574 | STDMETHOD(CreateHwndRenderTarget)(const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwndRenderTargetProperties, ID2D1HwndRenderTarget **hwndRenderTarget) PURE;
|
---|
1575 | STDMETHOD(CreateDxgiSurfaceRenderTarget)(IDXGISurface *dxgiSurface, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1RenderTarget **renderTarget) PURE;
|
---|
1576 | STDMETHOD(CreateDCRenderTarget)(const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1DCRenderTarget **dcRenderTarget) PURE;
|
---|
1577 |
|
---|
1578 | HRESULT CreateRectangleGeometry(const D2D1_RECT_F &rectangle, ID2D1RectangleGeometry **rectangleGeometry) {
|
---|
1579 | return CreateRectangleGeometry(&rectangle, rectangleGeometry);
|
---|
1580 | }
|
---|
1581 |
|
---|
1582 | HRESULT CreateRoundedRectangleGeometry(const D2D1_ROUNDED_RECT &roundedRectangle, ID2D1RoundedRectangleGeometry **roundedRectangleGeometry) {
|
---|
1583 | return CreateRoundedRectangleGeometry(&roundedRectangle, roundedRectangleGeometry);
|
---|
1584 | }
|
---|
1585 |
|
---|
1586 | HRESULT CreateEllipseGeometry(const D2D1_ELLIPSE &ellipse, ID2D1EllipseGeometry **ellipseGeometry) {
|
---|
1587 | return CreateEllipseGeometry(&ellipse, ellipseGeometry);
|
---|
1588 | }
|
---|
1589 |
|
---|
1590 | HRESULT CreateTransformedGeometry(ID2D1Geometry *sourceGeometry, const D2D1_MATRIX_3X2_F &transform, ID2D1TransformedGeometry **transformedGeometry) {
|
---|
1591 | return CreateTransformedGeometry(sourceGeometry, &transform, transformedGeometry);
|
---|
1592 | }
|
---|
1593 |
|
---|
1594 | HRESULT CreateStrokeStyle(const D2D1_STROKE_STYLE_PROPERTIES &strokeStyleProperties, const FLOAT *dashes, UINT dashesCount, ID2D1StrokeStyle **strokeStyle) {
|
---|
1595 | return CreateStrokeStyle(&strokeStyleProperties, dashes, dashesCount, strokeStyle);
|
---|
1596 | }
|
---|
1597 |
|
---|
1598 | HRESULT CreateDrawingStateBlock(const D2D1_DRAWING_STATE_DESCRIPTION &drawingStateDescription, ID2D1DrawingStateBlock **drawingStateBlock) {
|
---|
1599 | return CreateDrawingStateBlock(&drawingStateDescription, NULL, drawingStateBlock);
|
---|
1600 | }
|
---|
1601 |
|
---|
1602 | HRESULT CreateDrawingStateBlock(ID2D1DrawingStateBlock **drawingStateBlock) {
|
---|
1603 | return CreateDrawingStateBlock(NULL, NULL, drawingStateBlock);
|
---|
1604 | }
|
---|
1605 |
|
---|
1606 | HRESULT CreateWicBitmapRenderTarget(IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES &renderTargetProperties, ID2D1RenderTarget **renderTarget) {
|
---|
1607 | return CreateWicBitmapRenderTarget(target, &renderTargetProperties, renderTarget);
|
---|
1608 | }
|
---|
1609 |
|
---|
1610 | HRESULT CreateHwndRenderTarget(const D2D1_RENDER_TARGET_PROPERTIES &renderTargetProperties, const D2D1_HWND_RENDER_TARGET_PROPERTIES &hwndRenderTargetProperties, ID2D1HwndRenderTarget **hwndRenderTarget) {
|
---|
1611 | return CreateHwndRenderTarget(&renderTargetProperties, &hwndRenderTargetProperties, hwndRenderTarget);
|
---|
1612 | }
|
---|
1613 |
|
---|
1614 | HRESULT CreateDxgiSurfaceRenderTarget(IDXGISurface *dxgiSurface, const D2D1_RENDER_TARGET_PROPERTIES &renderTargetProperties, ID2D1RenderTarget **renderTarget) {
|
---|
1615 | return CreateDxgiSurfaceRenderTarget(dxgiSurface, &renderTargetProperties, renderTarget);
|
---|
1616 | }
|
---|
1617 | };
|
---|
1618 |
|
---|
1619 | #else
|
---|
1620 |
|
---|
1621 | typedef struct ID2D1FactoryVtbl {
|
---|
1622 | IUnknownVtbl Base;
|
---|
1623 |
|
---|
1624 | STDMETHOD(ReloadSystemMetrics)(ID2D1Factory *This) PURE;
|
---|
1625 | STDMETHOD_(void, GetDesktopDpi)(ID2D1Factory *This, FLOAT *dpiX, FLOAT *dpiY) PURE;
|
---|
1626 | STDMETHOD(CreateRectangleGeometry)(ID2D1Factory *This, const D2D1_RECT_F *rectangle, ID2D1RectangleGeometry **rectangleGeometry) PURE;
|
---|
1627 | STDMETHOD(CreateRoundedRectangleGeometry)(ID2D1Factory *This, const D2D1_ROUNDED_RECT *roundedRectangle, ID2D1RoundedRectangleGeometry **roundedRectangleGeometry) PURE;
|
---|
1628 | STDMETHOD(CreateEllipseGeometry)(ID2D1Factory *This, const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **ellipseGeometry) PURE;
|
---|
1629 | STDMETHOD(CreateGeometryGroup)(ID2D1Factory *This, D2D1_FILL_MODE fillMode, ID2D1Geometry **geometries, UINT geometriesCount, ID2D1GeometryGroup **geometryGroup) PURE;
|
---|
1630 | STDMETHOD(CreateTransformedGeometry)(ID2D1Factory *This, ID2D1Geometry *sourceGeometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformedGeometry) PURE;
|
---|
1631 | STDMETHOD(CreatePathGeometry)(ID2D1Factory *This, ID2D1PathGeometry **pathGeometry) PURE;
|
---|
1632 | STDMETHOD(CreateStrokeStyle)(ID2D1Factory *This, const D2D1_STROKE_STYLE_PROPERTIES *strokeStyleProperties, const FLOAT *dashes, UINT dashesCount, ID2D1StrokeStyle **strokeStyle) PURE;
|
---|
1633 | STDMETHOD(CreateDrawingStateBlock)(ID2D1Factory *This, const D2D1_DRAWING_STATE_DESCRIPTION *drawingStateDescription, IDWriteRenderingParams *textRenderingParams, ID2D1DrawingStateBlock **drawingStateBlock) PURE;
|
---|
1634 | STDMETHOD(CreateWicBitmapRenderTarget)(ID2D1Factory *This, IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1RenderTarget **renderTarget) PURE;
|
---|
1635 | STDMETHOD(CreateHwndRenderTarget)(ID2D1Factory *This, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwndRenderTargetProperties, ID2D1HwndRenderTarget **hwndRenderTarget) PURE;
|
---|
1636 | STDMETHOD(CreateDxgiSurfaceRenderTarget)(ID2D1Factory *This, IDXGISurface *dxgiSurface, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1RenderTarget **renderTarget) PURE;
|
---|
1637 | STDMETHOD(CreateDCRenderTarget)(ID2D1Factory *This, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1DCRenderTarget **dcRenderTarget) PURE;
|
---|
1638 | } ID2D1FactoryVtbl;
|
---|
1639 |
|
---|
1640 | interface ID2D1Factory {
|
---|
1641 | const ID2D1FactoryVtbl *lpVtbl;
|
---|
1642 | };
|
---|
1643 |
|
---|
1644 | #define ID2D1Factory_QueryInterface(this,A,B) (this)->lpVtbl->Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1645 | #define ID2D1Factory_AddRef(this) (this)->lpVtbl->Base.AddRef((IUnknown*)(this))
|
---|
1646 | #define ID2D1Factory_Release(this) (this)->lpVtbl->Base.Release((IUnknown*)(this))
|
---|
1647 | #define ID2D1Factory_CreateDCRenderTarget(this,A,B) (this)->lpVtbl->CreateDCRenderTarget(this,A,B)
|
---|
1648 | #define ID2D1Factory_CreateDrawingStateBlock(this,A,B,C) (this)->lpVtbl->CreateDrawingStateBlock(this,A,B,C)
|
---|
1649 | #define ID2D1Factory_CreateDxgiSurfaceRenderTarget(this,A,B,C) (this)->lpVtbl->CreateDxgiSurfaceRenderTarget(this,A,B,C)
|
---|
1650 | #define ID2D1Factory_CreateEllipseGeometry(this,A,B) (this)->lpVtbl->CreateEllipseGeometry(this,A,B)
|
---|
1651 | #define ID2D1Factory_CreateGeometryGroup(this,A,B,C,D) (this)->lpVtbl->CreateGeometryGroup(this,A,B,C,D)
|
---|
1652 | #define ID2D1Factory_CreateHwndRenderTarget(this,A,B,C) (this)->lpVtbl->CreateHwndRenderTarget(this,A,B,C)
|
---|
1653 | #define ID2D1Factory_CreatePathGeometry(this,A) (this)->lpVtbl->CreatePathGeometry(this,A)
|
---|
1654 | #define ID2D1Factory_CreateRectangleGeometry(this,A,B) (this)->lpVtbl->CreateRectangleGeometry(this,A,B)
|
---|
1655 | #define ID2D1Factory_CreateRoundedRectangleGeometry(this,A,B) (this)->lpVtbl->CreateRoundedRectangleGeometry(this,A,B)
|
---|
1656 | #define ID2D1Factory_CreateStrokeStyle(this,A,B,C,D) (this)->lpVtbl->CreateStrokeStyle(this,A,B,C,D)
|
---|
1657 | #define ID2D1Factory_CreateTransformedGeometry(this,A,B,C) (this)->lpVtbl->CreateTransformedGeometry(this,A,B,C)
|
---|
1658 | #define ID2D1Factory_CreateWicBitmapRenderTarget(this,A,B,C) (this)->lpVtbl->CreateWicBitmapRenderTarget(this,A,B,C)
|
---|
1659 | #define ID2D1Factory_GetDesktopDpi(this,A,B) (this)->lpVtbl->GetDesktopDpi(this,A,B)
|
---|
1660 | #define ID2D1Factory_ReloadSystemMetrics(this) (this)->lpVtbl->ReloadSystemMetrics(this)
|
---|
1661 |
|
---|
1662 | #endif
|
---|
1663 |
|
---|
1664 | DEFINE_GUID(IID_ID2D1GdiInteropRenderTarget, 0xe0db51c3,0x6f77,0x4bae,0xb3,0xd5,0xe4,0x75,0x09,0xb3,0x58,0x38);
|
---|
1665 |
|
---|
1666 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1667 |
|
---|
1668 | interface ID2D1GdiInteropRenderTarget : public IUnknown {
|
---|
1669 | STDMETHOD(GetDC)(D2D1_DC_INITIALIZE_MODE mode, HDC *hdc) PURE;
|
---|
1670 | STDMETHOD(ReleaseDC)(const RECT *update) PURE;
|
---|
1671 | };
|
---|
1672 |
|
---|
1673 | #else
|
---|
1674 |
|
---|
1675 | typedef struct ID2D1GdiInteropRenderTargetVtbl {
|
---|
1676 | IUnknownVtbl Base;
|
---|
1677 |
|
---|
1678 | STDMETHOD(GetDC)(ID2D1GdiInteropRenderTarget *This, D2D1_DC_INITIALIZE_MODE mode, HDC *hdc) PURE;
|
---|
1679 | STDMETHOD(ReleaseDC)(ID2D1GdiInteropRenderTarget *This, const RECT *update) PURE;
|
---|
1680 | } ID2D1GdiInteropRenderTargetVtbl;
|
---|
1681 |
|
---|
1682 | interface ID2D1GdiInteropRenderTarget {
|
---|
1683 | const ID2D1GdiInteropRenderTargetVtbl *lpVtbl;
|
---|
1684 | };
|
---|
1685 |
|
---|
1686 | #define ID2D1GdiInteropRenderTarget_QueryInterface(this,A,B) (this)->lpVtbl->Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1687 | #define ID2D1GdiInteropRenderTarget_AddRef(this) (this)->lpVtbl->Base.AddRef((IUnknown*)(this))
|
---|
1688 | #define ID2D1GdiInteropRenderTarget_Release(this) (this)->lpVtbl->Base.Release((IUnknown*)(this))
|
---|
1689 | #define ID2D1GdiInteropRenderTarget_GetDC(this,A,B) (this)->lpVtbl->GetDC(this,A,B)
|
---|
1690 | #define ID2D1GdiInteropRenderTarget_ReleaseDC(this,A) (this)->lpVtbl->ReleaseDC(this,A)
|
---|
1691 |
|
---|
1692 | #endif
|
---|
1693 |
|
---|
1694 | DEFINE_GUID(IID_ID2D1GeometryGroup, 0x2cd906a6,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1695 |
|
---|
1696 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1697 |
|
---|
1698 | interface ID2D1GeometryGroup : public ID2D1Geometry {
|
---|
1699 | STDMETHOD_(D2D1_FILL_MODE, GetFillMode)() const PURE;
|
---|
1700 | STDMETHOD_(UINT32, GetSourceGeometryCount)() const PURE;
|
---|
1701 | STDMETHOD_(void, GetSourceGeometries)(ID2D1Geometry **geometries, UINT geometriesCount) const PURE;
|
---|
1702 | };
|
---|
1703 |
|
---|
1704 | #else
|
---|
1705 |
|
---|
1706 | typedef struct ID2D1GeometryGroupVtbl {
|
---|
1707 | ID2D1GeometryVtbl Base;
|
---|
1708 |
|
---|
1709 | STDMETHOD_(D2D1_FILL_MODE, GetFillMode)(ID2D1GeometryGroup *This) PURE;
|
---|
1710 | STDMETHOD_(UINT32, GetSourceGeometryCount)(ID2D1GeometryGroup *This) PURE;
|
---|
1711 | STDMETHOD_(void, GetSourceGeometries)(ID2D1GeometryGroup *This, ID2D1Geometry **geometries, UINT geometriesCount) PURE;
|
---|
1712 | } ID2D1GeometryGroupVtbl;
|
---|
1713 |
|
---|
1714 | interface ID2D1GeometryGroup {
|
---|
1715 | const struct ID2D1GeometryGroupVtbl *lpVtbl;
|
---|
1716 | };
|
---|
1717 |
|
---|
1718 | #define ID2D1GeometryGroup_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1719 | #define ID2D1GeometryGroup_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
1720 | #define ID2D1GeometryGroup_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
1721 | #define ID2D1GeometryGroup_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1722 | #define ID2D1GeometryGroup_CombineWithGeometry(this,A,B,C,D) (this)->lpVtbl->Base.CombineWithGeometry((ID2D1Geometry*)(this),A,B,C,D)
|
---|
1723 | #define ID2D1GeometryGroup_CompareWithGeometry(this,A,B,C) (this)->lpVtbl->Base.CompareWithGeometry((ID2D1Geometry*)(this),A,B,C)
|
---|
1724 | #define ID2D1GeometryGroup_ComputeArea(this,A,B) (this)->lpVtbl->Base.ComputeArea((ID2D1Geometry*)(this),A,B)
|
---|
1725 | #define ID2D1GeometryGroup_ComputeLength(this,A,B) (this)->lpVtbl->Base.ComputeLength((ID2D1Geometry*)(this),A,B)
|
---|
1726 | #define ID2D1GeometryGroup_ComputePointAtLength(this,A,B,C,D) (this)->lpVtbl->Base.ComputePointAtLength((ID2D1Geometry*)(this),A,B,C,D)
|
---|
1727 | #define ID2D1GeometryGroup_FillContainsPoint(this,A,B,C) (this)->lpVtbl->Base.FillContainsPoint((ID2D1Geometry*)(this),A,B,C)
|
---|
1728 | #define ID2D1GeometryGroup_GetBounds(this,A,B) (this)->lpVtbl->Base.GetBounds((ID2D1Geometry*)(this),A,B)
|
---|
1729 | #define ID2D1GeometryGroup_GetWidenedBounds(this,A,B,C,D) (this)->lpVtbl->Base.GetWidenedBounds((ID2D1Geometry*)(this),A,B,C,D)
|
---|
1730 | #define ID2D1GeometryGroup_Outline(this,A,B) (this)->lpVtbl->Base.Outline((ID2D1Geometry*)(this),A,B)
|
---|
1731 | #define ID2D1GeometryGroup_StrokeContainsPoint(this,A,B,C,D,E) (this)->lpVtbl->Base.StrokeContainsPoint((ID2D1Geometry*)(this),A,B,C,D,E)
|
---|
1732 | #define ID2D1GeometryGroup_Simplify(this,A,B,C) (this)->lpVtbl->Base.Simplify((ID2D1Geometry*)(this),A,B,C)
|
---|
1733 | #define ID2D1GeometryGroup_Tessellate(this,A,B) (this)->lpVtbl->Base.Tessellate((ID2D1Geometry*)(this),A,B)
|
---|
1734 | #define ID2D1GeometryGroup_Widen(this,A,B,C,D) (this)->lpVtbl->Base.Widen((ID2D1Geometry*)(this),A,B,C,D)
|
---|
1735 | #define ID2D1GeometryGroup_GetFillMode(this) (this)->lpVtbl->GetFillMode(this)
|
---|
1736 | #define ID2D1GeometryGroup_GetSourceGeometries(this,A,B) (this)->lpVtbl->GetSourceGeometries(this,A,B)
|
---|
1737 | #define ID2D1GeometryGroup_GetSourceGeometryCount(this) (this)->lpVtbl->GetSourceGeometryCount(this)
|
---|
1738 |
|
---|
1739 | #endif
|
---|
1740 |
|
---|
1741 | DEFINE_GUID(IID_ID2D1GeometrySink, 0x2cd9069f,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1742 |
|
---|
1743 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1744 |
|
---|
1745 | interface ID2D1GeometrySink : public ID2D1SimplifiedGeometrySink {
|
---|
1746 | STDMETHOD_(void, AddLine)(D2D1_POINT_2F point) PURE;
|
---|
1747 | STDMETHOD_(void, AddBezier)(const D2D1_BEZIER_SEGMENT *bezier) PURE;
|
---|
1748 | STDMETHOD_(void, AddQuadraticBezier)(const D2D1_QUADRATIC_BEZIER_SEGMENT *bezier) PURE;
|
---|
1749 | STDMETHOD_(void, AddQuadraticBeziers)(const D2D1_QUADRATIC_BEZIER_SEGMENT *beziers, UINT beziersCount) PURE;
|
---|
1750 | STDMETHOD_(void, AddArc)(const D2D1_ARC_SEGMENT *arc) PURE;
|
---|
1751 |
|
---|
1752 | void AddBezier(const D2D1_BEZIER_SEGMENT &bezier) {
|
---|
1753 | AddBezier(&bezier);
|
---|
1754 | }
|
---|
1755 |
|
---|
1756 | void AddQuadraticBezier(const D2D1_QUADRATIC_BEZIER_SEGMENT &bezier) {
|
---|
1757 | AddQuadraticBezier(&bezier);
|
---|
1758 | }
|
---|
1759 |
|
---|
1760 | void AddArc(const D2D1_ARC_SEGMENT &arc) {
|
---|
1761 | AddArc(&arc);
|
---|
1762 | }
|
---|
1763 | };
|
---|
1764 |
|
---|
1765 | #else
|
---|
1766 |
|
---|
1767 | typedef struct ID2D1GeometrySinkVtbl {
|
---|
1768 | ID2D1SimplifiedGeometrySinkVtbl Base;
|
---|
1769 |
|
---|
1770 | STDMETHOD_(void, AddLine)(ID2D1GeometrySink *This, D2D1_POINT_2F point) PURE;
|
---|
1771 | STDMETHOD_(void, AddBezier)(ID2D1GeometrySink *This, const D2D1_BEZIER_SEGMENT *bezier) PURE;
|
---|
1772 | STDMETHOD_(void, AddQuadraticBezier)(ID2D1GeometrySink *This, const D2D1_QUADRATIC_BEZIER_SEGMENT *bezier) PURE;
|
---|
1773 | STDMETHOD_(void, AddQuadraticBeziers)(ID2D1GeometrySink *This, const D2D1_QUADRATIC_BEZIER_SEGMENT *beziers, UINT beziersCount) PURE;
|
---|
1774 | STDMETHOD_(void, AddArc)(ID2D1GeometrySink *This, const D2D1_ARC_SEGMENT *arc) PURE;
|
---|
1775 | } ID2D1GeometrySinkVtbl;
|
---|
1776 |
|
---|
1777 | interface ID2D1GeometrySink {
|
---|
1778 | const ID2D1GeometrySinkVtbl *lpVtbl;
|
---|
1779 | };
|
---|
1780 |
|
---|
1781 | #define ID2D1GeometrySink_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1782 | #define ID2D1GeometrySink_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
1783 | #define ID2D1GeometrySink_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
1784 | #define ID2D1GeometrySink_SetFillMode(this,A) (this)->lpVtbl->Base.SetFillMode((ID2D1SimplifiedGeometrySink*)(this),A)
|
---|
1785 | #define ID2D1GeometrySink_SetSegmentFlags(this,A) (this)->lpVtbl->Base.SetSegmentFlags((ID2D1SimplifiedGeometrySink*)(this),A)
|
---|
1786 | #define ID2D1GeometrySink_BeginFigure(this,A,B) (this)->lpVtbl->Base.BeginFigure((ID2D1SimplifiedGeometrySink*)(this),A,B)
|
---|
1787 | #define ID2D1GeometrySink_AddLines(this,A,B) (this)->lpVtbl->Base.AddLines((ID2D1SimplifiedGeometrySink*)(this),A,B)
|
---|
1788 | #define ID2D1GeometrySink_AddBeziers(this,A,B) (this)->lpVtbl->Base.AddBeziers((ID2D1SimplifiedGeometrySink*)(this),A,B)
|
---|
1789 | #define ID2D1GeometrySink_EndFigure(this,A) (this)->lpVtbl->Base.EndFigure((ID2D1SimplifiedGeometrySink*)(this),A)
|
---|
1790 | #define ID2D1GeometrySink_Close(this) (this)->lpVtbl->Base.Close((ID2D1SimplifiedGeometrySink*)(this))
|
---|
1791 | #define ID2D1GeometrySink_AddArc(this,A) (this)->lpVtbl->AddArc(this,A)
|
---|
1792 | #define ID2D1GeometrySink_AddBezier(this,A) (this)->lpVtbl->AddBezier(this,A)
|
---|
1793 | #define ID2D1GeometrySink_AddLine(this,A) (this)->lpVtbl->AddLine(this,A)
|
---|
1794 | #define ID2D1GeometrySink_AddQuadraticBezier(this,A) (this)->lpVtbl->AddQuadraticBezier(this,A)
|
---|
1795 | #define ID2D1GeometrySink_AddQuadraticBeziers(this,A,B) (this)->lpVtbl->AddQuadraticBeziers(this,A,B)
|
---|
1796 |
|
---|
1797 | #endif
|
---|
1798 |
|
---|
1799 | DEFINE_GUID(IID_ID2D1GradientStopCollection, 0x2cd906a7,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1800 |
|
---|
1801 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1802 |
|
---|
1803 | interface ID2D1GradientStopCollection : public ID2D1Resource {
|
---|
1804 | STDMETHOD_(UINT32, GetGradientStopCount)(void) const PURE;
|
---|
1805 | STDMETHOD_(void, GetGradientStops)(D2D1_GRADIENT_STOP *gradientStops, UINT gradientStopsCount) const PURE;
|
---|
1806 | STDMETHOD_(D2D1_GAMMA, GetColorInterpolationGamma)(void) const PURE;
|
---|
1807 | STDMETHOD_(D2D1_EXTEND_MODE, GetExtendMode)(void) const PURE;
|
---|
1808 | };
|
---|
1809 |
|
---|
1810 | #else
|
---|
1811 |
|
---|
1812 | typedef struct ID2D1GradientStopCollectionVtbl {
|
---|
1813 | ID2D1ResourceVtbl Base;
|
---|
1814 |
|
---|
1815 | STDMETHOD_(UINT32, GetGradientStopCount)(ID2D1GradientStopCollection *This) PURE;
|
---|
1816 | STDMETHOD_(void, GetGradientStops)(ID2D1GradientStopCollection *This, D2D1_GRADIENT_STOP *gradientStops, UINT gradientStopsCount) PURE;
|
---|
1817 | STDMETHOD_(D2D1_GAMMA, GetColorInterpolationGamma)(ID2D1GradientStopCollection *This) PURE;
|
---|
1818 | STDMETHOD_(D2D1_EXTEND_MODE, GetExtendMode)(ID2D1GradientStopCollection *This) PURE;
|
---|
1819 | } ID2D1GradientStopCollectionVtbl;
|
---|
1820 |
|
---|
1821 | interface ID2D1GradientStopCollection {
|
---|
1822 | const ID2D1GradientStopCollectionVtbl *lpVtbl;
|
---|
1823 | };
|
---|
1824 |
|
---|
1825 | #define ID2D1GradientStopCollection_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1826 | #define ID2D1GradientStopCollection_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
1827 | #define ID2D1GradientStopCollection_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
1828 | #define ID2D1GradientStopCollection_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1829 | #define ID2D1GradientStopCollection_GetColorInterpolationGamma(this) (this)->lpVtbl->GetColorInterpolationGamma(this)
|
---|
1830 | #define ID2D1GradientStopCollection_GetExtendMode(this) (this)->lpVtbl->GetExtendMode(this)
|
---|
1831 | #define ID2D1GradientStopCollection_GetGradientStopCount(this) (this)->lpVtbl->GetGradientStopCount(this)
|
---|
1832 | #define ID2D1GradientStopCollection_GetGradientStops(this,A,B) (this)->lpVtbl->GetGradientStops(this,A,B)
|
---|
1833 |
|
---|
1834 | #endif
|
---|
1835 |
|
---|
1836 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1837 |
|
---|
1838 | interface ID2D1HwndRenderTarget : public ID2D1RenderTarget {
|
---|
1839 | STDMETHOD_(D2D1_WINDOW_STATE, CheckWindowState)() PURE;
|
---|
1840 | STDMETHOD(Resize)(const D2D1_SIZE_U *pixelSize) PURE;
|
---|
1841 | STDMETHOD_(HWND, GetHwnd)() const PURE;
|
---|
1842 |
|
---|
1843 | HRESULT Resize(const D2D1_SIZE_U &pixelSize) {
|
---|
1844 | return Resize(&pixelSize);
|
---|
1845 | }
|
---|
1846 | };
|
---|
1847 |
|
---|
1848 | #else
|
---|
1849 |
|
---|
1850 | typedef interface ID2D1HwndRenderTarget ID2D1HwndRenderTarget;
|
---|
1851 |
|
---|
1852 | typedef struct ID2D1HwndRenderTargetVtbl {
|
---|
1853 | ID2D1RenderTargetVtbl Base;
|
---|
1854 |
|
---|
1855 | STDMETHOD_(D2D1_WINDOW_STATE, CheckWindowState)(ID2D1HwndRenderTarget *This) PURE;
|
---|
1856 | STDMETHOD(Resize)(ID2D1HwndRenderTarget *This, const D2D1_SIZE_U *pixelSize) PURE;
|
---|
1857 | STDMETHOD_(HWND, GetHwnd)(ID2D1HwndRenderTarget *This) PURE;
|
---|
1858 | } ID2D1HwndRenderTargetVtbl;
|
---|
1859 |
|
---|
1860 | interface ID2D1HwndRenderTarget {
|
---|
1861 | const struct ID2D1HwndRenderTargetVtbl *lpVtbl;
|
---|
1862 | };
|
---|
1863 |
|
---|
1864 | #define ID2D1HwndRenderTarget_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1865 | #define ID2D1HwndRenderTarget_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
1866 | #define ID2D1HwndRenderTarget_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
1867 | #define ID2D1HwndRenderTarget_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1868 | #define ID2D1HwndRenderTarget_BeginDraw(this) (this)->lpVtbl->Base.BeginDraw((ID2D1RenderTarget*)(this))
|
---|
1869 | #define ID2D1HwndRenderTarget_Clear(this,A) (this)->lpVtbl->Base.Clear((ID2D1RenderTarget*)(this),A)
|
---|
1870 | #define ID2D1HwndRenderTarget_CreateBitmap(this,A,B,C,D,E) (this)->lpVtbl->Base.CreateBitmap((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1871 | #define ID2D1HwndRenderTarget_CreateBitmapBrush(this,A,B) (this)->lpVtbl->Base.CreateBitmapBrush((ID2D1RenderTarget*)(this),A,B)
|
---|
1872 | #define ID2D1HwndRenderTarget_CreateBitmapFromWicBitmap(this,A,B,C) (this)->lpVtbl->Base.CreateBitmapFromWicBitmap((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1873 | #define ID2D1HwndRenderTarget_CreateCompatibleRenderTarget(this,A,B,C,D,E) (this)->lpVtbl->Base.CreateCompatibleRenderTarget((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1874 | #define ID2D1HwndRenderTarget_CreateGradientStopCollection(this,A,B,C) (this)->lpVtbl->Base.CreateGradientStopCollection((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1875 | #define ID2D1HwndRenderTarget_CreateLayer(this,A,B) (this)->lpVtbl->Base.CreateLayer((ID2D1RenderTarget*)(this),A,B)
|
---|
1876 | #define ID2D1HwndRenderTarget_CreateLinearGradientBrush(this,A,B,C,D) (this)->lpVtbl->Base.CreateLinearGradientBrush((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1877 | #define ID2D1HwndRenderTarget_CreateMesh(this,A) (this)->lpVtbl->Base.CreateMesh((ID2D1RenderTarget*)(this),A)
|
---|
1878 | #define ID2D1HwndRenderTarget_CreateRadialGradientBrush(this,A,B,C,D) (this)->lpVtbl->Base.CreateRadialGradientBrush((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1879 | #define ID2D1HwndRenderTarget_CreateSharedBitmap(this,A,B,C,D) (this)->lpVtbl->Base.CreateSharedBitmap((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1880 | #define ID2D1HwndRenderTarget_CreateSolidColorBrush(this,A,B,C) (this)->lpVtbl->Base.CreateSolidColorBrush((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1881 | #define ID2D1HwndRenderTarget_DrawBitmap(this,A,B,C,D,E) (this)->lpVtbl->Base.DrawBitmap((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1882 | #define ID2D1HwndRenderTarget_DrawEllipse(this,A,B,C,D) (this)->lpVtbl->Base.DrawEllipse((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1883 | #define ID2D1HwndRenderTarget_DrawGeometry(this,A,B,C,D) (this)->lpVtbl->Base.DrawGeometry((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1884 | #define ID2D1HwndRenderTarget_DrawGlyphRun(this,A,B,C,D) (this)->lpVtbl->Base.DrawGlyphRun((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1885 | #define ID2D1HwndRenderTarget_DrawLine(this,A,B,C,D,E) (this)->lpVtbl->Base.DrawLine((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1886 | #define ID2D1HwndRenderTarget_DrawRectangle(this,A,B,C,D) (this)->lpVtbl->Base.DrawRectangle((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1887 | #define ID2D1HwndRenderTarget_DrawRoundedRectangle(this,A,B,C,D) (this)->lpVtbl->Base.DrawRoundedRectangle((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1888 | #define ID2D1HwndRenderTarget_DrawText(this,A,B,C,D,E,F,G) (this)->lpVtbl->Base.DrawText((ID2D1RenderTarget*)(this),A,B,C,D,E,F,G)
|
---|
1889 | #define ID2D1HwndRenderTarget_DrawTextLayout(this,A,B,C,D) (this)->lpVtbl->Base.DrawTextLayout((ID2D1RenderTarget*)(this),A,B,C,D)
|
---|
1890 | #define ID2D1HwndRenderTarget_EndDraw(this,A,B) (this)->lpVtbl->Base.EndDraw((ID2D1RenderTarget*)(this),A,B)
|
---|
1891 | #define ID2D1HwndRenderTarget_FillEllipse(this,A,B) (this)->lpVtbl->Base.FillEllipse((ID2D1RenderTarget*)(this),A,B)
|
---|
1892 | #define ID2D1HwndRenderTarget_FillGeometry(this,A,B,C) (this)->lpVtbl->Base.FillGeometry((ID2D1RenderTarget*)(this),A,B,C)
|
---|
1893 | #define ID2D1HwndRenderTarget_FillMesh(this,A,B) (this)->lpVtbl->Base.FillMesh((ID2D1RenderTarget*)(this),A,B)
|
---|
1894 | #define ID2D1HwndRenderTarget_FillOpacityMask(this,A,B,C,D,E) (this)->lpVtbl->Base.FillOpacityMask((ID2D1RenderTarget*)(this),A,B,C,D,E)
|
---|
1895 | #define ID2D1HwndRenderTarget_FillRectangle(this,A,B) (this)->lpVtbl->Base.FillRectangle((ID2D1RenderTarget*)(this),A,B)
|
---|
1896 | #define ID2D1HwndRenderTarget_FillRoundedRectangle(this,A,B) (this)->lpVtbl->Base.FillRoundedRectangle((ID2D1RenderTarget*)(this),A,B)
|
---|
1897 | #define ID2D1HwndRenderTarget_Flush(this,A,B) (this)->lpVtbl->Base.Flush((ID2D1RenderTarget*)(this),A,B)
|
---|
1898 | #define ID2D1HwndRenderTarget_GetAntialiasMode(this) (this)->lpVtbl->Base.GetAntialiasMode((ID2D1RenderTarget*)(this))
|
---|
1899 | #define ID2D1HwndRenderTarget_GetDpi(this,A,B) (this)->lpVtbl->Base.GetDpi((ID2D1RenderTarget*)(this),A,B)
|
---|
1900 | #define ID2D1HwndRenderTarget_GetMaximumBitmapSize(this) (this)->lpVtbl->Base.GetMaximumBitmapSize((ID2D1RenderTarget*)(this))
|
---|
1901 | #define ID2D1HwndRenderTarget_GetPixelFormat(this) (this)->lpVtbl->Base.GetPixelFormat((ID2D1RenderTarget*)(this))
|
---|
1902 | #define ID2D1HwndRenderTarget_GetPixelSize(this) (this)->lpVtbl->Base.GetPixelSize((ID2D1RenderTarget*)(this))
|
---|
1903 | #define ID2D1HwndRenderTarget_GetSize(this) (this)->lpVtbl->Base.GetSize((ID2D1RenderTarget*)(this))
|
---|
1904 | #define ID2D1HwndRenderTarget_GetTags(this,A,B) (this)->lpVtbl->Base.GetTags((ID2D1RenderTarget*)(this),A,B)
|
---|
1905 | #define ID2D1HwndRenderTarget_GetTextAntialiasMode(this) (this)->lpVtbl->Base.GetTextAntialiasMode((ID2D1RenderTarget*)(this))
|
---|
1906 | #define ID2D1HwndRenderTarget_GetTextRenderingParams(this,A) (this)->lpVtbl->Base.GetTextRenderingParams((ID2D1RenderTarget*)(this),A)
|
---|
1907 | #define ID2D1HwndRenderTarget_GetTransform(this,A) (this)->lpVtbl->Base.GetTransform((ID2D1RenderTarget*)(this),A)
|
---|
1908 | #define ID2D1HwndRenderTarget_IsSupported(this,A) (this)->lpVtbl->Base.IsSupported((ID2D1RenderTarget*)(this),A)
|
---|
1909 | #define ID2D1HwndRenderTarget_PopAxisAlignedClip(this) (this)->lpVtbl->Base.PopAxisAlignedClip((ID2D1RenderTarget*)(this))
|
---|
1910 | #define ID2D1HwndRenderTarget_PopLayer(this) (this)->lpVtbl->Base.PopLayer((ID2D1RenderTarget*)(this))
|
---|
1911 | #define ID2D1HwndRenderTarget_PushAxisAlignedClip(this,A,B) (this)->lpVtbl->Base.PushAxisAlignedClip((ID2D1RenderTarget*)(this),A,B)
|
---|
1912 | #define ID2D1HwndRenderTarget_PushLayer(this,A,B) (this)->lpVtbl->Base.PushLayer((ID2D1RenderTarget*)(this),A,B)
|
---|
1913 | #define ID2D1HwndRenderTarget_RestoreDrawingState(this,A) (this)->lpVtbl->Base.RestoreDrawingState((ID2D1RenderTarget*)(this),A)
|
---|
1914 | #define ID2D1HwndRenderTarget_SaveDrawingState(this,A) (this)->lpVtbl->Base.SaveDrawingState((ID2D1RenderTarget*)(this),A)
|
---|
1915 | #define ID2D1HwndRenderTarget_SetAntialiasMode(this,A) (this)->lpVtbl->Base.SetAntialiasMode((ID2D1RenderTarget*)(this),A)
|
---|
1916 | #define ID2D1HwndRenderTarget_SetDpi(this,A,B) (this)->lpVtbl->Base.SetDpi((ID2D1RenderTarget*)(this),A,B)
|
---|
1917 | #define ID2D1HwndRenderTarget_SetTags(this,A,B) (this)->lpVtbl->Base.SetTags((ID2D1RenderTarget*)(this),A,B)
|
---|
1918 | #define ID2D1HwndRenderTarget_SetTextAntialiasMode(this,A) (this)->lpVtbl->Base.SetTextAntialiasMode((ID2D1RenderTarget*)(this),A)
|
---|
1919 | #define ID2D1HwndRenderTarget_SetTextRenderingParams(this,A) (this)->lpVtbl->Base.SetTextRenderingParams((ID2D1RenderTarget*)(this),A)
|
---|
1920 | #define ID2D1HwndRenderTarget_SetTransform(this,A) (this)->lpVtbl->Base.SetTransform((ID2D1RenderTarget*)(this),A)
|
---|
1921 | #define ID2D1HwndRenderTarget_CheckWindowState(this) (this)->lpVtbl->CheckWindowState(this)
|
---|
1922 | #define ID2D1HwndRenderTarget_GetHwnd(this) (this)->lpVtbl->GetHwnd(this)
|
---|
1923 | #define ID2D1HwndRenderTarget_Resize(this,A) (this)->lpVtbl->Resize(this,A)
|
---|
1924 |
|
---|
1925 | #endif
|
---|
1926 |
|
---|
1927 | DEFINE_GUID(IID_ID2D1Layer, 0x2cd9069b,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1928 |
|
---|
1929 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1930 |
|
---|
1931 | interface ID2D1Layer : public ID2D1Resource {
|
---|
1932 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
1933 | STDMETHOD_(D2D1_SIZE_F, GetSize)(void) const PURE;
|
---|
1934 | #else
|
---|
1935 | virtual D2D1_SIZE_F* STDMETHODCALLTYPE GetSize(D2D1_SIZE_F*) const = 0;
|
---|
1936 | D2D1_SIZE_F STDMETHODCALLTYPE GetSize() const {
|
---|
1937 | D2D1_SIZE_F __ret;
|
---|
1938 | GetSize(&__ret);
|
---|
1939 | return __ret;
|
---|
1940 | }
|
---|
1941 | #endif
|
---|
1942 | };
|
---|
1943 |
|
---|
1944 | #else
|
---|
1945 |
|
---|
1946 | typedef struct ID2D1LayerVtbl {
|
---|
1947 | ID2D1ResourceVtbl Base;
|
---|
1948 |
|
---|
1949 | STDMETHOD_(D2D1_SIZE_F, GetSize)(ID2D1Layer *This) PURE;
|
---|
1950 | } ID2D1LayerVtbl;
|
---|
1951 |
|
---|
1952 | interface ID2D1Layer {
|
---|
1953 | const ID2D1LayerVtbl *lpVtbl;
|
---|
1954 | };
|
---|
1955 |
|
---|
1956 | #define ID2D1Layer_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
1957 | #define ID2D1Layer_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
1958 | #define ID2D1Layer_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
1959 | #define ID2D1Layer_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
1960 | #define ID2D1Layer_GetSize(this) (this)->lpVtbl->GetSize(this)
|
---|
1961 |
|
---|
1962 | #endif
|
---|
1963 |
|
---|
1964 | DEFINE_GUID(IID_ID2D1LinearGradientBrush, 0x2cd906ab,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
1965 |
|
---|
1966 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
1967 |
|
---|
1968 | interface ID2D1LinearGradientBrush : public ID2D1Brush {
|
---|
1969 | STDMETHOD_(void, SetStartPoint)(D2D1_POINT_2F startPoint) PURE;
|
---|
1970 | STDMETHOD_(void, SetEndPoint)(D2D1_POINT_2F endPoint) PURE;
|
---|
1971 |
|
---|
1972 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
1973 | STDMETHOD_(D2D1_POINT_2F, GetStartPoint)(void) const PURE;
|
---|
1974 | #else
|
---|
1975 | virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetStartPoint(D2D1_POINT_2F*) const = 0;
|
---|
1976 | D2D1_POINT_2F STDMETHODCALLTYPE GetStartPoint() const {
|
---|
1977 | D2D1_POINT_2F __ret;
|
---|
1978 | GetStartPoint(&__ret);
|
---|
1979 | return __ret;
|
---|
1980 | }
|
---|
1981 | #endif
|
---|
1982 |
|
---|
1983 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
1984 | STDMETHOD_(D2D1_POINT_2F, GetEndPoint)(void) const PURE;
|
---|
1985 | #else
|
---|
1986 | virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetEndPoint(D2D1_POINT_2F*) const = 0;
|
---|
1987 | D2D1_POINT_2F STDMETHODCALLTYPE GetEndPoint() const {
|
---|
1988 | D2D1_POINT_2F __ret;
|
---|
1989 | GetEndPoint(&__ret);
|
---|
1990 | return __ret;
|
---|
1991 | }
|
---|
1992 | #endif
|
---|
1993 |
|
---|
1994 | STDMETHOD_(void, GetGradientStopCollection)(ID2D1GradientStopCollection **gradientStopCollection) const PURE;
|
---|
1995 | };
|
---|
1996 |
|
---|
1997 | #else
|
---|
1998 |
|
---|
1999 | typedef struct ID2D1LinearGradientBrushVtbl {
|
---|
2000 | ID2D1BrushVtbl Base;
|
---|
2001 |
|
---|
2002 | STDMETHOD_(void, SetStartPoint)(ID2D1LinearGradientBrush *This, D2D1_POINT_2F startPoint) PURE;
|
---|
2003 | STDMETHOD_(void, SetEndPoint)(ID2D1LinearGradientBrush *This, D2D1_POINT_2F endPoint) PURE;
|
---|
2004 | STDMETHOD_(D2D1_POINT_2F, GetStartPoint)(ID2D1LinearGradientBrush *This) PURE;
|
---|
2005 | STDMETHOD_(D2D1_POINT_2F, GetEndPoint)(ID2D1LinearGradientBrush *This) PURE;
|
---|
2006 | STDMETHOD_(void, GetGradientStopCollection)(ID2D1LinearGradientBrush *This, ID2D1GradientStopCollection **gradientStopCollection) PURE;
|
---|
2007 | } ID2D1LinearGradientBrushVtbl;
|
---|
2008 |
|
---|
2009 | interface ID2D1LinearGradientBrush {
|
---|
2010 | const ID2D1LinearGradientBrushVtbl *lpVtbl;
|
---|
2011 | };
|
---|
2012 |
|
---|
2013 | #define ID2D1LinearGradientBrush_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2014 | #define ID2D1LinearGradientBrush_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
2015 | #define ID2D1LinearGradientBrush_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
2016 | #define ID2D1LinearGradientBrush_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2017 | #define ID2D1LinearGradientBrush_SetOpacity(this,A) (this)->lpVtbl->Base.SetOpacity((ID2D1Brush*)(this),A)
|
---|
2018 | #define ID2D1LinearGradientBrush_SetTransform(this,A) (this)->lpVtbl->Base.SetTransform((ID2D1Brush*)(this),A)
|
---|
2019 | #define ID2D1LinearGradientBrush_GetOpacity(this) (this)->lpVtbl->Base.GetOpacity((ID2D1Brush*)(this))
|
---|
2020 | #define ID2D1LinearGradientBrush_GetTransform(this,A) (this)->lpVtbl->Base.GetTransform((ID2D1Brush*)(this),A)
|
---|
2021 | #define ID2D1LinearGradientBrush_GetEndPoint(this) (this)->lpVtbl->GetEndPoint(this)
|
---|
2022 | #define ID2D1LinearGradientBrush_GetGradientStopCollection(this,A) (this)->lpVtbl->GetGradientStopCollection(this,A)
|
---|
2023 | #define ID2D1LinearGradientBrush_GetStartPoint(this) (this)->lpVtbl->GetStartPoint(this)
|
---|
2024 | #define ID2D1LinearGradientBrush_SetEndPoint(this,A) (this)->lpVtbl->SetEndPoint(this,A)
|
---|
2025 | #define ID2D1LinearGradientBrush_SetStartPoint(this,A) (this)->lpVtbl->SetStartPoint(this,A)
|
---|
2026 |
|
---|
2027 | #endif
|
---|
2028 |
|
---|
2029 | DEFINE_GUID(IID_ID2D1Mesh,0x2cd906c2,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2030 |
|
---|
2031 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2032 |
|
---|
2033 | interface ID2D1Mesh : public ID2D1Resource {
|
---|
2034 | STDMETHOD(Open)(ID2D1TessellationSink **tessellationSink) PURE;
|
---|
2035 | };
|
---|
2036 |
|
---|
2037 | #else
|
---|
2038 |
|
---|
2039 | typedef struct ID2D1MeshVtbl{
|
---|
2040 | ID2D1ResourceVtbl Base;
|
---|
2041 |
|
---|
2042 | STDMETHOD(Open)(ID2D1Mesh *This, ID2D1TessellationSink **tessellationSink) PURE;
|
---|
2043 | } ID2D1MeshVtbl;
|
---|
2044 |
|
---|
2045 | interface ID2D1Mesh {
|
---|
2046 | const struct ID2D1MeshVtbl *lpVtbl;
|
---|
2047 | };
|
---|
2048 |
|
---|
2049 | #define ID2D1Mesh_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2050 | #define ID2D1Mesh_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
2051 | #define ID2D1Mesh_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
2052 | #define ID2D1Mesh_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2053 | #define ID2D1Mesh_Open(this,A) (this)->lpVtbl->Open(this,A)
|
---|
2054 |
|
---|
2055 | #endif
|
---|
2056 |
|
---|
2057 | DEFINE_GUID(IID_ID2D1PathGeometry, 0x2cd906a5,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2058 |
|
---|
2059 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2060 |
|
---|
2061 | interface ID2D1PathGeometry : public ID2D1Geometry {
|
---|
2062 | STDMETHOD(Open)(ID2D1GeometrySink **geometrySink) PURE;
|
---|
2063 | STDMETHOD(Stream)(ID2D1GeometrySink *geometrySink) const PURE;
|
---|
2064 | STDMETHOD(GetSegmentCount)(UINT32 *count) const PURE;
|
---|
2065 | STDMETHOD(GetFigureCount)(UINT32 *count) const PURE;
|
---|
2066 | };
|
---|
2067 |
|
---|
2068 | #else
|
---|
2069 |
|
---|
2070 | typedef struct ID2D1PathGeometryVtbl {
|
---|
2071 | ID2D1GeometryVtbl Base;
|
---|
2072 |
|
---|
2073 | STDMETHOD(Open)(ID2D1PathGeometry *This, ID2D1GeometrySink **geometrySink) PURE;
|
---|
2074 | STDMETHOD(Stream)(ID2D1PathGeometry *This, ID2D1GeometrySink *geometrySink) PURE;
|
---|
2075 | STDMETHOD(GetSegmentCount)(ID2D1PathGeometry *This, UINT32 *count) PURE;
|
---|
2076 | STDMETHOD(GetFigureCount)(ID2D1PathGeometry *This, UINT32 *count) PURE;
|
---|
2077 | } ID2D1PathGeometryVtbl;
|
---|
2078 |
|
---|
2079 | interface ID2D1PathGeometry {
|
---|
2080 | const ID2D1PathGeometryVtbl *lpVtbl;
|
---|
2081 | };
|
---|
2082 |
|
---|
2083 | #define ID2D1PathGeometry_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2084 | #define ID2D1PathGeometry_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
2085 | #define ID2D1PathGeometry_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
2086 | #define ID2D1PathGeometry_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2087 | #define ID2D1PathGeometry_CombineWithGeometry(this,A,B,C,D) (this)->lpVtbl->Base.CombineWithGeometry((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2088 | #define ID2D1PathGeometry_CompareWithGeometry(this,A,B,C) (this)->lpVtbl->Base.CompareWithGeometry((ID2D1Geometry*)(this),A,B,C)
|
---|
2089 | #define ID2D1PathGeometry_ComputeArea(this,A,B) (this)->lpVtbl->Base.ComputeArea((ID2D1Geometry*)(this),A,B)
|
---|
2090 | #define ID2D1PathGeometry_ComputeLength(this,A,B) (this)->lpVtbl->Base.ComputeLength((ID2D1Geometry*)(this),A,B)
|
---|
2091 | #define ID2D1PathGeometry_ComputePointAtLength(this,A,B,C,D) (this)->lpVtbl->Base.ComputePointAtLength((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2092 | #define ID2D1PathGeometry_FillContainsPoint(this,A,B,C) (this)->lpVtbl->Base.FillContainsPoint((ID2D1Geometry*)(this),A,B,C)
|
---|
2093 | #define ID2D1PathGeometry_GetBounds(this,A,B) (this)->lpVtbl->Base.GetBounds((ID2D1Geometry*)(this),A,B)
|
---|
2094 | #define ID2D1PathGeometry_GetWidenedBounds(this,A,B,C,D) (this)->lpVtbl->Base.GetWidenedBounds((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2095 | #define ID2D1PathGeometry_Outline(this,A,B) (this)->lpVtbl->Base.Outline((ID2D1Geometry*)(this),A,B)
|
---|
2096 | #define ID2D1PathGeometry_StrokeContainsPoint(this,A,B,C,D,E) (this)->lpVtbl->Base.StrokeContainsPoint((ID2D1Geometry*)(this),A,B,C,D,E)
|
---|
2097 | #define ID2D1PathGeometry_Simplify(this,A,B,C) (this)->lpVtbl->Base.Simplify((ID2D1Geometry*)(this),A,B,C)
|
---|
2098 | #define ID2D1PathGeometry_Tessellate(this,A,B) (this)->lpVtbl->Base.Tessellate((ID2D1Geometry*)(this),A,B)
|
---|
2099 | #define ID2D1PathGeometry_Widen(this,A,B,C,D) (this)->lpVtbl->Base.Widen((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2100 | #define ID2D1PathGeometry_Open(this,A) (this)->lpVtbl->Open(this,A)
|
---|
2101 | #define ID2D1PathGeometry_Stream(this,A) (this)->lpVtbl->Stream(this,A)
|
---|
2102 | #define ID2D1PathGeometry_GetSegmentCount(this,A) (this)->lpVtbl->GetSegmentCount(this,A)
|
---|
2103 | #define ID2D1PathGeometry_GetFigureCount(this,A) (this)->lpVtbl->GetFigureCount(this,A)
|
---|
2104 |
|
---|
2105 | #endif
|
---|
2106 |
|
---|
2107 | DEFINE_GUID(IID_ID2D1RadialGradientBrush, 0x2cd906ac,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2108 |
|
---|
2109 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2110 |
|
---|
2111 | interface ID2D1RadialGradientBrush : public ID2D1Brush {
|
---|
2112 | STDMETHOD_(void, SetCenter)(D2D1_POINT_2F center) PURE;
|
---|
2113 | STDMETHOD_(void, SetGradientOriginOffset)(D2D1_POINT_2F gradientOriginOffset) PURE;
|
---|
2114 | STDMETHOD_(void, SetRadiusX)(FLOAT radiusX) PURE;
|
---|
2115 | STDMETHOD_(void, SetRadiusY)(FLOAT radiusY) PURE;
|
---|
2116 |
|
---|
2117 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
2118 | STDMETHOD_(D2D1_POINT_2F, GetCenter)(void) const PURE;
|
---|
2119 | #else
|
---|
2120 | virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetCenter(D2D1_POINT_2F *__ret) const = 0;
|
---|
2121 | D2D1_POINT_2F STDMETHODCALLTYPE GetCenter() const
|
---|
2122 | {
|
---|
2123 | D2D1_POINT_2F __ret;
|
---|
2124 | GetCenter(&__ret);
|
---|
2125 | return __ret;
|
---|
2126 | }
|
---|
2127 | #endif
|
---|
2128 |
|
---|
2129 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
2130 | STDMETHOD_(D2D1_POINT_2F, GetGradientOriginOffset)(void) const PURE;
|
---|
2131 | #else
|
---|
2132 | virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetGradientOriginOffset(D2D1_POINT_2F *__ret) const = 0;
|
---|
2133 | D2D1_POINT_2F STDMETHODCALLTYPE GetGradientOriginOffset() const
|
---|
2134 | {
|
---|
2135 | D2D1_POINT_2F __ret;
|
---|
2136 | GetGradientOriginOffset(&__ret);
|
---|
2137 | return __ret;
|
---|
2138 | }
|
---|
2139 | #endif
|
---|
2140 |
|
---|
2141 | STDMETHOD_(FLOAT, GetRadiusX)(void) const PURE;
|
---|
2142 | STDMETHOD_(FLOAT, GetRadiusY)(void) const PURE;
|
---|
2143 | STDMETHOD_(void, GetGradientStopCollection)(ID2D1GradientStopCollection **gradientStopCollection) const PURE;
|
---|
2144 | };
|
---|
2145 |
|
---|
2146 | #else
|
---|
2147 |
|
---|
2148 | typedef struct ID2D1RadialGradientBrushVtbl {
|
---|
2149 | ID2D1BrushVtbl Base;
|
---|
2150 |
|
---|
2151 | STDMETHOD_(void, SetCenter)(ID2D1RadialGradientBrush *This, D2D1_POINT_2F center) PURE;
|
---|
2152 | STDMETHOD_(void, SetGradientOriginOffset)(ID2D1RadialGradientBrush *This, D2D1_POINT_2F gradientOriginOffset) PURE;
|
---|
2153 | STDMETHOD_(void, SetRadiusX)(ID2D1RadialGradientBrush *This, FLOAT radiusX) PURE;
|
---|
2154 | STDMETHOD_(void, SetRadiusY)(ID2D1RadialGradientBrush *This, FLOAT radiusY) PURE;
|
---|
2155 | STDMETHOD_(D2D1_POINT_2F, GetCenter)(ID2D1RadialGradientBrush *This) PURE;
|
---|
2156 | STDMETHOD_(D2D1_POINT_2F, GetGradientOriginOffset)(ID2D1RadialGradientBrush *This) PURE;
|
---|
2157 | STDMETHOD_(FLOAT, GetRadiusX)(ID2D1RadialGradientBrush *This) PURE;
|
---|
2158 | STDMETHOD_(FLOAT, GetRadiusY)(ID2D1RadialGradientBrush *This) PURE;
|
---|
2159 | STDMETHOD_(void, GetGradientStopCollection)(ID2D1RadialGradientBrush *This, ID2D1GradientStopCollection **gradientStopCollection) PURE;
|
---|
2160 | } ID2D1RadialGradientBrushVtbl;
|
---|
2161 |
|
---|
2162 | interface ID2D1RadialGradientBrush {
|
---|
2163 | const ID2D1RadialGradientBrushVtbl *lpVtbl;
|
---|
2164 | };
|
---|
2165 |
|
---|
2166 | #define ID2D1RadialGradientBrush_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2167 | #define ID2D1RadialGradientBrush_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
2168 | #define ID2D1RadialGradientBrush_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
2169 | #define ID2D1RadialGradientBrush_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2170 | #define ID2D1RadialGradientBrush_SetOpacity(this,A) (this)->lpVtbl->Base.SetOpacity((ID2D1Brush*)(this),A)
|
---|
2171 | #define ID2D1RadialGradientBrush_SetTransform(this,A) (this)->lpVtbl->Base.SetTransform((ID2D1Brush*)(this),A)
|
---|
2172 | #define ID2D1RadialGradientBrush_GetOpacity(this) (this)->lpVtbl->Base.GetOpacity((ID2D1Brush*)(this))
|
---|
2173 | #define ID2D1RadialGradientBrush_GetTransform(this,A) (this)->lpVtbl->Base.GetTransform((ID2D1Brush*)(this),A)
|
---|
2174 | #define ID2D1RadialGradientBrush_GetCenter(this) (this)->lpVtbl->GetCenter(this)
|
---|
2175 | #define ID2D1RadialGradientBrush_GetGradientOriginOffset(this) (this)->lpVtbl->GetGradientOriginOffset(this)
|
---|
2176 | #define ID2D1RadialGradientBrush_GetGradientStopCollection(this,A) (this)->lpVtbl->GetGradientStopCollection(this,A)
|
---|
2177 | #define ID2D1RadialGradientBrush_GetRadiusX(this) (this)->lpVtbl->GetRadiusX(this)
|
---|
2178 | #define ID2D1RadialGradientBrush_GetRadiusY(this) (this)->lpVtbl->GetRadiusY(this)
|
---|
2179 | #define ID2D1RadialGradientBrush_SetCenter(this,A) (this)->lpVtbl->SetCenter(this,A)
|
---|
2180 | #define ID2D1RadialGradientBrush_SetGradientOriginOffset(this,A) (this)->lpVtbl->SetGradientOriginOffset(this,A)
|
---|
2181 | #define ID2D1RadialGradientBrush_SetRadiusX(this,A) (this)->lpVtbl->SetRadiusX(this,A)
|
---|
2182 | #define ID2D1RadialGradientBrush_SetRadiusY(this,A) (this)->lpVtbl->SetRadiusY(this,A)
|
---|
2183 |
|
---|
2184 | #endif
|
---|
2185 |
|
---|
2186 | DEFINE_GUID(IID_ID2D1RectangleGeometry, 0x2cd906a2,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2187 |
|
---|
2188 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2189 |
|
---|
2190 | interface ID2D1RectangleGeometry : public ID2D1Geometry {
|
---|
2191 | STDMETHOD_(void, GetRect)(D2D1_RECT_F *rect) const PURE;
|
---|
2192 | };
|
---|
2193 |
|
---|
2194 | #else
|
---|
2195 |
|
---|
2196 | typedef struct ID2D1RectangleGeometryVtbl {
|
---|
2197 | ID2D1GeometryVtbl Base;
|
---|
2198 |
|
---|
2199 | STDMETHOD_(void, GetRect)(ID2D1RectangleGeometry *This, D2D1_RECT_F *rect) PURE;
|
---|
2200 | } ID2D1RectangleGeometryVtbl;
|
---|
2201 |
|
---|
2202 | interface ID2D1RectangleGeometry {
|
---|
2203 | const ID2D1RectangleGeometryVtbl *lpVtbl;
|
---|
2204 | };
|
---|
2205 |
|
---|
2206 | #define ID2D1RectangleGeometry_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2207 | #define ID2D1RectangleGeometry_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
2208 | #define ID2D1RectangleGeometry_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
2209 | #define ID2D1RectangleGeometry_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2210 | #define ID2D1RectangleGeometry_CombineWithGeometry(this,A,B,C,D) (this)->lpVtbl->Base.CombineWithGeometry((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2211 | #define ID2D1RectangleGeometry_CompareWithGeometry(this,A,B,C) (this)->lpVtbl->Base.CompareWithGeometry((ID2D1Geometry*)(this),A,B,C)
|
---|
2212 | #define ID2D1RectangleGeometry_ComputeArea(this,A,B) (this)->lpVtbl->Base.ComputeArea((ID2D1Geometry*)(this),A,B)
|
---|
2213 | #define ID2D1RectangleGeometry_ComputeLength(this,A,B) (this)->lpVtbl->Base.ComputeLength((ID2D1Geometry*)(this),A,B)
|
---|
2214 | #define ID2D1RectangleGeometry_ComputePointAtLength(this,A,B,C,D) (this)->lpVtbl->Base.ComputePointAtLength((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2215 | #define ID2D1RectangleGeometry_FillContainsPoint(this,A,B,C) (this)->lpVtbl->Base.FillContainsPoint((ID2D1Geometry*)(this),A,B,C)
|
---|
2216 | #define ID2D1RectangleGeometry_GetBounds(this,A,B) (this)->lpVtbl->Base.GetBounds((ID2D1Geometry*)(this),A,B)
|
---|
2217 | #define ID2D1RectangleGeometry_GetWidenedBounds(this,A,B,C,D) (this)->lpVtbl->Base.GetWidenedBounds((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2218 | #define ID2D1RectangleGeometry_Outline(this,A,B) (this)->lpVtbl->Base.Outline((ID2D1Geometry*)(this),A,B)
|
---|
2219 | #define ID2D1RectangleGeometry_StrokeContainsPoint(this,A,B,C,D,E) (this)->lpVtbl->Base.StrokeContainsPoint((ID2D1Geometry*)(this),A,B,C,D,E)
|
---|
2220 | #define ID2D1RectangleGeometry_Simplify(this,A,B,C) (this)->lpVtbl->Base.Simplify((ID2D1Geometry*)(this),A,B,C)
|
---|
2221 | #define ID2D1RectangleGeometry_Tessellate(this,A,B) (this)->lpVtbl->Base.Tessellate((ID2D1Geometry*)(this),A,B)
|
---|
2222 | #define ID2D1RectangleGeometry_Widen(this,A,B,C,D) (this)->lpVtbl->Base.Widen((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2223 | #define ID2D1RectangleGeometry_GetRect(this,A) (this)->lpVtbl->GetRect(this,A)
|
---|
2224 |
|
---|
2225 | #endif
|
---|
2226 |
|
---|
2227 | DEFINE_GUID(IID_ID2D1RoundedRectangleGeometry, 0x2cd906a3,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2228 |
|
---|
2229 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2230 |
|
---|
2231 | interface ID2D1RoundedRectangleGeometry : public ID2D1Geometry {
|
---|
2232 | STDMETHOD_(void, GetRoundedRect)(D2D1_ROUNDED_RECT *roundedRect) const PURE;
|
---|
2233 | };
|
---|
2234 |
|
---|
2235 | #else
|
---|
2236 |
|
---|
2237 | typedef struct ID2D1RoundedRectangleGeometryVtbl {
|
---|
2238 | ID2D1GeometryVtbl Base;
|
---|
2239 |
|
---|
2240 | STDMETHOD_(void, GetRoundedRect)(ID2D1RoundedRectangleGeometry *This, D2D1_ROUNDED_RECT *roundedRect) PURE;
|
---|
2241 | } ID2D1RoundedRectangleGeometryVtbl;
|
---|
2242 |
|
---|
2243 | interface ID2D1RoundedRectangleGeometry {
|
---|
2244 | const struct ID2D1RoundedRectangleGeometryVtbl *lpVtbl;
|
---|
2245 | };
|
---|
2246 |
|
---|
2247 | #define ID2D1RoundedRectangleGeometry_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2248 | #define ID2D1RoundedRectangleGeometry_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
2249 | #define ID2D1RoundedRectangleGeometry_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
2250 | #define ID2D1RoundedRectangleGeometry_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2251 | #define ID2D1RoundedRectangleGeometry_CombineWithGeometry(this,A,B,C,D) (this)->lpVtbl->Base.CombineWithGeometry((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2252 | #define ID2D1RoundedRectangleGeometry_CompareWithGeometry(this,A,B,C) (this)->lpVtbl->Base.CompareWithGeometry((ID2D1Geometry*)(this),A,B,C)
|
---|
2253 | #define ID2D1RoundedRectangleGeometry_ComputeArea(this,A,B) (this)->lpVtbl->Base.ComputeArea((ID2D1Geometry*)(this),A,B)
|
---|
2254 | #define ID2D1RoundedRectangleGeometry_ComputeLength(this,A,B) (this)->lpVtbl->Base.ComputeLength((ID2D1Geometry*)(this),A,B)
|
---|
2255 | #define ID2D1RoundedRectangleGeometry_ComputePointAtLength(this,A,B,C,D) (this)->lpVtbl->Base.ComputePointAtLength((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2256 | #define ID2D1RoundedRectangleGeometry_FillContainsPoint(this,A,B,C) (this)->lpVtbl->Base.FillContainsPoint((ID2D1Geometry*)(this),A,B,C)
|
---|
2257 | #define ID2D1RoundedRectangleGeometry_GetBounds(this,A,B) (this)->lpVtbl->Base.GetBounds((ID2D1Geometry*)(this),A,B)
|
---|
2258 | #define ID2D1RoundedRectangleGeometry_GetWidenedBounds(this,A,B,C,D) (this)->lpVtbl->Base.GetWidenedBounds((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2259 | #define ID2D1RoundedRectangleGeometry_Outline(this,A,B) (this)->lpVtbl->Base.Outline((ID2D1Geometry*)(this),A,B)
|
---|
2260 | #define ID2D1RoundedRectangleGeometry_StrokeContainsPoint(this,A,B,C,D,E) (this)->lpVtbl->Base.StrokeContainsPoint((ID2D1Geometry*)(this),A,B,C,D,E)
|
---|
2261 | #define ID2D1RoundedRectangleGeometry_Simplify(this,A,B,C) (this)->lpVtbl->Base.Simplify((ID2D1Geometry*)(this),A,B,C)
|
---|
2262 | #define ID2D1RoundedRectangleGeometry_Tessellate(this,A,B) (this)->lpVtbl->Base.Tessellate((ID2D1Geometry*)(this),A,B)
|
---|
2263 | #define ID2D1RoundedRectangleGeometry_Widen(this,A,B,C,D) (this)->lpVtbl->Base.Widen((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2264 | #define ID2D1RoundedRectangleGeometry_GetRoundedRect(this,A) (this)->lpVtbl->GetRoundedRect(this,A)
|
---|
2265 |
|
---|
2266 | #endif
|
---|
2267 |
|
---|
2268 | DEFINE_GUID(IID_ID2D1SolidColorBrush, 0x2cd906a9,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2269 |
|
---|
2270 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2271 |
|
---|
2272 | interface ID2D1SolidColorBrush : public ID2D1Brush {
|
---|
2273 | STDMETHOD_(void, SetColor)(const D2D1_COLOR_F *color) PURE;
|
---|
2274 |
|
---|
2275 | #ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
|
---|
2276 | STDMETHOD_(D2D1_COLOR_F, GetColor)(void) const PURE;
|
---|
2277 | #else
|
---|
2278 | virtual D2D1_COLOR_F* STDMETHODCALLTYPE GetColor(D2D1_COLOR_F*) const = 0;
|
---|
2279 | D2D1_COLOR_F STDMETHODCALLTYPE GetColor() const {
|
---|
2280 | D2D1_COLOR_F __ret;
|
---|
2281 | GetColor(&__ret);
|
---|
2282 | return __ret;
|
---|
2283 | }
|
---|
2284 | #endif
|
---|
2285 |
|
---|
2286 | void SetColor(const D2D1_COLOR_F &color) {
|
---|
2287 | SetColor(&color);
|
---|
2288 | }
|
---|
2289 | };
|
---|
2290 |
|
---|
2291 | #else
|
---|
2292 |
|
---|
2293 | typedef struct ID2D1SolidColorBrushVtbl {
|
---|
2294 | ID2D1BrushVtbl Base;
|
---|
2295 |
|
---|
2296 | STDMETHOD_(void, SetColor)(ID2D1SolidColorBrush *This, const D2D1_COLOR_F *color) PURE;
|
---|
2297 | STDMETHOD_(D2D1_COLOR_F, GetColor)(ID2D1SolidColorBrush *This) PURE;
|
---|
2298 | } ID2D1SolidColorBrushVtbl;
|
---|
2299 |
|
---|
2300 | interface ID2D1SolidColorBrush {
|
---|
2301 | const ID2D1SolidColorBrushVtbl *lpVtbl;
|
---|
2302 | };
|
---|
2303 |
|
---|
2304 | #define ID2D1SolidColorBrush_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2305 | #define ID2D1SolidColorBrush_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
2306 | #define ID2D1SolidColorBrush_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
2307 | #define ID2D1SolidColorBrush_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2308 | #define ID2D1SolidColorBrush_SetOpacity(this,A) (this)->lpVtbl->Base.SetOpacity((ID2D1Brush*)(this),A)
|
---|
2309 | #define ID2D1SolidColorBrush_SetTransform(this,A) (this)->lpVtbl->Base.SetTransform((ID2D1Brush*)(this),A)
|
---|
2310 | #define ID2D1SolidColorBrush_GetOpacity(this) (this)->lpVtbl->Base.GetOpacity((ID2D1Brush*)(this))
|
---|
2311 | #define ID2D1SolidColorBrush_GetTransform(this,A) (this)->lpVtbl->Base.GetTransform((ID2D1Brush*)(this),A)
|
---|
2312 | #define ID2D1SolidColorBrush_GetColor(this) (this)->lpVtbl->GetColor(this)
|
---|
2313 | #define ID2D1SolidColorBrush_SetColor(this,A) (this)->lpVtbl->SetColor(this,A)
|
---|
2314 |
|
---|
2315 | #endif
|
---|
2316 |
|
---|
2317 | DEFINE_GUID(IID_ID2D1StrokeStyle, 0x2cd9069d,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2318 |
|
---|
2319 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2320 |
|
---|
2321 | interface ID2D1StrokeStyle : public ID2D1Resource {
|
---|
2322 | STDMETHOD_(D2D1_CAP_STYLE, GetStartCap)(void) const PURE;
|
---|
2323 | STDMETHOD_(D2D1_CAP_STYLE, GetEndCap)(void) const PURE;
|
---|
2324 | STDMETHOD_(D2D1_CAP_STYLE, GetDashCap)(void) const PURE;
|
---|
2325 | STDMETHOD_(FLOAT, GetMiterLimit)(void) const PURE;
|
---|
2326 | STDMETHOD_(D2D1_LINE_JOIN, GetLineJoin)(void) const PURE;
|
---|
2327 | STDMETHOD_(FLOAT, GetDashOffset)(void) const PURE;
|
---|
2328 | STDMETHOD_(D2D1_DASH_STYLE, GetDashStyle)(void) const PURE;
|
---|
2329 | STDMETHOD_(UINT32, GetDashesCount)(void) const PURE;
|
---|
2330 | STDMETHOD_(void, GetDashes)(FLOAT *dashes, UINT dashesCount) const PURE;
|
---|
2331 | };
|
---|
2332 |
|
---|
2333 | #else
|
---|
2334 |
|
---|
2335 | typedef struct ID2D1StrokeStyleVtbl {
|
---|
2336 | ID2D1ResourceVtbl Base;
|
---|
2337 |
|
---|
2338 | STDMETHOD_(D2D1_CAP_STYLE, GetStartCap)(ID2D1StrokeStyle *This) PURE;
|
---|
2339 | STDMETHOD_(D2D1_CAP_STYLE, GetEndCap)(ID2D1StrokeStyle *This) PURE;
|
---|
2340 | STDMETHOD_(D2D1_CAP_STYLE, GetDashCap)(ID2D1StrokeStyle *This) PURE;
|
---|
2341 | STDMETHOD_(FLOAT, GetMiterLimit)(ID2D1StrokeStyle *This) PURE;
|
---|
2342 | STDMETHOD_(D2D1_LINE_JOIN, GetLineJoin)(ID2D1StrokeStyle *This) PURE;
|
---|
2343 | STDMETHOD_(FLOAT, GetDashOffset)(ID2D1StrokeStyle *This) PURE;
|
---|
2344 | STDMETHOD_(D2D1_DASH_STYLE, GetDashStyle)(ID2D1StrokeStyle *This) PURE;
|
---|
2345 | STDMETHOD_(UINT32, GetDashesCount)(ID2D1StrokeStyle *This) PURE;
|
---|
2346 | STDMETHOD_(void, GetDashes)(ID2D1StrokeStyle *This, FLOAT *dashes, UINT dashesCount) PURE;
|
---|
2347 | } ID2D1StrokeStyleVtbl;
|
---|
2348 |
|
---|
2349 | interface ID2D1StrokeStyle {
|
---|
2350 | const ID2D1StrokeStyleVtbl *lpVtbl;
|
---|
2351 | };
|
---|
2352 |
|
---|
2353 | #define ID2D1StrokeStyle_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2354 | #define ID2D1StrokeStyle_AddRef(this) (this)->lpVtbl->Base.Base.AddRef((IUnknown*)(this))
|
---|
2355 | #define ID2D1StrokeStyle_Release(this) (this)->lpVtbl->Base.Base.Release((IUnknown*)(this))
|
---|
2356 | #define ID2D1StrokeStyle_GetFactory(this,A) (this)->lpVtbl->Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2357 | #define ID2D1StrokeStyle_GetDashCap(this) (this)->lpVtbl->GetDashCap(this)
|
---|
2358 | #define ID2D1StrokeStyle_GetDashes(this,A,B) (this)->lpVtbl->GetDashes(this,A,B)
|
---|
2359 | #define ID2D1StrokeStyle_GetDashesCount(this) (this)->lpVtbl->GetDashesCount(this)
|
---|
2360 | #define ID2D1StrokeStyle_GetDashOffset(this) (this)->lpVtbl->GetDashOffset(this)
|
---|
2361 | #define ID2D1StrokeStyle_GetDashStyle(this) (this)->lpVtbl->GetDashStyle(this)
|
---|
2362 | #define ID2D1StrokeStyle_GetEndCap(this) (this)->lpVtbl->GetEndCap(this)
|
---|
2363 | #define ID2D1StrokeStyle_GetLineJoin(this) (this)->lpVtbl->GetLineJoin(this)
|
---|
2364 | #define ID2D1StrokeStyle_GetMiterLimit(this) (this)->lpVtbl->GetMiterLimit(this)
|
---|
2365 | #define ID2D1StrokeStyle_GetStartCap(this) (this)->lpVtbl->GetStartCap(this)
|
---|
2366 |
|
---|
2367 | #endif
|
---|
2368 |
|
---|
2369 | DEFINE_GUID(IID_ID2D1TessellationSink, 0x2cd906c1,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2370 |
|
---|
2371 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2372 |
|
---|
2373 | interface ID2D1TessellationSink : public IUnknown {
|
---|
2374 | STDMETHOD_(void, AddTriangles)(const D2D1_TRIANGLE *triangles, UINT trianglesCount) PURE;
|
---|
2375 | STDMETHOD(Close)() PURE;
|
---|
2376 | };
|
---|
2377 |
|
---|
2378 | #else
|
---|
2379 |
|
---|
2380 | typedef struct ID2D1TessellationSinkVtbl {
|
---|
2381 | IUnknownVtbl Base;
|
---|
2382 |
|
---|
2383 | STDMETHOD_(void, AddTriangles)(ID2D1TessellationSink *This, const D2D1_TRIANGLE *triangles, UINT trianglesCount) PURE;
|
---|
2384 | STDMETHOD(Close)(ID2D1TessellationSink *This) PURE;
|
---|
2385 | } ID2D1TessellationSinkVtbl;
|
---|
2386 |
|
---|
2387 | interface ID2D1TessellationSink {
|
---|
2388 | const struct ID2D1TessellationSinkVtbl *lpVtbl;
|
---|
2389 | };
|
---|
2390 |
|
---|
2391 | #define ID2D1TessellationSink_QueryInterface(this,A,B) (this)->lpVtbl->Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2392 | #define ID2D1TessellationSink_AddRef(this) (this)->lpVtbl->Base.AddRef((IUnknown*)(this))
|
---|
2393 | #define ID2D1TessellationSink_Release(this) (this)->lpVtbl->Base.Release((IUnknown*)(this))
|
---|
2394 | #define ID2D1TessellationSink_AddTriangles(this,A,B) (this)->lpVtbl->AddTriangles(this,A,B)
|
---|
2395 | #define ID2D1TessellationSink_Close(this) (this)->lpVtbl->Close(this)
|
---|
2396 |
|
---|
2397 | #endif
|
---|
2398 |
|
---|
2399 | DEFINE_GUID(IID_ID2D1TransformedGeometry, 0x2cd906bb,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2400 |
|
---|
2401 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2402 |
|
---|
2403 | interface ID2D1TransformedGeometry : public ID2D1Geometry {
|
---|
2404 | STDMETHOD_(void, GetSourceGeometry)(ID2D1Geometry **sourceGeometry) const PURE;
|
---|
2405 | STDMETHOD_(void, GetTransform)(D2D1_MATRIX_3X2_F *transform) const PURE;
|
---|
2406 | };
|
---|
2407 |
|
---|
2408 | #else
|
---|
2409 |
|
---|
2410 | typedef struct ID2D1TransformedGeometryVtbl {
|
---|
2411 | ID2D1GeometryVtbl Base;
|
---|
2412 |
|
---|
2413 | STDMETHOD_(void, GetSourceGeometry)(ID2D1TransformedGeometry *This, ID2D1Geometry **sourceGeometry) PURE;
|
---|
2414 | STDMETHOD_(void, GetTransform)(ID2D1TransformedGeometry *This, D2D1_MATRIX_3X2_F *transform) PURE;
|
---|
2415 | } ID2D1TransformedGeometryVtbl;
|
---|
2416 |
|
---|
2417 | interface ID2D1TransformedGeometry {
|
---|
2418 | const ID2D1TransformedGeometryVtbl *lpVtbl;
|
---|
2419 | };
|
---|
2420 |
|
---|
2421 | #define ID2D1TransformedGeometry_QueryInterface(this,A,B) (this)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown*)(this),A,B)
|
---|
2422 | #define ID2D1TransformedGeometry_AddRef(this) (this)->lpVtbl->Base.Base.Base.AddRef((IUnknown*)(this))
|
---|
2423 | #define ID2D1TransformedGeometry_Release(this) (this)->lpVtbl->Base.Base.Base.Release((IUnknown*)(this))
|
---|
2424 | #define ID2D1TransformedGeometry_GetFactory(this,A) (this)->lpVtbl->Base.Base.GetFactory((ID2D1Resource*)(this),A)
|
---|
2425 | #define ID2D1TransformedGeometry_CombineWithGeometry(this,A,B,C,D) (this)->lpVtbl->Base.CombineWithGeometry((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2426 | #define ID2D1TransformedGeometry_CompareWithGeometry(this,A,B,C) (this)->lpVtbl->Base.CompareWithGeometry((ID2D1Geometry*)(this),A,B,C)
|
---|
2427 | #define ID2D1TransformedGeometry_ComputeArea(this,A,B) (this)->lpVtbl->Base.ComputeArea((ID2D1Geometry*)(this),A,B)
|
---|
2428 | #define ID2D1TransformedGeometry_ComputeLength(this,A,B) (this)->lpVtbl->Base.ComputeLength((ID2D1Geometry*)(this),A,B)
|
---|
2429 | #define ID2D1TransformedGeometry_ComputePointAtLength(this,A,B,C,D) (this)->lpVtbl->Base.ComputePointAtLength((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2430 | #define ID2D1TransformedGeometry_FillContainsPoint(this,A,B,C) (this)->lpVtbl->Base.FillContainsPoint((ID2D1Geometry*)(this),A,B,C)
|
---|
2431 | #define ID2D1TransformedGeometry_GetBounds(this,A,B) (this)->lpVtbl->Base.GetBounds((ID2D1Geometry*)(this),A,B)
|
---|
2432 | #define ID2D1TransformedGeometry_GetWidenedBounds(this,A,B,C,D) (this)->lpVtbl->Base.GetWidenedBounds((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2433 | #define ID2D1TransformedGeometry_Outline(this,A,B) (this)->lpVtbl->Base.Outline((ID2D1Geometry*)(this),A,B)
|
---|
2434 | #define ID2D1TransformedGeometry_StrokeContainsPoint(this,A,B,C,D,E) (this)->lpVtbl->Base.StrokeContainsPoint((ID2D1Geometry*)(this),A,B,C,D,E)
|
---|
2435 | #define ID2D1TransformedGeometry_Simplify(this,A,B,C) (this)->lpVtbl->Base.Simplify((ID2D1Geometry*)(this),A,B,C)
|
---|
2436 | #define ID2D1TransformedGeometry_Tessellate(this,A,B) (this)->lpVtbl->Base.Tessellate((ID2D1Geometry*)(this),A,B)
|
---|
2437 | #define ID2D1TransformedGeometry_Widen(this,A,B,C,D) (this)->lpVtbl->Base.Widen((ID2D1Geometry*)(this),A,B,C,D)
|
---|
2438 | #define ID2D1TransformedGeometry_GetSourceGeometry(this,A) (this)->lpVtbl->GetSourceGeometry(this,A)
|
---|
2439 | #define ID2D1TransformedGeometry_GetTransform(this,A) (this)->lpVtbl->GetTransform(this,A)
|
---|
2440 |
|
---|
2441 | #endif
|
---|
2442 |
|
---|
2443 | __CRT_UUID_DECL(ID2D1Resource, 0x2cd90691,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2444 | __CRT_UUID_DECL(ID2D1Brush, 0x2cd906a8,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2445 | __CRT_UUID_DECL(ID2D1Bitmap, 0xa2296057,0xea42,0x4099,0x98,0x3b,0x53,0x9f,0xb6,0x50,0x54,0x26)
|
---|
2446 | __CRT_UUID_DECL(ID2D1BitmapBrush, 0x2cd906aa,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2447 | __CRT_UUID_DECL(ID2D1RenderTarget, 0x2cd90694,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2448 | __CRT_UUID_DECL(ID2D1Geometry, 0x2cd906a1,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2449 | __CRT_UUID_DECL(ID2D1BitmapRenderTarget, 0x2cd90695,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2450 | __CRT_UUID_DECL(ID2D1DCRenderTarget, 0x1c51bc64,0xde61,0x46fd,0x98,0x99,0x63,0xa5,0xd8,0xf0,0x39,0x50)
|
---|
2451 | __CRT_UUID_DECL(ID2D1SimplifiedGeometrySink, 0x2cd9069e,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2452 | __CRT_UUID_DECL(ID2D1Factory, 0x06152247,0x6f50,0x465a,0x92,0x45,0x11,0x8b,0xfd,0x3b,0x60,0x07)
|
---|
2453 | __CRT_UUID_DECL(ID2D1GdiInteropRenderTarget, 0xe0db51c3,0x6f77,0x4bae,0xb3,0xd5,0xe4,0x75,0x09,0xb3,0x58,0x38)
|
---|
2454 | __CRT_UUID_DECL(ID2D1GeometrySink, 0x2cd9069f,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2455 | __CRT_UUID_DECL(ID2D1GradientStopCollection, 0x2cd906a7,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2456 | __CRT_UUID_DECL(ID2D1Layer, 0x2cd9069b,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2457 | __CRT_UUID_DECL(ID2D1LinearGradientBrush, 0x2cd906ab,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2458 | __CRT_UUID_DECL(ID2D1PathGeometry, 0x2cd906a5,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2459 | __CRT_UUID_DECL(ID2D1RadialGradientBrush, 0x2cd906ac,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2460 | __CRT_UUID_DECL(ID2D1RectangleGeometry, 0x2cd906a2,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2461 | __CRT_UUID_DECL(ID2D1SolidColorBrush, 0x2cd906a9,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2462 | __CRT_UUID_DECL(ID2D1StrokeStyle, 0x2cd9069d,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2463 | __CRT_UUID_DECL(ID2D1TransformedGeometry, 0x2cd906bb,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9)
|
---|
2464 | __CRT_UUID_DECL(ID2D1Mesh,0x2cd906c2,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2465 | __CRT_UUID_DECL(ID2D1DrawingStateBlock, 0x28506e39,0xebf6,0x46a1,0xbb,0x47,0xfd,0x85,0x56,0x5a,0xb9,0x57);
|
---|
2466 | __CRT_UUID_DECL(ID2D1EllipseGeometry, 0x2cd906a4,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2467 | __CRT_UUID_DECL(ID2D1GeometryGroup, 0x2cd906a6,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2468 | __CRT_UUID_DECL(ID2D1RoundedRectangleGeometry, 0x2cd906a3,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2469 | __CRT_UUID_DECL(ID2D1TessellationSink, 0x2cd906c1,0x12e2,0x11dc,0x9f,0xed,0x00,0x11,0x43,0xa0,0x55,0xf9);
|
---|
2470 | __CRT_UUID_DECL(ID2D1Image, 0x65019f75,0x8da2,0x497c,0xb3,0x2c,0xdf,0xa3,0x4e,0x48,0xed,0xe6);
|
---|
2471 |
|
---|
2472 | #ifdef __cplusplus
|
---|
2473 | extern "C" {
|
---|
2474 | #endif
|
---|
2475 |
|
---|
2476 | HRESULT WINAPI D2D1CreateFactory(
|
---|
2477 | D2D1_FACTORY_TYPE factoryType,
|
---|
2478 | REFIID riid,
|
---|
2479 | const D2D1_FACTORY_OPTIONS *pFactoryOptions,
|
---|
2480 | void **ppIFactory
|
---|
2481 | );
|
---|
2482 |
|
---|
2483 | WINBOOL WINAPI D2D1InvertMatrix(
|
---|
2484 | D2D1_MATRIX_3X2_F *matrix
|
---|
2485 | );
|
---|
2486 |
|
---|
2487 | WINBOOL WINAPI D2D1IsMatrixInvertible(
|
---|
2488 | const D2D1_MATRIX_3X2_F *matrix
|
---|
2489 | );
|
---|
2490 |
|
---|
2491 | void WINAPI D2D1MakeRotateMatrix(
|
---|
2492 | FLOAT angle,
|
---|
2493 | D2D1_POINT_2F center,
|
---|
2494 | D2D1_MATRIX_3X2_F *matrix
|
---|
2495 | );
|
---|
2496 |
|
---|
2497 | void WINAPI D2D1MakeSkewMatrix(
|
---|
2498 | FLOAT angleX,
|
---|
2499 | FLOAT angleY,
|
---|
2500 | D2D1_POINT_2F center,
|
---|
2501 | D2D1_MATRIX_3X2_F *matrix
|
---|
2502 | );
|
---|
2503 | #ifdef __cplusplus
|
---|
2504 | }
|
---|
2505 | #endif
|
---|
2506 |
|
---|
2507 | #ifndef D2D1FORCEINLINE
|
---|
2508 | #define D2D1FORCEINLINE FORCEINLINE
|
---|
2509 | #endif
|
---|
2510 |
|
---|
2511 | #include <d2d1helper.h>
|
---|
2512 |
|
---|
2513 | #ifndef D2D_USE_C_DEFINITIONS
|
---|
2514 |
|
---|
2515 | inline HRESULT D2D1CreateFactory(D2D1_FACTORY_TYPE factoryType, REFIID riid, void **ppv) {
|
---|
2516 | return D2D1CreateFactory(factoryType, riid, NULL, ppv);
|
---|
2517 | }
|
---|
2518 |
|
---|
2519 | template<class Factory>
|
---|
2520 | HRESULT D2D1CreateFactory(D2D1_FACTORY_TYPE factoryType, Factory **factory) {
|
---|
2521 | return D2D1CreateFactory(factoryType, __uuidof(Factory), reinterpret_cast<void**>(factory));
|
---|
2522 | }
|
---|
2523 |
|
---|
2524 | template<class Factory>
|
---|
2525 | HRESULT D2D1CreateFactory(D2D1_FACTORY_TYPE factoryType, const D2D1_FACTORY_OPTIONS &factoryOptions, Factory **factory) {
|
---|
2526 | return D2D1CreateFactory(factoryType, __uuidof(Factory), &factoryOptions, reinterpret_cast<void **>(factory));
|
---|
2527 | }
|
---|
2528 |
|
---|
2529 | #endif
|
---|
2530 |
|
---|
2531 | #endif /* _D2D1_H */
|
---|