Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include/gdiplus/gdiplusgraphics.h')
-rwxr-xr-xwinsup/w32api/include/gdiplus/gdiplusgraphics.h1540
1 files changed, 0 insertions, 1540 deletions
diff --git a/winsup/w32api/include/gdiplus/gdiplusgraphics.h b/winsup/w32api/include/gdiplus/gdiplusgraphics.h
deleted file mode 100755
index 5e5b771a1..000000000
--- a/winsup/w32api/include/gdiplus/gdiplusgraphics.h
+++ /dev/null
@@ -1,1540 +0,0 @@
-/*
- * gdiplusgraphics.h
- *
- * GDI+ Graphics class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_GRAPHICS_H
-#define __GDIPLUS_GRAPHICS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusgraphics.h."
-#endif
-
-class Graphics: public GdiplusBase
-{
- friend class Bitmap;
- friend class CachedBitmap;
- friend class Font;
- friend class GraphicsPath;
- friend class Metafile;
- friend class Region;
-
-public:
- static Graphics* FromHDC(HDC hdc)
- {
- return new Graphics(hdc);
- }
- static Graphics* FromHDC(HDC hdc, HANDLE hdevice)
- {
- return new Graphics(hdc, hdevice);
- }
- static Graphics* FromHWND(HWND hwnd, BOOL icm = FALSE)
- {
- return new Graphics(hwnd, icm);
- }
- static Graphics* FromImage(Image *image)
- {
- return new Graphics(image);
- }
- static HPALETTE GetHalftonePalette()
- {
- return DllExports::GdipCreateHalftonePalette();
- }
-
- Graphics(Image *image): nativeGraphics(NULL), lastStatus(Ok)
- {
- lastStatus = DllExports::GdipGetImageGraphicsContext(
- image ? image->nativeImage : NULL,
- &nativeGraphics);
- }
- Graphics(HDC hdc): nativeGraphics(NULL), lastStatus(Ok)
- {
- lastStatus = DllExports::GdipCreateFromHDC(
- hdc, &nativeGraphics);
- }
- Graphics(HDC hdc, HANDLE hdevice): nativeGraphics(NULL), lastStatus(Ok)
- {
- lastStatus = DllExports::GdipCreateFromHDC2(
- hdc, hdevice, &nativeGraphics);
- }
- Graphics(HWND hwnd, BOOL icm = FALSE):
- nativeGraphics(NULL), lastStatus(Ok)
- {
- if (icm) {
- lastStatus = DllExports::GdipCreateFromHWNDICM(
- hwnd, &nativeGraphics);
- } else {
- lastStatus = DllExports::GdipCreateFromHWND(
- hwnd, &nativeGraphics);
- }
- }
- ~Graphics()
- {
- DllExports::GdipDeleteGraphics(nativeGraphics);
- }
-
- Status AddMetafileComment(const BYTE *data, UINT sizeData)
- {
- return updateStatus(DllExports::GdipComment(
- nativeGraphics, sizeData, data));
- }
- GraphicsContainer BeginContainer()
- {
- GraphicsContainer result = 0;
- updateStatus(DllExports::GdipBeginContainer2(
- nativeGraphics, &result));
- return result;
- }
- GraphicsContainer BeginContainer(const RectF& dstrect,
- const RectF& srcrect, Unit unit)
- {
- GraphicsContainer result = 0;
- updateStatus(DllExports::GdipBeginContainer(
- nativeGraphics, &dstrect, &srcrect, unit,
- &result));
- return result;
- }
- GraphicsContainer BeginContainer(const Rect& dstrect,
- const Rect& srcrect, Unit unit)
- {
- GraphicsContainer result = 0;
- updateStatus(DllExports::GdipBeginContainerI(
- nativeGraphics, &dstrect, &srcrect, unit,
- &result));
- return result;
- }
- Status Clear(const Color& color)
- {
- return updateStatus(DllExports::GdipGraphicsClear(
- nativeGraphics, color.GetValue()));
- }
- Status DrawArc(const Pen *pen, REAL x, REAL y, REAL width, REAL height,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipDrawArc(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x, y, width, height, startAngle, sweepAngle));
- }
- Status DrawArc(const Pen *pen, INT x, INT y, INT width, INT height,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipDrawArcI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x, y, width, height, startAngle, sweepAngle));
- }
- Status DrawArc(const Pen *pen, const RectF& rect,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipDrawArc(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rect.X, rect.Y, rect.Width, rect.Height,
- startAngle, sweepAngle));
- }
- Status DrawArc(const Pen *pen, const Rect& rect,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipDrawArcI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rect.X, rect.Y, rect.Width, rect.Height,
- startAngle, sweepAngle));
- }
- Status DrawBezier(const Pen *pen,
- REAL x1, REAL y1, REAL x2, REAL y2,
- REAL x3, REAL y3, REAL x4, REAL y4)
- {
- return updateStatus(DllExports::GdipDrawBezier(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x1, y1, x2, y2, x3, y3, x4, y4));
- }
- Status DrawBezier(const Pen *pen,
- INT x1, INT y1, INT x2, INT y2,
- INT x3, INT y3, INT x4, INT y4)
- {
- return updateStatus(DllExports::GdipDrawBezierI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x1, y1, x2, y2, x3, y3, x4, y4));
- }
- Status DrawBezier(const Pen *pen,
- const PointF& pt1, const PointF& pt2,
- const PointF& pt3, const PointF& pt4)
- {
- return updateStatus(DllExports::GdipDrawBezier(
- nativeGraphics, pen ? pen->nativePen : NULL,
- pt1.X, pt1.Y, pt2.X, pt2.Y,
- pt3.X, pt3.Y, pt4.X, pt4.Y));
- }
- Status DrawBezier(const Pen *pen,
- const Point& pt1, const Point& pt2,
- const Point& pt3, const Point& pt4)
- {
- return updateStatus(DllExports::GdipDrawBezierI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- pt1.X, pt1.Y, pt2.X, pt2.Y,
- pt3.X, pt3.Y, pt4.X, pt4.Y));
- }
- Status DrawBeziers(const Pen *pen, const PointF *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawBeziers(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawBeziers(const Pen *pen, const Point *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawBeziersI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawCachedBitmap(CachedBitmap *cb, INT x, INT y)
- {
- return updateStatus(DllExports::GdipDrawCachedBitmap(
- nativeGraphics,
- cb ? cb->nativeCachedBitmap : NULL,
- x, y));
- }
- Status DrawClosedCurve(const Pen *pen, const PointF *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawClosedCurve(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawClosedCurve(const Pen *pen, const Point *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawClosedCurveI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawClosedCurve(const Pen *pen, const PointF *points, INT count,
- REAL tension)
- {
- return updateStatus(DllExports::GdipDrawClosedCurve2(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count, tension));
- }
- Status DrawClosedCurve(const Pen *pen, const Point *points, INT count,
- REAL tension)
- {
- return updateStatus(DllExports::GdipDrawClosedCurve2I(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count, tension));
- }
- Status DrawCurve(const Pen *pen, const PointF *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawCurve(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawCurve(const Pen *pen, const Point *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawCurveI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawCurve(const Pen *pen, const PointF *points, INT count,
- REAL tension)
- {
- return updateStatus(DllExports::GdipDrawCurve2(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count, tension));
- }
- Status DrawCurve(const Pen *pen, const Point *points, INT count,
- REAL tension)
- {
- return updateStatus(DllExports::GdipDrawCurve2I(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count, tension));
- }
- Status DrawCurve(const Pen *pen, const PointF *points, INT count,
- INT offset, INT numberOfSegments, REAL tension)
- {
- return updateStatus(DllExports::GdipDrawCurve3(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count, offset,
- numberOfSegments, tension));
- }
- Status DrawCurve(const Pen *pen, const Point *points, INT count,
- INT offset, INT numberOfSegments, REAL tension)
- {
- return updateStatus(DllExports::GdipDrawCurve3I(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count, offset,
- numberOfSegments, tension));
- }
- Status DrawDriverString(const UINT16 *text, INT length,
- const Font *font, const Brush *brush,
- const PointF *positions, INT flags,
- const Matrix *matrix)
- {
- return updateStatus(DllExports::GdipDrawDriverString(
- nativeGraphics, text, length,
- font ? font->nativeFont : NULL,
- brush ? brush->nativeBrush : NULL,
- positions, flags,
- matrix ? matrix->nativeMatrix : NULL));
- }
- Status DrawEllipse(const Pen *pen,
- REAL x, REAL y, REAL width, REAL height)
- {
- return updateStatus(DllExports::GdipDrawEllipse(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x, y, width, height));
- }
- Status DrawEllipse(const Pen *pen, INT x, INT y, INT width, INT height)
- {
- return updateStatus(DllExports::GdipDrawEllipseI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x, y, width, height));
- }
- Status DrawEllipse(const Pen *pen, const RectF& rect)
- {
- return updateStatus(DllExports::GdipDrawEllipse(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status DrawEllipse(const Pen *pen, const Rect& rect)
- {
- return updateStatus(DllExports::GdipDrawEllipseI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status DrawImage(Image *image, REAL x, REAL y)
- {
- return updateStatus(DllExports::GdipDrawImage(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- x, y));
- }
- Status DrawImage(Image *image, INT x, INT y)
- {
- return updateStatus(DllExports::GdipDrawImageI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- x, y));
- }
- Status DrawImage(Image *image, const PointF& point)
- {
- return updateStatus(DllExports::GdipDrawImage(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- point.X, point.Y));
- }
- Status DrawImage(Image *image, const Point& point)
- {
- return updateStatus(DllExports::GdipDrawImageI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- point.X, point.Y));
- }
- Status DrawImage(Image *image, REAL x, REAL y, REAL width, REAL height)
- {
- return updateStatus(DllExports::GdipDrawImageRect(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- x, y, width, height));
- }
- Status DrawImage(Image *image, INT x, INT y, INT width, INT height)
- {
- return updateStatus(DllExports::GdipDrawImageRectI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- x, y, width, height));
- }
- Status DrawImage(Image *image, const RectF& rect)
- {
- return updateStatus(DllExports::GdipDrawImageRect(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status DrawImage(Image *image, const Rect& rect)
- {
- return updateStatus(DllExports::GdipDrawImageRectI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status DrawImage(Image *image, const PointF *destPoints, INT count)
- {
- return updateStatus(DllExports::GdipDrawImagePoints(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- destPoints, count));
- }
- Status DrawImage(Image *image, const Point *destPoints, INT count)
- {
- return updateStatus(DllExports::GdipDrawImagePointsI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- destPoints, count));
- }
- Status DrawImage(Image *image, REAL x, REAL y, REAL srcx, REAL srcy,
- REAL srcwidth, REAL srcheight, Unit srcUnit)
- {
- return updateStatus(DllExports::GdipDrawImagePointRect(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- x, y, srcx, srcy, srcwidth, srcheight,
- srcUnit));
- }
- Status DrawImage(Image *image, INT x, INT y, INT srcx, INT srcy,
- INT srcwidth, INT srcheight, Unit srcUnit)
- {
- return updateStatus(DllExports::GdipDrawImagePointRectI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- x, y, srcx, srcy, srcwidth, srcheight,
- srcUnit));
- }
- Status DrawImage(Image *image, const RectF& destRect,
- REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight,
- Unit srcUnit,
- const ImageAttributes *imageAttributes = NULL,
- DrawImageAbort callback = NULL,
- VOID *callbackData = NULL)
- {
- return updateStatus(DllExports::GdipDrawImageRectRect(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- destRect.X, destRect.Y,
- destRect.Width, destRect.Height,
- srcx, srcy, srcwidth, srcheight, srcUnit,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
- callback, callbackData));
- }
- Status DrawImage(Image *image, const Rect& destRect,
- INT srcx, INT srcy, INT srcwidth, INT srcheight,
- Unit srcUnit,
- const ImageAttributes *imageAttributes = NULL,
- DrawImageAbort callback = NULL,
- VOID *callbackData = NULL)
- {
- return updateStatus(DllExports::GdipDrawImageRectRectI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- destRect.X, destRect.Y,
- destRect.Width, destRect.Height,
- srcx, srcy, srcwidth, srcheight, srcUnit,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
- callback, callbackData));
- }
- Status DrawImage(Image *image, const RectF& destRect,
- const RectF& sourceRect, Unit srcUnit,
- const ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipDrawImageRectRectI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- destRect.X, destRect.Y,
- destRect.Width, destRect.Height,
- sourceRect.X, sourceRect.Y,
- sourceRect.Width, sourceRect.Height, srcUnit,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
- NULL, NULL));
- }
- Status DrawImage(Image *image, const PointF *destPoints, INT count,
- REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight,
- Unit srcUnit,
- const ImageAttributes *imageAttributes = NULL,
- DrawImageAbort callback = NULL,
- VOID *callbackData = NULL)
- {
- return updateStatus(DllExports::GdipDrawImagePointsRect(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- destPoints, count,
- srcx, srcy, srcwidth, srcheight, srcUnit,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
- callback, callbackData));
- }
- Status DrawImage(Image *image, const Point *destPoints, INT count,
- INT srcx, INT srcy, INT srcwidth, INT srcheight,
- Unit srcUnit,
- const ImageAttributes *imageAttributes = NULL,
- DrawImageAbort callback = NULL,
- VOID *callbackData = NULL)
- {
- return updateStatus(DllExports::GdipDrawImagePointsRectI(
- nativeGraphics,
- image ? image->nativeImage : NULL,
- destPoints, count,
- srcx, srcy, srcwidth, srcheight, srcUnit,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
- callback, callbackData));
- }
- // TODO: [GDI+ 1.1] Graphics::DrawImage(..Effect..)
- //Status DrawImage(Image *image, RectF *sourceRect, Matrix *matrix,
- // Effect *effect, ImageAttributes *imageAttributes,
- // Unit srcUnit)
- //{
- // return updateStatus(DllExports::GdipDrawImageFX(
- // nativeGraphics,
- // image ? image->nativeImage : NULL,
- // sourceRect,
- // matrix ? matrix->nativeMatrix : NULL,
- // effect ? effect->nativeEffect : NULL,
- // imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
- // srcUnit));
- //}
- Status DrawLine(const Pen *pen, REAL x1, REAL y1, REAL x2, REAL y2)
- {
- return updateStatus(DllExports::GdipDrawLine(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x1, y1, x2, y2));
- }
- Status DrawLine(const Pen *pen, INT x1, INT y1, INT x2, INT y2)
- {
- return updateStatus(DllExports::GdipDrawLineI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x1, y1, x2, y2));
- }
- Status DrawLine(const Pen *pen, const PointF& pt1, const PointF& pt2)
- {
- return updateStatus(DllExports::GdipDrawLine(
- nativeGraphics, pen ? pen->nativePen : NULL,
- pt1.X, pt1.Y, pt2.X, pt2.Y));
- }
- Status DrawLine(const Pen *pen, const Point& pt1, const Point& pt2)
- {
- return updateStatus(DllExports::GdipDrawLineI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- pt1.X, pt1.Y, pt2.X, pt2.Y));
- }
- Status DrawLines(const Pen *pen, const PointF *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawLines(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawLines(const Pen *pen, const Point *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawLinesI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawPath(const Pen *pen, const GraphicsPath *path)
- {
- return updateStatus(DllExports::GdipDrawPath(
- nativeGraphics, pen ? pen->nativePen : NULL,
- path ? path->nativePath : NULL));
- }
- Status DrawPie(const Pen *pen, REAL x, REAL y, REAL width, REAL height,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipDrawPie(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x, y, width, height, startAngle, sweepAngle));
- }
- Status DrawPie(const Pen *pen, INT x, INT y, INT width, INT height,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipDrawPieI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x, y, width, height, startAngle, sweepAngle));
- }
- Status DrawPie(const Pen *pen, const RectF& rect,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipDrawPie(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rect.X, rect.Y, rect.Width, rect.Height,
- startAngle, sweepAngle));
- }
- Status DrawPie(const Pen *pen, const Rect& rect,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipDrawPieI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rect.X, rect.Y, rect.Width, rect.Height,
- startAngle, sweepAngle));
- }
- Status DrawPolygon(const Pen *pen, const PointF *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawPolygon(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawPolygon(const Pen *pen, const Point *points, INT count)
- {
- return updateStatus(DllExports::GdipDrawPolygonI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- points, count));
- }
- Status DrawRectangle(const Pen *pen,
- REAL x, REAL y, REAL width, REAL height)
- {
- return updateStatus(DllExports::GdipDrawRectangle(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x, y, width, height));
- }
- Status DrawRectangle(const Pen *pen,
- INT x, INT y, INT width, INT height)
- {
- return updateStatus(DllExports::GdipDrawRectangleI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- x, y, width, height));
- }
- Status DrawRectangle(const Pen *pen, const RectF& rect)
- {
- return updateStatus(DllExports::GdipDrawRectangle(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status DrawRectangle(const Pen *pen, const Rect& rect)
- {
- return updateStatus(DllExports::GdipDrawRectangleI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status DrawRectangles(const Pen *pen, const RectF *rects, INT count)
- {
- return updateStatus(DllExports::GdipDrawRectangles(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rects, count));
- }
- Status DrawRectangles(const Pen *pen, const Rect *rects, INT count)
- {
- return updateStatus(DllExports::GdipDrawRectanglesI(
- nativeGraphics, pen ? pen->nativePen : NULL,
- rects, count));
- }
- Status DrawString(const WCHAR *string, INT length, const Font *font,
- const PointF& origin, const Brush *brush)
- {
- RectF layoutRect(origin.X, origin.Y, 0.0f, 0.0f);
- return updateStatus(DllExports::GdipDrawString(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- &layoutRect, NULL,
- brush ? brush->nativeBrush : NULL));
- }
- Status DrawString(const WCHAR *string, INT length,
- const Font *font, const PointF& origin,
- const StringFormat *stringFormat, const Brush *brush)
- {
- RectF layoutRect(origin.X, origin.Y, 0.0f, 0.0f);
- return updateStatus(DllExports::GdipDrawString(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- &layoutRect,
- stringFormat ? stringFormat->nativeStringFormat : NULL,
- brush ? brush->nativeBrush : NULL));
- }
- Status DrawString(const WCHAR *string, INT length,
- const Font *font, const RectF& layoutRect,
- const StringFormat *stringFormat, const Brush *brush)
- {
- return updateStatus(DllExports::GdipDrawString(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- &layoutRect,
- stringFormat ? stringFormat->nativeStringFormat : NULL,
- brush ? brush->nativeBrush : NULL));
- }
- Status EndContainer(GraphicsContainer state)
- {
- return updateStatus(DllExports::GdipEndContainer(
- nativeGraphics, state));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const PointF& destPoint,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileDestPoint(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destPoint, callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const Point& destPoint,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileDestPointI(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destPoint, callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const RectF& destRect,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileDestRect(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destRect, callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const Rect& destRect,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileDestRectI(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destRect, callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const PointF *destPoints, INT count,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileDestPoints(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destPoints, count, callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const Point *destPoints, INT count,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileDestPointsI(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destPoints, count, callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const PointF& destPoint,
- const RectF& srcRect, Unit srcUnit,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestPoint(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destPoint, srcRect, srcUnit,
- callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const Point& destPoint,
- const Rect& srcRect, Unit srcUnit,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestPointI(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destPoint, srcRect, srcUnit,
- callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const RectF& destRect,
- const RectF& srcRect, Unit srcUnit,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestRect(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destRect, srcRect, srcUnit,
- callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const Rect& destRect,
- const Rect& srcRect, Unit srcUnit,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestRectI(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destRect, srcRect, srcUnit,
- callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const PointF* destPoints, INT count,
- const RectF& srcRect, Unit srcUnit,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestPoints(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destPoints, count, srcRect, srcUnit,
- callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status EnumerateMetafile(const Metafile *metafile,
- const Point* destPoints, INT count,
- const Rect& srcRect, Unit srcUnit,
- EnumerateMetafileProc callback,
- VOID *callbackData = NULL,
- ImageAttributes *imageAttributes = NULL)
- {
- return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestPointsI(
- nativeGraphics,
- metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
- destPoints, count, srcRect, srcUnit,
- callback, callbackData,
- imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
- }
- Status ExcludeClip(const RectF& rect)
- {
- return updateStatus(DllExports::GdipSetClipRect(
- nativeGraphics,
- rect.X, rect.Y, rect.Width, rect.Height,
- CombineModeExclude));
- }
- Status ExcludeClip(const Rect& rect)
- {
- return updateStatus(DllExports::GdipSetClipRectI(
- nativeGraphics,
- rect.X, rect.Y, rect.Width, rect.Height,
- CombineModeExclude));
- }
- Status ExcludeClip(const Region *region)
- {
- return updateStatus(DllExports::GdipSetClipRegion(
- nativeGraphics,
- region ? region->nativeRegion : NULL,
- CombineModeExclude));
- }
- Status FillClosedCurve(const Brush *brush,
- const PointF *points, INT count)
- {
- return updateStatus(DllExports::GdipFillClosedCurve(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- points, count));
- }
- Status FillClosedCurve(const Brush *brush,
- const Point *points, INT count)
- {
- return updateStatus(DllExports::GdipFillClosedCurveI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- points, count));
- }
- Status FillClosedCurve(const Brush *brush,
- const PointF *points, INT count,
- FillMode fillMode, REAL tension = 0.5f)
- {
- return updateStatus(DllExports::GdipFillClosedCurve2(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- points, count, tension, fillMode));
- }
- Status FillClosedCurve(const Brush *brush,
- const Point *points, INT count,
- FillMode fillMode, REAL tension = 0.5f)
- {
- return updateStatus(DllExports::GdipFillClosedCurve2I(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- points, count, tension, fillMode));
- }
- Status FillEllipse(const Brush *brush,
- REAL x, REAL y, REAL width, REAL height)
- {
- return updateStatus(DllExports::GdipFillEllipse(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- x, y, width, height));
- }
- Status FillEllipse(const Brush *brush,
- INT x, INT y, INT width, INT height)
- {
- return updateStatus(DllExports::GdipFillEllipseI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- x, y, width, height));
- }
- Status FillEllipse(const Brush *brush, const RectF& rect)
- {
- return updateStatus(DllExports::GdipFillEllipse(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status FillEllipse(const Brush *brush, const Rect& rect)
- {
- return updateStatus(DllExports::GdipFillEllipseI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status FillPath(const Brush *brush, const GraphicsPath *path)
- {
- return updateStatus(DllExports::GdipFillPath(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- path ? path->nativePath : NULL));
- }
- Status FillPie(const Brush *brush,
- REAL x, REAL y, REAL width, REAL height,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipFillPie(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- x, y, width, height, startAngle, sweepAngle));
- }
- Status FillPie(const Brush *brush, INT x, INT y, INT width, INT height,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipFillPieI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- x, y, width, height, startAngle, sweepAngle));
- }
- Status FillPie(const Brush *brush, const RectF& rect,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipFillPie(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- rect.X, rect.Y, rect.Width, rect.Height,
- startAngle, sweepAngle));
- }
- Status FillPie(const Brush *brush, const Rect& rect,
- REAL startAngle, REAL sweepAngle)
- {
- return updateStatus(DllExports::GdipFillPieI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- rect.X, rect.Y, rect.Width, rect.Height,
- startAngle, sweepAngle));
- }
- Status FillPolygon(const Brush *brush, const PointF *points, INT count)
- {
- return updateStatus(DllExports::GdipFillPolygon(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- points, count, FillModeAlternate));
- }
- Status FillPolygon(const Brush *brush, const Point *points, INT count)
- {
- return updateStatus(DllExports::GdipFillPolygonI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- points, count, FillModeAlternate));
- }
- Status FillPolygon(const Brush *brush, const PointF *points, INT count,
- FillMode fillMode)
- {
- return updateStatus(DllExports::GdipFillPolygon(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- points, count, fillMode));
- }
- Status FillPolygon(const Brush *brush, const Point *points, INT count,
- FillMode fillMode)
- {
- return updateStatus(DllExports::GdipFillPolygonI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- points, count, fillMode));
- }
- Status FillRectangle(const Brush *brush,
- REAL x, REAL y, REAL width, REAL height)
- {
- return updateStatus(DllExports::GdipFillRectangle(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- x, y, width, height));
- }
- Status FillRectangle(const Brush *brush,
- INT x, INT y, INT width, INT height)
- {
- return updateStatus(DllExports::GdipFillRectangleI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- x, y, width, height));
- }
- Status FillRectangle(const Brush *brush, const RectF& rect)
- {
- return updateStatus(DllExports::GdipFillRectangle(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status FillRectangle(const Brush *brush, const Rect& rect)
- {
- return updateStatus(DllExports::GdipFillRectangleI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- rect.X, rect.Y, rect.Width, rect.Height));
- }
- Status FillRectangles(const Brush *brush, const RectF *rects, INT count)
- {
- return updateStatus(DllExports::GdipFillRectangles(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- rects, count));
- }
- Status FillRectangles(const Brush *brush, const Rect *rects, INT count)
- {
- return updateStatus(DllExports::GdipFillRectanglesI(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- rects, count));
- }
- Status FillRegion(const Brush *brush, const Region *region)
- {
- return updateStatus(DllExports::GdipFillRegion(
- nativeGraphics,
- brush ? brush->nativeBrush : NULL,
- region ? region->nativeRegion : NULL));
- }
- VOID Flush(FlushIntention intention = FlushIntentionFlush)
- {
- updateStatus(DllExports::GdipFlush(nativeGraphics, intention));
- }
- Status GetClip(Region *region) const
- {
- return updateStatus(DllExports::GdipGetClip(
- nativeGraphics,
- region ? region->nativeRegion : NULL));
- }
- Status GetClipBounds(RectF *rect) const
- {
- return updateStatus(DllExports::GdipGetClipBounds(
- nativeGraphics, rect));
- }
- Status GetClipBounds(Rect *rect) const
- {
- return updateStatus(DllExports::GdipGetClipBoundsI(
- nativeGraphics, rect));
- }
- CompositingMode GetCompositingMode() const
- {
- CompositingMode result = CompositingModeSourceOver;
- updateStatus(DllExports::GdipGetCompositingMode(
- nativeGraphics, &result));
- return result;
- }
- CompositingQuality GetCompositingQuality() const
- {
- CompositingQuality result = CompositingQualityDefault;
- updateStatus(DllExports::GdipGetCompositingQuality(
- nativeGraphics, &result));
- return result;
- }
- REAL GetDpiX() const
- {
- REAL result = 0.0f;
- updateStatus(DllExports::GdipGetDpiX(nativeGraphics, &result));
- return result;
- }
- REAL GetDpiY() const
- {
- REAL result = 0.0f;
- updateStatus(DllExports::GdipGetDpiY(nativeGraphics, &result));
- return result;
- }
- HDC GetHDC()
- {
- HDC result = NULL;
- updateStatus(DllExports::GdipGetDC(nativeGraphics, &result));
- return result;
- }
- InterpolationMode GetInterpolationMode() const
- {
- InterpolationMode result = InterpolationModeDefault;
- updateStatus(DllExports::GdipGetInterpolationMode(
- nativeGraphics, &result));
- return result;
- }
- Status GetLastStatus() const
- {
- Status result = lastStatus;
- lastStatus = Ok;
- return result;
- }
- Status GetNearestColor(Color *color) const
- {
- return updateStatus(DllExports::GdipGetNearestColor(
- nativeGraphics, color ? &color->Value : NULL));
- }
- REAL GetPageScale() const
- {
- REAL result = 0.0f;
- updateStatus(DllExports::GdipGetPageScale(
- nativeGraphics, &result));
- return result;
- }
- Unit GetPageUnit() const
- {
- Unit result = UnitWorld;
- updateStatus(DllExports::GdipGetPageUnit(
- nativeGraphics, &result));
- return result;
- }
- PixelOffsetMode GetPixelOffsetMode() const
- {
- PixelOffsetMode result = PixelOffsetModeDefault;
- updateStatus(DllExports::GdipGetPixelOffsetMode(
- nativeGraphics, &result));
- return result;
- }
- Status GetRenderingOrigin(INT *x, INT *y) const
- {
- return updateStatus(DllExports::GdipGetRenderingOrigin(
- nativeGraphics, x, y));
- }
- SmoothingMode GetSmoothingMode() const
- {
- SmoothingMode result = SmoothingModeDefault;
- updateStatus(DllExports::GdipGetSmoothingMode(
- nativeGraphics, &result));
- return result;
- }
- UINT GetTextContrast() const
- {
- UINT result = 0;
- updateStatus(DllExports::GdipGetTextContrast(
- nativeGraphics, &result));
- return result;
- }
- TextRenderingHint GetTextRenderingHint() const
- {
- TextRenderingHint result = TextRenderingHintSystemDefault;
- updateStatus(DllExports::GdipGetTextRenderingHint(
- nativeGraphics, &result));
- return result;
- }
- Status GetTransform(Matrix *matrix) const
- {
- return updateStatus(DllExports::GdipGetWorldTransform(
- nativeGraphics,
- matrix ? matrix->nativeMatrix : NULL));
- }
- Status GetVisibleClipBounds(RectF *rect) const
- {
- return updateStatus(DllExports::GdipGetVisibleClipBounds(
- nativeGraphics, rect));
- }
- Status GetVisibleClipBounds(Rect *rect) const
- {
- return updateStatus(DllExports::GdipGetVisibleClipBoundsI(
- nativeGraphics, rect));
- }
- Status IntersectClip(const RectF& rect)
- {
- return updateStatus(DllExports::GdipSetClipRect(
- nativeGraphics,
- rect.X, rect.Y, rect.Width, rect.Height,
- CombineModeIntersect));
- }
- Status IntersectClip(const Rect& rect)
- {
- return updateStatus(DllExports::GdipSetClipRectI(
- nativeGraphics,
- rect.X, rect.Y, rect.Width, rect.Height,
- CombineModeIntersect));
- }
- Status IntersectClip(const Region *region)
- {
- return updateStatus(DllExports::GdipSetClipRegion(
- nativeGraphics,
- region ? region->nativeRegion : NULL,
- CombineModeIntersect));
- }
- BOOL IsClipEmpty() const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsClipEmpty(
- nativeGraphics, &result));
- return result;
- }
- BOOL IsVisible(REAL x, REAL y) const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisiblePoint(
- nativeGraphics, x, y, &result));
- return result;
- }
- BOOL IsVisible(INT x, INT y) const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisiblePointI(
- nativeGraphics, x, y, &result));
- return result;
- }
- BOOL IsVisible(const PointF& point) const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisiblePoint(
- nativeGraphics, point.X, point.Y, &result));
- return result;
- }
- BOOL IsVisible(const Point& point) const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisiblePointI(
- nativeGraphics, point.X, point.Y, &result));
- return result;
- }
- BOOL IsVisible(REAL x, REAL y, REAL width, REAL height) const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisibleRect(
- nativeGraphics, x, y, width, height, &result));
- return result;
- }
- BOOL IsVisible(INT x, INT y, INT width, INT height) const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisibleRectI(
- nativeGraphics, x, y, width, height, &result));
- return result;
- }
- BOOL IsVisible(const RectF& rect) const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisibleRect(
- nativeGraphics, rect.X, rect.Y,
- rect.Width, rect.Height, &result));
- return result;
- }
- BOOL IsVisible(const Rect& rect) const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisibleRectI(
- nativeGraphics, rect.X, rect.Y,
- rect.Width, rect.Height, &result));
- return result;
- }
- BOOL IsVisibleClipEmpty() const
- {
- BOOL result = FALSE;
- updateStatus(DllExports::GdipIsVisibleClipEmpty(
- nativeGraphics, &result));
- return result;
- }
- Status MeasureCharacterRanges(const WCHAR *string, INT length,
- const Font *font, const RectF& layoutRect,
- const StringFormat *stringFormat,
- INT regionCount, Region *regions) const
- {
- if (regionCount <= 0 || !regions)
- return lastStatus = InvalidParameter;
-
- GpRegion **nativeRegionArray = (GpRegion**)
- DllExports::GdipAlloc(regionCount * sizeof(GpRegion*));
- if (!nativeRegionArray)
- return lastStatus = OutOfMemory;
- for (int i = 0; i < regionCount; ++i) {
- nativeRegionArray[i] = regions[i].nativeRegion;
- }
- Status status = updateStatus(DllExports::GdipMeasureCharacterRanges(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- layoutRect,
- stringFormat ? stringFormat->nativeStringFormat : NULL,
- regionCount, nativeRegionArray));
- DllExports::GdipFree(nativeRegionArray);
- return status;
- }
- Status MeasureDriverString(const UINT16 *text, INT length,
- const Font *font, const PointF *positions, INT flags,
- const Matrix *matrix, RectF *boundingBox) const
- {
- return updateStatus(DllExports::GdipMeasureDriverString(
- nativeGraphics, text, length,
- font ? font->nativeFont : NULL,
- positions, flags,
- matrix ? matrix->nativeMatrix : NULL,
- boundingBox));
- }
- Status MeasureString(const WCHAR *string, INT length,
- const Font *font, const RectF& layoutRect,
- RectF *boundingBox) const
- {
- return updateStatus(DllExports::GdipMeasureString(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- &layoutRect, NULL, boundingBox, NULL, NULL));
- }
- Status MeasureString(const WCHAR *string, INT length,
- const Font *font, const RectF& layoutRect,
- const StringFormat *stringFormat, RectF *boundingBox,
- INT *codepointsFitted = NULL,
- INT *linesFitted = NULL) const
- {
- return updateStatus(DllExports::GdipMeasureString(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- &layoutRect,
- stringFormat ? stringFormat->nativeStringFormat : NULL,
- boundingBox, codepointsFitted, linesFitted));
- }
- Status MeasureString(const WCHAR *string, INT length,
- const Font *font, const SizeF& layoutRectSize,
- const StringFormat *stringFormat, SizeF *size,
- INT *codepointsFitted = NULL,
- INT *linesFitted = NULL) const
- {
- if (!size) return lastStatus = InvalidParameter;
- RectF layoutRect(PointF(0.0f, 0.0f), layoutRectSize);
- RectF boundingBox;
- Status status = updateStatus(DllExports::GdipMeasureString(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- &layoutRect,
- stringFormat ? stringFormat->nativeStringFormat : NULL,
- &boundingBox, codepointsFitted, linesFitted));
- boundingBox.GetSize(size);
- return status;
- }
- Status MeasureString(const WCHAR *string, INT length,
- const Font *font, const PointF& origin,
- RectF *boundingBox) const
- {
- RectF layoutRect(origin, SizeF(0.0f, 0.0f));
- return updateStatus(DllExports::GdipMeasureString(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- &layoutRect, NULL, boundingBox, NULL, NULL));
- }
- Status MeasureString(const WCHAR *string, INT length,
- const Font *font, const PointF& origin,
- const StringFormat *stringFormat,
- RectF *boundingBox) const
- {
- RectF layoutRect(origin, SizeF(0.0f, 0.0f));
- return updateStatus(DllExports::GdipMeasureString(
- nativeGraphics, string, length,
- font ? font->nativeFont : NULL,
- &layoutRect,
- stringFormat ? stringFormat->nativeStringFormat : NULL,
- boundingBox, NULL, NULL));
- }
- Status MultiplyTransform(const Matrix *matrix,
- MatrixOrder order = MatrixOrderPrepend)
- {
- return updateStatus(DllExports::GdipMultiplyWorldTransform(
- nativeGraphics,
- matrix ? matrix->nativeMatrix : NULL, order));
- }
- VOID ReleaseHDC(HDC hdc)
- {
- updateStatus(DllExports::GdipReleaseDC(nativeGraphics, hdc));
- }
- Status ResetClip()
- {
- return updateStatus(DllExports::GdipResetClip(nativeGraphics));
- }
- Status ResetTransform()
- {
- return updateStatus(DllExports::GdipResetWorldTransform(
- nativeGraphics));
- }
- Status Restore(GraphicsState state)
- {
- return updateStatus(DllExports::GdipRestoreGraphics(
- nativeGraphics, state));
- }
- Status RotateTransform(REAL angle,
- MatrixOrder order = MatrixOrderPrepend)
- {
- return updateStatus(DllExports::GdipRotateWorldTransform(
- nativeGraphics, angle, order));
- }
- GraphicsState Save() const
- {
- GraphicsState result = 0;
- updateStatus(DllExports::GdipSaveGraphics(
- nativeGraphics, &result));
- return result;
- }
- Status ScaleTransform(REAL sx, REAL sy,
- MatrixOrder order = MatrixOrderPrepend)
- {
- return updateStatus(DllExports::GdipScaleWorldTransform(
- nativeGraphics, sx, sy, order));
- }
- VOID SetAbort()
- {
- updateStatus(NotImplemented);
- }
- Status SetClip(const Graphics *g,
- CombineMode combineMode = CombineModeReplace)
- {
- return updateStatus(DllExports::GdipSetClipGraphics(
- nativeGraphics, g ? g->nativeGraphics : NULL,
- combineMode));
- }
- Status SetClip(const RectF& rect,
- CombineMode combineMode = CombineModeReplace)
- {
- return updateStatus(DllExports::GdipSetClipRect(
- nativeGraphics,
- rect.X, rect.Y, rect.Width, rect.Height,
- combineMode));
- }
- Status SetClip(const Rect& rect,
- CombineMode combineMode = CombineModeReplace)
- {
- return updateStatus(DllExports::GdipSetClipRectI(
- nativeGraphics,
- rect.X, rect.Y, rect.Width, rect.Height,
- combineMode));
- }
- Status SetClip(const GraphicsPath *path,
- CombineMode combineMode = CombineModeReplace)
- {
- return updateStatus(DllExports::GdipSetClipPath(
- nativeGraphics,
- path ? path->nativePath : NULL,
- combineMode));
- }
- Status SetClip(const Region *region,
- CombineMode combineMode = CombineModeReplace)
- {
- return updateStatus(DllExports::GdipSetClipRegion(
- nativeGraphics,
- region ? region->nativeRegion : NULL,
- combineMode));
- }
- Status SetClip(HRGN hRgn, CombineMode combineMode = CombineModeReplace)
- {
- return updateStatus(DllExports::GdipSetClipHrgn(
- nativeGraphics, hRgn, combineMode));
- }
- Status SetCompositingMode(CompositingMode compositingMode)
- {
- return updateStatus(DllExports::GdipSetCompositingMode(
- nativeGraphics, compositingMode));
- }
- Status SetCompositingQuality(CompositingQuality compositingQuality)
- {
- return updateStatus(DllExports::GdipSetCompositingQuality(
- nativeGraphics, compositingQuality));
- }
- Status SetInterpolationMode(InterpolationMode interpolationMode)
- {
- return updateStatus(DllExports::GdipSetInterpolationMode(
- nativeGraphics, interpolationMode));
- }
- Status SetPageScale(REAL scale)
- {
- return updateStatus(DllExports::GdipSetPageScale(
- nativeGraphics, scale));
- }
- Status SetPageUnit(Unit unit)
- {
- return updateStatus(DllExports::GdipSetPageUnit(
- nativeGraphics, unit));
- }
- Status SetPixelOffsetMode(PixelOffsetMode pixelOffsetMode)
- {
- return updateStatus(DllExports::GdipSetPixelOffsetMode(
- nativeGraphics, pixelOffsetMode));
- }
- Status SetRenderingOrigin(INT x, INT y)
- {
- return updateStatus(DllExports::GdipSetRenderingOrigin(
- nativeGraphics, x, y));
- }
- Status SetSmoothingMode(SmoothingMode smoothingMode)
- {
- return updateStatus(DllExports::GdipSetSmoothingMode(
- nativeGraphics, smoothingMode));
- }
- Status SetTextContrast(UINT contrast)
- {
- return updateStatus(DllExports::GdipSetTextContrast(
- nativeGraphics, contrast));
- }
- Status SetTextRenderingHint(TextRenderingHint textRenderingHint)
- {
- return updateStatus(DllExports::GdipSetTextRenderingHint(
- nativeGraphics, textRenderingHint));
- }
- Status SetTransform(const Matrix *matrix)
- {
- return updateStatus(DllExports::GdipSetWorldTransform(
- nativeGraphics,
- matrix ? matrix->nativeMatrix : NULL));
- }
- Status TransformPoints(CoordinateSpace destSpace,
- CoordinateSpace srcSpace,
- PointF *pts, INT count) const
- {
- return updateStatus(DllExports::GdipTransformPoints(
- nativeGraphics, destSpace, srcSpace,
- pts, count));
- }
- Status TransformPoints(CoordinateSpace destSpace,
- CoordinateSpace srcSpace,
- Point *pts, INT count) const
- {
- return updateStatus(DllExports::GdipTransformPointsI(
- nativeGraphics, destSpace, srcSpace,
- pts, count));
- }
- Status TranslateClip(REAL dx, REAL dy)
- {
- return updateStatus(DllExports::GdipTranslateClip(
- nativeGraphics, dx, dy));
- }
- Status TranslateClip(INT dx, INT dy)
- {
- return updateStatus(DllExports::GdipTranslateClipI(
- nativeGraphics, dx, dy));
- }
- Status TranslateTransform(REAL dx, REAL dy,
- MatrixOrder order = MatrixOrderPrepend)
- {
- return updateStatus(DllExports::GdipTranslateWorldTransform(
- nativeGraphics, dx, dy, order));
- }
-
-private:
- Graphics(const Graphics&);
- Graphics& operator=(const Graphics&);
-
- Status updateStatus(Status newStatus) const
- {
- if (newStatus != Ok) lastStatus = newStatus;
- return newStatus;
- }
-
- GpGraphics *nativeGraphics;
- mutable Status lastStatus;
-};
-
-#endif /* __GDIPLUS_GRAPHICS_H */