Evan Stade : gdiplus: Added support for more page units.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jul 25 07:44:17 CDT 2007


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

Author: Evan Stade <estade at gmail.com>
Date:   Tue Jul 24 17:18:34 2007 -0700

gdiplus: Added support for more page units.

---

 dlls/gdiplus/graphics.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 8a53c03..df481cd 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -93,6 +93,17 @@ static void transform_and_round_points(GpGraphics *graphics, POINT *pti,
         case UnitInch:
             unitscale = GetDeviceCaps(graphics->hdc, LOGPIXELSX);
             break;
+        case UnitPoint:
+            unitscale = ((REAL)GetDeviceCaps(graphics->hdc, LOGPIXELSX)) / 72.0;
+            break;
+        case UnitDocument:
+            unitscale = ((REAL)GetDeviceCaps(graphics->hdc, LOGPIXELSX)) / 300.0;
+            break;
+        case UnitMillimeter:
+            unitscale = ((REAL)GetDeviceCaps(graphics->hdc, LOGPIXELSX)) / 25.4;
+            break;
+        case UnitPixel:
+        case UnitDisplay:
         default:
             unitscale = 1.0;
             break;
@@ -1151,7 +1162,7 @@ GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics *graphics,
 
 GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics *graphics, GpUnit unit)
 {
-    if(!graphics)
+    if(!graphics || (unit == UnitWorld))
         return InvalidParameter;
 
     graphics->unit = unit;




More information about the wine-cvs mailing list