]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/d2d1/d2d1.factor
Fix windows.directx compile errors
[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 C-TYPE: ID2D1Factory
307 C-TYPE: ID2D1BitmapRenderTarget 
308
309 COM-INTERFACE: ID2D1Resource IUnknown {2cd90691-12e2-11dc-9fed-001143a055f9}
310     void GetFactory ( ID2D1Factory** factory ) ;
311
312 COM-INTERFACE: ID2D1Bitmap ID2D1Resource {a2296057-ea42-4099-983b-539fb6505426}
313     D2D1_SIZE_F GetSize ( )
314     D2D1_SIZE_U GetPixelSize ( )
315     D2D1_PIXEL_FORMAT GetPixelFormat ( )
316     void GetDpi ( FLOAT* dpiX, FLOAT* dpiY )
317     HRESULT CopyFromBitmap ( D2D1_POINT_2U* destPoint, ID2D1Bitmap* bitmap, D2D1_RECT_U* srcRect )
318     HRESULT CopyFromRenderTarget ( D2D1_POINT_2U* destPoint, ID2D1RenderTarget* renderTarget, D2D1_RECT_U* srcRect )
319     HRESULT CopyFromMemory ( D2D1_RECT_U* dstRect, void* srcData, UINT32 pitch ) ;
320
321 COM-INTERFACE: ID2D1GradientStopCollection ID2D1Resource {2cd906a7-12e2-11dc-9fed-001143a055f9}
322     UINT32 GetGradientStopCount ( )
323     void GetGradientStops ( D2D1_GRADIENT_STOP* gradientStops, UINT gradientStopsCount )
324     D2D1_GAMMA GetColorInterpolationGamma ( )
325     D2D1_EXTEND_MODE GetExtendMode ( ) ;
326
327 COM-INTERFACE: ID2D1Brush ID2D1Resource {2cd906a8-12e2-11dc-9fed-001143a055f9}
328     void SetOpacity ( FLOAT opacity )
329     void SetTransform ( D2D1_MATRIX_3X2_F* transform )
330     FLOAT GetOpacity ( )
331     void GetTransform ( D2D1_MATRIX_3X2_F* transform ) ;
332
333 COM-INTERFACE: ID2D1BitmapBrush ID2D1Brush {2cd906aa-12e2-11dc-9fed-001143a055f9}
334     void SetExtendModeX ( D2D1_EXTEND_MODE extendModeX )
335     void SetExtendModeY ( D2D1_EXTEND_MODE extendModeY )
336     void SetInterpolationMode ( D2D1_BITMAP_INTERPOLATION_MODE interpolationMode )
337     void SetBitmap ( ID2D1Bitmap* bitmap )
338     D2D1_EXTEND_MODE GetExtendModeX ( )
339     D2D1_EXTEND_MODE GetExtendModeY ( )
340     D2D1_BITMAP_INTERPOLATION_MODE GetInterpolationMode ( )
341     void GetBitmap ( ID2D1Bitmap** bitmap ) ;
342
343 COM-INTERFACE: ID2D1SolidColorBrush ID2D1Brush {2cd906a9-12e2-11dc-9fed-001143a055f9}
344     void SetColor ( D2D1_COLOR_F* color )
345     D2D1_COLOR_F GetColor ( ) ;
346
347 COM-INTERFACE: ID2D1LinearGradientBrush ID2D1Brush {2cd906ab-12e2-11dc-9fed-001143a055f9}
348     void SetStartPoint ( D2D1_POINT_2F startPoint )
349     void SetEndPoint ( D2D1_POINT_2F endPoint )
350     D2D1_POINT_2F GetStartPoint ( )
351     D2D1_POINT_2F GetEndPoint ( )
352     void GetGradientStopCollection ( ID2D1GradientStopCollection** gradientStopCollection ) ;
353
354 COM-INTERFACE: ID2D1RadialGradientBrush ID2D1Brush {2cd906ac-12e2-11dc-9fed-001143a055f9}
355     void SetCenter ( D2D1_POINT_2F center )
356     void SetGradientOriginOffset ( D2D1_POINT_2F gradientOriginOffset )
357     void SetRadiusX ( FLOAT radiusX )
358     void SetRadiusY ( FLOAT radiusY )
359     D2D1_POINT_2F GetCenter ( )
360     D2D1_POINT_2F GetGradientOriginOffset ( )
361     FLOAT GetRadiusX ( )
362     FLOAT GetRadiusY ( )
363     void GetGradientStopCollection ( ID2D1GradientStopCollection** gradientStopCollection ) ;
364
365 COM-INTERFACE: ID2D1StrokeStyle ID2D1Resource {2cd9069d-12e2-11dc-9fed-001143a055f9}
366     D2D1_CAP_STYLE GetStartCap ( )
367     D2D1_CAP_STYLE GetEndCap ( )
368     D2D1_CAP_STYLE GetDashCap ( )
369     FLOAT GetMiterLimit ( )
370     D2D1_LINE_JOIN GetLineJoin ( )
371     FLOAT GetDashOffset ( )
372     D2D1_DASH_STYLE GetDashStyle ( )
373     UINT32 GetDashesCount ( )
374     void GetDashes ( FLOAT* dashes, UINT dashesCount ) ;
375
376 C-TYPE: ID2D1SimplifiedGeometrySink
377 C-TYPE: ID2D1TessellationSink
378
379 COM-INTERFACE: ID2D1Geometry ID2D1Resource {2cd906a1-12e2-11dc-9fed-001143a055f9}
380     HRESULT GetBounds ( D2D1_MATRIX_3X2_F* worldTransform, D2D1_RECT_F* bounds )
381     HRESULT GetWidenedBounds ( FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F* bounds )
382     HRESULT StrokeContainsPoint ( D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, BOOL* contains )
383     HRESULT FillContainsPoint ( D2D1_POINT_2F point, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, BOOL* contains )
384     HRESULT CompareWithGeometry ( ID2D1Geometry* inputGeometry, D2D1_MATRIX_3X2_F* inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION* relation )
385     HRESULT Simplify ( D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
386     HRESULT Tessellate ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1TessellationSink* tessellationSink )
387     HRESULT CombineWithGeometry ( ID2D1Geometry* inputGeometry, D2D1_COMBINE_MODE combineMode, D2D1_MATRIX_3X2_F* inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
388     HRESULT Outline ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
389     HRESULT ComputeArea ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, FLOAT* area )
390     HRESULT ComputeLength ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, FLOAT* length )
391     HRESULT ComputePointAtLength ( FLOAT length, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F* point, D2D1_POINT_2F* unitTangentVector )
392     HRESULT Widen ( FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink ) ;
393
394 COM-INTERFACE: ID2D1RectangleGeometry ID2D1Geometry {2cd906a2-12e2-11dc-9fed-001143a055f9}
395     void GetRect ( D2D1_RECT_F* rect ) ;
396
397 COM-INTERFACE: ID2D1RoundedRectangleGeometry ID2D1Geometry {2cd906a3-12e2-11dc-9fed-001143a055f9}
398     void GetRoundedRect ( D2D1_ROUNDED_RECT* roundedRect ) ;
399
400 COM-INTERFACE: ID2D1EllipseGeometry ID2D1Geometry {2cd906a4-12e2-11dc-9fed-001143a055f9}
401     void GetEllipse ( D2D1_ELLIPSE* ellipse ) ;
402
403 COM-INTERFACE: ID2D1GeometryGroup ID2D1Geometry {2cd906a6-12e2-11dc-9fed-001143a055f9}
404     D2D1_FILL_MODE GetFillMode ( )
405     UINT32 GetSourceGeometryCount ( )
406     void GetSourceGeometries ( ID2D1Geometry** geometries, UINT geometriesCount ) ;
407
408 COM-INTERFACE: ID2D1TransformedGeometry ID2D1Geometry {2cd906bb-12e2-11dc-9fed-001143a055f9}
409     void GetSourceGeometry ( ID2D1Geometry** sourceGeometry )
410     void GetTransform ( D2D1_MATRIX_3X2_F* transform ) ;
411
412 COM-INTERFACE: ID2D1SimplifiedGeometrySink IUnknown {2cd9069e-12e2-11dc-9fed-001143a055f9}
413     void SetFillMode ( D2D1_FILL_MODE fillMode )
414     void SetSegmentFlags ( D2D1_PATH_SEGMENT vertexFlags )
415     void BeginFigure ( D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin )
416     void AddLines ( D2D1_POINT_2F* points, UINT pointsCount )
417     void AddBeziers ( D2D1_BEZIER_SEGMENT* beziers, UINT beziersCount )
418     void EndFigure ( D2D1_FIGURE_END figureEnd )
419     HRESULT Close ( ) ;
420
421 COM-INTERFACE: ID2D1GeometrySink ID2D1SimplifiedGeometrySink {2cd9069f-12e2-11dc-9fed-001143a055f9}
422     void AddLine ( D2D1_POINT_2F point )
423     void AddBezier ( D2D1_BEZIER_SEGMENT* bezier )
424     void AddQuadraticBezier ( D2D1_QUADRATIC_BEZIER_SEGMENT* bezier )
425     void AddQuadraticBeziers ( D2D1_QUADRATIC_BEZIER_SEGMENT* beziers, UINT beziersCount )
426     void AddArc ( D2D1_ARC_SEGMENT* arc ) ;
427
428 COM-INTERFACE: ID2D1TessellationSink IUnknown {2cd906c1-12e2-11dc-9fed-001143a055f9}
429     void AddTriangles ( D2D1_TRIANGLE* triangles, UINT trianglesCount )
430     HRESULT Close ( ) ;
431
432 COM-INTERFACE: ID2D1PathGeometry ID2D1Geometry {2cd906a5-12e2-11dc-9fed-001143a055f9}
433     HRESULT Open ( ID2D1GeometrySink** geometrySink )
434     HRESULT Stream ( ID2D1GeometrySink* geometrySink )
435     HRESULT GetSegmentCount ( UINT32* count )
436     HRESULT GetFigureCount ( UINT32* count ) ;
437
438 COM-INTERFACE: ID2D1Mesh ID2D1Resource {2cd906c2-12e2-11dc-9fed-001143a055f9}
439     HRESULT Open ( ID2D1TessellationSink** tessellationSink ) ;
440
441 COM-INTERFACE: ID2D1Layer ID2D1Resource {2cd9069b-12e2-11dc-9fed-001143a055f9}
442     D2D1_SIZE_F GetSize ( ) ;
443
444 C-TYPE: IDWriteRenderingParams
445
446 COM-INTERFACE: ID2D1DrawingStateBlock ID2D1Resource {28506e39-ebf6-46a1-bb47-fd85565ab957}
447     void GetDescription ( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription )
448     void SetDescription ( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription )
449     void SetTextRenderingParams ( IDWriteRenderingParams* textRenderingParams )
450     void GetTextRenderingParams ( IDWriteRenderingParams** textRenderingParams ) ;
451
452 C-TYPE: IWICBitmapSource
453 C-TYPE: IWICBitmap
454 C-TYPE: IDWriteTextFormat
455 C-TYPE: IDWriteTextLayout
456 C-TYPE: DWRITE_GLYPH_RUN
457
458 COM-INTERFACE: ID2D1RenderTarget ID2D1Resource {2cd90694-12e2-11dc-9fed-001143a055f9}
459     HRESULT CreateBitmap ( D2D1_SIZE_U size, void* srcData, UINT32 pitch, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
460     HRESULT CreateBitmapFromWicBitmap ( IWICBitmapSource* wicBitmapSource, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
461     HRESULT CreateSharedBitmap ( REFIID riid, void* data, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
462     HRESULT CreateBitmapBrush ( ID2D1Bitmap* bitmap, D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1BitmapBrush** bitmapBrush )
463     HRESULT CreateSolidColorBrush ( D2D1_COLOR_F* color, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1SolidColorBrush** solidColorBrush )
464     HRESULT CreateGradientStopCollection ( D2D1_GRADIENT_STOP* gradientStops, UINT gradientStopsCount, D2D1_GAMMA colorInterpolationGamma, D2D1_EXTEND_MODE extendMode, ID2D1GradientStopCollection** gradientStopCollection )
465     HRESULT CreateLinearGradientBrush ( D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush )
466     HRESULT CreateRadialGradientBrush ( D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush )
467     HRESULT CreateCompatibleRenderTarget ( D2D1_SIZE_F* desiredSize, D2D1_SIZE_U* desiredPixelSize, D2D1_PIXEL_FORMAT* desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget** bitmapRenderTarget )
468     HRESULT CreateLayer ( D2D1_SIZE_F* size, ID2D1Layer** layer )
469     HRESULT CreateMesh ( ID2D1Mesh** mesh )
470     void DrawLine ( D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
471     void DrawRectangle ( D2D1_RECT_F* rect, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
472     void FillRectangle ( D2D1_RECT_F* rect, ID2D1Brush* brush )
473     void DrawRoundedRectangle ( D2D1_ROUNDED_RECT* roundedRect, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
474     void FillRoundedRectangle ( D2D1_ROUNDED_RECT* roundedRect, ID2D1Brush* brush )
475     void DrawEllipse ( D2D1_ELLIPSE* ellipse, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
476     void FillEllipse ( D2D1_ELLIPSE* ellipse, ID2D1Brush* brush )
477     void DrawGeometry ( ID2D1Geometry* geometry, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
478     void FillGeometry ( ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush )
479     void FillMesh ( ID2D1Mesh* mesh, ID2D1Brush* brush )
480     void FillOpacityMask ( ID2D1Bitmap* opacityMask, ID2D1Brush* brush, D2D1_OPACITY_MASK_CONTENT content, D2D1_RECT_F* destinationRectangle, D2D1_RECT_F* sourceRectangle )
481     void DrawBitmap ( ID2D1Bitmap* bitmap, D2D1_RECT_F* destinationRectangle, FLOAT opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, D2D1_RECT_F* sourceRectangle )
482     void DrawText ( WCHAR* string, UINT stringLength, IDWriteTextFormat* textFormat, D2D1_RECT_F* layoutRect, ID2D1Brush* defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuringMode )
483     void DrawTextLayout ( D2D1_POINT_2F origin, IDWriteTextLayout* textLayout, ID2D1Brush* defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options )
484     void DrawGlyphRun ( D2D1_POINT_2F baselineOrigin, DWRITE_GLYPH_RUN* glyphRun, ID2D1Brush* foregroundBrush, DWRITE_MEASURING_MODE measuringMode )
485     void SetTransform ( D2D1_MATRIX_3X2_F* transform )
486     void GetTransform ( D2D1_MATRIX_3X2_F* transform )
487     void SetAntialiasMode ( D2D1_ANTIALIAS_MODE antialiasMode )
488     D2D1_ANTIALIAS_MODE GetAntialiasMode ( )
489     void SetTextAntialiasMode ( D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode )
490     D2D1_TEXT_ANTIALIAS_MODE GetTextAntialiasMode ( )
491     void SetTextRenderingParams ( IDWriteRenderingParams* textRenderingParams )
492     void GetTextRenderingParams ( IDWriteRenderingParams** textRenderingParams )
493     void SetTags ( D2D1_TAG tag1, D2D1_TAG tag2 )
494     void GetTags ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
495     void PushLayer ( D2D1_LAYER_PARAMETERS* layerParameters, ID2D1Layer* layer )
496     void PopLayer ( )
497     HRESULT Flush ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
498     void SaveDrawingState ( ID2D1DrawingStateBlock* drawingStateBlock )
499     void RestoreDrawingState ( ID2D1DrawingStateBlock* drawingStateBlock )
500     void PushAxisAlignedClip ( D2D1_RECT_F* clipRect, D2D1_ANTIALIAS_MODE antialiasMode )
501     void PopAxisAlignedClip ( )
502     void Clear ( D2D1_COLOR_F* clearColor )
503     void BeginDraw ( )
504     HRESULT EndDraw ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
505     D2D1_PIXEL_FORMAT GetPixelFormat ( )
506     void SetDpi ( FLOAT dpiX, FLOAT dpiY )
507     void GetDpi ( FLOAT* dpiX, FLOAT* dpiY )
508     D2D1_SIZE_F GetSize ( )
509     D2D1_SIZE_U GetPixelSize ( )
510     UINT32 GetMaximumBitmapSize ( )
511     BOOL IsSupported ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties ) ;
512
513 COM-INTERFACE: ID2D1BitmapRenderTarget ID2D1RenderTarget {2cd90695-12e2-11dc-9fed-001143a055f9}
514     HRESULT GetBitmap ( ID2D1Bitmap** bitmap ) ;
515
516 COM-INTERFACE: ID2D1HwndRenderTarget ID2D1RenderTarget {2cd90698-12e2-11dc-9fed-001143a055f9}
517     D2D1_WINDOW_STATE CheckWindowState ( )
518     HRESULT Resize ( D2D1_SIZE_U* pixelSize )
519     HWND GetHwnd ( ) ;
520
521 COM-INTERFACE: ID2D1GdiInteropRenderTarget IUnknown {e0db51c3-6f77-4bae-b3d5-e47509b35838}
522     HRESULT GetDC ( D2D1_DC_INITIALIZE_MODE mode, HDC* hdc )
523     HRESULT ReleaseDC ( RECT* update ) ;
524
525 COM-INTERFACE: ID2D1DCRenderTarget ID2D1RenderTarget {1c51bc64-de61-46fd-9899-63a5d8f03950}
526     HRESULT BindDC ( HDC hDC, RECT* pSubRect ) ;
527
528 COM-INTERFACE: ID2D1Factory IUnknown {06152247-6f50-465a-9245-118bfd3b6007}
529     HRESULT ReloadSystemMetrics ( )
530     void GetDesktopDpi ( FLOAT* dpiX, FLOAT* dpiY )
531     HRESULT CreateRectangleGeometry ( D2D1_RECT_F* rectangle, ID2D1RectangleGeometry** rectangleGeometry )
532     HRESULT CreateRoundedRectangleGeometry ( D2D1_ROUNDED_RECT* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry )
533     HRESULT CreateEllipseGeometry ( D2D1_ELLIPSE* ellipse, ID2D1EllipseGeometry** ellipseGeometry )
534     HRESULT CreateGeometryGroup ( D2D1_FILL_MODE fillMode, ID2D1Geometry** geometries, UINT geometriesCount, ID2D1GeometryGroup** geometryGroup )
535     HRESULT CreateTransformedGeometry ( ID2D1Geometry* sourceGeometry, D2D1_MATRIX_3X2_F* transform, ID2D1TransformedGeometry** transformedGeometry )
536     HRESULT CreatePathGeometry ( ID2D1PathGeometry** pathGeometry )
537     HRESULT CreateStrokeStyle ( D2D1_STROKE_STYLE_PROPERTIES* strokeStyleProperties, FLOAT* dashes, UINT dashesCount, ID2D1StrokeStyle** strokeStyle )
538     HRESULT CreateDrawingStateBlock ( D2D1_DRAWING_STATE_DESCRIPTION* drawingStateDescription, IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock )
539     HRESULT CreateWicBitmapRenderTarget ( IWICBitmap* target, D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1RenderTarget** renderTarget )
540     HRESULT CreateHwndRenderTarget ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget )
541     HRESULT CreateDxgiSurfaceRenderTarget ( IDXGISurface* dxgiSurface, D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1RenderTarget** renderTarget )
542     HRESULT CreateDCRenderTarget ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget ) ;
543
544 FUNCTION: HRESULT D2D1CreateFactory (
545         D2D1_FACTORY_TYPE     factoryType,
546         REFIID                riid,
547         D2D1_FACTORY_OPTIONS* pFactoryOptions,
548         void**                ppIFactory ) ;
549
550 FUNCTION: void D2D1MakeRotateMatrix (
551         FLOAT              angle,
552         D2D1_POINT_2F      center,
553         D2D1_MATRIX_3X2_F* matrix ) ;
554
555 FUNCTION: void D2D1MakeSkewMatrix (
556         FLOAT              angleX,
557         FLOAT              angleY,
558         D2D1_POINT_2F      center,
559         D2D1_MATRIX_3X2_F* matrix ) ;
560
561 FUNCTION: BOOL D2D1IsMatrixInvertible (
562         D2D1_MATRIX_3X2_F* matrix ) ;
563
564 FUNCTION: BOOL D2D1InvertMatrix (
565         D2D1_MATRIX_3X2_F* matrix ) ;
566