Module: wine Branch: master Commit: d6bd866df5ec0f4b253af14d677348967cc89138 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d6bd866df5ec0f4b253af14d67...
Author: Evan Stade estade@gmail.com Date: Fri Jul 13 17:51:33 2007 -0700
gdiplus: Added pixel offset mode.
---
dlls/gdiplus/gdiplus.spec | 4 ++-- dlls/gdiplus/gdiplus_private.h | 1 + dlls/gdiplus/graphics.c | 24 ++++++++++++++++++++++++ include/gdiplusenums.h | 11 +++++++++++ include/gdiplusflat.h | 2 ++ 5 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index c4f68d2..4403a2f 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -352,7 +352,7 @@ @ stub GdipGetPenTransform @ stub GdipGetPenUnit @ stub GdipGetPenWidth -@ stub GdipGetPixelOffsetMode +@ stdcall GdipGetPixelOffsetMode(ptr ptr) @ stdcall GdipGetPointCount(ptr ptr) @ stub GdipGetPropertyCount @ stub GdipGetPropertyIdList @@ -559,7 +559,7 @@ @ stub GdipSetPenTransform @ stub GdipSetPenUnit @ stub GdipSetPenWidth -@ stub GdipSetPixelOffsetMode +@ stdcall GdipSetPixelOffsetMode(ptr long) @ stub GdipSetPropertyItem @ stub GdipSetRenderingOrigin @ stdcall GdipSetSmoothingMode(ptr long) diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h index 3856dee..20678c8 100644 --- a/dlls/gdiplus/gdiplus_private.h +++ b/dlls/gdiplus/gdiplus_private.h @@ -57,6 +57,7 @@ struct GpGraphics{ SmoothingMode smoothing; CompositingQuality compqual; InterpolationMode interpolation; + PixelOffsetMode pixeloffset; };
struct GpBrush{ diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index b202f74..a725804 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -545,6 +545,7 @@ GpStatus WINGDIPAPI GdipCreateFromHDC(HDC hdc, GpGraphics **graphics) (*graphics)->smoothing = SmoothingModeDefault; (*graphics)->compqual = CompositingQualityDefault; (*graphics)->interpolation = InterpolationModeDefault; + (*graphics)->pixeloffset = PixelOffsetModeDefault;
return Ok; } @@ -824,6 +825,18 @@ GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics *graphics, return Ok; }
+/* FIXME: Pixel offset mode is not used anywhere except the getter/setter. */ +GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode + *mode) +{ + if(!graphics || !mode) + return InvalidParameter; + + *mode = graphics->pixeloffset; + + return Ok; +} + /* FIXME: Smoothing mode is not used anywhere except the getter/setter. */ GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics *graphics, SmoothingMode *mode) { @@ -857,6 +870,17 @@ GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics *graphics, return Ok; }
+GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode + mode) +{ + if(!graphics) + return InvalidParameter; + + graphics->pixeloffset = mode; + + return Ok; +} + GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode mode) { if(!graphics) diff --git a/include/gdiplusenums.h b/include/gdiplusenums.h index 699862c..10ed54f 100644 --- a/include/gdiplusenums.h +++ b/include/gdiplusenums.h @@ -122,6 +122,16 @@ enum InterpolationMode InterpolationModeHighQualityBicubic };
+enum PixelOffsetMode +{ + PixelOffsetModeInvalid = QualityModeInvalid, + PixelOffsetModeDefault = QualityModeDefault, + PixelOffsetModeHighSpeed = QualityModeLow, + PixelOffsetModeHighQuality = QualityModeHigh, + PixelOffsetModeNone, + PixelOffsetModeHalf +}; + #ifndef __cplusplus
typedef enum Unit Unit; @@ -134,6 +144,7 @@ typedef enum QualityMode QualityMode; typedef enum SmoothingMode SmoothingMode; typedef enum CompositingQuality CompositingQuality; typedef enum InterpolationMode InterpolationMode; +typedef enum PixelOffsetMode PixelOffsetMode;
#endif /* end of c typedefs */
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index c7f921d..2c3c617 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -47,9 +47,11 @@ GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics*,GpPen*,INT,INT,INT,INT); GpStatus WINGDIPAPI GdipFillPie(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL,REAL,REAL); GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*); GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*); +GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*); GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics*,SmoothingMode*); GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics*,CompositingQuality); GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics*,InterpolationMode); +GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics*,PixelOffsetMode); GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics*,SmoothingMode);
GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**);