1 D2D1_ALPHA_MODE = Enum("D2D1_ALPHA_MODE", [
2 "D2D1_ALPHA_MODE_UNKNOWN",
3 "D2D1_ALPHA_MODE_PREMULTIPLIED",
4 "D2D1_ALPHA_MODE_STRAIGHT",
5 "D2D1_ALPHA_MODE_IGNORE",
6 "D2D1_ALPHA_MODE_FORCE_DWORD",
9 D2D1_GAMMA = Enum("D2D1_GAMMA", [
12 "D2D1_GAMMA_FORCE_DWORD",
15 D2D1_OPACITY_MASK_CONTENT = Enum("D2D1_OPACITY_MASK_CONTENT", [
16 "D2D1_OPACITY_MASK_CONTENT_GRAPHICS",
17 "D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL",
18 "D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE",
19 "D2D1_OPACITY_MASK_CONTENT_FORCE_DWORD",
22 D2D1_EXTEND_MODE = Enum("D2D1_EXTEND_MODE", [
23 "D2D1_EXTEND_MODE_CLAMP",
24 "D2D1_EXTEND_MODE_WRAP",
25 "D2D1_EXTEND_MODE_MIRROR",
26 "D2D1_EXTEND_MODE_FORCE_DWORD",
29 D2D1_ANTIALIAS_MODE = Enum("D2D1_ANTIALIAS_MODE", [
30 "D2D1_ANTIALIAS_MODE_PER_PRIMITIVE",
31 "D2D1_ANTIALIAS_MODE_ALIASED",
32 "D2D1_ANTIALIAS_MODE_FORCE_DWORD",
35 D2D1_TEXT_ANTIALIAS_MODE = Enum("D2D1_TEXT_ANTIALIAS_MODE", [
36 "D2D1_TEXT_ANTIALIAS_MODE_DEFAULT",
37 "D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE",
38 "D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE",
39 "D2D1_TEXT_ANTIALIAS_MODE_ALIASED",
40 "D2D1_TEXT_ANTIALIAS_MODE_FORCE_DWORD",
43 D2D1_BITMAP_INTERPOLATION_MODE = Enum("D2D1_BITMAP_INTERPOLATION_MODE", [
44 "D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR",
45 "D2D1_BITMAP_INTERPOLATION_MODE_LINEAR",
46 "D2D1_BITMAP_INTERPOLATION_MODE_FORCE_DWORD",
49 D2D1_DRAW_TEXT_OPTIONS = Enum("D2D1_DRAW_TEXT_OPTIONS", [
50 "D2D1_DRAW_TEXT_OPTIONS_NO_SNAP",
51 "D2D1_DRAW_TEXT_OPTIONS_NO_CLIP",
52 "D2D1_DRAW_TEXT_OPTIONS_NONE",
53 "D2D1_DRAW_TEXT_OPTIONS_FORCE_DWORD",
56 D2D1_PIXEL_FORMAT = Struct("D2D1_PIXEL_FORMAT", [
57 (DXGI_FORMAT, "format"),
58 (D2D1_ALPHA_MODE, "alphaMode"),
61 D2D1_POINT_2U = Alias("D2D1_POINT_2U", D2D_POINT_2U)
62 D2D1_POINT_2F = Alias("D2D1_POINT_2F", D2D_POINT_2F)
63 D2D1_RECT_F = Alias("D2D1_RECT_F", D2D_RECT_F)
64 D2D1_RECT_U = Alias("D2D1_RECT_U", D2D_RECT_U)
65 D2D1_SIZE_F = Alias("D2D1_SIZE_F", D2D_SIZE_F)
66 D2D1_SIZE_U = Alias("D2D1_SIZE_U", D2D_SIZE_U)
67 D2D1_COLOR_F = Alias("D2D1_COLOR_F", D2D_COLOR_F)
68 D2D1_MATRIX_3X2_F = Alias("D2D1_MATRIX_3X2_F", D2D_MATRIX_3X2_F)
69 D2D1_TAG = Alias("D2D1_TAG", UINT64)
70 D2D1_BITMAP_PROPERTIES = Struct("D2D1_BITMAP_PROPERTIES", [
71 (D2D1_PIXEL_FORMAT, "pixelFormat"),
76 D2D1_GRADIENT_STOP = Struct("D2D1_GRADIENT_STOP", [
78 (D2D1_COLOR_F, "color"),
81 D2D1_BRUSH_PROPERTIES = Struct("D2D1_BRUSH_PROPERTIES", [
83 (D2D1_MATRIX_3X2_F, "transform"),
86 D2D1_BITMAP_BRUSH_PROPERTIES = Struct("D2D1_BITMAP_BRUSH_PROPERTIES", [
87 (D2D1_EXTEND_MODE, "extendModeX"),
88 (D2D1_EXTEND_MODE, "extendModeY"),
89 (D2D1_BITMAP_INTERPOLATION_MODE, "interpolationMode"),
92 D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES = Struct("D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES", [
93 (D2D1_POINT_2F, "startPoint"),
94 (D2D1_POINT_2F, "endPoint"),
97 D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES = Struct("D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES", [
98 (D2D1_POINT_2F, "center"),
99 (D2D1_POINT_2F, "gradientOriginOffset"),
104 D2D1_ARC_SIZE = Enum("D2D1_ARC_SIZE", [
105 "D2D1_ARC_SIZE_SMALL",
106 "D2D1_ARC_SIZE_LARGE",
107 "D2D1_ARC_SIZE_FORCE_DWORD",
110 D2D1_CAP_STYLE = Enum("D2D1_CAP_STYLE", [
111 "D2D1_CAP_STYLE_FLAT",
112 "D2D1_CAP_STYLE_SQUARE",
113 "D2D1_CAP_STYLE_ROUND",
114 "D2D1_CAP_STYLE_TRIANGLE",
115 "D2D1_CAP_STYLE_FORCE_DWORD",
118 D2D1_DASH_STYLE = Enum("D2D1_DASH_STYLE", [
119 "D2D1_DASH_STYLE_SOLID",
120 "D2D1_DASH_STYLE_DASH",
121 "D2D1_DASH_STYLE_DOT",
122 "D2D1_DASH_STYLE_DASH_DOT",
123 "D2D1_DASH_STYLE_DASH_DOT_DOT",
124 "D2D1_DASH_STYLE_CUSTOM",
125 "D2D1_DASH_STYLE_FORCE_DWORD",
128 D2D1_LINE_JOIN = Enum("D2D1_LINE_JOIN", [
129 "D2D1_LINE_JOIN_MITER",
130 "D2D1_LINE_JOIN_BEVEL",
131 "D2D1_LINE_JOIN_ROUND",
132 "D2D1_LINE_JOIN_MITER_OR_BEVEL",
133 "D2D1_LINE_JOIN_FORCE_DWORD",
136 D2D1_COMBINE_MODE = Enum("D2D1_COMBINE_MODE", [
137 "D2D1_COMBINE_MODE_UNION",
138 "D2D1_COMBINE_MODE_INTERSECT",
139 "D2D1_COMBINE_MODE_XOR",
140 "D2D1_COMBINE_MODE_EXCLUDE",
141 "D2D1_COMBINE_MODE_FORCE_DWORD",
144 D2D1_GEOMETRY_RELATION = Enum("D2D1_GEOMETRY_RELATION", [
145 "D2D1_GEOMETRY_RELATION_UNKNOWN",
146 "D2D1_GEOMETRY_RELATION_DISJOINT",
147 "D2D1_GEOMETRY_RELATION_IS_CONTAINED",
148 "D2D1_GEOMETRY_RELATION_CONTAINS",
149 "D2D1_GEOMETRY_RELATION_OVERLAP",
150 "D2D1_GEOMETRY_RELATION_FORCE_DWORD",
153 D2D1_GEOMETRY_SIMPLIFICATION_OPTION = Enum("D2D1_GEOMETRY_SIMPLIFICATION_OPTION", [
154 "D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES",
155 "D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES",
156 "D2D1_GEOMETRY_SIMPLIFICATION_OPTION_FORCE_DWORD",
159 D2D1_FIGURE_BEGIN = Enum("D2D1_FIGURE_BEGIN", [
160 "D2D1_FIGURE_BEGIN_FILLED",
161 "D2D1_FIGURE_BEGIN_HOLLOW",
162 "D2D1_FIGURE_BEGIN_FORCE_DWORD",
165 D2D1_FIGURE_END = Enum("D2D1_FIGURE_END", [
166 "D2D1_FIGURE_END_OPEN",
167 "D2D1_FIGURE_END_CLOSED",
168 "D2D1_FIGURE_END_FORCE_DWORD",
171 D2D1_BEZIER_SEGMENT = Struct("D2D1_BEZIER_SEGMENT", [
172 (D2D1_POINT_2F, "point1"),
173 (D2D1_POINT_2F, "point2"),
174 (D2D1_POINT_2F, "point3"),
177 D2D1_TRIANGLE = Struct("D2D1_TRIANGLE", [
178 (D2D1_POINT_2F, "point1"),
179 (D2D1_POINT_2F, "point2"),
180 (D2D1_POINT_2F, "point3"),
183 D2D1_PATH_SEGMENT = Enum("D2D1_PATH_SEGMENT", [
184 "D2D1_PATH_SEGMENT_NONE",
185 "D2D1_PATH_SEGMENT_FORCE_UNSTROKED",
186 "D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN",
187 "D2D1_PATH_SEGMENT_FORCE_DWORD",
190 D2D1_SWEEP_DIRECTION = Enum("D2D1_SWEEP_DIRECTION", [
191 "D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE",
192 "D2D1_SWEEP_DIRECTION_CLOCKWISE",
193 "D2D1_SWEEP_DIRECTION_FORCE_DWORD",
196 D2D1_FILL_MODE = Enum("D2D1_FILL_MODE", [
197 "D2D1_FILL_MODE_ALTERNATE",
198 "D2D1_FILL_MODE_WINDING",
199 "D2D1_FILL_MODE_FORCE_DWORD",
202 D2D1_ARC_SEGMENT = Struct("D2D1_ARC_SEGMENT", [
203 (D2D1_POINT_2F, "point"),
204 (D2D1_SIZE_F, "size"),
205 (FLOAT, "rotationAngle"),
206 (D2D1_SWEEP_DIRECTION, "sweepDirection"),
207 (D2D1_ARC_SIZE, "arcSize"),
210 D2D1_QUADRATIC_BEZIER_SEGMENT = Struct("D2D1_QUADRATIC_BEZIER_SEGMENT", [
211 (D2D1_POINT_2F, "point1"),
212 (D2D1_POINT_2F, "point2"),
215 D2D1_ELLIPSE = Struct("D2D1_ELLIPSE", [
216 (D2D1_POINT_2F, "point"),
221 D2D1_ROUNDED_RECT = Struct("D2D1_ROUNDED_RECT", [
222 (D2D1_RECT_F, "rect"),
227 D2D1_STROKE_STYLE_PROPERTIES = Struct("D2D1_STROKE_STYLE_PROPERTIES", [
228 (D2D1_CAP_STYLE, "startCap"),
229 (D2D1_CAP_STYLE, "endCap"),
230 (D2D1_CAP_STYLE, "dashCap"),
231 (D2D1_LINE_JOIN, "lineJoin"),
232 (FLOAT, "miterLimit"),
233 (D2D1_DASH_STYLE, "dashStyle"),
234 (FLOAT, "dashOffset"),
237 D2D1_LAYER_OPTIONS = Enum("D2D1_LAYER_OPTIONS", [
238 "D2D1_LAYER_OPTIONS_NONE",
239 "D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE",
240 "D2D1_LAYER_OPTIONS_FORCE_DWORD",
243 D2D1_LAYER_PARAMETERS = Struct("D2D1_LAYER_PARAMETERS", [
244 (D2D1_RECT_F, "contentBounds"),
245 (OpaquePointer(ID2D1Geometry), "geometricMask"),
246 (D2D1_ANTIALIAS_MODE, "maskAntialiasMode"),
247 (D2D1_MATRIX_3X2_F, "maskTransform"),
249 (OpaquePointer(ID2D1Brush), "opacityBrush"),
250 (D2D1_LAYER_OPTIONS, "layerOptions"),
253 D2D1_WINDOW_STATE = Enum("D2D1_WINDOW_STATE", [
254 "D2D1_WINDOW_STATE_NONE",
255 "D2D1_WINDOW_STATE_OCCLUDED",
256 "D2D1_WINDOW_STATE_FORCE_DWORD",
259 D2D1_RENDER_TARGET_TYPE = Enum("D2D1_RENDER_TARGET_TYPE", [
260 "D2D1_RENDER_TARGET_TYPE_DEFAULT",
261 "D2D1_RENDER_TARGET_TYPE_SOFTWARE",
262 "D2D1_RENDER_TARGET_TYPE_HARDWARE",
263 "D2D1_RENDER_TARGET_TYPE_FORCE_DWORD",
266 D2D1_FEATURE_LEVEL = Enum("D2D1_FEATURE_LEVEL", [
267 "D2D1_FEATURE_LEVEL_DEFAULT",
268 "D2D1_FEATURE_LEVEL_9",
269 "D2D1_FEATURE_LEVEL_10",
270 "D2D1_FEATURE_LEVEL_FORCE_DWORD",
273 D2D1_RENDER_TARGET_USAGE = Enum("D2D1_RENDER_TARGET_USAGE", [
274 "D2D1_RENDER_TARGET_USAGE_NONE",
275 "D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING",
276 "D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE",
277 "D2D1_RENDER_TARGET_USAGE_FORCE_DWORD",
280 D2D1_PRESENT_OPTIONS = Enum("D2D1_PRESENT_OPTIONS", [
281 "D2D1_PRESENT_OPTIONS_NONE",
282 "D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS",
283 "D2D1_PRESENT_OPTIONS_IMMEDIATELY",
284 "D2D1_PRESENT_OPTIONS_FORCE_DWORD",
287 D2D1_RENDER_TARGET_PROPERTIES = Struct("D2D1_RENDER_TARGET_PROPERTIES", [
288 (D2D1_RENDER_TARGET_TYPE, "type"),
289 (D2D1_PIXEL_FORMAT, "pixelFormat"),
292 (D2D1_RENDER_TARGET_USAGE, "usage"),
293 (D2D1_FEATURE_LEVEL, "minLevel"),
296 D2D1_HWND_RENDER_TARGET_PROPERTIES = Struct("D2D1_HWND_RENDER_TARGET_PROPERTIES", [
298 (D2D1_SIZE_U, "pixelSize"),
299 (D2D1_PRESENT_OPTIONS, "presentOptions"),
302 D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS = Enum("D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS", [
303 "D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE",
304 "D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE",
305 "D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_FORCE_DWORD",
308 D2D1_DRAWING_STATE_DESCRIPTION = Struct("D2D1_DRAWING_STATE_DESCRIPTION", [
309 (D2D1_ANTIALIAS_MODE, "antialiasMode"),
310 (D2D1_TEXT_ANTIALIAS_MODE, "textAntialiasMode"),
313 (D2D1_MATRIX_3X2_F, "transform"),
316 D2D1_DC_INITIALIZE_MODE = Enum("D2D1_DC_INITIALIZE_MODE", [
317 "D2D1_DC_INITIALIZE_MODE_COPY",
318 "D2D1_DC_INITIALIZE_MODE_CLEAR",
319 "D2D1_DC_INITIALIZE_MODE_FORCE_DWORD",
322 D2D1_DEBUG_LEVEL = Enum("D2D1_DEBUG_LEVEL", [
323 "D2D1_DEBUG_LEVEL_NONE",
324 "D2D1_DEBUG_LEVEL_ERROR",
325 "D2D1_DEBUG_LEVEL_WARNING",
326 "D2D1_DEBUG_LEVEL_INFORMATION",
327 "D2D1_DEBUG_LEVEL_FORCE_DWORD",
330 D2D1_FACTORY_TYPE = Enum("D2D1_FACTORY_TYPE", [
331 "D2D1_FACTORY_TYPE_SINGLE_THREADED",
332 "D2D1_FACTORY_TYPE_MULTI_THREADED",
333 "D2D1_FACTORY_TYPE_FORCE_DWORD",
336 D2D1_FACTORY_OPTIONS = Struct("D2D1_FACTORY_OPTIONS", [
337 (D2D1_DEBUG_LEVEL, "debugLevel"),
340 ID2D1Resource = Interface("ID2D1Resource", IUnknown)
341 ID2D1Resource.methods += [
342 Method(Void, "GetFactory", [Out(OpaquePointer(OpaquePointer(ID2D1Factory)), "factory")], const=True),
345 ID2D1Bitmap = Interface("ID2D1Bitmap", ID2D1Resource)
346 ID2D1Bitmap.methods += [
347 Method(D2D1_SIZE_F, "GetSize", [], const=True),
348 Method(D2D1_SIZE_U, "GetPixelSize", [], const=True),
349 Method(D2D1_PIXEL_FORMAT, "GetPixelFormat", [], const=True),
350 Method(Void, "GetDpi", [Out(OpaquePointer(FLOAT), "dpiX"), Out(OpaquePointer(FLOAT), "dpiY")], const=True),
351 Method(HRESULT, "CopyFromBitmap", [(OpaquePointer(Const(D2D1_POINT_2U)), "destPoint"), (OpaquePointer(ID2D1Bitmap), "bitmap"), (OpaquePointer(Const(D2D1_RECT_U)), "srcRect")]),
352 Method(HRESULT, "CopyFromRenderTarget", [(OpaquePointer(Const(D2D1_POINT_2U)), "destPoint"), (OpaquePointer(ID2D1RenderTarget), "renderTarget"), (OpaquePointer(Const(D2D1_RECT_U)), "srcRect")]),
353 Method(HRESULT, "CopyFromMemory", [(OpaquePointer(Const(D2D1_RECT_U)), "dstRect"), (OpaquePointer(Const(Void)), "srcData"), (UINT32, "pitch")]),
356 ID2D1GradientStopCollection = Interface("ID2D1GradientStopCollection", ID2D1Resource)
357 ID2D1GradientStopCollection.methods += [
358 Method(UINT32, "GetGradientStopCount", [], const=True),
359 Method(Void, "GetGradientStops", [Out(OpaquePointer(D2D1_GRADIENT_STOP), "gradientStops"), (UINT, "gradientStopsCount")], const=True),
360 Method(D2D1_GAMMA, "GetColorInterpolationGamma", [], const=True),
361 Method(D2D1_EXTEND_MODE, "GetExtendMode", [], const=True),
364 ID2D1Brush = Interface("ID2D1Brush", ID2D1Resource)
365 ID2D1Brush.methods += [
366 Method(Void, "SetOpacity", [(FLOAT, "opacity")]),
367 Method(Void, "SetTransform", [(OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "transform")]),
368 Method(FLOAT, "GetOpacity", [], const=True),
369 Method(Void, "GetTransform", [Out(OpaquePointer(D2D1_MATRIX_3X2_F), "transform")], const=True),
372 ID2D1BitmapBrush = Interface("ID2D1BitmapBrush", ID2D1Brush)
373 ID2D1BitmapBrush.methods += [
374 Method(Void, "SetExtendModeX", [(D2D1_EXTEND_MODE, "extendModeX")]),
375 Method(Void, "SetExtendModeY", [(D2D1_EXTEND_MODE, "extendModeY")]),
376 Method(Void, "SetInterpolationMode", [(D2D1_BITMAP_INTERPOLATION_MODE, "interpolationMode")]),
377 Method(Void, "SetBitmap", [(OpaquePointer(ID2D1Bitmap), "bitmap")]),
378 Method(D2D1_EXTEND_MODE, "GetExtendModeX", [], const=True),
379 Method(D2D1_EXTEND_MODE, "GetExtendModeY", [], const=True),
380 Method(D2D1_BITMAP_INTERPOLATION_MODE, "GetInterpolationMode", [], const=True),
381 Method(Void, "GetBitmap", [Out(OpaquePointer(OpaquePointer(ID2D1Bitmap)), "bitmap")], const=True),
384 ID2D1SolidColorBrush = Interface("ID2D1SolidColorBrush", ID2D1Brush)
385 ID2D1SolidColorBrush.methods += [
386 Method(Void, "SetColor", [(OpaquePointer(Const(D2D1_COLOR_F)), "color")]),
387 Method(D2D1_COLOR_F, "GetColor", [], const=True),
390 ID2D1LinearGradientBrush = Interface("ID2D1LinearGradientBrush", ID2D1Brush)
391 ID2D1LinearGradientBrush.methods += [
392 Method(Void, "SetStartPoint", [(D2D1_POINT_2F, "startPoint")]),
393 Method(Void, "SetEndPoint", [(D2D1_POINT_2F, "endPoint")]),
394 Method(D2D1_POINT_2F, "GetStartPoint", [], const=True),
395 Method(D2D1_POINT_2F, "GetEndPoint", [], const=True),
396 Method(Void, "GetGradientStopCollection", [Out(OpaquePointer(OpaquePointer(ID2D1GradientStopCollection)), "gradientStopCollection")], const=True),
399 ID2D1RadialGradientBrush = Interface("ID2D1RadialGradientBrush", ID2D1Brush)
400 ID2D1RadialGradientBrush.methods += [
401 Method(Void, "SetCenter", [(D2D1_POINT_2F, "center")]),
402 Method(Void, "SetGradientOriginOffset", [(D2D1_POINT_2F, "gradientOriginOffset")]),
403 Method(Void, "SetRadiusX", [(FLOAT, "radiusX")]),
404 Method(Void, "SetRadiusY", [(FLOAT, "radiusY")]),
405 Method(D2D1_POINT_2F, "GetCenter", [], const=True),
406 Method(D2D1_POINT_2F, "GetGradientOriginOffset", [], const=True),
407 Method(FLOAT, "GetRadiusX", [], const=True),
408 Method(FLOAT, "GetRadiusY", [], const=True),
409 Method(Void, "GetGradientStopCollection", [Out(OpaquePointer(OpaquePointer(ID2D1GradientStopCollection)), "gradientStopCollection")], const=True),
412 ID2D1StrokeStyle = Interface("ID2D1StrokeStyle", ID2D1Resource)
413 ID2D1StrokeStyle.methods += [
414 Method(D2D1_CAP_STYLE, "GetStartCap", [], const=True),
415 Method(D2D1_CAP_STYLE, "GetEndCap", [], const=True),
416 Method(D2D1_CAP_STYLE, "GetDashCap", [], const=True),
417 Method(FLOAT, "GetMiterLimit", [], const=True),
418 Method(D2D1_LINE_JOIN, "GetLineJoin", [], const=True),
419 Method(FLOAT, "GetDashOffset", [], const=True),
420 Method(D2D1_DASH_STYLE, "GetDashStyle", [], const=True),
421 Method(UINT32, "GetDashesCount", [], const=True),
422 Method(Void, "GetDashes", [Out(OpaquePointer(FLOAT), "dashes"), (UINT, "dashesCount")], const=True),
425 ID2D1Geometry = Interface("ID2D1Geometry", ID2D1Resource)
426 ID2D1Geometry.methods += [
427 Method(HRESULT, "GetBounds", [(OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), Out(OpaquePointer(D2D1_RECT_F), "bounds")], const=True),
428 Method(HRESULT, "GetWidenedBounds", [(FLOAT, "strokeWidth"), (OpaquePointer(ID2D1StrokeStyle), "strokeStyle"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), Out(OpaquePointer(D2D1_RECT_F), "bounds")], const=True),
429 Method(HRESULT, "StrokeContainsPoint", [(D2D1_POINT_2F, "point"), (FLOAT, "strokeWidth"), (OpaquePointer(ID2D1StrokeStyle), "strokeStyle"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), Out(OpaquePointer(BOOL), "contains")], const=True),
430 Method(HRESULT, "FillContainsPoint", [(D2D1_POINT_2F, "point"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), Out(OpaquePointer(BOOL), "contains")], const=True),
431 Method(HRESULT, "CompareWithGeometry", [(OpaquePointer(ID2D1Geometry), "inputGeometry"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "inputGeometryTransform"), (FLOAT, "flatteningTolerance"), Out(OpaquePointer(D2D1_GEOMETRY_RELATION), "relation")], const=True),
432 Method(HRESULT, "Simplify", [(D2D1_GEOMETRY_SIMPLIFICATION_OPTION, "simplificationOption"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), (OpaquePointer(ID2D1SimplifiedGeometrySink), "geometrySink")], const=True),
433 Method(HRESULT, "Tessellate", [(OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), (OpaquePointer(ID2D1TessellationSink), "tessellationSink")], const=True),
434 Method(HRESULT, "CombineWithGeometry", [(OpaquePointer(ID2D1Geometry), "inputGeometry"), (D2D1_COMBINE_MODE, "combineMode"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "inputGeometryTransform"), (FLOAT, "flatteningTolerance"), (OpaquePointer(ID2D1SimplifiedGeometrySink), "geometrySink")], const=True),
435 Method(HRESULT, "Outline", [(OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), (OpaquePointer(ID2D1SimplifiedGeometrySink), "geometrySink")], const=True),
436 Method(HRESULT, "ComputeArea", [(OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), Out(OpaquePointer(FLOAT), "area")], const=True),
437 Method(HRESULT, "ComputeLength", [(OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), Out(OpaquePointer(FLOAT), "length")], const=True),
438 Method(HRESULT, "ComputePointAtLength", [(FLOAT, "length"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), Out(OpaquePointer(D2D1_POINT_2F), "point"), Out(OpaquePointer(D2D1_POINT_2F), "unitTangentVector")], const=True),
439 Method(HRESULT, "Widen", [(FLOAT, "strokeWidth"), (OpaquePointer(ID2D1StrokeStyle), "strokeStyle"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "worldTransform"), (FLOAT, "flatteningTolerance"), (OpaquePointer(ID2D1SimplifiedGeometrySink), "geometrySink")], const=True),
442 ID2D1RectangleGeometry = Interface("ID2D1RectangleGeometry", ID2D1Geometry)
443 ID2D1RectangleGeometry.methods += [
444 Method(Void, "GetRect", [Out(OpaquePointer(D2D1_RECT_F), "rect")], const=True),
447 ID2D1RoundedRectangleGeometry = Interface("ID2D1RoundedRectangleGeometry", ID2D1Geometry)
448 ID2D1RoundedRectangleGeometry.methods += [
449 Method(Void, "GetRoundedRect", [Out(OpaquePointer(D2D1_ROUNDED_RECT), "roundedRect")], const=True),
452 ID2D1EllipseGeometry = Interface("ID2D1EllipseGeometry", ID2D1Geometry)
453 ID2D1EllipseGeometry.methods += [
454 Method(Void, "GetEllipse", [Out(OpaquePointer(D2D1_ELLIPSE), "ellipse")], const=True),
457 ID2D1GeometryGroup = Interface("ID2D1GeometryGroup", ID2D1Geometry)
458 ID2D1GeometryGroup.methods += [
459 Method(D2D1_FILL_MODE, "GetFillMode", [], const=True),
460 Method(UINT32, "GetSourceGeometryCount", [], const=True),
461 Method(Void, "GetSourceGeometries", [Out(OpaquePointer(OpaquePointer(ID2D1Geometry)), "geometries"), (UINT, "geometriesCount")], const=True),
464 ID2D1TransformedGeometry = Interface("ID2D1TransformedGeometry", ID2D1Geometry)
465 ID2D1TransformedGeometry.methods += [
466 Method(Void, "GetSourceGeometry", [Out(OpaquePointer(OpaquePointer(ID2D1Geometry)), "sourceGeometry")], const=True),
467 Method(Void, "GetTransform", [Out(OpaquePointer(D2D1_MATRIX_3X2_F), "transform")], const=True),
470 ID2D1SimplifiedGeometrySink = Interface("ID2D1SimplifiedGeometrySink", IUnknown)
471 ID2D1SimplifiedGeometrySink.methods += [
472 Method(Void, "SetFillMode", [(D2D1_FILL_MODE, "fillMode")]),
473 Method(Void, "SetSegmentFlags", [(D2D1_PATH_SEGMENT, "vertexFlags")]),
474 Method(Void, "BeginFigure", [(D2D1_POINT_2F, "startPoint"), (D2D1_FIGURE_BEGIN, "figureBegin")]),
475 Method(Void, "AddLines", [(OpaquePointer(Const(D2D1_POINT_2F)), "points"), (UINT, "pointsCount")]),
476 Method(Void, "AddBeziers", [(OpaquePointer(Const(D2D1_BEZIER_SEGMENT)), "beziers"), (UINT, "beziersCount")]),
477 Method(Void, "EndFigure", [(D2D1_FIGURE_END, "figureEnd")]),
478 Method(HRESULT, "Close", []),
481 ID2D1GeometrySink = Interface("ID2D1GeometrySink", ID2D1SimplifiedGeometrySink)
482 ID2D1GeometrySink.methods += [
483 Method(Void, "AddLine", [(D2D1_POINT_2F, "point")]),
484 Method(Void, "AddBezier", [(OpaquePointer(Const(D2D1_BEZIER_SEGMENT)), "bezier")]),
485 Method(Void, "AddQuadraticBezier", [(OpaquePointer(Const(D2D1_QUADRATIC_BEZIER_SEGMENT)), "bezier")]),
486 Method(Void, "AddQuadraticBeziers", [(OpaquePointer(Const(D2D1_QUADRATIC_BEZIER_SEGMENT)), "beziers"), (UINT, "beziersCount")]),
487 Method(Void, "AddArc", [(OpaquePointer(Const(D2D1_ARC_SEGMENT)), "arc")]),
490 ID2D1TessellationSink = Interface("ID2D1TessellationSink", IUnknown)
491 ID2D1TessellationSink.methods += [
492 Method(Void, "AddTriangles", [(OpaquePointer(Const(D2D1_TRIANGLE)), "triangles"), (UINT, "trianglesCount")]),
493 Method(HRESULT, "Close", []),
496 ID2D1PathGeometry = Interface("ID2D1PathGeometry", ID2D1Geometry)
497 ID2D1PathGeometry.methods += [
498 Method(HRESULT, "Open", [Out(OpaquePointer(OpaquePointer(ID2D1GeometrySink)), "geometrySink")]),
499 Method(HRESULT, "Stream", [(OpaquePointer(ID2D1GeometrySink), "geometrySink")], const=True),
500 Method(HRESULT, "GetSegmentCount", [Out(OpaquePointer(UINT32), "count")], const=True),
501 Method(HRESULT, "GetFigureCount", [Out(OpaquePointer(UINT32), "count")], const=True),
504 ID2D1Mesh = Interface("ID2D1Mesh", ID2D1Resource)
505 ID2D1Mesh.methods += [
506 Method(HRESULT, "Open", [Out(OpaquePointer(OpaquePointer(ID2D1TessellationSink)), "tessellationSink")]),
509 ID2D1Layer = Interface("ID2D1Layer", ID2D1Resource)
510 ID2D1Layer.methods += [
511 Method(D2D1_SIZE_F, "GetSize", [], const=True),
514 ID2D1DrawingStateBlock = Interface("ID2D1DrawingStateBlock", ID2D1Resource)
515 ID2D1DrawingStateBlock.methods += [
516 Method(Void, "GetDescription", [Out(OpaquePointer(D2D1_DRAWING_STATE_DESCRIPTION), "stateDescription")], const=True),
517 Method(Void, "SetDescription", [(OpaquePointer(Const(D2D1_DRAWING_STATE_DESCRIPTION)), "stateDescription")]),
518 Method(Void, "SetTextRenderingParams", [(OpaquePointer(IDWriteRenderingParams), "textRenderingParams")]),
519 Method(Void, "GetTextRenderingParams", [Out(OpaquePointer(OpaquePointer(IDWriteRenderingParams)), "textRenderingParams")], const=True),
522 ID2D1RenderTarget = Interface("ID2D1RenderTarget", ID2D1Resource)
523 ID2D1RenderTarget.methods += [
524 Method(HRESULT, "CreateBitmap", [(D2D1_SIZE_U, "size"), (OpaquePointer(Const(Void)), "srcData"), (UINT32, "pitch"), (OpaquePointer(Const(D2D1_BITMAP_PROPERTIES)), "bitmapProperties"), Out(OpaquePointer(OpaquePointer(ID2D1Bitmap)), "bitmap")]),
525 Method(HRESULT, "CreateBitmapFromWicBitmap", [(OpaquePointer(IWICBitmapSource), "wicBitmapSource"), (OpaquePointer(Const(D2D1_BITMAP_PROPERTIES)), "bitmapProperties"), Out(OpaquePointer(OpaquePointer(ID2D1Bitmap)), "bitmap")]),
526 Method(HRESULT, "CreateSharedBitmap", [(REFIID, "riid"), Out(OpaquePointer(Void), "data"), (OpaquePointer(Const(D2D1_BITMAP_PROPERTIES)), "bitmapProperties"), Out(OpaquePointer(OpaquePointer(ID2D1Bitmap)), "bitmap")]),
527 Method(HRESULT, "CreateBitmapBrush", [(OpaquePointer(ID2D1Bitmap), "bitmap"), (OpaquePointer(Const(D2D1_BITMAP_BRUSH_PROPERTIES)), "bitmapBrushProperties"), (OpaquePointer(Const(D2D1_BRUSH_PROPERTIES)), "brushProperties"), Out(OpaquePointer(OpaquePointer(ID2D1BitmapBrush)), "bitmapBrush")]),
528 Method(HRESULT, "CreateSolidColorBrush", [(OpaquePointer(Const(D2D1_COLOR_F)), "color"), (OpaquePointer(Const(D2D1_BRUSH_PROPERTIES)), "brushProperties"), Out(OpaquePointer(OpaquePointer(ID2D1SolidColorBrush)), "solidColorBrush")]),
529 Method(HRESULT, "CreateGradientStopCollection", [(OpaquePointer(Const(D2D1_GRADIENT_STOP)), "gradientStops"), (UINT, "gradientStopsCount"), (D2D1_GAMMA, "colorInterpolationGamma"), (D2D1_EXTEND_MODE, "extendMode"), Out(OpaquePointer(OpaquePointer(ID2D1GradientStopCollection)), "gradientStopCollection")]),
530 Method(HRESULT, "CreateLinearGradientBrush", [(OpaquePointer(Const(D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES)), "linearGradientBrushProperties"), (OpaquePointer(Const(D2D1_BRUSH_PROPERTIES)), "brushProperties"), (OpaquePointer(ID2D1GradientStopCollection), "gradientStopCollection"), Out(OpaquePointer(OpaquePointer(ID2D1LinearGradientBrush)), "linearGradientBrush")]),
531 Method(HRESULT, "CreateRadialGradientBrush", [(OpaquePointer(Const(D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES)), "radialGradientBrushProperties"), (OpaquePointer(Const(D2D1_BRUSH_PROPERTIES)), "brushProperties"), (OpaquePointer(ID2D1GradientStopCollection), "gradientStopCollection"), Out(OpaquePointer(OpaquePointer(ID2D1RadialGradientBrush)), "radialGradientBrush")]),
532 Method(HRESULT, "CreateCompatibleRenderTarget", [(OpaquePointer(Const(D2D1_SIZE_F)), "desiredSize"), (OpaquePointer(Const(D2D1_SIZE_U)), "desiredPixelSize"), (OpaquePointer(Const(D2D1_PIXEL_FORMAT)), "desiredFormat"), (D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS, "options"), Out(OpaquePointer(OpaquePointer(ID2D1BitmapRenderTarget)), "bitmapRenderTarget")]),
533 Method(HRESULT, "CreateLayer", [(OpaquePointer(Const(D2D1_SIZE_F)), "size"), Out(OpaquePointer(OpaquePointer(ID2D1Layer)), "layer")]),
534 Method(HRESULT, "CreateMesh", [Out(OpaquePointer(OpaquePointer(ID2D1Mesh)), "mesh")]),
535 Method(Void, "DrawLine", [(D2D1_POINT_2F, "point0"), (D2D1_POINT_2F, "point1"), (OpaquePointer(ID2D1Brush), "brush"), (FLOAT, "strokeWidth"), (OpaquePointer(ID2D1StrokeStyle), "strokeStyle")]),
536 Method(Void, "DrawRectangle", [(OpaquePointer(Const(D2D1_RECT_F)), "rect"), (OpaquePointer(ID2D1Brush), "brush"), (FLOAT, "strokeWidth"), (OpaquePointer(ID2D1StrokeStyle), "strokeStyle")]),
537 Method(Void, "FillRectangle", [(OpaquePointer(Const(D2D1_RECT_F)), "rect"), (OpaquePointer(ID2D1Brush), "brush")]),
538 Method(Void, "DrawRoundedRectangle", [(OpaquePointer(Const(D2D1_ROUNDED_RECT)), "roundedRect"), (OpaquePointer(ID2D1Brush), "brush"), (FLOAT, "strokeWidth"), (OpaquePointer(ID2D1StrokeStyle), "strokeStyle")]),
539 Method(Void, "FillRoundedRectangle", [(OpaquePointer(Const(D2D1_ROUNDED_RECT)), "roundedRect"), (OpaquePointer(ID2D1Brush), "brush")]),
540 Method(Void, "DrawEllipse", [(OpaquePointer(Const(D2D1_ELLIPSE)), "ellipse"), (OpaquePointer(ID2D1Brush), "brush"), (FLOAT, "strokeWidth"), (OpaquePointer(ID2D1StrokeStyle), "strokeStyle")]),
541 Method(Void, "FillEllipse", [(OpaquePointer(Const(D2D1_ELLIPSE)), "ellipse"), (OpaquePointer(ID2D1Brush), "brush")]),
542 Method(Void, "DrawGeometry", [(OpaquePointer(ID2D1Geometry), "geometry"), (OpaquePointer(ID2D1Brush), "brush"), (FLOAT, "strokeWidth"), (OpaquePointer(ID2D1StrokeStyle), "strokeStyle")]),
543 Method(Void, "FillGeometry", [(OpaquePointer(ID2D1Geometry), "geometry"), (OpaquePointer(ID2D1Brush), "brush"), (OpaquePointer(ID2D1Brush), "opacityBrush")]),
544 Method(Void, "FillMesh", [(OpaquePointer(ID2D1Mesh), "mesh"), (OpaquePointer(ID2D1Brush), "brush")]),
545 Method(Void, "FillOpacityMask", [(OpaquePointer(ID2D1Bitmap), "opacityMask"), (OpaquePointer(ID2D1Brush), "brush"), (D2D1_OPACITY_MASK_CONTENT, "content"), (OpaquePointer(Const(D2D1_RECT_F)), "destinationRectangle"), (OpaquePointer(Const(D2D1_RECT_F)), "sourceRectangle")]),
546 Method(Void, "DrawBitmap", [(OpaquePointer(ID2D1Bitmap), "bitmap"), (OpaquePointer(Const(D2D1_RECT_F)), "destinationRectangle"), (FLOAT, "opacity"), (D2D1_BITMAP_INTERPOLATION_MODE, "interpolationMode"), (OpaquePointer(Const(D2D1_RECT_F)), "sourceRectangle")]),
547 Method(Void, "DrawText", [(OpaquePointer(Const(WCHAR)), "string"), (UINT, "stringLength"), (OpaquePointer(IDWriteTextFormat), "textFormat"), (OpaquePointer(Const(D2D1_RECT_F)), "layoutRect"), (OpaquePointer(ID2D1Brush), "defaultForegroundBrush"), (D2D1_DRAW_TEXT_OPTIONS, "options"), (DWRITE_MEASURING_MODE, "measuringMode")]),
548 Method(Void, "DrawTextLayout", [(D2D1_POINT_2F, "origin"), (OpaquePointer(IDWriteTextLayout), "textLayout"), (OpaquePointer(ID2D1Brush), "defaultForegroundBrush"), (D2D1_DRAW_TEXT_OPTIONS, "options")]),
549 Method(Void, "DrawGlyphRun", [(D2D1_POINT_2F, "baselineOrigin"), (OpaquePointer(Const(DWRITE_GLYPH_RUN)), "glyphRun"), (OpaquePointer(ID2D1Brush), "foregroundBrush"), (DWRITE_MEASURING_MODE, "measuringMode")]),
550 Method(Void, "SetTransform", [(OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "transform")]),
551 Method(Void, "GetTransform", [Out(OpaquePointer(D2D1_MATRIX_3X2_F), "transform")], const=True),
552 Method(Void, "SetAntialiasMode", [(D2D1_ANTIALIAS_MODE, "antialiasMode")]),
553 Method(D2D1_ANTIALIAS_MODE, "GetAntialiasMode", [], const=True),
554 Method(Void, "SetTextAntialiasMode", [(D2D1_TEXT_ANTIALIAS_MODE, "textAntialiasMode")]),
555 Method(D2D1_TEXT_ANTIALIAS_MODE, "GetTextAntialiasMode", [], const=True),
556 Method(Void, "SetTextRenderingParams", [(OpaquePointer(IDWriteRenderingParams), "textRenderingParams")]),
557 Method(Void, "GetTextRenderingParams", [Out(OpaquePointer(OpaquePointer(IDWriteRenderingParams)), "textRenderingParams")], const=True),
558 Method(Void, "SetTags", [(D2D1_TAG, "tag1"), (D2D1_TAG, "tag2")]),
559 Method(Void, "GetTags", [Out(OpaquePointer(D2D1_TAG), "tag1"), Out(OpaquePointer(D2D1_TAG), "tag2")], const=True),
560 Method(Void, "PushLayer", [(OpaquePointer(Const(D2D1_LAYER_PARAMETERS)), "layerParameters"), (OpaquePointer(ID2D1Layer), "layer")]),
561 Method(Void, "PopLayer", []),
562 Method(HRESULT, "Flush", [Out(OpaquePointer(D2D1_TAG), "tag1"), Out(OpaquePointer(D2D1_TAG), "tag2")]),
563 Method(Void, "SaveDrawingState", [Out(OpaquePointer(ID2D1DrawingStateBlock), "drawingStateBlock")], const=True),
564 Method(Void, "RestoreDrawingState", [(OpaquePointer(ID2D1DrawingStateBlock), "drawingStateBlock")]),
565 Method(Void, "PushAxisAlignedClip", [(OpaquePointer(Const(D2D1_RECT_F)), "clipRect"), (D2D1_ANTIALIAS_MODE, "antialiasMode")]),
566 Method(Void, "PopAxisAlignedClip", []),
567 Method(Void, "Clear", [(OpaquePointer(Const(D2D1_COLOR_F)), "clearColor")]),
568 Method(Void, "BeginDraw", []),
569 Method(HRESULT, "EndDraw", [Out(OpaquePointer(D2D1_TAG), "tag1"), Out(OpaquePointer(D2D1_TAG), "tag2")]),
570 Method(D2D1_PIXEL_FORMAT, "GetPixelFormat", [], const=True),
571 Method(Void, "SetDpi", [(FLOAT, "dpiX"), (FLOAT, "dpiY")]),
572 Method(Void, "GetDpi", [Out(OpaquePointer(FLOAT), "dpiX"), Out(OpaquePointer(FLOAT), "dpiY")], const=True),
573 Method(D2D1_SIZE_F, "GetSize", [], const=True),
574 Method(D2D1_SIZE_U, "GetPixelSize", [], const=True),
575 Method(UINT32, "GetMaximumBitmapSize", [], const=True),
576 Method(BOOL, "IsSupported", [(OpaquePointer(Const(D2D1_RENDER_TARGET_PROPERTIES)), "renderTargetProperties")], const=True),
579 ID2D1BitmapRenderTarget = Interface("ID2D1BitmapRenderTarget", ID2D1RenderTarget)
580 ID2D1BitmapRenderTarget.methods += [
581 Method(HRESULT, "GetBitmap", [Out(OpaquePointer(OpaquePointer(ID2D1Bitmap)), "bitmap")]),
584 ID2D1HwndRenderTarget = Interface("ID2D1HwndRenderTarget", ID2D1RenderTarget)
585 ID2D1HwndRenderTarget.methods += [
586 Method(D2D1_WINDOW_STATE, "CheckWindowState", []),
587 Method(HRESULT, "Resize", [(OpaquePointer(Const(D2D1_SIZE_U)), "pixelSize")]),
588 Method(HWND, "GetHwnd", [], const=True),
591 ID2D1GdiInteropRenderTarget = Interface("ID2D1GdiInteropRenderTarget", IUnknown)
592 ID2D1GdiInteropRenderTarget.methods += [
593 Method(HRESULT, "GetDC", [(D2D1_DC_INITIALIZE_MODE, "mode"), Out(OpaquePointer(HDC), "hdc")]),
594 Method(HRESULT, "ReleaseDC", [(OpaquePointer(Const(RECT)), "update")]),
597 ID2D1DCRenderTarget = Interface("ID2D1DCRenderTarget", ID2D1RenderTarget)
598 ID2D1DCRenderTarget.methods += [
599 Method(HRESULT, "BindDC", [(Const(HDC), "hDC"), (OpaquePointer(Const(RECT)), "pSubRect")]),
602 ID2D1Factory = Interface("ID2D1Factory", IUnknown)
603 ID2D1Factory.methods += [
604 Method(HRESULT, "ReloadSystemMetrics", []),
605 Method(Void, "GetDesktopDpi", [Out(OpaquePointer(FLOAT), "dpiX"), Out(OpaquePointer(FLOAT), "dpiY")]),
606 Method(HRESULT, "CreateRectangleGeometry", [(OpaquePointer(Const(D2D1_RECT_F)), "rectangle"), Out(OpaquePointer(OpaquePointer(ID2D1RectangleGeometry)), "rectangleGeometry")]),
607 Method(HRESULT, "CreateRoundedRectangleGeometry", [(OpaquePointer(Const(D2D1_ROUNDED_RECT)), "roundedRectangle"), Out(OpaquePointer(OpaquePointer(ID2D1RoundedRectangleGeometry)), "roundedRectangleGeometry")]),
608 Method(HRESULT, "CreateEllipseGeometry", [(OpaquePointer(Const(D2D1_ELLIPSE)), "ellipse"), Out(OpaquePointer(OpaquePointer(ID2D1EllipseGeometry)), "ellipseGeometry")]),
609 Method(HRESULT, "CreateGeometryGroup", [(D2D1_FILL_MODE, "fillMode"), (OpaquePointer(OpaquePointer(ID2D1Geometry)), "geometries"), (UINT, "geometriesCount"), Out(OpaquePointer(OpaquePointer(ID2D1GeometryGroup)), "geometryGroup")]),
610 Method(HRESULT, "CreateTransformedGeometry", [(OpaquePointer(ID2D1Geometry), "sourceGeometry"), (OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "transform"), Out(OpaquePointer(OpaquePointer(ID2D1TransformedGeometry)), "transformedGeometry")]),
611 Method(HRESULT, "CreatePathGeometry", [Out(OpaquePointer(OpaquePointer(ID2D1PathGeometry)), "pathGeometry")]),
612 Method(HRESULT, "CreateStrokeStyle", [(OpaquePointer(Const(D2D1_STROKE_STYLE_PROPERTIES)), "strokeStyleProperties"), (OpaquePointer(Const(FLOAT)), "dashes"), (UINT, "dashesCount"), Out(OpaquePointer(OpaquePointer(ID2D1StrokeStyle)), "strokeStyle")]),
613 Method(HRESULT, "CreateDrawingStateBlock", [(OpaquePointer(Const(D2D1_DRAWING_STATE_DESCRIPTION)), "drawingStateDescription"), (OpaquePointer(IDWriteRenderingParams), "textRenderingParams"), Out(OpaquePointer(OpaquePointer(ID2D1DrawingStateBlock)), "drawingStateBlock")]),
614 Method(HRESULT, "CreateWicBitmapRenderTarget", [(OpaquePointer(IWICBitmap), "target"), (OpaquePointer(Const(D2D1_RENDER_TARGET_PROPERTIES)), "renderTargetProperties"), Out(OpaquePointer(OpaquePointer(ID2D1RenderTarget)), "renderTarget")]),
615 Method(HRESULT, "CreateHwndRenderTarget", [(OpaquePointer(Const(D2D1_RENDER_TARGET_PROPERTIES)), "renderTargetProperties"), (OpaquePointer(Const(D2D1_HWND_RENDER_TARGET_PROPERTIES)), "hwndRenderTargetProperties"), Out(OpaquePointer(OpaquePointer(ID2D1HwndRenderTarget)), "hwndRenderTarget")]),
616 Method(HRESULT, "CreateDxgiSurfaceRenderTarget", [(OpaquePointer(IDXGISurface), "dxgiSurface"), (OpaquePointer(Const(D2D1_RENDER_TARGET_PROPERTIES)), "renderTargetProperties"), Out(OpaquePointer(OpaquePointer(ID2D1RenderTarget)), "renderTarget")]),
617 Method(HRESULT, "CreateDCRenderTarget", [(OpaquePointer(Const(D2D1_RENDER_TARGET_PROPERTIES)), "renderTargetProperties"), Out(OpaquePointer(OpaquePointer(ID2D1DCRenderTarget)), "dcRenderTarget")]),
620 StdFunction(HRESULT, "D2D1CreateFactory", [(D2D1_FACTORY_TYPE, "factoryType"), (REFIID, "riid"), (OpaquePointer(Const(D2D1_FACTORY_OPTIONS)), "pFactoryOptions"), Out(OpaquePointer(OpaquePointer(Void)), "ppIFactory")]),
621 StdFunction(Void, "D2D1MakeRotateMatrix", [(FLOAT, "angle"), (D2D1_POINT_2F, "center"), Out(OpaquePointer(D2D1_MATRIX_3X2_F), "matrix")]),
622 StdFunction(Void, "D2D1MakeSkewMatrix", [(FLOAT, "angleX"), (FLOAT, "angleY"), (D2D1_POINT_2F, "center"), Out(OpaquePointer(D2D1_MATRIX_3X2_F), "matrix")]),
623 StdFunction(BOOL, "D2D1IsMatrixInvertible", [(OpaquePointer(Const(D2D1_MATRIX_3X2_F)), "matrix")]),
624 StdFunction(BOOL, "D2D1InvertMatrix", [Out(OpaquePointer(D2D1_MATRIX_3X2_F), "matrix")]),