Module: wine Branch: master Commit: 6bb300fa41176822f5ec6ce4e0842cf39d6239e9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6bb300fa41176822f5ec6ce4e0...
Author: Vincent Povirk vincent@codeweavers.com Date: Sat Dec 26 21:05:58 2009 -0500
gdiplus: Implement GdipBitmapSetResolution.
---
dlls/gdiplus/image.c | 10 ++++++++-- dlls/gdiplus/tests/image.c | 10 +++++----- 2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index 763c17c..78801fd 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -535,9 +535,15 @@ GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap* bitmap, GDIPCONST GpRect* rect,
GpStatus WINGDIPAPI GdipBitmapSetResolution(GpBitmap* bitmap, REAL xdpi, REAL ydpi) { - FIXME("(%p, %.2f, %.2f)\n", bitmap, xdpi, ydpi); + TRACE("(%p, %.2f, %.2f)\n", bitmap, xdpi, ydpi);
- return NotImplemented; + if (!bitmap || xdpi == 0.0 || ydpi == 0.0) + return InvalidParameter; + + bitmap->image.xres = xdpi; + bitmap->image.yres = ydpi; + + return Ok; }
GpStatus WINGDIPAPI GdipBitmapUnlockBits(GpBitmap* bitmap, diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c index 913ba1f..e93b745 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -915,10 +915,10 @@ static void test_resolution(void) expect(InvalidParameter, stat);
stat = GdipBitmapSetResolution(NULL, 96.0, 96.0); - todo_wine expect(InvalidParameter, stat); + expect(InvalidParameter, stat);
stat = GdipBitmapSetResolution(bitmap, 0.0, 0.0); - todo_wine expect(InvalidParameter, stat); + expect(InvalidParameter, stat);
/* defaults to screen resolution */ screendc = GetDC(0); @@ -938,15 +938,15 @@ static void test_resolution(void)
/* test changing the resolution */ stat = GdipBitmapSetResolution(bitmap, screenxres*2.0, screenyres*3.0); - todo_wine expect(Ok, stat); + expect(Ok, stat);
stat = GdipGetImageHorizontalResolution((GpImage*)bitmap, &res); expect(Ok, stat); - todo_wine expectf(screenxres*2.0, res); + expectf(screenxres*2.0, res);
stat = GdipGetImageVerticalResolution((GpImage*)bitmap, &res); expect(Ok, stat); - todo_wine expectf(screenyres*3.0, res); + expectf(screenyres*3.0, res);
stat = GdipDisposeImage((GpImage*)bitmap); expect(Ok, stat);