' ########################################################################################
' Microsoft Windows
' File: GdiPlusFlat.inc
' Contents: GDI+ flat API
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_GdiPlusFlat_PBI)
#DEFINE PBX_GdiPlusFlat_PBI
%EQUATE `GDIPLUSFLAT_INC = 1
#INCLUDE ONCE "Legacy/COM/ObjIdl.inc"
'//----------------------------------------------------------------------------
'// GraphicsPath APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreatePath LIB "gdiplus.dll" ALIAS "GdipCreatePath" ( BYVAL brushMode AS LONG , BYREF path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreatePath2 LIB "gdiplus.dll" ALIAS "GdipCreatePath2" ( BYREF points AS GpPointF , BYREF types AS ANY , BYVAL count AS LONG , BYVAL fillmode AS LONG , BYREF path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreatePath2I LIB "gdiplus.dll" ALIAS "GdipCreatePath2I" ( BYREF points AS GpPoint , BYREF types AS ANY , BYVAL count AS LONG , BYVAL fillmode AS LONG , BYREF path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipClonePath LIB "gdiplus.dll" ALIAS "GdipClonePath" ( BYVAL path AS QUAD , BYREF clonePath AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeletePath LIB "gdiplus.dll" ALIAS "GdipDeletePath" ( BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetPath LIB "gdiplus.dll" ALIAS "GdipResetPath" ( BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPointCount LIB "gdiplus.dll" ALIAS "GdipGetPointCount" ( BYVAL path AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathTypes LIB "gdiplus.dll" ALIAS "GdipGetPathTypes" ( BYVAL path AS QUAD , BYREF types AS ANY , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathPoints LIB "gdiplus.dll" ALIAS "GdipGetPathPoints" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathPointsI LIB "gdiplus.dll" ALIAS "GdipGetPathPointsI" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathFillMode LIB "gdiplus.dll" ALIAS "GdipGetPathFillMode" ( BYVAL path AS QUAD , BYREF fillmode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathFillMode LIB "gdiplus.dll" ALIAS "GdipSetPathFillMode" ( BYVAL path AS QUAD , BYVAL fillMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathData LIB "gdiplus.dll" ALIAS "GdipGetPathData" ( BYVAL path AS QUAD , BYREF pathData AS GpPathData ) AS LONG ' GpStatus
DECLARE FUNCTION GdipStartPathFigure LIB "gdiplus.dll" ALIAS "GdipStartPathFigure" ( BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipClosePathFigure LIB "gdiplus.dll" ALIAS "GdipClosePathFigure" ( BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipClosePathFigures LIB "gdiplus.dll" ALIAS "GdipClosePathFigures" ( BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathMarker LIB "gdiplus.dll" ALIAS "GdipSetPathMarker" ( BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipClearPathMarkers LIB "gdiplus.dll" ALIAS "GdipClearPathMarkers" ( BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipReversePath LIB "gdiplus.dll" ALIAS "GdipReversePath" ( BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathLastPoint LIB "gdiplus.dll" ALIAS "GdipGetPathLastPoint" ( BYVAL path AS QUAD , BYREF lastPoint AS GpPointF ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathLine LIB "gdiplus.dll" ALIAS "GdipAddPathLine" ( BYVAL path AS QUAD , BYVAL x1 AS SINGLE , BYVAL y1 AS SINGLE , BYVAL x2 AS SINGLE , BYVAL y2 AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathLine2 LIB "gdiplus.dll" ALIAS "GdipAddPathLine2" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathArc LIB "gdiplus.dll" ALIAS "GdipAddPathArc" ( BYVAL path AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathBezier LIB "gdiplus.dll" ALIAS "GdipAddPathBezier" ( BYVAL path AS QUAD , BYVAL x1 AS SINGLE , BYVAL y1 AS SINGLE , BYVAL x2 AS SINGLE , BYVAL y2 AS SINGLE , BYVAL x3 AS SINGLE , BYVAL y3 AS SINGLE , BYVAL x4 AS SINGLE , BYVAL y4 AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathBeziers LIB "gdiplus.dll" ALIAS "GdipAddPathBeziers" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathCurve LIB "gdiplus.dll" ALIAS "GdipAddPathCurve" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathCurve2 LIB "gdiplus.dll" ALIAS "GdipAddPathCurve2" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathCurve3 LIB "gdiplus.dll" ALIAS "GdipAddPathCurve3" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL offset AS LONG , BYVAL numberOfSegments AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathClosedCurve LIB "gdiplus.dll" ALIAS "GdipAddPathClosedCurve" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathClosedCurve2 LIB "gdiplus.dll" ALIAS "GdipAddPathClosedCurve2" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathRectangle LIB "gdiplus.dll" ALIAS "GdipAddPathRectangle" ( BYVAL path AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathRectangles LIB "gdiplus.dll" ALIAS "GdipAddPathRectangles" ( BYVAL path AS QUAD , BYREF rects AS GpRectF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathEllipse LIB "gdiplus.dll" ALIAS "GdipAddPathEllipse" ( BYVAL path AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathPie LIB "gdiplus.dll" ALIAS "GdipAddPathPie" ( BYVAL path AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathPolygon LIB "gdiplus.dll" ALIAS "GdipAddPathPolygon" ( BYVAL path AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathPath LIB "gdiplus.dll" ALIAS "GdipAddPathPath" ( BYVAL path AS QUAD , BYVAL addingPath AS QUAD , BYVAL connect AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathString LIB "gdiplus.dll" ALIAS "GdipAddPathString" ( BYVAL path AS QUAD , BYREF string AS WSTRINGZ , BYVAL length AS LONG , BYVAL family AS QUAD , BYVAL style AS LONG , BYVAL emSize AS SINGLE , BYREF layoutRect AS GpRectF , BYVAL format AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathStringI LIB "gdiplus.dll" ALIAS "GdipAddPathStringI" ( BYVAL path AS QUAD , BYREF string AS WSTRINGZ , BYVAL length AS LONG , BYVAL family AS QUAD , BYVAL style AS LONG , BYVAL emSize AS SINGLE , BYREF layoutRect AS GpRect , BYVAL format AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathLineI LIB "gdiplus.dll" ALIAS "GdipAddPathLineI" ( BYVAL path AS QUAD , BYVAL x1 AS LONG , BYVAL y1 AS LONG , BYVAL x2 AS LONG , BYVAL y2 AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathLine2I LIB "gdiplus.dll" ALIAS "GdipAddPathLine2I" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathArcI LIB "gdiplus.dll" ALIAS "GdipAddPathArcI" ( BYVAL path AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathBezierI LIB "gdiplus.dll" ALIAS "GdipAddPathBezierI" ( BYVAL path AS QUAD , BYVAL x1 AS LONG , BYVAL y1 AS LONG , BYVAL x2 AS LONG , BYVAL y2 AS LONG , BYVAL x3 AS LONG , BYVAL y3 AS LONG , BYVAL x4 AS LONG , BYVAL y4 AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathBeziersI LIB "gdiplus.dll" ALIAS "GdipAddPathBeziersI" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathCurveI LIB "gdiplus.dll" ALIAS "GdipAddPathCurveI" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathCurve2I LIB "gdiplus.dll" ALIAS "GdipAddPathCurve2I" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathCurve3I LIB "gdiplus.dll" ALIAS "GdipAddPathCurve3I" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL offset AS LONG , BYVAL numberOfSegments AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathClosedCurveI LIB "gdiplus.dll" ALIAS "GdipAddPathClosedCurveI" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathClosedCurve2I LIB "gdiplus.dll" ALIAS "GdipAddPathClosedCurve2I" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathRectangleI LIB "gdiplus.dll" ALIAS "GdipAddPathRectangleI" ( BYVAL path AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathRectanglesI LIB "gdiplus.dll" ALIAS "GdipAddPathRectanglesI" ( BYVAL path AS QUAD , BYREF rects AS GpRect , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathEllipseI LIB "gdiplus.dll" ALIAS "GdipAddPathEllipseI" ( BYVAL path AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathPieI LIB "gdiplus.dll" ALIAS "GdipAddPathPieI" ( BYVAL path AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipAddPathPolygonI LIB "gdiplus.dll" ALIAS "GdipAddPathPolygonI" ( BYVAL path AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFlattenPath LIB "gdiplus.dll" ALIAS "GdipFlattenPath" ( BYVAL path AS QUAD , BYVAL matrix AS QUAD , BYVAL flatness AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipWindingModeOutline LIB "gdiplus.dll" ALIAS "GdipWindingModeOutline" ( BYVAL path AS QUAD , BYVAL matrix AS QUAD , BYVAL flatness AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipWidenPath LIB "gdiplus.dll" ALIAS "GdipWidenPath" ( BYVAL nativePath AS LONG , BYVAL pen AS QUAD , BYVAL matrix AS QUAD , BYVAL flatness AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipWarpPath LIB "gdiplus.dll" ALIAS "GdipWarpPath" ( BYVAL path AS QUAD , BYVAL matrix AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL srcx AS SINGLE , BYVAL srcy AS SINGLE , BYVAL srcwidth AS SINGLE , BYVAL srcheight AS SINGLE , BYVAL warpMode AS LONG , BYVAL flatness AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTransformPath LIB "gdiplus.dll" ALIAS "GdipTransformPath" ( BYVAL path AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathWorldBounds LIB "gdiplus.dll" ALIAS "GdipGetPathWorldBounds" ( BYVAL path AS QUAD , BYREF bounds AS GpRectF , BYVAL matrix AS QUAD , BYVAL pen AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathWorldBoundsI LIB "gdiplus.dll" ALIAS "GdipGetPathWorldBoundsI" ( BYVAL path AS QUAD , BYREF bounds AS GpRect , BYVAL matrix AS QUAD , BYVAL pen AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisiblePathPoint LIB "gdiplus.dll" ALIAS "GdipIsVisiblePathPoint" ( BYVAL path AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisiblePathPointI LIB "gdiplus.dll" ALIAS "GdipIsVisiblePathPointI" ( BYVAL path AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsOutlineVisiblePathPoint LIB "gdiplus.dll" ALIAS "GdipIsOutlineVisiblePathPoint" ( BYVAL path AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL pen AS QUAD , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsOutlineVisiblePathPointI LIB "gdiplus.dll" ALIAS "GdipIsOutlineVisiblePathPointI" ( BYVAL path AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL pen AS QUAD , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// PathIterator APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreatePathIter LIB "gdiplus.dll" ALIAS "GdipCreatePathIter" ( BYREF iterator AS QUAD , BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeletePathIter LIB "gdiplus.dll" ALIAS "GdipDeletePathIter" ( BYVAL iterator AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterNextSubpath LIB "gdiplus.dll" ALIAS "GdipPathIterNextSubpath" ( BYVAL iterator AS QUAD , BYREF resultCount AS LONG , BYREF startIndex AS LONG , BYREF endIndex AS LONG , BYREF isClosed AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterNextSubpathPath LIB "gdiplus.dll" ALIAS "GdipPathIterNextSubpathPath" ( BYVAL iterator AS QUAD , BYREF resultCount AS LONG , BYREF path AS QUAD , BYREF isClosed AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterNextPathType LIB "gdiplus.dll" ALIAS "GdipPathIterNextPathType" ( BYVAL iterator AS QUAD , BYREF resultCount AS LONG , BYREF pathType AS ANY , BYREF startIndex AS LONG , BYREF endIndex AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterNextMarker LIB "gdiplus.dll" ALIAS "GdipPathIterNextMarker" ( BYVAL iterator AS QUAD , BYREF resultCount AS LONG , BYREF startIndex AS LONG , BYREF endIndex AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterNextMarkerPath LIB "gdiplus.dll" ALIAS "GdipPathIterNextMarkerPath" ( BYVAL iterator AS QUAD , BYREF resultCount AS LONG , BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterGetCount LIB "gdiplus.dll" ALIAS "GdipPathIterGetCount" ( BYVAL iterator AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterGetSubpathCount LIB "gdiplus.dll" ALIAS "GdipPathIterGetSubpathCount" ( BYVAL iterator AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterIsValid LIB "gdiplus.dll" ALIAS "GdipPathIterIsValid" ( BYVAL iterator AS QUAD , BYREF valid AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterHasCurve LIB "gdiplus.dll" ALIAS "GdipPathIterHasCurve" ( BYVAL iterator AS QUAD , BYREF hasCurve AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterRewind LIB "gdiplus.dll" ALIAS "GdipPathIterRewind" ( BYVAL iterator AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterEnumerate LIB "gdiplus.dll" ALIAS "GdipPathIterEnumerate" ( BYVAL iterator AS QUAD , BYREF resultCount AS LONG , BYREF points AS GpPointF , BYREF types AS ANY , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPathIterCopyData LIB "gdiplus.dll" ALIAS "GdipPathIterCopyData" ( BYVAL iterator AS QUAD , BYREF resultCount AS LONG , BYREF points AS GpPointF , BYREF types AS ANY , BYVAL startIndex AS LONG , BYVAL endIndex AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Matrix APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateMatrix LIB "gdiplus.dll" ALIAS "GdipCreateMatrix" ( BYREF matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateMatrix2 LIB "gdiplus.dll" ALIAS "GdipCreateMatrix2" ( BYVAL m11 AS SINGLE , BYVAL m12 AS SINGLE , BYVAL m21 AS SINGLE , BYVAL m22 AS SINGLE , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE , BYREF matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateMatrix3 LIB "gdiplus.dll" ALIAS "GdipCreateMatrix3" ( BYREF rect AS GpRectF , BYREF dstplg AS GpPointF , BYREF matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateMatrix3I LIB "gdiplus.dll" ALIAS "GdipCreateMatrix3I" ( BYREF rect AS GpRect , BYREF dstplg AS GpPoint , BYREF matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneMatrix LIB "gdiplus.dll" ALIAS "GdipCloneMatrix" ( BYVAL matrix AS QUAD , BYREF cloneMatrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteMatrix LIB "gdiplus.dll" ALIAS "GdipDeleteMatrix" ( BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetMatrixElements LIB "gdiplus.dll" ALIAS "GdipSetMatrixElements" ( BYVAL matrix AS QUAD , BYVAL m11 AS SINGLE , BYVAL m12 AS SINGLE , BYVAL m21 AS SINGLE , BYVAL m22 AS SINGLE , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMultiplyMatrix LIB "gdiplus.dll" ALIAS "GdipMultiplyMatrix" ( BYVAL matrix AS QUAD , BYVAL matrix AS QUAD , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslateMatrix LIB "gdiplus.dll" ALIAS "GdipTranslateMatrix" ( BYVAL matrix AS QUAD , BYVAL offsetX AS SINGLE , BYVAL offsetY AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipScaleMatrix LIB "gdiplus.dll" ALIAS "GdipScaleMatrix" ( BYVAL matrix AS QUAD , BYVAL scaleX AS SINGLE , BYVAL scaleY AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRotateMatrix LIB "gdiplus.dll" ALIAS "GdipRotateMatrix" ( BYVAL matrix AS QUAD , BYVAL angle AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipShearMatrix LIB "gdiplus.dll" ALIAS "GdipShearMatrix" ( BYVAL matrix AS QUAD , BYVAL shearX AS SINGLE , BYVAL shearY AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipInvertMatrix LIB "gdiplus.dll" ALIAS "GdipInvertMatrix" ( BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTransformMatrixPoints LIB "gdiplus.dll" ALIAS "GdipTransformMatrixPoints" ( BYVAL matrix AS QUAD , BYREF pts AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTransformMatrixPointsI LIB "gdiplus.dll" ALIAS "GdipTransformMatrixPointsI" ( BYVAL matrix AS QUAD , BYREF pts AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipVectorTransformMatrixPoints LIB "gdiplus.dll" ALIAS "GdipVectorTransformMatrixPoints" ( BYVAL matrix AS QUAD , BYREF pts AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipVectorTransformMatrixPointsI LIB "gdiplus.dll" ALIAS "GdipVectorTransformMatrixPointsI" ( BYVAL matrix AS QUAD , BYREF pts AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetMatrixElements LIB "gdiplus.dll" ALIAS "GdipGetMatrixElements" ( BYVAL matrix AS QUAD , BYREF matrixOut AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsMatrixInvertible LIB "gdiplus.dll" ALIAS "GdipIsMatrixInvertible" ( BYVAL matrix AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsMatrixIdentity LIB "gdiplus.dll" ALIAS "GdipIsMatrixIdentity" ( BYVAL matrix AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsMatrixEqual LIB "gdiplus.dll" ALIAS "GdipIsMatrixEqual" ( BYVAL matrix AS QUAD , BYVAL matrix2 AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Region APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateRegion LIB "gdiplus.dll" ALIAS "GdipCreateRegion" ( BYREF region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateRegionRect LIB "gdiplus.dll" ALIAS "GdipCreateRegionRect" ( BYREF rect AS GpRectF , BYREF region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateRegionRectI LIB "gdiplus.dll" ALIAS "GdipCreateRegionRectI" ( BYREF rect AS GpRect , BYREF region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateRegionPath LIB "gdiplus.dll" ALIAS "GdipCreateRegionPath" ( BYVAL path AS QUAD , BYREF region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateRegionRgnData LIB "gdiplus.dll" ALIAS "GdipCreateRegionRgnData" ( BYREF regionData AS ANY , BYVAL size AS LONG , BYREF region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateRegionHrgn LIB "gdiplus.dll" ALIAS "GdipCreateRegionHrgn" ( BYVAL hRgn AS QUAD , BYREF region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneRegion LIB "gdiplus.dll" ALIAS "GdipCloneRegion" ( BYVAL region AS QUAD , BYREF cloneRegion AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteRegion LIB "gdiplus.dll" ALIAS "GdipDeleteRegion" ( BYVAL region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetInfinite LIB "gdiplus.dll" ALIAS "GdipSetInfinite" ( BYVAL region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetEmpty LIB "gdiplus.dll" ALIAS "GdipSetEmpty" ( BYVAL region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCombineRegionRect LIB "gdiplus.dll" ALIAS "GdipCombineRegionRect" ( BYVAL region AS QUAD , BYREF rect AS GpRectF , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCombineRegionRectI LIB "gdiplus.dll" ALIAS "GdipCombineRegionRectI" ( BYVAL region AS QUAD , BYREF rect AS GpRect , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCombineRegionPath LIB "gdiplus.dll" ALIAS "GdipCombineRegionPath" ( BYVAL region AS QUAD , BYVAL path AS QUAD , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCombineRegionRegion LIB "gdiplus.dll" ALIAS "GdipCombineRegionRegion" ( BYVAL region AS QUAD , BYVAL region2 AS QUAD , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslateRegion LIB "gdiplus.dll" ALIAS "GdipTranslateRegion" ( BYVAL region AS QUAD , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslateRegionI LIB "gdiplus.dll" ALIAS "GdipTranslateRegionI" ( BYVAL region AS QUAD , BYVAL dx AS LONG , BYVAL dy AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTransformRegion LIB "gdiplus.dll" ALIAS "GdipTransformRegion" ( BYVAL region AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRegionBounds LIB "gdiplus.dll" ALIAS "GdipGetRegionBounds" ( BYVAL region AS QUAD , BYVAL graphics AS QUAD , BYREF rect AS GpRectF ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRegionBoundsI LIB "gdiplus.dll" ALIAS "GdipGetRegionBoundsI" ( BYVAL region AS QUAD , BYVAL graphics AS QUAD , BYREF rect AS GpRect ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRegionHRgn LIB "gdiplus.dll" ALIAS "GdipGetRegionHRgn" ( BYVAL region AS QUAD , BYVAL graphics AS QUAD , BYREF hRgn AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsEmptyRegion LIB "gdiplus.dll" ALIAS "GdipIsEmptyRegion" ( BYVAL region AS QUAD , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsInfiniteRegion LIB "gdiplus.dll" ALIAS "GdipIsInfiniteRegion" ( BYVAL region AS QUAD , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsEqualRegion LIB "gdiplus.dll" ALIAS "GdipIsEqualRegion" ( BYVAL region AS QUAD , BYVAL region2 AS QUAD , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRegionDataSize LIB "gdiplus.dll" ALIAS "GdipGetRegionDataSize" ( BYVAL region AS QUAD , BYREF bufferSize AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRegionData LIB "gdiplus.dll" ALIAS "GdipGetRegionData" ( BYVAL region AS QUAD , BYREF buffer AS ANY , BYVAL bufferSize AS QUAD , BYREF sizeFilled AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisibleRegionPoint LIB "gdiplus.dll" ALIAS "GdipIsVisibleRegionPoint" ( BYVAL region AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisibleRegionPointI LIB "gdiplus.dll" ALIAS "GdipIsVisibleRegionPointI" ( BYVAL region AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisibleRegionRect LIB "gdiplus.dll" ALIAS "GdipIsVisibleRegionRect" ( BYVAL region AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisibleRegionRectI LIB "gdiplus.dll" ALIAS "GdipIsVisibleRegionRectI" ( BYVAL region AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRegionScansCount LIB "gdiplus.dll" ALIAS "GdipGetRegionScansCount" ( BYVAL region AS QUAD , BYREF count AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRegionScans LIB "gdiplus.dll" ALIAS "GdipGetRegionScans" ( BYVAL region AS QUAD , BYREF rects AS GpRectF , BYREF count AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRegionScansI LIB "gdiplus.dll" ALIAS "GdipGetRegionScansI" ( BYVAL region AS QUAD , BYREF rects AS GpRect , BYREF count AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Brush APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCloneBrush LIB "gdiplus.dll" ALIAS "GdipCloneBrush" ( BYVAL brush AS QUAD , BYREF cloneBrush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteBrush LIB "gdiplus.dll" ALIAS "GdipDeleteBrush" ( BYVAL brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetBrushType LIB "gdiplus.dll" ALIAS "GdipGetBrushType" ( BYVAL brush AS QUAD , BYREF type AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// HatchBrush APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateHatchBrush LIB "gdiplus.dll" ALIAS "GdipCreateHatchBrush" ( BYVAL hatchstyle AS LONG , BYVAL forecol AS QUAD , BYVAL backcol AS QUAD , BYREF brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetHatchStyle LIB "gdiplus.dll" ALIAS "GdipGetHatchStyle" ( BYVAL brush AS QUAD , BYREF hatchstyle AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetHatchForegroundColor LIB "gdiplus.dll" ALIAS "GdipGetHatchForegroundColor" ( BYVAL brush AS QUAD , BYREF forecol AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetHatchBackgroundColor LIB "gdiplus.dll" ALIAS "GdipGetHatchBackgroundColor" ( BYVAL brush AS QUAD , BYREF backcol AS QUAD ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// TextureBrush APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateTexture LIB "gdiplus.dll" ALIAS "GdipCreateTexture" ( BYVAL image AS QUAD , BYVAL wrapmode AS LONG , BYREF texture AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateTexture2 LIB "gdiplus.dll" ALIAS "GdipCreateTexture2" ( BYVAL image AS QUAD , BYVAL wrapmode AS LONG , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYREF texture AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateTextureIA LIB "gdiplus.dll" ALIAS "GdipCreateTextureIA" ( BYVAL image AS QUAD , BYVAL imageAttributes AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYREF texture AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateTexture2I LIB "gdiplus.dll" ALIAS "GdipCreateTexture2I" ( BYVAL image AS QUAD , BYVAL wrapmode AS LONG , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYREF texture AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateTextureIAI LIB "gdiplus.dll" ALIAS "GdipCreateTextureIAI" ( BYVAL image AS QUAD , BYVAL imageAttributes AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYREF texture AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetTextureTransform LIB "gdiplus.dll" ALIAS "GdipGetTextureTransform" ( BYVAL brush AS QUAD , BYREF matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetTextureTransform LIB "gdiplus.dll" ALIAS "GdipSetTextureTransform" ( BYVAL brush AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetTextureTransform LIB "gdiplus.dll" ALIAS "GdipResetTextureTransform" ( BYVAL brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMultiplyTextureTransform LIB "gdiplus.dll" ALIAS "GdipMultiplyTextureTransform" ( BYVAL brush AS QUAD , BYVAL matrix AS QUAD , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslateTextureTransform LIB "gdiplus.dll" ALIAS "GdipTranslateTextureTransform" ( BYVAL brush AS QUAD , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipScaleTextureTransform LIB "gdiplus.dll" ALIAS "GdipScaleTextureTransform" ( BYVAL brush AS QUAD , BYVAL sz AS SINGLE , BYVAL sy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRotateTextureTransform LIB "gdiplus.dll" ALIAS "GdipRotateTextureTransform" ( BYVAL brush AS QUAD , BYVAL angle AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetTextureWrapMode LIB "gdiplus.dll" ALIAS "GdipSetTextureWrapMode" ( BYVAL brush AS QUAD , BYVAL wrapmode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetTextureWrapMode LIB "gdiplus.dll" ALIAS "GdipGetTextureWrapMode" ( BYVAL brush AS QUAD , BYREF wrapmode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetTextureImage LIB "gdiplus.dll" ALIAS "GdipGetTextureImage" ( BYVAL brush AS QUAD , BYREF image AS QUAD ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// SolidBrush APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateSolidFill LIB "gdiplus.dll" ALIAS "GdipCreateSolidFill" ( BYVAL color AS QUAD , BYREF brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetSolidFillColor LIB "gdiplus.dll" ALIAS "GdipSetSolidFillColor" ( BYVAL brush AS QUAD , BYVAL color AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetSolidFillColor LIB "gdiplus.dll" ALIAS "GdipGetSolidFillColor" ( BYVAL brush AS QUAD , BYREF color AS QUAD ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// LineBrush APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateLineBrush LIB "gdiplus.dll" ALIAS "GdipCreateLineBrush" ( BYREF point1 AS GpPointF , BYREF point2 AS GpPointF , BYVAL color1 AS QUAD , BYVAL color2 AS QUAD , BYVAL wrapmode AS LONG , BYREF lineGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateLineBrushI LIB "gdiplus.dll" ALIAS "GdipCreateLineBrushI" ( BYREF GpPoint , BYREF GpPoint , BYVAL color1 AS QUAD , BYVAL color2 AS QUAD , BYVAL wrapmode AS LONG , BYREF lineGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateLineBrushFromRect LIB "gdiplus.dll" ALIAS "GdipCreateLineBrushFromRect" ( BYREF rect AS GpRectF , BYVAL color1 AS QUAD , BYVAL color2 AS QUAD , BYVAL mode AS LONG , BYVAL wrapmode AS LONG , BYREF lineGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateLineBrushFromRectI LIB "gdiplus.dll" ALIAS "GdipCreateLineBrushFromRectI" ( BYREF rect AS GpRect , BYVAL color1 AS QUAD , BYVAL color2 AS QUAD , BYVAL mode AS LONG , BYVAL wrapmode AS LONG , BYREF lineGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateLineBrushFromRectWithAngle LIB "gdiplus.dll" ALIAS "GdipCreateLineBrushFromRectWithAngle" ( BYREF rect AS GpRectF , BYVAL color1 AS QUAD , BYVAL color2 AS QUAD , BYVAL angle AS SINGLE , BYVAL isAngleScalable AS LONG , BYVAL wrapmode AS LONG , BYREF lineGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateLineBrushFromRectWithAngleI LIB "gdiplus.dll" ALIAS "GdipCreateLineBrushFromRectWithAngleI" ( BYREF rect AS GpRect , BYVAL color1 AS QUAD , BYVAL color2 AS QUAD , BYVAL angle AS SINGLE , BYVAL isAngleScalable AS LONG , BYVAL wrapmode AS LONG , BYREF lineGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetLineColors LIB "gdiplus.dll" ALIAS "GdipSetLineColors" ( BYVAL brush AS QUAD , BYVAL color1 AS QUAD , BYVAL color2 AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineColors LIB "gdiplus.dll" ALIAS "GdipGetLineColors" ( BYVAL brush AS QUAD , BYREF colors AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineRect LIB "gdiplus.dll" ALIAS "GdipGetLineRect" ( BYVAL brush AS QUAD , BYREF rect AS GpRectF ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineRectI LIB "gdiplus.dll" ALIAS "GdipGetLineRectI" ( BYVAL brush AS QUAD , BYREF rect AS GpRect ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetLineGammaCorrection LIB "gdiplus.dll" ALIAS "GdipSetLineGammaCorrection" ( BYVAL brush AS QUAD , BYVAL useGammaCorrection AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineGammaCorrection LIB "gdiplus.dll" ALIAS "GdipGetLineGammaCorrection" ( BYVAL brush AS QUAD , BYREF useGammaCorrection AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineBlendCount LIB "gdiplus.dll" ALIAS "GdipGetLineBlendCount" ( BYVAL brush AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineBlend LIB "gdiplus.dll" ALIAS "GdipGetLineBlend" ( BYVAL brush AS QUAD , BYREF blend AS SINGLE , BYREF positions AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetLineBlend LIB "gdiplus.dll" ALIAS "GdipSetLineBlend" ( BYVAL brush AS QUAD , BYREF blend AS SINGLE , BYREF positions AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLinePresetBlendCount LIB "gdiplus.dll" ALIAS "GdipGetLinePresetBlendCount" ( BYVAL brush AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLinePresetBlend LIB "gdiplus.dll" ALIAS "GdipGetLinePresetBlend" ( BYVAL brush AS QUAD , BYREF blend AS QUAD , BYREF positions AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetLinePresetBlend LIB "gdiplus.dll" ALIAS "GdipSetLinePresetBlend" ( BYVAL brush AS QUAD , BYREF blend AS QUAD , BYREF positions AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetLineSigmaBlend LIB "gdiplus.dll" ALIAS "GdipSetLineSigmaBlend" ( BYVAL brush AS QUAD , BYVAL focus AS SINGLE , BYVAL scale AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetLineLinearBlend LIB "gdiplus.dll" ALIAS "GdipSetLineLinearBlend" ( BYVAL brush AS QUAD , BYVAL focus AS SINGLE , BYVAL scale AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetLineWrapMode LIB "gdiplus.dll" ALIAS "GdipSetLineWrapMode" ( BYVAL brush AS QUAD , BYVAL wrapmode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineWrapMode LIB "gdiplus.dll" ALIAS "GdipGetLineWrapMode" ( BYVAL brush AS QUAD , BYREF wrapmode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineTransform LIB "gdiplus.dll" ALIAS "GdipGetLineTransform" ( BYVAL brush AS QUAD , BYREF matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetLineTransform LIB "gdiplus.dll" ALIAS "GdipSetLineTransform" ( BYVAL brush AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetLineTransform LIB "gdiplus.dll" ALIAS "GdipResetLineTransform" ( BYVAL brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMultiplyLineTransform LIB "gdiplus.dll" ALIAS "GdipMultiplyLineTransform" ( BYVAL brush AS QUAD , BYVAL matrix AS QUAD , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslateLineTransform LIB "gdiplus.dll" ALIAS "GdipTranslateLineTransform" ( BYVAL brush AS QUAD , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipScaleLineTransform LIB "gdiplus.dll" ALIAS "GdipScaleLineTransform" ( BYVAL brush AS QUAD , BYVAL sx AS SINGLE , BYVAL sy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRotateLineTransform LIB "gdiplus.dll" ALIAS "GdipRotateLineTransform" ( BYVAL brush AS QUAD , BYVAL angle AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// PathGradientBrush APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreatePathGradient LIB "gdiplus.dll" ALIAS "GdipCreatePathGradient" ( BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL wrapmode AS LONG , BYREF polyGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreatePathGradientI LIB "gdiplus.dll" ALIAS "GdipCreatePathGradientI" ( BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL wrapmode AS LONG , BYREF polyGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreatePathGradientFromPath LIB "gdiplus.dll" ALIAS "GdipCreatePathGradientFromPath" ( BYVAL path AS QUAD , BYREF polyGradient AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientCenterColor LIB "gdiplus.dll" ALIAS "GdipGetPathGradientCenterColor" ( BYVAL brush AS QUAD , BYREF color AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientCenterColor LIB "gdiplus.dll" ALIAS "GdipSetPathGradientCenterColor" ( BYVAL brush AS QUAD , BYVAL colors AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientSurroundColorsWithCount LIB "gdiplus.dll" ALIAS "GdipGetPathGradientSurroundColorsWithCount" ( BYVAL brush AS QUAD , BYREF color AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientSurroundColorsWithCount LIB "gdiplus.dll" ALIAS "GdipSetPathGradientSurroundColorsWithCount" ( BYVAL brush AS QUAD , BYREF color AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientPath LIB "gdiplus.dll" ALIAS "GdipGetPathGradientPath" ( BYVAL brush AS QUAD , BYREF path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientPath LIB "gdiplus.dll" ALIAS "GdipSetPathGradientPath" ( BYVAL brush AS QUAD , BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientCenterPoint LIB "gdiplus.dll" ALIAS "GdipGetPathGradientCenterPoint" ( BYVAL brush AS QUAD , BYREF points AS GpPointF ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientCenterPointI LIB "gdiplus.dll" ALIAS "GdipGetPathGradientCenterPointI" ( BYVAL brush AS QUAD , BYREF points AS GpPoint ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientCenterPoint LIB "gdiplus.dll" ALIAS "GdipSetPathGradientCenterPoint" ( BYVAL brush AS QUAD , BYREF points AS GpPointF ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientCenterPointI LIB "gdiplus.dll" ALIAS "GdipSetPathGradientCenterPointI" ( BYVAL brush AS QUAD , BYREF points AS GpPoint ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientRect LIB "gdiplus.dll" ALIAS "GdipGetPathGradientRect" ( BYVAL brush AS QUAD , BYREF rect AS GpRectF ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientRectI LIB "gdiplus.dll" ALIAS "GdipGetPathGradientRectI" ( BYVAL brush AS QUAD , BYREF rect AS GpRect ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientPointCount LIB "gdiplus.dll" ALIAS "GdipGetPathGradientPointCount" ( BYVAL brush AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientSurroundColorCount LIB "gdiplus.dll" ALIAS "GdipGetPathGradientSurroundColorCount" ( BYVAL brush AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientGammaCorrection LIB "gdiplus.dll" ALIAS "GdipSetPathGradientGammaCorrection" ( BYVAL brush AS QUAD , BYVAL useGammaCorrection AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientGammaCorrection LIB "gdiplus.dll" ALIAS "GdipGetPathGradientGammaCorrection" ( BYVAL brush AS QUAD , BYREF useGammaCorrection AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientBlendCount LIB "gdiplus.dll" ALIAS "GdipGetPathGradientBlendCount" ( BYVAL brush AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientBlend LIB "gdiplus.dll" ALIAS "GdipGetPathGradientBlend" ( BYVAL brush AS QUAD , BYREF blend AS SINGLE , BYREF positions AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientBlend LIB "gdiplus.dll" ALIAS "GdipSetPathGradientBlend" ( BYVAL brush AS QUAD , BYREF blend AS SINGLE , BYREF positions AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientPresetBlendCount LIB "gdiplus.dll" ALIAS "GdipGetPathGradientPresetBlendCount" ( BYVAL brush AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientPresetBlend LIB "gdiplus.dll" ALIAS "GdipGetPathGradientPresetBlend" ( BYVAL brush AS QUAD , BYREF blend AS QUAD , BYREF positions AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientPresetBlend LIB "gdiplus.dll" ALIAS "GdipSetPathGradientPresetBlend" ( BYVAL brush AS QUAD , BYREF blend AS QUAD , BYREF positions AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientSigmaBlend LIB "gdiplus.dll" ALIAS "GdipSetPathGradientSigmaBlend" ( BYVAL brush AS QUAD , BYVAL focus AS SINGLE , BYVAL scale AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientLinearBlend LIB "gdiplus.dll" ALIAS "GdipSetPathGradientLinearBlend" ( BYVAL brush AS QUAD , BYVAL focus AS SINGLE , BYVAL scale AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientWrapMode LIB "gdiplus.dll" ALIAS "GdipGetPathGradientWrapMode" ( BYVAL brush AS QUAD , BYREF wrapmode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientWrapMode LIB "gdiplus.dll" ALIAS "GdipSetPathGradientWrapMode" ( BYVAL brush AS QUAD , BYVAL wrapmode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientTransform LIB "gdiplus.dll" ALIAS "GdipGetPathGradientTransform" ( BYVAL brush AS QUAD , BYREF matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientTransform LIB "gdiplus.dll" ALIAS "GdipSetPathGradientTransform" ( BYVAL brush AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetPathGradientTransform LIB "gdiplus.dll" ALIAS "GdipResetPathGradientTransform" ( BYVAL brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMultiplyPathGradientTransform LIB "gdiplus.dll" ALIAS "GdipMultiplyPathGradientTransform" ( BYVAL brush AS QUAD , BYVAL matrix AS QUAD , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslatePathGradientTransform LIB "gdiplus.dll" ALIAS "GdipTranslatePathGradientTransform" ( BYVAL brush AS QUAD , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipScalePathGradientTransform LIB "gdiplus.dll" ALIAS "GdipScalePathGradientTransform" ( BYVAL brush AS QUAD , BYVAL sx AS SINGLE , BYVAL sy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRotatePathGradientTransform LIB "gdiplus.dll" ALIAS "GdipRotatePathGradientTransform" ( BYVAL brush AS QUAD , BYVAL angle AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPathGradientFocusScales LIB "gdiplus.dll" ALIAS "GdipGetPathGradientFocusScales" ( BYVAL brush AS QUAD , BYREF xScale AS SINGLE , BYREF yScale AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPathGradientFocusScales LIB "gdiplus.dll" ALIAS "GdipSetPathGradientFocusScales" ( BYVAL brush AS QUAD , BYVAL xScale AS SINGLE , BYVAL yScale AS SINGLE ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Pen APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreatePen1 LIB "gdiplus.dll" ALIAS "GdipCreatePen1" ( BYVAL color AS QUAD , BYVAL width AS SINGLE , BYVAL unit AS LONG , BYREF pen AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreatePen2 LIB "gdiplus.dll" ALIAS "GdipCreatePen2" ( BYVAL brush AS QUAD , BYVAL width AS SINGLE , BYVAL unit AS LONG , BYREF pen AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipClonePen LIB "gdiplus.dll" ALIAS "GdipClonePen" ( BYVAL pen AS QUAD , BYREF clonepen AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeletePen LIB "gdiplus.dll" ALIAS "GdipDeletePen" ( BYVAL pen AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenWidth LIB "gdiplus.dll" ALIAS "GdipSetPenWidth" ( BYVAL pen AS QUAD , BYVAL width AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenWidth LIB "gdiplus.dll" ALIAS "GdipGetPenWidth" ( BYVAL pen AS QUAD , BYREF width AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenUnit LIB "gdiplus.dll" ALIAS "GdipSetPenUnit" ( BYVAL pen AS QUAD , BYVAL unit AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenUnit LIB "gdiplus.dll" ALIAS "GdipGetPenUnit" ( BYVAL pen AS QUAD , BYREF unit AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenLineCap197819 LIB "gdiplus.dll" ALIAS "GdipSetPenLineCap197819" ( BYVAL pen AS QUAD , BYVAL startCap AS LONG , BYVAL endCap AS LONG , BYVAL dashCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenStartCap LIB "gdiplus.dll" ALIAS "GdipSetPenStartCap" ( BYVAL pen AS QUAD , BYVAL startCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenEndCap LIB "gdiplus.dll" ALIAS "GdipSetPenEndCap" ( BYVAL pen AS QUAD , BYVAL endCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenDashCap197819 LIB "gdiplus.dll" ALIAS "GdipSetPenDashCap197819" ( BYVAL pen AS QUAD , BYVAL dashCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenStartCap LIB "gdiplus.dll" ALIAS "GdipGetPenStartCap" ( BYVAL pen AS QUAD , BYREF startCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenEndCap LIB "gdiplus.dll" ALIAS "GdipGetPenEndCap" ( BYVAL pen AS QUAD , BYREF startCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenDashCap197819 LIB "gdiplus.dll" ALIAS "GdipGetPenDashCap197819" ( BYVAL pen AS QUAD , BYREF dashCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenLineJoin LIB "gdiplus.dll" ALIAS "GdipSetPenLineJoin" ( BYVAL pen AS QUAD , BYVAL lineJoin AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenLineJoin LIB "gdiplus.dll" ALIAS "GdipGetPenLineJoin" ( BYVAL pen AS QUAD , BYREF lineJoin AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenCustomStartCap LIB "gdiplus.dll" ALIAS "GdipSetPenCustomStartCap" ( BYVAL pen AS QUAD , BYVAL customCap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenCustomStartCap LIB "gdiplus.dll" ALIAS "GdipGetPenCustomStartCap" ( BYVAL pen AS QUAD , BYREF customCap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenCustomEndCap LIB "gdiplus.dll" ALIAS "GdipSetPenCustomEndCap" ( BYVAL pen AS QUAD , BYVAL customCap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenCustomEndCap LIB "gdiplus.dll" ALIAS "GdipGetPenCustomEndCap" ( BYVAL pen AS QUAD , BYREF customCap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenMiterLimit LIB "gdiplus.dll" ALIAS "GdipSetPenMiterLimit" ( BYVAL pen AS QUAD , BYVAL miterLimit AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenMiterLimit LIB "gdiplus.dll" ALIAS "GdipGetPenMiterLimit" ( BYVAL pen AS QUAD , BYREF miterLimit aS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenMode LIB "gdiplus.dll" ALIAS "GdipSetPenMode" ( BYVAL pen AS QUAD , BYVAL penMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenMode LIB "gdiplus.dll" ALIAS "GdipGetPenMode" ( BYVAL pen AS QUAD , BYREF penMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenTransform LIB "gdiplus.dll" ALIAS "GdipSetPenTransform" ( BYVAL pen AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenTransform LIB "gdiplus.dll" ALIAS "GdipGetPenTransform" ( BYVAL pen AS QUAD , BYREF matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetPenTransform LIB "gdiplus.dll" ALIAS "GdipResetPenTransform" ( BYVAL pen AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMultiplyPenTransform LIB "gdiplus.dll" ALIAS "GdipMultiplyPenTransform" ( BYVAL pen AS QUAD , BYVAL matrix AS QUAD , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslatePenTransform LIB "gdiplus.dll" ALIAS "GdipTranslatePenTransform" ( BYVAL pen AS QUAD , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipScalePenTransform LIB "gdiplus.dll" ALIAS "GdipScalePenTransform" ( BYVAL pen AS QUAD , BYVAL sx AS SINGLE , BYVAL sy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRotatePenTransform LIB "gdiplus.dll" ALIAS "GdipRotatePenTransform" ( BYVAL pen AS QUAD , BYVAL angle AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenColor LIB "gdiplus.dll" ALIAS "GdipSetPenColor" ( BYVAL pen AS QUAD , BYVAL argb AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenColor LIB "gdiplus.dll" ALIAS "GdipGetPenColor" ( BYVAL pen AS QUAD , BYREF argb AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenBrushFill LIB "gdiplus.dll" ALIAS "GdipSetPenBrushFill" ( BYVAL pen AS QUAD , BYVAL brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenBrushFill LIB "gdiplus.dll" ALIAS "GdipGetPenBrushFill" ( BYVAL pen AS QUAD , BYREF brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenFillType LIB "gdiplus.dll" ALIAS "GdipGetPenFillType" ( BYVAL pen AS QUAD , BYREF type AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenDashStyle LIB "gdiplus.dll" ALIAS "GdipGetPenDashStyle" ( BYVAL pen AS QUAD , BYREF dashstyle AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenDashStyle LIB "gdiplus.dll" ALIAS "GdipSetPenDashStyle" ( BYVAL pen AS QUAD , BYVAL dashstyle AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenDashOffset LIB "gdiplus.dll" ALIAS "GdipGetPenDashOffset" ( BYVAL pen AS QUAD , BYREF offset AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenDashOffset LIB "gdiplus.dll" ALIAS "GdipSetPenDashOffset" ( BYVAL pen AS QUAD , BYVAL offset AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenDashCount LIB "gdiplus.dll" ALIAS "GdipGetPenDashCount" ( BYVAL pen AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenDashArray LIB "gdiplus.dll" ALIAS "GdipSetPenDashArray" ( BYVAL pen AS QUAD , BYREF dash AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenDashArray LIB "gdiplus.dll" ALIAS "GdipGetPenDashArray" ( BYVAL pen AS QUAD , BYREF dash AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenCompoundCount LIB "gdiplus.dll" ALIAS "GdipGetPenCompoundCount" ( BYVAL pen AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPenCompoundArray LIB "gdiplus.dll" ALIAS "GdipSetPenCompoundArray" ( BYVAL pen AS QUAD , BYREF dash AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPenCompoundArray LIB "gdiplus.dll" ALIAS "GdipGetPenCompoundArray" ( BYVAL pen AS QUAD , BYREF dash AS SINGLE , BYVAL count AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// CustomLineCap APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateCustomLineCap LIB "gdiplus.dll" ALIAS "GdipCreateCustomLineCap" ( BYVAL fillPath AS QUAD , BYVAL strokePath AS QUAD , BYVAL baseCap AS LONG , BYVAL baseInset AS SINGLE , BYREF customCap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteCustomLineCap LIB "gdiplus.dll" ALIAS "GdipDeleteCustomLineCap" ( BYVAL customCap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneCustomLineCap LIB "gdiplus.dll" ALIAS "GdipCloneCustomLineCap" ( BYVAL customCap AS QUAD , BYREF clonedCap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCustomLineCapType LIB "gdiplus.dll" ALIAS "GdipGetCustomLineCapType" ( BYVAL customCap AS QUAD , BYREF capType AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetCustomLineCapStrokeCaps LIB "gdiplus.dll" ALIAS "GdipSetCustomLineCapStrokeCaps" ( BYVAL customCap AS QUAD , BYVAL startCap AS LONG , BYVAL endCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCustomLineCapStrokeCaps LIB "gdiplus.dll" ALIAS "GdipGetCustomLineCapStrokeCaps" ( BYVAL customCap AS QUAD , BYREF startCap AS LONG , BYREF endCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetCustomLineCapStrokeJoin LIB "gdiplus.dll" ALIAS "GdipSetCustomLineCapStrokeJoin" ( BYVAL customCap AS QUAD , BYVAL lineJoin AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCustomLineCapStrokeJoin LIB "gdiplus.dll" ALIAS "GdipGetCustomLineCapStrokeJoin" ( BYVAL customCap AS QUAD , BYREF lineJoin AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetCustomLineCapBaseCap LIB "gdiplus.dll" ALIAS "GdipSetCustomLineCapBaseCap" ( BYVAL customCap AS QUAD , BYVAL baseCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCustomLineCapBaseCap LIB "gdiplus.dll" ALIAS "GdipGetCustomLineCapBaseCap" ( BYVAL customCap AS QUAD , BYREF baseCap AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetCustomLineCapBaseInset LIB "gdiplus.dll" ALIAS "GdipSetCustomLineCapBaseInset" ( BYVAL customCap AS QUAD , BYVAL inset AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCustomLineCapBaseInset LIB "gdiplus.dll" ALIAS "GdipGetCustomLineCapBaseInset" ( BYVAL customCap AS QUAD , BYREF inset AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetCustomLineCapWidthScale LIB "gdiplus.dll" ALIAS "GdipSetCustomLineCapWidthScale" ( BYVAL customCap AS QUAD , BYVAL width AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCustomLineCapWidthScale LIB "gdiplus.dll" ALIAS "GdipGetCustomLineCapWidthScale" ( BYVAL customCap AS QUAD , BYREF widthScale AS SINGLE ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// AdjustableArrowCap APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateAdjustableArrowCap LIB "gdiplus.dll" ALIAS "GdipCreateAdjustableArrowCap" ( BYVAL height AS SINGLE , BYVAL width AS SINGLE , BYVAL isFilled AS LONG , BYREF cap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetAdjustableArrowCapHeight LIB "gdiplus.dll" ALIAS "GdipSetAdjustableArrowCapHeight" ( BYVAL cap AS QUAD , BYVAL height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetAdjustableArrowCapHeight LIB "gdiplus.dll" ALIAS "GdipGetAdjustableArrowCapHeight" ( BYVAL cap AS QUAD , BYREF height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetAdjustableArrowCapWidth LIB "gdiplus.dll" ALIAS "GdipSetAdjustableArrowCapWidth" ( BYVAL cap AS QUAD , BYVAL width AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetAdjustableArrowCapWidth LIB "gdiplus.dll" ALIAS "GdipGetAdjustableArrowCapWidth" ( BYVAL cap AS QUAD , BYREF width AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetAdjustableArrowCapMiddleInset LIB "gdiplus.dll" ALIAS "GdipSetAdjustableArrowCapMiddleInset" ( BYVAL cap AS QUAD , BYVAL middleInset AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetAdjustableArrowCapMiddleInset LIB "gdiplus.dll" ALIAS "GdipGetAdjustableArrowCapMiddleInset" ( BYVAL cap AS QUAD , BYREF middleInset AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetAdjustableArrowCapFillState LIB "gdiplus.dll" ALIAS "GdipSetAdjustableArrowCapFillState" ( BYVAL cap AS QUAD , BYVAL fillState AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetAdjustableArrowCapFillState LIB "gdiplus.dll" ALIAS "GdipGetAdjustableArrowCapFillState" ( BYVAL cap AS QUAD , BYREF fillState AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Image APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipLoadImageFromStream LIB "gdiplus.dll" ALIAS "GdipLoadImageFromStream" ( BYVAL stream AS IStream , BYREF image AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipLoadImageFromFile LIB "gdiplus.dll" ALIAS "GdipLoadImageFromFile" ( BYREF filename AS WSTRINGZ , BYREF image AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipLoadImageFromStreamICM LIB "gdiplus.dll" ALIAS "GdipLoadImageFromStreamICM" ( BYVAL stream AS IStream , BYREF image AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipLoadImageFromFileICM LIB "gdiplus.dll" ALIAS "GdipLoadImageFromFileICM" ( BYREF filename AS WSTRINGZ , BYREF image AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneImage LIB "gdiplus.dll" ALIAS "GdipCloneImage" ( BYVAL image AS QUAD , BYREF cloneImage AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDisposeImage LIB "gdiplus.dll" ALIAS "GdipDisposeImage" ( BYVAL image AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSaveImageToFile LIB "gdiplus.dll" ALIAS "GdipSaveImageToFile" ( BYVAL image AS QUAD , BYREF filename AS WSTRINGZ , BYREF clsidEncoder AS GUID , BYREF encoderParams AS EncoderParameters ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSaveImageToStream LIB "gdiplus.dll" ALIAS "GdipSaveImageToStream" ( BYVAL image AS QUAD , BYVAL stream AS IStream , BYREF clsidEncoder AS GUID , BYREF encoderParams AS EncoderParameters ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSaveAdd LIB "gdiplus.dll" ALIAS "GdipSaveAdd" ( BYVAL image AS QUAD , BYREF encoderParams AS EncoderParameters ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSaveAddImage LIB "gdiplus.dll" ALIAS "GdipSaveAddImage" ( BYVAL image AS QUAD , BYVAL newImage AS QUAD , BYREF encoderParams AS EncoderParameters ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageGraphicsContext LIB "gdiplus.dll" ALIAS "GdipGetImageGraphicsContext" ( BYVAL image AS QUAD , BYREF graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageBounds LIB "gdiplus.dll" ALIAS "GdipGetImageBounds" ( BYVAL image AS QUAD , BYREF srcRect AS GpRectF , BYREF srcUnit AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageDimension LIB "gdiplus.dll" ALIAS "GdipGetImageDimension" ( BYVAL image AS QUAD , BYREF width AS SINGLE , BYREF height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageType LIB "gdiplus.dll" ALIAS "GdipGetImageType" ( BYVAL image AS QUAD , BYREF type AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageWidth LIB "gdiplus.dll" ALIAS "GdipGetImageWidth" ( BYVAL image AS QUAD , BYREF width AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageHeight LIB "gdiplus.dll" ALIAS "GdipGetImageHeight" ( BYVAL image AS QUAD , BYREF height AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageHorizontalResolution LIB "gdiplus.dll" ALIAS "GdipGetImageHorizontalResolution" ( BYVAL image AS QUAD , BYREF resolution AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageVerticalResolution LIB "gdiplus.dll" ALIAS "GdipGetImageVerticalResolution" ( BYVAL image AS QUAD , BYREF resolution AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageFlags LIB "gdiplus.dll" ALIAS "GdipGetImageFlags" ( BYVAL image AS QUAD , BYREF flags AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageRawFormat LIB "gdiplus.dll" ALIAS "GdipGetImageRawFormat" ( BYVAL image AS QUAD , BYREF format AS GUID ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImagePixelFormat LIB "gdiplus.dll" ALIAS "GdipGetImagePixelFormat" ( BYVAL image AS QUAD , BYREF format AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageThumbnail LIB "gdiplus.dll" ALIAS "GdipGetImageThumbnail" ( BYVAL image AS QUAD , BYVAL thumbWidth AS QUAD , BYVAL thumbHeight AS QUAD , BYREF thumbImage AS QUAD , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetEncoderParameterListSize LIB "gdiplus.dll" ALIAS "GdipGetEncoderParameterListSize" ( BYVAL image AS QUAD , BYREF clsidEncoder AS GUID , BYREF size AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetEncoderParameterList LIB "gdiplus.dll" ALIAS "GdipGetEncoderParameterList" ( BYVAL image AS QUAD , BYREF clsidEncoder AS GUID , BYVAL size AS QUAD , BYREF buffer AS EncoderParameters ) AS LONG ' GpStatus
DECLARE FUNCTION GdipImageGetFrameDimensionsCount LIB "gdiplus.dll" ALIAS "GdipImageGetFrameDimensionsCount" ( BYVAL image AS QUAD , BYREF count AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipImageGetFrameDimensionsList LIB "gdiplus.dll" ALIAS "GdipImageGetFrameDimensionsList" ( BYVAL image AS QUAD , BYREF dimensionIDs AS GUID , BYVAL count AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipImageGetFrameCount LIB "gdiplus.dll" ALIAS "GdipImageGetFrameCount" ( BYVAL image AS QUAD , BYREF dimensionID AS GUID , BYREF count AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipImageSelectActiveFrame LIB "gdiplus.dll" ALIAS "GdipImageSelectActiveFrame" ( BYVAL image AS QUAD , BYREF dimensionID AS GUID , BYVAL frameIndex AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipImageRotateFlip LIB "gdiplus.dll" ALIAS "GdipImageRotateFlip" ( BYVAL image AS QUAD , BYVAL rfType AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImagePalette LIB "gdiplus.dll" ALIAS "GdipGetImagePalette" ( BYVAL image AS QUAD , BYREF palette AS ColorPalette , BYVAL size AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImagePalette LIB "gdiplus.dll" ALIAS "GdipSetImagePalette" ( BYVAL image AS QUAD , BYREF palette AS ColorPalette ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImagePaletteSize LIB "gdiplus.dll" ALIAS "GdipGetImagePaletteSize" ( BYVAL image AS QUAD , BYREF size AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPropertyCount LIB "gdiplus.dll" ALIAS "GdipGetPropertyCount" ( BYVAL image AS QUAD , BYREF numOfProperty AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPropertyIdList LIB "gdiplus.dll" ALIAS "GdipGetPropertyIdList" ( BYVAL image AS QUAD ' GpImage *image , BYVAL numOfProperty AS QUAD ' UINT numOfProperty , BYREF list AS QUAD ' PROPID *list ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPropertyItemSize LIB "gdiplus.dll" ALIAS "GdipGetPropertyItemSize" ( BYVAL image AS QUAD , BYVAL propId AS QUAD , BYREF size AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPropertyItem LIB "gdiplus.dll" ALIAS "GdipGetPropertyItem" ( BYVAL image AS QUAD , BYVAL propId AS QUAD , BYVAL propSize AS QUAD , BYREF buffer AS PropertyItem ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPropertySize LIB "gdiplus.dll" ALIAS "GdipGetPropertySize" ( BYVAL image AS QUAD , BYREF totalBufferSize AS QUAD , BYREF numProperties AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetAllPropertyItems LIB "gdiplus.dll" ALIAS "GdipGetAllPropertyItems" ( BYVAL image AS QUAD , BYVAL totalBufferSize AS QUAD , BYVAL numProperties AS QUAD , BYREF allItems AS PropertyItem ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRemovePropertyItem LIB "gdiplus.dll" ALIAS "GdipRemovePropertyItem" ( BYVAL image AS QUAD , BYVAL propId AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPropertyItem LIB "gdiplus.dll" ALIAS "GdipSetPropertyItem" ( BYVAL image AS QUAD , BYREF item AS PropertyItem ) AS LONG ' GpStatus
#IF (%GDIPVER >= &H0110)
DECLARE FUNCTION GdipFindFirstImageItem LIB "gdiplus.dll" ALIAS "GdipFindFirstImageItem" ( BYVAL image AS QUAD , BYREF item As ImageItemData ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFindNextImageItem LIB "gdiplus.dll" ALIAS "GdipFindNextImageItem" ( BYVAL image AS QUAD , BYREF item AS ImageItemData ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageItemData LIB "gdiplus.dll" ALIAS "GdipGetImageItemData" ( BYVAL image AS QUAD , BYREF item AS ImageItemData ) AS LONG ' GpStatus
#ENDIF ' //(%GDIPVER >= &H0110)
DECLARE FUNCTION GdipImageForceValidation LIB "gdiplus.dll" ALIAS "GdipImageForceValidation" ( BYVAL image AS QUAD ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Bitmap APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateBitmapFromStream LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromStream" ( BYVAL stream AS IStream , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromFile LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromFile" ( BYREF filename AS WSTRINGZ , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromStreamICM LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromStreamICM" ( BYVAL stream AS IStream , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromFileICM LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromFileICM" ( BYREF filename AS WSTRINGZ , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromScan0 LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromScan0" ( BYVAL width AS LONG , BYVAL height AS LONG , BYVAL stride AS LONG , BYVAL PixelFormat AS LONG , BYREF scan0 AS ANY , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromGraphics LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromGraphics" ( BYVAL width AS LONG , BYVAL height AS LONG , BYVAL target AS QUAD , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromDirectDrawSurface LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromDirectDrawSurface" ( BYVAL surface AS IUnknown , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromGdiDib LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromGdiDib" ( BYREF gdiBitmapInfo AS BITMAPINFO , BYVAL gdiBitmapData AS QUAD , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromHBITMAP LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromHBITMAP" ( BYVAL hbm AS QUAD , BYVAL hpal AS QUAD , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateHBITMAPFromBitmap LIB "gdiplus.dll" ALIAS "GdipCreateHBITMAPFromBitmap" ( BYVAL bitmap AS QUAD , BYREF hbmReturn AS QUAD , BYVAL background AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromHICON LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromHICON" ( BYVAL hicon AS QUAD , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateHICONFromBitmap LIB "gdiplus.dll" ALIAS "GdipCreateHICONFromBitmap" ( BYVAL bitmap AS QUAD , BYREF hbmReturn AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateBitmapFromResource LIB "gdiplus.dll" ALIAS "GdipCreateBitmapFromResource" ( BYVAL hInstance AS QUAD , BYREF lpBitmapName AS WSTRINGZ , BYREF bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneBitmapArea LIB "gdiplus.dll" ALIAS "GdipCloneBitmapArea" ( BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYVAL format AS LONG , BYVAL srcBitmap AS QUAD , BYREF dstBitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneBitmapAreaI LIB "gdiplus.dll" ALIAS "GdipCloneBitmapAreaI" ( BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYVAL format AS LONG , BYVAL srcBitmap AS QUAD , BYREF dstBitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapLockBits LIB "gdiplus.dll" ALIAS "GdipBitmapLockBits" ( BYVAL bitmap AS QUAD , BYREF rect AS GpRect , BYVAL flags AS QUAD , BYVAL format AS LONG , BYREF lockedBitmapData AS BitmapData ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapUnlockBits LIB "gdiplus.dll" ALIAS "GdipBitmapUnlockBits" ( BYVAL bitmap AS QUAD , BYREF lockedBitmapData AS BitmapData ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapGetPixel LIB "gdiplus.dll" ALIAS "GdipBitmapGetPixel" ( BYVAL bitmap AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYREF color AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapSetPixel LIB "gdiplus.dll" ALIAS "GdipBitmapSetPixel" ( BYVAL bitmap AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL color AS QUAD ) AS LONG ' GpStatus
#IF (%GDIPVER >= &H0110)
DECLARE FUNCTION GdipImageSetAbort LIB "gdiplus.dll" ALIAS "GdipImageSetAbort" ( BYVAL pImage AS QUAD , BYVAL pIAbort AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGraphicsSetAbort LIB "gdiplus.dll" ALIAS "GdipGraphicsSetAbort" ( BYVAL pGraphics AS QUAD , BYVAL pIAbort AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapConvertFormat LIB "gdiplus.dll" ALIAS "GdipBitmapConvertFormat" ( BYVAL pInputBitmap AS QUAD , BYVAL format AS LONG , BYVAL dithertype AS LONG , BYVAL palettetype AS LONG , BYREF palette AS ColorPalette , BYVAL alphaThresholdPercent AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipInitializePalette LIB "gdiplus.dll" ALIAS "GdipInitializePalette" ( BYREF palette AS ColorPalette , BYVAL palettetype AS LONG , BYVAL optimalColors AS LONG , BYVAL useTransparentColor AS LONG , BYVAL bitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapApplyEffect LIB "gdiplus.dll" ALIAS "GdipBitmapApplyEffect" ( BYVAL bitmap AS QUAD , BYVAL effect AS QUAD , BYREF roi AS RECT , BYVAL useAuxData AS LONG , BYREF auxData AS QUAD , BYREF auxDataSize AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapCreateApplyEffect LIB "gdiplus.dll" ALIAS "GdipBitmapCreateApplyEffect" ( BYREF inputBitmaps AS QUAD , BYVAL numInputs AS LONG , BYVAL effect AS QUAD , BYREF roi AS RECT , BYREF outputRect AS RECT , BYREF outputBitmap AS QUAD , BYVAL useAuxData AS LONG , BYREF auxData AS QUAD , BYREF auxDataSize AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapGetHistogram LIB "gdiplus.dll" ALIAS "GdipBitmapGetHistogram" ( BYVAL bitmap AS QUAD , BYVAL format AS LONG , BYVAL NumberOfEntries AS QUAD , BYREF channel0 AS QUAD , BYREF channel1 AS QUAD , BYREF channel2 AS QUAD , BYREF channel3 AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBitmapGetHistogramSize LIB "gdiplus.dll" ALIAS "GdipBitmapGetHistogramSize" ( BYVAL format AS LONG , BYREF NumberOfEntries AS QUAD ) AS LONG ' GpStatus
#ENDIF ' #IF (%GDIPVER >= &H0110)
DECLARE FUNCTION GdipBitmapSetResolution LIB "gdiplus.dll" ALIAS "GdipBitmapSetResolution" ( BYVAL bitmap AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// ImageAttributes APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateImageAttributes LIB "gdiplus.dll" ALIAS "GdipCreateImageAttributes" ( BYREF imageattr AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneImageAttributes LIB "gdiplus.dll" ALIAS "GdipCloneImageAttributes" ( BYVAL imageattr AS QUAD , BYREF cloneImageattr AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDisposeImageAttributes LIB "gdiplus.dll" ALIAS "GdipDisposeImageAttributes" ( BYVAL imageattr AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesToIdentity LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesToIdentity" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetImageAttributes LIB "gdiplus.dll" ALIAS "GdipResetImageAttributes" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesColorMatrix LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesColorMatrix" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG , BYVAL enableFlag AS LONG , BYREF colorMatrix AS ColorMatrix , BYREF grayMatrix AS ColorMatrix , BYVAL flags AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesThreshold LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesThreshold" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG , BYVAL enableFlag AS LONG , BYVAL threshold AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesGamma LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesGamma" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG , BYVAL enableFlag AS LONG , BYVAL gamma AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesNoOp LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesNoOp" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG , BYVAL enableFlag AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesColorKeys LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesColorKeys" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG , BYVAL enableFlag AS LONG , BYVAL colorLow AS QUAD , BYVAL colorHigh AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesOutputChannel LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesOutputChannel" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG , BYVAL enableFlag AS LONG , BYVAL channelFlags AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesOutputChannelColorProfile LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesOutputChannelColorProfile" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG , BYVAL enableFlag AS LONG , BYREF colorProfileFilename AS WSTRINGZ ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesRemapTable LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesRemapTable" ( BYVAL imageattr AS QUAD , BYVAL type AS LONG , BYVAL enableFlag AS LONG , BYVAL mapSize AS QUAD , BYREF map AS GpColorMap ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesWrapMode LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesWrapMode" ( BYVAL imageattr AS QUAD , BYVAL wrap AS LONG , BYVAL argb AS QUAD , BYVAL clamp AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetImageAttributesICMMode LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesICMMode" ( BYVAL imageattr AS QUAD , BYVAL on AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageAttributesAdjustedPalette LIB "gdiplus.dll" ALIAS "GdipGetImageAttributesAdjustedPalette" ( BYVAL imageattr AS QUAD , BYREF colorPalette AS ColorPalette , BYVAL colorAdjustType AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Graphics APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipFlush LIB "gdiplus.dll" ALIAS "GdipFlush" ( BYVAL graphics AS QUAD , BYVAL intention AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateFromHDC LIB "gdiplus.dll" ALIAS "GdipCreateFromHDC" ( BYVAL hdc AS QUAD , BYREF graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateFromHDC2 LIB "gdiplus.dll" ALIAS "GdipCreateFromHDC2" ( BYVAL hdc AS QUAD , BYVAL hDevice AS QUAD , BYREF graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateFromHWND LIB "gdiplus.dll" ALIAS "GdipCreateFromHWND" ( BYVAL hwnd AS QUAD , BYREF graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateFromHWNDICM LIB "gdiplus.dll" ALIAS "GdipCreateFromHWNDICM" ( BYVAL hwnd AS QUAD , BYREF graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteGraphics LIB "gdiplus.dll" ALIAS "GdipDeleteGraphics" ( BYVAL graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetDC LIB "gdiplus.dll" ALIAS "GdipGetDC" ( BYVAL graphics AS QUAD , BYREF DWORD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipReleaseDC LIB "gdiplus.dll" ALIAS "GdipReleaseDC" ( BYVAL graphics AS QUAD , BYVAL hdc AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetCompositingMode LIB "gdiplus.dll" ALIAS "GdipSetCompositingMode" ( BYVAL graphics AS QUAD , BYVAL compositingMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCompositingMode LIB "gdiplus.dll" ALIAS "GdipGetCompositingMode" ( BYVAL graphics AS QUAD , BYREF compositingMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetRenderingOrigin LIB "gdiplus.dll" ALIAS "GdipSetRenderingOrigin" ( BYVAL graphics AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetRenderingOrigin LIB "gdiplus.dll" ALIAS "GdipGetRenderingOrigin" ( BYVAL graphics AS QUAD , BYREF x AS LONG , BYREF y AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetCompositingQuality LIB "gdiplus.dll" ALIAS "GdipSetCompositingQuality" ( BYVAL graphics AS QUAD , BYVAL compositingQuality AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCompositingQuality LIB "gdiplus.dll" ALIAS "GdipGetCompositingQuality" ( BYVAL graphics AS QUAD , BYREF compositingQuality AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetSmoothingMode LIB "gdiplus.dll" ALIAS "GdipSetSmoothingMode" ( BYVAL graphics AS QUAD , BYVAL smoothingMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetSmoothingMode LIB "gdiplus.dll" ALIAS "GdipGetSmoothingMode" ( BYVAL graphics AS QUAD , BYREF smoothingMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPixelOffsetMode LIB "gdiplus.dll" ALIAS "GdipSetPixelOffsetMode" ( BYVAL graphics AS QUAD , BYVAL pixelOffsetMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPixelOffsetMode LIB "gdiplus.dll" ALIAS "GdipGetPixelOffsetMode" ( BYVAL graphics AS QUAD , BYREF pixelOffsetMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetTextRenderingHint LIB "gdiplus.dll" ALIAS "GdipSetTextRenderingHint" ( BYVAL graphics AS QUAD , BYVAL mode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetTextRenderingHint LIB "gdiplus.dll" ALIAS "GdipGetTextRenderingHint" ( BYVAL graphics AS QUAD , BYREF mode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetTextContrast LIB "gdiplus.dll" ALIAS "GdipSetTextContrast" ( BYVAL graphics AS QUAD , BYVAL contrast AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetTextContrast LIB "gdiplus.dll" ALIAS "GdipGetTextContrast" ( BYVAL graphics AS QUAD , BYREF contrast AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetInterpolationMode LIB "gdiplus.dll" ALIAS "GdipSetInterpolationMode" ( BYVAL graphics AS QUAD , BYVAL interpolationMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetInterpolationMode LIB "gdiplus.dll" ALIAS "GdipGetInterpolationMode" ( BYVAL graphics AS QUAD , BYREF interpolationMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetWorldTransform LIB "gdiplus.dll" ALIAS "GdipSetWorldTransform" ( BYVAL graphics AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetWorldTransform LIB "gdiplus.dll" ALIAS "GdipResetWorldTransform" ( BYVAL graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMultiplyWorldTransform LIB "gdiplus.dll" ALIAS "GdipMultiplyWorldTransform" ( BYVAL graphics AS QUAD , BYVAL matrix AS QUAD , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslateWorldTransform LIB "gdiplus.dll" ALIAS "GdipTranslateWorldTransform" ( BYVAL graphics AS QUAD , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipScaleWorldTransform LIB "gdiplus.dll" ALIAS "GdipScaleWorldTransform" ( BYVAL graphics AS QUAD , BYVAL sx AS SINGLE , BYVAL sy AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRotateWorldTransform LIB "gdiplus.dll" ALIAS "GdipRotateWorldTransform" ( BYVAL graphics AS QUAD , BYVAL angle AS SINGLE , BYVAL order AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetWorldTransform LIB "gdiplus.dll" ALIAS "GdipGetWorldTransform" ( BYVAL graphics AS QUAD , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetPageTransform LIB "gdiplus.dll" ALIAS "GdipResetPageTransform" ( BYVAL graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPageUnit LIB "gdiplus.dll" ALIAS "GdipGetPageUnit" ( BYVAL graphics AS QUAD , BYREF unit AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetPageScale LIB "gdiplus.dll" ALIAS "GdipGetPageScale" ( BYVAL graphics AS QUAD , BYREF scale AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPageUnit LIB "gdiplus.dll" ALIAS "GdipSetPageUnit" ( BYVAL graphics AS QUAD , BYVAL unit AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetPageScale LIB "gdiplus.dll" ALIAS "GdipSetPageScale" ( BYVAL graphics AS QUAD , BYVAL scale AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetDpiX LIB "gdiplus.dll" ALIAS "GdipGetDpiX" ( BYVAL graphics AS QUAD , BYREF dpi AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetDpiY LIB "gdiplus.dll" ALIAS "GdipGetDpiY" ( BYVAL graphics AS QUAD , BYREF dpi AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTransformPoints LIB "gdiplus.dll" ALIAS "GdipTransformPoints" ( BYVAL graphics AS QUAD , BYVAL destSpace AS LONG , BYVAL srcSpace AS LONG , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTransformPointsI LIB "gdiplus.dll" ALIAS "GdipTransformPointsI" ( BYVAL graphics AS QUAD , BYVAL destSpace AS LONG , BYVAL srcSpace AS LONG , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetNearestColor LIB "gdiplus.dll" ALIAS "GdipGetNearestColor" ( BYVAL graphics AS QUAD , BYREF argb AS QUAD ) AS LONG ' GpStatus
'// Creates the Win9x Halftone Palette (even on NT) with correct Desktop colors
DECLARE FUNCTION GdipCreateHalftonePalette LIB "gdiplus.dll" ALIAS "GdipCreateHalftonePalette" ( ) AS QUAD ' HPALETTE
DECLARE FUNCTION GdipDrawLine LIB "gdiplus.dll" ALIAS "GdipDrawLine" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x1 AS SINGLE , BYVAL y1 AS SINGLE , BYVAL x2 AS SINGLE , BYVAL y2 AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawLineI LIB "gdiplus.dll" ALIAS "GdipDrawLineI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x1 AS LONG , BYVAL y1 AS LONG , BYVAL x2 AS LONG , BYVAL y2 AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawLines LIB "gdiplus.dll" ALIAS "GdipDrawLines" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawLinesI LIB "gdiplus.dll" ALIAS "GdipDrawLinesI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawArc LIB "gdiplus.dll" ALIAS "GdipDrawArc" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawArcI LIB "gdiplus.dll" ALIAS "GdipDrawArcI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawBezier LIB "gdiplus.dll" ALIAS "GdipDrawBezier" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x1 AS SINGLE , BYVAL y1 AS SINGLE , BYVAL x2 AS SINGLE , BYVAL y2 AS SINGLE , BYVAL x3 AS SINGLE , BYVAL y3 AS SINGLE , BYVAL x4 AS SINGLE , BYVAL y4 AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawBezierI LIB "gdiplus.dll" ALIAS "GdipDrawBezierI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x1 AS LONG , BYVAL y1 AS LONG , BYVAL x2 AS LONG , BYVAL y2 AS LONG , BYVAL x3 AS LONG , BYVAL y3 AS LONG , BYVAL x4 AS LONG , BYVAL y4 AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawBeziers LIB "gdiplus.dll" ALIAS "GdipDrawBeziers" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawBeziersI LIB "gdiplus.dll" ALIAS "GdipDrawBeziersI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawRectangle LIB "gdiplus.dll" ALIAS "GdipDrawRectangle" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawRectangleI LIB "gdiplus.dll" ALIAS "GdipDrawRectangleI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawRectangles LIB "gdiplus.dll" ALIAS "GdipDrawRectangles" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF rects AS GpRectF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawRectanglesI LIB "gdiplus.dll" ALIAS "GdipDrawRectanglesI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF rects AS GpRect , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawEllipse LIB "gdiplus.dll" ALIAS "GdipDrawEllipse" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawEllipseI LIB "gdiplus.dll" ALIAS "GdipDrawEllipseI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawPie LIB "gdiplus.dll" ALIAS "GdipDrawPie" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawPieI LIB "gdiplus.dll" ALIAS "GdipDrawPieI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawPolygon LIB "gdiplus.dll" ALIAS "GdipDrawPolygon" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawPolygonI LIB "gdiplus.dll" ALIAS "GdipDrawPolygonI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawPath LIB "gdiplus.dll" ALIAS "GdipDrawPath" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawCurve LIB "gdiplus.dll" ALIAS "GdipDrawCurve" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawCurveI LIB "gdiplus.dll" ALIAS "GdipDrawCurveI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawCurve2 LIB "gdiplus.dll" ALIAS "GdipDrawCurve2" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawCurve2I LIB "gdiplus.dll" ALIAS "GdipDrawCurve2I" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawCurve3 LIB "gdiplus.dll" ALIAS "GdipDrawCurve3" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL offset AS LONG , BYVAL numberOfSegments AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawCurve3I LIB "gdiplus.dll" ALIAS "GdipDrawCurve3I" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL offset AS LONG , BYVAL numberOfSegments AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawClosedCurve LIB "gdiplus.dll" ALIAS "GdipDrawClosedCurve" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawClosedCurveI LIB "gdiplus.dll" ALIAS "GdipDrawClosedCurveI" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawClosedCurve2 LIB "gdiplus.dll" ALIAS "GdipDrawClosedCurve2" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawClosedCurve2I LIB "gdiplus.dll" ALIAS "GdipDrawClosedCurve2I" ( BYVAL graphics AS QUAD , BYVAL pen AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL tension AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGraphicsClear LIB "gdiplus.dll" ALIAS "GdipGraphicsClear" ( BYVAL graphics AS QUAD , BYVAL color AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillRectangle LIB "gdiplus.dll" ALIAS "GdipFillRectangle" ( BYVAL graphics AS QUAD , BYVAL GpBrush AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillRectangleI LIB "gdiplus.dll" ALIAS "GdipFillRectangleI" ( BYVAL graphics AS QUAD , BYVAL GpBrush AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillRectangles LIB "gdiplus.dll" ALIAS "GdipFillRectangles" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF rects AS GpRectF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillRectanglesI LIB "gdiplus.dll" ALIAS "GdipFillRectanglesI" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF rects AS GpRect , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillPolygon LIB "gdiplus.dll" ALIAS "GdipFillPolygon" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL fillMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillPolygonI LIB "gdiplus.dll" ALIAS "GdipFillPolygonI" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL fillMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillPolygon2 LIB "gdiplus.dll" ALIAS "GdipFillPolygon2" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillPolygon2I LIB "gdiplus.dll" ALIAS "GdipFillPolygon2I" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillEllipse LIB "gdiplus.dll" ALIAS "GdipFillEllipse" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillEllipseI LIB "gdiplus.dll" ALIAS "GdipFillEllipseI" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillPie LIB "gdiplus.dll" ALIAS "GdipFillPie" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillPieI LIB "gdiplus.dll" ALIAS "GdipFillPieI" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYVAL startAngle AS SINGLE , BYVAL sweepAngle AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillPath LIB "gdiplus.dll" ALIAS "GdipFillPath" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYVAL path AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillClosedCurve LIB "gdiplus.dll" ALIAS "GdipFillClosedCurve" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillClosedCurveI LIB "gdiplus.dll" ALIAS "GdipFillClosedCurveI" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillClosedCurve2 LIB "gdiplus.dll" ALIAS "GdipFillClosedCurve2" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL tension AS SINGLE , BYVAL fillMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillClosedCurve2I LIB "gdiplus.dll" ALIAS "GdipFillClosedCurve2I" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL tension AS SINGLE , BYVAL fillMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFillRegion LIB "gdiplus.dll" ALIAS "GdipFillRegion" ( BYVAL graphics AS QUAD , BYVAL brush AS QUAD , BYVAL region AS QUAD ) AS LONG ' GpStatus
#IF (%GDIPVER >= &H0110)
DECLARE FUNCTION GdipDrawImageFX LIB "gdiplus.dll" ALIAS "GdipDrawImageFX" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYREF source AS GpRectF , BYVAL xForm AS QUAD , BYVAL effect AS QUAD , BYVAL imageAttributes AS QUAD , BYVAL srcUnit AS LONG ) AS LONG ' GpStatus
#ENDIF ' //(%GDIPVER >= &H0110)
DECLARE FUNCTION GdipDrawImage LIB "gdiplus.dll" ALIAS "GdipDrawImage" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImageI LIB "gdiplus.dll" ALIAS "GdipDrawImageI" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImageRect LIB "gdiplus.dll" ALIAS "GdipDrawImageRect" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImageRectI LIB "gdiplus.dll" ALIAS "GdipDrawImageRectI" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImagePoints LIB "gdiplus.dll" ALIAS "GdipDrawImagePoints" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYREF dstpoints AS GpPointF , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImagePointsI LIB "gdiplus.dll" ALIAS "GdipDrawImagePointsI" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYREF dstpoints AS GpPoint , BYVAL count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImagePointRect LIB "gdiplus.dll" ALIAS "GdipDrawImagePointRect" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL srcx AS SINGLE , BYVAL srcy AS SINGLE , BYVAL srcwidth AS SINGLE , BYVAL srcheight AS SINGLE , BYVAL srcUnit AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImagePointRectI LIB "gdiplus.dll" ALIAS "GdipDrawImagePointRectI" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL srcx AS LONG , BYVAL srcy AS LONG , BYVAL srcwidth AS LONG , BYVAL srcheight AS LONG , BYVAL srcUnit AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImageRectRect LIB "gdiplus.dll" ALIAS "GdipDrawImageRectRect" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYVAL dstx AS SINGLE , BYVAL dsty AS SINGLE , BYVAL dstwidth AS SINGLE , BYVAL dstheight AS SINGLE , BYVAL srcx AS SINGLE , BYVAL srcy AS SINGLE , BYVAL srcwidth AS SINGLE , BYVAL srcheight AS SINGLE , BYVAL srcUnit AS LONG , BYVAL imageAttributes AS QUAD , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImageRectRectI LIB "gdiplus.dll" ALIAS "GdipDrawImageRectRectI" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYVAL dstx AS LONG , BYVAL dsty AS LONG , BYVAL dstwidth AS LONG , BYVAL dstheight AS LONG , BYVAL srcx AS LONG , BYVAL srcy AS LONG , BYVAL srcwidth AS LONG , BYVAL srcheight AS LONG , BYVAL srcUnit AS LONG , BYVAL imageAttributes AS QUAD , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImagePointsRect LIB "gdiplus.dll" ALIAS "GdipDrawImagePointsRect" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYREF points AS GpPointF , BYVAL count AS LONG , BYVAL srcx AS SINGLE , BYVAL srcy AS SINGLE , BYVAL srcwidth AS SINGLE , BYVAL srcheight AS SINGLE , BYVAL srcUnit AS LONG , BYVAL imageAttributes AS QUAD , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawImagePointsRectI LIB "gdiplus.dll" ALIAS "GdipDrawImagePointsRectI" ( BYVAL graphics AS QUAD , BYVAL image AS QUAD , BYREF points AS GpPoint , BYVAL count AS LONG , BYVAL srcx AS LONG , BYVAL srcy AS LONG , BYVAL srcwidth AS LONG , BYVAL srcheight AS LONG , BYVAL srcUnit AS LONG , BYVAL imageAttributes AS QUAD , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileDestPoint LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileDestPoint" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destPoint AS GpPointF , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileDestPointI LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileDestPointI" ( BYVAL graphics AS QUAD , BYVAL Dmetafile AS WORD , BYREF destPoint AS GpPoint , BYVAL destPoint AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileDestRect LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileDestRect" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destRect AS GpRectF , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileDestRectI LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileDestRectI" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destRect AS GpRect , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileDestPoints LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileDestPoints" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destPoints AS GpPointF , BYVAL count AS LONG , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileDestPointsI LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileDestPointsI" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destPoints AS GpPoint , BYVAL count AS LONG , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileSrcRectDestPoint LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileSrcRectDestPoint" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destPoint AS GpPointF , BYREF srcRect AS GpRectF , BYVAL srcUnit AS LONG , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileSrcRectDestPointI LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileSrcRectDestPointI" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destPoint AS GpPoint , BYREF srcRect AS GpRect , BYVAL destPoint AS LONG , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileSrcRectDestRect LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileSrcRectDestRect" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destRect AS GpRectF , BYREF srcRect AS GpRectF , BYVAL srcUnit AS LONG , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileSrcRectDestRectI LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileSrcRectDestRectI" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destRect AS GpRect , BYREF srcRect AS GpRect , BYVAL srcUnit AS LONG , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileSrcRectDestPoints LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileSrcRectDestPoints" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destPoints AS GpPointF , BYVAL count AS LONG , BYREF srcRect AS GpRectF , BYVAL srcUnit AS LONG , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEnumerateMetafileSrcRectDestPointsI LIB "gdiplus.dll" ALIAS "GdipEnumerateMetafileSrcRectDestPointsI" ( BYVAL graphics AS QUAD , BYVAL metafile AS QUAD , BYREF destPoints AS GpPoint , BYVAL count AS LONG , BYREF srcRect AS GpRect , BYVAL srcUnit AS LONG , BYVAL callback AS QUAD , BYVAL callbackData AS QUAD , BYVAL imageAttributes AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPlayMetafileRecord LIB "gdiplus.dll" ALIAS "GdipPlayMetafileRecord" ( BYVAL metafile AS QUAD , BYVAL recordType AS LONG , BYVAL flags AS QUAD , BYVAL dataSize AS QUAD , BYREF data AS ANY ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetClipGraphics LIB "gdiplus.dll" ALIAS "GdipSetClipGraphics" ( BYVAL graphics AS QUAD , BYVAL srcgraphics AS LONG , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetClipRect LIB "gdiplus.dll" ALIAS "GdipSetClipRect" ( BYVAL graphics AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetClipRectI LIB "gdiplus.dll" ALIAS "GdipSetClipRectI" ( BYVAL graphics AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetClipPath LIB "gdiplus.dll" ALIAS "GdipSetClipPath" ( BYVAL graphics AS QUAD , BYVAL path AS QUAD , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetClipRegion LIB "gdiplus.dll" ALIAS "GdipSetClipRegion" ( BYVAL graphics AS QUAD , BYVAL region AS QUAD , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetClipHrgn LIB "gdiplus.dll" ALIAS "GdipSetClipHrgn" ( BYVAL graphics AS QUAD , BYVAL hRgn AS QUAD , BYVAL combineMode AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipResetClip LIB "gdiplus.dll" ALIAS "GdipResetClip" ( BYVAL graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslateClip LIB "gdiplus.dll" ALIAS "GdipTranslateClip" ( BYVAL graphics AS QUAD , BYVAL dx AS SINGLE , BYVAL dy AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTranslateClipI LIB "gdiplus.dll" ALIAS "GdipTranslateClipI" ( BYVAL graphics AS QUAD , BYVAL dx AS LONG , BYVAL dy AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetClip LIB "gdiplus.dll" ALIAS "GdipGetClip" ( BYVAL graphics AS QUAD , BYREF region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetClipBounds LIB "gdiplus.dll" ALIAS "GdipGetClipBounds" ( BYVAL graphics AS QUAD , BYREF rect AS GpRectF ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetClipBoundsI LIB "gdiplus.dll" ALIAS "GdipGetClipBoundsI" ( BYVAL graphics AS QUAD , BYREF rect AS GpRect ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsClipEmpty LIB "gdiplus.dll" ALIAS "GdipIsClipEmpty" ( BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetVisibleClipBounds LIB "gdiplus.dll" ALIAS "GdipGetVisibleClipBounds" ( BYVAL graphics AS QUAD , BYREF rect AS GpRectF ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetVisibleClipBoundsI LIB "gdiplus.dll" ALIAS "GdipGetVisibleClipBoundsI" ( BYVAL graphics AS QUAD , BYREF rect AS GpRect ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisibleClipEmpty LIB "gdiplus.dll" ALIAS "GdipIsVisibleClipEmpty" ( BYVAL graphics AS QUAD , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisiblePoint LIB "gdiplus.dll" ALIAS "GdipIsVisiblePoint" ( BYVAL graphics AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisiblePointI LIB "gdiplus.dll" ALIAS "GdipIsVisiblePointI" ( BYVAL graphics AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisibleRect LIB "gdiplus.dll" ALIAS "GdipIsVisibleRect" ( BYVAL graphics AS QUAD , BYVAL x AS SINGLE , BYVAL y AS SINGLE , BYVAL width AS SINGLE , BYVAL height AS SINGLE , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsVisibleRectI LIB "gdiplus.dll" ALIAS "GdipIsVisibleRectI" ( BYVAL graphics AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG , BYVAL width AS LONG , BYVAL height AS LONG , BYREF result AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSaveGraphics LIB "gdiplus.dll" ALIAS "GdipSaveGraphics" ( BYVAL graphics AS QUAD , BYREF state AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRestoreGraphics LIB "gdiplus.dll" ALIAS "GdipRestoreGraphics" ( BYVAL graphics AS QUAD , BYVAL state AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBeginContainer LIB "gdiplus.dll" ALIAS "GdipBeginContainer" ( BYVAL graphics AS QUAD , BYREF dstrect AS GpRectF , BYREF srcrect AS GpRectF , BYVAL unit AS LONG , BYREF state AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBeginContainerI LIB "gdiplus.dll" ALIAS "GdipBeginContainerI" ( BYVAL graphics AS QUAD , BYREF dstrect AS GpRect , BYREF srcrect AS GpRect , BYVAL unit AS LONG , BYREF state AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipBeginContainer2 LIB "gdiplus.dll" ALIAS "GdipBeginContainer2" ( BYVAL graphics AS QUAD , BYREF state AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEndContainer LIB "gdiplus.dll" ALIAS "GdipEndContainer" ( BYVAL graphics AS QUAD , BYVAL state AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetMetafileHeaderFromWmf LIB "gdiplus.dll" ALIAS "GdipGetMetafileHeaderFromWmf" ( BYVAL hWmf AS QUAD , BYREF wmfPlaceableFileHeader AS WmfPlaceableFileHeader , BYREF header AS MetafileHeader ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetMetafileHeaderFromEmf LIB "gdiplus.dll" ALIAS "GdipGetMetafileHeaderFromEmf" ( BYVAL hEmf AS QUAD , BYREF header AS MetafileHeader ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetMetafileHeaderFromFile LIB "gdiplus.dll" ALIAS "GdipGetMetafileHeaderFromFile" ( BYREF filename AS WSTRINGZ , BYREF header AS MetafileHeader ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetMetafileHeaderFromStream LIB "gdiplus.dll" ALIAS "GdipGetMetafileHeaderFromStream" ( BYVAL stream AS IStream , BYREF header AS MetafileHeader ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetMetafileHeaderFromMetafile LIB "gdiplus.dll" ALIAS "GdipGetMetafileHeaderFromMetafile" ( BYVAL metafile AS QUAD , BYREF header AS MetafileHeader ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetHemfFromMetafile LIB "gdiplus.dll" ALIAS "GdipGetHemfFromMetafile" ( BYVAL metafile AS QUAD , BYREF hEmf AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateStreamOnFile LIB "gdiplus.dll" ALIAS "GdipCreateStreamOnFile" ( BYREF filename AS WSTRINGZ , BYVAL access AS QUAD , BYREF stream AS IStream ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateMetafileFromWmf LIB "gdiplus.dll" ALIAS "GdipCreateMetafileFromWmf" ( BYVAL hWmf AS QUAD , BYVAL deleteWmf AS LONG , BYREF wmfPlaceableFileHeader AS WmfPlaceableFileHeader , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateMetafileFromEmf LIB "gdiplus.dll" ALIAS "GdipCreateMetafileFromEmf" ( BYVAL hEmf AS QUAD , BYVAL deleteEmf AS LONG , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateMetafileFromFile LIB "gdiplus.dll" ALIAS "GdipCreateMetafileFromFile" ( BYREF filename AS WSTRINGZ , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateMetafileFromWmfFile LIB "gdiplus.dll" ALIAS "GdipCreateMetafileFromWmfFile" ( BYREF filename AS WSTRINGZ , BYREF wmfPlaceableFileHeader AS WmfPlaceableFileHeader , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateMetafileFromStream LIB "gdiplus.dll" ALIAS "GdipCreateMetafileFromStream" ( BYVAL stream AS IStream , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRecordMetafile LIB "gdiplus.dll" ALIAS "GdipRecordMetafile" ( BYVAL referenceHdc AS QUAD , BYVAL type AS LONG , BYREF frameRect AS GpRectF , BYVAL frameUnit AS LONG , BYREF description AS WSTRINGZ , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRecordMetafileI LIB "gdiplus.dll" ALIAS "GdipRecordMetafileI" ( BYVAL referenceHdc AS QUAD , BYVAL type AS LONG , BYREF frameRect AS GpRect , BYVAL frameUnit AS LONG , BYREF description AS WSTRINGZ , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRecordMetafileFileName LIB "gdiplus.dll" ALIAS "GdipRecordMetafileFileName" ( BYREF fileName AS WSTRINGZ , BYVAL referenceHdc AS QUAD , BYVAL type AS LONG , BYREF frameRect AS GpRectF , BYVAL frameUnit AS LONG , BYREF description AS WSTRINGZ , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRecordMetafileFileNameI LIB "gdiplus.dll" ALIAS "GdipRecordMetafileFileNameI" ( BYREF fileName AS WSTRINGZ , BYVAL referenceHdc AS QUAD , BYVAL type AS LONG , BYREF frameRect AS GpRect , BYVAL frameUnit AS LONG , BYREF description AS WSTRINGZ , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRecordMetafileStream LIB "gdiplus.dll" ALIAS "GdipRecordMetafileStream" ( BYVAL stream AS IStream , BYVAL referenceHdc AS QUAD , BYVAL type AS LONG , BYREF frameRect AS GpRectF , BYVAL frameUnit AS LONG , BYREF description AS WSTRINGZ , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipRecordMetafileStreamI LIB "gdiplus.dll" ALIAS "GdipRecordMetafileStreamI" ( BYVAL stream AS IStream , BYVAL referenceHdc AS QUAD , BYVAL type AS LONG , BYREF frameRect AS GpRect , BYVAL frameUnit AS LONG , BYREF description AS WSTRINGZ , BYREF metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetMetafileDownLevelRasterizationLimit LIB "gdiplus.dll" ALIAS "GdipSetMetafileDownLevelRasterizationLimit" ( BYVAL metafile AS QUAD , BYVAL metafileRasterizationLimitDpi AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetMetafileDownLevelRasterizationLimit LIB "gdiplus.dll" ALIAS "GdipGetMetafileDownLevelRasterizationLimit" ( BYVAL metafile AS QUAD , BYREF metafileRasterizationLimitDpi AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetImageDecodersSize LIB "gdiplus.dll" ALIAS "GdipGetImageDecodersSize" ( BYREF numDecoders AS QUAD , BYREF size AS QUAD ) AS LONG ' Status
DECLARE FUNCTION GdipGetImageDecoders LIB "gdiplus.dll" ALIAS "GdipGetImageDecoders" ( BYVAL numDecoders AS QUAD , BYVAL size AS QUAD , BYREF decoders AS ANY ) AS LONG ' Status
DECLARE FUNCTION GdipGetImageEncodersSize LIB "gdiplus.dll" ALIAS "GdipGetImageEncodersSize" ( BYREF numEncoders AS QUAD , BYREF size AS QUAD ) AS LONG ' Status
DECLARE FUNCTION GdipGetImageEncoders LIB "gdiplus.dll" ALIAS "GdipGetImageEncoders" ( BYVAL numEncoders AS QUAD , BYVAL size AS QUAD , BYREF encoders AS ANY ) AS LONG ' Status
DECLARE FUNCTION GdipComment LIB "gdiplus.dll" ALIAS "GdipComment" ( BYVAL graphics AS QUAD , BYVAL sizeData AS QUAD , BYREF data AS ANY ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// FontFamily APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateFontFamilyFromName LIB "gdiplus.dll" ALIAS "GdipCreateFontFamilyFromName" ( BYREF name AS WSTRINGZ , BYVAL fontCollection AS QUAD , BYREF fontFamily AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteFontFamily LIB "gdiplus.dll" ALIAS "GdipDeleteFontFamily" ( BYVAL fontFamily AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneFontFamily LIB "gdiplus.dll" ALIAS "GdipCloneFontFamily" ( BYVAL fontFamily AS QUAD , BYREF clonedFontFamily AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetGenericFontFamilySansSerif LIB "gdiplus.dll" ALIAS "GdipGetGenericFontFamilySansSerif" ( BYREF nativeFamily AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetGenericFontFamilySerif LIB "gdiplus.dll" ALIAS "GdipGetGenericFontFamilySerif" ( BYREF nativeFamily AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetGenericFontFamilyMonospace LIB "gdiplus.dll" ALIAS "GdipGetGenericFontFamilyMonospace" ( BYREF nativeFamily AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFamilyName LIB "gdiplus.dll" ALIAS "GdipGetFamilyName" ( BYVAL family AS QUAD , BYREF name AS WSTRINGZ , BYVAL language AS WORD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipIsStyleAvailable LIB "gdiplus.dll" ALIAS "GdipIsStyleAvailable" ( BYVAL family AS QUAD , BYVAL style AS LONG , BYREF IsStyleAvailable AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFontCollectionEnumerable LIB "gdiplus.dll" ALIAS "GdipFontCollectionEnumerable" ( BYVAL fontCollection AS QUAD , BYVAL graphics AS QUAD , BYREF numFound AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipFontCollectionEnumerate LIB "gdiplus.dll" ALIAS "GdipFontCollectionEnumerate" ( BYVAL fontCollection AS QUAD , BYVAL numSought AS LONG , BYREF gpfamilies AS QUAD , BYREF numFound AS LONG , BYVAL graphics AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetEmHeight LIB "gdiplus.dll" ALIAS "GdipGetEmHeight" ( BYVAL family AS QUAD , BYVAL style AS LONG , BYREF EmHeight AS WORD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCellAscent LIB "gdiplus.dll" ALIAS "GdipGetCellAscent" ( BYVAL family AS QUAD , BYVAL style AS LONG , BYREF CellAscent AS WORD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetCellDescent LIB "gdiplus.dll" ALIAS "GdipGetCellDescent" ( BYVAL family AS QUAD , BYVAL style AS LONG , BYREF CellDescent AS WORD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLineSpacing LIB "gdiplus.dll" ALIAS "GdipGetLineSpacing" ( BYVAL family AS QUAD , BYVAL style AS LONG , BYREF LineSpacing AS WORD ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Font APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateFontFromDC LIB "gdiplus.dll" ALIAS "GdipCreateFontFromDC" ( BYVAL hdc AS QUAD , BYREF font AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateFontFromLogfontA LIB "gdiplus.dll" ALIAS "GdipCreateFontFromLogfontA" ( BYVAL hdc AS QUAD , BYREF logfont AS LOGFONTA , BYREF font AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCreateFontFromLogfontW LIB "gdiplus.dll" ALIAS "GdipCreateFontFromLogfontW" ( BYVAL hdc AS QUAD , BYREF logfont AS LOGFONTW , BYREF font AS QUAD ) AS LONG ' GpStatus
#IF %DEF(%UNICODE)
MACRO GdipCreateFontFromLogfont = GdipCreateFontFromLogfontW
#ELSE
MACRO GdipCreateFontFromLogfont = GdipCreateFontFromLogfontA
#ENDIF
DECLARE FUNCTION GdipCreateFont LIB "gdiplus.dll" ALIAS "GdipCreateFont" ( BYVAL fontFamily AS QUAD , BYVAL emSize AS SINGLE , BYVAL style AS LONG , BYVAL unit AS LONG , BYREF font AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneFont LIB "gdiplus.dll" ALIAS "GdipCloneFont" ( BYVAL font AS QUAD , BYREF cloneFont AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteFont LIB "gdiplus.dll" ALIAS "GdipDeleteFont" ( BYVAL font AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFamily LIB "gdiplus.dll" ALIAS "GdipGetFamily" ( BYVAL font AS QUAD , BYREF family AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFontStyle LIB "gdiplus.dll" ALIAS "GdipGetFontStyle" ( BYVAL font AS QUAD , BYREF style AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFontSize LIB "gdiplus.dll" ALIAS "GdipGetFontSize" ( BYVAL font AS QUAD , BYREF size AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFontUnit LIB "gdiplus.dll" ALIAS "GdipGetFontUnit" ( BYVAL font AS QUAD , BYREF unit AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFontHeight LIB "gdiplus.dll" ALIAS "GdipGetFontHeight" ( BYVAL font AS QUAD , BYVAL graphics AS QUAD , BYREF height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFontHeightGivenDPI LIB "gdiplus.dll" ALIAS "GdipGetFontHeightGivenDPI" ( BYVAL font AS QUAD , BYVAL dpi AS SINGLE , BYREF height AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLogFontA LIB "gdiplus.dll" ALIAS "GdipGetLogFontA" ( BYVAL font AS QUAD , BYVAL graphics AS QUAD , BYREF logfontA AS LOGFONTA ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetLogFontW LIB "gdiplus.dll" ALIAS "GdipGetLogFontW" ( BYVAL font AS QUAD , BYVAL graphics AS QUAD , BYREF logfontW AS LOGFONTW ) AS LONG ' GpStatus
#IF %DEF(%UNICODE)
MACRO GdipGetLogFont = GdipGetLogFontW
#ELSE
MACRO GdipGetLogFont = GdipGetLogFontA
#ENDIF
DECLARE FUNCTION GdipNewInstalledFontCollection LIB "gdiplus.dll" ALIAS "GdipNewInstalledFontCollection" ( BYREF fontCollection AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipNewPrivateFontCollection LIB "gdiplus.dll" ALIAS "GdipNewPrivateFontCollection" ( BYREF fontCollection AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeletePrivateFontCollection LIB "gdiplus.dll" ALIAS "GdipDeletePrivateFontCollection" ( BYREF fontCollection AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFontCollectionFamilyCount LIB "gdiplus.dll" ALIAS "GdipGetFontCollectionFamilyCount" ( BYVAL fontCollection AS QUAD , BYREF numFound AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetFontCollectionFamilyList LIB "gdiplus.dll" ALIAS "GdipGetFontCollectionFamilyList" ( BYVAL fontCollection AS QUAD , BYVAL numSought AS LONG , BYREF gpfamilies AS QUAD , BYREF numFound AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPrivateAddFontFile LIB "gdiplus.dll" ALIAS "GdipPrivateAddFontFile" ( BYVAL fontCollection AS QUAD , BYREF filename AS WSTRINGZ ) AS LONG ' GpStatus
DECLARE FUNCTION GdipPrivateAddMemoryFont LIB "gdiplus.dll" ALIAS "GdipPrivateAddMemoryFont" ( BYVAL fontCollection AS QUAD , BYVAL memory AS QUAD , BYVAL length AS LONG ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Text APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipDrawString LIB "gdiplus.dll" ALIAS "GdipDrawString" ( BYVAL graphics AS QUAD , BYREF string AS WSTRINGZ , BYVAL length AS LONG , BYVAL font AS QUAD , BYREF layoutRect AS GpRectF , BYVAL stringFormat AS QUAD , BYVAL brush AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMeasureString LIB "gdiplus.dll" ALIAS "GdipMeasureString" ( BYVAL graphics AS QUAD , BYREF string AS WSTRINGZ , BYVAL length AS LONG , BYVAL font AS QUAD , BYREF layoutRect AS GpRectF , BYVAL stringFormat AS QUAD , BYREF boundingBox AS GpRectF , BYREF codepointsFitted AS LONG , BYREF linesFilled AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMeasureCharacterRanges LIB "gdiplus.dll" ALIAS "GdipMeasureCharacterRanges" ( BYVAL graphics AS QUAD , BYREF string AS WSTRINGZ , BYVAL length AS LONG , BYVAL font AS QUAD , BYREF layoutRect AS GpRectF , BYVAL stringFormat AS QUAD , BYVAL regionCount AS LONG , BYREF region AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawDriverString LIB "gdiplus.dll" ALIAS "GdipDrawDriverString" ( BYVAL graphics AS QUAD , BYREF text AS WORD , BYVAL length AS LONG , BYVAL length AS QUAD , BYVAL brush AS QUAD , BYREF positions AS GpPointF , BYVAL flags AS LONG , BYVAL matrix AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipMeasureDriverString LIB "gdiplus.dll" ALIAS "GdipMeasureDriverString" ( BYVAL graphics AS QUAD , BYREF text AS WORD , BYVAL length AS LONG , BYVAL font AS QUAD , BYREF positions AS GpPointF , BYVAL flags AS LONG , BYVAL matrix AS QUAD , BYREF boundingBox AS GpRectF ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// String format APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateStringFormat LIB "gdiplus.dll" ALIAS "GdipCreateStringFormat" ( BYVAL formatAttributes AS LONG , BYVAL language AS WORD , BYREF format AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipStringFormatGetGenericDefault LIB "gdiplus.dll" ALIAS "GdipStringFormatGetGenericDefault" ( BYREF format AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipStringFormatGetGenericTypographic LIB "gdiplus.dll" ALIAS "GdipStringFormatGetGenericTypographic" ( BYREF format AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteStringFormat LIB "gdiplus.dll" ALIAS "GdipDeleteStringFormat" ( BYVAL format AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipCloneStringFormat LIB "gdiplus.dll" ALIAS "GdipCloneStringFormat" ( BYVAL format AS QUAD , BYREF newFormat AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetStringFormatFlags LIB "gdiplus.dll" ALIAS "GdipSetStringFormatFlags" ( BYVAL format AS QUAD , BYVAL flags AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatFlags LIB "gdiplus.dll" ALIAS "GdipGetStringFormatFlags" ( BYVAL format AS QUAD , BYREF flags AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetStringFormatAlign LIB "gdiplus.dll" ALIAS "GdipSetStringFormatAlign" ( BYVAL format AS QUAD , BYVAL align AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatAlign LIB "gdiplus.dll" ALIAS "GdipGetStringFormatAlign" ( BYVAL format AS QUAD , BYREF align AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetStringFormatLineAlign LIB "gdiplus.dll" ALIAS "GdipSetStringFormatLineAlign" ( BYVAL format AS QUAD , BYVAL align AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatLineAlign LIB "gdiplus.dll" ALIAS "GdipGetStringFormatLineAlign" ( BYVAL format AS QUAD , BYREF align AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetStringFormatTrimming LIB "gdiplus.dll" ALIAS "GdipSetStringFormatTrimming" ( BYVAL format AS QUAD ' GDIPCONST GpStringFormat *format , BYVAL trimming AS LONG ' StringTrimming trimming ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatTrimming LIB "gdiplus.dll" ALIAS "GdipGetStringFormatTrimming" ( BYVAL format AS QUAD , BYREF trimming AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetStringFormatHotkeyPrefix LIB "gdiplus.dll" ALIAS "GdipSetStringFormatHotkeyPrefix" ( BYVAL format AS QUAD , BYVAL hotkeyPrefix AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatHotkeyPrefix LIB "gdiplus.dll" ALIAS "GdipGetStringFormatHotkeyPrefix" ( BYVAL format AS QUAD , BYREF hotkeyPrefix AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetStringFormatTabStops LIB "gdiplus.dll" ALIAS "GdipSetStringFormatTabStops" ( BYVAL format AS QUAD , BYVAL firstTabOffset AS SINGLE , BYVAL count AS LONG , BYREF tabStops AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatTabStops LIB "gdiplus.dll" ALIAS "GdipGetStringFormatTabStops" ( BYVAL format AS QUAD , BYVAL count AS LONG , BYREF firstTabOffset AS SINGLE , BYREF tabStops AS SINGLE ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatTabStopCount LIB "gdiplus.dll" ALIAS "GdipGetStringFormatTabStopCount" ( BYVAL format AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetStringFormatDigitSubstitution LIB "gdiplus.dll" ALIAS "GdipSetStringFormatDigitSubstitution" ( BYVAL format AS QUAD , BYVAL language AS WORD , BYVAL substitute AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatDigitSubstitution LIB "gdiplus.dll" ALIAS "GdipGetStringFormatDigitSubstitution" ( BYVAL format AS QUAD , BYREF language AS WORD , BYREF substitute AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipGetStringFormatMeasurableCharacterRangeCount LIB "gdiplus.dll" ALIAS "GdipGetStringFormatMeasurableCharacterRangeCount" ( BYVAL format AS QUAD , BYREF count AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipSetStringFormatMeasurableCharacterRanges LIB "gdiplus.dll" ALIAS "GdipSetStringFormatMeasurableCharacterRanges" ( BYVAL format AS QUAD , BYVAL rangeCount AS LONG , BYREF ranges AS CharacterRange ) AS LONG ' GpStatus
'//----------------------------------------------------------------------------
'// Cached Bitmap APIs
'//----------------------------------------------------------------------------
DECLARE FUNCTION GdipCreateCachedBitmap LIB "gdiplus.dll" ALIAS "GdipCreateCachedBitmap" ( BYVAL bitmap AS QUAD , BYVAL graphics AS QUAD , BYREF cachedBitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDeleteCachedBitmap LIB "gdiplus.dll" ALIAS "GdipDeleteCachedBitmap" ( BYVAL cachedBitmap AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipDrawCachedBitmap LIB "gdiplus.dll" ALIAS "GdipDrawCachedBitmap" ( BYVAL graphics AS QUAD , BYVAL cachedBitmap AS QUAD , BYVAL x AS LONG , BYVAL y AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipEmfToWmfBits LIB "gdiplus.dll" ALIAS "GdipEmfToWmfBits" ( BYVAL hemf AS QUAD , BYVAL cbData16 AS QUAD , BYREF pData16 AS ANY , BYVAL iMapMode AS LONG , BYVAL eFlags AS LONG ) AS QUAD ' UINT
DECLARE FUNCTION GdipSetImageAttributesCachedBackground LIB "gdiplus.dll" ALIAS "GdipSetImageAttributesCachedBackground" ( BYVAL imageattr AS QUAD , BYVAL enableFlag AS LONG ) AS LONG ' GpStatus
DECLARE FUNCTION GdipTestControl LIB "gdiplus.dll" ALIAS "GdipTestControl" ( BYVAL control AS QUAD , BYVAL param AS QUAD ) AS LONG ' GpStatus
'FUNCTION GdiplusNotificationHook ( ' BYREF token AS DWORD
' ) AS LONG ' GpStatus
'SUB GdiplusNotificationHook ( ' BYVAL token AS DWORD
' ) ' void
#IF (%GDIPVER >= &H0110)
DECLARE FUNCTION GdipConvertToEmfPlus LIB "gdiplus.dll" ALIAS "GdipConvertToEmfPlus" ( BYVAL refGraphics AS QUAD , BYVAL metafile AS QUAD , BYREF conversionFailureFlag AS LONG , BYVAL emfType AS LONG , BYREF description AS WSTRINGZ , BYREF out_metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipConvertToEmfPlusToFile LIB "gdiplus.dll" ALIAS "GdipConvertToEmfPlusToFile" ( BYVAL refGraphics AS QUAD , BYVAL metafile AS QUAD , BYREF conversionFailureFlag AS LONG , BYREF filename AS WSTRINGZ , BYVAL emfType AS LONG , BYREF description AS WSTRINGZ , BYREF out_metafile AS QUAD ) AS LONG ' GpStatus
DECLARE FUNCTION GdipConvertToEmfPlusToStream LIB "gdiplus.dll" ALIAS "GdipConvertToEmfPlusToStream" ( BYVAL refGraphics AS QUAD , BYVAL metafile AS QUAD , BYREF conversionFailureFlag AS LONG , BYVAL stream AS IStream , BYVAL emfType AS LONG , BYREF description AS WSTRINGZ , BYREF out_metafile AS QUAD ) AS LONG ' GpStatus
#ENDIF ' //(%GDIPVER >= &H0110)
#ENDIF
