Evan Stade : gdiplus: Added GdipSetPageUnit.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jul 24 07:06:24 CDT 2007


Module: wine
Branch: master
Commit: 10b575bc8636f262b8667310bbbd96da7d32f040
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=10b575bc8636f262b8667310bbbd96da7d32f040

Author: Evan Stade <estade at gmail.com>
Date:   Mon Jul 23 20:24:41 2007 -0700

gdiplus: Added GdipSetPageUnit.

---

 dlls/gdiplus/gdiplus.spec      |    4 ++--
 dlls/gdiplus/gdiplus_private.h |    1 +
 dlls/gdiplus/graphics.c        |   21 +++++++++++++++++++++
 include/gdiplusflat.h          |    2 ++
 4 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index e59516c..919efe6 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -306,7 +306,7 @@
 @ stub GdipGetMetafileHeaderFromWmf
 @ stub GdipGetNearestColor
 @ stub GdipGetPageScale
-@ stub GdipGetPageUnit
+@ stdcall GdipGetPageUnit(ptr ptr)
 @ stub GdipGetPathData
 @ stdcall GdipGetPathFillMode(ptr ptr)
 @ stub GdipGetPathGradientBlend
@@ -525,7 +525,7 @@
 @ stub GdipSetMatrixElements
 @ stub GdipSetMetafileDownLevelRasterizationLimit
 @ stub GdipSetPageScale
-@ stub GdipSetPageUnit
+@ stdcall GdipSetPageUnit(ptr long)
 @ stdcall GdipSetPathFillMode(ptr long)
 @ stub GdipSetPathGradientBlend
 @ stub GdipSetPathGradientCenterColor
diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h
index aac3278..72e2303 100644
--- a/dlls/gdiplus/gdiplus_private.h
+++ b/dlls/gdiplus/gdiplus_private.h
@@ -65,6 +65,7 @@ struct GpGraphics{
     CompositingQuality compqual;
     InterpolationMode interpolation;
     PixelOffsetMode pixeloffset;
+    GpUnit unit;    /* page unit */
 };
 
 struct GpBrush{
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 64ac4fe..7a26d87 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -701,6 +701,7 @@ GpStatus WINGDIPAPI GdipCreateFromHDC(HDC hdc, GpGraphics **graphics)
     (*graphics)->compqual = CompositingQualityDefault;
     (*graphics)->interpolation = InterpolationModeDefault;
     (*graphics)->pixeloffset = PixelOffsetModeDefault;
+    (*graphics)->unit = UnitDisplay;
 
     return Ok;
 }
@@ -1018,6 +1019,16 @@ GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics *graphics,
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics *graphics, GpUnit *unit)
+{
+    if(!graphics || !unit)
+        return InvalidParameter;
+
+    *unit = graphics->unit;
+
+    return Ok;
+}
+
 /* FIXME: Pixel offset mode is not used anywhere except the getter/setter. */
 GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode
     *mode)
@@ -1083,6 +1094,16 @@ GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics *graphics,
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics *graphics, GpUnit unit)
+{
+    if(!graphics)
+        return InvalidParameter;
+
+    graphics->unit = unit;
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode
     mode)
 {
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 706aa27..d0aae71 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -62,12 +62,14 @@ GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT
     GpFillMode);
 GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*);
 GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*);
+GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics*,GpUnit*);
 GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*);
 GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics*,SmoothingMode*);
 GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics*,GraphicsState);
 GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics*,GraphicsState*);
 GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics*,CompositingQuality);
 GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics*,InterpolationMode);
+GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics*,GpUnit);
 GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics*,PixelOffsetMode);
 GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics*,SmoothingMode);
 




More information about the wine-cvs mailing list