gdiplus: Added support for more page units.
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 @@
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 GdipSetPageUnit(GpGraphics *graphics, GpUnit unit)
{
- if(!graphics)
+ if(!graphics || (unit == UnitWorld))
return InvalidParameter;
graphics->unit = unit;