gdiplus: Implement GdipBitmapSetResolution.
This commit is contained in:
parent
1aea88cac1
commit
6bb300fa41
|
@ -535,9 +535,15 @@ GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap* bitmap, GDIPCONST GpRect* rect,
|
||||||
|
|
||||||
GpStatus WINGDIPAPI GdipBitmapSetResolution(GpBitmap* bitmap, REAL xdpi, REAL ydpi)
|
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,
|
GpStatus WINGDIPAPI GdipBitmapUnlockBits(GpBitmap* bitmap,
|
||||||
|
|
|
@ -915,10 +915,10 @@ static void test_resolution(void)
|
||||||
expect(InvalidParameter, stat);
|
expect(InvalidParameter, stat);
|
||||||
|
|
||||||
stat = GdipBitmapSetResolution(NULL, 96.0, 96.0);
|
stat = GdipBitmapSetResolution(NULL, 96.0, 96.0);
|
||||||
todo_wine expect(InvalidParameter, stat);
|
expect(InvalidParameter, stat);
|
||||||
|
|
||||||
stat = GdipBitmapSetResolution(bitmap, 0.0, 0.0);
|
stat = GdipBitmapSetResolution(bitmap, 0.0, 0.0);
|
||||||
todo_wine expect(InvalidParameter, stat);
|
expect(InvalidParameter, stat);
|
||||||
|
|
||||||
/* defaults to screen resolution */
|
/* defaults to screen resolution */
|
||||||
screendc = GetDC(0);
|
screendc = GetDC(0);
|
||||||
|
@ -938,15 +938,15 @@ static void test_resolution(void)
|
||||||
|
|
||||||
/* test changing the resolution */
|
/* test changing the resolution */
|
||||||
stat = GdipBitmapSetResolution(bitmap, screenxres*2.0, screenyres*3.0);
|
stat = GdipBitmapSetResolution(bitmap, screenxres*2.0, screenyres*3.0);
|
||||||
todo_wine expect(Ok, stat);
|
expect(Ok, stat);
|
||||||
|
|
||||||
stat = GdipGetImageHorizontalResolution((GpImage*)bitmap, &res);
|
stat = GdipGetImageHorizontalResolution((GpImage*)bitmap, &res);
|
||||||
expect(Ok, stat);
|
expect(Ok, stat);
|
||||||
todo_wine expectf(screenxres*2.0, res);
|
expectf(screenxres*2.0, res);
|
||||||
|
|
||||||
stat = GdipGetImageVerticalResolution((GpImage*)bitmap, &res);
|
stat = GdipGetImageVerticalResolution((GpImage*)bitmap, &res);
|
||||||
expect(Ok, stat);
|
expect(Ok, stat);
|
||||||
todo_wine expectf(screenyres*3.0, res);
|
expectf(screenyres*3.0, res);
|
||||||
|
|
||||||
stat = GdipDisposeImage((GpImage*)bitmap);
|
stat = GdipDisposeImage((GpImage*)bitmap);
|
||||||
expect(Ok, stat);
|
expect(Ok, stat);
|
||||||
|
|
Loading…
Reference in New Issue