]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/gdiplus/gdiplus.factor
scryfall: make decks better, import from moxfield
[factor.git] / basis / windows / gdiplus / gdiplus.factor
1 ! Copyright (C) 2010 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.data alien.destructors alien.syntax
4 classes.struct init kernel literals math namespaces windows.com
5 windows.com.syntax windows.kernel32 windows.ole32 windows.types ;
6 FROM: alien.c-types => float ;
7 IN: windows.gdiplus
8
9 LIBRARY: gdiplus
10
11 FUNCTION: void* GdipAlloc ( SIZE_T size )
12 FUNCTION: void GdipFree ( void* mem )
13
14 DESTRUCTOR: GdipFree
15
16 TYPEDEF: float REAL
17
18 ENUM: GpStatus
19     { Ok                          0 }
20     { GenericError                1 }
21     { InvalidParameter            2 }
22     { OutOfMemory                 3 }
23     { ObjectBusy                  4 }
24     { InsufficientBuffer          5 }
25     { NotImplemented              6 }
26     { Win32Error                  7 }
27     { WrongState                  8 }
28     { Aborted                     9 }
29     { FileNotFound               10 }
30     { ValueOverflow              11 }
31     { AccessDenied               12 }
32     { UnknownImageFormat         13 }
33     { FontFamilyNotFound         14 }
34     { FontStyleNotFound          15 }
35     { NotTrueTypeFont            16 }
36     { UnsupportedGdiplusVersion  17 }
37     { GdiplusNotInitialized      18 }
38     { PropertyNotFound           19 }
39     { PropertyNotSupported       20 }
40     { ProfileNotFound            21 } ;
41
42 CALLBACK: BOOL ImageAbort ( void* data )
43 TYPEDEF: ImageAbort DrawImageAbort
44 TYPEDEF: ImageAbort GetThumbnailImageAbort
45
46 STRUCT: GpPoint
47     { X INT }
48     { Y INT } ;
49
50 STRUCT: GpPointF
51     { X REAL }
52     { Y REAL } ;
53
54 STRUCT: GpPathData
55     { Count INT }
56     { Points GpPointF* }
57     { Types BYTE* } ;
58
59 STRUCT: GpRectF
60     { X REAL }
61     { Y REAL }
62     { Width REAL }
63     { Height REAL } ;
64
65 STRUCT: GpRect
66     { X INT }
67     { Y INT }
68     { Width INT }
69     { Height INT } ;
70
71 STRUCT: CharacterRange
72     { First INT }
73     { Length INT } ;
74
75 TYPEDEF: UINT GraphicsState
76 TYPEDEF: UINT GraphicsContainer
77
78 ENUM: GpUnit
79     { UnitWorld       0 }
80     { UnitDisplay     1 }
81     { UnitPixel       2 }
82     { UnitPoint       3 }
83     { UnitInch        4 }
84     { UnitDocument    5 }
85     { UnitMillimeter  6 } ;
86
87 ENUM: GpBrushType
88     { BrushTypeSolidColor       0 }
89     { BrushTypeHatchFill        1 }
90     { BrushTypeTextureFill      2 }
91     { BrushTypePathGradient     3 }
92     { BrushTypeLinearGradient   4 } ;
93
94 ENUM: GpFillMode
95     { FillModeAlternate   0 }
96     { FillModeWinding     1 } ;
97
98 ENUM: GpLineCap
99     { LineCapFlat             0x00 }
100     { LineCapSquare           0x01 }
101     { LineCapRound            0x02 }
102     { LineCapTriangle         0x03 }
103
104     { LineCapNoAnchor         0x10 }
105     { LineCapSquareAnchor     0x11 }
106     { LineCapRoundAnchor      0x12 }
107     { LineCapDiamondAnchor    0x13 }
108     { LineCapArrowAnchor      0x14 }
109
110     { LineCapCustom           0xff }
111     { LineCapAnchorMask       0xf0 } ;
112
113 ENUM: PathPointType
114     { PathPointTypeStart            0 }
115     { PathPointTypeLine             1 }
116     { PathPointTypeBezier           3 }
117     { PathPointTypePathTypeMask     7 }
118     { PathPointTypePathDashMode    16 }
119     { PathPointTypePathMarker      32 }
120     { PathPointTypeCloseSubpath   128 }
121     { PathPointTypeBezier3          3 } ;
122
123 ENUM: GpPenType
124     { PenTypeSolidColor         BrushTypeSolidColor }
125     { PenTypeHatchFill          BrushTypeHatchFill }
126     { PenTypeTextureFill        BrushTypeTextureFill }
127     { PenTypePathGradient       BrushTypePathGradient }
128     { PenTypeLinearGradient     BrushTypeLinearGradient }
129     { PenTypeUnknown            -1 } ;
130
131 ENUM: GpLineJoin
132     { LineJoinMiter             0 }
133     { LineJoinBevel             1 }
134     { LineJoinRound             2 }
135     { LineJoinMiterClipped      3 } ;
136
137 ENUM: QualityMode
138     { QualityModeInvalid    -1 }
139     { QualityModeDefault    0 }
140     { QualityModeLow        1 }
141     { QualityModeHigh       2 } ;
142
143 ENUM: SmoothingMode
144     { SmoothingModeInvalid       QualityModeInvalid }
145     { SmoothingModeDefault       QualityModeDefault }
146     { SmoothingModeHighSpeed     QualityModeLow }
147     { SmoothingModeHighQuality   QualityModeHigh }
148     SmoothingModeNone
149     SmoothingModeAntiAlias ;
150
151 ENUM: CompositingQuality
152     { CompositingQualityInvalid            QualityModeInvalid }
153     { CompositingQualityDefault            QualityModeDefault }
154     { CompositingQualityHighSpeed          QualityModeLow }
155     { CompositingQualityHighQuality        QualityModeHigh }
156     CompositingQualityGammaCorrected
157     CompositingQualityAssumeLinear ;
158
159 ENUM: InterpolationMode
160     { InterpolationModeInvalid          QualityModeInvalid }
161     { InterpolationModeDefault          QualityModeDefault }
162     { InterpolationModeLowQuality       QualityModeLow }
163     { InterpolationModeHighQuality      QualityModeHigh }
164     InterpolationModeBilinear
165     InterpolationModeBicubic
166     InterpolationModeNearestNeighbor
167     InterpolationModeHighQualityBilinear
168     InterpolationModeHighQualityBicubic ;
169
170 ENUM: GpPenAlignment
171     { PenAlignmentCenter     0 }
172     { PenAlignmentInset      1 } ;
173
174 ENUM: PixelOffsetMode
175     { PixelOffsetModeInvalid       QualityModeInvalid }
176     { PixelOffsetModeDefault       QualityModeDefault }
177     { PixelOffsetModeHighSpeed     QualityModeLow }
178     { PixelOffsetModeHighQuality   QualityModeHigh }
179     PixelOffsetModeNone
180     PixelOffsetModeHalf ;
181
182 ENUM: GpDashCap
183     { DashCapFlat       0 }
184     { DashCapRound      2 }
185     { DashCapTriangle   3 } ;
186
187 ENUM: GpDashStyle
188     DashStyleSolid
189     DashStyleDash
190     DashStyleDot
191     DashStyleDashDot
192     DashStyleDashDotDot
193     DashStyleCustom ;
194
195 ENUM: GpMatrixOrder
196     { MatrixOrderPrepend   0 }
197     { MatrixOrderAppend    1 } ;
198
199 ENUM: ImageType
200     ImageTypeUnknown
201     ImageTypeBitmap
202     ImageTypeMetafile ;
203
204 ENUM: WarpMode
205     WarpModePerspective
206     WarpModeBilinear ;
207
208 ENUM: GpWrapMode
209     WrapModeTile
210     WrapModeTileFlipX
211     WrapModeTileFlipY
212     WrapModeTileFlipXY
213     WrapModeClamp ;
214
215 ENUM: MetafileType
216     MetafileTypeInvalid
217     MetafileTypeWmf
218     MetafileTypeWmfPlaceable
219     MetafileTypeEmf
220     MetafileTypeEmfPlusOnly
221     MetafileTypeEmfPlusDual ;
222
223 ENUM: LinearGradientMode
224     LinearGradientModeHorizontal
225     LinearGradientModeVertical
226     LinearGradientModeForwardDiagonal
227     LinearGradientModeBackwardDiagonal ;
228
229 ENUM: EmfType
230     { EmfTypeEmfOnly       MetafileTypeEmf }
231     { EmfTypeEmfPlusOnly   MetafileTypeEmfPlusOnly }
232     { EmfTypeEmfPlusDual   MetafileTypeEmfPlusDual } ;
233
234 ENUM: CompositingMode
235     CompositingModeSourceOver
236     CompositingModeSourceCopy ;
237
238 ENUM: TextRenderingHint
239     { TextRenderingHintSystemDefault   0 }
240     TextRenderingHintSingleBitPerPixelGridFit
241     TextRenderingHintSingleBitPerPixel
242     TextRenderingHintAntiAliasGridFit
243     TextRenderingHintAntiAlias
244     TextRenderingHintClearTypeGridFit ;
245
246 ENUM: StringAlignment
247     { StringAlignmentNear      0 }
248     { StringAlignmentCenter    1 }
249     { StringAlignmentFar       2 } ;
250
251 ENUM: StringDigitSubstitute
252     { StringDigitSubstituteUser          0 }
253     { StringDigitSubstituteNone          1 }
254     { StringDigitSubstituteNational      2 }
255     { StringDigitSubstituteTraditional   3 } ;
256
257 ENUM: StringFormatFlags
258     { StringFormatFlagsDirectionRightToLeft    0x00000001 }
259     { StringFormatFlagsDirectionVertical       0x00000002 }
260     { StringFormatFlagsNoFitBlackBox           0x00000004 }
261     { StringFormatFlagsDisplayFormatControl    0x00000020 }
262     { StringFormatFlagsNoFontFallback          0x00000400 }
263     { StringFormatFlagsMeasureTrailingSpaces   0x00000800 }
264     { StringFormatFlagsNoWrap                  0x00001000 }
265     { StringFormatFlagsLineLimit               0x00002000 }
266     { StringFormatFlagsNoClip                  0x00004000 } ;
267
268 ENUM: StringTrimming
269     { StringTrimmingNone                   0 }
270     { StringTrimmingCharacter              1 }
271     { StringTrimmingWord                   2 }
272     { StringTrimmingEllipsisCharacter      3 }
273     { StringTrimmingEllipsisWord           4 }
274     { StringTrimmingEllipsisPath           5 } ;
275
276 ENUM: FontStyle
277     { FontStyleRegular      0 }
278     { FontStyleBold         1 }
279     { FontStyleItalic       2 }
280     { FontStyleBoldItalic   3 }
281     { FontStyleUnderline    4 }
282     { FontStyleStrikeout    8 } ;
283
284 ENUM: HotkeyPrefix
285     { HotkeyPrefixNone     0 }
286     { HotkeyPrefixShow     1 }
287     { HotkeyPrefixHide     2 } ;
288
289 ENUM: PaletteFlags
290     { PaletteFlagsHasAlpha          1 }
291     { PaletteFlagsGrayScale         2 }
292     { PaletteFlagsHalftone          4 } ;
293
294 ENUM: ImageCodecFlags
295     { ImageCodecFlagsEncoder            1 }
296     { ImageCodecFlagsDecoder            2 }
297     { ImageCodecFlagsSupportBitmap      4 }
298     { ImageCodecFlagsSupportVector      8 }
299     { ImageCodecFlagsSeekableEncode     16 }
300     { ImageCodecFlagsBlockingDecode     32 }
301     { ImageCodecFlagsBuiltin            65536 }
302     { ImageCodecFlagsSystem             131072 }
303     { ImageCodecFlagsUser               262144 } ;
304
305 ENUM: ImageFlags
306     { ImageFlagsNone                0 }
307     { ImageFlagsScalable            0x0001 }
308     { ImageFlagsHasAlpha            0x0002 }
309     { ImageFlagsHasTranslucent      0x0004 }
310     { ImageFlagsPartiallyScalable   0x0008 }
311     { ImageFlagsColorSpaceRGB       0x0010 }
312     { ImageFlagsColorSpaceCMYK      0x0020 }
313     { ImageFlagsColorSpaceGRAY      0x0040 }
314     { ImageFlagsColorSpaceYCBCR     0x0080 }
315     { ImageFlagsColorSpaceYCCK      0x0100 }
316     { ImageFlagsHasRealDPI          0x1000 }
317     { ImageFlagsHasRealPixelSize    0x2000 }
318     { ImageFlagsReadOnly            0x00010000 }
319     { ImageFlagsCaching             0x00020000 } ;
320
321 ENUM: CombineMode
322     CombineModeReplace
323     CombineModeIntersect
324     CombineModeUnion
325     CombineModeXor
326     CombineModeExclude
327     CombineModeComplement ;
328
329 ENUM: GpFlushIntention
330     { FlushIntentionFlush   0 }
331     { FlushIntentionSync    1 } ;
332
333 ENUM: GpCoordinateSpace
334     CoordinateSpaceWorld
335     CoordinateSpacePage
336     CoordinateSpaceDevice ;
337
338 ENUM: GpTestControlEnum
339     { TestControlForceBilinear    0 }
340     { TestControlNoICM            1 }
341     { TestControlGetBuildNumber   2 } ;
342
343 ENUM: MetafileFrameUnit
344     { MetafileFrameUnitPixel        UnitPixel }
345     { MetafileFrameUnitPoint        UnitPoint }
346     { MetafileFrameUnitInch         UnitInch }
347     { MetafileFrameUnitDocument     UnitDocument }
348     { MetafileFrameUnitMillimeter   UnitMillimeter }
349     MetafileFrameUnitGdi ;
350
351 ENUM: HatchStyle
352     { HatchStyleHorizontal   0 }
353     { HatchStyleVertical   1 }
354     { HatchStyleForwardDiagonal   2 }
355     { HatchStyleBackwardDiagonal   3 }
356     { HatchStyleCross   4 }
357     { HatchStyleDiagonalCross   5 }
358     { HatchStyle05Percent   6 }
359     { HatchStyle10Percent   7 }
360     { HatchStyle20Percent   8 }
361     { HatchStyle25Percent   9 }
362     { HatchStyle30Percent   10 }
363     { HatchStyle40Percent   11 }
364     { HatchStyle50Percent   12 }
365     { HatchStyle60Percent   13 }
366     { HatchStyle70Percent   14 }
367     { HatchStyle75Percent   15 }
368     { HatchStyle80Percent   16 }
369     { HatchStyle90Percent   17 }
370     { HatchStyleLightDownwardDiagonal   18 }
371     { HatchStyleLightUpwardDiagonal   19 }
372     { HatchStyleDarkDownwardDiagonal   20 }
373     { HatchStyleDarkUpwardDiagonal   21 }
374     { HatchStyleWideDownwardDiagonal   22 }
375     { HatchStyleWideUpwardDiagonal   23 }
376     { HatchStyleLightVertical   24 }
377     { HatchStyleLightHorizontal   25 }
378     { HatchStyleNarrowVertical   26 }
379     { HatchStyleNarrowHorizontal   27 }
380     { HatchStyleDarkVertical   28 }
381     { HatchStyleDarkHorizontal   29 }
382     { HatchStyleDashedDownwardDiagonal   30 }
383     { HatchStyleDashedUpwardDiagonal   31 }
384     { HatchStyleDashedHorizontal   32 }
385     { HatchStyleDashedVertical   33 }
386     { HatchStyleSmallConfetti   34 }
387     { HatchStyleLargeConfetti   35 }
388     { HatchStyleZigZag   36 }
389     { HatchStyleWave   37 }
390     { HatchStyleDiagonalBrick   38 }
391     { HatchStyleHorizontalBrick   39 }
392     { HatchStyleWeave   40 }
393     { HatchStylePlaid   41 }
394     { HatchStyleDivot   42 }
395     { HatchStyleDottedGrid   43 }
396     { HatchStyleDottedDiamond   44 }
397     { HatchStyleShingle   45 }
398     { HatchStyleTrellis   46 }
399     { HatchStyleSphere   47 }
400     { HatchStyleSmallGrid   48 }
401     { HatchStyleSmallCheckerBoard   49 }
402     { HatchStyleLargeCheckerBoard   50 }
403     { HatchStyleOutlinedDiamond   51 }
404     { HatchStyleSolidDiamond   52 }
405     { HatchStyleTotal   53 }
406     { HatchStyleLargeGrid   4 }
407     { HatchStyleMin   0 }
408     { HatchStyleMax   52 } ;
409
410 ENUM: DebugEventLevel
411     DebugEventLevelFatal
412     DebugEventLevelWarning ;
413
414 CALLBACK: void DebugEventProc ( DebugEventLevel level, c-string msg )
415 CALLBACK: GpStatus NotificationHookProc ( ULONG_PTR* x )
416 CALLBACK: void NotificationUnhookProc ( ULONG_PTR x )
417
418 STRUCT: GdiplusStartupInput
419     { GdiplusVersion UINT32 }
420     { DebugEventCallback DebugEventProc }
421     { SuppressBackgroundThread BOOL }
422     { SuppressExternalCodecs BOOL } ;
423
424 STRUCT: GdiplusStartupOutput
425     { NotificationHook NotificationHookProc }
426     { NotificationUnhook NotificationUnhookProc } ;
427
428 FUNCTION: GpStatus GdiplusStartup ( ULONG_PTR* x, GdiplusStartupInput* in, GdiplusStartupOutput* out )
429 FUNCTION: void GdiplusShutdown ( ULONG_PTR x )
430
431 TYPEDEF: DWORD ARGB
432 TYPEDEF: INT PixelFormat
433
434 <PRIVATE
435 : pixel-format-constant ( n m l -- format )
436     [ ] [ 8 shift ] [ ] tri* bitor bitor ; inline
437 PRIVATE>
438
439 CONSTANT: PixelFormatIndexed   0x00010000
440 CONSTANT: PixelFormatGDI       0x00020000
441 CONSTANT: PixelFormatAlpha     0x00040000
442 CONSTANT: PixelFormatPAlpha    0x00080000
443 CONSTANT: PixelFormatExtended  0x00100000
444 CONSTANT: PixelFormatCanonical 0x00200000
445
446 CONSTANT: PixelFormatUndefined 0
447 CONSTANT: PixelFormatDontCare  0
448 CONSTANT: PixelFormatMax               15
449
450 : PixelFormat1bppIndexed ( -- x )
451     1  1 flags{ PixelFormatIndexed PixelFormatGDI } pixel-format-constant ; inline
452 : PixelFormat4bppIndexed ( -- x )
453     2  4 flags{ PixelFormatIndexed PixelFormatGDI } pixel-format-constant ; inline
454 : PixelFormat8bppIndexed ( -- x )
455     3  8 flags{ PixelFormatIndexed PixelFormatGDI } pixel-format-constant ; inline
456 : PixelFormat16bppGrayScale ( -- x )
457     4 16 PixelFormatExtended pixel-format-constant ; inline
458 : PixelFormat16bppRGB555 ( -- x )
459     5 16 PixelFormatGDI pixel-format-constant ; inline
460 : PixelFormat16bppRGB565 ( -- x )
461     6 16 PixelFormatGDI pixel-format-constant ; inline
462 : PixelFormat16bppARGB1555 ( -- x )
463     7 16 flags{ PixelFormatAlpha PixelFormatGDI } pixel-format-constant ; inline
464 : PixelFormat24bppRGB ( -- x )
465     8 24 PixelFormatGDI pixel-format-constant ; inline
466 : PixelFormat32bppRGB ( -- x )
467     9 32 PixelFormatGDI pixel-format-constant ; inline
468 : PixelFormat32bppARGB ( -- x )
469     10 32 flags{ PixelFormatAlpha PixelFormatGDI PixelFormatCanonical } pixel-format-constant ; inline
470 : PixelFormat32bppPARGB ( -- x )
471     11 32 flags{ PixelFormatAlpha PixelFormatPAlpha PixelFormatGDI } pixel-format-constant ; inline
472 : PixelFormat48bppRGB ( -- x )
473     12 48 PixelFormatExtended pixel-format-constant ; inline
474 : PixelFormat64bppARGB ( -- x )
475     13 64 flags{ PixelFormatAlpha PixelFormatCanonical PixelFormatExtended } pixel-format-constant ; inline
476 : PixelFormat64bppPARGB ( -- x )
477     14 64 flags{ PixelFormatAlpha PixelFormatPAlpha PixelFormatExtended } pixel-format-constant ; inline
478
479 STRUCT: ColorPalette
480     { Flags UINT }
481     { Count UINT }
482     { Entries ARGB[1] } ;
483
484 ! XXX RECTL and SIZEL should go with other metafile definitions if we add them
485 STRUCT: RECTL
486     { left   LONG }
487     { top    LONG }
488     { right  LONG }
489     { bottom LONG } ;
490
491 STRUCT: SIZEL
492     { width LONG }
493     { height LONG } ;
494
495 STRUCT: ENHMETAHEADER3
496     { iType DWORD }
497     { nSize DWORD }
498     { rclBounds RECTL }
499     { rclFrame RECTL }
500     { dSignature DWORD }
501     { nVersion DWORD }
502     { nBytes DWORD }
503     { nRecords DWORD }
504     { nHandles WORD }
505     { sReserved WORD }
506     { nDescription DWORD }
507     { offDescription DWORD }
508     { nPalEntries DWORD }
509     { szlDevice SIZEL }
510     { szlMillimeters SIZEL } ;
511
512 STRUCT: PWMFRect16
513     { Left INT16 }
514     { Top INT16 }
515     { Right INT16 }
516     { Bottom INT16 } ;
517
518 STRUCT: WmfPlaceableFileHeader
519     { Key UINT32 }
520     { Hmf INT16 }
521     { BoundingBox PWMFRect16 }
522     { Inch INT16 }
523     { Reserved INT16[2] }
524     { Checksum INT16 } ;
525
526 CONSTANT: GDIP_EMFPLUSFLAGS_DISPLAY 1
527
528 ! XXX we don't have a METAHEADER struct defined
529 ! UNION-STRUCT: MetafileHeader-union
530 !     { WmfHeader METAHEADER }
531 !     { EmfHeader ENHMETAHEADER3 } ;
532
533 UNION-STRUCT: MetafileHeader-union
534     { EmfHeader ENHMETAHEADER3 } ;
535
536 STRUCT: MetafileHeader
537     { Type MetafileType }
538     { Size UINT }
539     { Version UINT }
540     { EmfPlusFlags UINT }
541     { DpiX REAL }
542     { DpiY REAL }
543     { X INT }
544     { Y INT }
545     { Width INT }
546     { Height INT }
547     { Header-union MetafileHeader-union }
548     { EmfPlusHeaderSize INT }
549     { LogicalDpiX INT }
550     { LogicalDpiY INT } ;
551
552 CONSTANT: ImageFormatUndefined      GUID: {b96b3ca9-0728-11d3-9d7b-0000f81ef32e}
553 CONSTANT: ImageFormatMemoryBMP      GUID: {b96b3caa-0728-11d3-9d7b-0000f81ef32e}
554 CONSTANT: ImageFormatBMP            GUID: {b96b3cab-0728-11d3-9d7b-0000f81ef32e}
555 CONSTANT: ImageFormatEMF            GUID: {b96b3cac-0728-11d3-9d7b-0000f81ef32e}
556 CONSTANT: ImageFormatWMF            GUID: {b96b3cad-0728-11d3-9d7b-0000f81ef32e}
557 CONSTANT: ImageFormatJPEG           GUID: {b96b3cae-0728-11d3-9d7b-0000f81ef32e}
558 CONSTANT: ImageFormatPNG            GUID: {b96b3caf-0728-11d3-9d7b-0000f81ef32e}
559 CONSTANT: ImageFormatGIF            GUID: {b96b3cb0-0728-11d3-9d7b-0000f81ef32e}
560 CONSTANT: ImageFormatTIFF           GUID: {b96b3cb1-0728-11d3-9d7b-0000f81ef32e}
561 CONSTANT: ImageFormatEXIF           GUID: {b96b3cb2-0728-11d3-9d7b-0000f81ef32e}
562 CONSTANT: ImageFormatIcon           GUID: {b96b3cb5-0728-11d3-9d7b-0000f81ef32e}
563
564 CONSTANT: FrameDimensionTime        GUID: {6aedbd6d-3fb5-418a-83a6-7f45229dc872}
565 CONSTANT: FrameDimensionPage        GUID: {7462dc86-6180-4c7e-8e3f-ee7333a7a483}
566 CONSTANT: FrameDimensionResolution  GUID: {84236f7b-3bd3-428f-8dab-4ea1439ca315}
567
568 ENUM: ImageLockMode
569     { ImageLockModeRead           1 }
570     { ImageLockModeWrite          2 }
571     { ImageLockModeUserInputBuf   4 } ;
572
573 ENUM: RotateFlipType
574     { RotateNoneFlipNone 0 }
575     { Rotate180FlipXY    RotateNoneFlipNone }
576
577     { Rotate90FlipNone   1 }
578     { Rotate270FlipXY    Rotate90FlipNone }
579
580     { Rotate180FlipNone  2 }
581     { RotateNoneFlipXY   Rotate180FlipNone }
582
583     { Rotate270FlipNone  3 }
584     { Rotate90FlipXY     Rotate270FlipNone }
585
586     { RotateNoneFlipX    4 }
587     { Rotate180FlipY     RotateNoneFlipX }
588
589     { Rotate90FlipX      5 }
590     { Rotate270FlipY     Rotate90FlipX }
591
592     { Rotate180FlipX     6 }
593     { RotateNoneFlipY    Rotate180FlipX }
594
595     { Rotate270FlipX     7 }
596     { Rotate90FlipY      Rotate270FlipX } ;
597
598 STRUCT: EncoderParameter
599     { Guid GUID }
600     { NumberOfValues ULONG }
601     { Type ULONG }
602     { Value void* } ;
603
604 STRUCT: EncoderParameters
605     { Count UINT }
606     { Parameter EncoderParameter[1] } ;
607
608 STRUCT: ImageCodecInfo
609     { Clsid CLSID }
610     { FormatID GUID }
611     { CodecName WCHAR* }
612     { DllName WCHAR* }
613     { FormatDescription WCHAR* }
614     { FilenameExtension WCHAR* }
615     { MimeType WCHAR* }
616     { Flags DWORD }
617     { Version DWORD }
618     { SigCount DWORD }
619     { SigSize DWORD }
620     { SigPattern BYTE* }
621     { SigMask BYTE* } ;
622
623 STRUCT: BitmapData
624     { Width UINT }
625     { Height UINT }
626     { Stride INT }
627     { PixelFormat PixelFormat }
628     { Scan0 void* }
629     { Reserved UINT_PTR } ;
630
631 STRUCT: ImageItemData
632     { Size UINT }
633     { Position UINT }
634     { Desc void* }
635     { DescSize UINT }
636     { Data void* }
637     { DataSize UINT }
638     { Cookie UINT } ;
639
640 STRUCT: PropertyItem
641     { id PROPID }
642     { length ULONG }
643     { type WORD }
644     { value void* } ;
645
646 CONSTANT: PropertyTagTypeByte       1
647 CONSTANT: PropertyTagTypeASCII      2
648 CONSTANT: PropertyTagTypeShort      3
649 CONSTANT: PropertyTagTypeLong       4
650 CONSTANT: PropertyTagTypeRational   5
651 CONSTANT: PropertyTagTypeUndefined  7
652 CONSTANT: PropertyTagTypeSLONG      9
653 CONSTANT: PropertyTagTypeSRational 10
654
655 CONSTANT: PropertyTagExifIFD                0x8769
656 CONSTANT: PropertyTagGpsIFD                 0x8825
657
658 CONSTANT: PropertyTagNewSubfileType         0x00FE
659 CONSTANT: PropertyTagSubfileType            0x00FF
660 CONSTANT: PropertyTagImageWidth             0x0100
661 CONSTANT: PropertyTagImageHeight            0x0101
662 CONSTANT: PropertyTagBitsPerSample          0x0102
663 CONSTANT: PropertyTagCompression            0x0103
664 CONSTANT: PropertyTagPhotometricInterp      0x0106
665 CONSTANT: PropertyTagThreshHolding          0x0107
666 CONSTANT: PropertyTagCellWidth              0x0108
667 CONSTANT: PropertyTagCellHeight             0x0109
668 CONSTANT: PropertyTagFillOrder              0x010A
669 CONSTANT: PropertyTagDocumentName           0x010D
670 CONSTANT: PropertyTagImageDescription       0x010E
671 CONSTANT: PropertyTagEquipMake              0x010F
672 CONSTANT: PropertyTagEquipModel             0x0110
673 CONSTANT: PropertyTagStripOffsets           0x0111
674 CONSTANT: PropertyTagOrientation            0x0112
675 CONSTANT: PropertyTagSamplesPerPixel        0x0115
676 CONSTANT: PropertyTagRowsPerStrip           0x0116
677 CONSTANT: PropertyTagStripBytesCount        0x0117
678 CONSTANT: PropertyTagMinSampleValue         0x0118
679 CONSTANT: PropertyTagMaxSampleValue         0x0119
680 CONSTANT: PropertyTagXResolution            0x011A
681 CONSTANT: PropertyTagYResolution            0x011B
682 CONSTANT: PropertyTagPlanarConfig           0x011C
683 CONSTANT: PropertyTagPageName               0x011D
684 CONSTANT: PropertyTagXPosition              0x011E
685 CONSTANT: PropertyTagYPosition              0x011F
686 CONSTANT: PropertyTagFreeOffset             0x0120
687 CONSTANT: PropertyTagFreeByteCounts         0x0121
688 CONSTANT: PropertyTagGrayResponseUnit       0x0122
689 CONSTANT: PropertyTagGrayResponseCurve      0x0123
690 CONSTANT: PropertyTagT4Option               0x0124
691 CONSTANT: PropertyTagT6Option               0x0125
692 CONSTANT: PropertyTagResolutionUnit         0x0128
693 CONSTANT: PropertyTagPageNumber             0x0129
694 CONSTANT: PropertyTagTransferFuncition      0x012D
695 CONSTANT: PropertyTagSoftwareUsed           0x0131
696 CONSTANT: PropertyTagDateTime               0x0132
697 CONSTANT: PropertyTagArtist                 0x013B
698 CONSTANT: PropertyTagHostComputer           0x013C
699 CONSTANT: PropertyTagPredictor              0x013D
700 CONSTANT: PropertyTagWhitePoint             0x013E
701 CONSTANT: PropertyTagPrimaryChromaticities  0x013F
702 CONSTANT: PropertyTagColorMap               0x0140
703 CONSTANT: PropertyTagHalftoneHints          0x0141
704 CONSTANT: PropertyTagTileWidth              0x0142
705 CONSTANT: PropertyTagTileLength             0x0143
706 CONSTANT: PropertyTagTileOffset             0x0144
707 CONSTANT: PropertyTagTileByteCounts         0x0145
708 CONSTANT: PropertyTagInkSet                 0x014C
709 CONSTANT: PropertyTagInkNames               0x014D
710 CONSTANT: PropertyTagNumberOfInks           0x014E
711 CONSTANT: PropertyTagDotRange               0x0150
712 CONSTANT: PropertyTagTargetPrinter          0x0151
713 CONSTANT: PropertyTagExtraSamples           0x0152
714 CONSTANT: PropertyTagSampleFormat           0x0153
715 CONSTANT: PropertyTagSMinSampleValue        0x0154
716 CONSTANT: PropertyTagSMaxSampleValue        0x0155
717 CONSTANT: PropertyTagTransferRange          0x0156
718
719 CONSTANT: PropertyTagJPEGProc               0x0200
720 CONSTANT: PropertyTagJPEGInterFormat        0x0201
721 CONSTANT: PropertyTagJPEGInterLength        0x0202
722 CONSTANT: PropertyTagJPEGRestartInterval    0x0203
723 CONSTANT: PropertyTagJPEGLosslessPredictors 0x0205
724 CONSTANT: PropertyTagJPEGPointTransforms    0x0206
725 CONSTANT: PropertyTagJPEGQTables            0x0207
726 CONSTANT: PropertyTagJPEGDCTables           0x0208
727 CONSTANT: PropertyTagJPEGACTables           0x0209
728
729 CONSTANT: PropertyTagYCbCrCoefficients      0x0211
730 CONSTANT: PropertyTagYCbCrSubsampling       0x0212
731 CONSTANT: PropertyTagYCbCrPositioning       0x0213
732 CONSTANT: PropertyTagREFBlackWhite          0x0214
733
734 CONSTANT: PropertyTagICCProfile          0x8773
735
736 CONSTANT: PropertyTagGamma                0x0301
737 CONSTANT: PropertyTagICCProfileDescriptor 0x0302
738 CONSTANT: PropertyTagSRGBRenderingIntent  0x0303
739
740 CONSTANT: PropertyTagImageTitle          0x0320
741 CONSTANT: PropertyTagCopyright           0x8298
742
743 CONSTANT: PropertyTagResolutionXUnit            0x5001
744 CONSTANT: PropertyTagResolutionYUnit            0x5002
745 CONSTANT: PropertyTagResolutionXLengthUnit      0x5003
746 CONSTANT: PropertyTagResolutionYLengthUnit      0x5004
747 CONSTANT: PropertyTagPrintFlags                 0x5005
748 CONSTANT: PropertyTagPrintFlagsVersion          0x5006
749 CONSTANT: PropertyTagPrintFlagsCrop             0x5007
750 CONSTANT: PropertyTagPrintFlagsBleedWidth       0x5008
751 CONSTANT: PropertyTagPrintFlagsBleedWidthScale  0x5009
752 CONSTANT: PropertyTagHalftoneLPI                0x500A
753 CONSTANT: PropertyTagHalftoneLPIUnit            0x500B
754 CONSTANT: PropertyTagHalftoneDegree             0x500C
755 CONSTANT: PropertyTagHalftoneShape              0x500D
756 CONSTANT: PropertyTagHalftoneMisc               0x500E
757 CONSTANT: PropertyTagHalftoneScreen             0x500F
758 CONSTANT: PropertyTagJPEGQuality                0x5010
759 CONSTANT: PropertyTagGridSize                   0x5011
760 CONSTANT: PropertyTagThumbnailFormat            0x5012
761 CONSTANT: PropertyTagThumbnailWidth             0x5013
762 CONSTANT: PropertyTagThumbnailHeight            0x5014
763 CONSTANT: PropertyTagThumbnailColorDepth        0x5015
764 CONSTANT: PropertyTagThumbnailPlanes            0x5016
765 CONSTANT: PropertyTagThumbnailRawBytes          0x5017
766 CONSTANT: PropertyTagThumbnailSize              0x5018
767 CONSTANT: PropertyTagThumbnailCompressedSize    0x5019
768 CONSTANT: PropertyTagColorTransferFunction      0x501A
769 CONSTANT: PropertyTagThumbnailData              0x501B
770
771 CONSTANT: PropertyTagThumbnailImageWidth        0x5020
772 CONSTANT: PropertyTagThumbnailImageHeight       0x5021
773 CONSTANT: PropertyTagThumbnailBitsPerSample     0x5022
774 CONSTANT: PropertyTagThumbnailCompression       0x5023
775 CONSTANT: PropertyTagThumbnailPhotometricInterp 0x5024
776 CONSTANT: PropertyTagThumbnailImageDescription  0x5025
777 CONSTANT: PropertyTagThumbnailEquipMake         0x5026
778 CONSTANT: PropertyTagThumbnailEquipModel        0x5027
779 CONSTANT: PropertyTagThumbnailStripOffsets      0x5028
780 CONSTANT: PropertyTagThumbnailOrientation       0x5029
781 CONSTANT: PropertyTagThumbnailSamplesPerPixel   0x502A
782 CONSTANT: PropertyTagThumbnailRowsPerStrip      0x502B
783 CONSTANT: PropertyTagThumbnailStripBytesCount   0x502C
784 CONSTANT: PropertyTagThumbnailResolutionX       0x502D
785 CONSTANT: PropertyTagThumbnailResolutionY       0x502E
786 CONSTANT: PropertyTagThumbnailPlanarConfig      0x502F
787 CONSTANT: PropertyTagThumbnailResolutionUnit    0x5030
788 CONSTANT: PropertyTagThumbnailTransferFunction  0x5031
789 CONSTANT: PropertyTagThumbnailSoftwareUsed      0x5032
790 CONSTANT: PropertyTagThumbnailDateTime          0x5033
791 CONSTANT: PropertyTagThumbnailArtist            0x5034
792 CONSTANT: PropertyTagThumbnailWhitePoint        0x5035
793 CONSTANT: PropertyTagThumbnailPrimaryChromaticities 0x5036
794 CONSTANT: PropertyTagThumbnailYCbCrCoefficients 0x5037
795 CONSTANT: PropertyTagThumbnailYCbCrSubsampling  0x5038
796 CONSTANT: PropertyTagThumbnailYCbCrPositioning  0x5039
797 CONSTANT: PropertyTagThumbnailRefBlackWhite     0x503A
798 CONSTANT: PropertyTagThumbnailCopyRight         0x503B
799
800 CONSTANT: PropertyTagLuminanceTable    0x5090
801 CONSTANT: PropertyTagChrominanceTable  0x5091
802
803 CONSTANT: PropertyTagFrameDelay        0x5100
804 CONSTANT: PropertyTagLoopCount         0x5101
805
806 CONSTANT: PropertyTagPixelUnit         0x5110
807 CONSTANT: PropertyTagPixelPerUnitX     0x5111
808 CONSTANT: PropertyTagPixelPerUnitY     0x5112
809 CONSTANT: PropertyTagPaletteHistogram  0x5113
810
811 CONSTANT: PropertyTagExifExposureTime  0x829A
812 CONSTANT: PropertyTagExifFNumber       0x829D
813
814 CONSTANT: PropertyTagExifExposureProg  0x8822
815 CONSTANT: PropertyTagExifSpectralSense 0x8824
816 CONSTANT: PropertyTagExifISOSpeed      0x8827
817 CONSTANT: PropertyTagExifOECF          0x8828
818
819 CONSTANT: PropertyTagExifVer           0x9000
820 CONSTANT: PropertyTagExifDTOrig        0x9003
821 CONSTANT: PropertyTagExifDTDigitized   0x9004
822
823 CONSTANT: PropertyTagExifCompConfig    0x9101
824 CONSTANT: PropertyTagExifCompBPP       0x9102
825
826 CONSTANT: PropertyTagExifShutterSpeed  0x9201
827 CONSTANT: PropertyTagExifAperture      0x9202
828 CONSTANT: PropertyTagExifBrightness    0x9203
829 CONSTANT: PropertyTagExifExposureBias  0x9204
830 CONSTANT: PropertyTagExifMaxAperture   0x9205
831 CONSTANT: PropertyTagExifSubjectDist   0x9206
832 CONSTANT: PropertyTagExifMeteringMode  0x9207
833 CONSTANT: PropertyTagExifLightSource   0x9208
834 CONSTANT: PropertyTagExifFlash         0x9209
835 CONSTANT: PropertyTagExifFocalLength   0x920A
836 CONSTANT: PropertyTagExifMakerNote     0x927C
837 CONSTANT: PropertyTagExifUserComment   0x9286
838 CONSTANT: PropertyTagExifDTSubsec      0x9290
839 CONSTANT: PropertyTagExifDTOrigSS      0x9291
840 CONSTANT: PropertyTagExifDTDigSS       0x9292
841
842 CONSTANT: PropertyTagExifFPXVer        0xA000
843 CONSTANT: PropertyTagExifColorSpace    0xA001
844 CONSTANT: PropertyTagExifPixXDim       0xA002
845 CONSTANT: PropertyTagExifPixYDim       0xA003
846 CONSTANT: PropertyTagExifRelatedWav    0xA004
847 CONSTANT: PropertyTagExifInterop       0xA005
848 CONSTANT: PropertyTagExifFlashEnergy   0xA20B
849 CONSTANT: PropertyTagExifSpatialFR     0xA20C
850 CONSTANT: PropertyTagExifFocalXRes     0xA20E
851 CONSTANT: PropertyTagExifFocalYRes     0xA20F
852 CONSTANT: PropertyTagExifFocalResUnit  0xA210
853 CONSTANT: PropertyTagExifSubjectLoc    0xA214
854 CONSTANT: PropertyTagExifExposureIndex 0xA215
855 CONSTANT: PropertyTagExifSensingMethod 0xA217
856 CONSTANT: PropertyTagExifFileSource    0xA300
857 CONSTANT: PropertyTagExifSceneType     0xA301
858 CONSTANT: PropertyTagExifCfaPattern    0xA302
859
860 CONSTANT: PropertyTagGpsVer            0x0000
861 CONSTANT: PropertyTagGpsLatitudeRef    0x0001
862 CONSTANT: PropertyTagGpsLatitude       0x0002
863 CONSTANT: PropertyTagGpsLongitudeRef   0x0003
864 CONSTANT: PropertyTagGpsLongitude      0x0004
865 CONSTANT: PropertyTagGpsAltitudeRef    0x0005
866 CONSTANT: PropertyTagGpsAltitude       0x0006
867 CONSTANT: PropertyTagGpsGpsTime        0x0007
868 CONSTANT: PropertyTagGpsGpsSatellites  0x0008
869 CONSTANT: PropertyTagGpsGpsStatus      0x0009
870 CONSTANT: PropertyTagGpsGpsMeasureMode 0x000A
871 CONSTANT: PropertyTagGpsGpsDop         0x000B
872 CONSTANT: PropertyTagGpsSpeedRef       0x000C
873 CONSTANT: PropertyTagGpsSpeed          0x000D
874 CONSTANT: PropertyTagGpsTrackRef       0x000E
875 CONSTANT: PropertyTagGpsTrack          0x000F
876 CONSTANT: PropertyTagGpsImgDirRef      0x0010
877 CONSTANT: PropertyTagGpsImgDir         0x0011
878 CONSTANT: PropertyTagGpsMapDatum       0x0012
879 CONSTANT: PropertyTagGpsDestLatRef     0x0013
880 CONSTANT: PropertyTagGpsDestLat        0x0014
881 CONSTANT: PropertyTagGpsDestLongRef    0x0015
882 CONSTANT: PropertyTagGpsDestLong       0x0016
883 CONSTANT: PropertyTagGpsDestBearRef    0x0017
884 CONSTANT: PropertyTagGpsDestBear       0x0018
885 CONSTANT: PropertyTagGpsDestDistRef    0x0019
886 CONSTANT: PropertyTagGpsDestDist       0x001A
887
888 ENUM: ColorChannelFlags
889     ColorChannelFlagsC
890     ColorChannelFlagsM
891     ColorChannelFlagsY
892     ColorChannelFlagsK
893     ColorChannelFlagsLast ;
894
895 STRUCT: GpColor
896     { Argb ARGB } ;
897
898 STRUCT: ColorMatrix
899     { m REAL[5][5] } ;
900
901 ENUM: ColorMatrixFlags
902     { ColorMatrixFlagsDefault    0 }
903     { ColorMatrixFlagsSkipGrays  1 }
904     { ColorMatrixFlagsAltGray    2 } ;
905
906 ENUM: ColorAdjustType
907     ColorAdjustTypeDefault
908     ColorAdjustTypeBitmap
909     ColorAdjustTypeBrush
910     ColorAdjustTypePen
911     ColorAdjustTypeText
912     ColorAdjustTypeCount
913     ColorAdjustTypeAny ;
914
915 STRUCT: ColorMap
916     { oldColor GpColor }
917     { newColor GpColor } ;
918
919 C-TYPE: GpGraphics
920 C-TYPE: GpPen
921 C-TYPE: GpBrush
922 C-TYPE: GpHatch
923 C-TYPE: GpSolidFill
924 C-TYPE: GpPath
925 C-TYPE: GpMatrix
926 C-TYPE: GpPathIterator
927 C-TYPE: GpCustomLineCap
928 C-TYPE: GpAdjustableArrowCap
929 C-TYPE: GpImage
930 C-TYPE: GpMetafile
931 C-TYPE: GpImageAttributes
932 C-TYPE: GpCachedBitmap
933 C-TYPE: GpBitmap
934 C-TYPE: GpPathGradient
935 C-TYPE: GpLineGradient
936 C-TYPE: GpTexture
937 C-TYPE: GpFont
938 C-TYPE: GpFontCollection
939 C-TYPE: GpFontFamily
940 C-TYPE: GpStringFormat
941 C-TYPE: GpRegion
942 C-TYPE: CGpEffect
943
944 ! dummy out other windows types we don't care to define yet
945 C-TYPE: LOGFONTA
946 C-TYPE: LOGFONTW
947
948 FUNCTION: GpStatus GdipCreateAdjustableArrowCap ( REAL x, REAL x, BOOL x, GpAdjustableArrowCap** x )
949 FUNCTION: GpStatus GdipGetAdjustableArrowCapFillState ( GpAdjustableArrowCap* x, BOOL* x )
950 FUNCTION: GpStatus GdipGetAdjustableArrowCapHeight ( GpAdjustableArrowCap* x, REAL* x )
951 FUNCTION: GpStatus GdipGetAdjustableArrowCapMiddleInset ( GpAdjustableArrowCap* x, REAL* x )
952 FUNCTION: GpStatus GdipGetAdjustableArrowCapWidth ( GpAdjustableArrowCap* x, REAL* x )
953 FUNCTION: GpStatus GdipSetAdjustableArrowCapFillState ( GpAdjustableArrowCap* x, BOOL x )
954 FUNCTION: GpStatus GdipSetAdjustableArrowCapHeight ( GpAdjustableArrowCap* x, REAL x )
955 FUNCTION: GpStatus GdipSetAdjustableArrowCapMiddleInset ( GpAdjustableArrowCap* x, REAL x )
956 FUNCTION: GpStatus GdipSetAdjustableArrowCapWidth ( GpAdjustableArrowCap* x, REAL x )
957
958 FUNCTION: GpStatus GdipBitmapApplyEffect ( GpBitmap* x, CGpEffect* x, RECT* x, BOOL x, VOID** x, INT* x )
959 FUNCTION: GpStatus GdipBitmapCreateApplyEffect ( GpBitmap** x, INT x, CGpEffect* x, RECT* x, RECT* x, GpBitmap** x, BOOL x, VOID** x, INT* x )
960 FUNCTION: GpStatus GdipBitmapGetPixel ( GpBitmap* x, INT x, INT x, ARGB* x )
961 FUNCTION: GpStatus GdipBitmapLockBits ( GpBitmap* x, GpRect* x, UINT x,
962              PixelFormat x, BitmapData* x )
963 FUNCTION: GpStatus GdipBitmapSetPixel ( GpBitmap* x, INT x, INT x, ARGB x )
964 FUNCTION: GpStatus GdipBitmapSetResolution ( GpBitmap* x, REAL x, REAL x )
965 FUNCTION: GpStatus GdipBitmapUnlockBits ( GpBitmap* x, BitmapData* x )
966 FUNCTION: GpStatus GdipCloneBitmapArea ( REAL x, REAL x, REAL x, REAL x, PixelFormat x, GpBitmap* x, GpBitmap** x )
967 FUNCTION: GpStatus GdipCloneBitmapAreaI ( INT x, INT x, INT x, INT x, PixelFormat x, GpBitmap* x, GpBitmap** x )
968 FUNCTION: GpStatus GdipCreateBitmapFromFile ( WCHAR* x, GpBitmap** x )
969 FUNCTION: GpStatus GdipCreateBitmapFromFileICM ( WCHAR* x, GpBitmap** x )
970 FUNCTION: GpStatus GdipCreateBitmapFromGdiDib ( BITMAPINFO* x, VOID* x, GpBitmap** x )
971 FUNCTION: GpStatus GdipCreateBitmapFromGraphics ( INT x, INT x, GpGraphics* x, GpBitmap** x )
972 FUNCTION: GpStatus GdipCreateBitmapFromHBITMAP ( HBITMAP x,  HPALETTE x,  GpBitmap** x )
973 FUNCTION: GpStatus GdipCreateBitmapFromHICON ( HICON x,  GpBitmap** x )
974 FUNCTION: GpStatus GdipCreateBitmapFromResource ( HINSTANCE x, WCHAR* x, GpBitmap** x )
975 FUNCTION: GpStatus GdipCreateBitmapFromScan0 ( INT x, INT x, INT x, PixelFormat x, BYTE* x,
976              GpBitmap** x )
977 FUNCTION: GpStatus GdipCreateBitmapFromStream ( IStream* x, GpBitmap** x )
978 FUNCTION: GpStatus GdipCreateBitmapFromStreamICM ( IStream* x, GpBitmap** x )
979 FUNCTION: GpStatus GdipCreateHBITMAPFromBitmap ( GpBitmap* x, HBITMAP* x, ARGB x )
980 FUNCTION: GpStatus GdipCreateHICONFromBitmap ( GpBitmap* x, HICON* x )
981 FUNCTION: GpStatus GdipDeleteEffect ( CGpEffect* x )
982 FUNCTION: GpStatus GdipSetEffectParameters ( CGpEffect* x, VOID* x, UINT x )
983
984
985 FUNCTION: GpStatus GdipCloneBrush ( GpBrush* x, GpBrush** x )
986 FUNCTION: GpStatus GdipDeleteBrush ( GpBrush* x )
987 FUNCTION: GpStatus GdipGetBrushType ( GpBrush* x, GpBrushType* x )
988
989
990 FUNCTION: GpStatus GdipCreateCachedBitmap ( GpBitmap* x, GpGraphics* x,
991              GpCachedBitmap** x )
992 FUNCTION: GpStatus GdipDeleteCachedBitmap ( GpCachedBitmap* x )
993 FUNCTION: GpStatus GdipDrawCachedBitmap ( GpGraphics* x, GpCachedBitmap* x, INT x, INT x )
994
995
996 FUNCTION: GpStatus GdipCloneCustomLineCap ( GpCustomLineCap* x, GpCustomLineCap** x )
997 FUNCTION: GpStatus GdipCreateCustomLineCap ( GpPath* x, GpPath* x, GpLineCap x, REAL x,
998              GpCustomLineCap** x )
999 FUNCTION: GpStatus GdipDeleteCustomLineCap ( GpCustomLineCap* x )
1000 FUNCTION: GpStatus GdipGetCustomLineCapBaseCap ( GpCustomLineCap* x, GpLineCap* x )
1001 FUNCTION: GpStatus GdipSetCustomLineCapBaseCap ( GpCustomLineCap* x, GpLineCap x )
1002 FUNCTION: GpStatus GdipGetCustomLineCapBaseInset ( GpCustomLineCap* x, REAL* x )
1003 FUNCTION: GpStatus GdipSetCustomLineCapBaseInset ( GpCustomLineCap* x, REAL x )
1004 FUNCTION: GpStatus GdipSetCustomLineCapStrokeCaps ( GpCustomLineCap* x, GpLineCap x,
1005              GpLineCap x )
1006 FUNCTION: GpStatus GdipGetCustomLineCapStrokeJoin ( GpCustomLineCap* x, GpLineJoin* x )
1007 FUNCTION: GpStatus GdipSetCustomLineCapStrokeJoin ( GpCustomLineCap* x, GpLineJoin x )
1008 FUNCTION: GpStatus GdipGetCustomLineCapWidthScale ( GpCustomLineCap* x, REAL* x )
1009 FUNCTION: GpStatus GdipSetCustomLineCapWidthScale ( GpCustomLineCap* x, REAL x )
1010
1011 FUNCTION: GpStatus GdipCloneFont ( GpFont* x, GpFont** x )
1012 FUNCTION: GpStatus GdipCreateFont ( GpFontFamily* x,  REAL x,  INT x,  GpUnit x,
1013              GpFont** x )
1014 FUNCTION: GpStatus GdipCreateFontFromDC ( HDC x, GpFont** x )
1015 FUNCTION: GpStatus GdipCreateFontFromLogfontA ( HDC x, LOGFONTA* x, GpFont** x )
1016 FUNCTION: GpStatus GdipCreateFontFromLogfontW ( HDC x, LOGFONTW* x, GpFont** x )
1017 FUNCTION: GpStatus GdipDeleteFont ( GpFont* x )
1018 FUNCTION: GpStatus GdipGetLogFontA ( GpFont* x, GpGraphics* x, LOGFONTA* x )
1019 FUNCTION: GpStatus GdipGetLogFontW ( GpFont* x, GpGraphics* x, LOGFONTW* x )
1020 FUNCTION: GpStatus GdipGetFamily ( GpFont* x,  GpFontFamily** x )
1021 FUNCTION: GpStatus GdipGetFontUnit ( GpFont* x,  GpUnit* x )
1022 FUNCTION: GpStatus GdipGetFontSize ( GpFont* x,  REAL* x )
1023 FUNCTION: GpStatus GdipGetFontStyle ( GpFont* x,  INT* x )
1024 FUNCTION: GpStatus GdipGetFontHeight ( GpFont* x,  GpGraphics* x,
1025                  REAL* x )
1026 FUNCTION: GpStatus GdipGetFontHeightGivenDPI ( GpFont* x,  REAL x,  REAL* x )
1027
1028
1029 FUNCTION: GpStatus GdipNewInstalledFontCollection ( GpFontCollection** x )
1030 FUNCTION: GpStatus GdipNewPrivateFontCollection ( GpFontCollection** x )
1031 FUNCTION: GpStatus GdipDeletePrivateFontCollection ( GpFontCollection** x )
1032 FUNCTION: GpStatus GdipPrivateAddFontFile ( GpFontCollection* x,  WCHAR* x )
1033 FUNCTION: GpStatus GdipPrivateAddMemoryFont ( GpFontCollection* x,
1034                  void* x, INT x )
1035 FUNCTION: GpStatus GdipGetFontCollectionFamilyCount ( GpFontCollection* x,  INT* x )
1036 FUNCTION: GpStatus GdipGetFontCollectionFamilyList ( GpFontCollection* x,  INT x,
1037                  GpFontFamily** x,  INT* x )
1038
1039
1040 FUNCTION: GpStatus GdipCloneFontFamily ( GpFontFamily* x,  GpFontFamily** x )
1041 FUNCTION: GpStatus GdipCreateFontFamilyFromName ( WCHAR* x,
1042              GpFontCollection* x,  GpFontFamily** x )
1043 FUNCTION: GpStatus GdipDeleteFontFamily ( GpFontFamily* x )
1044 FUNCTION: GpStatus GdipGetFamilyName ( GpFontFamily* x,  WCHAR* x,  LANGID x )
1045 FUNCTION: GpStatus GdipGetCellAscent ( GpFontFamily* x,  INT x,  UINT16* x )
1046 FUNCTION: GpStatus GdipGetCellDescent ( GpFontFamily* x,  INT x,  UINT16* x )
1047 FUNCTION: GpStatus GdipGetEmHeight ( GpFontFamily* x,  INT x,  UINT16* x )
1048 FUNCTION: GpStatus GdipGetGenericFontFamilySansSerif ( GpFontFamily** x )
1049 FUNCTION: GpStatus GdipGetGenericFontFamilySerif ( GpFontFamily** x )
1050 FUNCTION: GpStatus GdipGetGenericFontFamilyMonospace ( GpFontFamily** x )
1051 FUNCTION: GpStatus GdipGetLineSpacing ( GpFontFamily* x,  INT x,  UINT16* x )
1052 FUNCTION: GpStatus GdipIsStyleAvailable ( GpFontFamily* x,  INT x,  BOOL* x )
1053
1054
1055 FUNCTION: GpStatus GdipFlush ( GpGraphics* x,  GpFlushIntention x )
1056 FUNCTION: GpStatus GdipBeginContainer ( GpGraphics* x, GpRectF* x, GpRectF* x, GpUnit x, GraphicsContainer* x )
1057 FUNCTION: GpStatus GdipBeginContainer2 ( GpGraphics* x, GraphicsContainer* x )
1058 FUNCTION: GpStatus GdipBeginContainerI ( GpGraphics* x, GpRect* x, GpRect* x, GpUnit x, GraphicsContainer* x )
1059 FUNCTION: GpStatus GdipEndContainer ( GpGraphics* x, GraphicsContainer x )
1060 FUNCTION: GpStatus GdipComment ( GpGraphics* x, UINT x, BYTE* x )
1061 FUNCTION: GpStatus GdipCreateFromHDC ( HDC x, GpGraphics** x )
1062 FUNCTION: GpStatus GdipCreateFromHDC2 ( HDC x, HANDLE x, GpGraphics** x )
1063 FUNCTION: GpStatus GdipCreateFromHWND ( HWND x, GpGraphics** x )
1064 FUNCTION: GpStatus GdipCreateFromHWNDICM ( HWND x, GpGraphics** x )
1065 FUNCTION: HPALETTE GdipCreateHalftonePalette ( )
1066 FUNCTION: GpStatus GdipDeleteGraphics ( GpGraphics* x )
1067 FUNCTION: GpStatus GdipDrawArc ( GpGraphics* x, GpPen* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x )
1068 FUNCTION: GpStatus GdipDrawArcI ( GpGraphics* x, GpPen* x, INT x, INT x, INT x, INT x, REAL x, REAL x )
1069 FUNCTION: GpStatus GdipDrawBezier ( GpGraphics* x, GpPen* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x )
1070 FUNCTION: GpStatus GdipDrawBezierI ( GpGraphics* x, GpPen* x, INT x, INT x, INT x, INT x, INT x, INT x, INT x, INT x )
1071 FUNCTION: GpStatus GdipDrawBeziers ( GpGraphics* x, GpPen* x, GpPointF* x, INT x )
1072 FUNCTION: GpStatus GdipDrawBeziersI ( GpGraphics* x, GpPen* x, GpPoint* x, INT x )
1073 FUNCTION: GpStatus GdipDrawClosedCurve ( GpGraphics* x, GpPen* x, GpPointF* x, INT x )
1074 FUNCTION: GpStatus GdipDrawClosedCurveI ( GpGraphics* x, GpPen* x, GpPoint* x, INT x )
1075 FUNCTION: GpStatus GdipDrawClosedCurve2 ( GpGraphics* x, GpPen* x, GpPointF* x, INT x, REAL x )
1076 FUNCTION: GpStatus GdipDrawClosedCurve2I ( GpGraphics* x, GpPen* x, GpPoint* x, INT x, REAL x )
1077 FUNCTION: GpStatus GdipDrawCurve ( GpGraphics* x, GpPen* x, GpPointF* x, INT x )
1078 FUNCTION: GpStatus GdipDrawCurveI ( GpGraphics* x, GpPen* x, GpPoint* x, INT x )
1079 FUNCTION: GpStatus GdipDrawCurve2 ( GpGraphics* x, GpPen* x, GpPointF* x, INT x, REAL x )
1080 FUNCTION: GpStatus GdipDrawCurve2I ( GpGraphics* x, GpPen* x, GpPoint* x, INT x, REAL x )
1081 FUNCTION: GpStatus GdipDrawCurve3 ( GpGraphics* x, GpPen* x, GpPointF* x, INT x, INT x, INT x, REAL x )
1082 FUNCTION: GpStatus GdipDrawCurve3I ( GpGraphics* x, GpPen* x, GpPoint* x, INT x, INT x, INT x, REAL x )
1083 FUNCTION: GpStatus GdipDrawDriverString ( GpGraphics* x, UINT16* x, INT x,
1084              GpFont* x, GpBrush* x, GpPointF* x, INT x, GpMatrix* x )
1085 FUNCTION: GpStatus GdipDrawEllipse ( GpGraphics* x, GpPen* x, REAL x, REAL x, REAL x, REAL x )
1086 FUNCTION: GpStatus GdipDrawEllipseI ( GpGraphics* x, GpPen* x, INT x, INT x, INT x, INT x )
1087 FUNCTION: GpStatus GdipDrawImage ( GpGraphics* x, GpImage* x, REAL x, REAL x )
1088 FUNCTION: GpStatus GdipDrawImageI ( GpGraphics* x, GpImage* x, INT x, INT x )
1089 FUNCTION: GpStatus GdipDrawImagePointRect ( GpGraphics* x, GpImage* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x, GpUnit x )
1090 FUNCTION: GpStatus GdipDrawImagePointRectI ( GpGraphics* x, GpImage* x, INT x, INT x, INT x, INT x, INT x, INT x, GpUnit x )
1091 FUNCTION: GpStatus GdipDrawImagePoints ( GpGraphics* x, GpImage* x, GpPointF* x, INT x )
1092 FUNCTION: GpStatus GdipDrawImagePointsI ( GpGraphics* x, GpImage* x, GpPoint* x, INT x )
1093 FUNCTION: GpStatus GdipDrawImagePointsRect ( GpGraphics* x, GpImage* x,
1094              GpPointF* x, INT x, REAL x, REAL x, REAL x, REAL x, GpUnit x,
1095              GpImageAttributes* x, DrawImageAbort x, VOID* x )
1096 FUNCTION: GpStatus GdipDrawImagePointsRectI ( GpGraphics* x, GpImage* x,
1097              GpPoint* x, INT x, INT x, INT x, INT x, INT x, GpUnit x,
1098              GpImageAttributes* x, DrawImageAbort x, VOID* x )
1099 FUNCTION: GpStatus GdipDrawImageRect ( GpGraphics* x, GpImage* x, REAL x, REAL x, REAL x, REAL x )
1100 FUNCTION: GpStatus GdipDrawImageRectI ( GpGraphics* x, GpImage* x, INT x, INT x, INT x, INT x )
1101 FUNCTION: GpStatus GdipDrawImageRectRect ( GpGraphics* x, GpImage* x, REAL x, REAL x, REAL x,
1102              REAL x, REAL x, REAL x, REAL x, REAL x, GpUnit x, GpImageAttributes* x, DrawImageAbort x,
1103              VOID* x )
1104 FUNCTION: GpStatus GdipDrawImageRectRectI ( GpGraphics* x, GpImage* x, INT x, INT x, INT x,
1105              INT x, INT x, INT x, INT x, INT x, GpUnit x, GpImageAttributes* x, DrawImageAbort x,
1106              VOID* x )
1107 FUNCTION: GpStatus GdipDrawLine ( GpGraphics* x, GpPen* x, REAL x, REAL x, REAL x, REAL x )
1108 FUNCTION: GpStatus GdipDrawLineI ( GpGraphics* x, GpPen* x, INT x, INT x, INT x, INT x )
1109 FUNCTION: GpStatus GdipDrawLines ( GpGraphics* x, GpPen* x, GpPointF* x, INT x )
1110 FUNCTION: GpStatus GdipDrawLinesI ( GpGraphics* x, GpPen* x, GpPoint* x, INT x )
1111 FUNCTION: GpStatus GdipDrawPath ( GpGraphics* x, GpPen* x, GpPath* x )
1112 FUNCTION: GpStatus GdipDrawPie ( GpGraphics* x, GpPen* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x )
1113 FUNCTION: GpStatus GdipDrawPieI ( GpGraphics* x, GpPen* x, INT x, INT x, INT x, INT x, REAL x, REAL x )
1114 FUNCTION: GpStatus GdipDrawPolygon ( GpGraphics* x, GpPen* x, GpPointF* x,  INT x )
1115 FUNCTION: GpStatus GdipDrawPolygonI ( GpGraphics* x, GpPen* x, GpPoint* x,  INT x )
1116 FUNCTION: GpStatus GdipDrawRectangle ( GpGraphics* x, GpPen* x, REAL x, REAL x, REAL x, REAL x )
1117 FUNCTION: GpStatus GdipDrawRectangleI ( GpGraphics* x, GpPen* x, INT x, INT x, INT x, INT x )
1118 FUNCTION: GpStatus GdipDrawRectangles ( GpGraphics* x, GpPen* x, GpRectF* x, INT x )
1119 FUNCTION: GpStatus GdipDrawRectanglesI ( GpGraphics* x, GpPen* x, GpRect* x, INT x )
1120 FUNCTION: GpStatus GdipDrawString ( GpGraphics* x, WCHAR* x, INT x,
1121              GpFont* x, GpRectF* x,  GpStringFormat* x,
1122              GpBrush* x )
1123 FUNCTION: GpStatus GdipFillClosedCurve2 ( GpGraphics* x, GpBrush* x, GpPointF* x, INT x,
1124              REAL x, GpFillMode x )
1125 FUNCTION: GpStatus GdipFillClosedCurve2I ( GpGraphics* x, GpBrush* x, GpPoint* x, INT x,
1126              REAL x, GpFillMode x )
1127 FUNCTION: GpStatus GdipFillEllipse ( GpGraphics* x, GpBrush* x, REAL x, REAL x, REAL x, REAL x )
1128 FUNCTION: GpStatus GdipFillEllipseI ( GpGraphics* x, GpBrush* x, INT x, INT x, INT x, INT x )
1129 FUNCTION: GpStatus GdipFillPath ( GpGraphics* x, GpBrush* x, GpPath* x )
1130 FUNCTION: GpStatus GdipFillPie ( GpGraphics* x, GpBrush* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x )
1131 FUNCTION: GpStatus GdipFillPieI ( GpGraphics* x, GpBrush* x, INT x, INT x, INT x, INT x, REAL x, REAL x )
1132 FUNCTION: GpStatus GdipFillPolygon ( GpGraphics* x, GpBrush* x, GpPointF* x,
1133              INT x, GpFillMode x )
1134 FUNCTION: GpStatus GdipFillPolygonI ( GpGraphics* x, GpBrush* x, GpPoint* x,
1135              INT x, GpFillMode x )
1136 FUNCTION: GpStatus GdipFillPolygon2 ( GpGraphics* x, GpBrush* x, GpPointF* x, INT x )
1137 FUNCTION: GpStatus GdipFillPolygon2I ( GpGraphics* x, GpBrush* x, GpPoint* x, INT x )
1138 FUNCTION: GpStatus GdipFillRectangle ( GpGraphics* x, GpBrush* x, REAL x, REAL x, REAL x, REAL x )
1139 FUNCTION: GpStatus GdipFillRectangleI ( GpGraphics* x, GpBrush* x, INT x, INT x, INT x, INT x )
1140 FUNCTION: GpStatus GdipFillRectangles ( GpGraphics* x, GpBrush* x, GpRectF* x, INT x )
1141 FUNCTION: GpStatus GdipFillRectanglesI ( GpGraphics* x, GpBrush* x, GpRect* x, INT x )
1142 FUNCTION: GpStatus GdipFillRegion ( GpGraphics* x, GpBrush* x, GpRegion* x )
1143 FUNCTION: GpStatus GdipGetClip ( GpGraphics* x, GpRegion* x )
1144 FUNCTION: GpStatus GdipGetClipBounds ( GpGraphics* x, GpRectF* x )
1145 FUNCTION: GpStatus GdipGetClipBoundsI ( GpGraphics* x, GpRect* x )
1146 FUNCTION: GpStatus GdipGetCompositingMode ( GpGraphics* x, CompositingMode* x )
1147 FUNCTION: GpStatus GdipGetCompositingQuality ( GpGraphics* x, CompositingQuality* x )
1148 FUNCTION: GpStatus GdipGetDC ( GpGraphics* x, HDC* x )
1149 FUNCTION: GpStatus GdipGetDpiX ( GpGraphics* x, REAL* x )
1150 FUNCTION: GpStatus GdipGetDpiY ( GpGraphics* x, REAL* x )
1151 FUNCTION: GpStatus GdipGetImageDecoders ( UINT x, UINT x, ImageCodecInfo* x )
1152 FUNCTION: GpStatus GdipGetImageDecodersSize ( UINT* x, UINT* x )
1153 FUNCTION: GpStatus GdipGetImageGraphicsContext ( GpImage* x, GpGraphics** x )
1154 FUNCTION: GpStatus GdipGetInterpolationMode ( GpGraphics* x, InterpolationMode* x )
1155 FUNCTION: GpStatus GdipGetNearestColor ( GpGraphics* x, ARGB* x )
1156 FUNCTION: GpStatus GdipGetPageScale ( GpGraphics* x, REAL* x )
1157 FUNCTION: GpStatus GdipGetPageUnit ( GpGraphics* x, GpUnit* x )
1158 FUNCTION: GpStatus GdipGetPixelOffsetMode ( GpGraphics* x, PixelOffsetMode* x )
1159 FUNCTION: GpStatus GdipGetSmoothingMode ( GpGraphics* x, SmoothingMode* x )
1160 FUNCTION: GpStatus GdipGetTextContrast ( GpGraphics* x, UINT* x )
1161 FUNCTION: GpStatus GdipGetTextRenderingHint ( GpGraphics* x, TextRenderingHint* x )
1162 FUNCTION: GpStatus GdipGetWorldTransform ( GpGraphics* x, GpMatrix* x )
1163 FUNCTION: GpStatus GdipGraphicsClear ( GpGraphics* x, ARGB x )
1164 FUNCTION: GpStatus GdipGetVisibleClipBounds ( GpGraphics* x, GpRectF* x )
1165 FUNCTION: GpStatus GdipGetVisibleClipBoundsI ( GpGraphics* x, GpRect* x )
1166 FUNCTION: GpStatus GdipIsClipEmpty ( GpGraphics* x,  BOOL* x )
1167 FUNCTION: GpStatus GdipIsVisiblePoint ( GpGraphics* x, REAL x, REAL x, BOOL* x )
1168 FUNCTION: GpStatus GdipIsVisiblePointI ( GpGraphics* x, INT x, INT x, BOOL* x )
1169 FUNCTION: GpStatus GdipIsVisibleRect ( GpGraphics* x, REAL x, REAL x, REAL x, REAL x, BOOL* x )
1170 FUNCTION: GpStatus GdipIsVisibleRectI ( GpGraphics* x, INT x, INT x, INT x, INT x, BOOL* x )
1171 FUNCTION: GpStatus GdipMeasureCharacterRanges ( GpGraphics* x,  WCHAR* x,
1172              INT x,  GpFont* x,  GpRectF* x,  GpStringFormat* x,  INT x,
1173              GpRegion** x )
1174 FUNCTION: GpStatus GdipMeasureDriverString ( GpGraphics* x, UINT16* x, INT x,
1175              GpFont* x, GpPointF* x, INT x, GpMatrix* x, GpRectF* x )
1176 FUNCTION: GpStatus GdipMeasureString ( GpGraphics* x, WCHAR* x, INT x,
1177              GpFont* x, GpRectF* x, GpStringFormat* x, GpRectF* x, INT* x, INT* x )
1178 FUNCTION: GpStatus GdipMultiplyWorldTransform ( GpGraphics* x, GpMatrix* x, GpMatrixOrder x )
1179 FUNCTION: GpStatus GdipRecordMetafileFileName ( WCHAR* x, HDC x, EmfType x,
1180              GpRectF* x, MetafileFrameUnit x, WCHAR* x, GpMetafile** x )
1181 FUNCTION: GpStatus GdipRecordMetafileFileNameI ( WCHAR* x, HDC x, EmfType x,
1182              GpRect* x, MetafileFrameUnit x, WCHAR* x, GpMetafile** x )
1183 FUNCTION: GpStatus GdipRecordMetafileI ( HDC x, EmfType x, GpRect* x,
1184              MetafileFrameUnit x, WCHAR* x, GpMetafile** x )
1185 FUNCTION: GpStatus GdipReleaseDC ( GpGraphics* x, HDC x )
1186 FUNCTION: GpStatus GdipResetClip ( GpGraphics* x )
1187 FUNCTION: GpStatus GdipResetWorldTransform ( GpGraphics* x )
1188 FUNCTION: GpStatus GdipRestoreGraphics ( GpGraphics* x, GraphicsState x )
1189 FUNCTION: GpStatus GdipRotateWorldTransform ( GpGraphics* x, REAL x, GpMatrixOrder x )
1190 FUNCTION: GpStatus GdipSaveGraphics ( GpGraphics* x, GraphicsState* x )
1191 FUNCTION: GpStatus GdipScaleWorldTransform ( GpGraphics* x, REAL x, REAL x, GpMatrixOrder x )
1192 FUNCTION: GpStatus GdipSetClipHrgn ( GpGraphics* x, HRGN x, CombineMode x )
1193 FUNCTION: GpStatus GdipSetClipGraphics ( GpGraphics* x, GpGraphics* x, CombineMode x )
1194 FUNCTION: GpStatus GdipSetClipPath ( GpGraphics* x, GpPath* x, CombineMode x )
1195 FUNCTION: GpStatus GdipSetClipRect ( GpGraphics* x, REAL x, REAL x, REAL x, REAL x, CombineMode x )
1196 FUNCTION: GpStatus GdipSetClipRectI ( GpGraphics* x, INT x, INT x, INT x, INT x, CombineMode x )
1197 FUNCTION: GpStatus GdipSetClipRegion ( GpGraphics* x, GpRegion* x, CombineMode x )
1198 FUNCTION: GpStatus GdipSetCompositingMode ( GpGraphics* x, CompositingMode x )
1199 FUNCTION: GpStatus GdipSetCompositingQuality ( GpGraphics* x, CompositingQuality x )
1200 FUNCTION: GpStatus GdipSetInterpolationMode ( GpGraphics* x, InterpolationMode x )
1201 FUNCTION: GpStatus GdipSetPageScale ( GpGraphics* x, REAL x )
1202 FUNCTION: GpStatus GdipSetPageUnit ( GpGraphics* x, GpUnit x )
1203 FUNCTION: GpStatus GdipSetPixelOffsetMode ( GpGraphics* x, PixelOffsetMode x )
1204 FUNCTION: GpStatus GdipSetRenderingOrigin ( GpGraphics* x, INT x, INT x )
1205 FUNCTION: GpStatus GdipSetSmoothingMode ( GpGraphics* x, SmoothingMode x )
1206 FUNCTION: GpStatus GdipSetTextContrast ( GpGraphics* x, UINT x )
1207 FUNCTION: GpStatus GdipSetTextRenderingHint ( GpGraphics* x, TextRenderingHint x )
1208 FUNCTION: GpStatus GdipSetWorldTransform ( GpGraphics* x, GpMatrix* x )
1209 FUNCTION: GpStatus GdipTransformPoints ( GpGraphics* x,  GpCoordinateSpace x,  GpCoordinateSpace x,
1210                                                  GpPointF* x,  INT x )
1211 FUNCTION: GpStatus GdipTransformPointsI ( GpGraphics* x,  GpCoordinateSpace x,  GpCoordinateSpace x,
1212                                                   GpPoint* x,  INT x )
1213 FUNCTION: GpStatus GdipTranslateClip ( GpGraphics* x, REAL x, REAL x )
1214 FUNCTION: GpStatus GdipTranslateClipI ( GpGraphics* x, INT x, INT x )
1215 FUNCTION: GpStatus GdipTranslateWorldTransform ( GpGraphics* x, REAL x, REAL x, GpMatrixOrder x )
1216
1217
1218 FUNCTION: GpStatus GdipAddPathArc ( GpPath* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x )
1219 FUNCTION: GpStatus GdipAddPathArcI ( GpPath* x, INT x, INT x, INT x, INT x, REAL x, REAL x )
1220 FUNCTION: GpStatus GdipAddPathBezier ( GpPath* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x )
1221 FUNCTION: GpStatus GdipAddPathBezierI ( GpPath* x, INT x, INT x, INT x, INT x, INT x, INT x, INT x, INT x )
1222 FUNCTION: GpStatus GdipAddPathBeziers ( GpPath* x, GpPointF* x, INT x )
1223 FUNCTION: GpStatus GdipAddPathBeziersI ( GpPath* x, GpPoint* x, INT x )
1224 FUNCTION: GpStatus GdipAddPathClosedCurve ( GpPath* x, GpPointF* x, INT x )
1225 FUNCTION: GpStatus GdipAddPathClosedCurveI ( GpPath* x, GpPoint* x, INT x )
1226 FUNCTION: GpStatus GdipAddPathClosedCurve2 ( GpPath* x, GpPointF* x, INT x, REAL x )
1227 FUNCTION: GpStatus GdipAddPathClosedCurve2I ( GpPath* x, GpPoint* x, INT x, REAL x )
1228 FUNCTION: GpStatus GdipAddPathCurve ( GpPath* x, GpPointF* x, INT x )
1229 FUNCTION: GpStatus GdipAddPathCurveI ( GpPath* x, GpPoint* x, INT x )
1230 FUNCTION: GpStatus GdipAddPathCurve2 ( GpPath* x, GpPointF* x, INT x, REAL x )
1231 FUNCTION: GpStatus GdipAddPathCurve2I ( GpPath* x, GpPoint* x, INT x, REAL x )
1232 FUNCTION: GpStatus GdipAddPathCurve3 ( GpPath* x, GpPointF* x, INT x, INT x, INT x, REAL x )
1233 FUNCTION: GpStatus GdipAddPathCurve3I ( GpPath* x, GpPoint* x, INT x, INT x, INT x, REAL x )
1234 FUNCTION: GpStatus GdipAddPathEllipse ( GpPath* x, REAL x, REAL x, REAL x, REAL x )
1235 FUNCTION: GpStatus GdipAddPathEllipseI ( GpPath* x, INT x, INT x, INT x, INT x )
1236 FUNCTION: GpStatus GdipAddPathLine ( GpPath* x, REAL x, REAL x, REAL x, REAL x )
1237 FUNCTION: GpStatus GdipAddPathLineI ( GpPath* x, INT x, INT x, INT x, INT x )
1238 FUNCTION: GpStatus GdipAddPathLine2 ( GpPath* x, GpPointF* x, INT x )
1239 FUNCTION: GpStatus GdipAddPathLine2I ( GpPath* x, GpPoint* x, INT x )
1240 FUNCTION: GpStatus GdipAddPathPath ( GpPath* x, GpPath* x, BOOL x )
1241 FUNCTION: GpStatus GdipAddPathPie ( GpPath* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x )
1242 FUNCTION: GpStatus GdipAddPathPieI ( GpPath* x, INT x, INT x, INT x, INT x, REAL x, REAL x )
1243 FUNCTION: GpStatus GdipAddPathPolygon ( GpPath* x, GpPointF* x, INT x )
1244 FUNCTION: GpStatus GdipAddPathPolygonI ( GpPath* x, GpPoint* x, INT x )
1245 FUNCTION: GpStatus GdipAddPathRectangle ( GpPath* x, REAL x, REAL x, REAL x, REAL x )
1246 FUNCTION: GpStatus GdipAddPathRectangleI ( GpPath* x, INT x, INT x, INT x, INT x )
1247 FUNCTION: GpStatus GdipAddPathRectangles ( GpPath* x, GpRectF* x, INT x )
1248 FUNCTION: GpStatus GdipAddPathRectanglesI ( GpPath* x, GpRect* x, INT x )
1249 FUNCTION: GpStatus GdipAddPathString ( GpPath* x, WCHAR* x, INT x, GpFontFamily* x, INT x, REAL x, GpRectF* x, GpStringFormat* x )
1250 FUNCTION: GpStatus GdipAddPathStringI ( GpPath* x, WCHAR* x, INT x, GpFontFamily* x, INT x, REAL x, GpRect* x, GpStringFormat* x )
1251 FUNCTION: GpStatus GdipClearPathMarkers ( GpPath* x )
1252 FUNCTION: GpStatus GdipClonePath ( GpPath* x, GpPath** x )
1253 FUNCTION: GpStatus GdipClosePathFigure ( GpPath* x )
1254 FUNCTION: GpStatus GdipClosePathFigures ( GpPath* x )
1255 FUNCTION: GpStatus GdipCreatePath ( GpFillMode x, GpPath** x )
1256 FUNCTION: GpStatus GdipCreatePath2 ( GpPointF* x, BYTE* x, INT x,
1257              GpFillMode x, GpPath** x )
1258 FUNCTION: GpStatus GdipCreatePath2I ( GpPoint* x, BYTE* x, INT x, GpFillMode x, GpPath** x )
1259 FUNCTION: GpStatus GdipDeletePath ( GpPath* x )
1260 FUNCTION: GpStatus GdipFlattenPath ( GpPath* x, GpMatrix* x, REAL x )
1261 FUNCTION: GpStatus GdipIsOutlineVisiblePathPoint ( GpPath* x, REAL x, REAL x, GpPen* x,
1262              GpGraphics* x, BOOL* x )
1263 FUNCTION: GpStatus GdipIsOutlineVisiblePathPointI ( GpPath* x, INT x, INT x, GpPen* x,
1264              GpGraphics* x, BOOL* x )
1265 FUNCTION: GpStatus GdipIsVisiblePathPoint ( GpPath* x, REAL x, REAL x, GpGraphics* x, BOOL* x )
1266 FUNCTION: GpStatus GdipIsVisiblePathPointI ( GpPath* x, INT x, INT x, GpGraphics* x, BOOL* x )
1267 FUNCTION: GpStatus GdipGetPathData ( GpPath* x, GpPathData* x )
1268 FUNCTION: GpStatus GdipGetPathFillMode ( GpPath* x, GpFillMode* x )
1269 FUNCTION: GpStatus GdipGetPathLastPoint ( GpPath* x, GpPointF* x )
1270 FUNCTION: GpStatus GdipGetPathPoints ( GpPath* x, GpPointF* x, INT x )
1271 FUNCTION: GpStatus GdipGetPathPointsI ( GpPath* x, GpPoint* x, INT x )
1272 FUNCTION: GpStatus GdipGetPathTypes ( GpPath* x, BYTE* x, INT x )
1273 FUNCTION: GpStatus GdipGetPathWorldBounds ( GpPath* x, GpRectF* x, GpMatrix* x, GpPen* x )
1274 FUNCTION: GpStatus GdipGetPathWorldBoundsI ( GpPath* x, GpRect* x, GpMatrix* x, GpPen* x )
1275 FUNCTION: GpStatus GdipGetPointCount ( GpPath* x, INT* x )
1276 FUNCTION: GpStatus GdipResetPath ( GpPath* x )
1277 FUNCTION: GpStatus GdipReversePath ( GpPath* x )
1278 FUNCTION: GpStatus GdipSetPathFillMode ( GpPath* x, GpFillMode x )
1279 FUNCTION: GpStatus GdipSetPathMarker ( GpPath* x )
1280 FUNCTION: GpStatus GdipStartPathFigure ( GpPath* x )
1281 FUNCTION: GpStatus GdipTransformPath ( GpPath* x, GpMatrix* x )
1282 FUNCTION: GpStatus GdipWarpPath ( GpPath* x, GpMatrix* x, GpPointF* x, INT x, REAL x,
1283              REAL x, REAL x, REAL x, WarpMode x, REAL x )
1284 FUNCTION: GpStatus GdipWidenPath ( GpPath* x, GpPen* x, GpMatrix* x, REAL x )
1285
1286
1287 FUNCTION: GpStatus GdipCreateHatchBrush ( HatchStyle x, ARGB x, ARGB x, GpHatch** x )
1288 FUNCTION: GpStatus GdipGetHatchBackgroundColor ( GpHatch* x, ARGB* x )
1289 FUNCTION: GpStatus GdipGetHatchForegroundColor ( GpHatch* x, ARGB* x )
1290 FUNCTION: GpStatus GdipGetHatchStyle ( GpHatch* x, HatchStyle* x )
1291
1292
1293 FUNCTION: GpStatus GdipCloneImage ( GpImage* x,  GpImage** x )
1294 FUNCTION: GpStatus GdipCloneImageAttributes ( GpImageAttributes* x, GpImageAttributes** x )
1295 FUNCTION: GpStatus GdipDisposeImage ( GpImage* x )
1296 FUNCTION: GpStatus GdipEmfToWmfBits ( HENHMETAFILE x, UINT x, LPBYTE x, INT x, INT x )
1297 FUNCTION: GpStatus GdipFindFirstImageItem ( GpImage* x, ImageItemData* x )
1298 FUNCTION: GpStatus GdipFindNextImageItem ( GpImage* x, ImageItemData* x )
1299 FUNCTION: GpStatus GdipGetAllPropertyItems ( GpImage* x, UINT x, UINT x, PropertyItem* x )
1300 FUNCTION: GpStatus GdipGetImageBounds ( GpImage* x, GpRectF* x, GpUnit* x )
1301 FUNCTION: GpStatus GdipGetImageDimension ( GpImage* x, REAL* x, REAL* x )
1302 FUNCTION: GpStatus GdipGetImageFlags ( GpImage* x, UINT* x )
1303 FUNCTION: GpStatus GdipGetImageHeight ( GpImage* x, UINT* x )
1304 FUNCTION: GpStatus GdipGetImageHorizontalResolution ( GpImage* x, REAL* x )
1305 FUNCTION: GpStatus GdipGetImageItemData ( GpImage* x, ImageItemData* x )
1306 FUNCTION: GpStatus GdipGetImagePalette ( GpImage* x, ColorPalette* x, INT x )
1307 FUNCTION: GpStatus GdipGetImagePaletteSize ( GpImage* x, INT* x )
1308 FUNCTION: GpStatus GdipGetImagePixelFormat ( GpImage* x, PixelFormat* x )
1309 FUNCTION: GpStatus GdipGetImageRawFormat ( GpImage* x, GUID* x )
1310 FUNCTION: GpStatus GdipGetImageThumbnail ( GpImage* x, UINT x, UINT x, GpImage** x, GetThumbnailImageAbort x, VOID* x )
1311 FUNCTION: GpStatus GdipGetImageType ( GpImage* x, ImageType* x )
1312 FUNCTION: GpStatus GdipGetImageVerticalResolution ( GpImage* x, REAL* x )
1313 FUNCTION: GpStatus GdipGetImageWidth ( GpImage* x, UINT* x )
1314 FUNCTION: GpStatus GdipGetPropertyCount ( GpImage* x, UINT* x )
1315 FUNCTION: GpStatus GdipGetPropertyIdList ( GpImage* x, UINT x, PROPID* x )
1316 FUNCTION: GpStatus GdipGetPropertyItem ( GpImage* x, PROPID x, UINT x, PropertyItem* x )
1317 FUNCTION: GpStatus GdipGetPropertyItemSize ( GpImage* x, PROPID x, UINT* x )
1318 FUNCTION: GpStatus GdipGetPropertySize ( GpImage* x, UINT* x, UINT* x )
1319 FUNCTION: GpStatus GdipImageForceValidation ( GpImage* x )
1320 FUNCTION: GpStatus GdipImageGetFrameCount ( GpImage* x, GUID* x, UINT* x )
1321 FUNCTION: GpStatus GdipImageGetFrameDimensionsCount ( GpImage* x, UINT* x )
1322 FUNCTION: GpStatus GdipImageGetFrameDimensionsList ( GpImage* x, GUID* x, UINT x )
1323 FUNCTION: GpStatus GdipImageRotateFlip ( GpImage* x, RotateFlipType x )
1324 FUNCTION: GpStatus GdipImageSelectActiveFrame ( GpImage* x, GUID* x, UINT x )
1325 FUNCTION: GpStatus GdipLoadImageFromFile ( WCHAR* x, GpImage** x )
1326 FUNCTION: GpStatus GdipLoadImageFromFileICM ( WCHAR* x, GpImage** x )
1327 FUNCTION: GpStatus GdipLoadImageFromStream ( IStream* x, GpImage** x )
1328 FUNCTION: GpStatus GdipLoadImageFromStreamICM ( IStream* x, GpImage** x )
1329 FUNCTION: GpStatus GdipRemovePropertyItem ( GpImage* x, PROPID x )
1330 FUNCTION: GpStatus GdipSaveImageToFile ( GpImage* x, WCHAR* x, CLSID* x, EncoderParameters* x )
1331 FUNCTION: GpStatus GdipSaveImageToStream ( GpImage* x, IStream* x,
1332              CLSID* x, EncoderParameters* x )
1333 FUNCTION: GpStatus GdipSetImagePalette ( GpImage* x, ColorPalette* x )
1334 FUNCTION: GpStatus GdipSetPropertyItem ( GpImage* x, PropertyItem* x )
1335
1336
1337 FUNCTION: GpStatus GdipCreateImageAttributes ( GpImageAttributes** x )
1338 FUNCTION: GpStatus GdipDisposeImageAttributes ( GpImageAttributes* x )
1339 FUNCTION: GpStatus GdipSetImageAttributesCachedBackground ( GpImageAttributes* x,
1340              BOOL x )
1341 FUNCTION: GpStatus GdipSetImageAttributesColorKeys ( GpImageAttributes* x,
1342              ColorAdjustType x, BOOL x, ARGB x, ARGB x )
1343 FUNCTION: GpStatus GdipSetImageAttributesColorMatrix ( GpImageAttributes* x,
1344              ColorAdjustType x, BOOL x, ColorMatrix* x, ColorMatrix* x,
1345              ColorMatrixFlags x )
1346 FUNCTION: GpStatus GdipSetImageAttributesGamma ( GpImageAttributes* x,
1347              ColorAdjustType x, BOOL x, REAL x )
1348 FUNCTION: GpStatus GdipSetImageAttributesNoOp ( GpImageAttributes* x,
1349              ColorAdjustType x, BOOL x )
1350 FUNCTION: GpStatus GdipSetImageAttributesOutputChannel ( GpImageAttributes* x,
1351              ColorAdjustType x, BOOL x, ColorChannelFlags x )
1352 FUNCTION: GpStatus GdipSetImageAttributesOutputChannelColorProfile (
1353              GpImageAttributes* x, ColorAdjustType x, BOOL x, WCHAR* x )
1354 FUNCTION: GpStatus GdipSetImageAttributesRemapTable ( GpImageAttributes* x,
1355              ColorAdjustType x, BOOL x, UINT x, ColorMap* x )
1356 FUNCTION: GpStatus GdipSetImageAttributesThreshold ( GpImageAttributes* x,
1357              ColorAdjustType x, BOOL x, REAL x )
1358 FUNCTION: GpStatus GdipSetImageAttributesToIdentity ( GpImageAttributes* x,
1359              ColorAdjustType x )
1360 FUNCTION: GpStatus GdipSetImageAttributesWrapMode ( GpImageAttributes* x, GpWrapMode x,
1361              ARGB x, BOOL x )
1362
1363
1364 FUNCTION: GpStatus GdipCreateLineBrush ( GpPointF* x, GpPointF* x,
1365              ARGB x, ARGB x, GpWrapMode x, GpLineGradient** x )
1366 FUNCTION: GpStatus GdipCreateLineBrushI ( GpPoint* x, GpPoint* x,
1367              ARGB x, ARGB x, GpWrapMode x, GpLineGradient** x )
1368 FUNCTION: GpStatus GdipCreateLineBrushFromRect ( GpRectF* x, ARGB x, ARGB x,
1369              LinearGradientMode x, GpWrapMode x, GpLineGradient** x )
1370 FUNCTION: GpStatus GdipCreateLineBrushFromRectI ( GpRect* x, ARGB x, ARGB x,
1371              LinearGradientMode x, GpWrapMode x, GpLineGradient** x )
1372 FUNCTION: GpStatus GdipCreateLineBrushFromRectWithAngle ( GpRectF* x,
1373              ARGB x, ARGB x, REAL x, BOOL x, GpWrapMode x, GpLineGradient** x )
1374 FUNCTION: GpStatus GdipCreateLineBrushFromRectWithAngleI ( GpRect* x,
1375              ARGB x, ARGB x, REAL x, BOOL x, GpWrapMode x, GpLineGradient** x )
1376 FUNCTION: GpStatus GdipGetLineColors ( GpLineGradient* x, ARGB* x )
1377 FUNCTION: GpStatus GdipGetLineGammaCorrection ( GpLineGradient* x, BOOL* x )
1378 FUNCTION: GpStatus GdipGetLineRect ( GpLineGradient* x, GpRectF* x )
1379 FUNCTION: GpStatus GdipGetLineRectI ( GpLineGradient* x, GpRect* x )
1380 FUNCTION: GpStatus GdipGetLineWrapMode ( GpLineGradient* x, GpWrapMode* x )
1381 FUNCTION: GpStatus GdipSetLineBlend ( GpLineGradient* x, REAL* x,
1382              REAL* x, INT x )
1383 FUNCTION: GpStatus GdipGetLineBlend ( GpLineGradient* x, REAL* x, REAL* x, INT x )
1384 FUNCTION: GpStatus GdipGetLineBlendCount ( GpLineGradient* x, INT* x )
1385 FUNCTION: GpStatus GdipSetLinePresetBlend ( GpLineGradient* x, ARGB* x,
1386              REAL* x, INT x )
1387 FUNCTION: GpStatus GdipGetLinePresetBlend ( GpLineGradient* x, ARGB* x, REAL* x, INT x )
1388 FUNCTION: GpStatus GdipGetLinePresetBlendCount ( GpLineGradient* x, INT* x )
1389 FUNCTION: GpStatus GdipResetLineTransform ( GpLineGradient* x )
1390 FUNCTION: GpStatus GdipRotateLineTransform ( GpLineGradient* x, REAL x, GpMatrixOrder x )
1391 FUNCTION: GpStatus GdipScaleLineTransform ( GpLineGradient* x, REAL x, REAL x,
1392              GpMatrixOrder x )
1393 FUNCTION: GpStatus GdipSetLineColors ( GpLineGradient* x, ARGB x, ARGB x )
1394 FUNCTION: GpStatus GdipSetLineGammaCorrection ( GpLineGradient* x, BOOL x )
1395 FUNCTION: GpStatus GdipSetLineSigmaBlend ( GpLineGradient* x, REAL x, REAL x )
1396 FUNCTION: GpStatus GdipSetLineTransform ( GpLineGradient* x, GpMatrix* x )
1397 FUNCTION: GpStatus GdipSetLineLinearBlend ( GpLineGradient* x, REAL x, REAL x )
1398 FUNCTION: GpStatus GdipSetLineWrapMode ( GpLineGradient* x, GpWrapMode x )
1399 FUNCTION: GpStatus GdipTranslateLineTransform ( GpLineGradient* x, REAL x, REAL x,
1400              GpMatrixOrder x )
1401
1402
1403 FUNCTION: GpStatus GdipCloneMatrix ( GpMatrix* x, GpMatrix** x )
1404 FUNCTION: GpStatus GdipCreateMatrix ( GpMatrix** x )
1405 FUNCTION: GpStatus GdipCreateMatrix2 ( REAL x, REAL x, REAL x, REAL x, REAL x, REAL x, GpMatrix** x )
1406 FUNCTION: GpStatus GdipCreateMatrix3 ( GpRectF* x, GpPointF* x, GpMatrix** x )
1407 FUNCTION: GpStatus GdipCreateMatrix3I ( GpRect* x, GpPoint* x, GpMatrix** x )
1408 FUNCTION: GpStatus GdipDeleteMatrix ( GpMatrix* x )
1409 FUNCTION: GpStatus GdipGetMatrixElements ( GpMatrix* x, REAL* x )
1410 FUNCTION: GpStatus GdipInvertMatrix ( GpMatrix* x )
1411 FUNCTION: GpStatus GdipIsMatrixEqual ( GpMatrix* x,  GpMatrix* x,  BOOL* x )
1412 FUNCTION: GpStatus GdipIsMatrixIdentity ( GpMatrix* x,  BOOL* x )
1413 FUNCTION: GpStatus GdipIsMatrixInvertible ( GpMatrix* x,  BOOL* x )
1414 FUNCTION: GpStatus GdipMultiplyMatrix ( GpMatrix* x, GpMatrix* x, GpMatrixOrder x )
1415 FUNCTION: GpStatus GdipRotateMatrix ( GpMatrix* x, REAL x, GpMatrixOrder x )
1416 FUNCTION: GpStatus GdipShearMatrix ( GpMatrix* x, REAL x, REAL x, GpMatrixOrder x )
1417 FUNCTION: GpStatus GdipScaleMatrix ( GpMatrix* x, REAL x, REAL x, GpMatrixOrder x )
1418 FUNCTION: GpStatus GdipSetMatrixElements ( GpMatrix* x, REAL x, REAL x, REAL x, REAL x, REAL x, REAL x )
1419 FUNCTION: GpStatus GdipTransformMatrixPoints ( GpMatrix* x, GpPointF* x, INT x )
1420 FUNCTION: GpStatus GdipTransformMatrixPointsI ( GpMatrix* x, GpPoint* x, INT x )
1421 FUNCTION: GpStatus GdipTranslateMatrix ( GpMatrix* x, REAL x, REAL x, GpMatrixOrder x )
1422 FUNCTION: GpStatus GdipVectorTransformMatrixPoints ( GpMatrix* x, GpPointF* x, INT x )
1423 FUNCTION: GpStatus GdipVectorTransformMatrixPointsI ( GpMatrix* x, GpPoint* x, INT x )
1424
1425
1426 FUNCTION: GpStatus GdipConvertToEmfPlus ( GpGraphics* x, GpMetafile* x, INT* x,
1427              EmfType x, WCHAR* x, GpMetafile** x )
1428 FUNCTION: GpStatus GdipConvertToEmfPlusToFile ( GpGraphics* x, GpMetafile* x, INT* x, WCHAR* x, EmfType x, WCHAR* x, GpMetafile** x )
1429 FUNCTION: GpStatus GdipConvertToEmfPlusToStream ( GpGraphics* x, GpMetafile* x, INT* x, IStream* x, EmfType x, WCHAR* x, GpMetafile** x )
1430 FUNCTION: GpStatus GdipCreateMetafileFromEmf ( HENHMETAFILE x, BOOL x, GpMetafile** x )
1431 FUNCTION: GpStatus GdipCreateMetafileFromWmf ( HMETAFILE x, BOOL x,
1432              WmfPlaceableFileHeader* x, GpMetafile** x )
1433 FUNCTION: GpStatus GdipCreateMetafileFromWmfFile ( WCHAR* x,  WmfPlaceableFileHeader* x,
1434              GpMetafile** x )
1435 FUNCTION: GpStatus GdipCreateMetafileFromFile ( WCHAR* x, GpMetafile** x )
1436 FUNCTION: GpStatus GdipCreateMetafileFromStream ( IStream* x, GpMetafile** x )
1437 FUNCTION: GpStatus GdipSetMetafileDownLevelRasterizationLimit ( GpMetafile* x, UINT x )
1438
1439
1440 FUNCTION: GpStatus GdipGetMetafileHeaderFromEmf ( HENHMETAFILE x, MetafileHeader* x )
1441 FUNCTION: GpStatus GdipGetMetafileHeaderFromFile ( WCHAR* x, MetafileHeader* x )
1442 FUNCTION: GpStatus GdipGetMetafileHeaderFromMetafile ( GpMetafile* x, MetafileHeader* x )
1443 FUNCTION: GpStatus GdipGetMetafileHeaderFromStream ( IStream* x, MetafileHeader* x )
1444 FUNCTION: GpStatus GdipGetMetafileHeaderFromWmf ( HMETAFILE x, WmfPlaceableFileHeader* x, MetafileHeader* x )
1445
1446
1447 FUNCTION: GpStatus GdiplusNotificationHook ( ULONG_PTR* x )
1448 FUNCTION: void GdiplusNotificationUnhook ( ULONG_PTR x )
1449
1450
1451 FUNCTION: GpStatus GdipCreatePathGradient ( GpPointF* x, INT x, GpWrapMode x, GpPathGradient** x )
1452 FUNCTION: GpStatus GdipCreatePathGradientI ( GpPoint* x, INT x, GpWrapMode x, GpPathGradient** x )
1453 FUNCTION: GpStatus GdipCreatePathGradientFromPath ( GpPath* x,
1454              GpPathGradient** x )
1455 FUNCTION: GpStatus GdipGetPathGradientBlend ( GpPathGradient* x, REAL* x, REAL* x, INT x )
1456 FUNCTION: GpStatus GdipGetPathGradientBlendCount ( GpPathGradient* x, INT* x )
1457 FUNCTION: GpStatus GdipGetPathGradientCenterColor ( GpPathGradient* x, ARGB* x )
1458 FUNCTION: GpStatus GdipGetPathGradientCenterPoint ( GpPathGradient* x, GpPointF* x )
1459 FUNCTION: GpStatus GdipGetPathGradientCenterPointI ( GpPathGradient* x, GpPoint* x )
1460 FUNCTION: GpStatus GdipGetPathGradientFocusScales ( GpPathGradient* x, REAL* x, REAL* x )
1461 FUNCTION: GpStatus GdipGetPathGradientGammaCorrection ( GpPathGradient* x, BOOL* x )
1462 FUNCTION: GpStatus GdipGetPathGradientPointCount ( GpPathGradient* x, INT* x )
1463 FUNCTION: GpStatus GdipSetPathGradientPresetBlend ( GpPathGradient* x,
1464              ARGB* x, REAL* x, INT x )
1465 FUNCTION: GpStatus GdipGetPathGradientRect ( GpPathGradient* x, GpRectF* x )
1466 FUNCTION: GpStatus GdipGetPathGradientRectI ( GpPathGradient* x, GpRect* x )
1467 FUNCTION: GpStatus GdipGetPathGradientSurroundColorsWithCount ( GpPathGradient* x,
1468              ARGB* x, INT* x )
1469 FUNCTION: GpStatus GdipGetPathGradientWrapMode ( GpPathGradient* x, GpWrapMode* x )
1470 FUNCTION: GpStatus GdipSetPathGradientBlend ( GpPathGradient* x, REAL* x, REAL* x, INT x )
1471 FUNCTION: GpStatus GdipSetPathGradientCenterColor ( GpPathGradient* x, ARGB x )
1472 FUNCTION: GpStatus GdipSetPathGradientCenterPoint ( GpPathGradient* x, GpPointF* x )
1473 FUNCTION: GpStatus GdipSetPathGradientCenterPointI ( GpPathGradient* x, GpPoint* x )
1474 FUNCTION: GpStatus GdipSetPathGradientFocusScales ( GpPathGradient* x, REAL x, REAL x )
1475 FUNCTION: GpStatus GdipSetPathGradientGammaCorrection ( GpPathGradient* x, BOOL x )
1476 FUNCTION: GpStatus GdipSetPathGradientSigmaBlend ( GpPathGradient* x, REAL x, REAL x )
1477 FUNCTION: GpStatus GdipSetPathGradientSurroundColorsWithCount ( GpPathGradient* x,
1478              ARGB* x, INT* x )
1479 FUNCTION: GpStatus GdipSetPathGradientWrapMode ( GpPathGradient* x, GpWrapMode x )
1480 FUNCTION: GpStatus GdipGetPathGradientSurroundColorCount ( GpPathGradient* x, INT* x )
1481
1482
1483 FUNCTION: GpStatus GdipCreatePathIter ( GpPathIterator** x, GpPath* x )
1484 FUNCTION: GpStatus GdipDeletePathIter ( GpPathIterator* x )
1485 FUNCTION: GpStatus GdipPathIterCopyData ( GpPathIterator* x, INT* x, GpPointF* x, BYTE* x,
1486              INT x, INT x )
1487 FUNCTION: GpStatus GdipPathIterGetCount ( GpPathIterator* x, INT* x )
1488 FUNCTION: GpStatus GdipPathIterGetSubpathCount ( GpPathIterator* x, INT* x )
1489 FUNCTION: GpStatus GdipPathIterEnumerate ( GpPathIterator* x, INT* x, GpPointF* x, BYTE* x, INT x )
1490 FUNCTION: GpStatus GdipPathIterHasCurve ( GpPathIterator* x, BOOL* x )
1491 FUNCTION: GpStatus GdipPathIterIsValid ( GpPathIterator* x, BOOL* x )
1492 FUNCTION: GpStatus GdipPathIterNextMarker ( GpPathIterator* x, INT* x, INT* x, INT* x )
1493 FUNCTION: GpStatus GdipPathIterNextMarkerPath ( GpPathIterator* x, INT* x, GpPath* x )
1494 FUNCTION: GpStatus GdipPathIterNextPathType ( GpPathIterator* x, INT* x, BYTE* x, INT* x, INT* x )
1495 FUNCTION: GpStatus GdipPathIterNextSubpath ( GpPathIterator* x, INT* x, INT* x, INT* x, BOOL* x )
1496 FUNCTION: GpStatus GdipPathIterNextSubpathPath ( GpPathIterator* x, INT* x, GpPath* x, BOOL* x )
1497 FUNCTION: GpStatus GdipPathIterRewind ( GpPathIterator* x )
1498
1499
1500 FUNCTION: GpStatus GdipClonePen ( GpPen* x, GpPen** x )
1501 FUNCTION: GpStatus GdipCreatePen1 ( ARGB x, REAL x, GpUnit x, GpPen** x )
1502 FUNCTION: GpStatus GdipCreatePen2 ( GpBrush* x, REAL x, GpUnit x, GpPen** x )
1503 FUNCTION: GpStatus GdipDeletePen ( GpPen* x )
1504 FUNCTION: GpStatus GdipGetPenBrushFill ( GpPen* x, GpBrush** x )
1505 FUNCTION: GpStatus GdipGetPenColor ( GpPen* x, ARGB* x )
1506 FUNCTION: GpStatus GdipGetPenCustomStartCap ( GpPen* x, GpCustomLineCap** x )
1507 FUNCTION: GpStatus GdipGetPenCustomEndCap ( GpPen* x, GpCustomLineCap** x )
1508 FUNCTION: GpStatus GdipGetPenDashArray ( GpPen* x, REAL* x, INT x )
1509 FUNCTION: GpStatus GdipGetPenDashCount ( GpPen* x, INT* x )
1510 FUNCTION: GpStatus GdipGetPenDashOffset ( GpPen* x, REAL* x )
1511 FUNCTION: GpStatus GdipGetPenDashStyle ( GpPen* x, GpDashStyle* x )
1512 FUNCTION: GpStatus GdipGetPenMode ( GpPen* x, GpPenAlignment* x )
1513 FUNCTION: GpStatus GdipResetPenTransform ( GpPen* x )
1514 FUNCTION: GpStatus GdipScalePenTransform ( GpPen* x, REAL x, REAL x, GpMatrixOrder x )
1515 FUNCTION: GpStatus GdipSetPenBrushFill ( GpPen* x, GpBrush* x )
1516 FUNCTION: GpStatus GdipSetPenColor ( GpPen* x, ARGB x )
1517 FUNCTION: GpStatus GdipSetPenCompoundArray ( GpPen* x, REAL* x, INT x )
1518 FUNCTION: GpStatus GdipSetPenCustomEndCap ( GpPen* x, GpCustomLineCap* x )
1519 FUNCTION: GpStatus GdipSetPenCustomStartCap ( GpPen* x, GpCustomLineCap* x )
1520 FUNCTION: GpStatus GdipSetPenDashArray ( GpPen* x, REAL* x, INT x )
1521 FUNCTION: GpStatus GdipSetPenDashCap197819 ( GpPen* x, GpDashCap x )
1522 FUNCTION: GpStatus GdipSetPenDashOffset ( GpPen* x, REAL x )
1523 FUNCTION: GpStatus GdipSetPenDashStyle ( GpPen* x, GpDashStyle x )
1524 FUNCTION: GpStatus GdipSetPenEndCap ( GpPen* x, GpLineCap x )
1525 FUNCTION: GpStatus GdipGetPenFillType ( GpPen* x, GpPenType* x )
1526 FUNCTION: GpStatus GdipSetPenLineCap197819 ( GpPen* x, GpLineCap x, GpLineCap x, GpDashCap x )
1527 FUNCTION: GpStatus GdipSetPenLineJoin ( GpPen* x, GpLineJoin x )
1528 FUNCTION: GpStatus GdipSetPenMode ( GpPen* x, GpPenAlignment x )
1529 FUNCTION: GpStatus GdipSetPenMiterLimit ( GpPen* x, REAL x )
1530 FUNCTION: GpStatus GdipSetPenStartCap ( GpPen* x, GpLineCap x )
1531 FUNCTION: GpStatus GdipSetPenWidth ( GpPen* x, REAL x )
1532 FUNCTION: GpStatus GdipGetPenDashCap197819 ( GpPen* x, GpDashCap* x )
1533 FUNCTION: GpStatus GdipGetPenEndCap ( GpPen* x, GpLineCap* x )
1534 FUNCTION: GpStatus GdipGetPenLineJoin ( GpPen* x, GpLineJoin* x )
1535 FUNCTION: GpStatus GdipGetPenMiterLimit ( GpPen* x, REAL* x )
1536 FUNCTION: GpStatus GdipGetPenStartCap ( GpPen* x, GpLineCap* x )
1537 FUNCTION: GpStatus GdipGetPenUnit ( GpPen* x, GpUnit* x )
1538 FUNCTION: GpStatus GdipGetPenWidth ( GpPen* x, REAL* x )
1539
1540
1541 FUNCTION: GpStatus GdipCloneRegion ( GpRegion* x,  GpRegion** x )
1542 FUNCTION: GpStatus GdipCombineRegionPath ( GpRegion* x,  GpPath* x,  CombineMode x )
1543 FUNCTION: GpStatus GdipCombineRegionRect ( GpRegion* x,  GpRectF* x,  CombineMode x )
1544 FUNCTION: GpStatus GdipCombineRegionRectI ( GpRegion* x,  GpRect* x,  CombineMode x )
1545 FUNCTION: GpStatus GdipCombineRegionRegion ( GpRegion* x,  GpRegion* x,  CombineMode x )
1546 FUNCTION: GpStatus GdipCreateRegion ( GpRegion** x )
1547 FUNCTION: GpStatus GdipCreateRegionPath ( GpPath* x,  GpRegion** x )
1548 FUNCTION: GpStatus GdipCreateRegionRect ( GpRectF* x,  GpRegion** x )
1549 FUNCTION: GpStatus GdipCreateRegionRectI ( GpRect* x,  GpRegion** x )
1550 FUNCTION: GpStatus GdipCreateRegionRgnData ( BYTE* x,  INT x,  GpRegion** x )
1551 FUNCTION: GpStatus GdipCreateRegionHrgn ( HRGN x,  GpRegion** x )
1552 FUNCTION: GpStatus GdipDeleteRegion ( GpRegion* x )
1553 FUNCTION: GpStatus GdipGetRegionBounds ( GpRegion* x,  GpGraphics* x,  GpRectF* x )
1554 FUNCTION: GpStatus GdipGetRegionBoundsI ( GpRegion* x,  GpGraphics* x,  GpRect* x )
1555 FUNCTION: GpStatus GdipGetRegionData ( GpRegion* x,  BYTE* x,  UINT x,  UINT* x )
1556 FUNCTION: GpStatus GdipGetRegionDataSize ( GpRegion* x,  UINT* x )
1557 FUNCTION: GpStatus GdipGetRegionHRgn ( GpRegion* x,  GpGraphics* x,  HRGN* x )
1558 FUNCTION: GpStatus GdipIsEmptyRegion ( GpRegion* x,  GpGraphics* x,  BOOL* x )
1559 FUNCTION: GpStatus GdipIsEqualRegion ( GpRegion* x,  GpRegion* x,  GpGraphics* x,  BOOL* x )
1560 FUNCTION: GpStatus GdipIsInfiniteRegion ( GpRegion* x,  GpGraphics* x,  BOOL* x )
1561 FUNCTION: GpStatus GdipIsVisibleRegionPoint ( GpRegion* x,  REAL x,  REAL x,  GpGraphics* x,  BOOL* x )
1562 FUNCTION: GpStatus GdipIsVisibleRegionPointI ( GpRegion* x,  INT x,  INT x,  GpGraphics* x,  BOOL* x )
1563 FUNCTION: GpStatus GdipIsVisibleRegionRect ( GpRegion* x,  REAL x,  REAL x,  REAL x,  REAL x,  GpGraphics* x,  BOOL* x )
1564 FUNCTION: GpStatus GdipIsVisibleRegionRectI ( GpRegion* x,  INT x,  INT x,  INT x,  INT x,  GpGraphics* x,  BOOL* x )
1565 FUNCTION: GpStatus GdipSetEmpty ( GpRegion* x )
1566 FUNCTION: GpStatus GdipSetInfinite ( GpRegion* x )
1567 FUNCTION: GpStatus GdipTransformRegion ( GpRegion* x,  GpMatrix* x )
1568 FUNCTION: GpStatus GdipTranslateRegion ( GpRegion* x,  REAL x,  REAL x )
1569 FUNCTION: GpStatus GdipTranslateRegionI ( GpRegion* x,  INT x,  INT x )
1570
1571
1572 FUNCTION: GpStatus GdipCreateSolidFill ( ARGB x, GpSolidFill** x )
1573 FUNCTION: GpStatus GdipGetSolidFillColor ( GpSolidFill* x, ARGB* x )
1574 FUNCTION: GpStatus GdipSetSolidFillColor ( GpSolidFill* x, ARGB x )
1575
1576
1577 FUNCTION: GpStatus GdipCloneStringFormat ( GpStringFormat* x, GpStringFormat** x )
1578 FUNCTION: GpStatus GdipCreateStringFormat ( INT x, LANGID x, GpStringFormat** x )
1579 FUNCTION: GpStatus GdipDeleteStringFormat ( GpStringFormat* x )
1580 FUNCTION: GpStatus GdipGetStringFormatAlign ( GpStringFormat* x, StringAlignment* x )
1581 FUNCTION: GpStatus GdipGetStringFormatDigitSubstitution ( GpStringFormat* x, LANGID* x,
1582                  StringDigitSubstitute* x )
1583 FUNCTION: GpStatus GdipGetStringFormatFlags ( GpStringFormat* x,  INT* x )
1584 FUNCTION: GpStatus GdipGetStringFormatHotkeyPrefix ( GpStringFormat* x, INT* x )
1585 FUNCTION: GpStatus GdipGetStringFormatLineAlign ( GpStringFormat* x, StringAlignment* x )
1586 FUNCTION: GpStatus GdipGetStringFormatMeasurableCharacterRangeCount (
1587                  GpStringFormat* x,  INT* x )
1588 FUNCTION: GpStatus GdipGetStringFormatTabStopCount ( GpStringFormat* x, INT* x )
1589 FUNCTION: GpStatus GdipGetStringFormatTabStops ( GpStringFormat* x, INT x, REAL* x, REAL* x )
1590 FUNCTION: GpStatus GdipGetStringFormatTrimming ( GpStringFormat* x, StringTrimming* x )
1591 FUNCTION: GpStatus GdipSetStringFormatAlign ( GpStringFormat* x, StringAlignment x )
1592 FUNCTION: GpStatus GdipSetStringFormatDigitSubstitution ( GpStringFormat* x, LANGID x, StringDigitSubstitute x )
1593 FUNCTION: GpStatus GdipSetStringFormatHotkeyPrefix ( GpStringFormat* x, INT x )
1594 FUNCTION: GpStatus GdipSetStringFormatLineAlign ( GpStringFormat* x, StringAlignment x )
1595 FUNCTION: GpStatus GdipSetStringFormatMeasurableCharacterRanges (
1596                  GpStringFormat* x,  INT x,  CharacterRange* x )
1597 FUNCTION: GpStatus GdipSetStringFormatTabStops ( GpStringFormat* x, REAL x, INT x, REAL* x )
1598 FUNCTION: GpStatus GdipSetStringFormatTrimming ( GpStringFormat* x, StringTrimming x )
1599 FUNCTION: GpStatus GdipSetStringFormatFlags ( GpStringFormat* x,  INT x )
1600 FUNCTION: GpStatus GdipStringFormatGetGenericDefault ( GpStringFormat** x )
1601 FUNCTION: GpStatus GdipStringFormatGetGenericTypographic ( GpStringFormat** x )
1602
1603
1604 FUNCTION: GpStatus GdipCreateTexture ( GpImage* x, GpWrapMode x, GpTexture** x )
1605 FUNCTION: GpStatus GdipCreateTexture2 ( GpImage* x, GpWrapMode x, REAL x, REAL x, REAL x, REAL x, GpTexture** x )
1606 FUNCTION: GpStatus GdipCreateTexture2I ( GpImage* x, GpWrapMode x, INT x, INT x, INT x, INT x, GpTexture** x )
1607 FUNCTION: GpStatus GdipCreateTextureIA ( GpImage* x, GpImageAttributes* x,
1608              REAL x, REAL x, REAL x, REAL x, GpTexture** x )
1609 FUNCTION: GpStatus GdipCreateTextureIAI ( GpImage* x, GpImageAttributes* x,
1610              INT x, INT x, INT x, INT x, GpTexture** x )
1611 FUNCTION: GpStatus GdipGetTextureTransform ( GpTexture* x, GpMatrix* x )
1612 FUNCTION: GpStatus GdipGetTextureWrapMode ( GpTexture* x,  GpWrapMode* x )
1613 FUNCTION: GpStatus GdipMultiplyTextureTransform ( GpTexture* x,
1614              GpMatrix* x, GpMatrixOrder x )
1615 FUNCTION: GpStatus GdipResetTextureTransform ( GpTexture* x )
1616 FUNCTION: GpStatus GdipRotateTextureTransform ( GpTexture* x, REAL x, GpMatrixOrder x )
1617 FUNCTION: GpStatus GdipScaleTextureTransform ( GpTexture* x, REAL x, REAL x, GpMatrixOrder x )
1618 FUNCTION: GpStatus GdipSetTextureTransform ( GpTexture* x, GpMatrix* x )
1619 FUNCTION: GpStatus GdipSetTextureWrapMode ( GpTexture* x,  GpWrapMode x )
1620 FUNCTION: GpStatus GdipTranslateTextureTransform ( GpTexture* x, REAL x, REAL x,
1621              GpMatrixOrder x )
1622
1623
1624 FUNCTION: GpStatus GdipCreateStreamOnFile ( WCHAR* x, UINT x, IStream** x )
1625 FUNCTION: GpStatus GdipGetImageEncodersSize ( UINT* numEncoders,  UINT* size )
1626 FUNCTION: GpStatus GdipGetImageEncoders ( UINT numEncoders,  UINT size,  ImageCodecInfo* encoders )
1627 FUNCTION: GpStatus GdipTestControl ( GpTestControlEnum x, void* x )
1628
1629 ERROR: gdi+-error status ;
1630
1631 : check-gdi+-status ( GpStatus -- )
1632     dup Ok = [ drop ] [ gdi+-error ] if ;
1633
1634 CONSTANT: standard-gdi+-startup-input
1635     S{ GdiplusStartupInput
1636         { GdiplusVersion 1 }
1637         { DebugEventCallback f }
1638         { SuppressBackgroundThread 0 }
1639         { SuppressExternalCodecs 0 }
1640     }
1641
1642 : (start-gdi+) ( startup-input -- token startup-output )
1643     { ULONG_PTR GdiplusStartupOutput }
1644     [ swapd GdiplusStartup check-gdi+-status ] with-out-parameters ;
1645 : start-gdi+ ( -- token )
1646     standard-gdi+-startup-input (start-gdi+) drop ; inline
1647 : stop-gdi+ ( token -- )
1648     GdiplusShutdown ;
1649
1650 DESTRUCTOR: stop-gdi+
1651
1652 SYMBOL: gdi-token
1653
1654 STARTUP-HOOK: [ start-gdi+ gdi-token set-global ]
1655
1656 SHUTDOWN-HOOK: [ gdi-token get-global [ stop-gdi+ ] when* ]