From d5769957b4d340b3e4add942965f66e1d7657f88 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Tue, 29 Apr 2008 00:10:20 +0400 Subject: [PATCH] gdiplus: Implemented GdipGetDpiX/GdipGetDpiY. --- dlls/gdiplus/gdiplus.spec | 4 ++-- dlls/gdiplus/graphics.c | 20 ++++++++++++++++++++ include/gdiplusflat.h | 3 +++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 0aca0020b0a..c06fa2ea1ce 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -256,8 +256,8 @@ @ stub GdipGetCustomLineCapType @ stub GdipGetCustomLineCapWidthScale @ stub GdipGetDC -@ stub GdipGetDpiX -@ stub GdipGetDpiY +@ stdcall GdipGetDpiX(ptr ptr) +@ stdcall GdipGetDpiY(ptr ptr) @ stub GdipGetEffectParameterSize @ stub GdipGetEffectParameters @ stub GdipGetEmHeight diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index d60e7d33847..2646a464763 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -2398,3 +2398,23 @@ GpStatus WINGDIPAPI GdipDrawPolygonI(GpGraphics *graphics,GpPen *pen,GDIPCONST G return ret; } + +GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics *graphics, REAL* dpi) +{ + if(!graphics || !dpi) + return InvalidParameter; + + *dpi = (REAL)GetDeviceCaps(graphics->hdc, LOGPIXELSX); + + return Ok; +} + +GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics *graphics, REAL* dpi) +{ + if(!graphics || !dpi) + return InvalidParameter; + + *dpi = (REAL)GetDeviceCaps(graphics->hdc, LOGPIXELSY); + + return Ok; +} diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index 5c9e0f9da70..dbf1c85b652 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -343,6 +343,9 @@ GpStatus WINGDIPAPI GdipSetStringFormatLineAlign(GpStringFormat*,StringAlignment GpStatus WINGDIPAPI GdipSetStringFormatTrimming(GpStringFormat*,StringTrimming); GpStatus WINGDIPAPI GdipCloneStringFormat(GDIPCONST GpStringFormat*,GpStringFormat**); +GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics*,REAL*); +GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics*,REAL*); + #ifdef __cplusplus } #endif