diff options
author | Tor Lillqvist <tlillqvist@novell.com> | 2011-07-14 15:56:47 +0300 |
---|---|---|
committer | Tor Lillqvist <tlillqvist@novell.com> | 2011-07-14 15:57:16 +0300 |
commit | c25d059a8b70c2afa566c0c555d5d477a40ba935 (patch) | |
tree | 3325909dc1b05dffcf7b43da9b4ddc3061e82b4e /external | |
parent | 3ed940516f2384255625fa88d7f29a94f30f89cd (diff) |
Add the gdiplus headers and import library from Wine, for cross-compilation
Diffstat (limited to 'external')
-rw-r--r-- | external/gdiplus/include/gdiplus.h | 65 | ||||
-rw-r--r-- | external/gdiplus/include/gdipluscolor.h | 51 | ||||
-rw-r--r-- | external/gdiplus/include/gdipluscolormatrix.h | 60 | ||||
-rw-r--r-- | external/gdiplus/include/gdiplusenums.h | 763 | ||||
-rw-r--r-- | external/gdiplus/include/gdiplusflat.h | 731 | ||||
-rw-r--r-- | external/gdiplus/include/gdiplusgpstubs.h | 99 | ||||
-rw-r--r-- | external/gdiplus/include/gdiplusimaging.h | 450 | ||||
-rw-r--r-- | external/gdiplus/include/gdiplusinit.h | 69 | ||||
-rw-r--r-- | external/gdiplus/include/gdiplusmem.h | 35 | ||||
-rw-r--r-- | external/gdiplus/include/gdiplusmetaheader.h | 167 | ||||
-rw-r--r-- | external/gdiplus/include/gdipluspixelformats.h | 72 | ||||
-rw-r--r-- | external/gdiplus/include/gdiplustypes.h | 276 | ||||
-rw-r--r-- | external/gdiplus/lib/gdiplus.def | 510 | ||||
-rw-r--r-- | external/gdiplus/makefile.mk | 41 | ||||
-rw-r--r-- | external/prj/build.lst | 1 | ||||
-rw-r--r-- | external/prj/d.lst | 5 |
16 files changed, 3395 insertions, 0 deletions
diff --git a/external/gdiplus/include/gdiplus.h b/external/gdiplus/include/gdiplus.h new file mode 100644 index 000000000000..f063b3e2a844 --- /dev/null +++ b/external/gdiplus/include/gdiplus.h @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUS_H +#define _GDIPLUS_H + +#ifdef __cplusplus + +namespace Gdiplus +{ + namespace DllExports + { +#include "gdiplusmem.h" + }; + +#include "gdiplusenums.h" +#include "gdiplustypes.h" +#include "gdiplusinit.h" +#include "gdipluspixelformats.h" +#include "gdiplusmetaheader.h" +#include "gdiplusimaging.h" +#include "gdipluscolor.h" +#include "gdipluscolormatrix.h" +#include "gdiplusgpstubs.h" + + namespace DllExports + { +#include "gdiplusflat.h" + }; +}; + +#else /* end c++ includes */ + +#include "gdiplusmem.h" + +#include "gdiplusenums.h" +#include "gdiplustypes.h" +#include "gdiplusinit.h" +#include "gdipluspixelformats.h" +#include "gdiplusmetaheader.h" +#include "gdiplusimaging.h" +#include "gdipluscolor.h" +#include "gdipluscolormatrix.h" +#include "gdiplusgpstubs.h" + +#include "gdiplusflat.h" + +#endif /* end c includes */ + +#endif /* _GDIPLUS_H_ */ diff --git a/external/gdiplus/include/gdipluscolor.h b/external/gdiplus/include/gdipluscolor.h new file mode 100644 index 000000000000..39b7cb6debd4 --- /dev/null +++ b/external/gdiplus/include/gdipluscolor.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2808 Google (Lei Zhang) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSCOLOR_H +#define _GDIPLUSCOLOR_H + +enum ColorChannelFlags +{ + ColorChannelFlagsC, + ColorChannelFlagsM, + ColorChannelFlagsY, + ColorChannelFlagsK, + ColorChannelFlagsLast +}; + +#ifdef __cplusplus + +/* FIXME: missing the methods. */ +class Color +{ +protected: + ARGB Argb; +}; + +#else /* end of c++ typedefs */ + +typedef struct Color +{ + ARGB Argb; +} Color; + +typedef enum ColorChannelFlags ColorChannelFlags; + +#endif /* end of c typedefs */ + +#endif /* _GDIPLUSCOLOR_H */ diff --git a/external/gdiplus/include/gdipluscolormatrix.h b/external/gdiplus/include/gdipluscolormatrix.h new file mode 100644 index 000000000000..fbf1b2a402f5 --- /dev/null +++ b/external/gdiplus/include/gdipluscolormatrix.h @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSCOLORMATRIX_H +#define _GDIPLUSCOLORMATRIX_H + +struct ColorMatrix +{ + REAL m[5][5]; +}; + +enum ColorMatrixFlags +{ + ColorMatrixFlagsDefault = 0, + ColorMatrixFlagsSkipGrays = 1, + ColorMatrixFlagsAltGray = 2 +}; + +enum ColorAdjustType +{ + ColorAdjustTypeDefault, + ColorAdjustTypeBitmap, + ColorAdjustTypeBrush, + ColorAdjustTypePen, + ColorAdjustTypeText, + ColorAdjustTypeCount, + ColorAdjustTypeAny +}; + +struct ColorMap +{ + Color oldColor; + Color newColor; +}; + +#ifndef __cplusplus + +typedef enum ColorAdjustType ColorAdjustType; +typedef enum ColorMatrixFlags ColorMatrixFlags; +typedef struct ColorMatrix ColorMatrix; +typedef struct ColorMap ColorMap; + +#endif /* end of c typedefs */ + +#endif /* _GDIPLUSCOLORMATRIX_H */ diff --git a/external/gdiplus/include/gdiplusenums.h b/external/gdiplus/include/gdiplusenums.h new file mode 100644 index 000000000000..94383d99cf2d --- /dev/null +++ b/external/gdiplus/include/gdiplusenums.h @@ -0,0 +1,763 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSENUMS_H +#define _GDIPLUSENUMS_H + +typedef UINT GraphicsState; +typedef UINT GraphicsContainer; + +enum Unit +{ + UnitWorld = 0, + UnitDisplay = 1, + UnitPixel = 2, + UnitPoint = 3, + UnitInch = 4, + UnitDocument = 5, + UnitMillimeter = 6 +}; + +enum BrushType +{ + BrushTypeSolidColor = 0, + BrushTypeHatchFill = 1, + BrushTypeTextureFill = 2, + BrushTypePathGradient = 3, + BrushTypeLinearGradient = 4 +}; + +enum DriverStringOptions +{ + DriverStringOptionsCmapLookup = 1, + DriverStringOptionsVertical = 2, + DriverStringOptionsRealizedAdvance = 4, + DriverStringOptionsLimitSubpixel = 4 +}; + +enum FillMode +{ + FillModeAlternate = 0, + FillModeWinding = 1 +}; + +enum LineCap +{ + LineCapFlat = 0x00, + LineCapSquare = 0x01, + LineCapRound = 0x02, + LineCapTriangle = 0x03, + + LineCapNoAnchor = 0x10, + LineCapSquareAnchor = 0x11, + LineCapRoundAnchor = 0x12, + LineCapDiamondAnchor = 0x13, + LineCapArrowAnchor = 0x14, + + LineCapCustom = 0xff, + LineCapAnchorMask = 0xf0 +}; + +enum PathPointType{ + PathPointTypeStart = 0, /* start of a figure */ + PathPointTypeLine = 1, + PathPointTypeBezier = 3, + PathPointTypePathTypeMask = 7, + PathPointTypePathDashMode = 16, /* not used */ + PathPointTypePathMarker = 32, + PathPointTypeCloseSubpath = 128, /* end of a closed figure */ + PathPointTypeBezier3 = 3 +}; + +enum PenType +{ + PenTypeSolidColor = BrushTypeSolidColor, + PenTypeHatchFill = BrushTypeHatchFill, + PenTypeTextureFill = BrushTypeTextureFill, + PenTypePathGradient = BrushTypePathGradient, + PenTypeLinearGradient = BrushTypeLinearGradient, + PenTypeUnknown = -1 +}; + +enum LineJoin +{ + LineJoinMiter = 0, + LineJoinBevel = 1, + LineJoinRound = 2, + LineJoinMiterClipped = 3 +}; + +enum QualityMode +{ + QualityModeInvalid = -1, + QualityModeDefault = 0, + QualityModeLow = 1, + QualityModeHigh = 2 +}; + +enum SmoothingMode +{ + SmoothingModeInvalid = QualityModeInvalid, + SmoothingModeDefault = QualityModeDefault, + SmoothingModeHighSpeed = QualityModeLow, + SmoothingModeHighQuality = QualityModeHigh, + SmoothingModeNone, + SmoothingModeAntiAlias +}; + +enum CompositingQuality +{ + CompositingQualityInvalid = QualityModeInvalid, + CompositingQualityDefault = QualityModeDefault, + CompositingQualityHighSpeed = QualityModeLow, + CompositingQualityHighQuality = QualityModeHigh, + CompositingQualityGammaCorrected, + CompositingQualityAssumeLinear +}; + +enum InterpolationMode +{ + InterpolationModeInvalid = QualityModeInvalid, + InterpolationModeDefault = QualityModeDefault, + InterpolationModeLowQuality = QualityModeLow, + InterpolationModeHighQuality = QualityModeHigh, + InterpolationModeBilinear, + InterpolationModeBicubic, + InterpolationModeNearestNeighbor, + InterpolationModeHighQualityBilinear, + InterpolationModeHighQualityBicubic +}; + +enum PenAlignment +{ + PenAlignmentCenter = 0, + PenAlignmentInset = 1 +}; + +enum PixelOffsetMode +{ + PixelOffsetModeInvalid = QualityModeInvalid, + PixelOffsetModeDefault = QualityModeDefault, + PixelOffsetModeHighSpeed = QualityModeLow, + PixelOffsetModeHighQuality = QualityModeHigh, + PixelOffsetModeNone, + PixelOffsetModeHalf +}; + +enum DashCap +{ + DashCapFlat = 0, + DashCapRound = 2, + DashCapTriangle = 3 +}; + +enum DashStyle +{ + DashStyleSolid, + DashStyleDash, + DashStyleDot, + DashStyleDashDot, + DashStyleDashDotDot, + DashStyleCustom +}; + +enum MatrixOrder +{ + MatrixOrderPrepend = 0, + MatrixOrderAppend = 1 +}; + +enum ImageType +{ + ImageTypeUnknown, + ImageTypeBitmap, + ImageTypeMetafile +}; + +enum WarpMode { + WarpModePerspective, + WarpModeBilinear +}; + +enum WrapMode +{ + WrapModeTile, + WrapModeTileFlipX, + WrapModeTileFlipY, + WrapModeTileFlipXY, + WrapModeClamp +}; + +enum MetafileType +{ + MetafileTypeInvalid, + MetafileTypeWmf, + MetafileTypeWmfPlaceable, + MetafileTypeEmf, + MetafileTypeEmfPlusOnly, + MetafileTypeEmfPlusDual +}; + +enum LinearGradientMode +{ + LinearGradientModeHorizontal, + LinearGradientModeVertical, + LinearGradientModeForwardDiagonal, + LinearGradientModeBackwardDiagonal +}; + +enum EmfType +{ + EmfTypeEmfOnly = MetafileTypeEmf, + EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly, + EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual +}; + +enum CompositingMode +{ + CompositingModeSourceOver, + CompositingModeSourceCopy +}; + +enum TextRenderingHint +{ + TextRenderingHintSystemDefault = 0, + TextRenderingHintSingleBitPerPixelGridFit, + TextRenderingHintSingleBitPerPixel, + TextRenderingHintAntiAliasGridFit, + TextRenderingHintAntiAlias, + TextRenderingHintClearTypeGridFit +}; + +enum StringAlignment +{ + StringAlignmentNear = 0, + StringAlignmentCenter = 1, + StringAlignmentFar = 2 +}; + +enum StringDigitSubstitute +{ + StringDigitSubstituteUser = 0, + StringDigitSubstituteNone = 1, + StringDigitSubstituteNational = 2, + StringDigitSubstituteTraditional = 3 +}; + +enum StringFormatFlags +{ + StringFormatFlagsDirectionRightToLeft = 0x00000001, + StringFormatFlagsDirectionVertical = 0x00000002, + StringFormatFlagsNoFitBlackBox = 0x00000004, + StringFormatFlagsDisplayFormatControl = 0x00000020, + StringFormatFlagsNoFontFallback = 0x00000400, + StringFormatFlagsMeasureTrailingSpaces = 0x00000800, + StringFormatFlagsNoWrap = 0x00001000, + StringFormatFlagsLineLimit = 0x00002000, + StringFormatFlagsNoClip = 0x00004000 +}; + +enum StringTrimming +{ + StringTrimmingNone = 0, + StringTrimmingCharacter = 1, + StringTrimmingWord = 2, + StringTrimmingEllipsisCharacter = 3, + StringTrimmingEllipsisWord = 4, + StringTrimmingEllipsisPath = 5 +}; + +enum FontStyle +{ + FontStyleRegular = 0, + FontStyleBold = 1, + FontStyleItalic = 2, + FontStyleBoldItalic = 3, + FontStyleUnderline = 4, + FontStyleStrikeout = 8 +}; + +enum HotkeyPrefix +{ + HotkeyPrefixNone = 0, + HotkeyPrefixShow = 1, + HotkeyPrefixHide = 2 +}; + +enum PaletteFlags +{ + PaletteFlagsHasAlpha = 1, + PaletteFlagsGrayScale = 2, + PaletteFlagsHalftone = 4 +}; + +enum ImageCodecFlags +{ + ImageCodecFlagsEncoder = 1, + ImageCodecFlagsDecoder = 2, + ImageCodecFlagsSupportBitmap = 4, + ImageCodecFlagsSupportVector = 8, + ImageCodecFlagsSeekableEncode = 16, + ImageCodecFlagsBlockingDecode = 32, + ImageCodecFlagsBuiltin = 65536, + ImageCodecFlagsSystem = 131072, + ImageCodecFlagsUser = 262144 +}; + +enum ImageFlags +{ + ImageFlagsNone = 0, + ImageFlagsScalable = 0x0001, + ImageFlagsHasAlpha = 0x0002, + ImageFlagsHasTranslucent = 0x0004, + ImageFlagsPartiallyScalable = 0x0008, + ImageFlagsColorSpaceRGB = 0x0010, + ImageFlagsColorSpaceCMYK = 0x0020, + ImageFlagsColorSpaceGRAY = 0x0040, + ImageFlagsColorSpaceYCBCR = 0x0080, + ImageFlagsColorSpaceYCCK = 0x0100, + ImageFlagsHasRealDPI = 0x1000, + ImageFlagsHasRealPixelSize = 0x2000, + ImageFlagsReadOnly = 0x00010000, + ImageFlagsCaching = 0x00020000 +}; + +enum CombineMode +{ + CombineModeReplace, + CombineModeIntersect, + CombineModeUnion, + CombineModeXor, + CombineModeExclude, + CombineModeComplement +}; + +enum FlushIntention +{ + FlushIntentionFlush = 0, + FlushIntentionSync = 1 +}; + +enum CoordinateSpace +{ + CoordinateSpaceWorld, + CoordinateSpacePage, + CoordinateSpaceDevice +}; + +enum GpTestControlEnum +{ + TestControlForceBilinear = 0, + TestControlNoICM = 1, + TestControlGetBuildNumber = 2 +}; + +enum MetafileFrameUnit +{ + MetafileFrameUnitPixel = UnitPixel, + MetafileFrameUnitPoint = UnitPoint, + MetafileFrameUnitInch = UnitInch, + MetafileFrameUnitDocument = UnitDocument, + MetafileFrameUnitMillimeter = UnitMillimeter, + MetafileFrameUnitGdi +}; + +enum HatchStyle +{ + HatchStyleHorizontal = 0, + HatchStyleVertical = 1, + HatchStyleForwardDiagonal = 2, + HatchStyleBackwardDiagonal = 3, + HatchStyleCross = 4, + HatchStyleDiagonalCross = 5, + HatchStyle05Percent = 6, + HatchStyle10Percent = 7, + HatchStyle20Percent = 8, + HatchStyle25Percent = 9, + HatchStyle30Percent = 10, + HatchStyle40Percent = 11, + HatchStyle50Percent = 12, + HatchStyle60Percent = 13, + HatchStyle70Percent = 14, + HatchStyle75Percent = 15, + HatchStyle80Percent = 16, + HatchStyle90Percent = 17, + HatchStyleLightDownwardDiagonal = 18, + HatchStyleLightUpwardDiagonal = 19, + HatchStyleDarkDownwardDiagonal = 20, + HatchStyleDarkUpwardDiagonal = 21, + HatchStyleWideDownwardDiagonal = 22, + HatchStyleWideUpwardDiagonal = 23, + HatchStyleLightVertical = 24, + HatchStyleLightHorizontal = 25, + HatchStyleNarrowVertical = 26, + HatchStyleNarrowHorizontal = 27, + HatchStyleDarkVertical = 28, + HatchStyleDarkHorizontal = 29, + HatchStyleDashedDownwardDiagonal = 30, + HatchStyleDashedUpwardDiagonal = 31, + HatchStyleDashedHorizontal = 32, + HatchStyleDashedVertical = 33, + HatchStyleSmallConfetti = 34, + HatchStyleLargeConfetti = 35, + HatchStyleZigZag = 36, + HatchStyleWave = 37, + HatchStyleDiagonalBrick = 38, + HatchStyleHorizontalBrick = 39, + HatchStyleWeave = 40, + HatchStylePlaid = 41, + HatchStyleDivot = 42, + HatchStyleDottedGrid = 43, + HatchStyleDottedDiamond = 44, + HatchStyleShingle = 45, + HatchStyleTrellis = 46, + HatchStyleSphere = 47, + HatchStyleSmallGrid = 48, + HatchStyleSmallCheckerBoard = 49, + HatchStyleLargeCheckerBoard = 50, + HatchStyleOutlinedDiamond = 51, + HatchStyleSolidDiamond = 52, + HatchStyleTotal = 53, + HatchStyleLargeGrid = HatchStyleCross, + HatchStyleMin = HatchStyleHorizontal, + HatchStyleMax = HatchStyleTotal - 1 +}; + +#define GDIP_EMFPLUS_RECORD_BASE 0x00004000 +#define GDIP_WMF_RECORD_BASE 0x00010000 +#define GDIP_WMF_RECORD_TO_EMFPLUS(x) ((x)|GDIP_WMF_RECORD_BASE) + +enum EmfPlusRecordType { + WmfRecordTypeSetBkColor = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKCOLOR), + WmfRecordTypeSetBkMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKMODE), + WmfRecordTypeSetMapMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPMODE), + WmfRecordTypeSetROP2 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETROP2), + WmfRecordTypeSetRelAbs = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETRELABS), + WmfRecordTypeSetPolyFillMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPOLYFILLMODE), + WmfRecordTypeSetStretchBltMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETSTRETCHBLTMODE), + WmfRecordTypeSetTextCharExtra = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCHAREXTRA), + WmfRecordTypeSetTextColor = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCOLOR), + WmfRecordTypeSetTextJustification = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTJUSTIFICATION), + WmfRecordTypeSetWindowOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWORG), + WmfRecordTypeSetWindowExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWEXT), + WmfRecordTypeSetViewportOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTORG), + WmfRecordTypeSetViewportExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTEXT), + WmfRecordTypeOffsetWindowOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETWINDOWORG), + WmfRecordTypeScaleWindowExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEWINDOWEXT), + WmfRecordTypeOffsetViewportOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETVIEWPORTORG), + WmfRecordTypeScaleViewportExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEVIEWPORTEXT), + WmfRecordTypeLineTo = GDIP_WMF_RECORD_TO_EMFPLUS(META_LINETO), + WmfRecordTypeMoveTo = GDIP_WMF_RECORD_TO_EMFPLUS(META_MOVETO), + WmfRecordTypeExcludeClipRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXCLUDECLIPRECT), + WmfRecordTypeIntersectClipRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_INTERSECTCLIPRECT), + WmfRecordTypeArc = GDIP_WMF_RECORD_TO_EMFPLUS(META_ARC), + WmfRecordTypeEllipse = GDIP_WMF_RECORD_TO_EMFPLUS(META_ELLIPSE), + WmfRecordTypeFloodFill = GDIP_WMF_RECORD_TO_EMFPLUS(META_FLOODFILL), + WmfRecordTypePie = GDIP_WMF_RECORD_TO_EMFPLUS(META_PIE), + WmfRecordTypeRectangle = GDIP_WMF_RECORD_TO_EMFPLUS(META_RECTANGLE), + WmfRecordTypeRoundRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_ROUNDRECT), + WmfRecordTypePatBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_PATBLT), + WmfRecordTypeSaveDC = GDIP_WMF_RECORD_TO_EMFPLUS(META_SAVEDC), + WmfRecordTypeSetPixel = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPIXEL), + WmfRecordTypeOffsetClipRgn = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETCLIPRGN), + WmfRecordTypeTextOut = GDIP_WMF_RECORD_TO_EMFPLUS(META_TEXTOUT), + WmfRecordTypeBitBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_BITBLT), + WmfRecordTypeStretchBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHBLT), + WmfRecordTypePolygon = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYGON), + WmfRecordTypePolyline = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYLINE), + WmfRecordTypeEscape = GDIP_WMF_RECORD_TO_EMFPLUS(META_ESCAPE), + WmfRecordTypeRestoreDC = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESTOREDC), + WmfRecordTypeFillRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_FILLREGION), + WmfRecordTypeFrameRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_FRAMEREGION), + WmfRecordTypeInvertRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_INVERTREGION), + WmfRecordTypePaintRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_PAINTREGION), + WmfRecordTypeSelectClipRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTCLIPREGION), + WmfRecordTypeSelectObject = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTOBJECT), + WmfRecordTypeSetTextAlign = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTALIGN), + WmfRecordTypeDrawText = GDIP_WMF_RECORD_TO_EMFPLUS(0x062F), + WmfRecordTypeChord = GDIP_WMF_RECORD_TO_EMFPLUS(META_CHORD), + WmfRecordTypeSetMapperFlags = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPPERFLAGS), + WmfRecordTypeExtTextOut = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTTEXTOUT), + WmfRecordTypeSetDIBToDev = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETDIBTODEV), + WmfRecordTypeSelectPalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTPALETTE), + WmfRecordTypeRealizePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_REALIZEPALETTE), + WmfRecordTypeAnimatePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_ANIMATEPALETTE), + WmfRecordTypeSetPalEntries = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPALENTRIES), + WmfRecordTypePolyPolygon = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYPOLYGON), + WmfRecordTypeResizePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESIZEPALETTE), + WmfRecordTypeDIBBitBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBBITBLT), + WmfRecordTypeDIBStretchBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBSTRETCHBLT), + WmfRecordTypeDIBCreatePatternBrush = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBCREATEPATTERNBRUSH), + WmfRecordTypeStretchDIB = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHDIB), + WmfRecordTypeExtFloodFill = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTFLOODFILL), + WmfRecordTypeSetLayout = GDIP_WMF_RECORD_TO_EMFPLUS(0x0149), + WmfRecordTypeResetDC = GDIP_WMF_RECORD_TO_EMFPLUS(0x014C), + WmfRecordTypeStartDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x014D), + WmfRecordTypeStartPage = GDIP_WMF_RECORD_TO_EMFPLUS(0x004F), + WmfRecordTypeEndPage = GDIP_WMF_RECORD_TO_EMFPLUS(0x0050), + WmfRecordTypeAbortDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x0052), + WmfRecordTypeEndDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x005E), + WmfRecordTypeDeleteObject = GDIP_WMF_RECORD_TO_EMFPLUS(META_DELETEOBJECT), + WmfRecordTypeCreatePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPALETTE), + WmfRecordTypeCreateBrush = GDIP_WMF_RECORD_TO_EMFPLUS(0x00F8), + WmfRecordTypeCreatePatternBrush = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPATTERNBRUSH), + WmfRecordTypeCreatePenIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPENINDIRECT), + WmfRecordTypeCreateFontIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEFONTINDIRECT), + WmfRecordTypeCreateBrushIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEBRUSHINDIRECT), + WmfRecordTypeCreateBitmapIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(0x02FD), + WmfRecordTypeCreateBitmap = GDIP_WMF_RECORD_TO_EMFPLUS(0x06FE), + WmfRecordTypeCreateRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEREGION), + EmfRecordTypeHeader = EMR_HEADER, + EmfRecordTypePolyBezier = EMR_POLYBEZIER, + EmfRecordTypePolygon = EMR_POLYGON, + EmfRecordTypePolyline = EMR_POLYLINE, + EmfRecordTypePolyBezierTo = EMR_POLYBEZIERTO, + EmfRecordTypePolyLineTo = EMR_POLYLINETO, + EmfRecordTypePolyPolyline = EMR_POLYPOLYLINE, + EmfRecordTypePolyPolygon = EMR_POLYPOLYGON, + EmfRecordTypeSetWindowExtEx = EMR_SETWINDOWEXTEX, + EmfRecordTypeSetWindowOrgEx = EMR_SETWINDOWORGEX, + EmfRecordTypeSetViewportExtEx = EMR_SETVIEWPORTEXTEX, + EmfRecordTypeSetViewportOrgEx = EMR_SETVIEWPORTORGEX, + EmfRecordTypeSetBrushOrgEx = EMR_SETBRUSHORGEX, + EmfRecordTypeEOF = EMR_EOF, + EmfRecordTypeSetPixelV = EMR_SETPIXELV, + EmfRecordTypeSetMapperFlags = EMR_SETMAPPERFLAGS, + EmfRecordTypeSetMapMode = EMR_SETMAPMODE, + EmfRecordTypeSetBkMode = EMR_SETBKMODE, + EmfRecordTypeSetPolyFillMode = EMR_SETPOLYFILLMODE, + EmfRecordTypeSetROP2 = EMR_SETROP2, + EmfRecordTypeSetStretchBltMode = EMR_SETSTRETCHBLTMODE, + EmfRecordTypeSetTextAlign = EMR_SETTEXTALIGN, + EmfRecordTypeSetColorAdjustment = EMR_SETCOLORADJUSTMENT, + EmfRecordTypeSetTextColor = EMR_SETTEXTCOLOR, + EmfRecordTypeSetBkColor = EMR_SETBKCOLOR, + EmfRecordTypeOffsetClipRgn = EMR_OFFSETCLIPRGN, + EmfRecordTypeMoveToEx = EMR_MOVETOEX, + EmfRecordTypeSetMetaRgn = EMR_SETMETARGN, + EmfRecordTypeExcludeClipRect = EMR_EXCLUDECLIPRECT, + EmfRecordTypeIntersectClipRect = EMR_INTERSECTCLIPRECT, + EmfRecordTypeScaleViewportExtEx = EMR_SCALEVIEWPORTEXTEX, + EmfRecordTypeScaleWindowExtEx = EMR_SCALEWINDOWEXTEX, + EmfRecordTypeSaveDC = EMR_SAVEDC, + EmfRecordTypeRestoreDC = EMR_RESTOREDC, + EmfRecordTypeSetWorldTransform = EMR_SETWORLDTRANSFORM, + EmfRecordTypeModifyWorldTransform = EMR_MODIFYWORLDTRANSFORM, + EmfRecordTypeSelectObject = EMR_SELECTOBJECT, + EmfRecordTypeCreatePen = EMR_CREATEPEN, + EmfRecordTypeCreateBrushIndirect = EMR_CREATEBRUSHINDIRECT, + EmfRecordTypeDeleteObject = EMR_DELETEOBJECT, + EmfRecordTypeAngleArc = EMR_ANGLEARC, + EmfRecordTypeEllipse = EMR_ELLIPSE, + EmfRecordTypeRectangle = EMR_RECTANGLE, + EmfRecordTypeRoundRect = EMR_ROUNDRECT, + EmfRecordTypeArc = EMR_ARC, + EmfRecordTypeChord = EMR_CHORD, + EmfRecordTypePie = EMR_PIE, + EmfRecordTypeSelectPalette = EMR_SELECTPALETTE, + EmfRecordTypeCreatePalette = EMR_CREATEPALETTE, + EmfRecordTypeSetPaletteEntries = EMR_SETPALETTEENTRIES, + EmfRecordTypeResizePalette = EMR_RESIZEPALETTE, + EmfRecordTypeRealizePalette = EMR_REALIZEPALETTE, + EmfRecordTypeExtFloodFill = EMR_EXTFLOODFILL, + EmfRecordTypeLineTo = EMR_LINETO, + EmfRecordTypeArcTo = EMR_ARCTO, + EmfRecordTypePolyDraw = EMR_POLYDRAW, + EmfRecordTypeSetArcDirection = EMR_SETARCDIRECTION, + EmfRecordTypeSetMiterLimit = EMR_SETMITERLIMIT, + EmfRecordTypeBeginPath = EMR_BEGINPATH, + EmfRecordTypeEndPath = EMR_ENDPATH, + EmfRecordTypeCloseFigure = EMR_CLOSEFIGURE, + EmfRecordTypeFillPath = EMR_FILLPATH, + EmfRecordTypeStrokeAndFillPath = EMR_STROKEANDFILLPATH, + EmfRecordTypeStrokePath = EMR_STROKEPATH, + EmfRecordTypeFlattenPath = EMR_FLATTENPATH, + EmfRecordTypeWidenPath = EMR_WIDENPATH, + EmfRecordTypeSelectClipPath = EMR_SELECTCLIPPATH, + EmfRecordTypeAbortPath = EMR_ABORTPATH, + EmfRecordTypeReserved_069 = 69, + EmfRecordTypeGdiComment = EMR_GDICOMMENT, + EmfRecordTypeFillRgn = EMR_FILLRGN, + EmfRecordTypeFrameRgn = EMR_FRAMERGN, + EmfRecordTypeInvertRgn = EMR_INVERTRGN, + EmfRecordTypePaintRgn = EMR_PAINTRGN, + EmfRecordTypeExtSelectClipRgn = EMR_EXTSELECTCLIPRGN, + EmfRecordTypeBitBlt = EMR_BITBLT, + EmfRecordTypeStretchBlt = EMR_STRETCHBLT, + EmfRecordTypeMaskBlt = EMR_MASKBLT, + EmfRecordTypePlgBlt = EMR_PLGBLT, + EmfRecordTypeSetDIBitsToDevice = 80, + EmfRecordTypeStretchDIBits = EMR_STRETCHDIBITS, + EmfRecordTypeExtCreateFontIndirect = EMR_EXTCREATEFONTINDIRECTW, + EmfRecordTypeExtTextOutA = EMR_EXTTEXTOUTA, + EmfRecordTypeExtTextOutW = EMR_EXTTEXTOUTW, + EmfRecordTypePolyBezier16 = EMR_POLYBEZIER16, + EmfRecordTypePolygon16 = EMR_POLYGON16, + EmfRecordTypePolyline16 = EMR_POLYLINE16, + EmfRecordTypePolyBezierTo16 = EMR_POLYBEZIERTO16, + EmfRecordTypePolylineTo16 = EMR_POLYLINETO16, + EmfRecordTypePolyPolyline16 = EMR_POLYPOLYLINE16, + EmfRecordTypePolyPolygon16 = EMR_POLYPOLYGON16, + EmfRecordTypePolyDraw16 = EMR_POLYDRAW16, + EmfRecordTypeCreateMonoBrush = EMR_CREATEMONOBRUSH, + EmfRecordTypeCreateDIBPatternBrushPt = EMR_CREATEDIBPATTERNBRUSHPT, + EmfRecordTypeExtCreatePen = EMR_EXTCREATEPEN, + EmfRecordTypePolyTextOutA = EMR_POLYTEXTOUTA, + EmfRecordTypePolyTextOutW = EMR_POLYTEXTOUTW, + EmfRecordTypeSetICMMode = 98, + EmfRecordTypeCreateColorSpace = 99, + EmfRecordTypeSetColorSpace = 100, + EmfRecordTypeDeleteColorSpace = 101, + EmfRecordTypeGLSRecord = 102, + EmfRecordTypeGLSBoundedRecord = 103, + EmfRecordTypePixelFormat = 104, + EmfRecordTypeDrawEscape = 105, + EmfRecordTypeExtEscape = 106, + EmfRecordTypeStartDoc = 107, + EmfRecordTypeSmallTextOut = 108, + EmfRecordTypeForceUFIMapping = 109, + EmfRecordTypeNamedEscape = 110, + EmfRecordTypeColorCorrectPalette = 111, + EmfRecordTypeSetICMProfileA = 112, + EmfRecordTypeSetICMProfileW = 113, + EmfRecordTypeAlphaBlend = 114, + EmfRecordTypeSetLayout = 115, + EmfRecordTypeTransparentBlt = 116, + EmfRecordTypeReserved_117 = 117, + EmfRecordTypeGradientFill = 118, + EmfRecordTypeSetLinkedUFIs = 119, + EmfRecordTypeSetTextJustification = 120, + EmfRecordTypeColorMatchToTargetW = 121, + EmfRecordTypeCreateColorSpaceW = 122, + EmfRecordTypeMax = 122, + EmfRecordTypeMin = 1, + EmfPlusRecordTypeInvalid = GDIP_EMFPLUS_RECORD_BASE, + EmfPlusRecordTypeHeader, + EmfPlusRecordTypeEndOfFile, + EmfPlusRecordTypeComment, + EmfPlusRecordTypeGetDC, + EmfPlusRecordTypeMultiFormatStart, + EmfPlusRecordTypeMultiFormatSection, + EmfPlusRecordTypeMultiFormatEnd, + EmfPlusRecordTypeObject, + EmfPlusRecordTypeClear, + EmfPlusRecordTypeFillRects, + EmfPlusRecordTypeDrawRects, + EmfPlusRecordTypeFillPolygon, + EmfPlusRecordTypeDrawLines, + EmfPlusRecordTypeFillEllipse, + EmfPlusRecordTypeDrawEllipse, + EmfPlusRecordTypeFillPie, + EmfPlusRecordTypeDrawPie, + EmfPlusRecordTypeDrawArc, + EmfPlusRecordTypeFillRegion, + EmfPlusRecordTypeFillPath, + EmfPlusRecordTypeDrawPath, + EmfPlusRecordTypeFillClosedCurve, + EmfPlusRecordTypeDrawClosedCurve, + EmfPlusRecordTypeDrawCurve, + EmfPlusRecordTypeDrawBeziers, + EmfPlusRecordTypeDrawImage, + EmfPlusRecordTypeDrawImagePoints, + EmfPlusRecordTypeDrawString, + EmfPlusRecordTypeSetRenderingOrigin, + EmfPlusRecordTypeSetAntiAliasMode, + EmfPlusRecordTypeSetTextRenderingHint, + EmfPlusRecordTypeSetTextContrast, + EmfPlusRecordTypeSetGammaValue, + EmfPlusRecordTypeSetInterpolationMode, + EmfPlusRecordTypeSetPixelOffsetMode, + EmfPlusRecordTypeSetCompositingMode, + EmfPlusRecordTypeSetCompositingQuality, + EmfPlusRecordTypeSave, + EmfPlusRecordTypeRestore, + EmfPlusRecordTypeBeginContainer, + EmfPlusRecordTypeBeginContainerNoParams, + EmfPlusRecordTypeEndContainer, + EmfPlusRecordTypeSetWorldTransform, + EmfPlusRecordTypeResetWorldTransform, + EmfPlusRecordTypeMultiplyWorldTransform, + EmfPlusRecordTypeTranslateWorldTransform, + EmfPlusRecordTypeScaleWorldTransform, + EmfPlusRecordTypeRotateWorldTransform, + EmfPlusRecordTypeSetPageTransform, + EmfPlusRecordTypeResetClip, + EmfPlusRecordTypeSetClipRect, + EmfPlusRecordTypeSetClipPath, + EmfPlusRecordTypeSetClipRegion, + EmfPlusRecordTypeOffsetClip, + EmfPlusRecordTypeDrawDriverString, + EmfPlusRecordTypeStrokeFillPath, + EmfPlusRecordTypeSerializableObject, + EmfPlusRecordTypeSetTSGraphics, + EmfPlusRecordTypeSetTSClip, + EmfPlusRecordTotal, + EmfPlusRecordTypeMax = EmfPlusRecordTotal-1, + EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader +}; + +#ifndef __cplusplus + +typedef enum Unit Unit; +typedef enum BrushType BrushType; +typedef enum DriverStringOptions DriverStringOptions; +typedef enum FillMode FillMode; +typedef enum LineCap LineCap; +typedef enum PathPointType PathPointType; +typedef enum LineJoin LineJoin; +typedef enum QualityMode QualityMode; +typedef enum SmoothingMode SmoothingMode; +typedef enum CompositingQuality CompositingQuality; +typedef enum InterpolationMode InterpolationMode; +typedef enum PixelOffsetMode PixelOffsetMode; +typedef enum DashCap DashCap; +typedef enum DashStyle DashStyle; +typedef enum MatrixOrder MatrixOrder; +typedef enum ImageType ImageType; +typedef enum ImageFlags ImageFlags; +typedef enum WarpMode WarpMode; +typedef enum WrapMode WrapMode; +typedef enum MetafileType MetafileType; +typedef enum LinearGradientMode LinearGradientMode; +typedef enum EmfType EmfType; +typedef enum CompositingMode CompositingMode; +typedef enum TextRenderingHint TextRenderingHint; +typedef enum StringAlignment StringAlignment; +typedef enum StringDigitSubstitute StringDigitSubstitute; +typedef enum StringTrimming StringTrimming; +typedef enum FontStyle FontStyle; +typedef enum StringFormatFlags StringFormatFlags; +typedef enum HotkeyPrefix HotkeyPrefix; +typedef enum PenAlignment PenAlignment; +typedef enum PaletteFlags PaletteFlags; +typedef enum ImageCodecFlags ImageCodecFlags; +typedef enum CombineMode CombineMode; +typedef enum FlushIntention FlushIntention; +typedef enum CoordinateSpace CoordinateSpace; +typedef enum GpTestControlEnum GpTestControlEnum; +typedef enum MetafileFrameUnit MetafileFrameUnit; +typedef enum PenType PenType; +typedef enum HatchStyle HatchStyle; +typedef enum EmfPlusRecordType EmfPlusRecordType; + +#endif /* end of c typedefs */ + +#undef GDIP_WMF_RECORD_TO_EMFPLUS +#define GDIP_WMF_RECORD_TO_EMFPLUS(x) ((EmfPlusRecordType)((x)|GDIP_WMF_RECORD_BASE)) + +#endif diff --git a/external/gdiplus/include/gdiplusflat.h b/external/gdiplus/include/gdiplusflat.h new file mode 100644 index 000000000000..679200429372 --- /dev/null +++ b/external/gdiplus/include/gdiplusflat.h @@ -0,0 +1,731 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _FLATAPI_H +#define _FLATAPI_H + +#define WINGDIPAPI __stdcall + +#define GDIPCONST const + +#ifdef __cplusplus +extern "C" { +#endif + +/* AdjustableArrowCap */ +GpStatus WINGDIPAPI GdipCreateAdjustableArrowCap(REAL,REAL,BOOL,GpAdjustableArrowCap**); +GpStatus WINGDIPAPI GdipGetAdjustableArrowCapFillState(GpAdjustableArrowCap*,BOOL*); +GpStatus WINGDIPAPI GdipGetAdjustableArrowCapHeight(GpAdjustableArrowCap*,REAL*); +GpStatus WINGDIPAPI GdipGetAdjustableArrowCapMiddleInset(GpAdjustableArrowCap*,REAL*); +GpStatus WINGDIPAPI GdipGetAdjustableArrowCapWidth(GpAdjustableArrowCap*,REAL*); +GpStatus WINGDIPAPI GdipSetAdjustableArrowCapFillState(GpAdjustableArrowCap*,BOOL); +GpStatus WINGDIPAPI GdipSetAdjustableArrowCapHeight(GpAdjustableArrowCap*,REAL); +GpStatus WINGDIPAPI GdipSetAdjustableArrowCapMiddleInset(GpAdjustableArrowCap*,REAL); +GpStatus WINGDIPAPI GdipSetAdjustableArrowCapWidth(GpAdjustableArrowCap*,REAL); + +/* Bitmap */ +GpStatus WINGDIPAPI GdipBitmapApplyEffect(GpBitmap*,CGpEffect*,RECT*,BOOL,VOID**,INT*); +GpStatus WINGDIPAPI GdipBitmapCreateApplyEffect(GpBitmap**,INT,CGpEffect*,RECT*,RECT*,GpBitmap**,BOOL,VOID**,INT*); +GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap*,INT,INT,ARGB*); +GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap*,GDIPCONST GpRect*,UINT, + PixelFormat,BitmapData*); +GpStatus WINGDIPAPI GdipBitmapSetPixel(GpBitmap*,INT,INT,ARGB); +GpStatus WINGDIPAPI GdipBitmapSetResolution(GpBitmap*,REAL,REAL); +GpStatus WINGDIPAPI GdipBitmapUnlockBits(GpBitmap*,BitmapData*); +GpStatus WINGDIPAPI GdipCloneBitmapArea(REAL,REAL,REAL,REAL,PixelFormat,GpBitmap*,GpBitmap**); +GpStatus WINGDIPAPI GdipCloneBitmapAreaI(INT,INT,INT,INT,PixelFormat,GpBitmap*,GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR*,GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromFileICM(GDIPCONST WCHAR*,GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromGdiDib(GDIPCONST BITMAPINFO*,VOID*,GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT,INT,GpGraphics*,GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromHBITMAP(HBITMAP, HPALETTE, GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromHICON(HICON, GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromResource(HINSTANCE,GDIPCONST WCHAR*,GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT,INT,INT,PixelFormat,BYTE*, + GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromStream(IStream*,GpBitmap**); +GpStatus WINGDIPAPI GdipCreateBitmapFromStreamICM(IStream*,GpBitmap**); +GpStatus WINGDIPAPI GdipCreateHBITMAPFromBitmap(GpBitmap*,HBITMAP*,ARGB); +GpStatus WINGDIPAPI GdipCreateHICONFromBitmap(GpBitmap*,HICON*); +GpStatus WINGDIPAPI GdipDeleteEffect(CGpEffect*); +GpStatus WINGDIPAPI GdipSetEffectParameters(CGpEffect*,const VOID*,const UINT); + +/* Brush */ +GpStatus WINGDIPAPI GdipCloneBrush(GpBrush*,GpBrush**); +GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*); +GpStatus WINGDIPAPI GdipGetBrushType(GpBrush*,GpBrushType*); + +/* CachedBitmap */ +GpStatus WINGDIPAPI GdipCreateCachedBitmap(GpBitmap*,GpGraphics*, + GpCachedBitmap**); +GpStatus WINGDIPAPI GdipDeleteCachedBitmap(GpCachedBitmap*); +GpStatus WINGDIPAPI GdipDrawCachedBitmap(GpGraphics*,GpCachedBitmap*,INT,INT); + +/* CustomLineCap */ +GpStatus WINGDIPAPI GdipCloneCustomLineCap(GpCustomLineCap*,GpCustomLineCap**); +GpStatus WINGDIPAPI GdipCreateCustomLineCap(GpPath*,GpPath*,GpLineCap,REAL, + GpCustomLineCap**); +GpStatus WINGDIPAPI GdipDeleteCustomLineCap(GpCustomLineCap*); +GpStatus WINGDIPAPI GdipGetCustomLineCapBaseCap(GpCustomLineCap*,GpLineCap*); +GpStatus WINGDIPAPI GdipSetCustomLineCapBaseCap(GpCustomLineCap*,GpLineCap); +GpStatus WINGDIPAPI GdipGetCustomLineCapBaseInset(GpCustomLineCap*,REAL*); +GpStatus WINGDIPAPI GdipSetCustomLineCapBaseInset(GpCustomLineCap*,REAL); +GpStatus WINGDIPAPI GdipSetCustomLineCapStrokeCaps(GpCustomLineCap*,GpLineCap, + GpLineCap); +GpStatus WINGDIPAPI GdipGetCustomLineCapStrokeJoin(GpCustomLineCap*,GpLineJoin*); +GpStatus WINGDIPAPI GdipSetCustomLineCapStrokeJoin(GpCustomLineCap*,GpLineJoin); +GpStatus WINGDIPAPI GdipGetCustomLineCapWidthScale(GpCustomLineCap*,REAL*); +GpStatus WINGDIPAPI GdipSetCustomLineCapWidthScale(GpCustomLineCap*,REAL); +GpStatus WINGDIPAPI GdipSetCustomLineCapBaseInset(GpCustomLineCap*,REAL); + +/* Font */ +GpStatus WINGDIPAPI GdipCloneFont(GpFont*,GpFont**); +GpStatus WINGDIPAPI GdipCreateFont(GDIPCONST GpFontFamily*, REAL, INT, Unit, + GpFont**); +GpStatus WINGDIPAPI GdipCreateFontFromDC(HDC,GpFont**); +GpStatus WINGDIPAPI GdipCreateFontFromLogfontA(HDC,GDIPCONST LOGFONTA*,GpFont**); +GpStatus WINGDIPAPI GdipCreateFontFromLogfontW(HDC,GDIPCONST LOGFONTW*,GpFont**); +GpStatus WINGDIPAPI GdipDeleteFont(GpFont*); +GpStatus WINGDIPAPI GdipGetLogFontA(GpFont*,GpGraphics*,LOGFONTA*); +GpStatus WINGDIPAPI GdipGetLogFontW(GpFont*,GpGraphics*,LOGFONTW*); +GpStatus WINGDIPAPI GdipGetFamily(GpFont*, GpFontFamily**); +GpStatus WINGDIPAPI GdipGetFontUnit(GpFont*, Unit*); +GpStatus WINGDIPAPI GdipGetFontSize(GpFont*, REAL*); +GpStatus WINGDIPAPI GdipGetFontStyle(GpFont*, INT*); +GpStatus WINGDIPAPI GdipGetFontHeight(GDIPCONST GpFont*, GDIPCONST GpGraphics*, + REAL*); +GpStatus WINGDIPAPI GdipGetFontHeightGivenDPI(GDIPCONST GpFont*, REAL, REAL*); + +/* FontCollection */ +GpStatus WINGDIPAPI GdipNewInstalledFontCollection(GpFontCollection**); +GpStatus WINGDIPAPI GdipNewPrivateFontCollection(GpFontCollection**); +GpStatus WINGDIPAPI GdipDeletePrivateFontCollection(GpFontCollection**); +GpStatus WINGDIPAPI GdipPrivateAddFontFile(GpFontCollection*, GDIPCONST WCHAR*); +GpStatus WINGDIPAPI GdipPrivateAddMemoryFont(GpFontCollection*, + GDIPCONST void*,INT); +GpStatus WINGDIPAPI GdipGetFontCollectionFamilyCount(GpFontCollection*, INT*); +GpStatus WINGDIPAPI GdipGetFontCollectionFamilyList(GpFontCollection*, INT, + GpFontFamily*[], INT*); + +/* FontFamily */ +GpStatus WINGDIPAPI GdipCloneFontFamily(GpFontFamily*, GpFontFamily**); +GpStatus WINGDIPAPI GdipCreateFontFamilyFromName(GDIPCONST WCHAR*, + GpFontCollection*, GpFontFamily**); +GpStatus WINGDIPAPI GdipDeleteFontFamily(GpFontFamily*); +GpStatus WINGDIPAPI GdipGetFamilyName(GDIPCONST GpFontFamily*, WCHAR*, LANGID); +GpStatus WINGDIPAPI GdipGetCellAscent(GDIPCONST GpFontFamily*, INT, UINT16*); +GpStatus WINGDIPAPI GdipGetCellDescent(GDIPCONST GpFontFamily*, INT, UINT16*); +GpStatus WINGDIPAPI GdipGetEmHeight(GDIPCONST GpFontFamily*, INT, UINT16*); +GpStatus WINGDIPAPI GdipGetGenericFontFamilySansSerif(GpFontFamily**); +GpStatus WINGDIPAPI GdipGetGenericFontFamilySerif(GpFontFamily**); +GpStatus WINGDIPAPI GdipGetGenericFontFamilyMonospace(GpFontFamily**); +GpStatus WINGDIPAPI GdipGetLineSpacing(GDIPCONST GpFontFamily*, INT, UINT16*); +GpStatus WINGDIPAPI GdipIsStyleAvailable(GDIPCONST GpFontFamily *, INT, BOOL*); + +/* Graphics */ +GpStatus WINGDIPAPI GdipFlush(GpGraphics*, GpFlushIntention); +GpStatus WINGDIPAPI GdipBeginContainer(GpGraphics*,GDIPCONST GpRectF*,GDIPCONST GpRectF*,GpUnit,GraphicsContainer*); +GpStatus WINGDIPAPI GdipBeginContainer2(GpGraphics*,GraphicsContainer*); +GpStatus WINGDIPAPI GdipBeginContainerI(GpGraphics*,GDIPCONST GpRect*,GDIPCONST GpRect*,GpUnit,GraphicsContainer*); +GpStatus WINGDIPAPI GdipEndContainer(GpGraphics*,GraphicsContainer); +GpStatus WINGDIPAPI GdipComment(GpGraphics*,UINT,GDIPCONST BYTE*); +GpStatus WINGDIPAPI GdipCreateFromHDC(HDC,GpGraphics**); +GpStatus WINGDIPAPI GdipCreateFromHDC2(HDC,HANDLE,GpGraphics**); +GpStatus WINGDIPAPI GdipCreateFromHWND(HWND,GpGraphics**); +GpStatus WINGDIPAPI GdipCreateFromHWNDICM(HWND,GpGraphics**); +HPALETTE WINGDIPAPI GdipCreateHalftonePalette(void); +GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics *); +GpStatus WINGDIPAPI GdipDrawArc(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawArcI(GpGraphics*,GpPen*,INT,INT,INT,INT,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawBezier(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawBezierI(GpGraphics*,GpPen*,INT,INT,INT,INT,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipDrawBeziers(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipDrawBeziersI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipDrawClosedCurve(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipDrawClosedCurveI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipDrawClosedCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL); +GpStatus WINGDIPAPI GdipDrawClosedCurve2I(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT,REAL); +GpStatus WINGDIPAPI GdipDrawCurve(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipDrawCurveI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL); +GpStatus WINGDIPAPI GdipDrawCurve2I(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT,REAL); +GpStatus WINGDIPAPI GdipDrawCurve3(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,INT,INT,REAL); +GpStatus WINGDIPAPI GdipDrawCurve3I(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT,INT,INT,REAL); +GpStatus WINGDIPAPI GdipDrawDriverString(GpGraphics*,GDIPCONST UINT16*,INT, + GDIPCONST GpFont*,GDIPCONST GpBrush*,GDIPCONST PointF*,INT,GDIPCONST GpMatrix*); +GpStatus WINGDIPAPI GdipDrawEllipse(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawEllipseI(GpGraphics*,GpPen*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipDrawImage(GpGraphics*,GpImage*,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawImageI(GpGraphics*,GpImage*,INT,INT); +GpStatus WINGDIPAPI GdipDrawImagePointRect(GpGraphics*,GpImage*,REAL,REAL,REAL,REAL,REAL,REAL,GpUnit); +GpStatus WINGDIPAPI GdipDrawImagePointRectI(GpGraphics*,GpImage*,INT,INT,INT,INT,INT,INT,GpUnit); +GpStatus WINGDIPAPI GdipDrawImagePoints(GpGraphics*,GpImage*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipDrawImagePointsI(GpGraphics*,GpImage*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics*,GpImage*, + GDIPCONST GpPointF*,INT,REAL,REAL,REAL,REAL,GpUnit, + GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*); +GpStatus WINGDIPAPI GdipDrawImagePointsRectI(GpGraphics*,GpImage*, + GDIPCONST GpPoint*,INT,INT,INT,INT,INT,GpUnit, + GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*); +GpStatus WINGDIPAPI GdipDrawImageRect(GpGraphics*,GpImage*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawImageRectI(GpGraphics*,GpImage*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipDrawImageRectRect(GpGraphics*,GpImage*,REAL,REAL,REAL, + REAL,REAL,REAL,REAL,REAL,GpUnit,GDIPCONST GpImageAttributes*,DrawImageAbort, + VOID*); +GpStatus WINGDIPAPI GdipDrawImageRectRectI(GpGraphics*,GpImage*,INT,INT,INT, + INT,INT,INT,INT,INT,GpUnit,GDIPCONST GpImageAttributes*,DrawImageAbort, + VOID*); +GpStatus WINGDIPAPI GdipDrawLine(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics*,GpPen*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipDrawLines(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipDrawLinesI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*); +GpStatus WINGDIPAPI GdipDrawPie(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawPieI(GpGraphics*,GpPen*,INT,INT,INT,INT,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawPolygon(GpGraphics*,GpPen*,GDIPCONST GpPointF*, INT); +GpStatus WINGDIPAPI GdipDrawPolygonI(GpGraphics*,GpPen*,GDIPCONST GpPoint*, INT); +GpStatus WINGDIPAPI GdipDrawRectangle(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics*,GpPen*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipDrawRectangles(GpGraphics*,GpPen*,GDIPCONST GpRectF*,INT); +GpStatus WINGDIPAPI GdipDrawRectanglesI(GpGraphics*,GpPen*,GDIPCONST GpRect*,INT); +GpStatus WINGDIPAPI GdipDrawString(GpGraphics*,GDIPCONST WCHAR*,INT, + GDIPCONST GpFont*,GDIPCONST RectF*, GDIPCONST GpStringFormat*, + GDIPCONST GpBrush*); +GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestPoints(GpGraphics*, + GDIPCONST GpMetafile*,GDIPCONST GpPointF*,INT,GDIPCONST GpRectF*,Unit, + EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*); +GpStatus WINGDIPAPI GdipFillClosedCurve2(GpGraphics*,GpBrush*,GDIPCONST GpPointF*,INT, + REAL,GpFillMode); +GpStatus WINGDIPAPI GdipFillClosedCurve2I(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT, + REAL,GpFillMode); +GpStatus WINGDIPAPI GdipFillClosedCurve(GpGraphics*,GpBrush*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipFillClosedCurveI(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipFillEllipse(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipFillEllipseI(GpGraphics*,GpBrush*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipFillPath(GpGraphics*,GpBrush*,GpPath*); +GpStatus WINGDIPAPI GdipFillPie(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipFillPieI(GpGraphics*,GpBrush*,INT,INT,INT,INT,REAL,REAL); +GpStatus WINGDIPAPI GdipFillPolygon(GpGraphics*,GpBrush*,GDIPCONST GpPointF*, + INT,GpFillMode); +GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics*,GpBrush*,GDIPCONST GpPoint*, + INT,GpFillMode); +GpStatus WINGDIPAPI GdipFillPolygon2(GpGraphics*,GpBrush*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipFillPolygon2I(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipFillRectangle(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipFillRectangleI(GpGraphics*,GpBrush*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipFillRectangles(GpGraphics*,GpBrush*,GDIPCONST GpRectF*,INT); +GpStatus WINGDIPAPI GdipFillRectanglesI(GpGraphics*,GpBrush*,GDIPCONST GpRect*,INT); +GpStatus WINGDIPAPI GdipFillRegion(GpGraphics*,GpBrush*,GpRegion*); +GpStatus WINGDIPAPI GdipGetClip(GpGraphics*,GpRegion*); +GpStatus WINGDIPAPI GdipGetClipBounds(GpGraphics*,GpRectF*); +GpStatus WINGDIPAPI GdipGetClipBoundsI(GpGraphics*,GpRect*); +GpStatus WINGDIPAPI GdipGetCompositingMode(GpGraphics*,CompositingMode*); +GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*); +GpStatus WINGDIPAPI GdipGetDC(GpGraphics*,HDC*); +GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics*,REAL*); +GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics*,REAL*); +GpStatus WINGDIPAPI GdipGetImageDecoders(UINT,UINT,ImageCodecInfo*); +GpStatus WINGDIPAPI GdipGetImageDecodersSize(UINT*,UINT*); +GpStatus WINGDIPAPI GdipGetImageGraphicsContext(GpImage*,GpGraphics**); +GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*); +GpStatus WINGDIPAPI GdipGetNearestColor(GpGraphics*,ARGB*); +GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics*,REAL*); +GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics*,GpUnit*); +GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*); +GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics*,SmoothingMode*); +GpStatus WINGDIPAPI GdipGetTextContrast(GpGraphics*,UINT*); +GpStatus WINGDIPAPI GdipGetTextRenderingHint(GpGraphics*,TextRenderingHint*); +GpStatus WINGDIPAPI GdipGetWorldTransform(GpGraphics*,GpMatrix*); +GpStatus WINGDIPAPI GdipGraphicsClear(GpGraphics*,ARGB); +GpStatus WINGDIPAPI GdipGetVisibleClipBounds(GpGraphics*,GpRectF*); +GpStatus WINGDIPAPI GdipGetVisibleClipBoundsI(GpGraphics*,GpRect*); +GpStatus WINGDIPAPI GdipIsClipEmpty(GpGraphics*, BOOL*); +GpStatus WINGDIPAPI GdipIsVisiblePoint(GpGraphics*,REAL,REAL,BOOL*); +GpStatus WINGDIPAPI GdipIsVisiblePointI(GpGraphics*,INT,INT,BOOL*); +GpStatus WINGDIPAPI GdipIsVisibleRect(GpGraphics*,REAL,REAL,REAL,REAL,BOOL*); +GpStatus WINGDIPAPI GdipIsVisibleRectI(GpGraphics*,INT,INT,INT,INT,BOOL*); +GpStatus WINGDIPAPI GdipMeasureCharacterRanges(GpGraphics*, GDIPCONST WCHAR*, + INT, GDIPCONST GpFont*, GDIPCONST RectF*, GDIPCONST GpStringFormat*, INT, + GpRegion**); +GpStatus WINGDIPAPI GdipMeasureDriverString(GpGraphics*,GDIPCONST UINT16*,INT, + GDIPCONST GpFont*,GDIPCONST PointF*,INT,GDIPCONST GpMatrix*,RectF*); +GpStatus WINGDIPAPI GdipMeasureString(GpGraphics*,GDIPCONST WCHAR*,INT, + GDIPCONST GpFont*,GDIPCONST RectF*,GDIPCONST GpStringFormat*,RectF*,INT*,INT*); +GpStatus WINGDIPAPI GdipMultiplyWorldTransform(GpGraphics*,GDIPCONST GpMatrix*,GpMatrixOrder); +GpStatus WINGDIPAPI GdipRecordMetafileFileName(GDIPCONST WCHAR*,HDC,EmfType, + GDIPCONST GpRectF*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**); +GpStatus WINGDIPAPI GdipRecordMetafileFileNameI(GDIPCONST WCHAR*,HDC,EmfType, + GDIPCONST GpRect*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**); +GpStatus WINGDIPAPI GdipRecordMetafileI(HDC,EmfType,GDIPCONST GpRect*, + MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**); +GpStatus WINGDIPAPI GdipReleaseDC(GpGraphics*,HDC); +GpStatus WINGDIPAPI GdipResetClip(GpGraphics*); +GpStatus WINGDIPAPI GdipResetWorldTransform(GpGraphics*); +GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics*,GraphicsState); +GpStatus WINGDIPAPI GdipRotateWorldTransform(GpGraphics*,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics*,GraphicsState*); +GpStatus WINGDIPAPI GdipScaleWorldTransform(GpGraphics*,REAL,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipSetClipHrgn(GpGraphics*,HRGN,CombineMode); +GpStatus WINGDIPAPI GdipSetClipGraphics(GpGraphics*,GpGraphics*,CombineMode); +GpStatus WINGDIPAPI GdipSetClipPath(GpGraphics*,GpPath*,CombineMode); +GpStatus WINGDIPAPI GdipSetClipRect(GpGraphics*,REAL,REAL,REAL,REAL,CombineMode); +GpStatus WINGDIPAPI GdipSetClipRectI(GpGraphics*,INT,INT,INT,INT,CombineMode); +GpStatus WINGDIPAPI GdipSetClipRegion(GpGraphics*,GpRegion*,CombineMode); +GpStatus WINGDIPAPI GdipSetCompositingMode(GpGraphics*,CompositingMode); +GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics*,CompositingQuality); +GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics*,InterpolationMode); +GpStatus WINGDIPAPI GdipSetPageScale(GpGraphics*,REAL); +GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics*,GpUnit); +GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics*,PixelOffsetMode); +GpStatus WINGDIPAPI GdipSetRenderingOrigin(GpGraphics*,INT,INT); +GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics*,SmoothingMode); +GpStatus WINGDIPAPI GdipSetTextContrast(GpGraphics*,UINT); +GpStatus WINGDIPAPI GdipSetTextRenderingHint(GpGraphics*,TextRenderingHint); +GpStatus WINGDIPAPI GdipSetWorldTransform(GpGraphics*,GpMatrix*); +GpStatus WINGDIPAPI GdipTransformPoints(GpGraphics*, GpCoordinateSpace, GpCoordinateSpace, + GpPointF *, INT); +GpStatus WINGDIPAPI GdipTransformPointsI(GpGraphics*, GpCoordinateSpace, GpCoordinateSpace, + GpPoint *, INT); +GpStatus WINGDIPAPI GdipTranslateClip(GpGraphics*,REAL,REAL); +GpStatus WINGDIPAPI GdipTranslateClipI(GpGraphics*,INT,INT); +GpStatus WINGDIPAPI GdipTranslateWorldTransform(GpGraphics*,REAL,REAL,GpMatrixOrder); + +/* GraphicsPath */ +GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathArcI(GpPath*,INT,INT,INT,INT,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathBezier(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath*,INT,INT,INT,INT,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipAddPathBeziersI(GpPath*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipAddPathClosedCurve(GpPath*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipAddPathClosedCurveI(GpPath*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipAddPathClosedCurve2(GpPath*,GDIPCONST GpPointF*,INT,REAL); +GpStatus WINGDIPAPI GdipAddPathClosedCurve2I(GpPath*,GDIPCONST GpPoint*,INT,REAL); +GpStatus WINGDIPAPI GdipAddPathCurve(GpPath*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipAddPathCurveI(GpPath*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipAddPathCurve2(GpPath*,GDIPCONST GpPointF*,INT,REAL); +GpStatus WINGDIPAPI GdipAddPathCurve2I(GpPath*,GDIPCONST GpPoint*,INT,REAL); +GpStatus WINGDIPAPI GdipAddPathCurve3(GpPath*,GDIPCONST GpPointF*,INT,INT,INT,REAL); +GpStatus WINGDIPAPI GdipAddPathCurve3I(GpPath*,GDIPCONST GpPoint*,INT,INT,INT,REAL); +GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathEllipseI(GpPath*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipAddPathLine(GpPath*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathLineI(GpPath*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipAddPathLine2I(GpPath*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipAddPathPath(GpPath*,GDIPCONST GpPath*,BOOL); +GpStatus WINGDIPAPI GdipAddPathPie(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathPieI(GpPath*,INT,INT,INT,INT,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathPolygon(GpPath*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipAddPathPolygonI(GpPath*,GDIPCONST GpPoint*,INT); +GpStatus WINGDIPAPI GdipAddPathRectangle(GpPath*,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipAddPathRectangleI(GpPath*,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipAddPathRectangles(GpPath*,GDIPCONST GpRectF*,INT); +GpStatus WINGDIPAPI GdipAddPathRectanglesI(GpPath*,GDIPCONST GpRect*,INT); +GpStatus WINGDIPAPI GdipAddPathString(GpPath*,GDIPCONST WCHAR*,INT,GDIPCONST GpFontFamily*,INT,REAL,GDIPCONST RectF*,GDIPCONST GpStringFormat*); +GpStatus WINGDIPAPI GdipAddPathStringI(GpPath*,GDIPCONST WCHAR*,INT,GDIPCONST GpFontFamily*,INT,REAL,GDIPCONST Rect*,GDIPCONST GpStringFormat*); +GpStatus WINGDIPAPI GdipClearPathMarkers(GpPath*); +GpStatus WINGDIPAPI GdipClonePath(GpPath*,GpPath**); +GpStatus WINGDIPAPI GdipClosePathFigure(GpPath*); +GpStatus WINGDIPAPI GdipClosePathFigures(GpPath*); +GpStatus WINGDIPAPI GdipCreatePath(GpFillMode,GpPath**); +GpStatus WINGDIPAPI GdipCreatePath2(GDIPCONST GpPointF*,GDIPCONST BYTE*,INT, + GpFillMode,GpPath**); +GpStatus WINGDIPAPI GdipCreatePath2I(GDIPCONST GpPoint*,GDIPCONST BYTE*,INT,GpFillMode,GpPath**); +GpStatus WINGDIPAPI GdipDeletePath(GpPath*); +GpStatus WINGDIPAPI GdipFlattenPath(GpPath*,GpMatrix*,REAL); +GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPoint(GpPath*,REAL,REAL,GpPen*, + GpGraphics*,BOOL*); +GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPointI(GpPath*,INT,INT,GpPen*, + GpGraphics*,BOOL*); +GpStatus WINGDIPAPI GdipIsVisiblePathPoint(GpPath*,REAL,REAL,GpGraphics*,BOOL*); +GpStatus WINGDIPAPI GdipIsVisiblePathPointI(GpPath*,INT,INT,GpGraphics*,BOOL*); +GpStatus WINGDIPAPI GdipGetPathData(GpPath*,GpPathData*); +GpStatus WINGDIPAPI GdipGetPathFillMode(GpPath*,GpFillMode*); +GpStatus WINGDIPAPI GdipGetPathLastPoint(GpPath*,GpPointF*); +GpStatus WINGDIPAPI GdipGetPathPoints(GpPath*,GpPointF*,INT); +GpStatus WINGDIPAPI GdipGetPathPointsI(GpPath*,GpPoint*,INT); +GpStatus WINGDIPAPI GdipGetPathTypes(GpPath*,BYTE*,INT); +GpStatus WINGDIPAPI GdipGetPathWorldBounds(GpPath*,GpRectF*,GDIPCONST GpMatrix*,GDIPCONST GpPen*); +GpStatus WINGDIPAPI GdipGetPathWorldBoundsI(GpPath*,GpRect*,GDIPCONST GpMatrix*,GDIPCONST GpPen*); +GpStatus WINGDIPAPI GdipGetPointCount(GpPath*,INT*); +GpStatus WINGDIPAPI GdipResetPath(GpPath*); +GpStatus WINGDIPAPI GdipReversePath(GpPath*); +GpStatus WINGDIPAPI GdipSetPathFillMode(GpPath*,GpFillMode); +GpStatus WINGDIPAPI GdipSetPathMarker(GpPath*); +GpStatus WINGDIPAPI GdipStartPathFigure(GpPath*); +GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*); +GpStatus WINGDIPAPI GdipWarpPath(GpPath*,GpMatrix*,GDIPCONST GpPointF*,INT,REAL, + REAL,REAL,REAL,WarpMode,REAL); +GpStatus WINGDIPAPI GdipWidenPath(GpPath*,GpPen*,GpMatrix*,REAL); + +/* HatchBrush */ +GpStatus WINGDIPAPI GdipCreateHatchBrush(HatchStyle,ARGB,ARGB,GpHatch**); +GpStatus WINGDIPAPI GdipGetHatchBackgroundColor(GpHatch*,ARGB*); +GpStatus WINGDIPAPI GdipGetHatchForegroundColor(GpHatch*,ARGB*); +GpStatus WINGDIPAPI GdipGetHatchStyle(GpHatch*,HatchStyle*); + +/* Image */ +GpStatus WINGDIPAPI GdipCloneImage(GpImage*, GpImage**); +GpStatus WINGDIPAPI GdipCloneImageAttributes(GDIPCONST GpImageAttributes*,GpImageAttributes**); +GpStatus WINGDIPAPI GdipDisposeImage(GpImage*); +GpStatus WINGDIPAPI GdipEmfToWmfBits(HENHMETAFILE,UINT,LPBYTE,INT,INT); +GpStatus WINGDIPAPI GdipFindFirstImageItem(GpImage*,ImageItemData*); +GpStatus WINGDIPAPI GdipFindNextImageItem(GpImage*,ImageItemData*); +GpStatus WINGDIPAPI GdipGetAllPropertyItems(GpImage*,UINT,UINT,PropertyItem*); +GpStatus WINGDIPAPI GdipGetImageBounds(GpImage*,GpRectF*,GpUnit*); +GpStatus WINGDIPAPI GdipGetImageDimension(GpImage*,REAL*,REAL*); +GpStatus WINGDIPAPI GdipGetImageFlags(GpImage*,UINT*); +GpStatus WINGDIPAPI GdipGetImageHeight(GpImage*,UINT*); +GpStatus WINGDIPAPI GdipGetImageHorizontalResolution(GpImage*,REAL*); +GpStatus WINGDIPAPI GdipGetImageItemData(GpImage*,ImageItemData*); +GpStatus WINGDIPAPI GdipGetImagePalette(GpImage*,ColorPalette*,INT); +GpStatus WINGDIPAPI GdipGetImagePaletteSize(GpImage*,INT*); +GpStatus WINGDIPAPI GdipGetImagePixelFormat(GpImage*,PixelFormat*); +GpStatus WINGDIPAPI GdipGetImageRawFormat(GpImage*,GUID*); +GpStatus WINGDIPAPI GdipGetImageThumbnail(GpImage*,UINT,UINT,GpImage**,GetThumbnailImageAbort,VOID*); +GpStatus WINGDIPAPI GdipGetImageType(GpImage*,ImageType*); +GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage*,REAL*); +GpStatus WINGDIPAPI GdipGetImageWidth(GpImage*,UINT*); +GpStatus WINGDIPAPI GdipGetPropertyCount(GpImage*,UINT*); +GpStatus WINGDIPAPI GdipGetPropertyIdList(GpImage*,UINT,PROPID*); +GpStatus WINGDIPAPI GdipGetPropertyItem(GpImage*,PROPID,UINT,PropertyItem*); +GpStatus WINGDIPAPI GdipGetPropertyItemSize(GpImage*,PROPID,UINT*); +GpStatus WINGDIPAPI GdipGetPropertySize(GpImage*,UINT*,UINT*); +GpStatus WINGDIPAPI GdipImageForceValidation(GpImage*); +GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*); +GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage*,UINT*); +GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList(GpImage*,GUID*,UINT); +GpStatus WINGDIPAPI GdipImageRotateFlip(GpImage*,RotateFlipType); +GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage*,GDIPCONST GUID*,UINT); +GpStatus WINGDIPAPI GdipLoadImageFromFile(GDIPCONST WCHAR*,GpImage**); +GpStatus WINGDIPAPI GdipLoadImageFromFileICM(GDIPCONST WCHAR*,GpImage**); +GpStatus WINGDIPAPI GdipLoadImageFromStream(IStream*,GpImage**); +GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream*,GpImage**); +GpStatus WINGDIPAPI GdipRemovePropertyItem(GpImage*,PROPID); +GpStatus WINGDIPAPI GdipSaveImageToFile(GpImage*,GDIPCONST WCHAR*,GDIPCONST CLSID*,GDIPCONST EncoderParameters*); +GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage*,IStream*, + GDIPCONST CLSID*,GDIPCONST EncoderParameters*); +GpStatus WINGDIPAPI GdipSetImagePalette(GpImage*,GDIPCONST ColorPalette*); +GpStatus WINGDIPAPI GdipSetPropertyItem(GpImage*,GDIPCONST PropertyItem*); + +/* ImageAttributes */ +GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**); +GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*); +GpStatus WINGDIPAPI GdipSetImageAttributesCachedBackground(GpImageAttributes*, + BOOL); +GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys(GpImageAttributes*, + ColorAdjustType,BOOL,ARGB,ARGB); +GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix(GpImageAttributes*, + ColorAdjustType,BOOL,GDIPCONST ColorMatrix*,GDIPCONST ColorMatrix*, + ColorMatrixFlags); +GpStatus WINGDIPAPI GdipSetImageAttributesGamma(GpImageAttributes*, + ColorAdjustType,BOOL,REAL); +GpStatus WINGDIPAPI GdipSetImageAttributesNoOp(GpImageAttributes*, + ColorAdjustType,BOOL); +GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannel(GpImageAttributes*, + ColorAdjustType,BOOL,ColorChannelFlags); +GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannelColorProfile( + GpImageAttributes*,ColorAdjustType,BOOL,GDIPCONST WCHAR*); +GpStatus WINGDIPAPI GdipSetImageAttributesRemapTable(GpImageAttributes*, + ColorAdjustType,BOOL,UINT,GDIPCONST ColorMap*); +GpStatus WINGDIPAPI GdipSetImageAttributesThreshold(GpImageAttributes*, + ColorAdjustType,BOOL,REAL); +GpStatus WINGDIPAPI GdipSetImageAttributesToIdentity(GpImageAttributes*, + ColorAdjustType); +GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode(GpImageAttributes*,WrapMode, + ARGB,BOOL); + +/* LinearGradientBrush */ +GpStatus WINGDIPAPI GdipCreateLineBrush(GDIPCONST GpPointF*,GDIPCONST GpPointF*, + ARGB,ARGB,GpWrapMode,GpLineGradient**); +GpStatus WINGDIPAPI GdipCreateLineBrushI(GDIPCONST GpPoint*,GDIPCONST GpPoint*, + ARGB,ARGB,GpWrapMode,GpLineGradient**); +GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF*,ARGB,ARGB, + LinearGradientMode,GpWrapMode,GpLineGradient**); +GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect*,ARGB,ARGB, + LinearGradientMode,GpWrapMode,GpLineGradient**); +GpStatus WINGDIPAPI GdipCreateLineBrushFromRectWithAngle(GDIPCONST GpRectF*, + ARGB,ARGB,REAL,BOOL,GpWrapMode,GpLineGradient**); +GpStatus WINGDIPAPI GdipCreateLineBrushFromRectWithAngleI(GDIPCONST GpRect*, + ARGB,ARGB,REAL,BOOL,GpWrapMode,GpLineGradient**); +GpStatus WINGDIPAPI GdipGetLineColors(GpLineGradient*,ARGB*); +GpStatus WINGDIPAPI GdipGetLineGammaCorrection(GpLineGradient*,BOOL*); +GpStatus WINGDIPAPI GdipGetLineRect(GpLineGradient*,GpRectF*); +GpStatus WINGDIPAPI GdipGetLineRectI(GpLineGradient*,GpRect*); +GpStatus WINGDIPAPI GdipGetLineWrapMode(GpLineGradient*,GpWrapMode*); +GpStatus WINGDIPAPI GdipSetLineBlend(GpLineGradient*,GDIPCONST REAL*, + GDIPCONST REAL*,INT); +GpStatus WINGDIPAPI GdipGetLineBlend(GpLineGradient*,REAL*,REAL*,INT); +GpStatus WINGDIPAPI GdipGetLineBlendCount(GpLineGradient*,INT*); +GpStatus WINGDIPAPI GdipSetLinePresetBlend(GpLineGradient*,GDIPCONST ARGB*, + GDIPCONST REAL*,INT); +GpStatus WINGDIPAPI GdipGetLinePresetBlend(GpLineGradient*,ARGB*,REAL*,INT); +GpStatus WINGDIPAPI GdipGetLinePresetBlendCount(GpLineGradient*,INT*); +GpStatus WINGDIPAPI GdipGetLineTransform(GpLineGradient*,GpMatrix*); +GpStatus WINGDIPAPI GdipResetLineTransform(GpLineGradient*); +GpStatus WINGDIPAPI GdipRotateLineTransform(GpLineGradient*,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipScaleLineTransform(GpLineGradient*,REAL,REAL, + GpMatrixOrder); +GpStatus WINGDIPAPI GdipSetLineColors(GpLineGradient*,ARGB,ARGB); +GpStatus WINGDIPAPI GdipSetLineGammaCorrection(GpLineGradient*,BOOL); +GpStatus WINGDIPAPI GdipSetLineSigmaBlend(GpLineGradient*,REAL,REAL); +GpStatus WINGDIPAPI GdipSetLineTransform(GpLineGradient*,GDIPCONST GpMatrix*); +GpStatus WINGDIPAPI GdipSetLineLinearBlend(GpLineGradient*,REAL,REAL); +GpStatus WINGDIPAPI GdipSetLineWrapMode(GpLineGradient*,GpWrapMode); +GpStatus WINGDIPAPI GdipTranslateLineTransform(GpLineGradient*,REAL,REAL, + GpMatrixOrder); + +/* Matrix */ +GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix*,GpMatrix**); +GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix**); +GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**); +GpStatus WINGDIPAPI GdipCreateMatrix3(GDIPCONST GpRectF *,GDIPCONST GpPointF*,GpMatrix**); +GpStatus WINGDIPAPI GdipCreateMatrix3I(GDIPCONST GpRect*,GDIPCONST GpPoint*,GpMatrix**); +GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*); +GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix*,REAL*); +GpStatus WINGDIPAPI GdipInvertMatrix(GpMatrix*); +GpStatus WINGDIPAPI GdipIsMatrixEqual(GDIPCONST GpMatrix*, GDIPCONST GpMatrix*, BOOL*); +GpStatus WINGDIPAPI GdipIsMatrixIdentity(GDIPCONST GpMatrix*, BOOL*); +GpStatus WINGDIPAPI GdipIsMatrixInvertible(GDIPCONST GpMatrix*, BOOL*); +GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix*,GDIPCONST GpMatrix*,GpMatrixOrder); +GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix*,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipShearMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix*,REAL,REAL,REAL,REAL,REAL,REAL); +GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix*,GpPointF*,INT); +GpStatus WINGDIPAPI GdipTransformMatrixPointsI(GpMatrix*,GpPoint*,INT); +GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix*,GpPointF*,INT); +GpStatus WINGDIPAPI GdipVectorTransformMatrixPointsI(GpMatrix*,GpPoint*,INT); + +/* Metafile */ +GpStatus WINGDIPAPI GdipConvertToEmfPlus(const GpGraphics*,GpMetafile*,INT*, + EmfType,const WCHAR*,GpMetafile**); +GpStatus WINGDIPAPI GdipConvertToEmfPlusToFile(const GpGraphics*,GpMetafile*,INT*,const WCHAR*,EmfType,const WCHAR*,GpMetafile**); +GpStatus WINGDIPAPI GdipConvertToEmfPlusToStream(const GpGraphics*,GpMetafile*,INT*,IStream*,EmfType,const WCHAR*,GpMetafile**); +GpStatus WINGDIPAPI GdipCreateMetafileFromEmf(HENHMETAFILE,BOOL,GpMetafile**); +GpStatus WINGDIPAPI GdipCreateMetafileFromWmf(HMETAFILE,BOOL, + GDIPCONST WmfPlaceableFileHeader*,GpMetafile**); +GpStatus WINGDIPAPI GdipCreateMetafileFromWmfFile(GDIPCONST WCHAR*, GDIPCONST WmfPlaceableFileHeader*, + GpMetafile**); +GpStatus WINGDIPAPI GdipCreateMetafileFromFile(GDIPCONST WCHAR*,GpMetafile**); +GpStatus WINGDIPAPI GdipCreateMetafileFromStream(IStream*,GpMetafile**); +GpStatus WINGDIPAPI GdipGetHemfFromMetafile(GpMetafile*,HENHMETAFILE*); +GpStatus WINGDIPAPI GdipPlayMetafileRecord(GDIPCONST GpMetafile*,EmfPlusRecordType,UINT,UINT,GDIPCONST BYTE*); +GpStatus WINGDIPAPI GdipSetMetafileDownLevelRasterizationLimit(GpMetafile*,UINT); +GpStatus WINGDIPAPI GdipRecordMetafile(HDC,EmfType,GDIPCONST GpRectF*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**); + +/* MetafileHeader */ +GpStatus WINGDIPAPI GdipGetMetafileHeaderFromEmf(HENHMETAFILE,MetafileHeader*); +GpStatus WINGDIPAPI GdipGetMetafileHeaderFromFile(GDIPCONST WCHAR*,MetafileHeader*); +GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile*,MetafileHeader*); +GpStatus WINGDIPAPI GdipGetMetafileHeaderFromStream(IStream*,MetafileHeader*); +GpStatus WINGDIPAPI GdipGetMetafileHeaderFromWmf(HMETAFILE,GDIPCONST WmfPlaceableFileHeader*,MetafileHeader*); + +/* Notification */ +GpStatus WINAPI GdiplusNotificationHook(ULONG_PTR*); +void WINAPI GdiplusNotificationUnhook(ULONG_PTR); + +/* PathGradientBrush */ +GpStatus WINGDIPAPI GdipCreatePathGradient(GDIPCONST GpPointF*,INT,GpWrapMode,GpPathGradient**); +GpStatus WINGDIPAPI GdipCreatePathGradientI(GDIPCONST GpPoint*,INT,GpWrapMode,GpPathGradient**); +GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath*, + GpPathGradient**); +GpStatus WINGDIPAPI GdipGetPathGradientBlend(GpPathGradient*,REAL*,REAL*,INT); +GpStatus WINGDIPAPI GdipGetPathGradientBlendCount(GpPathGradient*,INT*); +GpStatus WINGDIPAPI GdipGetPathGradientCenterColor(GpPathGradient*,ARGB*); +GpStatus WINGDIPAPI GdipGetPathGradientCenterPoint(GpPathGradient*,GpPointF*); +GpStatus WINGDIPAPI GdipGetPathGradientCenterPointI(GpPathGradient*,GpPoint*); +GpStatus WINGDIPAPI GdipGetPathGradientFocusScales(GpPathGradient*,REAL*,REAL*); +GpStatus WINGDIPAPI GdipGetPathGradientGammaCorrection(GpPathGradient*,BOOL*); +GpStatus WINGDIPAPI GdipGetPathGradientPointCount(GpPathGradient*,INT*); +GpStatus WINGDIPAPI GdipSetPathGradientPresetBlend(GpPathGradient*, + GDIPCONST ARGB*,GDIPCONST REAL*,INT); +GpStatus WINGDIPAPI GdipGetPathGradientRect(GpPathGradient*,GpRectF*); +GpStatus WINGDIPAPI GdipGetPathGradientRectI(GpPathGradient*,GpRect*); +GpStatus WINGDIPAPI GdipGetPathGradientSurroundColorsWithCount(GpPathGradient*, + ARGB*,INT*); +GpStatus WINGDIPAPI GdipGetPathGradientWrapMode(GpPathGradient*,GpWrapMode*); +GpStatus WINGDIPAPI GdipSetPathGradientBlend(GpPathGradient*,GDIPCONST REAL*,GDIPCONST REAL*,INT); +GpStatus WINGDIPAPI GdipSetPathGradientCenterColor(GpPathGradient*,ARGB); +GpStatus WINGDIPAPI GdipSetPathGradientCenterPoint(GpPathGradient*,GpPointF*); +GpStatus WINGDIPAPI GdipSetPathGradientCenterPointI(GpPathGradient*,GpPoint*); +GpStatus WINGDIPAPI GdipSetPathGradientFocusScales(GpPathGradient*,REAL,REAL); +GpStatus WINGDIPAPI GdipSetPathGradientGammaCorrection(GpPathGradient*,BOOL); +GpStatus WINGDIPAPI GdipSetPathGradientSigmaBlend(GpPathGradient*,REAL,REAL); +GpStatus WINGDIPAPI GdipSetPathGradientSurroundColorsWithCount(GpPathGradient*, + GDIPCONST ARGB*,INT*); +GpStatus WINGDIPAPI GdipSetPathGradientWrapMode(GpPathGradient*,GpWrapMode); +GpStatus WINGDIPAPI GdipGetPathGradientSurroundColorCount(GpPathGradient*,INT*); + +/* PathIterator */ +GpStatus WINGDIPAPI GdipCreatePathIter(GpPathIterator**,GpPath*); +GpStatus WINGDIPAPI GdipDeletePathIter(GpPathIterator*); +GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*, + INT,INT); +GpStatus WINGDIPAPI GdipPathIterGetCount(GpPathIterator*,INT*); +GpStatus WINGDIPAPI GdipPathIterGetSubpathCount(GpPathIterator*,INT*); +GpStatus WINGDIPAPI GdipPathIterEnumerate(GpPathIterator*,INT*,GpPointF*,BYTE*,INT); +GpStatus WINGDIPAPI GdipPathIterHasCurve(GpPathIterator*,BOOL*); +GpStatus WINGDIPAPI GdipPathIterIsValid(GpPathIterator*,BOOL*); +GpStatus WINGDIPAPI GdipPathIterNextMarker(GpPathIterator*,INT*,INT*,INT*); +GpStatus WINGDIPAPI GdipPathIterNextMarkerPath(GpPathIterator*,INT*,GpPath*); +GpStatus WINGDIPAPI GdipPathIterNextPathType(GpPathIterator*,INT*,BYTE*,INT*,INT*); +GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*); +GpStatus WINGDIPAPI GdipPathIterNextSubpathPath(GpPathIterator*,INT*,GpPath*,BOOL*); +GpStatus WINGDIPAPI GdipPathIterRewind(GpPathIterator*); + +/* Pen */ +GpStatus WINGDIPAPI GdipClonePen(GpPen*,GpPen**); +GpStatus WINGDIPAPI GdipCreatePen1(ARGB,REAL,GpUnit,GpPen**); +GpStatus WINGDIPAPI GdipCreatePen2(GpBrush*,REAL,GpUnit,GpPen**); +GpStatus WINGDIPAPI GdipDeletePen(GpPen*); +GpStatus WINGDIPAPI GdipGetPenBrushFill(GpPen*,GpBrush**); +GpStatus WINGDIPAPI GdipGetPenColor(GpPen*,ARGB*); +GpStatus WINGDIPAPI GdipGetPenCustomStartCap(GpPen*,GpCustomLineCap**); +GpStatus WINGDIPAPI GdipGetPenCustomEndCap(GpPen*,GpCustomLineCap**); +GpStatus WINGDIPAPI GdipGetPenDashArray(GpPen*,REAL*,INT); +GpStatus WINGDIPAPI GdipGetPenDashCount(GpPen*,INT*); +GpStatus WINGDIPAPI GdipGetPenDashOffset(GpPen*,REAL*); +GpStatus WINGDIPAPI GdipGetPenDashStyle(GpPen*,GpDashStyle*); +GpStatus WINGDIPAPI GdipGetPenMode(GpPen*,GpPenAlignment*); +GpStatus WINGDIPAPI GdipResetPenTransform(GpPen*); +GpStatus WINGDIPAPI GdipScalePenTransform(GpPen*,REAL,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen*,GpBrush*); +GpStatus WINGDIPAPI GdipSetPenColor(GpPen*,ARGB); +GpStatus WINGDIPAPI GdipSetPenCompoundArray(GpPen*,GDIPCONST REAL*,INT); +GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen*,GpCustomLineCap*); +GpStatus WINGDIPAPI GdipSetPenCustomStartCap(GpPen*,GpCustomLineCap*); +GpStatus WINGDIPAPI GdipSetPenDashArray(GpPen*,GDIPCONST REAL*,INT); +GpStatus WINGDIPAPI GdipSetPenDashCap197819(GpPen*,GpDashCap); +GpStatus WINGDIPAPI GdipSetPenDashOffset(GpPen*,REAL); +GpStatus WINGDIPAPI GdipSetPenDashStyle(GpPen*,GpDashStyle); +GpStatus WINGDIPAPI GdipSetPenEndCap(GpPen*,GpLineCap); +GpStatus WINGDIPAPI GdipGetPenFillType(GpPen*,GpPenType*); +GpStatus WINGDIPAPI GdipSetPenLineCap197819(GpPen*,GpLineCap,GpLineCap,GpDashCap); +GpStatus WINGDIPAPI GdipSetPenLineJoin(GpPen*,GpLineJoin); +GpStatus WINGDIPAPI GdipSetPenMode(GpPen*,GpPenAlignment); +GpStatus WINGDIPAPI GdipSetPenMiterLimit(GpPen*,REAL); +GpStatus WINGDIPAPI GdipSetPenStartCap(GpPen*,GpLineCap); +GpStatus WINGDIPAPI GdipSetPenWidth(GpPen*,REAL); +GpStatus WINGDIPAPI GdipGetPenDashCap197819(GpPen*,GpDashCap*); +GpStatus WINGDIPAPI GdipGetPenEndCap(GpPen*,GpLineCap*); +GpStatus WINGDIPAPI GdipGetPenLineJoin(GpPen*,GpLineJoin*); +GpStatus WINGDIPAPI GdipGetPenMiterLimit(GpPen*,REAL*); +GpStatus WINGDIPAPI GdipGetPenStartCap(GpPen*,GpLineCap*); +GpStatus WINGDIPAPI GdipGetPenUnit(GpPen*,GpUnit*); +GpStatus WINGDIPAPI GdipGetPenWidth(GpPen*,REAL*); + +/* Region */ +GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *, GpRegion **); +GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion *, GpPath *, CombineMode); +GpStatus WINGDIPAPI GdipCombineRegionRect(GpRegion *, GDIPCONST GpRectF *, CombineMode); +GpStatus WINGDIPAPI GdipCombineRegionRectI(GpRegion *, GDIPCONST GpRect *, CombineMode); +GpStatus WINGDIPAPI GdipCombineRegionRegion(GpRegion *, GpRegion *, CombineMode); +GpStatus WINGDIPAPI GdipCreateRegion(GpRegion **); +GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath *, GpRegion **); +GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *, GpRegion **); +GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect *, GpRegion **); +GpStatus WINGDIPAPI GdipCreateRegionRgnData(GDIPCONST BYTE *, INT, GpRegion **); +GpStatus WINGDIPAPI GdipCreateRegionHrgn(HRGN, GpRegion **); +GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion *); +GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion *, GpGraphics *, GpRectF *); +GpStatus WINGDIPAPI GdipGetRegionBoundsI(GpRegion *, GpGraphics *, GpRect *); +GpStatus WINGDIPAPI GdipGetRegionData(GpRegion *, BYTE *, UINT, UINT *); +GpStatus WINGDIPAPI GdipGetRegionDataSize(GpRegion *, UINT *); +GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *, GpGraphics *, HRGN *); +GpStatus WINGDIPAPI GdipGetRegionScans(GpRegion *, GpRectF *, INT *, GpMatrix *); +GpStatus WINGDIPAPI GdipGetRegionScansI(GpRegion *, GpRect *, INT *, GpMatrix *); +GpStatus WINGDIPAPI GdipGetRegionScansCount(GpRegion *, UINT *, GpMatrix *); +GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion *, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipIsEqualRegion(GpRegion *, GpRegion *, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipIsInfiniteRegion(GpRegion *, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipIsVisibleRegionPoint(GpRegion *, REAL, REAL, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipIsVisibleRegionPointI(GpRegion *, INT, INT, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipIsVisibleRegionRect(GpRegion *, REAL, REAL, REAL, REAL, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipIsVisibleRegionRectI(GpRegion *, INT, INT, INT, INT, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *); +GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *); +GpStatus WINGDIPAPI GdipTransformRegion(GpRegion *, GpMatrix *); +GpStatus WINGDIPAPI GdipTranslateRegion(GpRegion *, REAL, REAL); +GpStatus WINGDIPAPI GdipTranslateRegionI(GpRegion *, INT, INT); + +/* SolidBrush */ +GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**); +GpStatus WINGDIPAPI GdipGetSolidFillColor(GpSolidFill*,ARGB*); +GpStatus WINGDIPAPI GdipSetSolidFillColor(GpSolidFill*,ARGB); + +/* StringFormat */ +GpStatus WINGDIPAPI GdipCloneStringFormat(GDIPCONST GpStringFormat*,GpStringFormat**); +GpStatus WINGDIPAPI GdipCreateStringFormat(INT,LANGID,GpStringFormat**); +GpStatus WINGDIPAPI GdipDeleteStringFormat(GpStringFormat*); +GpStatus WINGDIPAPI GdipGetStringFormatAlign(GpStringFormat*,StringAlignment*); +GpStatus WINGDIPAPI GdipGetStringFormatDigitSubstitution(GDIPCONST GpStringFormat*,LANGID*, + StringDigitSubstitute*); +GpStatus WINGDIPAPI GdipGetStringFormatFlags(GDIPCONST GpStringFormat*, INT*); +GpStatus WINGDIPAPI GdipGetStringFormatHotkeyPrefix(GDIPCONST GpStringFormat*,INT*); +GpStatus WINGDIPAPI GdipGetStringFormatLineAlign(GpStringFormat*,StringAlignment*); +GpStatus WINGDIPAPI GdipGetStringFormatMeasurableCharacterRangeCount( + GDIPCONST GpStringFormat*, INT*); +GpStatus WINGDIPAPI GdipGetStringFormatTabStopCount(GDIPCONST GpStringFormat*,INT*); +GpStatus WINGDIPAPI GdipGetStringFormatTabStops(GDIPCONST GpStringFormat*,INT,REAL*,REAL*); +GpStatus WINGDIPAPI GdipGetStringFormatTrimming(GpStringFormat*,StringTrimming*); +GpStatus WINGDIPAPI GdipSetStringFormatAlign(GpStringFormat*,StringAlignment); +GpStatus WINGDIPAPI GdipSetStringFormatDigitSubstitution(GpStringFormat*,LANGID,StringDigitSubstitute); +GpStatus WINGDIPAPI GdipSetStringFormatHotkeyPrefix(GpStringFormat*,INT); +GpStatus WINGDIPAPI GdipSetStringFormatLineAlign(GpStringFormat*,StringAlignment); +GpStatus WINGDIPAPI GdipSetStringFormatMeasurableCharacterRanges( + GpStringFormat*, INT, GDIPCONST CharacterRange*); +GpStatus WINGDIPAPI GdipSetStringFormatTabStops(GpStringFormat*,REAL,INT,GDIPCONST REAL*); +GpStatus WINGDIPAPI GdipSetStringFormatTrimming(GpStringFormat*,StringTrimming); +GpStatus WINGDIPAPI GdipSetStringFormatFlags(GpStringFormat*, INT); +GpStatus WINGDIPAPI GdipStringFormatGetGenericDefault(GpStringFormat **); +GpStatus WINGDIPAPI GdipStringFormatGetGenericTypographic(GpStringFormat **); + +/* Texture */ +GpStatus WINGDIPAPI GdipCreateTexture(GpImage*,GpWrapMode,GpTexture**); +GpStatus WINGDIPAPI GdipCreateTexture2(GpImage*,GpWrapMode,REAL,REAL,REAL,REAL,GpTexture**); +GpStatus WINGDIPAPI GdipCreateTexture2I(GpImage*,GpWrapMode,INT,INT,INT,INT,GpTexture**); +GpStatus WINGDIPAPI GdipCreateTextureIA(GpImage*,GDIPCONST GpImageAttributes*, + REAL,REAL,REAL,REAL,GpTexture**); +GpStatus WINGDIPAPI GdipCreateTextureIAI(GpImage*,GDIPCONST GpImageAttributes*, + INT,INT,INT,INT,GpTexture**); +GpStatus WINGDIPAPI GdipGetTextureTransform(GpTexture*,GpMatrix*); +GpStatus WINGDIPAPI GdipGetTextureWrapMode(GpTexture*, GpWrapMode*); +GpStatus WINGDIPAPI GdipMultiplyTextureTransform(GpTexture*, + GDIPCONST GpMatrix*,GpMatrixOrder); +GpStatus WINGDIPAPI GdipResetTextureTransform(GpTexture*); +GpStatus WINGDIPAPI GdipRotateTextureTransform(GpTexture*,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipScaleTextureTransform(GpTexture*,REAL,REAL,GpMatrixOrder); +GpStatus WINGDIPAPI GdipSetTextureTransform(GpTexture *,GDIPCONST GpMatrix*); +GpStatus WINGDIPAPI GdipSetTextureWrapMode(GpTexture*, GpWrapMode); +GpStatus WINGDIPAPI GdipTranslateTextureTransform(GpTexture*,REAL,REAL, + GpMatrixOrder); + +/* Without wrapper methods */ +GpStatus WINGDIPAPI GdipCreateStreamOnFile(GDIPCONST WCHAR*,UINT,IStream**); +GpStatus WINGDIPAPI GdipGetImageEncodersSize(UINT *numEncoders, UINT *size); +GpStatus WINGDIPAPI GdipGetImageEncoders(UINT numEncoders, UINT size, ImageCodecInfo *encoders); +GpStatus WINGDIPAPI GdipTestControl(GpTestControlEnum,void*); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/gdiplus/include/gdiplusgpstubs.h b/external/gdiplus/include/gdiplusgpstubs.h new file mode 100644 index 000000000000..5a65cd83e96e --- /dev/null +++ b/external/gdiplus/include/gdiplusgpstubs.h @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSGPSTUBS_H +#define _GDIPLUSGPSTUBS_H + +#ifdef __cplusplus + +class GpGraphics {}; +class GpPen {}; +class GpBrush {}; +class GpHatch : public GpBrush {}; +class GpSolidFill : public GpBrush {}; +class GpPath {}; +class GpMatrix {}; +class GpPathIterator {}; +class GpCustomLineCap {}; +class GpAdjustableArrowCap : public GpCustomLineCap {}; +class GpImage {}; +class GpMetafile : public GpImage {}; +class GpImageAttributes {}; +class GpCachedBitmap {}; +class GpBitmap : public GpImage {}; +class GpPathGradient : public GpBrush {}; +class GpLineGradient : public GpBrush {}; +class GpTexture : public GpBrush {}; +class GpFont {}; +class GpFontCollection {}; +class GpFontFamily {}; +class GpStringFormat {}; +class GpRegion {}; +class CGpEffect {}; + +#else /* end of c++ declarations */ + +typedef struct GpGraphics GpGraphics; +typedef struct GpPen GpPen; +typedef struct GpBrush GpBrush; +typedef struct GpHatch GpHatch; +typedef struct GpSolidFill GpSolidFill; +typedef struct GpPath GpPath; +typedef struct GpMatrix GpMatrix; +typedef struct GpPathIterator GpPathIterator; +typedef struct GpCustomLineCap GpCustomLineCap; +typedef struct GpAdjustableArrowCap GpAdjustableArrowCap; +typedef struct GpImage GpImage; +typedef struct GpMetafile GpMetafile; +typedef struct GpImageAttributes GpImageAttributes; +typedef struct GpCachedBitmap GpCachedBitmap; +typedef struct GpBitmap GpBitmap; +typedef struct GpPathGradient GpPathGradient; +typedef struct GpLineGradient GpLineGradient; +typedef struct GpTexture GpTexture; +typedef struct GpFont GpFont; +typedef struct GpFontCollection GpFontCollection; +typedef struct GpFontFamily GpFontFamily; +typedef struct GpStringFormat GpStringFormat; +typedef struct GpRegion GpRegion; +typedef struct CGpEffect CGpEffect; + +#endif /* end of c declarations */ + +typedef Status GpStatus; +typedef Unit GpUnit; +typedef BrushType GpBrushType; +typedef PointF GpPointF; +typedef FillMode GpFillMode; +typedef PathData GpPathData; +typedef LineCap GpLineCap; +typedef RectF GpRectF; +typedef Rect GpRect; +typedef LineJoin GpLineJoin; +typedef DashCap GpDashCap; +typedef DashStyle GpDashStyle; +typedef MatrixOrder GpMatrixOrder; +typedef Point GpPoint; +typedef WrapMode GpWrapMode; +typedef Color GpColor; +typedef FlushIntention GpFlushIntention; +typedef CoordinateSpace GpCoordinateSpace; +typedef PenAlignment GpPenAlignment; +typedef PenType GpPenType; + +#endif diff --git a/external/gdiplus/include/gdiplusimaging.h b/external/gdiplus/include/gdiplusimaging.h new file mode 100644 index 000000000000..7c199c3d5bdf --- /dev/null +++ b/external/gdiplus/include/gdiplusimaging.h @@ -0,0 +1,450 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSIMAGING_H +#define _GDIPLUSIMAGING_H + +DEFINE_GUID(ImageFormatUndefined, 0xb96b3ca9, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatMemoryBMP, 0xb96b3caa, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatBMP, 0xb96b3cab, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatEMF, 0xb96b3cac, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatWMF, 0xb96b3cad, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatJPEG, 0xb96b3cae, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatPNG, 0xb96b3caf, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatGIF, 0xb96b3cb0, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatTIFF, 0xb96b3cb1, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatEXIF, 0xb96b3cb2, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); +DEFINE_GUID(ImageFormatIcon, 0xb96b3cb5, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e); + +DEFINE_GUID(FrameDimensionTime, 0x6aedbd6d, 0x3fb5, 0x418a, 0x83, 0xa6, 0x7f, 0x45, 0x22, 0x9d, 0xc8, 0x72); +DEFINE_GUID(FrameDimensionPage, 0x7462dc86, 0x6180, 0x4c7e, 0x8e, 0x3f, 0xee, 0x73, 0x33, 0xa7, 0xa4, 0x83); +DEFINE_GUID(FrameDimensionResolution, 0x84236f7b, 0x3bd3, 0x428f, 0x8d, 0xab, 0x4e, 0xa1, 0x43, 0x9c, 0xa3, 0x15); + +enum ImageLockMode +{ + ImageLockModeRead = 1, + ImageLockModeWrite = 2, + ImageLockModeUserInputBuf = 4 +}; + +enum RotateFlipType +{ + RotateNoneFlipNone = 0, + Rotate180FlipXY = RotateNoneFlipNone, + + Rotate90FlipNone = 1, + Rotate270FlipXY = Rotate90FlipNone, + + Rotate180FlipNone = 2, + RotateNoneFlipXY = Rotate180FlipNone, + + Rotate270FlipNone = 3, + Rotate90FlipXY = Rotate270FlipNone, + + RotateNoneFlipX = 4, + Rotate180FlipY = RotateNoneFlipX, + + Rotate90FlipX = 5, + Rotate270FlipY = Rotate90FlipX, + + Rotate180FlipX = 6, + RotateNoneFlipY = Rotate180FlipX, + + Rotate270FlipX = 7, + Rotate90FlipY = Rotate270FlipX +}; + +#ifdef __cplusplus +class EncoderParameter +{ +public: + GUID Guid; + ULONG NumberOfValues; + ULONG Type; + VOID* Value; +}; + +class EncoderParameters +{ +public: + UINT Count; + EncoderParameter Parameter[1]; +}; + +class ImageCodecInfo +{ +public: + CLSID Clsid; + GUID FormatID; + const WCHAR* CodecName; + const WCHAR* DllName; + const WCHAR* FormatDescription; + const WCHAR* FilenameExtension; + const WCHAR* MimeType; + DWORD Flags; + DWORD Version; + DWORD SigCount; + DWORD SigSize; + const BYTE* SigPattern; + const BYTE* SigMask; +}; + +class BitmapData +{ +public: + UINT Width; + UINT Height; + INT Stride; + Gdiplus::PixelFormat PixelFormat; + VOID* Scan0; + UINT_PTR Reserved; +}; + +class ImageItemData +{ +public: + UINT Size; + UINT Position; + VOID* Desc; + UINT DescSize; + VOID* Data; + UINT DataSize; + UINT Cookie; +}; + +class PropertyItem +{ +public: + PROPID id; + ULONG length; + WORD type; + VOID* value; +}; + +#else /* end of c++ typedefs */ + +typedef enum ImageLockMode ImageLockMode; +typedef enum RotateFlipType RotateFlipType; + +typedef struct EncoderParameter +{ + GUID Guid; + ULONG NumberOfValues; + ULONG Type; + VOID* Value; +} EncoderParameter; + +typedef struct EncoderParameters +{ + UINT Count; + EncoderParameter Parameter[1]; +} EncoderParameters; + +typedef struct ImageCodecInfo +{ + CLSID Clsid; + GUID FormatID; + const WCHAR* CodecName; + const WCHAR* DllName; + const WCHAR* FormatDescription; + const WCHAR* FilenameExtension; + const WCHAR* MimeType; + DWORD Flags; + DWORD Version; + DWORD SigCount; + DWORD SigSize; + const BYTE* SigPattern; + const BYTE* SigMask; +} ImageCodecInfo; + +typedef struct BitmapData +{ + UINT Width; + UINT Height; + INT Stride; + PixelFormat PixelFormat; + VOID* Scan0; + UINT_PTR Reserved; /* undocumented: stores the lock mode */ +} BitmapData; + +typedef struct ImageItemData +{ + UINT Size; + UINT Position; + VOID* Desc; + UINT DescSize; + VOID* Data; + UINT DataSize; + UINT Cookie; +} ImageItemData; + +typedef struct PropertyItem +{ + PROPID id; + ULONG length; + WORD type; + VOID* value; +} PropertyItem; + +#endif /* end of c typedefs */ + +/* property types */ +#define PropertyTagTypeByte 1 +#define PropertyTagTypeASCII 2 +#define PropertyTagTypeShort 3 +#define PropertyTagTypeLong 4 +#define PropertyTagTypeRational 5 +#define PropertyTagTypeUndefined 7 +#define PropertyTagTypeSLONG 9 +#define PropertyTagTypeSRational 10 + +/* property IDs */ +#define PropertyTagExifIFD 0x8769 +#define PropertyTagGpsIFD 0x8825 + +#define PropertyTagNewSubfileType 0x00FE +#define PropertyTagSubfileType 0x00FF +#define PropertyTagImageWidth 0x0100 +#define PropertyTagImageHeight 0x0101 +#define PropertyTagBitsPerSample 0x0102 +#define PropertyTagCompression 0x0103 +#define PropertyTagPhotometricInterp 0x0106 +#define PropertyTagThreshHolding 0x0107 +#define PropertyTagCellWidth 0x0108 +#define PropertyTagCellHeight 0x0109 +#define PropertyTagFillOrder 0x010A +#define PropertyTagDocumentName 0x010D +#define PropertyTagImageDescription 0x010E +#define PropertyTagEquipMake 0x010F +#define PropertyTagEquipModel 0x0110 +#define PropertyTagStripOffsets 0x0111 +#define PropertyTagOrientation 0x0112 +#define PropertyTagSamplesPerPixel 0x0115 +#define PropertyTagRowsPerStrip 0x0116 +#define PropertyTagStripBytesCount 0x0117 +#define PropertyTagMinSampleValue 0x0118 +#define PropertyTagMaxSampleValue 0x0119 +#define PropertyTagXResolution 0x011A +#define PropertyTagYResolution 0x011B +#define PropertyTagPlanarConfig 0x011C +#define PropertyTagPageName 0x011D +#define PropertyTagXPosition 0x011E +#define PropertyTagYPosition 0x011F +#define PropertyTagFreeOffset 0x0120 +#define PropertyTagFreeByteCounts 0x0121 +#define PropertyTagGrayResponseUnit 0x0122 +#define PropertyTagGrayResponseCurve 0x0123 +#define PropertyTagT4Option 0x0124 +#define PropertyTagT6Option 0x0125 +#define PropertyTagResolutionUnit 0x0128 +#define PropertyTagPageNumber 0x0129 +#define PropertyTagTransferFuncition 0x012D +#define PropertyTagSoftwareUsed 0x0131 +#define PropertyTagDateTime 0x0132 +#define PropertyTagArtist 0x013B +#define PropertyTagHostComputer 0x013C +#define PropertyTagPredictor 0x013D +#define PropertyTagWhitePoint 0x013E +#define PropertyTagPrimaryChromaticities 0x013F +#define PropertyTagColorMap 0x0140 +#define PropertyTagHalftoneHints 0x0141 +#define PropertyTagTileWidth 0x0142 +#define PropertyTagTileLength 0x0143 +#define PropertyTagTileOffset 0x0144 +#define PropertyTagTileByteCounts 0x0145 +#define PropertyTagInkSet 0x014C +#define PropertyTagInkNames 0x014D +#define PropertyTagNumberOfInks 0x014E +#define PropertyTagDotRange 0x0150 +#define PropertyTagTargetPrinter 0x0151 +#define PropertyTagExtraSamples 0x0152 +#define PropertyTagSampleFormat 0x0153 +#define PropertyTagSMinSampleValue 0x0154 +#define PropertyTagSMaxSampleValue 0x0155 +#define PropertyTagTransferRange 0x0156 + +#define PropertyTagJPEGProc 0x0200 +#define PropertyTagJPEGInterFormat 0x0201 +#define PropertyTagJPEGInterLength 0x0202 +#define PropertyTagJPEGRestartInterval 0x0203 +#define PropertyTagJPEGLosslessPredictors 0x0205 +#define PropertyTagJPEGPointTransforms 0x0206 +#define PropertyTagJPEGQTables 0x0207 +#define PropertyTagJPEGDCTables 0x0208 +#define PropertyTagJPEGACTables 0x0209 + +#define PropertyTagYCbCrCoefficients 0x0211 +#define PropertyTagYCbCrSubsampling 0x0212 +#define PropertyTagYCbCrPositioning 0x0213 +#define PropertyTagREFBlackWhite 0x0214 + +#define PropertyTagICCProfile 0x8773 + +#define PropertyTagGamma 0x0301 +#define PropertyTagICCProfileDescriptor 0x0302 +#define PropertyTagSRGBRenderingIntent 0x0303 + +#define PropertyTagImageTitle 0x0320 +#define PropertyTagCopyright 0x8298 + +#define PropertyTagResolutionXUnit 0x5001 +#define PropertyTagResolutionYUnit 0x5002 +#define PropertyTagResolutionXLengthUnit 0x5003 +#define PropertyTagResolutionYLengthUnit 0x5004 +#define PropertyTagPrintFlags 0x5005 +#define PropertyTagPrintFlagsVersion 0x5006 +#define PropertyTagPrintFlagsCrop 0x5007 +#define PropertyTagPrintFlagsBleedWidth 0x5008 +#define PropertyTagPrintFlagsBleedWidthScale 0x5009 +#define PropertyTagHalftoneLPI 0x500A +#define PropertyTagHalftoneLPIUnit 0x500B +#define PropertyTagHalftoneDegree 0x500C +#define PropertyTagHalftoneShape 0x500D +#define PropertyTagHalftoneMisc 0x500E +#define PropertyTagHalftoneScreen 0x500F +#define PropertyTagJPEGQuality 0x5010 +#define PropertyTagGridSize 0x5011 +#define PropertyTagThumbnailFormat 0x5012 +#define PropertyTagThumbnailWidth 0x5013 +#define PropertyTagThumbnailHeight 0x5014 +#define PropertyTagThumbnailColorDepth 0x5015 +#define PropertyTagThumbnailPlanes 0x5016 +#define PropertyTagThumbnailRawBytes 0x5017 +#define PropertyTagThumbnailSize 0x5018 +#define PropertyTagThumbnailCompressedSize 0x5019 +#define PropertyTagColorTransferFunction 0x501A +#define PropertyTagThumbnailData 0x501B + +#define PropertyTagThumbnailImageWidth 0x5020 +#define PropertyTagThumbnailImageHeight 0x5021 +#define PropertyTagThumbnailBitsPerSample 0x5022 +#define PropertyTagThumbnailCompression 0x5023 +#define PropertyTagThumbnailPhotometricInterp 0x5024 +#define PropertyTagThumbnailImageDescription 0x5025 +#define PropertyTagThumbnailEquipMake 0x5026 +#define PropertyTagThumbnailEquipModel 0x5027 +#define PropertyTagThumbnailStripOffsets 0x5028 +#define PropertyTagThumbnailOrientation 0x5029 +#define PropertyTagThumbnailSamplesPerPixel 0x502A +#define PropertyTagThumbnailRowsPerStrip 0x502B +#define PropertyTagThumbnailStripBytesCount 0x502C +#define PropertyTagThumbnailResolutionX 0x502D +#define PropertyTagThumbnailResolutionY 0x502E +#define PropertyTagThumbnailPlanarConfig 0x502F +#define PropertyTagThumbnailResolutionUnit 0x5030 +#define PropertyTagThumbnailTransferFunction 0x5031 +#define PropertyTagThumbnailSoftwareUsed 0x5032 +#define PropertyTagThumbnailDateTime 0x5033 +#define PropertyTagThumbnailArtist 0x5034 +#define PropertyTagThumbnailWhitePoint 0x5035 +#define PropertyTagThumbnailPrimaryChromaticities 0x5036 +#define PropertyTagThumbnailYCbCrCoefficients 0x5037 +#define PropertyTagThumbnailYCbCrSubsampling 0x5038 +#define PropertyTagThumbnailYCbCrPositioning 0x5039 +#define PropertyTagThumbnailRefBlackWhite 0x503A +#define PropertyTagThumbnailCopyRight 0x503B + +#define PropertyTagLuminanceTable 0x5090 +#define PropertyTagChrominanceTable 0x5091 + +#define PropertyTagFrameDelay 0x5100 +#define PropertyTagLoopCount 0x5101 + +#define PropertyTagPixelUnit 0x5110 +#define PropertyTagPixelPerUnitX 0x5111 +#define PropertyTagPixelPerUnitY 0x5112 +#define PropertyTagPaletteHistogram 0x5113 + +#define PropertyTagExifExposureTime 0x829A +#define PropertyTagExifFNumber 0x829D + +#define PropertyTagExifExposureProg 0x8822 +#define PropertyTagExifSpectralSense 0x8824 +#define PropertyTagExifISOSpeed 0x8827 +#define PropertyTagExifOECF 0x8828 + +#define PropertyTagExifVer 0x9000 +#define PropertyTagExifDTOrig 0x9003 +#define PropertyTagExifDTDigitized 0x9004 + +#define PropertyTagExifCompConfig 0x9101 +#define PropertyTagExifCompBPP 0x9102 + +#define PropertyTagExifShutterSpeed 0x9201 +#define PropertyTagExifAperture 0x9202 +#define PropertyTagExifBrightness 0x9203 +#define PropertyTagExifExposureBias 0x9204 +#define PropertyTagExifMaxAperture 0x9205 +#define PropertyTagExifSubjectDist 0x9206 +#define PropertyTagExifMeteringMode 0x9207 +#define PropertyTagExifLightSource 0x9208 +#define PropertyTagExifFlash 0x9209 +#define PropertyTagExifFocalLength 0x920A +#define PropertyTagExifMakerNote 0x927C +#define PropertyTagExifUserComment 0x9286 +#define PropertyTagExifDTSubsec 0x9290 +#define PropertyTagExifDTOrigSS 0x9291 +#define PropertyTagExifDTDigSS 0x9292 + +#define PropertyTagExifFPXVer 0xA000 +#define PropertyTagExifColorSpace 0xA001 +#define PropertyTagExifPixXDim 0xA002 +#define PropertyTagExifPixYDim 0xA003 +#define PropertyTagExifRelatedWav 0xA004 +#define PropertyTagExifInterop 0xA005 +#define PropertyTagExifFlashEnergy 0xA20B +#define PropertyTagExifSpatialFR 0xA20C +#define PropertyTagExifFocalXRes 0xA20E +#define PropertyTagExifFocalYRes 0xA20F +#define PropertyTagExifFocalResUnit 0xA210 +#define PropertyTagExifSubjectLoc 0xA214 +#define PropertyTagExifExposureIndex 0xA215 +#define PropertyTagExifSensingMethod 0xA217 +#define PropertyTagExifFileSource 0xA300 +#define PropertyTagExifSceneType 0xA301 +#define PropertyTagExifCfaPattern 0xA302 + +#define PropertyTagGpsVer 0x0000 +#define PropertyTagGpsLatitudeRef 0x0001 +#define PropertyTagGpsLatitude 0x0002 +#define PropertyTagGpsLongitudeRef 0x0003 +#define PropertyTagGpsLongitude 0x0004 +#define PropertyTagGpsAltitudeRef 0x0005 +#define PropertyTagGpsAltitude 0x0006 +#define PropertyTagGpsGpsTime 0x0007 +#define PropertyTagGpsGpsSatellites 0x0008 +#define PropertyTagGpsGpsStatus 0x0009 +#define PropertyTagGpsGpsMeasureMode 0x000A +#define PropertyTagGpsGpsDop 0x000B +#define PropertyTagGpsSpeedRef 0x000C +#define PropertyTagGpsSpeed 0x000D +#define PropertyTagGpsTrackRef 0x000E +#define PropertyTagGpsTrack 0x000F +#define PropertyTagGpsImgDirRef 0x0010 +#define PropertyTagGpsImgDir 0x0011 +#define PropertyTagGpsMapDatum 0x0012 +#define PropertyTagGpsDestLatRef 0x0013 +#define PropertyTagGpsDestLat 0x0014 +#define PropertyTagGpsDestLongRef 0x0015 +#define PropertyTagGpsDestLong 0x0016 +#define PropertyTagGpsDestBearRef 0x0017 +#define PropertyTagGpsDestBear 0x0018 +#define PropertyTagGpsDestDistRef 0x0019 +#define PropertyTagGpsDestDist 0x001A + +#endif /* _GDIPLUSIMAGING_H */ diff --git a/external/gdiplus/include/gdiplusinit.h b/external/gdiplus/include/gdiplusinit.h new file mode 100644 index 000000000000..22155b7fe30d --- /dev/null +++ b/external/gdiplus/include/gdiplusinit.h @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSINIT_H +#define _GDIPLUSINIT_H + +enum DebugEventLevel +{ + DebugEventLevelFatal, + DebugEventLevelWarning +}; + +typedef VOID (WINAPI *DebugEventProc)(enum DebugEventLevel, CHAR *); +typedef Status (WINAPI *NotificationHookProc)(ULONG_PTR *); +typedef void (WINAPI *NotificationUnhookProc)(ULONG_PTR); + +struct GdiplusStartupInput +{ + UINT32 GdiplusVersion; + DebugEventProc DebugEventCallback; + BOOL SuppressBackgroundThread; + BOOL SuppressExternalCodecs; + +#ifdef __cplusplus + GdiplusStartupInput(DebugEventProc debugEventCallback = NULL, + BOOL suppressBackgroundThread = FALSE, + BOOL suppressExternalCodecs = FALSE) + { + GdiplusVersion = 1; + DebugEventCallback = debugEventCallback; + SuppressBackgroundThread = suppressBackgroundThread; + SuppressExternalCodecs = suppressExternalCodecs; + } +#endif +}; + +struct GdiplusStartupOutput +{ + NotificationHookProc NotificationHook; + NotificationUnhookProc NotificationUnhook; +}; + +#ifdef __cplusplus +extern "C" { +#endif + +Status WINAPI GdiplusStartup(ULONG_PTR *, const struct GdiplusStartupInput *, struct GdiplusStartupOutput *); +void WINAPI GdiplusShutdown(ULONG_PTR); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/gdiplus/include/gdiplusmem.h b/external/gdiplus/include/gdiplusmem.h new file mode 100644 index 000000000000..a0496baabce7 --- /dev/null +++ b/external/gdiplus/include/gdiplusmem.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSMEM_H +#define _GDIPLUSMEM_H + +#define WINGDIPAPI __stdcall + +#ifdef __cplusplus +extern "C" { +#endif + +void* WINGDIPAPI GdipAlloc(SIZE_T); +void WINGDIPAPI GdipFree(void*); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/gdiplus/include/gdiplusmetaheader.h b/external/gdiplus/include/gdiplusmetaheader.h new file mode 100644 index 000000000000..e59ab09c8e49 --- /dev/null +++ b/external/gdiplus/include/gdiplusmetaheader.h @@ -0,0 +1,167 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSMETAHEADER_H +#define _GDIPLUSMETAHEADER_H + +typedef struct +{ + DWORD iType; + DWORD nSize; + RECTL rclBounds; + RECTL rclFrame; + DWORD dSignature; + DWORD nVersion; + DWORD nBytes; + DWORD nRecords; + WORD nHandles; + WORD sReserved; + DWORD nDescription; + DWORD offDescription; + DWORD nPalEntries; + SIZEL szlDevice; + SIZEL szlMillimeters; +} ENHMETAHEADER3; + +#include <pshpack2.h> + +typedef struct +{ + INT16 Left; + INT16 Top; + INT16 Right; + INT16 Bottom; +} PWMFRect16; + +typedef struct +{ + UINT32 Key; + INT16 Hmf; + PWMFRect16 BoundingBox; + INT16 Inch; + UINT32 Reserved; + INT16 Checksum; +} WmfPlaceableFileHeader; + +#include <poppack.h> + +#define GDIP_EMFPLUSFLAGS_DISPLAY 0x00000001 + +#ifdef __cplusplus +class MetafileHeader +{ +public: + MetafileType Type; + UINT Size; + UINT Version; + UINT EmfPlusFlags; + REAL DpiX; + REAL DpiY; + INT X; + INT Y; + INT Width; + INT Height; + union + { + METAHEADER WmfHeader; + ENHMETAHEADER3 EmfHeader; + }; + INT EmfPlusHeaderSize; + INT LogicalDpiX; + INT LogicalDpiY; + +public: + MetafileType GetType() const { return Type; } + + UINT GetMetafileSize() const { return Size; } + + UINT GetVersion() const { return Version; } + + UINT GetEmfPlusFlags() const { return EmfPlusFlags; } + + REAL GetDpiX() const { return DpiX; } + + REAL GetDpiY() const { return DpiY; } + + VOID GetBounds (OUT Rect *r) const + { + r->X = X; + r->Y = Y; + r->Width = Width; + r->Height = Height; + } + + BOOL IsWmf() const + { + return ((Type == MetafileTypeWmf) || (Type == MetafileTypeWmfPlaceable)); + } + + BOOL IsWmfPlaceable() const { return (Type == MetafileTypeWmfPlaceable); } + + BOOL IsEmf() const { return (Type == MetafileTypeEmf); } + + BOOL IsEmfOrEmfPlus() const { return (Type >= MetafileTypeEmf); } + + BOOL IsEmfPlus() const { return (Type >= MetafileTypeEmfPlusOnly); } + + BOOL IsEmfPlusDual() const { return (Type == MetafileTypeEmfPlusDual); } + + BOOL IsEmfPlusOnly() const { return (Type == MetafileTypeEmfPlusOnly); } + + BOOL IsDisplay() const + { + return IsEmfPlus() && ((EmfPlusFlags & GDIP_EMFPLUSFLAGS_DISPLAY) != 0); + } + + const METAHEADER * GetWmfHeader() const + { + return IsWmf() ? &WmfHeader : NULL; + } + + const ENHMETAHEADER3 * GetEmfHeader() const + { + return IsEmfOrEmfPlus() ? &EmfHeader : NULL; + } +}; +#else /* end of c++ typedefs */ + +typedef struct MetafileHeader +{ + MetafileType Type; + UINT Size; + UINT Version; + UINT EmfPlusFlags; + REAL DpiX; + REAL DpiY; + INT X; + INT Y; + INT Width; + INT Height; + union + { + METAHEADER WmfHeader; + ENHMETAHEADER3 EmfHeader; + } DUMMYUNIONNAME; + INT EmfPlusHeaderSize; + INT LogicalDpiX; + INT LogicalDpiY; +} MetafileHeader; + +#endif /* end of c typedefs */ + +#endif /* _GDIPLUSMETAHEADER_H */ diff --git a/external/gdiplus/include/gdipluspixelformats.h b/external/gdiplus/include/gdipluspixelformats.h new file mode 100644 index 000000000000..d7382f141ff6 --- /dev/null +++ b/external/gdiplus/include/gdipluspixelformats.h @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSPIXELFORMATS_H +#define _GDIPLUSPIXELFORMATS_H + +typedef DWORD ARGB; +typedef INT PixelFormat; + +#define PixelFormatIndexed 0x00010000 +#define PixelFormatGDI 0x00020000 +#define PixelFormatAlpha 0x00040000 +#define PixelFormatPAlpha 0x00080000 +#define PixelFormatExtended 0x00100000 +#define PixelFormatCanonical 0x00200000 + +#define PixelFormatUndefined 0 +#define PixelFormatDontCare 0 + +#define PixelFormat1bppIndexed (1 | ( 1 << 8) | PixelFormatIndexed | PixelFormatGDI) +#define PixelFormat4bppIndexed (2 | ( 4 << 8) | PixelFormatIndexed | PixelFormatGDI) +#define PixelFormat8bppIndexed (3 | ( 8 << 8) | PixelFormatIndexed | PixelFormatGDI) +#define PixelFormat16bppGrayScale (4 | (16 << 8) | PixelFormatExtended) +#define PixelFormat16bppRGB555 (5 | (16 << 8) | PixelFormatGDI) +#define PixelFormat16bppRGB565 (6 | (16 << 8) | PixelFormatGDI) +#define PixelFormat16bppARGB1555 (7 | (16 << 8) | PixelFormatAlpha | PixelFormatGDI) +#define PixelFormat24bppRGB (8 | (24 << 8) | PixelFormatGDI) +#define PixelFormat32bppRGB (9 | (32 << 8) | PixelFormatGDI) +#define PixelFormat32bppARGB (10 | (32 << 8) | PixelFormatAlpha | PixelFormatGDI | PixelFormatCanonical) +#define PixelFormat32bppPARGB (11 | (32 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatGDI) +#define PixelFormat48bppRGB (12 | (48 << 8) | PixelFormatExtended) +#define PixelFormat64bppARGB (13 | (64 << 8) | PixelFormatAlpha | PixelFormatCanonical | PixelFormatExtended) +#define PixelFormat64bppPARGB (14 | (64 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatExtended) +#define PixelFormatMax 15 + +#ifdef __cplusplus + +struct ColorPalette +{ +public: + UINT Flags; + UINT Count; + ARGB Entries[1]; +}; + +#else /* end of c++ typedefs */ + +typedef struct ColorPalette +{ + UINT Flags; + UINT Count; + ARGB Entries[1]; +} ColorPalette; + +#endif /* end of c typedefs */ + +#endif diff --git a/external/gdiplus/include/gdiplustypes.h b/external/gdiplus/include/gdiplustypes.h new file mode 100644 index 000000000000..2e46bb4aecde --- /dev/null +++ b/external/gdiplus/include/gdiplustypes.h @@ -0,0 +1,276 @@ +/* + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _GDIPLUSTYPES_H +#define _GDIPLUSTYPES_H + +typedef float REAL; + +enum Status{ + Ok = 0, + GenericError = 1, + InvalidParameter = 2, + OutOfMemory = 3, + ObjectBusy = 4, + InsufficientBuffer = 5, + NotImplemented = 6, + Win32Error = 7, + WrongState = 8, + Aborted = 9, + FileNotFound = 10, + ValueOverflow = 11, + AccessDenied = 12, + UnknownImageFormat = 13, + FontFamilyNotFound = 14, + FontStyleNotFound = 15, + NotTrueTypeFont = 16, + UnsupportedGdiplusVersion = 17, + GdiplusNotInitialized = 18, + PropertyNotFound = 19, + PropertyNotSupported = 20, + ProfileNotFound = 21 +}; + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef BOOL (CALLBACK * ImageAbort)(VOID *); +typedef ImageAbort DrawImageAbort; +typedef ImageAbort GetThumbnailImageAbort; + +typedef BOOL (CALLBACK * EnumerateMetafileProc)(EmfPlusRecordType,UINT,UINT,const BYTE*,VOID*); + +#ifdef __cplusplus +} +#endif + + +#ifdef __cplusplus + +class Point +{ +public: + Point() + { + X = Y = 0; + } + + Point(IN const Point &pt) + { + X = pt.X; + Y = pt.Y; + } + + /* FIXME: missing constructor that takes a Size */ + + Point(IN INT x, IN INT y) + { + X = x; + Y = y; + } + + Point operator+(IN const Point& pt) const + { + return Point(X + pt.X, Y + pt.Y); + } + + Point operator-(IN const Point& pt) const + { + return Point(X - pt.X, Y - pt.Y); + } + + BOOL Equals(IN const Point& pt) + { + return (X == pt.X) && (Y == pt.Y); + } + +public: + INT X; + INT Y; +}; + +class PointF +{ +public: + PointF() + { + X = Y = 0.0f; + } + + PointF(IN const PointF &pt) + { + X = pt.X; + Y = pt.Y; + } + + /* FIXME: missing constructor that takes a SizeF */ + + PointF(IN REAL x, IN REAL y) + { + X = x; + Y = y; + } + + PointF operator+(IN const PointF& pt) const + { + return PointF(X + pt.X, Y + pt.Y); + } + + PointF operator-(IN const PointF& pt) const + { + return PointF(X - pt.X, Y - pt.Y); + } + + BOOL Equals(IN const PointF& pt) + { + return (X == pt.X) && (Y == pt.Y); + } + +public: + REAL X; + REAL Y; +}; + +class PathData +{ +public: + PathData() + { + Count = 0; + Points = NULL; + Types = NULL; + } + + ~PathData() + { + if (Points != NULL) + { + delete Points; + } + + if (Types != NULL) + { + delete Types; + } + } + +private: + PathData(const PathData &); + PathData& operator=(const PathData &); + +public: + INT Count; + PointF* Points; + BYTE* Types; +}; + +/* FIXME: missing the methods. */ +class RectF +{ +public: + REAL X; + REAL Y; + REAL Width; + REAL Height; +}; + +/* FIXME: missing the methods. */ +class Rect +{ +public: + INT X; + INT Y; + INT Width; + INT Height; +}; + +class CharacterRange +{ +public: + CharacterRange() + { + First = Length = 0; + } + + CharacterRange(INT first, INT length) + { + First = first; + Length = length; + } + + CharacterRange& operator=(const CharacterRange& rhs) + { + First = rhs.First; + Length = rhs.Length; + return *this; + } +public: + INT First; + INT Length; +}; + +#else /* end of c++ typedefs */ + +typedef struct Point +{ + INT X; + INT Y; +} Point; + +typedef struct PointF +{ + REAL X; + REAL Y; +} PointF; + +typedef struct PathData +{ + INT Count; + PointF* Points; + BYTE* Types; +} PathData; + +typedef struct RectF +{ + REAL X; + REAL Y; + REAL Width; + REAL Height; +} RectF; + +typedef struct Rect +{ + INT X; + INT Y; + INT Width; + INT Height; +} Rect; + +typedef struct CharacterRange +{ + INT First; + INT Length; +} CharacterRange; + +typedef enum Status Status; + +#endif /* end of c typedefs */ + +#endif diff --git a/external/gdiplus/lib/gdiplus.def b/external/gdiplus/lib/gdiplus.def new file mode 100644 index 000000000000..81df90762c76 --- /dev/null +++ b/external/gdiplus/lib/gdiplus.def @@ -0,0 +1,510 @@ +; File generated automatically from ./gdiplus.spec; do not edit!
+
+LIBRARY gdiplus.dll
+
+EXPORTS
+ GdipAddPathArc@28 @1
+ GdipAddPathArcI@28 @2
+ GdipAddPathBezier@36 @3
+ GdipAddPathBezierI@36 @4
+ GdipAddPathBeziers@12 @5
+ GdipAddPathBeziersI@12 @6
+ GdipAddPathClosedCurve2@16 @7
+ GdipAddPathClosedCurve2I@16 @8
+ GdipAddPathClosedCurve@12 @9
+ GdipAddPathClosedCurveI@12 @10
+ GdipAddPathCurve2@16 @11
+ GdipAddPathCurve2I@16 @12
+ GdipAddPathCurve3@24 @13
+ GdipAddPathCurve3I@24 @14
+ GdipAddPathCurve@12 @15
+ GdipAddPathCurveI@12 @16
+ GdipAddPathEllipse@20 @17
+ GdipAddPathEllipseI@20 @18
+ GdipAddPathLine2@12 @19
+ GdipAddPathLine2I@12 @20
+ GdipAddPathLine@20 @21
+ GdipAddPathLineI@20 @22
+ GdipAddPathPath@12 @23
+ GdipAddPathPie@28 @24
+ GdipAddPathPieI@28 @25
+ GdipAddPathPolygon@12 @26
+ GdipAddPathPolygonI@12 @27
+ GdipAddPathRectangle@20 @28
+ GdipAddPathRectangleI@20 @29
+ GdipAddPathRectangles@12 @30
+ GdipAddPathRectanglesI@12 @31
+ GdipAlloc@4 @34
+ GdipBeginContainer2@8 @35
+ GdipBitmapGetPixel@16 @43
+ GdipBitmapLockBits@20 @44
+ GdipBitmapUnlockBits@8 @47
+ GdipClearPathMarkers@4 @48
+ GdipCloneBitmapAreaI@28 @50
+ GdipCloneBrush@8 @51
+ GdipCloneCustomLineCap@8 @52
+ GdipCloneFont@8 @53
+ GdipCloneFontFamily@8 @54
+ GdipCloneImage@8 @55
+ GdipCloneImageAttributes@8 @56
+ GdipCloneMatrix@8 @57
+ GdipClonePath@8 @58
+ GdipClonePen@8 @59
+ GdipCloneRegion@8 @60
+ GdipCloneStringFormat@8 @61
+ GdipClosePathFigure@4 @62
+ GdipClosePathFigures@4 @63
+ GdipCombineRegionPath@12 @64
+ GdipCombineRegionRect@12 @65
+ GdipCombineRegionRectI@12 @66
+ GdipCombineRegionRegion@12 @67
+ GdipConvertToEmfPlus@24 @69
+ GdipCreateAdjustableArrowCap@16 @72
+ GdipCreateBitmapFromFile@8 @74
+ GdipCreateBitmapFromFileICM@8 @75
+ GdipCreateBitmapFromGdiDib@12 @76
+ GdipCreateBitmapFromGraphics@16 @77
+ GdipCreateBitmapFromHBITMAP@12 @78
+ GdipCreateBitmapFromHICON@8 @79
+ GdipCreateBitmapFromResource@12 @80
+ GdipCreateBitmapFromScan0@24 @81
+ GdipCreateBitmapFromStream@8 @82
+ GdipCreateBitmapFromStreamICM@8 @83
+ GdipCreateCachedBitmap@12 @84
+ GdipCreateCustomLineCap@20 @85
+ GdipCreateFont@20 @87
+ GdipCreateFontFamilyFromName@12 @88
+ GdipCreateFontFromDC@8 @89
+ GdipCreateFontFromLogfontA@12 @90
+ GdipCreateFontFromLogfontW@12 @91
+ GdipCreateFromHDC2@12 @92
+ GdipCreateFromHDC@8 @93
+ GdipCreateFromHWND@8 @94
+ GdipCreateFromHWNDICM@8 @95
+ GdipCreateHBITMAPFromBitmap@12 @96
+ GdipCreateHalftonePalette@0 @98
+ GdipCreateHatchBrush@16 @99
+ GdipCreateImageAttributes@4 @100
+ GdipCreateLineBrush@24 @101
+ GdipCreateLineBrushFromRect@24 @102
+ GdipCreateLineBrushFromRectI@24 @103
+ GdipCreateLineBrushFromRectWithAngle@28 @104
+ GdipCreateLineBrushFromRectWithAngleI@28 @105
+ GdipCreateLineBrushI@24 @106
+ GdipCreateMatrix2@28 @107
+ GdipCreateMatrix3@12 @108
+ GdipCreateMatrix3I@12 @109
+ GdipCreateMatrix@4 @110
+ GdipCreateMetafileFromEmf@12 @111
+ GdipCreateMetafileFromWmf@16 @114
+ GdipCreateMetafileFromWmfFile@12 @115
+ GdipCreatePath2@20 @116
+ GdipCreatePath2I@20 @117
+ GdipCreatePath@8 @118
+ GdipCreatePathGradient@16 @119
+ GdipCreatePathGradientFromPath@8 @120
+ GdipCreatePathGradientI@16 @121
+ GdipCreatePathIter@8 @122
+ GdipCreatePen1@16 @123
+ GdipCreatePen2@16 @124
+ GdipCreateRegion@4 @125
+ GdipCreateRegionHrgn@8 @126
+ GdipCreateRegionPath@8 @127
+ GdipCreateRegionRect@8 @128
+ GdipCreateRegionRectI@8 @129
+ GdipCreateRegionRgnData@12 @130
+ GdipCreateSolidFill@8 @131
+ GdipCreateStreamOnFile@12 @132
+ GdipCreateStringFormat@12 @133
+ GdipCreateTexture2@28 @134
+ GdipCreateTexture2I@28 @135
+ GdipCreateTexture@12 @136
+ GdipCreateTextureIA@28 @137
+ GdipCreateTextureIAI@28 @138
+ GdipDeleteBrush@4 @139
+ GdipDeleteCachedBitmap@4 @140
+ GdipDeleteCustomLineCap@4 @141
+ GdipDeleteFont@4 @143
+ GdipDeleteFontFamily@4 @144
+ GdipDeleteGraphics@4 @145
+ GdipDeleteMatrix@4 @146
+ GdipDeletePath@4 @147
+ GdipDeletePathIter@4 @148
+ GdipDeletePen@4 @149
+ GdipDeletePrivateFontCollection@4 @150
+ GdipDeleteRegion@4 @151
+ GdipDeleteStringFormat@4 @152
+ GdipDisposeImage@4 @153
+ GdipDisposeImageAttributes@4 @154
+ GdipDrawArc@32 @155
+ GdipDrawArcI@32 @156
+ GdipDrawBezier@40 @157
+ GdipDrawBezierI@40 @158
+ GdipDrawBeziers@16 @159
+ GdipDrawBeziersI@16 @160
+ GdipDrawCachedBitmap@16 @161
+ GdipDrawClosedCurve2@20 @162
+ GdipDrawClosedCurve2I@20 @163
+ GdipDrawClosedCurve@16 @164
+ GdipDrawClosedCurveI@16 @165
+ GdipDrawCurve2@20 @166
+ GdipDrawCurve2I@20 @167
+ GdipDrawCurve@16 @170
+ GdipDrawCurveI@16 @171
+ GdipDrawEllipse@24 @173
+ GdipDrawEllipseI@24 @174
+ GdipDrawImage@16 @175
+ GdipDrawImageI@16 @177
+ GdipDrawImagePointsRect@48 @182
+ GdipDrawImagePointsRectI@48 @183
+ GdipDrawImageRect@24 @184
+ GdipDrawImageRectI@24 @185
+ GdipDrawImageRectRect@56 @186
+ GdipDrawImageRectRectI@56 @187
+ GdipDrawLine@24 @188
+ GdipDrawLineI@24 @189
+ GdipDrawLines@16 @190
+ GdipDrawLinesI@16 @191
+ GdipDrawPath@12 @192
+ GdipDrawPie@32 @193
+ GdipDrawPieI@32 @194
+ GdipDrawPolygon@16 @195
+ GdipDrawPolygonI@16 @196
+ GdipDrawRectangle@24 @197
+ GdipDrawRectangleI@24 @198
+ GdipDrawRectangles@16 @199
+ GdipDrawRectanglesI@16 @200
+ GdipDrawString@28 @201
+ GdipEndContainer@8 @203
+ GdipFillClosedCurve2@24 @216
+ GdipFillClosedCurve2I@24 @217
+ GdipFillEllipse@24 @220
+ GdipFillEllipseI@24 @221
+ GdipFillPath@12 @222
+ GdipFillPie@32 @223
+ GdipFillPieI@32 @224
+ GdipFillPolygon2@16 @225
+ GdipFillPolygon2I@16 @226
+ GdipFillPolygon@20 @227
+ GdipFillPolygonI@20 @228
+ GdipFillRectangle@24 @229
+ GdipFillRectangleI@24 @230
+ GdipFillRectangles@16 @231
+ GdipFillRectanglesI@16 @232
+ GdipFillRegion@12 @233
+ GdipFindFirstImageItem@8 @234
+ GdipFlattenPath@12 @236
+ GdipFlush@8 @237
+ GdipFree@4 @238
+ GdipGetAdjustableArrowCapFillState@8 @239
+ GdipGetAdjustableArrowCapHeight@8 @240
+ GdipGetAdjustableArrowCapMiddleInset@8 @241
+ GdipGetAdjustableArrowCapWidth@8 @242
+ GdipGetAllPropertyItems@16 @243
+ GdipGetBrushType@8 @244
+ GdipGetCellAscent@12 @245
+ GdipGetCellDescent@12 @246
+ GdipGetClip@8 @247
+ GdipGetClipBounds@8 @248
+ GdipGetClipBoundsI@8 @249
+ GdipGetCompositingMode@8 @250
+ GdipGetCompositingQuality@8 @251
+ GdipGetCustomLineCapBaseCap@8 @252
+ GdipGetCustomLineCapBaseInset@8 @253
+ GdipGetCustomLineCapStrokeJoin@8 @255
+ GdipGetCustomLineCapWidthScale@8 @257
+ GdipGetDC@8 @258
+ GdipGetDpiX@8 @259
+ GdipGetDpiY@8 @260
+ GdipGetEmHeight@12 @263
+ GdipGetFamily@8 @266
+ GdipGetFamilyName@12 @267
+ GdipGetFontCollectionFamilyCount@8 @268
+ GdipGetFontCollectionFamilyList@16 @269
+ GdipGetFontHeight@12 @270
+ GdipGetFontHeightGivenDPI@12 @271
+ GdipGetFontSize@8 @272
+ GdipGetFontStyle@8 @273
+ GdipGetFontUnit@8 @274
+ GdipGetGenericFontFamilyMonospace@4 @275
+ GdipGetGenericFontFamilySansSerif@4 @276
+ GdipGetGenericFontFamilySerif@4 @277
+ GdipGetHatchBackgroundColor@8 @278
+ GdipGetHatchForegroundColor@8 @279
+ GdipGetHatchStyle@8 @280
+ GdipGetImageBounds@12 @283
+ GdipGetImageDecoders@12 @284
+ GdipGetImageDecodersSize@8 @285
+ GdipGetImageDimension@12 @286
+ GdipGetImageEncoders@12 @287
+ GdipGetImageEncodersSize@8 @288
+ GdipGetImageFlags@8 @289
+ GdipGetImageGraphicsContext@8 @290
+ GdipGetImageHeight@8 @291
+ GdipGetImageHorizontalResolution@8 @292
+ GdipGetImagePaletteSize@8 @295
+ GdipGetImagePixelFormat@8 @296
+ GdipGetImageRawFormat@8 @297
+ GdipGetImageType@8 @299
+ GdipGetImageVerticalResolution@8 @300
+ GdipGetImageWidth@8 @301
+ GdipGetInterpolationMode@8 @302
+ GdipGetLineColors@8 @305
+ GdipGetLineGammaCorrection@8 @306
+ GdipGetLineRect@8 @309
+ GdipGetLineRectI@8 @310
+ GdipGetLineSpacing@12 @311
+ GdipGetLineWrapMode@8 @313
+ GdipGetLogFontA@12 @314
+ GdipGetLogFontW@12 @315
+ GdipGetMatrixElements@8 @316
+ GdipGetMetafileHeaderFromMetafile@8 @320
+ GdipGetNearestColor@8 @323
+ GdipGetPageScale@8 @324
+ GdipGetPageUnit@8 @325
+ GdipGetPathData@8 @326
+ GdipGetPathFillMode@8 @327
+ GdipGetPathGradientBlend@16 @328
+ GdipGetPathGradientBlendCount@8 @329
+ GdipGetPathGradientCenterPoint@8 @331
+ GdipGetPathGradientCenterPointI@8 @332
+ GdipGetPathGradientFocusScales@12 @333
+ GdipGetPathGradientGammaCorrection@8 @334
+ GdipGetPathGradientPointCount@8 @336
+ GdipGetPathGradientRect@8 @339
+ GdipGetPathGradientRectI@8 @340
+ GdipGetPathGradientSurroundColorsWithCount@12 @342
+ GdipGetPathGradientWrapMode@8 @344
+ GdipGetPathLastPoint@8 @345
+ GdipGetPathPoints@12 @346
+ GdipGetPathPointsI@12 @347
+ GdipGetPathTypes@12 @348
+ GdipGetPathWorldBounds@16 @349
+ GdipGetPathWorldBoundsI@16 @350
+ GdipGetPenBrushFill@8 @351
+ GdipGetPenColor@8 @352
+ GdipGetPenCustomEndCap@8 @355
+ GdipGetPenCustomStartCap@8 @356
+ GdipGetPenDashArray@12 @357
+ GdipGetPenDashCap197819@8 @358
+ GdipGetPenDashCount@8 @359
+ GdipGetPenDashOffset@8 @360
+ GdipGetPenDashStyle@8 @361
+ GdipGetPenEndCap@8 @362
+ GdipGetPenFillType@8 @363
+ GdipGetPenLineJoin@8 @364
+ GdipGetPenMiterLimit@8 @365
+ GdipGetPenMode@8 @366
+ GdipGetPenStartCap@8 @367
+ GdipGetPenUnit@8 @369
+ GdipGetPenWidth@8 @370
+ GdipGetPixelOffsetMode@8 @371
+ GdipGetPointCount@8 @372
+ GdipGetPropertyCount@8 @373
+ GdipGetPropertyIdList@12 @374
+ GdipGetPropertyItem@16 @375
+ GdipGetPropertyItemSize@12 @376
+ GdipGetPropertySize@12 @377
+ GdipGetRegionBounds@12 @378
+ GdipGetRegionBoundsI@12 @379
+ GdipGetRegionData@16 @380
+ GdipGetRegionDataSize@8 @381
+ GdipGetRegionHRgn@12 @382
+ GdipGetSmoothingMode@8 @387
+ GdipGetSolidFillColor@8 @388
+ GdipGetStringFormatAlign@8 @389
+ GdipGetStringFormatDigitSubstitution@12 @390
+ GdipGetStringFormatFlags@8 @391
+ GdipGetStringFormatHotkeyPrefix@8 @392
+ GdipGetStringFormatLineAlign@8 @393
+ GdipGetStringFormatMeasurableCharacterRangeCount@8 @394
+ GdipGetStringFormatTabStopCount@8 @395
+ GdipGetStringFormatTabStops@16 @396
+ GdipGetStringFormatTrimming@8 @397
+ GdipGetTextContrast@8 @398
+ GdipGetTextRenderingHint@8 @399
+ GdipGetTextureTransform@8 @401
+ GdipGetTextureWrapMode@8 @402
+ GdipGetWorldTransform@8 @405
+ GdipGraphicsClear@8 @406
+ GdipImageForceValidation@4 @408
+ GdipImageGetFrameCount@12 @409
+ GdipImageGetFrameDimensionsCount@8 @410
+ GdipImageGetFrameDimensionsList@12 @411
+ GdipImageSelectActiveFrame@12 @413
+ GdipInvertMatrix@4 @416
+ GdipIsClipEmpty@8 @417
+ GdipIsEmptyRegion@12 @418
+ GdipIsEqualRegion@16 @419
+ GdipIsInfiniteRegion@12 @420
+ GdipIsMatrixEqual@12 @421
+ GdipIsMatrixIdentity@8 @422
+ GdipIsMatrixInvertible@8 @423
+ GdipIsOutlineVisiblePathPoint@24 @424
+ GdipIsOutlineVisiblePathPointI@24 @425
+ GdipIsStyleAvailable@12 @426
+ GdipIsVisiblePathPoint@20 @428
+ GdipIsVisiblePathPointI@20 @429
+ GdipIsVisiblePoint@16 @430
+ GdipIsVisiblePointI@16 @431
+ GdipLoadImageFromFile@8 @438
+ GdipLoadImageFromFileICM@8 @439
+ GdipLoadImageFromStream@8 @440
+ GdipLoadImageFromStreamICM@8 @441
+ GdipMeasureCharacterRanges@32 @442
+ GdipMeasureString@36 @444
+ GdipMultiplyMatrix@12 @446
+ GdipMultiplyTextureTransform@12 @449
+ GdipMultiplyWorldTransform@12 @450
+ GdipNewInstalledFontCollection@4 @451
+ GdipNewPrivateFontCollection@4 @452
+ GdipPathIterCopyData@24 @453
+ GdipPathIterEnumerate@20 @454
+ GdipPathIterGetCount@8 @455
+ GdipPathIterGetSubpathCount@8 @456
+ GdipPathIterHasCurve@8 @457
+ GdipPathIterIsValid@8 @458
+ GdipPathIterNextMarker@16 @459
+ GdipPathIterNextMarkerPath@12 @460
+ GdipPathIterNextPathType@20 @461
+ GdipPathIterNextSubpath@20 @462
+ GdipPathIterNextSubpathPath@16 @463
+ GdipPathIterRewind@4 @464
+ GdipPrivateAddFontFile@8 @467
+ GdipPrivateAddMemoryFont@12 @468
+ GdipRecordMetafileFileName@28 @470
+ GdipRecordMetafileFileNameI@28 @471
+ GdipReleaseDC@8 @475
+ GdipRemovePropertyItem@8 @476
+ GdipResetClip@4 @477
+ GdipResetPath@4 @481
+ GdipResetPenTransform@4 @483
+ GdipResetTextureTransform@4 @484
+ GdipResetWorldTransform@4 @485
+ GdipRestoreGraphics@8 @486
+ GdipReversePath@4 @487
+ GdipRotateLineTransform@12 @488
+ GdipRotateMatrix@12 @489
+ GdipRotateTextureTransform@12 @492
+ GdipRotateWorldTransform@12 @493
+ GdipSaveGraphics@8 @496
+ GdipSaveImageToFile@16 @497
+ GdipSaveImageToStream@16 @498
+ GdipScaleMatrix@16 @500
+ GdipScalePenTransform@16 @502
+ GdipScaleTextureTransform@16 @503
+ GdipScaleWorldTransform@16 @504
+ GdipSetAdjustableArrowCapFillState@8 @505
+ GdipSetAdjustableArrowCapHeight@8 @506
+ GdipSetAdjustableArrowCapMiddleInset@8 @507
+ GdipSetAdjustableArrowCapWidth@8 @508
+ GdipSetClipGraphics@12 @509
+ GdipSetClipHrgn@12 @510
+ GdipSetClipPath@12 @511
+ GdipSetClipRect@24 @512
+ GdipSetClipRectI@24 @513
+ GdipSetClipRegion@12 @514
+ GdipSetCompositingMode@8 @515
+ GdipSetCompositingQuality@8 @516
+ GdipSetCustomLineCapBaseCap@8 @517
+ GdipSetCustomLineCapBaseInset@8 @518
+ GdipSetCustomLineCapStrokeCaps@12 @519
+ GdipSetCustomLineCapStrokeJoin@8 @520
+ GdipSetCustomLineCapWidthScale@8 @521
+ GdipSetEffectParameters@12 @522
+ GdipSetEmpty@4 @523
+ GdipSetImageAttributesCachedBackground@8 @524
+ GdipSetImageAttributesColorKeys@20 @525
+ GdipSetImageAttributesColorMatrix@24 @526
+ GdipSetImageAttributesGamma@16 @527
+ GdipSetImageAttributesNoOp@12 @528
+ GdipSetImageAttributesOutputChannel@16 @529
+ GdipSetImageAttributesOutputChannelColorProfile@16 @530
+ GdipSetImageAttributesRemapTable@20 @531
+ GdipSetImageAttributesThreshold@16 @532
+ GdipSetImageAttributesToIdentity@8 @533
+ GdipSetImageAttributesWrapMode@16 @534
+ GdipSetImagePalette@8 @535
+ GdipSetInfinite@4 @536
+ GdipSetInterpolationMode@8 @537
+ GdipSetLineBlend@16 @538
+ GdipSetLineColors@12 @539
+ GdipSetLineGammaCorrection@8 @540
+ GdipSetLineLinearBlend@12 @541
+ GdipSetLinePresetBlend@16 @542
+ GdipSetLineSigmaBlend@12 @543
+ GdipSetLineTransform@8 @544
+ GdipSetLineWrapMode@8 @545
+ GdipSetMatrixElements@28 @546
+ GdipSetMetafileDownLevelRasterizationLimit@8 @547
+ GdipSetPageScale@8 @548
+ GdipSetPageUnit@8 @549
+ GdipSetPathFillMode@8 @550
+ GdipSetPathGradientBlend@16 @551
+ GdipSetPathGradientCenterColor@8 @552
+ GdipSetPathGradientCenterPoint@8 @553
+ GdipSetPathGradientCenterPointI@8 @554
+ GdipSetPathGradientFocusScales@12 @555
+ GdipSetPathGradientGammaCorrection@8 @556
+ GdipSetPathGradientSigmaBlend@12 @560
+ GdipSetPathGradientSurroundColorsWithCount@12 @561
+ GdipSetPathGradientWrapMode@8 @563
+ GdipSetPathMarker@4 @564
+ GdipSetPenBrushFill@8 @565
+ GdipSetPenColor@8 @566
+ GdipSetPenCompoundArray@12 @567
+ GdipSetPenCustomEndCap@8 @568
+ GdipSetPenCustomStartCap@8 @569
+ GdipSetPenDashArray@12 @570
+ GdipSetPenDashCap197819@8 @571
+ GdipSetPenDashOffset@8 @572
+ GdipSetPenDashStyle@8 @573
+ GdipSetPenEndCap@8 @574
+ GdipSetPenLineCap197819@16 @575
+ GdipSetPenLineJoin@8 @576
+ GdipSetPenMiterLimit@8 @577
+ GdipSetPenMode@8 @578
+ GdipSetPenStartCap@8 @579
+ GdipSetPenWidth@8 @582
+ GdipSetPixelOffsetMode@8 @583
+ GdipSetPropertyItem@8 @584
+ GdipSetSmoothingMode@8 @586
+ GdipSetSolidFillColor@8 @587
+ GdipSetStringFormatAlign@8 @588
+ GdipSetStringFormatDigitSubstitution@12 @589
+ GdipSetStringFormatFlags@8 @590
+ GdipSetStringFormatHotkeyPrefix@8 @591
+ GdipSetStringFormatLineAlign@8 @592
+ GdipSetStringFormatMeasurableCharacterRanges@12 @593
+ GdipSetStringFormatTabStops@16 @594
+ GdipSetStringFormatTrimming@8 @595
+ GdipSetTextContrast@8 @596
+ GdipSetTextRenderingHint@8 @597
+ GdipSetTextureTransform@8 @598
+ GdipSetTextureWrapMode@8 @599
+ GdipSetWorldTransform@8 @600
+ GdipShearMatrix@16 @601
+ GdipStartPathFigure@4 @602
+ GdipStringFormatGetGenericDefault@4 @603
+ GdipStringFormatGetGenericTypographic@4 @604
+ GdipTestControl@8 @605
+ GdipTransformMatrixPoints@12 @606
+ GdipTransformMatrixPointsI@12 @607
+ GdipTransformPath@8 @608
+ GdipTransformPoints@20 @609
+ GdipTransformPointsI@20 @610
+ GdipTransformRegion@8 @611
+ GdipTranslateClip@12 @612
+ GdipTranslateClipI@12 @613
+ GdipTranslateLineTransform@16 @614
+ GdipTranslateMatrix@16 @615
+ GdipTranslateRegion@12 @618
+ GdipTranslateRegionI@12 @619
+ GdipTranslateTextureTransform@16 @620
+ GdipTranslateWorldTransform@16 @621
+ GdipVectorTransformMatrixPoints@12 @622
+ GdipVectorTransformMatrixPointsI@12 @623
+ GdiplusNotificationHook@4 @627
+ GdiplusNotificationUnhook@4 @628
+ GdiplusShutdown@4 @629
+ GdiplusStartup@12 @630
diff --git a/external/gdiplus/makefile.mk b/external/gdiplus/makefile.mk new file mode 100644 index 000000000000..414457c973cb --- /dev/null +++ b/external/gdiplus/makefile.mk @@ -0,0 +1,41 @@ +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Initial Developer of the Original Code is Novell, Inc. +# +# Portions created by the Initial Developer are Copyright (C) 2011 Novell, +# Inc. All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +PRJ=.. +PRJNAME=external +TARGET=gdiplus + +.INCLUDE : settings.mk + +.IF "$(OS)$(COM)" == "WNTGCC" + +ALL: + -$(MKDIRHIER) $(OUT)/inc/gdiplus + cp include/* $(OUT)/inc/gdiplus + $(DLLTOOL) --input-def lib/gdiplus.def --dllname=gdiplus.dll --output-lib=$(OUT)/lib/libgdiplus.dll.a + +.ENDIF + +.INCLUDE : target.mk diff --git a/external/prj/build.lst b/external/prj/build.lst index 6a66269dca0f..ebc4d3d294a5 100644 --- a/external/prj/build.lst +++ b/external/prj/build.lst @@ -4,3 +4,4 @@ el external\glibc nmake - all el_glibc NULL el external\gcc3_specific nmake - all el_gcc3 NULL el external\mingwheaders nmake - w el_mingwheaders NULL el external\jawt nmake - w el_jawt NULL +el external\gdiplus nmake - w el_gdiplus NULL diff --git a/external/prj/d.lst b/external/prj/d.lst index b779c125a678..81d97a0a94b8 100644 --- a/external/prj/d.lst +++ b/external/prj/d.lst @@ -1,5 +1,6 @@ mkdir: %_DEST%\inc\external mkdir: %_DEST%\inc\external\glibc +mkdir: %_DEST%\inc\external\gdiplus mkdir: %_DEST%\inc\external\mingw mkdir: %_DEST%\inc\external\mingw\include mkdir: %_DEST%\inc\external\mingw\include\atl @@ -14,6 +15,8 @@ mkdir: %_DEST%\inc\external\mingw\include\sys ..\%__SRC%\inc\*.h %_DEST%\inc\external\glibc\*.h +..\%__SRC%\inc\gdiplus\*.h %_DEST%\inc\external\gdiplus\*.h + ..\%__SRC%\misc\mingw\include\*.h %_DEST%\inc\external\mingw\include\* ..\%__SRC%\misc\mingw\include\atl\*.h %_DEST%\inc\external\mingw\include\atl\* ..\%__SRC%\misc\mingw\include\sys\*.h %_DEST%\inc\external\mingw\include\sys\* @@ -51,6 +54,8 @@ mkdir: %_DEST%\inc\external\mingw\include\sys ..\%__SRC%\lib\libmsvcrt*.* %_DEST%\lib\lib*.* +..\%__SRC%\lib\libgdiplus.dll.a %_DEST%\lib\libgdiplus.dll.a + ..\%__SRC%\lib\lib*static*.dylib %_DEST%\lib\lib*static*.dylib ..\%__SRC%\lib\libjawt.dll.a %_DEST%\lib\libjawt.dll.a |