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