Added regedit unit test, a couple minor changes to regedit.
[wine] / programs / winetest / include / gdi32.pm
1 package gdi32;
2
3 use strict;
4
5 require Exporter;
6
7 use wine;
8 use vars qw(@ISA @EXPORT @EXPORT_OK);
9
10 @ISA = qw(Exporter);
11 @EXPORT = qw();
12 @EXPORT_OK = qw();
13
14 my $module_declarations = {
15     "AbortDoc" => ["long",  ["long"]],
16     "AbortPath" => ["long",  ["long"]],
17     "AddFontResourceA" => ["long",  ["str"]],
18     "AddFontResourceW" => ["long",  ["wstr"]],
19     "AngleArc" => ["long",  ["long", "long", "long", "long", "long", "long"]],
20     "AnimatePalette" => ["long",  ["long", "long", "long", "ptr"]],
21     "Arc" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long"]],
22     "ArcTo" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long"]],
23     "BeginPath" => ["long",  ["long"]],
24     "BitBlt" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long"]],
25     "ChoosePixelFormat" => ["long",  ["long", "ptr"]],
26     "Chord" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long"]],
27     "CloseEnhMetaFile" => ["long",  ["long"]],
28     "CloseFigure" => ["long",  ["long"]],
29     "CloseMetaFile" => ["long",  ["long"]],
30     "CloseMetaFile16" => ["long",  ["long"]],
31     "CombineRgn" => ["long",  ["long", "long", "long", "long"]],
32     "CombineTransform" => ["long",  ["ptr", "ptr", "ptr"]],
33     "CopyEnhMetaFileA" => ["long",  ["long", "str"]],
34     "CopyMetaFileA" => ["long",  ["long", "str"]],
35     "CopyMetaFileW" => ["long",  ["long", "wstr"]],
36     "CreateBitmap" => ["long",  ["long", "long", "long", "long", "ptr"]],
37     "CreateBitmapIndirect" => ["long",  ["ptr"]],
38     "CreateBrushIndirect" => ["long",  ["ptr"]],
39     "CreateColorSpaceA" => ["long",  ["ptr"]],
40     "CreateColorSpaceW" => ["long",  ["ptr"]],
41     "CreateCompatibleBitmap" => ["long",  ["long", "long", "long"]],
42     "CreateCompatibleDC" => ["long",  ["long"]],
43     "CreateDCA" => ["long",  ["str", "str", "str", "ptr"]],
44     "CreateDCW" => ["long",  ["wstr", "wstr", "wstr", "ptr"]],
45     "CreateDIBPatternBrush" => ["long",  ["long", "long"]],
46     "CreateDIBPatternBrushPt" => ["long",  ["ptr", "long"]],
47     "CreateDIBSection" => ["long",  ["long", "ptr", "long", "ptr", "long", "long"]],
48     "CreateDIBitmap" => ["long",  ["long", "ptr", "long", "ptr", "ptr", "long"]],
49     "CreateDiscardableBitmap" => ["long",  ["long", "long", "long"]],
50     "CreateEllipticRgn" => ["long",  ["long", "long", "long", "long"]],
51     "CreateEllipticRgnIndirect" => ["long",  ["ptr"]],
52     "CreateEnhMetaFileA" => ["long",  ["long", "str", "ptr", "str"]],
53     "CreateEnhMetaFileW" => ["long",  ["long", "wstr", "ptr", "wstr"]],
54     "CreateFontA" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "str"]],
55     "CreateFontIndirectA" => ["long",  ["ptr"]],
56     "CreateFontIndirectW" => ["long",  ["ptr"]],
57     "CreateFontW" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "wstr"]],
58     "CreateHalftonePalette" => ["long",  ["long"]],
59     "CreateHatchBrush" => ["long",  ["long", "long"]],
60     "CreateICA" => ["long",  ["str", "str", "str", "ptr"]],
61     "CreateICW" => ["long",  ["wstr", "wstr", "wstr", "ptr"]],
62     "CreateMetaFile16" => ["long",  ["str"]],
63     "CreateMetaFileA" => ["long",  ["str"]],
64     "CreateMetaFileW" => ["long",  ["wstr"]],
65     "CreatePalette" => ["long",  ["ptr"]],
66     "CreatePatternBrush" => ["long",  ["long"]],
67     "CreatePen" => ["long",  ["long", "long", "long"]],
68     "CreatePenIndirect" => ["long",  ["ptr"]],
69     "CreatePolyPolygonRgn" => ["long",  ["ptr", "ptr", "long", "long"]],
70     "CreatePolygonRgn" => ["long",  ["ptr", "long", "long"]],
71     "CreateRectRgn" => ["long",  ["long", "long", "long", "long"]],
72     "CreateRectRgnIndirect" => ["long",  ["ptr"]],
73     "CreateRoundRectRgn" => ["long",  ["long", "long", "long", "long", "long", "long"]],
74     "CreateScalableFontResourceA" => ["long",  ["long", "str", "str", "str"]],
75     "CreateScalableFontResourceW" => ["long",  ["long", "wstr", "wstr", "wstr"]],
76     "CreateSolidBrush" => ["long",  ["long"]],
77     "DPtoLP" => ["long",  ["long", "ptr", "long"]],
78     "DeleteColorSpace" => ["long",  ["long"]],
79     "DeleteDC" => ["long",  ["long"]],
80     "DeleteEnhMetaFile" => ["long",  ["long"]],
81     "DeleteMetaFile" => ["long",  ["long"]],
82     "DeleteObject" => ["long",  ["long"]],
83     "DescribePixelFormat" => ["long",  ["long", "long", "long", "ptr"]],
84     "DrawEscape" => ["long",  ["long", "long", "long", "str"]],
85     "Ellipse" => ["long",  ["long", "long", "long", "long", "long"]],
86     "EndDoc" => ["long",  ["long"]],
87     "EndPage" => ["long",  ["long"]],
88     "EndPath" => ["long",  ["long"]],
89     "EnumEnhMetaFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr"]],
90     "EnumFontFamiliesA" => ["long",  ["long", "str", "ptr", "long"]],
91     "EnumFontFamiliesExA" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
92     "EnumFontFamiliesExW" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
93     "EnumFontFamiliesW" => ["long",  ["long", "wstr", "ptr", "long"]],
94     "EnumFontsA" => ["long",  ["long", "str", "ptr", "long"]],
95     "EnumFontsW" => ["long",  ["long", "wstr", "ptr", "long"]],
96     "EnumMetaFile" => ["long",  ["long", "long", "ptr", "long"]],
97     "EnumObjects" => ["long",  ["long", "long", "ptr", "long"]],
98     "EqualRgn" => ["long",  ["long", "long"]],
99     "Escape" => ["long",  ["long", "long", "long", "str", "ptr"]],
100     "ExcludeClipRect" => ["long",  ["long", "long", "long", "long", "long"]],
101     "ExtCreatePen" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
102     "ExtCreateRegion" => ["long",  ["ptr", "long", "ptr"]],
103     "ExtEscape" => ["long",  ["long", "long", "long", "str", "long", "str"]],
104     "ExtFloodFill" => ["long",  ["long", "long", "long", "long", "long"]],
105     "ExtSelectClipRgn" => ["long",  ["long", "long", "long"]],
106     "ExtTextOutA" => ["long",  ["long", "long", "long", "long", "ptr", "str", "long", "ptr"]],
107     "ExtTextOutW" => ["long",  ["long", "long", "long", "long", "ptr", "wstr", "long", "ptr"]],
108     "FillPath" => ["long",  ["long"]],
109     "FillRgn" => ["long",  ["long", "long", "long"]],
110     "FixBrushOrgEx" => ["long",  ["long", "long", "long", "ptr"]],
111     "FlattenPath" => ["long",  ["long"]],
112     "FloodFill" => ["long",  ["long", "long", "long", "long"]],
113     "FrameRgn" => ["long",  ["long", "long", "long", "long", "long"]],
114     "GdiComment" => ["long",  ["long", "long", "ptr"]],
115     "GdiFlush" => ["long",  []],
116     "GdiGetBatchLimit" => ["long",  []],
117     "GdiSetBatchLimit" => ["long",  ["long"]],
118     "GetArcDirection" => ["long",  ["long"]],
119     "GetAspectRatioFilterEx" => ["long",  ["long", "ptr"]],
120     "GetBitmapBits" => ["long",  ["long", "long", "ptr"]],
121     "GetBitmapDimensionEx" => ["long",  ["long", "ptr"]],
122     "GetBkColor" => ["long",  ["long"]],
123     "GetBkMode" => ["long",  ["long"]],
124     "GetBoundsRect" => ["long",  ["long", "ptr", "long"]],
125     "GetBrushOrgEx" => ["long",  ["long", "ptr"]],
126     "GetCharABCWidthsA" => ["long",  ["long", "long", "long", "ptr"]],
127     "GetCharABCWidthsFloatA" => ["long",  ["long", "long", "long", "ptr"]],
128     "GetCharABCWidthsFloatW" => ["long",  ["long", "long", "long", "ptr"]],
129     "GetCharABCWidthsW" => ["long",  ["long", "long", "long", "ptr"]],
130     "GetCharWidth32A" => ["long",  ["long", "long", "long", "ptr"]],
131     "GetCharWidth32W" => ["long",  ["long", "long", "long", "ptr"]],
132     "GetCharWidthA" => ["long",  ["long", "long", "long", "ptr"]],
133     "GetCharWidthFloatA" => ["long",  ["long", "long", "long", "ptr"]],
134     "GetCharWidthFloatW" => ["long",  ["long", "long", "long", "ptr"]],
135     "GetCharWidthW" => ["long",  ["long", "long", "long", "ptr"]],
136     "GetCharacterPlacementA" => ["long",  ["long", "str", "long", "long", "ptr", "long"]],
137     "GetCharacterPlacementW" => ["long",  ["long", "wstr", "long", "long", "ptr", "long"]],
138     "GetClipBox" => ["long",  ["long", "ptr"]],
139     "GetClipRgn" => ["long",  ["long", "long"]],
140     "GetColorAdjustment" => ["long",  ["long", "ptr"]],
141     "GetColorSpace" => ["long",  ["long"]],
142     "GetCurrentObject" => ["long",  ["long", "long"]],
143     "GetCurrentPositionEx" => ["long",  ["long", "ptr"]],
144     "GetDCOrgEx" => ["long",  ["long", "ptr"]],
145     "GetDIBColorTable" => ["long",  ["long", "long", "long", "ptr"]],
146     "GetDIBits" => ["long",  ["long", "long", "long", "long", "ptr", "ptr", "long"]],
147     "GetDeviceCaps" => ["long",  ["long", "long"]],
148     "GetDeviceGammaRamp" => ["long",  ["long", "ptr"]],
149     "GetEnhMetaFileA" => ["long",  ["str"]],
150     "GetEnhMetaFileBits" => ["long",  ["long", "long", "ptr"]],
151     "GetEnhMetaFileDescriptionA" => ["long",  ["long", "long", "str"]],
152     "GetEnhMetaFileDescriptionW" => ["long",  ["long", "long", "wstr"]],
153     "GetEnhMetaFileHeader" => ["long",  ["long", "long", "ptr"]],
154     "GetEnhMetaFilePaletteEntries" => ["long",  ["long", "long", "ptr"]],
155     "GetEnhMetaFileW" => ["long",  ["wstr"]],
156     "GetFontData" => ["long",  ["long", "long", "long", "ptr", "long"]],
157     "GetFontLanguageInfo" => ["long",  ["long"]],
158     "GetGlyphIndicesA" => ["long",  ["long", "str", "long", "ptr", "long"]],
159     "GetGlyphIndicesW" => ["long",  ["long", "wstr", "long", "ptr", "long"]],
160     "GetGlyphOutlineA" => ["long",  ["long", "long", "long", "ptr", "long", "ptr", "ptr"]],
161     "GetGlyphOutlineW" => ["long",  ["long", "long", "long", "ptr", "long", "ptr", "ptr"]],
162     "GetGraphicsMode" => ["long",  ["long"]],
163     "GetICMProfileA" => ["long",  ["long", "ptr", "str"]],
164     "GetKerningPairsA" => ["long",  ["long", "long", "ptr"]],
165     "GetKerningPairsW" => ["long",  ["long", "long", "ptr"]],
166     "GetLayout" => ["long",  ["long"]],
167     "GetMapMode" => ["long",  ["long"]],
168     "GetMetaFileA" => ["long",  ["str"]],
169     "GetMetaFileBitsEx" => ["long",  ["long", "long", "ptr"]],
170     "GetMetaFileW" => ["long",  ["wstr"]],
171     "GetMetaRgn" => ["long",  ["long", "long"]],
172     "GetMiterLimit" => ["long",  ["long", "ptr"]],
173     "GetNearestColor" => ["long",  ["long", "long"]],
174     "GetNearestPaletteIndex" => ["long",  ["long", "long"]],
175     "GetObjectA" => ["long",  ["long", "long", "ptr"]],
176     "GetObjectType" => ["long",  ["long"]],
177     "GetObjectW" => ["long",  ["long", "long", "ptr"]],
178     "GetOutlineTextMetricsA" => ["long",  ["long", "long", "ptr"]],
179     "GetOutlineTextMetricsW" => ["long",  ["long", "long", "ptr"]],
180     "GetPaletteEntries" => ["long",  ["long", "long", "long", "ptr"]],
181     "GetPath" => ["long",  ["long", "ptr", "ptr", "long"]],
182     "GetPixel" => ["long",  ["long", "long", "long"]],
183     "GetPixelFormat" => ["long",  ["long"]],
184     "GetPolyFillMode" => ["long",  ["long"]],
185     "GetROP2" => ["long",  ["long"]],
186     "GetRandomRgn" => ["long",  ["long", "long", "long"]],
187     "GetRasterizerCaps" => ["long",  ["ptr", "long"]],
188     "GetRegionData" => ["long",  ["long", "long", "ptr"]],
189     "GetRelAbs" => ["long",  ["long", "long"]],
190     "GetRgnBox" => ["long",  ["long", "ptr"]],
191     "GetStockObject" => ["long",  ["long"]],
192     "GetStretchBltMode" => ["long",  ["long"]],
193     "GetSystemPaletteEntries" => ["long",  ["long", "long", "long", "ptr"]],
194     "GetSystemPaletteUse" => ["long",  ["long"]],
195     "GetTextAlign" => ["long",  ["long"]],
196     "GetTextCharacterExtra" => ["long",  ["long"]],
197     "GetTextCharset" => ["long",  ["long"]],
198     "GetTextCharsetInfo" => ["long",  ["long", "ptr", "long"]],
199     "GetTextColor" => ["long",  ["long"]],
200     "GetTextExtentExPointA" => ["long",  ["long", "str", "long", "long", "ptr", "ptr", "ptr"]],
201     "GetTextExtentExPointW" => ["long",  ["long", "wstr", "long", "long", "ptr", "ptr", "ptr"]],
202     "GetTextExtentPoint32A" => ["long",  ["long", "str", "long", "ptr"]],
203     "GetTextExtentPoint32W" => ["long",  ["long", "wstr", "long", "ptr"]],
204     "GetTextExtentPointA" => ["long",  ["long", "str", "long", "ptr"]],
205     "GetTextExtentPointI" => ["long",  ["long", "ptr", "long", "ptr"]],
206     "GetTextExtentPointW" => ["long",  ["long", "wstr", "long", "ptr"]],
207     "GetTextFaceA" => ["long",  ["long", "long", "str"]],
208     "GetTextFaceW" => ["long",  ["long", "long", "wstr"]],
209     "GetTextMetricsA" => ["long",  ["long", "ptr"]],
210     "GetTextMetricsW" => ["long",  ["long", "ptr"]],
211     "GetViewportExtEx" => ["long",  ["long", "ptr"]],
212     "GetViewportOrgEx" => ["long",  ["long", "ptr"]],
213     "GetWinMetaFileBits" => ["long",  ["long", "long", "ptr", "long", "long"]],
214     "GetWindowExtEx" => ["long",  ["long", "ptr"]],
215     "GetWindowOrgEx" => ["long",  ["long", "ptr"]],
216     "GetWorldTransform" => ["long",  ["long", "ptr"]],
217     "IntersectClipRect" => ["long",  ["long", "long", "long", "long", "long"]],
218     "InvertRgn" => ["long",  ["long", "long"]],
219     "LPtoDP" => ["long",  ["long", "ptr", "long"]],
220     "LineDDA" => ["long",  ["long", "long", "long", "long", "ptr", "long"]],
221     "LineTo" => ["long",  ["long", "long", "long"]],
222     "MaskBlt" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long"]],
223     "ModifyWorldTransform" => ["long",  ["long", "ptr", "long"]],
224     "MoveToEx" => ["long",  ["long", "long", "long", "ptr"]],
225     "OffsetClipRgn" => ["long",  ["long", "long", "long"]],
226     "OffsetRgn" => ["long",  ["long", "long", "long"]],
227     "OffsetViewportOrgEx" => ["long",  ["long", "long", "long", "ptr"]],
228     "OffsetWindowOrgEx" => ["long",  ["long", "long", "long", "ptr"]],
229     "PaintRgn" => ["long",  ["long", "long"]],
230     "PatBlt" => ["long",  ["long", "long", "long", "long", "long", "long"]],
231     "PathToRegion" => ["long",  ["long"]],
232     "Pie" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long"]],
233     "PlayEnhMetaFile" => ["long",  ["long", "long", "ptr"]],
234     "PlayEnhMetaFileRecord" => ["long",  ["long", "ptr", "ptr", "long"]],
235     "PlayMetaFile" => ["long",  ["long", "long"]],
236     "PlayMetaFileRecord" => ["long",  ["long", "ptr", "ptr", "long"]],
237     "PlgBlt" => ["long",  ["long", "ptr", "long", "long", "long", "long", "long", "long", "long", "long"]],
238     "PolyBezier" => ["long",  ["long", "ptr", "long"]],
239     "PolyBezierTo" => ["long",  ["long", "ptr", "long"]],
240     "PolyDraw" => ["long",  ["long", "ptr", "ptr", "long"]],
241     "PolyPolygon" => ["long",  ["long", "ptr", "ptr", "long"]],
242     "PolyPolyline" => ["long",  ["long", "ptr", "ptr", "long"]],
243     "PolyTextOutA" => ["long",  ["long", "ptr", "long"]],
244     "PolyTextOutW" => ["long",  ["long", "ptr", "long"]],
245     "Polygon" => ["long",  ["long", "ptr", "long"]],
246     "Polyline" => ["long",  ["long", "ptr", "long"]],
247     "PolylineTo" => ["long",  ["long", "ptr", "long"]],
248     "PtInRegion" => ["long",  ["long", "long", "long"]],
249     "PtVisible" => ["long",  ["long", "long", "long"]],
250     "RealizePalette" => ["long",  ["long"]],
251     "RectInRegion" => ["long",  ["long", "ptr"]],
252     "RectVisible" => ["long",  ["long", "ptr"]],
253     "Rectangle" => ["long",  ["long", "long", "long", "long", "long"]],
254     "RemoveFontResourceA" => ["long",  ["str"]],
255     "RemoveFontResourceW" => ["long",  ["wstr"]],
256     "ResetDCA" => ["long",  ["long", "ptr"]],
257     "ResetDCW" => ["long",  ["long", "ptr"]],
258     "ResizePalette" => ["long",  ["long", "long"]],
259     "RestoreDC" => ["long",  ["long", "long"]],
260     "RoundRect" => ["long",  ["long", "long", "long", "long", "long", "long", "long"]],
261     "SaveDC" => ["long",  ["long"]],
262     "ScaleViewportExtEx" => ["long",  ["long", "long", "long", "long", "long", "ptr"]],
263     "ScaleWindowExtEx" => ["long",  ["long", "long", "long", "long", "long", "ptr"]],
264     "SelectClipPath" => ["long",  ["long", "long"]],
265     "SelectClipRgn" => ["long",  ["long", "long"]],
266     "SelectObject" => ["long",  ["long", "long"]],
267     "SelectPalette" => ["long",  ["long", "long", "long"]],
268     "SetAbortProc" => ["long",  ["long", "ptr"]],
269     "SetArcDirection" => ["long",  ["long", "long"]],
270     "SetBitmapBits" => ["long",  ["long", "long", "ptr"]],
271     "SetBitmapDimensionEx" => ["long",  ["long", "long", "long", "ptr"]],
272     "SetBkColor" => ["long",  ["long", "long"]],
273     "SetBkMode" => ["long",  ["long", "long"]],
274     "SetBoundsRect" => ["long",  ["long", "ptr", "long"]],
275     "SetBrushOrgEx" => ["long",  ["long", "long", "long", "ptr"]],
276     "SetColorAdjustment" => ["long",  ["long", "ptr"]],
277     "SetColorSpace" => ["long",  ["long", "long"]],
278     "SetDCHook" => ["long",  ["long", "ptr", "long"]],
279     "SetDIBColorTable" => ["long",  ["long", "long", "long", "ptr"]],
280     "SetDIBits" => ["long",  ["long", "long", "long", "long", "ptr", "ptr", "long"]],
281     "SetDIBitsToDevice" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr", "ptr", "long"]],
282     "SetDeviceGammaRamp" => ["long",  ["long", "ptr"]],
283     "SetEnhMetaFileBits" => ["long",  ["long", "ptr"]],
284     "SetGraphicsMode" => ["long",  ["long", "long"]],
285     "SetICMMode" => ["long",  ["long", "long"]],
286     "SetLayout" => ["long",  ["long", "long"]],
287     "SetMapMode" => ["long",  ["long", "long"]],
288     "SetMapperFlags" => ["long",  ["long", "long"]],
289     "SetMetaFileBitsEx" => ["long",  ["long", "ptr"]],
290     "SetMetaRgn" => ["long",  ["long"]],
291     "SetMiterLimit" => ["long",  ["long", "long", "ptr"]],
292     "SetObjectOwner" => ["void",  ["long", "long"]],
293     "SetPaletteEntries" => ["long",  ["long", "long", "long", "ptr"]],
294     "SetPixel" => ["long",  ["long", "long", "long", "long"]],
295     "SetPixelFormat" => ["long",  ["long", "long", "ptr"]],
296     "SetPixelV" => ["long",  ["long", "long", "long", "long"]],
297     "SetPolyFillMode" => ["long",  ["long", "long"]],
298     "SetROP2" => ["long",  ["long", "long"]],
299     "SetRectRgn" => ["long",  ["long", "long", "long", "long", "long"]],
300     "SetRelAbs" => ["long",  ["long", "long"]],
301     "SetStretchBltMode" => ["long",  ["long", "long"]],
302     "SetSystemPaletteUse" => ["long",  ["long", "long"]],
303     "SetTextAlign" => ["long",  ["long", "long"]],
304     "SetTextCharacterExtra" => ["long",  ["long", "long"]],
305     "SetTextColor" => ["long",  ["long", "long"]],
306     "SetTextJustification" => ["long",  ["long", "long", "long"]],
307     "SetViewportExtEx" => ["long",  ["long", "long", "long", "ptr"]],
308     "SetViewportOrgEx" => ["long",  ["long", "long", "long", "ptr"]],
309     "SetWinMetaFileBits" => ["long",  ["long", "ptr", "long", "ptr"]],
310     "SetWindowExtEx" => ["long",  ["long", "long", "long", "ptr"]],
311     "SetWindowOrgEx" => ["long",  ["long", "long", "long", "ptr"]],
312     "SetWorldTransform" => ["long",  ["long", "ptr"]],
313     "StartDocA" => ["long",  ["long", "ptr"]],
314     "StartDocW" => ["long",  ["long", "ptr"]],
315     "StartPage" => ["long",  ["long"]],
316     "StretchBlt" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long"]],
317     "StretchDIBits" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr", "ptr", "long", "long"]],
318     "StrokeAndFillPath" => ["long",  ["long"]],
319     "StrokePath" => ["long",  ["long"]],
320     "SwapBuffers" => ["long",  ["long"]],
321     "TextOutA" => ["long",  ["long", "long", "long", "str", "long"]],
322     "TextOutW" => ["long",  ["long", "long", "long", "wstr", "long"]],
323     "TranslateCharsetInfo" => ["long",  ["ptr", "ptr", "long"]],
324     "UnrealizeObject" => ["long",  ["long"]],
325     "UpdateColors" => ["long",  ["long"]],
326     "WidenPath" => ["long",  ["long"]]
327 };
328
329 &wine::declare("gdi32",%$module_declarations);
330 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
331 1;