I’m doing an extensive series for FoxTalk regarding GDI+ and VFP. The first article will be in the August issue and I believe it will also be made available for free to the community. It deals with the basics of drawing on a VFP form with GDI+, including an effective double-buffering technique. It’s just the start, and once everyone is warmed up then the second article will blow doors off (guaranteed). I’ll be submitting the second article to David Stevenson sometime today. Then I’ll begin working on the third article in the series. By the time I’m done, there should be very little that is not known or accessible to VFP developers when it comes to GDI+. This series of GDI+ articles and another one (different topic) I’m doing for FoxPro Advisor is the reason behind this blog entry (well sort of)…
I’ve been somewhat quiet about GDI+ and VFP for the last couple months (out on the forums), because most of the stuff I would be able to post would come from the code I’m working on for the articles and that’s not allowed under most, if not all, publishing contracts. It’s been really difficult for me to hold a bunch of stuff back like this. I do like having the opportunity to have my stuff published, but it’s been a big change for me. For years now, I’ve written cool code and been able to instantly thrust it into the public domain. What I haven’t placed in the public domain has been making its way into my website www.vfpcode.com which should be ready for primetime by the end of this year (when I’ll open up the registration for the VFP Community – and yes, VFP Code will be free and stay that way). Don’t get me wrong, I think it’s important to VFP’s visibility that quality articles are written for the industry rags, and I’m trying to do my part. I’m just not use to the lag time between when I’ve figured something out to when I can let everyone know about it.
I absolutely burn to give stuff away to the VFP Community and promote one of the greatest languages on earth. It’s an itch that needs to be scratched and while my forum posts, and latest SPS Blog entries on VFP Email, have helped, it’s just not enough. So, here are 603 GDI+ DECLARE statements that I’ve translated, and rest assured that I’ll be going through examples of how to use many of them in my FoxTalk series.
DECLARE LONG GdiplusStartup IN GDIPLUS LONG @token, STRING @inputbuf, LONG outputbuf DECLARE LONG GdiplusShutdown IN GDIPLUS LONG token *!* Graphics DECLARE LONG GdipFlush IN GDIPLUS LONG graphics, LONG intention DECLARE LONG GdipCreateFromHDC IN GDIPLUS LONG hdc, LONG @graphics DECLARE LONG GdipCreateFromHWND IN GDIPLUS LONG hwnd, LONG @graphics DECLARE LONG GdipCreateFromHWNDICM IN GDIPLUS LONG hwnd, LONG @graphics DECLARE LONG GdipDeleteGraphics IN GDIPLUS LONG graphics DECLARE LONG GdipGetDC IN GDIPLUS LONG graphics, LONG @hdc DECLARE LONG GdipReleaseDC IN GDIPLUS LONG graphics, LONG hdc DECLARE LONG GdipSetCompositingMode IN GDIPLUS LONG graphics, LONG CompositingMd DECLARE LONG GdipGetCompositingMode IN GDIPLUS LONG graphics, LONG @CompositingMd DECLARE LONG GdipSetRenderingOrigin IN GDIPLUS LONG graphics, LONG x, LONG y DECLARE LONG GdipGetRenderingOrigin IN GDIPLUS LONG graphics, LONG @x, LONG @y DECLARE LONG GdipSetCompositingQuality IN GDIPLUS LONG graphics, LONG CompositingQlty DECLARE LONG GdipGetCompositingQuality IN GDIPLUS LONG graphics, LONG @CompositingQlty DECLARE LONG GdipSetSmoothingMode IN GDIPLUS LONG graphics, LONG SmoothingMd DECLARE LONG GdipGetSmoothingMode IN GDIPLUS LONG graphics, LONG @SmoothingMd DECLARE LONG GdipSetPixelOffsetMode IN GDIPLUS LONG graphics, LONG PixOffsetMode DECLARE LONG GdipGetPixelOffsetMode IN GDIPLUS LONG graphics, LONG @PixOffsetMode DECLARE LONG GdipSetTextRenderingHint IN GDIPLUS LONG graphics, LONG mode DECLARE LONG GdipGetTextRenderingHint IN GDIPLUS LONG graphics, LONG @mode DECLARE LONG GdipSetTextContrast IN GDIPLUS LONG graphics, LONG contrast DECLARE LONG GdipGetTextContrast IN GDIPLUS LONG graphics, LONG @contrast DECLARE LONG GdipSetInterpolationMode IN GDIPLUS LONG graphics, LONG interpolation DECLARE LONG GdipGetInterpolationMode IN GDIPLUS LONG graphics, LONG @interpolation DECLARE LONG GdipSetWorldTransform IN GDIPLUS LONG graphics, LONG matrix DECLARE LONG GdipResetWorldTransform IN GDIPLUS LONG graphics DECLARE LONG GdipMultiplyWorldTransform IN GDIPLUS LONG graphics, LONG matrix, LONG order DECLARE LONG GdipTranslateWorldTransform IN GDIPLUS LONG graphics, SINGLE dx, SINGLE dy, LONG order DECLARE LONG GdipScaleWorldTransform IN GDIPLUS LONG graphics, SINGLE sx, SINGLE sy, LONG order DECLARE LONG GdipRotateWorldTransform IN GDIPLUS LONG graphics, SINGLE angle, LONG order DECLARE LONG GdipGetWorldTransform IN GDIPLUS LONG graphics, LONG matrix DECLARE LONG GdipResetPageTransform IN GDIPLUS LONG graphics DECLARE LONG GdipGetPageUnit IN GDIPLUS LONG graphics, LONG @unit DECLARE LONG GdipGetPageScale IN GDIPLUS LONG graphics, SINGLE @sscale DECLARE LONG GdipSetPageUnit IN GDIPLUS LONG graphics, LONG unit DECLARE LONG GdipSetPageScale IN GDIPLUS LONG graphics, SINGLE sscale DECLARE LONG GdipGetDpiX IN GDIPLUS LONG graphics, SINGLE @dpi DECLARE LONG GdipGetDpiY IN GDIPLUS LONG graphics, SINGLE @dpi DECLARE LONG GdipTransformPoints IN GDIPLUS LONG graphics, LONG destSpace, LONG srcSpace, STRING @pPoint, LONG Count DECLARE LONG GdipTransformPointsI IN GDIPLUS LONG graphics, LONG destSpace, LONG srcSpace, STRING @pPoint, LONG Count DECLARE LONG GdipGetNearestColor IN GDIPLUS LONG graphics, LONG @argb DECLARE LONG GdipCreateHalftonePalette IN GDIPLUS DECLARE LONG GdipDrawLine IN GDIPLUS LONG graphics, LONG pen, SINGLE x1, SINGLE y1, SINGLE x2, SINGLE y2 DECLARE LONG GdipDrawLineI IN GDIPLUS LONG graphics, LONG pen, LONG x1, LONG y1, LONG x2, LONG y2 DECLARE LONG GdipDrawLines IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawLinesI IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawArc IN GDIPLUS LONG graphics, LONG pen, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipDrawArcI IN GDIPLUS LONG graphics, LONG pen, LONG x, LONG y, LONG nWidth, LONG Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipDrawBezier IN GDIPLUS LONG graphics, LONG pen, SINGLE x1, SINGLE y1, SINGLE x2, SINGLE y2, SINGLE x3, SINGLE y3, SINGLE x4, SINGLE y4 DECLARE LONG GdipDrawBezierI IN GDIPLUS LONG graphics, LONG pen, LONG x1, LONG y1, LONG x2, LONG y2, LONG x3, LONG y3, LONG x4, LONG y4 DECLARE GdipDrawBeziers IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawBeziersI IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawRectangle IN GDIPLUS LONG graphics, LONG pen, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height DECLARE LONG GdipDrawRectangleI IN GDIPLUS LONG graphics, LONG pen, LONG x, LONG y, LONG nWidth, LONG Height DECLARE LONG GdipDrawRectangles IN GDIPLUS LONG graphics, LONG pen, STRING @rects, LONG Count DECLARE LONG GdipDrawRectanglesI IN GDIPLUS LONG graphics, LONG pen, STRING @rects, LONG Count DECLARE LONG GdipDrawEllipse IN GDIPLUS LONG graphics, LONG pen, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height DECLARE LONG GdipDrawEllipseI IN GDIPLUS LONG graphics, LONG pen, LONG x, LONG y, LONG nWidth, LONG Height DECLARE LONG GdipDrawPie IN GDIPLUS LONG graphics, LONG pen, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipDrawPieI IN GDIPLUS LONG graphics, LONG pen, LONG x, LONG y, LONG nWidth, LONG Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipDrawPolygon IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawPolygonI IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawPath IN GDIPLUS LONG graphics, LONG pen, LONG path DECLARE LONG GdipDrawCurve IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawCurveI IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawCurve2 IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count, SINGLE tension DECLARE LONG GdipDrawCurve2I IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count, SINGLE tension DECLARE LONG GdipDrawCurve3 IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count, LONG offset, LONG numberOfSegments, SINGLE tension DECLARE LONG GdipDrawCurve3I IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count, LONG offset, LONG numberOfSegments, SINGLE tension DECLARE LONG GdipDrawClosedCurve IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawClosedCurveI IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count DECLARE LONG GdipDrawClosedCurve2 IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count, SINGLE tension DECLARE LONG GdipDrawClosedCurve2I IN GDIPLUS LONG graphics, LONG pen, STRING @pPoint, LONG Count, SINGLE tension DECLARE LONG GdipGraphicsClear IN GDIPLUS LONG graphics, LONG lColor DECLARE LONG GdipFillRectangle IN GDIPLUS LONG graphics, LONG brush, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height DECLARE LONG GdipFillRectangleI IN GDIPLUS LONG graphics, LONG brush, LONG x, LONG y, LONG nWidth, LONG Height DECLARE LONG GdipFillRectangles IN GDIPLUS LONG graphics, LONG brush, STRING @rects, LONG Count DECLARE LONG GdipFillRectanglesI IN GDIPLUS LONG graphics, LONG brush, STRING @rects, LONG Count DECLARE LONG GdipFillPolygon IN GDIPLUS LONG graphics, LONG brush, STRING @pPoint, LONG Count, LONG FillMd DECLARE LONG GdipFillPolygonI IN GDIPLUS LONG graphics, LONG brush, STRING @pPoint, LONG Count, LONG FillMd DECLARE LONG GdipFillPolygon2 IN GDIPLUS LONG graphics, LONG brush, STRING @pPoint, LONG Count DECLARE LONG GdipFillPolygon2I IN GDIPLUS LONG graphics, LONG brush, STRING @pPoint, LONG Count DECLARE LONG GdipFillEllipse IN GDIPLUS LONG graphics, LONG brush, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height DECLARE LONG GdipFillEllipseI IN GDIPLUS LONG graphics, LONG brush, LONG x, LONG y, LONG nWidth, LONG Height DECLARE LONG GdipFillPie IN GDIPLUS LONG graphics, LONG brush, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipFillPieI IN GDIPLUS LONG graphics, LONG brush, LONG x, LONG y, LONG nWidth, LONG Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipFillPath IN GDIPLUS LONG graphics, LONG brush, LONG path DECLARE LONG GdipFillClosedCurve IN GDIPLUS LONG graphics, LONG brush, STRING @pPoint, LONG Count DECLARE LONG GdipFillClosedCurveI IN GDIPLUS LONG graphics, LONG brush, STRING @pPoint, LONG Count DECLARE LONG GdipFillClosedCurve2 IN GDIPLUS LONG graphics, LONG brush, STRING @pPoint, LONG Count, SINGLE tension, LONG FillMd DECLARE LONG GdipFillClosedCurve2I IN GDIPLUS LONG graphics, LONG brush, STRING @pPoint, LONG Count, SINGLE tension, LONG FillMd DECLARE LONG GdipFillRegion IN GDIPLUS LONG graphics, LONG brush, LONG region DECLARE LONG GdipDrawImage IN GDIPLUS LONG graphics, LONG nImage, SINGLE x, SINGLE y DECLARE LONG GdipDrawImageI IN GDIPLUS LONG graphics, LONG nImage, LONG x, LONG y DECLARE LONG GdipDrawImageRect IN GDIPLUS LONG graphics, LONG nImage, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height DECLARE LONG GdipDrawImageRectI IN GDIPLUS LONG graphics, LONG nImage, LONG x, LONG y, LONG nWidth, LONG Height DECLARE LONG GdipDrawImagePoints IN GDIPLUS LONG graphics, LONG nImage, STRING @dstpoints, LONG Count DECLARE LONG GdipDrawImagePointsI IN GDIPLUS LONG graphics, LONG nImage, STRING @dstpoints, LONG Count DECLARE LONG GdipDrawImagePointRect IN GDIPLUS LONG graphics, LONG nImage, SINGLE x, SINGLE y, SINGLE srcx, SINGLE srcy, SINGLE srcwidth, SINGLE srcheight, LONG srcUnit DECLARE LONG GdipDrawImagePointRectI IN GDIPLUS LONG graphics, LONG nImage, LONG x, LONG y, LONG srcx, LONG srcy, LONG srcwidth, LONG srcheight, LONG srcUnit DECLARE LONG GdipDrawImageRectRect IN GDIPLUS LONG graphics, LONG nImage, SINGLE dstx, SINGLE dsty, LONG dstwidth, SINGLE dstheight, SINGLE srcx, SINGLE srcy, SINGLE srcwidth, SINGLE srcheight, LONG srcUnit, LONG imageAttributes, LONG pCALLBACK, LONG callbackData DECLARE LONG GdipDrawImageRectRectI IN GDIPLUS LONG graphics, LONG nImage, LONG dstx, LONG dsty, LONG dstwidth, LONG dstheight, LONG srcx, LONG srcy, LONG srcwidth, LONG srcheight, LONG srcUnit, LONG imageAttributes, LONG pCALLBACK, LONG callbackData DECLARE LONG GdipDrawImagePointsRect IN GDIPLUS LONG graphics, LONG nImage, STRING @pPoint, LONG Count, SINGLE srcx, SINGLE srcy, SINGLE srcwidth, SINGLE srcheight, LONG srcUnit, LONG imageAttributes, LONG pCALLBACK, LONG callbackData DECLARE LONG GdipDrawImagePointsRectI IN GDIPLUS LONG graphics, LONG nImage, STRING @pPoint, LONG Count, LONG srcx, LONG srcy, LONG srcwidth, LONG srcheight, LONG srcUnit, LONG imageAttributes, LONG pCALLBACK, LONG callbackData DECLARE LONG GdipEnumerateMetafileDestPoint IN GDIPLUS LONG graphics, LONG metafile, STRING @destPoint, LONG @lpEnumerateMetafileProc, LONG callbackData, LONG @imageAttributes DECLARE LONG GdipEnumerateMetafileDestPointI IN GDIPLUS LONG @graphics, LONG metafile, STRING @destPoint, LONG lpEnumerateMetafileProc, LONG callbackData, LONG imageAttributes DECLARE LONG GdipEnumerateMetafileDestRect IN GDIPLUS LONG graphics, LONG metafile, STRING @destRect, LONG @lpEnumerateMetafileProc, LONG callbackData, LONG @imageAttributes DECLARE LONG GdipEnumerateMetafileDestRectI IN GDIPLUS LONG graphics, LONG metafile, STRING @destRect, LONG @lpEnumerateMetafileProc, LONG callbackData, LONG @imageAttributes DECLARE LONG GdipEnumerateMetafileDestPoints IN GDIPLUS LONG graphics, LONG metafile, STRING @destPoint, LONG Count, LONG @lpEnumerateMetafileProc, LONG callbackData, LONG @imageAttributes DECLARE LONG GdipEnumerateMetafileDestPointsI IN GDIPLUS LONG graphics, LONG metafile, STRING @destPoint, LONG Count, LONG @lpEnumerateMetafileProc, LONG callbackData, LONG @imageAttributes DECLARE LONG GdipEnumerateMetafileSrcRectDestPoint IN GDIPLUS LONG graphics, LONG metafile, STRING @destPoint, STRING @srcRect, LONG srcUnit, LONG lpEnumerateMetafileProc, LONG callbackData, LONG imageAttributes DECLARE LONG GdipEnumerateMetafileSrcRectDestPointI IN GDIPLUS LONG graphics, LONG metafile, STRING @destPoint, STRING @srcRect, LONG srcUnit, LONG lpEnumerateMetafileProc, LONG callbackData, LONG imageAttributes DECLARE LONG GdipEnumerateMetafileSrcRectDestRect IN GDIPLUS LONG graphics, LONG metafile, STRING @destRect, STRING @srcRect, LONG srcUnit, LONG lpEnumerateMetafileProc, LONG callbackData, LONG imageAttributes DECLARE LONG GdipEnumerateMetafileSrcRectDestRectI IN GDIPLUS LONG graphics, LONG metafile, STRING @destRect, STRING @srcRect, LONG srcUnit, LONG lpEnumerateMetafileProc, LONG callbackData, LONG imageAttributes DECLARE LONG GdipEnumerateMetafileSrcRectDestPoints IN GDIPLUS LONG graphics, LONG metafile, STRING @destPoints, LONG Count, STRING @srcRect, LONG srcUnit, LONG lpEnumerateMetafileProc, LONG callbackData, LONG imageAttributes DECLARE LONG GdipEnumerateMetafileSrcRectDestPointsI IN GDIPLUS LONG graphics, LONG metafile, STRING @destPoints, LONG Count, STRING @srcRect, LONG srcUnit, LONG lpEnumerateMetafileProc, LONG callbackData, LONG imageAttributes DECLARE LONG GdipPlayMetafileRecord IN GDIPLUS LONG metafile, STRING recordType, LONG flags, LONG dataSize, STRING @byteData DECLARE LONG GdipSetClipGraphics IN GDIPLUS LONG graphics, LONG srcgraphics, LONG CombineMd DECLARE LONG GdipSetClipRect IN GDIPLUS LONG graphics, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, LONG CombineMd DECLARE LONG GdipSetClipRectI IN GDIPLUS LONG graphics, LONG x, LONG y, LONG nWidth, LONG Height, LONG CombineMd DECLARE LONG GdipSetClipPath IN GDIPLUS LONG graphics, LONG path, LONG CombineMd DECLARE LONG GdipSetClipRegion IN GDIPLUS LONG graphics, LONG region, LONG CombineMd DECLARE LONG GdipSetClipHrgn IN GDIPLUS LONG graphics, LONG hRgn, LONG CombineMd DECLARE LONG GdipResetClip IN GDIPLUS LONG graphics DECLARE LONG GdipTranslateClip IN GDIPLUS LONG graphics, SINGLE dx, SINGLE dy DECLARE LONG GdipTranslateClipI IN GDIPLUS LONG graphics, LONG dx, LONG dy DECLARE LONG GdipGetClip IN GDIPLUS LONG graphics, LONG region DECLARE LONG GdipGetClipBounds IN GDIPLUS LONG graphics, STRING @nRect DECLARE LONG GdipGetClipBoundsI IN GDIPLUS LONG graphics, STRING @nRect DECLARE LONG GdipIsClipEmpty IN GDIPLUS LONG graphics, LONG @result DECLARE LONG GdipGetVisibleClipBounds IN GDIPLUS LONG graphics, STRING @nRect DECLARE LONG GdipGetVisibleClipBoundsI IN GDIPLUS LONG graphics, STRING @nRect DECLARE LONG GdipIsVisibleClipEmpty IN GDIPLUS LONG graphics, LONG @result DECLARE LONG GdipIsVisiblePoint IN GDIPLUS LONG graphics, SINGLE x, SINGLE y, LONG @result DECLARE LONG GdipIsVisiblePointI IN GDIPLUS LONG graphics, LONG x, LONG y, LONG @result DECLARE LONG GdipIsVisibleRect IN GDIPLUS LONG graphics, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, LONG @result DECLARE LONG GdipIsVisibleRectI IN GDIPLUS LONG graphics, LONG x, LONG y, LONG nWidth, LONG Height, LONG @result DECLARE LONG GdipSaveGraphics IN GDIPLUS LONG graphics, LONG @STATE DECLARE LONG GdipRestoreGraphics IN GDIPLUS LONG graphics, LONG STATE DECLARE LONG GdipBeginContainer IN GDIPLUS LONG graphics, STRING @dstrect, STRING @srcRect, LONG unit, LONG @STATE DECLARE LONG GdipBeginContainerI IN GDIPLUS LONG graphics, STRING @dstrect, STRING @srcRect, LONG unit, LONG @STATE DECLARE LONG GdipBeginContainer2 IN GDIPLUS LONG graphics, LONG @STATE DECLARE LONG GdipEndContainer IN GDIPLUS LONG graphics, LONG STATE DECLARE LONG GdipGetMetafileHeaderFromWmf IN GDIPLUS LONG hWmf, STRING @WmfPlaceableFileHdr, STRING @header DECLARE LONG GdipGetMetafileHeaderFromEmf IN GDIPLUS LONG hEmf, STRING @header DECLARE LONG GdipGetMetafileHeaderFromFile IN GDIPLUS STRING FilName, STRING @header DECLARE LONG GdipGetMetafileHeaderFromStream IN GDIPLUS INTEGER stream, STRING @header DECLARE LONG GdipGetMetafileHeaderFromMetafile IN GDIPLUS LONG metafile, STRING @header DECLARE LONG GdipGetHemfFromMetafile IN GDIPLUS LONG metafile, LONG @hEmf DECLARE LONG GdipCreateStreamOnFile IN GDIPLUS STRING FilName, LONG access, INTEGER @stream DECLARE LONG GdipCreateMetafileFromWmf IN GDIPLUS LONG hWmf, LONG bDeleteWmf, STRING @WmfPlaceableFileHdr, LONG metafile DECLARE LONG GdipCreateMetafileFromEmf IN GDIPLUS LONG hEmf, LONG bDeleteEmf, LONG @metafile DECLARE LONG GdipCreateMetafileFromFile IN GDIPLUS STRING @byvalfile, LONG @metafile DECLARE LONG GdipCreateMetafileFromWmfFile IN GDIPLUS STRING file, STRING @WmfPlaceableFileHdr, LONG @metafile DECLARE LONG GdipCreateMetafileFromStream IN GDIPLUS INTEGER stream, Long @metafile DECLARE LONG GdipRecordMetafile IN GDIPLUS LONG referenceHdc, LONG @etype, STRING @frameRect, LONG frameUnit, STRING description, LONG @metafile DECLARE LONG GdipRecordMetafileI IN GDIPLUS LONG referenceHdc, LONG @etype, STRING @frameRect, LONG frameUnit, STRING description, LONG @metafile DECLARE LONG GdipRecordMetafileFileName IN GDIPLUS STRING FilName, LONG referenceHdc, LONG @etype, STRING @frameRect, LONG frameUnit, STRING description, LONG @metafile DECLARE LONG GdipRecordMetafileFileNameI IN GDIPLUS STRING FilName, LONG referenceHdc, LONG @etype, STRING @frameRect, LONG frameUnit, STRING description, LONG @metafile DECLARE LONG GdipRecordMetafileFileStream IN GDIPLUS INTEGER stream, LONG referenceHdc, LONG @etype, STRING frameRect, LONG frameUnit, STRING description, LONG @metafile DECLARE LONG GdipRecordMetafileFileStreamI IN GDIPLUS INTEGER stream, LONG referenceHdc, LONG @etype, STRING @frameRect, LONG frameUnit, STRING description, LONG @metafile DECLARE LONG GdipSetMetafileDownLevelRasterizationLimit IN GDIPLUS LONG metafile, LONG metafileRasterizationLimitDpi DECLARE LONG GdipGetMetafileDownLevelRasterizationLimit IN GDIPLUS LONG metafile, LONG @metafileRasterizationLimitDpi DECLARE LONG GdipGetImageDecodersSize IN GDIPLUS LONG @numDecoders, LONG @SIZE DECLARE LONG GdipGetImageDecoders IN GDIPLUS LONG numDecoders, LONG SIZE, STRING @decoders DECLARE LONG GdipGetImageEncodersSize IN GDIPLUS LONG @numEncoders, LONG @SIZE DECLARE LONG GdipGetImageEncoders IN GDIPLUS LONG numEncoders, LONG SIZE, STRING @encoders DECLARE LONG GdipComment IN GDIPLUS LONG graphics, LONG sizeData, STRING @nData *!* Image DECLARE LONG GdipLoadImageFromFile IN GDIPLUS STRING FilName, LONG @nImage DECLARE LONG GdipLoadImageFromFileICM IN GDIPLUS STRING FilName, LONG @nImage DECLARE LONG GdipLoadImageFromStream IN GDIPLUS INTEGER stream, LONG @nImage DECLARE LONG GdipLoadImageFromStreamICM IN GDIPLUS INTEGER stream, LONG @nImage DECLARE LONG GdipDisposeImage IN GDIPLUS LONG nImage DECLARE LONG GdipSaveImageToFile IN GDIPLUS LONG nImage, STRING FilName, STRING @clsidEncoder, STRING @encoderParams DECLARE LONG GdipSaveImageToStream IN GDIPLUS LONG nImage, INTEGER stream, STRING @clsidEncoder, STRING @encoderParams DECLARE LONG GdipSaveAdd IN GDIPLUS LONG nImage, LONG @encoderParams DECLARE LONG GdipSaveAddImage IN GDIPLUS LONG nImage, LONG newnImage, LONG @encoderParams DECLARE LONG GdipGetImageGraphicsContext IN GDIPLUS LONG nImage, LONG @graphics DECLARE LONG GdipGetImageBounds IN GDIPLUS LONG nImage, STRING @srcRect, LONG @srcUnit DECLARE LONG GdipGetImageDimension IN GDIPLUS LONG nImage, SINGLE @nWidth, SINGLE @Height DECLARE LONG GdipGetImageType IN GDIPLUS LONG nImage, LONG @itype DECLARE LONG GdipGetImageWidth IN GDIPLUS LONG nImage, LONG @nWidth DECLARE LONG GdipGetImageHeight IN GDIPLUS LONG nImage, LONG @Height DECLARE LONG GdipGetImageHorizontalResolution IN GDIPLUS LONG nImage, SINGLE @resolution DECLARE LONG GdipGetImageVerticalResolution IN GDIPLUS LONG nImage, SINGLE @resolution DECLARE LONG GdipGetImageFlags IN GDIPLUS LONG nImage, LONG @flags DECLARE LONG GdipGetImageRawFormat IN GDIPLUS LONG nImage, STRING @format DECLARE LONG GdipGetImagePixelFormat IN GDIPLUS LONG nImage, LONG @PixelFormat DECLARE LONG GdipGetImageThumbnail IN GDIPLUS LONG nImage, LONG thumbWidth, LONG thumbHeight, LONG @thumbnImage, LONG pCALLBACK, LONG callbackData DECLARE LONG GdipGetEncoderParameterListSize IN GDIPLUS LONG nImage, STRING @clsidEncoder, LONG @SIZE DECLARE LONG GdipGetEncoderParameterList IN GDIPLUS LONG nImage, STRING @clsidEncoder, LONG SIZE, LONG @buffer DECLARE LONG GdipImageGetFrameDimensionsCount IN GDIPLUS LONG nImage, LONG @Count DECLARE LONG GdipImageGetFrameDimensionsList IN GDIPLUS LONG nImage, STRING @dimensionIDs, LONG Count DECLARE LONG GdipImageGetFrameCount IN GDIPLUS LONG nImage, STRING @dimensionID, LONG @Count DECLARE LONG GdipImageSelectActiveFrame IN GDIPLUS LONG nImage, STRING @dimensionID, LONG frameIndex DECLARE LONG GdipImageRotateFlip IN GDIPLUS LONG nImage, LONG rfType DECLARE LONG GdipGetImagePalette IN GDIPLUS LONG nImage, LONG @palette, LONG SIZE DECLARE LONG GdipSetImagePalette IN GDIPLUS LONG nImage, LONG @palette DECLARE LONG GdipGetImagePaletteSize IN GDIPLUS LONG nImage, LONG @SIZE DECLARE LONG GdipGetPropertyCount IN GDIPLUS LONG nImage, LONG @numOfProperty DECLARE LONG GdipGetPropertyIdList IN GDIPLUS LONG nImage, LONG numOfProperty, LONG @list DECLARE LONG GdipGetPropertyItemSize IN GDIPLUS LONG nImage, LONG propId, LONG @SIZE DECLARE LONG GdipGetPropertyItem IN GDIPLUS LONG nImage, LONG propId, LONG propSize, STRING @buffer DECLARE LONG GdipGetPropertySize IN GDIPLUS LONG nImage, LONG @totalBufferSize, LONG @numProperties DECLARE LONG GdipGetAllPropertyItems IN GDIPLUS LONG nImage, LONG totalBufferSize, LONG numProperties, STRING @allItems DECLARE LONG GdipRemovePropertyItem IN GDIPLUS LONG nImage, LONG propId DECLARE LONG GdipSetPropertyItem IN GDIPLUS LONG nImage, STRING @item DECLARE LONG GdipImageForceValidation IN GDIPLUS LONG nImage *!* Bitmap DECLARE LONG GdipCreateBitmapFromFile IN GDIPLUS LONG FilName, LONG @nBitmap DECLARE LONG GdipCreateBitmapFromFileICM IN GDIPLUS LONG FilName, LONG @nBitmap DECLARE LONG GdipCreateBitmapFromStream IN GDIPLUS INTEGER stream, Long @nBitmap DECLARE LONG GdipCreateBitmapFromStreamICM IN GDIPLUS INTEGER stream, Long @nBitmap DECLARE LONG GdipCreateBitmapFromScan0 IN GDIPLUS LONG nWidth, LONG Height, LONG stride, LONG PixelFormat, STRING @scan0, LONG @nBitmap DECLARE LONG GdipCreateBitmapFromGraphics IN GDIPLUS LONG nWidth, LONG Height, LONG graphics, LONG @nBitmap DECLARE LONG GdipCreateBitmapFromDirectDrawSurface IN GDIPLUS LONG @surface, Long @nBitmap DECLARE LONG GdipCreateBitmapFromGdiDib IN GDIPLUS STRING @gdiBitmapInfo, LONG gdiBitmapData, LONG @nBitmap DECLARE LONG GdipCreateBitmapFromHBITMAP IN GDIPLUS LONG hbm, LONG hpal, LONG @nBitmap DECLARE LONG GdipCreateHBITMAPFromBitmap IN GDIPLUS LONG nBitmap, LONG @hbmReturn, LONG background DECLARE LONG GdipCreateBitmapFromHICON IN GDIPLUS LONG hicon, LONG @nBitmap DECLARE LONG GdipCreateHICONFromBitmap IN GDIPLUS LONG nBitmap, LONG @hbmReturn DECLARE LONG GdipCreateBitmapFromResource IN GDIPLUS LONG hInstance, STRING lpBitmapName, LONG @nBitmap DECLARE LONG GdipCloneBitmapArea IN GDIPLUS SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, LONG PixelFormat, LONG srcBitmap, LONG @dstBitmap DECLARE LONG GdipCloneBitmapAreaI IN GDIPLUS LONG x, LONG y, LONG nWidth, LONG Height, LONG PixelFormat, LONG srcBitmap, LONG @dstBitmap DECLARE LONG GdipBitmapLockBits IN GDIPLUS LONG nBitmap, STRING @nRect, LONG flags, LONG PixelFormat, LONG @lockedBitmapData DECLARE LONG GdipBitmapUnlockBits IN GDIPLUS LONG nBitmap, LONG @lockedBitmapData DECLARE LONG GdipBitmapGetPixel IN GDIPLUS LONG nBitmap, LONG x, LONG y, LONG @COLOR DECLARE LONG GdipBitmapSetPixel IN GDIPLUS LONG nBitmap, LONG x, LONG y, LONG COLOR DECLARE LONG GdipBitmapSetResolution IN GDIPLUS LONG nBitmap, SINGLE xdpi, SINGLE ydpi *!* CachedBitmap DECLARE LONG GdipCreateCachedBitmap IN GDIPLUS LONG nBitmap, LONG graphics, LONG @cachedBitmap DECLARE LONG GdipDeleteCachedBitmap IN GDIPLUS LONG cachedBitmap DECLARE LONG GdipDrawCachedBitmap IN GDIPLUS LONG graphics, LONG cachedBitmap, LONG x, LONG y *!* Brush DECLARE LONG GdipCloneBrush IN GDIPLUS LONG brush, LONG @cloneBrush DECLARE LONG GdipDeleteBrush IN GDIPLUS LONG brush DECLARE LONG GdipGetBrushType IN GDIPLUS LONG brush, LONG @brshType *!* HatchBrush DECLARE LONG GdipCreateHatchBrush IN GDIPLUS LONG style, LONG forecolr, LONG backcolr, LONG @brush DECLARE LONG GdipGetHatchStyle IN GDIPLUS LONG brush, LONG @style DECLARE LONG GdipGetHatchForegroundColor IN GDIPLUS LONG brush, LONG @forecolr DECLARE LONG GdipGetHatchBackgroundColor IN GDIPLUS LONG brush, LONG @backcolr *!* SolidBrush DECLARE LONG GdipCreateSolidFill IN GDIPLUS LONG argb, LONG @brush DECLARE LONG GdipSetSolidFillColor IN GDIPLUS LONG brush, LONG argb DECLARE LONG GdipGetSolidFillColor IN GDIPLUS LONG brush, LONG @argb *!* LineBrush DECLARE LONG GdipCreateLineBrush IN GDIPLUS STRING @point1, STRING @point2, LONG color1, LONG color2, LONG WrapMd, LONG @lineGradient DECLARE LONG GdipCreateLineBrushI IN GDIPLUS STRING @point1, STRING @point2, LONG color1, LONG color2, LONG WrapMd, LONG @lineGradient DECLARE LONG GdipCreateLineBrushFromRect IN GDIPLUS STRING @nRect, LONG color1, LONG color2, LONG mode, LONG WrapMd, LONG @lineGradient DECLARE LONG GdipCreateLineBrushFromRectI IN GDIPLUS STRING @nRect, LONG color1, LONG color2, LONG mode, LONG WrapMd, LONG @lineGradient DECLARE LONG GdipCreateLineBrushFromRectWithAngle IN GDIPLUS STRING @nRect, LONG color1, LONG color2, SINGLE angle, LONG isAngleScalable, LONG WrapMd, LONG @lineGradient DECLARE LONG GdipCreateLineBrushFromRectWithAngleI IN GDIPLUS STRING @nRect, LONG color1, LONG color2, SINGLE angle, LONG isAngleScalable, LONG WrapMd, LONG @lineGradient DECLARE LONG GdipSetLineColors IN GDIPLUS LONG brush, LONG color1, LONG color2 DECLARE LONG GdipGetLineColors IN GDIPLUS LONG brush, LONG @lColors DECLARE LONG GdipGetLineRect IN GDIPLUS LONG brush, STRING @nRect DECLARE LONG GdipGetLineRectI IN GDIPLUS LONG brush, STRING @nRect DECLARE LONG GdipSetLineGammaCorrection IN GDIPLUS LONG brush, LONG useGammaCorrection DECLARE LONG GdipGetLineGammaCorrection IN GDIPLUS LONG brush, LONG @useGammaCorrection DECLARE LONG GdipGetLineBlendCount IN GDIPLUS LONG brush, LONG @Count DECLARE LONG GdipGetLineBlend IN GDIPLUS LONG brush, SINGLE @blend, SINGLE @positions, LONG Count DECLARE LONG GdipSetLineBlend IN GDIPLUS LONG brush, SINGLE @blend, SINGLE @positions, LONG Count DECLARE LONG GdipGetLinePresetBlendCount IN GDIPLUS LONG brush, LONG @Count DECLARE LONG GdipGetLinePresetBlend IN GDIPLUS LONG brush, LONG @blend, SINGLE @positions, LONG Count DECLARE LONG GdipSetLinePresetBlend IN GDIPLUS LONG brush, LONG @blend, SINGLE @positions, LONG Count DECLARE LONG GdipSetLineSigmaBlend IN GDIPLUS LONG brush, SINGLE FOCUS, SINGLE theScale DECLARE LONG GdipSetLineLinearBlend IN GDIPLUS LONG brush, SINGLE FOCUS, SINGLE theScale DECLARE LONG GdipSetLineWrapMode IN GDIPLUS LONG brush, LONG WrapMd DECLARE LONG GdipGetLineWrapMode IN GDIPLUS LONG brush, LONG @WrapMd DECLARE LONG GdipGetLineTransform IN GDIPLUS LONG brush, LONG @matrix DECLARE LONG GdipSetLineTransform IN GDIPLUS LONG brush, LONG matrix DECLARE LONG GdipResetLineTransform IN GDIPLUS LONG brush DECLARE LONG GdipMultiplyLineTransform IN GDIPLUS LONG brush, LONG matrix, LONG order DECLARE LONG GdipTranslateLineTransform IN GDIPLUS LONG brush, SINGLE dx, SINGLE dy, LONG order DECLARE LONG GdipScaleLineTransform IN GDIPLUS LONG brush, SINGLE sx, SINGLE sy, LONG order DECLARE LONG GdipRotateLineTransform IN GDIPLUS LONG brush, SINGLE angle, LONG order *!* TextureBrush DECLARE LONG GdipCreateTexture IN GDIPLUS LONG nImage, LONG WrapMd, LONG @texture DECLARE LONG GdipCreateTexture2 IN GDIPLUS LONG nImage, LONG WrapMd, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, LONG @texture DECLARE LONG GdipCreateTextureIA IN GDIPLUS LONG nImage, LONG imageAttributes, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, LONG @texture DECLARE LONG GdipCreateTexture2I IN GDIPLUS LONG nImage, LONG WrapMd, LONG x, LONG y, LONG nWidth, LONG Height, LONG @texture DECLARE LONG GdipCreateTextureIAI IN GDIPLUS LONG nImage, LONG imageAttributes, LONG x, LONG y, LONG nWidth, LONG Height, LONG @texture DECLARE LONG GdipGetTextureTransform IN GDIPLUS LONG brush, LONG matrix DECLARE LONG GdipSetTextureTransform IN GDIPLUS LONG brush, LONG matrix DECLARE LONG GdipResetTextureTransform IN GDIPLUS LONG brush DECLARE LONG GdipTranslateTextureTransform IN GDIPLUS LONG brush, SINGLE dx, SINGLE dy, LONG order DECLARE LONG GdipMultiplyTextureTransform IN GDIPLUS LONG brush, LONG matrix, LONG order DECLARE LONG GdipScaleTextureTransform IN GDIPLUS LONG brush, SINGLE sx, SINGLE sy, LONG order DECLARE LONG GdipRotateTextureTransform IN GDIPLUS LONG brush, SINGLE angle, LONG order DECLARE LONG GdipSetTextureWrapMode IN GDIPLUS LONG brush, LONG WrapMd DECLARE LONG GdipGetTextureWrapMode IN GDIPLUS LONG brush, LONG @WrapMd DECLARE LONG GdipGetTextureImage IN GDIPLUS LONG brush, LONG @nImage *!* PathGradientBrush DECLARE LONG GdipCreatePathGradient IN GDIPLUS STRING @pPoint, LONG Count, LONG WrapMd, LONG @polyGradient DECLARE LONG GdipCreatePathGradientI IN GDIPLUS STRING @pPoint, LONG Count, LONG WrapMd, LONG @polyGradient DECLARE LONG GdipCreatePathGradientFromPath IN GDIPLUS LONG path, LONG @polyGradient DECLARE LONG GdipGetPathGradientCenterColor IN GDIPLUS LONG brush, LONG @lColors DECLARE LONG GdipSetPathGradientCenterColor IN GDIPLUS LONG brush, LONG lColors DECLARE LONG GdipGetPathGradientSurroundColorsWithCount IN GDIPLUS LONG brush, LONG @argb, LONG @Count DECLARE LONG GdipSetPathGradientSurroundColorsWithCount IN GDIPLUS LONG brush, LONG @argb, LONG @Count DECLARE LONG GdipGetPathGradientPath IN GDIPLUS LONG brush, LONG path DECLARE LONG GdipSetPathGradientPath IN GDIPLUS LONG brush, LONG path DECLARE LONG GdipGetPathGradientCenterPoint IN GDIPLUS LONG brush, STRING @pPoint DECLARE LONG GdipGetPathGradientCenterPointI IN GDIPLUS LONG brush, STRING @pPoint DECLARE LONG GdipSetPathGradientCenterPoint IN GDIPLUS LONG brush, STRING @pPoint DECLARE LONG GdipSetPathGradientCenterPointI IN GDIPLUS LONG brush, STRING @pPoint DECLARE LONG GdipGetPathGradientRect IN GDIPLUS LONG brush, STRING @nRect DECLARE LONG GdipGetPathGradientRectI IN GDIPLUS LONG brush, STRING @nRect DECLARE LONG GdipGetPathGradientPointCount IN GDIPLUS LONG brush, LONG @Count DECLARE LONG GdipGetPathGradientSurroundColorCount IN GDIPLUS LONG brush, LONG @Count DECLARE LONG GdipSetPathGradientGammaCorrection IN GDIPLUS LONG brush, LONG useGammaCorrection DECLARE LONG GdipGetPathGradientGammaCorrection IN GDIPLUS LONG brush, LONG @useGammaCorrection DECLARE LONG GdipGetPathGradientBlendCount IN GDIPLUS LONG brush, LONG @Count DECLARE LONG GdipGetPathGradientBlend IN GDIPLUS LONG brush, SINGLE @blend, SINGLE @positions, LONG Count DECLARE LONG GdipSetPathGradientBlend IN GDIPLUS LONG brush, SINGLE @blend, SINGLE @positions, LONG Count DECLARE LONG GdipGetPathGradientPresetBlendCount IN GDIPLUS LONG brush, LONG @Count DECLARE LONG GdipGetPathGradientPresetBlend IN GDIPLUS LONG brush, LONG @blend, SINGLE @positions, LONG Count DECLARE LONG GdipSetPathGradientPresetBlend IN GDIPLUS LONG brush, LONG @blend, SINGLE @positions, LONG Count DECLARE LONG GdipSetPathGradientSigmaBlend IN GDIPLUS LONG brush, SINGLE FOCUS, SINGLE sscale DECLARE LONG GdipSetPathGradientLinearBlend IN GDIPLUS LONG brush, SINGLE FOCUS, SINGLE sscale DECLARE LONG GdipGetPathGradientWrapMode IN GDIPLUS LONG brush, LONG @WrapMd DECLARE LONG GdipSetPathGradientWrapMode IN GDIPLUS LONG brush, LONG WrapMd DECLARE LONG GdipGetPathGradientTransform IN GDIPLUS LONG brush, LONG matrix DECLARE LONG GdipSetPathGradientTransform IN GDIPLUS LONG brush, LONG matrix DECLARE LONG GdipResetPathGradientTransform IN GDIPLUS LONG brush DECLARE LONG GdipMultiplyPathGradientTransform IN GDIPLUS LONG brush, LONG matrix, LONG order DECLARE LONG GdipTranslatePathGradientTransform IN GDIPLUS LONG brush, SINGLE dx, SINGLE dy, LONG order DECLARE LONG GdipScalePathGradientTransform IN GDIPLUS LONG brush, SINGLE sx, SINGLE sy, LONG order DECLARE LONG GdipRotatePathGradientTransform IN GDIPLUS LONG brush, SINGLE angle, LONG order DECLARE LONG GdipGetPathGradientFocusScales IN GDIPLUS LONG brush, SINGLE @xScale, SINGLE @yScale DECLARE LONG GdipSetPathGradientFocusScales IN GDIPLUS LONG brush, SINGLE xScale, SINGLE yScale *!* Path DECLARE LONG GdipCreatePath IN GDIPLUS LONG brushmode, LONG @path DECLARE LONG GdipCreatePath2 IN GDIPLUS STRING @pPoint, STRING @types, LONG Count, LONG @brushmode, LONG @path DECLARE LONG GdipCreatePath2I IN GDIPLUS STRING @pPoint, STRING @types, LONG Count, LONG @brushmode, LONG @path DECLARE LONG GdipClonePath IN GDIPLUS LONG path, LONG @clonePath DECLARE LONG GdipDeletePath IN GDIPLUS LONG path DECLARE LONG GdipResetPath IN GDIPLUS LONG path DECLARE LONG GdipGetPointCount IN GDIPLUS LONG path, LONG @Count DECLARE LONG GdipGetPathTypes IN GDIPLUS LONG path, STRING @types, LONG Count DECLARE LONG GdipGetPathPoints IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipGetPathPointsI IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipGetPathFillMode IN GDIPLUS LONG path, LONG brushmode DECLARE LONG GdipSetPathFillMode IN GDIPLUS LONG path, LONG brushmode DECLARE LONG GdipGetPathData IN GDIPLUS LONG path, STRING @pdata DECLARE LONG GdipStartPathFigure IN GDIPLUS LONG path DECLARE LONG GdipClosePathFigure IN GDIPLUS LONG path DECLARE LONG GdipClosePathFigures IN GDIPLUS LONG path DECLARE LONG GdipSetPathMarker IN GDIPLUS LONG path DECLARE LONG GdipClearPathMarkers IN GDIPLUS LONG path DECLARE LONG GdipReversePath IN GDIPLUS LONG path DECLARE LONG GdipGetPathLastPoint IN GDIPLUS LONG path, STRING @lastPoint DECLARE LONG GdipAddPathLine IN GDIPLUS LONG path, SINGLE x1, SINGLE y1, SINGLE x2, SINGLE y2 DECLARE LONG GdipAddPathLine2 IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathArc IN GDIPLUS LONG path, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipAddPathBezier IN GDIPLUS LONG path, SINGLE x1, SINGLE y1, SINGLE x2, SINGLE y2, SINGLE x3, SINGLE y3, SINGLE x4, SINGLE y4 DECLARE LONG GdipAddPathBeziers IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathCurve IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathCurve2 IN GDIPLUS LONG path, STRING @pPoint, LONG Count, SINGLE tension DECLARE LONG GdipAddPathCurve3 IN GDIPLUS LONG path, STRING @pPoint, LONG Count, LONG offset, LONG numberOfSegments, SINGLE tension DECLARE LONG GdipAddPathClosedCurve IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathClosedCurve2 IN GDIPLUS LONG path, STRING @pPoint, LONG Count, SINGLE tension DECLARE LONG GdipAddPathRectangle IN GDIPLUS LONG path, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height DECLARE LONG GdipAddPathRectangles IN GDIPLUS LONG path, STRING @nRect, LONG Count DECLARE LONG GdipAddPathEllipse IN GDIPLUS LONG path, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height DECLARE LONG GdipAddPathPie IN GDIPLUS LONG path, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipAddPathPolygon IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathPath IN GDIPLUS LONG path, LONG addingPath, LONG bConnect DECLARE LONG GdipAddPathString IN GDIPLUS LONG path, STRING str, LONG length, LONG family, LONG style, SINGLE emSize, STRING @layoutRect, LONG StringFormat DECLARE LONG GdipAddPathStringI IN GDIPLUS LONG path, STRING str, LONG length, LONG family, LONG style, SINGLE emSize, STRING @layoutRect, LONG StringFormat DECLARE LONG GdipAddPathLineI IN GDIPLUS LONG path, LONG x1, LONG y1, LONG x2, LONG y2 DECLARE LONG GdipAddPathLine2I IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathArcI IN GDIPLUS LONG path, LONG x, LONG y, LONG nWidth, LONG Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipAddPathBezierI IN GDIPLUS LONG path, LONG x1, LONG y1, LONG x2, LONG y2, LONG x3, LONG y3, LONG x4, LONG y4 DECLARE LONG GdipAddPathBeziersI IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathCurveI IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathCurve2I IN GDIPLUS LONG path, STRING @pPoint, LONG Count, LONG tension DECLARE LONG GdipAddPathCurve3I IN GDIPLUS LONG path, STRING @pPoint, LONG Count, LONG offset, LONG numberOfSegments, SINGLE tension DECLARE LONG GdipAddPathClosedCurveI IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipAddPathClosedCurve2I IN GDIPLUS LONG path, STRING @pPoint, LONG Count, SINGLE tension DECLARE LONG GdipAddPathRectangleI IN GDIPLUS LONG path, LONG x, LONG y, LONG nWidth, LONG Height DECLARE LONG GdipAddPathRectanglesI IN GDIPLUS LONG path, STRING @rects, LONG Count DECLARE LONG GdipAddPathEllipseI IN GDIPLUS LONG path, LONG x, LONG y, LONG nWidth, LONG Height DECLARE LONG GdipAddPathPieI IN GDIPLUS LONG path, LONG x, LONG y, LONG nWidth, LONG Height, SINGLE startAngle, SINGLE sweepAngle DECLARE LONG GdipAddPathPolygonI IN GDIPLUS LONG path, STRING @pPoint, LONG Count DECLARE LONG GdipFlattenPath IN GDIPLUS LONG path, LONG matrix, SINGLE flatness DECLARE LONG GdipWindingModeOutline IN GDIPLUS LONG path, LONG matrix, SINGLE flatness DECLARE LONG GdipWidenPath IN GDIPLUS LONG nativePath, LONG pen, LONG matrix, SINGLE flatness DECLARE LONG GdipWarpPath IN GDIPLUS LONG path, LONG matrix, STRING @pPoint, LONG Count, SINGLE srcx, SINGLE srcy, SINGLE srcwidth, SINGLE srcheight, LONG WarpMd, SINGLE flatness DECLARE LONG GdipTransformPath IN GDIPLUS LONG path, LONG matrix DECLARE LONG GdipGetPathWorldBounds IN GDIPLUS LONG path, STRING @bounds, LONG matrix, LONG pen DECLARE LONG GdipGetPathWorldBoundsI IN GDIPLUS LONG path, STRING @bounds, LONG matrix, LONG pen DECLARE LONG GdipIsVisiblePathPoint IN GDIPLUS LONG path, SINGLE x, SINGLE y, LONG graphics, LONG @result DECLARE LONG GdipIsVisiblePathPointI IN GDIPLUS LONG path, LONG x, LONG y, LONG graphics, LONG @result DECLARE LONG GdipIsOutlineVisiblePathPoint IN GDIPLUS LONG path, SINGLE x, SINGLE y, LONG pen, LONG graphics, LONG @result DECLARE LONG GdipIsOutlineVisiblePathPointI IN GDIPLUS LONG path, LONG x, LONG y, LONG pen, LONG graphics, LONG @result *!* PathIterator DECLARE LONG GdipCreatePathIter IN GDIPLUS LONG @iterator, LONG path DECLARE LONG GdipDeletePathIter IN GDIPLUS LONG iterator DECLARE LONG GdipPathIterNextSubpath IN GDIPLUS LONG iterator, LONG @resultCount, LONG @startIndex, LONG @endIndex, LONG @isClosed DECLARE LONG GdipPathIterNextSubpathPath IN GDIPLUS LONG iterator, LONG @resultCount, LONG path, LONG @isClosed DECLARE LONG GdipPathIterNextPathType IN GDIPLUS LONG iterator, LONG @resultCount, STRING @pathType, LONG @startIndex, LONG @endIndex DECLARE LONG GdipPathIterNextMarker IN GDIPLUS LONG iterator, LONG @resultCount, LONG @startIndex, LONG @endIndex DECLARE LONG GdipPathIterNextMarkerPath IN GDIPLUS LONG iterator, LONG @resultCount, LONG path DECLARE LONG GdipPathIterGetCount IN GDIPLUS LONG iterator, LONG @Count DECLARE LONG GdipPathIterGetSubpathCount IN GDIPLUS LONG iterator, LONG @Count DECLARE LONG GdipPathIterIsValid IN GDIPLUS LONG iterator, LONG @valid DECLARE LONG GdipPathIterHasCurve IN GDIPLUS LONG iterator, LONG @hasCurve DECLARE LONG GdipPathIterRewind IN GDIPLUS LONG iterator DECLARE LONG GdipPathIterEnumerate IN GDIPLUS LONG iterator, LONG @resultCount, STRING @pPoint, STRING @types, LONG Count DECLARE LONG GdipPathIterCopyData IN GDIPLUS LONG iterator, LONG @resultCount, STRING @pPoint, STRING @types, LONG startIndex, LONG endIndex *!* Region DECLARE LONG GdipCreateRegion IN GDIPLUS LONG @region DECLARE LONG GdipCreateRegionRect IN GDIPLUS STRING @nRect, LONG @region DECLARE LONG GdipCreateRegionRectI IN GDIPLUS STRING @nRect, LONG @region DECLARE LONG GdipCreateRegionPath IN GDIPLUS LONG path, LONG @region DECLARE LONG GdipCreateRegionRgnData IN GDIPLUS STRING @regionData, LONG SIZE, LONG @region DECLARE LONG GdipCreateRegionHrgn IN GDIPLUS LONG hRgn, LONG @region DECLARE LONG GdipCloneRegion IN GDIPLUS LONG region, LONG @cloneRegion DECLARE LONG GdipDeleteRegion IN GDIPLUS LONG region DECLARE LONG GdipSetInfinite IN GDIPLUS LONG region DECLARE LONG GdipSetEmpty IN GDIPLUS LONG region DECLARE LONG GdipCombineRegionRect IN GDIPLUS LONG region, STRING @nRect, LONG CombineMd DECLARE LONG GdipCombineRegionRectI IN GDIPLUS LONG region, STRING @nRect, LONG CombineMd DECLARE LONG GdipCombineRegionPath IN GDIPLUS LONG region, LONG path, LONG CombineMd DECLARE LONG GdipCombineRegionRegion IN GDIPLUS LONG region, LONG region2, LONG CombineMd DECLARE LONG GdipTranslateRegion IN GDIPLUS LONG region, SINGLE dx, SINGLE dy DECLARE LONG GdipTranslateRegionI IN GDIPLUS LONG region, LONG dx, LONG dy DECLARE LONG GdipTransformRegion IN GDIPLUS LONG region, LONG matrix DECLARE LONG GdipGetRegionBounds IN GDIPLUS LONG region, LONG graphics, STRING @nRect DECLARE LONG GdipGetRegionBoundsI IN GDIPLUS LONG region, LONG graphics, STRING @nRect DECLARE LONG GdipGetRegionHRgn IN GDIPLUS LONG region, LONG graphics, LONG @hRgn DECLARE LONG GdipIsEmptyRegion IN GDIPLUS LONG region, LONG graphics, LONG @result DECLARE LONG GdipIsInfiniteRegion IN GDIPLUS LONG region, LONG graphics, LONG @result DECLARE LONG GdipIsEqualRegion IN GDIPLUS LONG region, LONG region2, LONG graphics, LONG @result DECLARE LONG GdipGetRegionDataSize IN GDIPLUS LONG region, LONG @bufferSize DECLARE LONG GdipGetRegionData IN GDIPLUS LONG region, STRING @buffer, LONG bufferSize, LONG @sizeFilled DECLARE LONG GdipIsVisibleRegionPoint IN GDIPLUS LONG region, SINGLE x, SINGLE y, LONG graphics, LONG @result DECLARE LONG GdipIsVisibleRegionPointI IN GDIPLUS LONG region, LONG x, LONG y, LONG graphics, LONG @result DECLARE LONG GdipIsVisibleRegionRect IN GDIPLUS LONG region, SINGLE x, SINGLE y, SINGLE nWidth, SINGLE Height, LONG graphics, LONG @result DECLARE LONG GdipIsVisibleRegionRectI IN GDIPLUS LONG region, LONG x, LONG y, LONG nWidth, LONG Height, LONG graphics, LONG @result DECLARE LONG GdipGetRegionScansCount IN GDIPLUS LONG region, LONG @Ucount, LONG matrix DECLARE LONG GdipGetRegionScans IN GDIPLUS LONG region, STRING @rects, LONG @Count, LONG matrix DECLARE LONG GdipGetRegionScansI IN GDIPLUS LONG region, STRING @rects, LONG @Count, LONG matrix *!* Pen DECLARE LONG GdipCreatePen1 IN GDIPLUS LONG Colr, SINGLE nWidth, LONG unit, LONG @pen DECLARE LONG GdipCreatePen2 IN GDIPLUS LONG brush, SINGLE nWidth, LONG unit, LONG @pen DECLARE LONG GdipClonePen IN GDIPLUS LONG pen, LONG @clonepen DECLARE LONG GdipDeletePen IN GDIPLUS LONG pen DECLARE LONG GdipSetPenWidth IN GDIPLUS LONG pen, SINGLE nWidth DECLARE LONG GdipGetPenWidth IN GDIPLUS LONG pen, SINGLE @nWidth DECLARE LONG GdipSetPenUnit IN GDIPLUS LONG pen, LONG unit DECLARE LONG GdipGetPenUnit IN GDIPLUS LONG pen, LONG @unit DECLARE LONG GdipSetPenLineCap IN GDIPLUS LONG pen, LONG startCap, LONG endCap, LONG dcap DECLARE LONG GdipSetPenStartCap IN GDIPLUS LONG pen, LONG startCap DECLARE LONG GdipSetPenEndCap IN GDIPLUS LONG pen, LONG endCap DECLARE LONG GdipSetPenDashCap IN GDIPLUS LONG pen, LONG dcap DECLARE LONG GdipGetPenStartCap IN GDIPLUS LONG pen, LONG @startCap DECLARE LONG GdipGetPenEndCap IN GDIPLUS LONG pen, LONG @endCap DECLARE LONG GdipGetPenDashCap IN GDIPLUS LONG pen, LONG @dcap DECLARE LONG GdipSetPenLineJoin IN GDIPLUS LONG pen, LONG LnJoin DECLARE LONG GdipGetPenLineJoin IN GDIPLUS LONG pen, LONG @LnJoin DECLARE LONG GdipSetPenCustomStartCap IN GDIPLUS LONG pen, LONG customCap DECLARE LONG GdipGetPenCustomStartCap IN GDIPLUS LONG pen, LONG @customCap DECLARE LONG GdipSetPenCustomEndCap IN GDIPLUS LONG pen, LONG customCap DECLARE LONG GdipGetPenCustomEndCap IN GDIPLUS LONG pen, LONG @customCap DECLARE LONG GdipSetPenMiterLimit IN GDIPLUS LONG pen, SINGLE miterLimit DECLARE LONG GdipGetPenMiterLimit IN GDIPLUS LONG pen, SINGLE @miterLimit DECLARE LONG GdipSetPenMode IN GDIPLUS LONG pen, LONG penMode DECLARE LONG GdipGetPenMode IN GDIPLUS LONG pen, LONG @penMode DECLARE LONG GdipSetPenTransform IN GDIPLUS LONG pen, LONG matrix DECLARE LONG GdipGetPenTransform IN GDIPLUS LONG pen, LONG matrix DECLARE LONG GdipResetPenTransform IN GDIPLUS LONG pen DECLARE LONG GdipMultiplyPenTransform IN GDIPLUS LONG pen, LONG matrix, LONG order DECLARE LONG GdipTranslatePenTransform IN GDIPLUS LONG pen, SINGLE dx, SINGLE dy, LONG order DECLARE LONG GdipScalePenTransform IN GDIPLUS LONG pen, SINGLE sx, SINGLE sy, LONG order DECLARE LONG GdipRotatePenTransform IN GDIPLUS LONG pen, SINGLE angle, LONG order DECLARE LONG GdipSetPenColor IN GDIPLUS LONG pen, LONG argb DECLARE LONG GdipGetPenColor IN GDIPLUS LONG pen, LONG @argb DECLARE LONG GdipSetPenBrushFill IN GDIPLUS LONG pen, LONG brush DECLARE LONG GdipGetPenBrushFill IN GDIPLUS LONG pen, LONG @brush DECLARE LONG GdipGetPenFillType IN GDIPLUS LONG pen, LONG @ptype DECLARE LONG GdipGetPenDashStyle IN GDIPLUS LONG pen, LONG @dStyle DECLARE LONG GdipSetPenDashStyle IN GDIPLUS LONG pen, LONG dStyle DECLARE LONG GdipGetPenDashOffset IN GDIPLUS LONG pen, SINGLE @offset DECLARE LONG GdipSetPenDashOffset IN GDIPLUS LONG pen, SINGLE offset DECLARE LONG GdipGetPenDashCount IN GDIPLUS LONG pen, LONG @Count DECLARE LONG GdipSetPenDashArray IN GDIPLUS LONG pen, SINGLE @dash, LONG Count DECLARE LONG GdipGetPenDashArray IN GDIPLUS LONG pen, SINGLE @dash, LONG Count DECLARE LONG GdipGetPenCompoundCount IN GDIPLUS LONG pen, LONG @Count DECLARE LONG GdipSetPenCompoundArray IN GDIPLUS LONG pen, SINGLE @dash, LONG Count DECLARE LONG GdipGetPenCompoundArray IN GDIPLUS LONG pen, SINGLE @dash, LONG Count *!* FontFamily DECLARE LONG GdipCreateFontFamilyFromName IN GDIPLUS STRING FontName, LONG fontCollection, LONG @fontFamily DECLARE LONG GdipDeleteFontFamily IN GDIPLUS LONG fontFamily DECLARE LONG GdipCloneFontFamily IN GDIPLUS LONG fontFamily, LONG @clonedFontFamily DECLARE LONG GdipGetGenericFontFamilySansSerif IN GDIPLUS LONG @nativeFamily DECLARE LONG GdipGetGenericFontFamilySerif IN GDIPLUS LONG @nativeFamily DECLARE LONG GdipGetGenericFontFamilyMonospace IN GDIPLUS LONG @nativeFamily DECLARE LONG GdipGetFamilyName IN GDIPLUS LONG family, STRING FilName, INTEGER language DECLARE LONG GdipIsStyleAvailable IN GDIPLUS LONG family, LONG style, LONG @IsStyleAvailable DECLARE LONG GdipFontCollectionEnumerable IN GDIPLUS LONG fontCollection, LONG graphics, LONG @numFound DECLARE LONG GdipFontCollectionEnumerate IN GDIPLUS LONG fontCollection, LONG numSought, LONG @gpfamilies, LONG numFound, LONG graphics DECLARE LONG GdipGetEmHeight IN GDIPLUS LONG family, LONG style, INTEGER @EmHeight DECLARE LONG GdipGetCellAscent IN GDIPLUS LONG family, LONG style, INTEGER @CellAscent DECLARE LONG GdipGetCellDescent IN GDIPLUS LONG family, LONG style, INTEGER @CellDescent DECLARE LONG GdipGetLineSpacing IN GDIPLUS LONG family, LONG style, INTEGER @LineSpacing *!* Font DECLARE LONG GdipCreateFontFromDC IN GDIPLUS LONG hdc, LONG @createdfont DECLARE LONG GdipCreateFontFromLogfontA IN GDIPLUS LONG hdc, LOGFONTA @lfont, LONG @createdfont DECLARE LONG GdipCreateFontFromLogfontW IN GDIPLUS LONG hdc, LOGFONTW @lfont, LONG @createdfont DECLARE LONG GdipCreateFont IN GDIPLUS LONG fontFamily, SINGLE emSize, LONG style, LONG unit, LONG @createdfont DECLARE LONG GdipCloneFont IN GDIPLUS LONG curFont, LONG @cloneFont DECLARE LONG GdipDeleteFont IN GDIPLUS LONG curFont DECLARE LONG GdipGetFamily IN GDIPLUS LONG curFont, LONG @family DECLARE LONG GdipGetFontStyle IN GDIPLUS LONG curFont, LONG @style DECLARE LONG GdipGetFontSize IN GDIPLUS LONG curFont, SINGLE @SIZE DECLARE LONG GdipGetFontUnit IN GDIPLUS LONG curFont, LONG @unit DECLARE LONG GdipGetFontHeight IN GDIPLUS LONG curFont, LONG graphics, SINGLE @Height DECLARE LONG GdipGetFontHeightGivenDPI IN GDIPLUS LONG curFont, SINGLE dpi, SINGLE @Height DECLARE LONG GdipGetLogFontA IN GDIPLUS LONG curFont, LONG graphics, LOGFONTA @lfont DECLARE LONG GdipGetLogFontW IN GDIPLUS LONG curFont, LONG graphics, LOGFONTW @lfont DECLARE LONG GdipNewInstalledFontCollection IN GDIPLUS LONG @fontCollection DECLARE LONG GdipNewPrivateFontCollection IN GDIPLUS LONG @fontCollection DECLARE LONG GdipDeletePrivateFontCollection IN GDIPLUS LONG @fontCollection DECLARE LONG GdipGetFontCollectionFamilyCount IN GDIPLUS LONG fontCollection, LONG @numFound DECLARE LONG GdipGetFontCollectionFamilyList IN GDIPLUS LONG fontCollection, LONG numSought, LONG @gpfamilies, LONG @numFound DECLARE LONG GdipPrivateAddFontFile IN GDIPLUS LONG fontCollection, STRING FilName DECLARE LONG GdipPrivateAddMemoryFont IN GDIPLUS LONG fontCollection, LONG memory, LONG length *!* String DECLARE LONG GdipDrawString IN GDIPLUS LONG graphics, STRING str, LONG length, LONG thefont, STRING @layoutRect, LONG StringFormat, LONG brush DECLARE LONG GdipMeasureString IN GDIPLUS LONG graphics, STRING str, LONG length, LONG thefont, STRING @layoutRect, LONG StringFormat, STRING @boundingBox, LONG @codepointsFitted, LONG @linesFilled DECLARE LONG GdipMeasureCharacterRanges IN GDIPLUS LONG graphics, STRING str, LONG length, LONG thefont, STRING @layoutRect, LONG StringFormat, LONG regionCount, LONG @regions DECLARE LONG GdipDrawDriverString IN GDIPLUS LONG graphics, STRING str, LONG length, LONG thefont, LONG brush, STRING @positions, LONG flags, LONG matrix DECLARE LONG GdipMeasureDriverString IN GDIPLUS LONG graphics, STRING str, LONG length, LONG thefont, STRING @positions, LONG flags, LONG matrix, STRING @boundingBox *!* StringFormat DECLARE LONG GdipCreateStringFormat IN GDIPLUS LONG formatAttributes, INTEGER language, LONG @StringFormat DECLARE LONG GdipStringFormatGetGenericDefault IN GDIPLUS LONG @StringFormat DECLARE LONG GdipStringFormatGetGenericTypographic IN GDIPLUS LONG @StringFormat DECLARE LONG GdipDeleteStringFormat IN GDIPLUS LONG StringFormat DECLARE LONG GdipCloneStringFormat IN GDIPLUS LONG StringFormat, LONG @newFormat DECLARE LONG GdipSetStringFormatFlags IN GDIPLUS LONG StringFormat, LONG flags DECLARE LONG GdipGetStringFormatFlags IN GDIPLUS LONG StringFormat, LONG @flags DECLARE LONG GdipSetStringFormatAlign IN GDIPLUS LONG StringFormat, LONG align DECLARE LONG GdipGetStringFormatAlign IN GDIPLUS LONG StringFormat, LONG @align DECLARE LONG GdipSetStringFormatLineAlign IN GDIPLUS LONG StringFormat, LONG align DECLARE LONG GdipGetStringFormatLineAlign IN GDIPLUS LONG StringFormat, LONG @align DECLARE LONG GdipSetStringFormatTrimming IN GDIPLUS LONG StringFormat, LONG trimming DECLARE LONG GdipGetStringFormatTrimming IN GDIPLUS LONG StringFormat, LONG @trimming DECLARE LONG GdipSetStringFormatHotkeyPrefix IN GDIPLUS LONG StringFormat, LONG hkPrefix DECLARE LONG GdipGetStringFormatHotkeyPrefix IN GDIPLUS LONG StringFormat, LONG @hkPrefix DECLARE LONG GdipSetStringFormatTabStops IN GDIPLUS LONG StringFormat, SINGLE firstTabOffset, LONG Count, SINGLE @tabStops DECLARE LONG GdipGetStringFormatTabStops IN GDIPLUS LONG StringFormat, LONG Count, SINGLE @firstTabOffset, SINGLE @tabStops DECLARE LONG GdipGetStringFormatTabStopCount IN GDIPLUS LONG StringFormat, LONG @Count DECLARE LONG GdipSetStringFormatDigitSubstitution IN GDIPLUS LONG StringFormat, INTEGER language, LONG substitute DECLARE LONG GdipGetStringFormatDigitSubstitution IN GDIPLUS LONG StringFormat, INTEGER @language, LONG @substitute DECLARE LONG GdipGetStringFormatMeasurableCharacterRangeCount IN GDIPLUS LONG StringFormat, LONG @Count DECLARE LONG GdipSetStringFormatMeasurableCharacterRanges IN GDIPLUS LONG StringFormat, LONG rangeCount, LONG @ranges *!* CustomLineCap DECLARE LONG GdipCreateCustomLineCap IN GDIPLUS LONG PathtoFill, LONG PathStroke, LONG baseCap, SINGLE baseInset, LONG @customCap DECLARE LONG GdipDeleteCustomLineCap IN GDIPLUS LONG customCap DECLARE LONG GdipCloneCustomLineCap IN GDIPLUS LONG customCap, LONG @clonedCap DECLARE LONG GdipGetCustomLineCapType IN GDIPLUS LONG customCap, LONG @capType DECLARE LONG GdipSetCustomLineCapStrokeCaps IN GDIPLUS LONG customCap, LONG startCap, LONG endCap DECLARE LONG GdipGetCustomLineCapStrokeCaps IN GDIPLUS LONG customCap, LONG @startCap, LONG @endCap DECLARE LONG GdipSetCustomLineCapStrokeJoin IN GDIPLUS LONG customCap, LONG LnJoin DECLARE LONG GdipGetCustomLineCapStrokeJoin IN GDIPLUS LONG customCap, LONG @LnJoin DECLARE LONG GdipSetCustomLineCapBaseCap IN GDIPLUS LONG customCap, LONG baseCap DECLARE LONG GdipGetCustomLineCapBaseCap IN GDIPLUS LONG customCap, LONG @baseCap DECLARE LONG GdipSetCustomLineCapBaseInset IN GDIPLUS LONG customCap, SINGLE inset DECLARE LONG GdipGetCustomLineCapBaseInset IN GDIPLUS LONG customCap, SINGLE @inset DECLARE LONG GdipSetCustomLineCapWidthScale IN GDIPLUS LONG customCap, SINGLE widthScale DECLARE LONG GdipGetCustomLineCapWidthScale IN GDIPLUS LONG customCap, SINGLE @widthScale *!* AdjustableArrowCap DECLARE LONG GdipCreateAdjustableArrowCap IN GDIPLUS SINGLE Height, SINGLE nWidth, LONG isFilled, LONG @cap DECLARE LONG GdipSetAdjustableArrowCapHeight IN GDIPLUS LONG cap, SINGLE Height DECLARE LONG GdipGetAdjustableArrowCapHeight IN GDIPLUS LONG cap, SINGLE @Height DECLARE LONG GdipSetAdjustableArrowCapWidth IN GDIPLUS LONG cap, SINGLE nWidth DECLARE LONG GdipGetAdjustableArrowCapWidth IN GDIPLUS LONG cap, SINGLE @nWidth DECLARE LONG GdipSetAdjustableArrowCapMiddleInset IN GDIPLUS LONG cap, SINGLE middleInset DECLARE LONG GdipGetAdjustableArrowCapMiddleInset IN GDIPLUS LONG cap, SINGLE @middleInset DECLARE LONG GdipSetAdjustableArrowCapFillState IN GDIPLUS LONG cap, LONG bFillState DECLARE LONG GdipGetAdjustableArrowCapFillState IN GDIPLUS LONG cap, LONG @bFillState *!* Matrix DECLARE LONG GdipCreateMatrix IN GDIPLUS LONG @matrix DECLARE LONG GdipCreateMatrix2 IN GDIPLUS SINGLE m11, SINGLE m12, SINGLE m21, SINGLE m22, SINGLE dx, SINGLE dy, LONG @matrix DECLARE LONG GdipCreateMatrix3 IN GDIPLUS STRING @nRect, STRING @dstplg, LONG @matrix DECLARE LONG GdipCreateMatrix3I IN GDIPLUS STRING @nRect, STRING @dstplg, LONG @matrix DECLARE LONG GdipCloneMatrix IN GDIPLUS LONG matrix, LONG @cloneMatrix DECLARE LONG GdipDeleteMatrix IN GDIPLUS LONG matrix DECLARE LONG GdipSetMatrixElements IN GDIPLUS LONG matrix, SINGLE m11, SINGLE m12, SINGLE m21, SINGLE m22, SINGLE dx, SINGLE dy DECLARE LONG GdipMultiplyMatrix IN GDIPLUS LONG matrix, LONG matrix2, LONG order DECLARE LONG GdipTranslateMatrix IN GDIPLUS LONG matrix, SINGLE offsetX, SINGLE offsetY, LONG order DECLARE LONG GdipScaleMatrix IN GDIPLUS LONG matrix, SINGLE scaleX, SINGLE scaleY, LONG order DECLARE LONG GdipRotateMatrix IN GDIPLUS LONG matrix, SINGLE angle, LONG order DECLARE LONG GdipShearMatrix IN GDIPLUS LONG matrix, SINGLE shearX, SINGLE shearY, LONG order DECLARE LONG GdipInvertMatrix IN GDIPLUS LONG matrix DECLARE LONG GdipTransformMatrixPoints IN GDIPLUS LONG matrix, STRING @pts, LONG Count DECLARE LONG GdipTransformMatrixPointsI IN GDIPLUS LONG matrix, STRING @pts, LONG Count DECLARE LONG GdipVectorTransformMatrixPoints IN GDIPLUS LONG matrix, STRING @pts, LONG Count DECLARE LONG GdipVectorTransformMatrixPointsI IN GDIPLUS LONG matrix, STRING @pts, LONG Count DECLARE LONG GdipGetMatrixElements IN GDIPLUS LONG matrix, SINGLE @matrixOut DECLARE LONG GdipIsMatrixInvertible IN GDIPLUS LONG matrix, LONG @result DECLARE LONG GdipIsMatrixIdentity IN GDIPLUS LONG matrix, LONG @result DECLARE LONG GdipIsMatrixEqual IN GDIPLUS LONG matrix, LONG matrix2, LONG @result *!* ImageAttributes DECLARE LONG GdipCreateImageAttributes IN GDIPLUS LONG @imageattr DECLARE LONG GdipCloneImageAttributes IN GDIPLUS LONG imageattr, LONG @cloneImageattr DECLARE LONG GdipDisposeImageAttributes IN GDIPLUS LONG imageattr DECLARE LONG GdipSetImageAttributesToIdentity IN GDIPLUS LONG imageattr, LONG ClrAdjType DECLARE LONG GdipResetImageAttributes IN GDIPLUS LONG imageattr, LONG ClrAdjType DECLARE LONG GdipSetImageAttributesColorMatrix IN GDIPLUS LONG imageattr, LONG ClrAdjType, LONG enableFlag, LONG @colourMatrix, LONG @grayMatrix, LONG flags DECLARE LONG GdipSetImageAttributesThreshold IN GDIPLUS LONG imageattr, LONG ClrAdjType, LONG enableFlag, SINGLE threshold DECLARE LONG GdipSetImageAttributesGamma IN GDIPLUS LONG imageattr, LONG ClrAdjType, LONG enableFlag, SINGLE gamma DECLARE LONG GdipSetImageAttributesNoOp IN GDIPLUS LONG imageattr, LONG ClrAdjType, LONG enableFlag DECLARE LONG GdipSetImageAttributesColorKeys IN GDIPLUS LONG imageattr, LONG ClrAdjType, LONG enableFlag, LONG colorLow, LONG colorHigh DECLARE LONG GdipSetImageAttributesOutputChannel IN GDIPLUS LONG imageattr, LONG ClrAdjstType, LONG enableFlag, LONG channelFlags DECLARE LONG GdipSetImageAttributesOutputChannelColorProfile IN GDIPLUS LONG imageattr, LONG ClrAdjType, LONG enableFlag, STRING colorProfileFilename DECLARE LONG GdipSetImageAttributesRemapTable IN GDIPLUS LONG imageattr, LONG ClrAdjType, LONG enableFlag, LONG mapSize, LONG @map DECLARE LONG GdipSetImageAttributesWrapMode IN GDIPLUS LONG imageattr, LONG wrap, LONG argb, LONG bClamp DECLARE LONG GdipSetImageAttributesICMMode IN GDIPLUS LONG imageattr, LONG bOn DECLARE LONG GdipGetImageAttributesAdjustedPalette IN GDIPLUS LONG imageattr, LONG @colorPal, LONG ClrAdjType |
This is a great and important post indeed.
Impostant to remember to add a "IN GDIPLUS.DLL" in all declarations.
More details at the link below:
http://weblogs.foxite.com/cesarchalom/archive/2007/01/24/3178.aspx