d2d1: Add the ID2D1RadialGradientBrush interface.
[wine/multimedia.git] / include / d2d1.idl
blobc96b67edd9674a45c868ed95448bf5d7d190dcde
1 /*
2 * Copyright 2013 Nikolay Sivov for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "unknwn.idl";
20 import "dcommon.h";
21 import "d2dbasetypes.h";
23 interface ID2D1Factory;
24 interface ID2D1RenderTarget;
25 interface IDWriteRenderingParams;
27 typedef D2D_POINT_2F D2D1_POINT_2F;
28 typedef D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F;
29 typedef D2D_RECT_F D2D1_RECT_F;
30 typedef D2D_SIZE_F D2D1_SIZE_F;
31 typedef UINT64 D2D1_TAG;
32 typedef D2D_SIZE_U D2D1_SIZE_U;
33 typedef D2D_POINT_2U D2D1_POINT_2U;
34 typedef D2D_RECT_U D2D1_RECT_U;
35 typedef D2D_COLOR_F D2D1_COLOR_F;
37 enum
39 D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR = 0,
40 D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR = 1,
41 D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC = 2,
42 D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR = 3,
43 D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC = 4,
44 D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC = 5,
45 D2D1_INTERPOLATION_MODE_DEFINITION_FANT = 6,
46 D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR = 7,
49 typedef enum D2D1_DEBUG_LEVEL
51 D2D1_DEBUG_LEVEL_NONE = 0,
52 D2D1_DEBUG_LEVEL_ERROR = 1,
53 D2D1_DEBUG_LEVEL_WARNING = 2,
54 D2D1_DEBUG_LEVEL_INFORMATION = 3,
55 D2D1_DEBUG_LEVEL_FORCE_DWORD = 0xffffffff,
56 } D2D1_DEBUG_LEVEL;
58 typedef enum D2D1_FACTORY_TYPE
60 D2D1_FACTORY_TYPE_SINGLE_THREADED = 0,
61 D2D1_FACTORY_TYPE_MULTI_THREADED = 1,
62 D2D1_FACTORY_TYPE_FORCE_DWORD = 0xfffffff,
63 } D2D1_FACTORY_TYPE;
65 typedef enum D2D1_FILL_MODE
67 D2D1_FILL_MODE_ALTERNATE = 0,
68 D2D1_FILL_MODE_WINDING = 1,
69 D2D1_FILL_MODE_FORCE_DWORD = 0xffffffff
70 } D2D1_FILL_MODE;
72 typedef enum D2D1_PATH_SEGMENT
74 D2D1_PATH_SEGMENT_NONE = 0,
75 D2D1_PATH_SEGMENT_FORCE_UNSTROKED = 1,
76 D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN = 2,
77 D2D1_PATH_SEGMENT_FORCE_DWORD = 0xffffffff
78 } D2D1_PATH_SEGMENT;
80 typedef enum D2D1_FIGURE_BEGIN
82 D2D1_FIGURE_BEGIN_FILLED = 0,
83 D2D1_FIGURE_BEGIN_HOLLOW = 1,
84 D2D1_FIGURE_BEGIN_FORCE_DWORD = 0xffffffff
85 } D2D1_FIGURE_BEGIN;
87 typedef enum D2D1_FIGURE_END
89 D2D1_FIGURE_END_OPEN = 0,
90 D2D1_FIGURE_END_CLOSED = 1,
91 D2D1_FIGURE_END_FORCE_DWORD = 0xffffffff
92 } D2D1_FIGURE_END;
94 typedef enum D2D1_CAP_STYLE
96 D2D1_CAP_STYLE_FLAT = 0,
97 D2D1_CAP_STYLE_SQUARE = 1,
98 D2D1_CAP_STYLE_ROUND = 2,
99 D2D1_CAP_STYLE_TRIANGLE = 3,
100 D2D1_CAP_STYLE_FORCE_DWORD = 0xffffffff,
101 } D2D1_CAP_STYLE;
103 typedef enum D2D1_LINE_JOIN
105 D2D1_LINE_JOIN_MITER = 0,
106 D2D1_LINE_JOIN_BEVEL = 1,
107 D2D1_LINE_JOIN_ROUND = 2,
108 D2D1_LINE_JOIN_MITER_OR_BEVEL = 3,
109 D2D1_LINE_JOIN_FORCE_DWORD = 0xffffffff,
110 } D2D1_LINE_JOIN;
112 typedef enum D2D1_DASH_STYLE
114 D2D1_DASH_STYLE_SOLID = 0,
115 D2D1_DASH_STYLE_DASH = 1,
116 D2D1_DASH_STYLE_DOT = 2,
117 D2D1_DASH_STYLE_DASH_DOT = 3,
118 D2D1_DASH_STYLE_DASH_DOT_DOT = 4,
119 D2D1_DASH_STYLE_CUSTOM = 5,
120 D2D1_DASH_STYLE_FORCE_DWORD = 0xffffffff,
121 } D2D1_DASH_STYLE;
123 typedef enum D2D1_GEOMETRY_RELATION
125 D2D1_GEOMETRY_RELATION_UNKNOWN = 0,
126 D2D1_GEOMETRY_RELATION_DISJOINT = 1,
127 D2D1_GEOMETRY_RELATION_IS_CONTAINED = 2,
128 D2D1_GEOMETRY_RELATION_CONTAINS = 3,
129 D2D1_GEOMETRY_RELATION_OVERLAP = 4,
130 D2D1_GEOMETRY_RELATION_FORCE_DWORD = 0xffffffff,
131 } D2D1_GEOMETRY_RELATION;
133 typedef enum D2D1_GEOMETRY_SIMPLIFICATION_OPTION
135 D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES = 0,
136 D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES = 1,
137 D2D1_GEOMETRY_SIMPLIFICATION_OPTION_FORCE_DWORD = 0xffffffff,
138 } D2D1_GEOMETRY_SIMPLIFICATION_OPTION;
140 typedef enum D2D1_COMBINE_MODE
142 D2D1_COMBINE_MODE_UNION = 0,
143 D2D1_COMBINE_MODE_INTERSECT = 1,
144 D2D1_COMBINE_MODE_XOR = 2,
145 D2D1_COMBINE_MODE_EXCLUDE = 3,
146 D2D1_COMBINE_MODE_FORCE_DWORD = 0xffffffff,
147 } D2D1_COMBINE_MODE;
149 typedef enum D2D1_SWEEP_DIRECTION
151 D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE = 0,
152 D2D1_SWEEP_DIRECTION_CLOCKWISE = 1,
153 D2D1_SWEEP_DIRECTION_FORCE_DWORD = 0xffffffff,
154 } D2D1_SWEEP_DIRECTION;
156 typedef enum D2D1_ARC_SIZE
158 D2D1_ARC_SIZE_SMALL = 0,
159 D2D1_ARC_SIZE_LARGE = 1,
160 D2D1_ARC_SIZE_FORCE_DWORD = 0xffffffff,
161 } D2D1_ARC_SIZE;
163 typedef enum D2D1_ANTIALIAS_MODE
165 D2D1_ANTIALIAS_MODE_PER_PRIMITIVE = 0,
166 D2D1_ANTIALIAS_MODE_ALIASED = 1,
167 D2D1_ANTIALIAS_MODE_FORCE_DWORD = 0xffffffff,
168 } D2D1_ANTIALIAS_MODE;
170 typedef enum D2D1_TEXT_ANTIALIAS_MODE
172 D2D1_TEXT_ANTIALIAS_MODE_DEFAULT = 0,
173 D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE = 1,
174 D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE = 2,
175 D2D1_TEXT_ANTIALIAS_MODE_ALIASED = 3,
176 D2D1_TEXT_ANTIALIAS_MODE_FORCE_DWORD = 0xffffffff,
177 } D2D1_TEXT_ANTIALIAS_MODE;
179 typedef enum D2D1_EXTEND_MODE
181 D2D1_EXTEND_MODE_CLAMP = 0,
182 D2D1_EXTEND_MODE_WRAP = 1,
183 D2D1_EXTEND_MODE_MIRROR = 2,
184 D2D1_EXTEND_MODE_FORCE_DWORD = 0xffffffff,
185 } D2D1_EXTEND_MODE;
187 typedef enum D2D1_BITMAP_INTERPOLATION_MODE
189 D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR,
190 D2D1_BITMAP_INTERPOLATION_MODE_LINEAR = D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR,
191 D2D1_BITMAP_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
192 } D2D1_BITMAP_INTERPOLATION_MODE;
194 typedef enum D2D1_GAMMA
196 D2D1_GAMMA_2_2 = 0,
197 D2D1_GAMMA_1_0 = 1,
198 D2D1_GAMMA_FORCE_DWORD = 0xffffffff,
199 } D2D1_GAMMA;
201 typedef struct D2D1_BEZIER_SEGMENT
203 D2D1_POINT_2F point1;
204 D2D1_POINT_2F point2;
205 D2D1_POINT_2F point3;
206 } D2D1_BEZIER_SEGMENT;
208 typedef struct D2D1_FACTORY_OPTIONS
210 D2D1_DEBUG_LEVEL debugLevel;
211 } D2D1_FACTORY_OPTIONS;
213 typedef struct D2D1_TRIANGLE
215 D2D1_POINT_2F point1;
216 D2D1_POINT_2F point2;
217 D2D1_POINT_2F point3;
218 } D2D1_TRIANGLE;
220 typedef struct D2D1_ROUNDED_RECT
222 D2D1_RECT_F rect;
223 float radiusX;
224 float radiusY;
225 } D2D1_ROUNDED_RECT;
227 typedef struct D2D1_ELLIPSE
229 D2D1_POINT_2F point;
230 float radiusX;
231 float radiusY;
232 } D2D1_ELLIPSE;
234 typedef struct D2D1_QUADRATIC_BEZIER_SEGMENT
236 D2D1_POINT_2F point1;
237 D2D1_POINT_2F point2;
238 } D2D1_QUADRATIC_BEZIER_SEGMENT;
240 typedef struct D2D1_ARC_SEGMENT
242 D2D1_POINT_2F point;
243 D2D1_SIZE_F size;
244 float rotationAngle;
245 D2D1_SWEEP_DIRECTION sweepDirection;
246 D2D1_ARC_SIZE arcSize;
247 } D2D1_ARC_SEGMENT;
249 typedef struct D2D1_DRAWING_STATE_DESCRIPTION
251 D2D1_ANTIALIAS_MODE antialiasMode;
252 D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode;
253 D2D1_TAG tag1;
254 D2D1_TAG tag2;
255 D2D1_MATRIX_3X2_F transform;
256 } D2D1_DRAWING_STATE_DESCRIPTION;
258 typedef struct D2D1_GRADIENT_STOP
260 float position;
261 D2D1_COLOR_F color;
262 } D2D1_GRADIENT_STOP;
265 local,
266 object,
267 uuid(2cd90691-12e2-11dc-9fed-001143a055f9)
269 interface ID2D1Resource : IUnknown
271 void GetFactory(
272 [out] ID2D1Factory **factory
277 local,
278 object,
279 uuid(2cd9069d-12e2-11dc-9fed-001143a055f9)
281 interface ID2D1StrokeStyle : ID2D1Resource
283 D2D1_CAP_STYLE GetStartCap();
284 D2D1_CAP_STYLE GetEndCap();
285 D2D1_CAP_STYLE GetDashCap();
286 float GetMiterLimit();
287 D2D1_LINE_JOIN GetLineJoin();
288 float GetDashOffset();
289 D2D1_DASH_STYLE GetDashStyle();
290 UINT32 GetDashesCount();
291 void GetDashes(
292 [out, size_is(count)] float *dashes,
293 [in] UINT32 count
298 local,
299 object,
300 uuid(2cd9069e-12e2-11dc-9fed-001143a055f9)
302 interface ID2D1SimplifiedGeometrySink : IUnknown
304 void SetFillMode(D2D1_FILL_MODE mode);
305 void SetSegmentFlags(D2D1_PATH_SEGMENT vertexFlags);
306 void BeginFigure(D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin);
307 void AddLines(const D2D1_POINT_2F *points, UINT32 count);
308 void AddBeziers(const D2D1_BEZIER_SEGMENT *beziers, UINT32 count);
309 void EndFigure(D2D1_FIGURE_END figureEnd);
310 HRESULT Close();
314 local,
315 object,
316 uuid(2cd906c1-12e2-11dc-9fed-001143a055f9)
318 interface ID2D1TessellationSink : IUnknown
320 void AddTriangles(
321 [in, size_is(count)] const D2D1_TRIANGLE *triangles,
322 [in] UINT32 count
324 HRESULT Close();
328 local,
329 object,
330 uuid(2cd906a1-12e2-11dc-9fed-001143a055f9)
332 interface ID2D1Geometry : ID2D1Resource
334 HRESULT GetBounds(
335 [in] const D2D1_MATRIX_3X2_F *transform,
336 [out] D2D1_RECT_F *bounds
338 HRESULT GetWidenedBounds(
339 [in] float stroke_width,
340 [in] ID2D1StrokeStyle *stroke_style,
341 [in] const D2D1_MATRIX_3X2_F *transform,
342 [in] float tolerance,
343 [out] D2D1_RECT_F *bounds
345 HRESULT StrokeContainsPoint(
346 [in] D2D1_POINT_2F point,
347 [in] float stroke_width,
348 [in] ID2D1StrokeStyle *stroke_style,
349 [in] const D2D1_MATRIX_3X2_F *transform,
350 [in] float tolerance,
351 [out] BOOL *contains
353 HRESULT FillContainsPoint(
354 [in] D2D1_POINT_2F point,
355 [in] const D2D1_MATRIX_3X2_F *transform,
356 [in] float tolerance,
357 [out] BOOL *contains
359 HRESULT CompareWithGeometry(
360 [in] ID2D1Geometry *geometry,
361 [in] const D2D1_MATRIX_3X2_F *transform,
362 [in] float tolerance,
363 [out] D2D1_GEOMETRY_RELATION *relation
365 HRESULT Simplify(
366 [in] D2D1_GEOMETRY_SIMPLIFICATION_OPTION option,
367 [in] const D2D1_MATRIX_3X2_F *transform,
368 [in] float tolerance,
369 [in] ID2D1SimplifiedGeometrySink *sink
371 HRESULT Tessellate(
372 [in] const D2D1_MATRIX_3X2_F *transform,
373 [in] float tolerance,
374 [in] ID2D1TessellationSink *sink
376 HRESULT CombineWithGeometry(
377 [in] ID2D1Geometry *geometry,
378 [in] D2D1_COMBINE_MODE combine_mode,
379 [in] const D2D1_MATRIX_3X2_F *transform,
380 [in] float tolerance,
381 [in] ID2D1SimplifiedGeometrySink *sink
383 HRESULT Outline(
384 [in] const D2D1_MATRIX_3X2_F *transform,
385 [in] float tolerance,
386 [in] ID2D1SimplifiedGeometrySink *sink
388 HRESULT ComputeArea(
389 [in] const D2D1_MATRIX_3X2_F *transform,
390 [in] float tolerance,
391 [out] float *area
393 HRESULT ComputeLength(
394 [in] const D2D1_MATRIX_3X2_F *transform,
395 [in] float tolerance,
396 [out] float *length
398 HRESULT ComputePointAtLength(
399 [in] float length,
400 [in] const D2D1_MATRIX_3X2_F *transform,
401 [in] float tolerance,
402 [out] D2D1_POINT_2F *point,
403 [out] D2D1_POINT_2F *tangent
405 HRESULT Widen(
406 [in] float stroke_width,
407 [in] ID2D1StrokeStyle *stroke_style,
408 [in] const D2D1_MATRIX_3X2_F *transform,
409 [in] float tolerance,
410 [in] ID2D1SimplifiedGeometrySink *sink
415 local,
416 object,
417 uuid(2cd906a2-12e2-11dc-9fed-001143a055f9)
419 interface ID2D1RectangleGeometry : ID2D1Geometry
421 void GetRect(
422 [out] D2D1_RECT_F *rect
427 local,
428 object,
429 uuid(2cd906a3-12e2-11dc-9fed-001143a055f9)
431 interface ID2D1RoundedRectangleGeometry : ID2D1Geometry
433 void GetRoundedRect(
434 [out] D2D1_ROUNDED_RECT *rect
439 local,
440 object,
441 uuid(2cd906a4-12e2-11dc-9fed-001143a055f9)
443 interface ID2D1EllipseGeometry : ID2D1Geometry
445 void GetEllipse(
446 [out] D2D1_ELLIPSE *ellipse
451 local,
452 object,
453 uuid(2cd906a6-12e2-11dc-9fed-001143a055f9)
455 interface ID2D1GeometryGroup : ID2D1Geometry
457 D2D1_FILL_MODE GetFillMode();
458 UINT32 GetSourceGeometryCount();
459 void GetSourceGeometries(
460 [out, size_is(geometry_count)] ID2D1Geometry **geometry,
461 [in] UINT32 geometry_count
466 local,
467 object,
468 uuid(2cd906bb-12e2-11dc-9fed-001143a055f9)
470 interface ID2D1TransformedGeometry : ID2D1Geometry
472 void GetSourceGeometry(
473 [out] ID2D1Geometry **geometry
475 void GetTransform(
476 [out] D2D1_MATRIX_3X2_F *transform
481 local,
482 object,
483 uuid(2cd9069f-12e2-11dc-9fed-001143a055f9)
485 interface ID2D1GeometrySink : ID2D1SimplifiedGeometrySink
487 void AddLine(
488 [in] D2D1_POINT_2F point
490 void AddBezier(
491 [in] const D2D1_BEZIER_SEGMENT *bezier
493 void AddQuadraticBezier(
494 [in] const D2D1_QUADRATIC_BEZIER_SEGMENT *bezier
496 void AddQuadraticBeziers(
497 [in, size_is(bezier_count)] const D2D1_QUADRATIC_BEZIER_SEGMENT *beziers,
498 [in] UINT32 bezier_count
500 void AddArc(
501 [in] const D2D1_ARC_SEGMENT *arc
506 local,
507 object,
508 uuid(2cd906a5-12e2-11dc-9fed-001143a055f9)
510 interface ID2D1PathGeometry : ID2D1Geometry
512 HRESULT Open(
513 [out] ID2D1GeometrySink **sink
515 HRESULT Stream(
516 [in] ID2D1GeometrySink *sink
518 HRESULT GetSegmentCount(
519 [out] UINT32 *count
521 HRESULT GetFigureCount(
522 [out] UINT32 *count
527 local,
528 object,
529 uuid(28506e39-ebf6-46a1-bb47-fd85565ab957)
531 interface ID2D1DrawingStateBlock : ID2D1Resource
533 void GetDescription(
534 [out] D2D1_DRAWING_STATE_DESCRIPTION *desc
536 void SetDescription(
537 [in] const D2D1_DRAWING_STATE_DESCRIPTION *desc
539 void SetTextRenderingParams(
540 [in] IDWriteRenderingParams *text_rendering_params
542 void GetTextRenderingParams(
543 [out] IDWriteRenderingParams **text_rendering_params
548 local,
549 object,
550 uuid(65019f75-8da2-497c-b32c-dfa34e48ede6)
552 interface ID2D1Image : ID2D1Resource
557 local,
558 object,
559 uuid(a2296057-ea42-4099-983b-539fb6505426)
561 interface ID2D1Bitmap : ID2D1Image
563 D2D1_SIZE_F GetSize();
564 D2D1_SIZE_U GetPixelSize();
565 D2D1_PIXEL_FORMAT GetPixelFormat();
566 void GetDpi(
567 [out] float *dpi_x,
568 [out] float *dpi_y
570 HRESULT CopyFromBitmap(
571 [in] const D2D1_POINT_2U *dst_point,
572 [in] ID2D1Bitmap *bitmap,
573 [in] const D2D1_RECT_U *src_rect
575 HRESULT CopyFromRenderTarget(
576 [in] const D2D1_POINT_2U *dst_point,
577 [in] ID2D1RenderTarget *render_target,
578 [in] const D2D1_RECT_U *src_rect
580 HRESULT CopyFromMemory(
581 [in] const D2D1_RECT_U *dst_rect,
582 [in] const void *src_data,
583 [in] UINT32 pitch
588 local,
589 object,
590 uuid(2cd906a8-12e2-11dc-9fed-001143a055f9)
592 interface ID2D1Brush : ID2D1Resource
594 void SetOpacity(
595 [in] float opacity
597 void SetTransform(
598 [in] const D2D1_MATRIX_3X2_F *transform
600 float GetOpacity();
601 void GetTransform(
602 [out] D2D1_MATRIX_3X2_F *transform
607 local,
608 object,
609 uuid(2cd906aa-12e2-11dc-9fed-001143a055f9)
611 interface ID2D1BitmapBrush : ID2D1Brush
613 void SetExtendModeX(
614 [in] D2D1_EXTEND_MODE mode
616 void SetExtendModeY(
617 [in] D2D1_EXTEND_MODE mode
619 void SetInterpolationMode(
620 [in] D2D1_BITMAP_INTERPOLATION_MODE mode
622 void SetBitmap(
623 [in] ID2D1Bitmap *bitmap
625 D2D1_EXTEND_MODE GetExtendModeX();
626 D2D1_EXTEND_MODE GetExtendModeY();
627 D2D1_BITMAP_INTERPOLATION_MODE GetInterpolationMode();
628 void GetBitmap(
629 [out] ID2D1Bitmap **bitmap
634 local,
635 object,
636 uuid(2cd906a9-12e2-11dc-9fed-001143a055f9)
638 interface ID2D1SolidColorBrush : ID2D1Brush
640 void SetColor(
641 [in] const D2D1_COLOR_F *color
643 D2D1_COLOR_F GetColor();
647 local,
648 object,
649 uuid(2cd906a7-12e2-11dc-9fed-001143a055f9)
651 interface ID2D1GradientStopCollection : ID2D1Resource
653 UINT32 GetGradientStopCount();
654 void GetGradientStops(
655 [out] D2D1_GRADIENT_STOP *stops,
656 [in] UINT32 stop_count
658 D2D1_GAMMA GetColorInterpolationGamma();
659 D2D1_EXTEND_MODE GetExtendMode();
663 local,
664 object,
665 uuid(2cd906ab-12e2-11dc-9fed-001143a055f9)
667 interface ID2D1LinearGradientBrush : ID2D1Brush
669 void SetStartPoint(
670 [in] D2D1_POINT_2F start_point
672 void SetEndPoint(
673 [in] D2D1_POINT_2F end_point
675 D2D1_POINT_2F GetStartPoint();
676 D2D1_POINT_2F GetEndPoint();
677 void GetGradientStopCollection(
678 [out] ID2D1GradientStopCollection **gradient
683 local,
684 object,
685 uuid(2cd906ac-12e2-11dc-9fed-001143a055f9)
687 interface ID2D1RadialGradientBrush : ID2D1Brush
689 void SetCenter(
690 [in] D2D1_POINT_2F center
692 void SetGradientOriginOffset(
693 [in] D2D1_POINT_2F offset
695 void SetRadiusX(
696 [in] float radius
698 void SetRadiusY(
699 [in] float radius
701 D2D1_POINT_2F GetCenter();
702 D2D1_POINT_2F GetGradientOriginOffset();
703 float GetRadiusX();
704 float GetRadiusY();
705 void GetGradientStopCollection(
706 [out] ID2D1GradientStopCollection **gradient
710 [local] HRESULT __stdcall D2D1CreateFactory(D2D1_FACTORY_TYPE factory_type, REFIID iid,
711 const D2D1_FACTORY_OPTIONS *factory_options, void **factory);