]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/d2d1/d2d1.factor
use radix literals
[factor.git] / basis / windows / directx / d2d1 / d2d1.factor
1 USING: alien.c-types alien.syntax classes.struct windows.com
2 windows.com.syntax windows.directx windows.directx.d2dbasetypes
3 windows.directx.dcommon windows.directx.dxgi windows.directx.dxgiformat
4 windows.ole32 windows.types ;
5 IN: windows.directx.d2d1
6
7 LIBRARY: d2d1
8
9 CONSTANT: D2D1_INVALID_TAG 0xffffffffffffffff
10 CONSTANT: D2D1_DEFAULT_FLATTENING_TOLERANCE 0.25
11
12 CONSTANT: D2D1_ALPHA_MODE_UNKNOWN       0
13 CONSTANT: D2D1_ALPHA_MODE_PREMULTIPLIED 1
14 CONSTANT: D2D1_ALPHA_MODE_STRAIGHT      2
15 CONSTANT: D2D1_ALPHA_MODE_IGNORE        3
16 CONSTANT: D2D1_ALPHA_MODE_FORCE_DWORD   0xffffffff
17 TYPEDEF: int D2D1_ALPHA_MODE
18
19 CONSTANT: D2D1_GAMMA_2_2         0
20 CONSTANT: D2D1_GAMMA_1_0         1
21 CONSTANT: D2D1_GAMMA_FORCE_DWORD 0xffffffff
22 TYPEDEF: int D2D1_GAMMA
23
24 CONSTANT: D2D1_OPACITY_MASK_CONTENT_GRAPHICS            0
25 CONSTANT: D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL        1
26 CONSTANT: D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE 2
27 CONSTANT: D2D1_OPACITY_MASK_CONTENT_FORCE_DWORD         0xffffffff
28 TYPEDEF: int D2D1_OPACITY_MASK_CONTENT
29
30 CONSTANT: D2D1_EXTEND_MODE_CLAMP       0
31 CONSTANT: D2D1_EXTEND_MODE_WRAP        1
32 CONSTANT: D2D1_EXTEND_MODE_MIRROR      2
33 CONSTANT: D2D1_EXTEND_MODE_FORCE_DWORD 0xffffffff
34 TYPEDEF: int D2D1_EXTEND_MODE
35
36 CONSTANT: D2D1_ANTIALIAS_MODE_PER_PRIMITIVE 0
37 CONSTANT: D2D1_ANTIALIAS_MODE_ALIASED       1
38 CONSTANT: D2D1_ANTIALIAS_MODE_FORCE_DWORD   0xffffffff
39 TYPEDEF: int D2D1_ANTIALIAS_MODE
40
41 CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_DEFAULT     0
42 CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE   1
43 CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE   2
44 CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_ALIASED     3
45 CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_FORCE_DWORD 0xffffffff
46 TYPEDEF: int D2D1_TEXT_ANTIALIAS_MODE
47
48 CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR 0
49 CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_LINEAR           1
50 CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_FORCE_DWORD      0xffffffff
51 TYPEDEF: int D2D1_BITMAP_INTERPOLATION_MODE
52
53 CONSTANT: D2D1_DRAW_TEXT_OPTIONS_NO_SNAP     0x00000001
54 CONSTANT: D2D1_DRAW_TEXT_OPTIONS_CLIP        0x00000002
55 CONSTANT: D2D1_DRAW_TEXT_OPTIONS_NONE        0x00000000
56 CONSTANT: D2D1_DRAW_TEXT_OPTIONS_FORCE_DWORD 0xffffffff
57 TYPEDEF: int D2D1_DRAW_TEXT_OPTIONS
58
59 STRUCT: D2D1_PIXEL_FORMAT
60     { format    DXGI_FORMAT     }
61     { alphaMode D2D1_ALPHA_MODE } ;
62
63 TYPEDEF: D2D_POINT_2U D2D1_POINT_2U
64 TYPEDEF: D2D_POINT_2F D2D1_POINT_2F
65 TYPEDEF: D2D_RECT_F D2D1_RECT_F
66 TYPEDEF: D2D_RECT_U D2D1_RECT_U
67 TYPEDEF: D2D_SIZE_F D2D1_SIZE_F
68 TYPEDEF: D2D_SIZE_U D2D1_SIZE_U
69 TYPEDEF: D2D_COLOR_F D2D1_COLOR_F
70 TYPEDEF: D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F
71 TYPEDEF: UINT64 D2D1_TAG
72
73 STRUCT: D2D1_BITMAP_PROPERTIES
74     { pixelFormat D2D1_PIXEL_FORMAT }
75     { dpiX        FLOAT             }
76     { dpiY        FLOAT             } ;
77
78 STRUCT: D2D1_GRADIENT_STOP
79     { position FLOAT        }
80     { color    D2D1_COLOR_F } ;
81
82 STRUCT: D2D1_BRUSH_PROPERTIES
83     { opacity   FLOAT             }
84     { transform D2D1_MATRIX_3X2_F } ;
85
86 STRUCT: D2D1_BITMAP_BRUSH_PROPERTIES
87     { extendModeX       D2D1_EXTEND_MODE               }
88     { extendModeY       D2D1_EXTEND_MODE               }
89     { interpolationMode D2D1_BITMAP_INTERPOLATION_MODE } ;
90
91 STRUCT: D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES
92     { startPoint D2D1_POINT_2F }
93     { endPoint   D2D1_POINT_2F } ;
94
95 STRUCT: D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES
96     { center               D2D1_POINT_2F }
97     { gradientOriginOffset D2D1_POINT_2F }
98     { radiusX              FLOAT         }
99     { radiusY              FLOAT         } ;
100
101 CONSTANT: D2D1_ARC_SIZE_SMALL 0
102 CONSTANT: D2D1_ARC_SIZE_LARGE 1
103 CONSTANT: D2D1_ARC_SIZE_FORCE_DWORD 0xffffffff
104 TYPEDEF: int D2D1_ARC_SIZE
105
106 CONSTANT: D2D1_CAP_STYLE_FLAT        0
107 CONSTANT: D2D1_CAP_STYLE_SQUARE      1
108 CONSTANT: D2D1_CAP_STYLE_ROUND       2
109 CONSTANT: D2D1_CAP_STYLE_TRIANGLE    3
110 CONSTANT: D2D1_CAP_STYLE_FORCE_DWORD 0xffffffff
111 TYPEDEF: int D2D1_CAP_STYLE
112
113 CONSTANT: D2D1_DASH_STYLE_SOLID        0
114 CONSTANT: D2D1_DASH_STYLE_DASH         1
115 CONSTANT: D2D1_DASH_STYLE_DOT          2
116 CONSTANT: D2D1_DASH_STYLE_DASH_DOT     3
117 CONSTANT: D2D1_DASH_STYLE_DASH_DOT_DOT 4
118 CONSTANT: D2D1_DASH_STYLE_CUSTOM       5
119 CONSTANT: D2D1_DASH_STYLE_FORCE_DWORD  0xffffffff
120 TYPEDEF: int D2D1_DASH_STYLE
121
122 CONSTANT: D2D1_LINE_JOIN_MITER          0
123 CONSTANT: D2D1_LINE_JOIN_BEVEL          1
124 CONSTANT: D2D1_LINE_JOIN_ROUND          2
125 CONSTANT: D2D1_LINE_JOIN_MITER_OR_BEVEL 3
126 CONSTANT: D2D1_LINE_JOIN_FORCE_DWORD    0xffffffff
127 TYPEDEF: int D2D1_LINE_JOIN
128
129 CONSTANT: D2D1_COMBINE_MODE_UNION       0
130 CONSTANT: D2D1_COMBINE_MODE_INTERSECT   1
131 CONSTANT: D2D1_COMBINE_MODE_XOR         2
132 CONSTANT: D2D1_COMBINE_MODE_EXCLUDE     3
133 CONSTANT: D2D1_COMBINE_MODE_FORCE_DWORD 0xffffffff
134 TYPEDEF: int D2D1_COMBINE_MODE
135
136 CONSTANT: D2D1_GEOMETRY_RELATION_UNKNOWN      0
137 CONSTANT: D2D1_GEOMETRY_RELATION_DISJOINT     1
138 CONSTANT: D2D1_GEOMETRY_RELATION_IS_CONTAINED 2
139 CONSTANT: D2D1_GEOMETRY_RELATION_CONTAINS     3
140 CONSTANT: D2D1_GEOMETRY_RELATION_OVERLAP      4
141 CONSTANT: D2D1_GEOMETRY_RELATION_FORCE_DWORD  0xffffffff
142 TYPEDEF: int D2D1_GEOMETRY_RELATION
143
144 CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES 0
145 CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES            1
146 CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_FORCE_DWORD      0xffffffff
147 TYPEDEF: int D2D1_GEOMETRY_SIMPLIFICATION_OPTION
148
149 CONSTANT: D2D1_FIGURE_BEGIN_FILLED      0
150 CONSTANT: D2D1_FIGURE_BEGIN_HOLLOW      1
151 CONSTANT: D2D1_FIGURE_BEGIN_FORCE_DWORD 0xffffffff
152 TYPEDEF: int D2D1_FIGURE_BEGIN
153
154 CONSTANT: D2D1_FIGURE_END_OPEN        0
155 CONSTANT: D2D1_FIGURE_END_CLOSED      1
156 CONSTANT: D2D1_FIGURE_END_FORCE_DWORD 0xffffffff
157 TYPEDEF: int D2D1_FIGURE_END
158
159 STRUCT: D2D1_BEZIER_SEGMENT
160     { point1 D2D1_POINT_2F }
161     { point2 D2D1_POINT_2F }
162     { point3 D2D1_POINT_2F } ;
163
164 STRUCT: D2D1_TRIANGLE
165     { point1 D2D1_POINT_2F }
166     { point2 D2D1_POINT_2F }
167     { point3 D2D1_POINT_2F } ;
168
169 CONSTANT: D2D1_PATH_SEGMENT_NONE                  0x00000000
170 CONSTANT: D2D1_PATH_SEGMENT_FORCE_UNSTROKED       0x00000001
171 CONSTANT: D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN 0x00000002
172 CONSTANT: D2D1_PATH_SEGMENT_FORCE_DWORD           0xffffffff
173 TYPEDEF: int D2D1_PATH_SEGMENT
174
175 CONSTANT: D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE 0
176 CONSTANT: D2D1_SWEEP_DIRECTION_CLOCKWISE         1
177 CONSTANT: D2D1_SWEEP_DIRECTION_FORCE_DWORD       0xffffffff
178 TYPEDEF: int D2D1_SWEEP_DIRECTION
179
180 CONSTANT: D2D1_FILL_MODE_ALTERNATE   0
181 CONSTANT: D2D1_FILL_MODE_WINDING     1
182 CONSTANT: D2D1_FILL_MODE_FORCE_DWORD 0xffffffff
183 TYPEDEF: int D2D1_FILL_MODE
184
185 STRUCT: D2D1_ARC_SEGMENT
186     { point          D2D1_POINT_2F        }
187     { size           D2D1_SIZE_F          }
188     { rotationAngle  FLOAT                }
189     { sweepDirection D2D1_SWEEP_DIRECTION }
190     { arcSize        D2D1_ARC_SIZE        } ;
191
192 STRUCT: D2D1_QUADRATIC_BEZIER_SEGMENT
193     { point1 D2D1_POINT_2F }
194     { point2 D2D1_POINT_2F } ;
195
196 STRUCT: D2D1_ELLIPSE
197     { point   D2D1_POINT_2F }
198     { radiusX FLOAT         }
199     { radiusY FLOAT         } ;
200
201 STRUCT: D2D1_ROUNDED_RECT
202     { rect    D2D1_RECT_F }
203     { radiusX FLOAT       }
204     { radiusY FLOAT       } ;
205
206 STRUCT: D2D1_STROKE_STYLE_PROPERTIES
207     { startCap   D2D1_CAP_STYLE  }
208     { endCap     D2D1_CAP_STYLE  }
209     { dashCap    D2D1_CAP_STYLE  }
210     { lineJoin   D2D1_LINE_JOIN  }
211     { miterLimit FLOAT           }
212     { dashStyle  D2D1_DASH_STYLE }
213     { dashOffset FLOAT           } ;
214
215 CONSTANT: D2D1_LAYER_OPTIONS_NONE                     0x00000000
216 CONSTANT: D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE 0x00000001
217 CONSTANT: D2D1_LAYER_OPTIONS_FORCE_DWORD              0xffffffff
218 TYPEDEF: int D2D1_LAYER_OPTIONS
219
220 C-TYPE: ID2D1Geometry
221 C-TYPE: ID2D1Brush
222 C-TYPE: ID2D1RenderTarget
223
224 STRUCT: D2D1_LAYER_PARAMETERS
225     { contentBounds     D2D1_RECT_F         }
226     { geometricMask     ID2D1Geometry*      }
227     { maskAntialiasMode D2D1_ANTIALIAS_MODE }
228     { maskTransform     D2D1_MATRIX_3X2_F   }
229     { opacity           FLOAT               }
230     { opacityBrush      ID2D1Brush*         }
231     { layerOptions      D2D1_LAYER_OPTIONS  } ;
232
233 CONSTANT: D2D1_WINDOW_STATE_NONE        0x00000000
234 CONSTANT: D2D1_WINDOW_STATE_OCCLUDED    0x00000001
235 CONSTANT: D2D1_WINDOW_STATE_FORCE_DWORD 0xffffffff
236 TYPEDEF: int D2D1_WINDOW_STATE
237
238 CONSTANT: D2D1_RENDER_TARGET_TYPE_DEFAULT     0
239 CONSTANT: D2D1_RENDER_TARGET_TYPE_SOFTWARE    1
240 CONSTANT: D2D1_RENDER_TARGET_TYPE_HARDWARE    2
241 CONSTANT: D2D1_RENDER_TARGET_TYPE_FORCE_DWORD 0xffffffff
242 TYPEDEF: int D2D1_RENDER_TARGET_TYPE
243
244 CONSTANT: D2D1_FEATURE_LEVEL_DEFAULT     0
245 CONSTANT: D2D1_FEATURE_LEVEL_9           0x9100
246 CONSTANT: D2D1_FEATURE_LEVEL_10          0xa000
247 CONSTANT: D2D1_FEATURE_LEVEL_FORCE_DWORD 0xffffffff
248 TYPEDEF: int D2D1_FEATURE_LEVEL
249
250 CONSTANT: D2D1_RENDER_TARGET_USAGE_NONE                  0x00000000
251 CONSTANT: D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING 0x00000001
252 CONSTANT: D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE        0x00000002
253 CONSTANT: D2D1_RENDER_TARGET_USAGE_FORCE_DWORD           0xffffffff
254 TYPEDEF: int D2D1_RENDER_TARGET_USAGE
255
256 CONSTANT: D2D1_PRESENT_OPTIONS_NONE            0x00000000
257 CONSTANT: D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS 0x00000001
258 CONSTANT: D2D1_PRESENT_OPTIONS_IMMEDIATELY     0x00000002
259 CONSTANT: D2D1_PRESENT_OPTIONS_FORCE_DWORD     0xffffffff
260 TYPEDEF: int D2D1_PRESENT_OPTIONS
261
262 STRUCT: D2D1_RENDER_TARGET_PROPERTIES
263     { type        D2D1_RENDER_TARGET_TYPE  }
264     { pixelFormat D2D1_PIXEL_FORMAT        }
265     { dpiX        FLOAT                    }
266     { dpiY        FLOAT                    }
267     { usage       D2D1_RENDER_TARGET_USAGE }
268     { minLevel    D2D1_FEATURE_LEVEL       } ;
269
270 STRUCT: D2D1_HWND_RENDER_TARGET_PROPERTIES
271     { hwnd           HWND                 }
272     { pixelSize      D2D1_SIZE_U          }
273     { presentOptions D2D1_PRESENT_OPTIONS } ;
274
275 CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE           0x00000000
276 CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE 0x00000001
277 CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_FORCE_DWORD    0xffffffff
278 TYPEDEF: int D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
279
280 STRUCT: D2D1_DRAWING_STATE_DESCRIPTION
281     { antialiasMode     D2D1_ANTIALIAS_MODE      }
282     { textAntialiasMode D2D1_TEXT_ANTIALIAS_MODE }
283     { tag1              D2D1_TAG                 }
284     { tag2              D2D1_TAG                 }
285     { transform         D2D1_MATRIX_3X2_F        } ;
286
287 CONSTANT: D2D1_DC_INITIALIZE_MODE_COPY        0
288 CONSTANT: D2D1_DC_INITIALIZE_MODE_CLEAR       1
289 CONSTANT: D2D1_DC_INITIALIZE_MODE_FORCE_DWORD 0xffffffff
290 TYPEDEF: int D2D1_DC_INITIALIZE_MODE
291
292 CONSTANT: D2D1_DEBUG_LEVEL_NONE        0
293 CONSTANT: D2D1_DEBUG_LEVEL_ERROR       1
294 CONSTANT: D2D1_DEBUG_LEVEL_WARNING     2
295 CONSTANT: D2D1_DEBUG_LEVEL_INFORMATION 3
296 CONSTANT: D2D1_DEBUG_LEVEL_FORCE_DWORD 0xffffffff
297 TYPEDEF: int D2D1_DEBUG_LEVEL
298
299 CONSTANT: D2D1_FACTORY_TYPE_SINGLE_THREADED 0
300 CONSTANT: D2D1_FACTORY_TYPE_MULTI_THREADED  1
301 CONSTANT: D2D1_FACTORY_TYPE_FORCE_DWORD     0xffffffff
302 TYPEDEF: int D2D1_FACTORY_TYPE
303
304 STRUCT: D2D1_FACTORY_OPTIONS
305     { debugLevel D2D1_DEBUG_LEVEL } ;
306
307 C-TYPE: ID2D1Factory
308 C-TYPE: ID2D1BitmapRenderTarget 
309
310 COM-INTERFACE: ID2D1Resource IUnknown {2cd90691-12e2-11dc-9fed-001143a055f9}
311     void GetFactory ( ID2D1Factory** factory ) ;
312
313 COM-INTERFACE: ID2D1Bitmap ID2D1Resource {a2296057-ea42-4099-983b-539fb6505426}
314     D2D1_SIZE_F GetSize ( )
315     D2D1_SIZE_U GetPixelSize ( )
316     D2D1_PIXEL_FORMAT GetPixelFormat ( )
317     void GetDpi ( FLOAT* dpiX, FLOAT* dpiY )
318     HRESULT CopyFromBitmap ( D2D1_POINT_2U* destPoint, ID2D1Bitmap* bitmap, D2D1_RECT_U* srcRect )
319     HRESULT CopyFromRenderTarget ( D2D1_POINT_2U* destPoint, ID2D1RenderTarget* renderTarget, D2D1_RECT_U* srcRect )
320     HRESULT CopyFromMemory ( D2D1_RECT_U* dstRect, void* srcData, UINT32 pitch ) ;
321
322 COM-INTERFACE: ID2D1GradientStopCollection ID2D1Resource {2cd906a7-12e2-11dc-9fed-001143a055f9}
323     UINT32 GetGradientStopCount ( )
324     void GetGradientStops ( D2D1_GRADIENT_STOP* gradientStops, UINT gradientStopsCount )
325     D2D1_GAMMA GetColorInterpolationGamma ( )
326     D2D1_EXTEND_MODE GetExtendMode ( ) ;
327
328 COM-INTERFACE: ID2D1Brush ID2D1Resource {2cd906a8-12e2-11dc-9fed-001143a055f9}
329     void SetOpacity ( FLOAT opacity )
330     void SetTransform ( D2D1_MATRIX_3X2_F* transform )
331     FLOAT GetOpacity ( )
332     void GetTransform ( D2D1_MATRIX_3X2_F* transform ) ;
333
334 COM-INTERFACE: ID2D1BitmapBrush ID2D1Brush {2cd906aa-12e2-11dc-9fed-001143a055f9}
335     void SetExtendModeX ( D2D1_EXTEND_MODE extendModeX )
336     void SetExtendModeY ( D2D1_EXTEND_MODE extendModeY )
337     void SetInterpolationMode ( D2D1_BITMAP_INTERPOLATION_MODE interpolationMode )
338     void SetBitmap ( ID2D1Bitmap* bitmap )
339     D2D1_EXTEND_MODE GetExtendModeX ( )
340     D2D1_EXTEND_MODE GetExtendModeY ( )
341     D2D1_BITMAP_INTERPOLATION_MODE GetInterpolationMode ( )
342     void GetBitmap ( ID2D1Bitmap** bitmap ) ;
343
344 COM-INTERFACE: ID2D1SolidColorBrush ID2D1Brush {2cd906a9-12e2-11dc-9fed-001143a055f9}
345     void SetColor ( D2D1_COLOR_F* color )
346     D2D1_COLOR_F GetColor ( ) ;
347
348 COM-INTERFACE: ID2D1LinearGradientBrush ID2D1Brush {2cd906ab-12e2-11dc-9fed-001143a055f9}
349     void SetStartPoint ( D2D1_POINT_2F startPoint )
350     void SetEndPoint ( D2D1_POINT_2F endPoint )
351     D2D1_POINT_2F GetStartPoint ( )
352     D2D1_POINT_2F GetEndPoint ( )
353     void GetGradientStopCollection ( ID2D1GradientStopCollection** gradientStopCollection ) ;
354
355 COM-INTERFACE: ID2D1RadialGradientBrush ID2D1Brush {2cd906ac-12e2-11dc-9fed-001143a055f9}
356     void SetCenter ( D2D1_POINT_2F center )
357     void SetGradientOriginOffset ( D2D1_POINT_2F gradientOriginOffset )
358     void SetRadiusX ( FLOAT radiusX )
359     void SetRadiusY ( FLOAT radiusY )
360     D2D1_POINT_2F GetCenter ( )
361     D2D1_POINT_2F GetGradientOriginOffset ( )
362     FLOAT GetRadiusX ( )
363     FLOAT GetRadiusY ( )
364     void GetGradientStopCollection ( ID2D1GradientStopCollection** gradientStopCollection ) ;
365
366 COM-INTERFACE: ID2D1StrokeStyle ID2D1Resource {2cd9069d-12e2-11dc-9fed-001143a055f9}
367     D2D1_CAP_STYLE GetStartCap ( )
368     D2D1_CAP_STYLE GetEndCap ( )
369     D2D1_CAP_STYLE GetDashCap ( )
370     FLOAT GetMiterLimit ( )
371     D2D1_LINE_JOIN GetLineJoin ( )
372     FLOAT GetDashOffset ( )
373     D2D1_DASH_STYLE GetDashStyle ( )
374     UINT32 GetDashesCount ( )
375     void GetDashes ( FLOAT* dashes, UINT dashesCount ) ;
376
377 C-TYPE: ID2D1SimplifiedGeometrySink
378 C-TYPE: ID2D1TessellationSink
379
380 COM-INTERFACE: ID2D1Geometry ID2D1Resource {2cd906a1-12e2-11dc-9fed-001143a055f9}
381     HRESULT GetBounds ( D2D1_MATRIX_3X2_F* worldTransform, D2D1_RECT_F* bounds )
382     HRESULT GetWidenedBounds ( FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F* bounds )
383     HRESULT StrokeContainsPoint ( D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, BOOL* contains )
384     HRESULT FillContainsPoint ( D2D1_POINT_2F point, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, BOOL* contains )
385     HRESULT CompareWithGeometry ( ID2D1Geometry* inputGeometry, D2D1_MATRIX_3X2_F* inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION* relation )
386     HRESULT Simplify ( D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
387     HRESULT Tessellate ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1TessellationSink* tessellationSink )
388     HRESULT CombineWithGeometry ( ID2D1Geometry* inputGeometry, D2D1_COMBINE_MODE combineMode, D2D1_MATRIX_3X2_F* inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
389     HRESULT Outline ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
390     HRESULT ComputeArea ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, FLOAT* area )
391     HRESULT ComputeLength ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, FLOAT* length )
392     HRESULT ComputePointAtLength ( FLOAT length, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F* point, D2D1_POINT_2F* unitTangentVector )
393     HRESULT Widen ( FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink ) ;
394
395 COM-INTERFACE: ID2D1RectangleGeometry ID2D1Geometry {2cd906a2-12e2-11dc-9fed-001143a055f9}
396     void GetRect ( D2D1_RECT_F* rect ) ;
397
398 COM-INTERFACE: ID2D1RoundedRectangleGeometry ID2D1Geometry {2cd906a3-12e2-11dc-9fed-001143a055f9}
399     void GetRoundedRect ( D2D1_ROUNDED_RECT* roundedRect ) ;
400
401 COM-INTERFACE: ID2D1EllipseGeometry ID2D1Geometry {2cd906a4-12e2-11dc-9fed-001143a055f9}
402     void GetEllipse ( D2D1_ELLIPSE* ellipse ) ;
403
404 COM-INTERFACE: ID2D1GeometryGroup ID2D1Geometry {2cd906a6-12e2-11dc-9fed-001143a055f9}
405     D2D1_FILL_MODE GetFillMode ( )
406     UINT32 GetSourceGeometryCount ( )
407     void GetSourceGeometries ( ID2D1Geometry** geometries, UINT geometriesCount ) ;
408
409 COM-INTERFACE: ID2D1TransformedGeometry ID2D1Geometry {2cd906bb-12e2-11dc-9fed-001143a055f9}
410     void GetSourceGeometry ( ID2D1Geometry** sourceGeometry )
411     void GetTransform ( D2D1_MATRIX_3X2_F* transform ) ;
412
413 COM-INTERFACE: ID2D1SimplifiedGeometrySink IUnknown {2cd9069e-12e2-11dc-9fed-001143a055f9}
414     void SetFillMode ( D2D1_FILL_MODE fillMode )
415     void SetSegmentFlags ( D2D1_PATH_SEGMENT vertexFlags )
416     void BeginFigure ( D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin )
417     void AddLines ( D2D1_POINT_2F* points, UINT pointsCount )
418     void AddBeziers ( D2D1_BEZIER_SEGMENT* beziers, UINT beziersCount )
419     void EndFigure ( D2D1_FIGURE_END figureEnd )
420     HRESULT Close ( ) ;
421
422 COM-INTERFACE: ID2D1GeometrySink ID2D1SimplifiedGeometrySink {2cd9069f-12e2-11dc-9fed-001143a055f9}
423     void AddLine ( D2D1_POINT_2F point )
424     void AddBezier ( D2D1_BEZIER_SEGMENT* bezier )
425     void AddQuadraticBezier ( D2D1_QUADRATIC_BEZIER_SEGMENT* bezier )
426     void AddQuadraticBeziers ( D2D1_QUADRATIC_BEZIER_SEGMENT* beziers, UINT beziersCount )
427     void AddArc ( D2D1_ARC_SEGMENT* arc ) ;
428
429 COM-INTERFACE: ID2D1TessellationSink IUnknown {2cd906c1-12e2-11dc-9fed-001143a055f9}
430     void AddTriangles ( D2D1_TRIANGLE* triangles, UINT trianglesCount )
431     HRESULT Close ( ) ;
432
433 COM-INTERFACE: ID2D1PathGeometry ID2D1Geometry {2cd906a5-12e2-11dc-9fed-001143a055f9}
434     HRESULT Open ( ID2D1GeometrySink** geometrySink )
435     HRESULT Stream ( ID2D1GeometrySink* geometrySink )
436     HRESULT GetSegmentCount ( UINT32* count )
437     HRESULT GetFigureCount ( UINT32* count ) ;
438
439 COM-INTERFACE: ID2D1Mesh ID2D1Resource {2cd906c2-12e2-11dc-9fed-001143a055f9}
440     HRESULT Open ( ID2D1TessellationSink** tessellationSink ) ;
441
442 COM-INTERFACE: ID2D1Layer ID2D1Resource {2cd9069b-12e2-11dc-9fed-001143a055f9}
443     D2D1_SIZE_F GetSize ( ) ;
444
445 C-TYPE: IDWriteRenderingParams
446
447 COM-INTERFACE: ID2D1DrawingStateBlock ID2D1Resource {28506e39-ebf6-46a1-bb47-fd85565ab957}
448     void GetDescription ( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription )
449     void SetDescription ( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription )
450     void SetTextRenderingParams ( IDWriteRenderingParams* textRenderingParams )
451     void GetTextRenderingParams ( IDWriteRenderingParams** textRenderingParams ) ;
452
453 C-TYPE: IWICBitmapSource
454 C-TYPE: IWICBitmap
455 C-TYPE: IDWriteTextFormat
456 C-TYPE: IDWriteTextLayout
457 C-TYPE: DWRITE_GLYPH_RUN
458
459 COM-INTERFACE: ID2D1RenderTarget ID2D1Resource {2cd90694-12e2-11dc-9fed-001143a055f9}
460     HRESULT CreateBitmap ( D2D1_SIZE_U size, void* srcData, UINT32 pitch, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
461     HRESULT CreateBitmapFromWicBitmap ( IWICBitmapSource* wicBitmapSource, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
462     HRESULT CreateSharedBitmap ( REFIID riid, void* data, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
463     HRESULT CreateBitmapBrush ( ID2D1Bitmap* bitmap, D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1BitmapBrush** bitmapBrush )
464     HRESULT CreateSolidColorBrush ( D2D1_COLOR_F* color, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1SolidColorBrush** solidColorBrush )
465     HRESULT CreateGradientStopCollection ( D2D1_GRADIENT_STOP* gradientStops, UINT gradientStopsCount, D2D1_GAMMA colorInterpolationGamma, D2D1_EXTEND_MODE extendMode, ID2D1GradientStopCollection** gradientStopCollection )
466     HRESULT CreateLinearGradientBrush ( D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush )
467     HRESULT CreateRadialGradientBrush ( D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush )
468     HRESULT CreateCompatibleRenderTarget ( D2D1_SIZE_F* desiredSize, D2D1_SIZE_U* desiredPixelSize, D2D1_PIXEL_FORMAT* desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget** bitmapRenderTarget )
469     HRESULT CreateLayer ( D2D1_SIZE_F* size, ID2D1Layer** layer )
470     HRESULT CreateMesh ( ID2D1Mesh** mesh )
471     void DrawLine ( D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
472     void DrawRectangle ( D2D1_RECT_F* rect, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
473     void FillRectangle ( D2D1_RECT_F* rect, ID2D1Brush* brush )
474     void DrawRoundedRectangle ( D2D1_ROUNDED_RECT* roundedRect, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
475     void FillRoundedRectangle ( D2D1_ROUNDED_RECT* roundedRect, ID2D1Brush* brush )
476     void DrawEllipse ( D2D1_ELLIPSE* ellipse, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
477     void FillEllipse ( D2D1_ELLIPSE* ellipse, ID2D1Brush* brush )
478     void DrawGeometry ( ID2D1Geometry* geometry, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
479     void FillGeometry ( ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush )
480     void FillMesh ( ID2D1Mesh* mesh, ID2D1Brush* brush )
481     void FillOpacityMask ( ID2D1Bitmap* opacityMask, ID2D1Brush* brush, D2D1_OPACITY_MASK_CONTENT content, D2D1_RECT_F* destinationRectangle, D2D1_RECT_F* sourceRectangle )
482     void DrawBitmap ( ID2D1Bitmap* bitmap, D2D1_RECT_F* destinationRectangle, FLOAT opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, D2D1_RECT_F* sourceRectangle )
483     void DrawText ( WCHAR* string, UINT stringLength, IDWriteTextFormat* textFormat, D2D1_RECT_F* layoutRect, ID2D1Brush* defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuringMode )
484     void DrawTextLayout ( D2D1_POINT_2F origin, IDWriteTextLayout* textLayout, ID2D1Brush* defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options )
485     void DrawGlyphRun ( D2D1_POINT_2F baselineOrigin, DWRITE_GLYPH_RUN* glyphRun, ID2D1Brush* foregroundBrush, DWRITE_MEASURING_MODE measuringMode )
486     void SetTransform ( D2D1_MATRIX_3X2_F* transform )
487     void GetTransform ( D2D1_MATRIX_3X2_F* transform )
488     void SetAntialiasMode ( D2D1_ANTIALIAS_MODE antialiasMode )
489     D2D1_ANTIALIAS_MODE GetAntialiasMode ( )
490     void SetTextAntialiasMode ( D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode )
491     D2D1_TEXT_ANTIALIAS_MODE GetTextAntialiasMode ( )
492     void SetTextRenderingParams ( IDWriteRenderingParams* textRenderingParams )
493     void GetTextRenderingParams ( IDWriteRenderingParams** textRenderingParams )
494     void SetTags ( D2D1_TAG tag1, D2D1_TAG tag2 )
495     void GetTags ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
496     void PushLayer ( D2D1_LAYER_PARAMETERS* layerParameters, ID2D1Layer* layer )
497     void PopLayer ( )
498     HRESULT Flush ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
499     void SaveDrawingState ( ID2D1DrawingStateBlock* drawingStateBlock )
500     void RestoreDrawingState ( ID2D1DrawingStateBlock* drawingStateBlock )
501     void PushAxisAlignedClip ( D2D1_RECT_F* clipRect, D2D1_ANTIALIAS_MODE antialiasMode )
502     void PopAxisAlignedClip ( )
503     void Clear ( D2D1_COLOR_F* clearColor )
504     void BeginDraw ( )
505     HRESULT EndDraw ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
506     D2D1_PIXEL_FORMAT GetPixelFormat ( )
507     void SetDpi ( FLOAT dpiX, FLOAT dpiY )
508     void GetDpi ( FLOAT* dpiX, FLOAT* dpiY )
509     D2D1_SIZE_F GetSize ( )
510     D2D1_SIZE_U GetPixelSize ( )
511     UINT32 GetMaximumBitmapSize ( )
512     BOOL IsSupported ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties ) ;
513
514 COM-INTERFACE: ID2D1BitmapRenderTarget ID2D1RenderTarget {2cd90695-12e2-11dc-9fed-001143a055f9}
515     HRESULT GetBitmap ( ID2D1Bitmap** bitmap ) ;
516
517 COM-INTERFACE: ID2D1HwndRenderTarget ID2D1RenderTarget {2cd90698-12e2-11dc-9fed-001143a055f9}
518     D2D1_WINDOW_STATE CheckWindowState ( )
519     HRESULT Resize ( D2D1_SIZE_U* pixelSize )
520     HWND GetHwnd ( ) ;
521
522 COM-INTERFACE: ID2D1GdiInteropRenderTarget IUnknown {e0db51c3-6f77-4bae-b3d5-e47509b35838}
523     HRESULT GetDC ( D2D1_DC_INITIALIZE_MODE mode, HDC* hdc )
524     HRESULT ReleaseDC ( RECT* update ) ;
525
526 COM-INTERFACE: ID2D1DCRenderTarget ID2D1RenderTarget {1c51bc64-de61-46fd-9899-63a5d8f03950}
527     HRESULT BindDC ( HDC hDC, RECT* pSubRect ) ;
528
529 COM-INTERFACE: ID2D1Factory IUnknown {06152247-6f50-465a-9245-118bfd3b6007}
530     HRESULT ReloadSystemMetrics ( )
531     void GetDesktopDpi ( FLOAT* dpiX, FLOAT* dpiY )
532     HRESULT CreateRectangleGeometry ( D2D1_RECT_F* rectangle, ID2D1RectangleGeometry** rectangleGeometry )
533     HRESULT CreateRoundedRectangleGeometry ( D2D1_ROUNDED_RECT* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry )
534     HRESULT CreateEllipseGeometry ( D2D1_ELLIPSE* ellipse, ID2D1EllipseGeometry** ellipseGeometry )
535     HRESULT CreateGeometryGroup ( D2D1_FILL_MODE fillMode, ID2D1Geometry** geometries, UINT geometriesCount, ID2D1GeometryGroup** geometryGroup )
536     HRESULT CreateTransformedGeometry ( ID2D1Geometry* sourceGeometry, D2D1_MATRIX_3X2_F* transform, ID2D1TransformedGeometry** transformedGeometry )
537     HRESULT CreatePathGeometry ( ID2D1PathGeometry** pathGeometry )
538     HRESULT CreateStrokeStyle ( D2D1_STROKE_STYLE_PROPERTIES* strokeStyleProperties, FLOAT* dashes, UINT dashesCount, ID2D1StrokeStyle** strokeStyle )
539     HRESULT CreateDrawingStateBlock ( D2D1_DRAWING_STATE_DESCRIPTION* drawingStateDescription, IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock )
540     HRESULT CreateWicBitmapRenderTarget ( IWICBitmap* target, D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1RenderTarget** renderTarget )
541     HRESULT CreateHwndRenderTarget ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget )
542     HRESULT CreateDxgiSurfaceRenderTarget ( IDXGISurface* dxgiSurface, D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1RenderTarget** renderTarget )
543     HRESULT CreateDCRenderTarget ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget ) ;
544
545 FUNCTION: HRESULT D2D1CreateFactory (
546         D2D1_FACTORY_TYPE     factoryType,
547         REFIID                riid,
548         D2D1_FACTORY_OPTIONS* pFactoryOptions,
549         void**                ppIFactory ) ;
550
551 FUNCTION: void D2D1MakeRotateMatrix (
552         FLOAT              angle,
553         D2D1_POINT_2F      center,
554         D2D1_MATRIX_3X2_F* matrix ) ;
555
556 FUNCTION: void D2D1MakeSkewMatrix (
557         FLOAT              angleX,
558         FLOAT              angleY,
559         D2D1_POINT_2F      center,
560         D2D1_MATRIX_3X2_F* matrix ) ;
561
562 FUNCTION: BOOL D2D1IsMatrixInvertible (
563         D2D1_MATRIX_3X2_F* matrix ) ;
564
565 FUNCTION: BOOL D2D1InvertMatrix (
566         D2D1_MATRIX_3X2_F* matrix ) ;
567