gdi32/tests: Fix the mapping test to handle the more precise LOMETRIC settings on Vista.
This commit is contained in:
parent
6996a9c83f
commit
cbe6e71775
|
@ -75,8 +75,9 @@ static void test_world_transform(void)
|
||||||
{
|
{
|
||||||
BOOL is_win9x;
|
BOOL is_win9x;
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
INT ret, size_cx, size_cy, res_x, res_y;
|
INT ret, size_cx, size_cy, res_x, res_y, dpi_x, dpi_y;
|
||||||
XFORM xform;
|
XFORM xform;
|
||||||
|
SIZE size;
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
GetWorldTransform(0, NULL);
|
GetWorldTransform(0, NULL);
|
||||||
|
@ -88,7 +89,10 @@ static void test_world_transform(void)
|
||||||
size_cy = GetDeviceCaps(hdc, VERTSIZE);
|
size_cy = GetDeviceCaps(hdc, VERTSIZE);
|
||||||
res_x = GetDeviceCaps(hdc, HORZRES);
|
res_x = GetDeviceCaps(hdc, HORZRES);
|
||||||
res_y = GetDeviceCaps(hdc, VERTRES);
|
res_y = GetDeviceCaps(hdc, VERTRES);
|
||||||
trace("dc size %d x %d, resolution %d x %d\n", size_cx, size_cy, res_x, res_y);
|
dpi_x = GetDeviceCaps(hdc, LOGPIXELSX);
|
||||||
|
dpi_y = GetDeviceCaps(hdc, LOGPIXELSY);
|
||||||
|
trace("dc size %d x %d, resolution %d x %d dpi %d x %d\n",
|
||||||
|
size_cx, size_cy, res_x, res_y, dpi_x, dpi_y );
|
||||||
|
|
||||||
expect_viewport_ext(hdc, 1, 1);
|
expect_viewport_ext(hdc, 1, 1);
|
||||||
expect_window_ext(hdc, 1, 1);
|
expect_window_ext(hdc, 1, 1);
|
||||||
|
@ -101,13 +105,19 @@ static void test_world_transform(void)
|
||||||
|
|
||||||
if (is_win9x)
|
if (is_win9x)
|
||||||
{
|
{
|
||||||
expect_viewport_ext(hdc, GetDeviceCaps(hdc, LOGPIXELSX), GetDeviceCaps(hdc, LOGPIXELSY));
|
expect_viewport_ext(hdc, dpi_x, dpi_y);
|
||||||
expect_window_ext(hdc, 254, -254);
|
expect_window_ext(hdc, 254, -254);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
expect_viewport_ext(hdc, res_x, -res_y);
|
expect_viewport_ext(hdc, res_x, -res_y);
|
||||||
expect_window_ext(hdc, size_cx * 10, size_cy * 10);
|
ok( GetWindowExtEx( hdc, &size ), "GetWindowExtEx failed\n" );
|
||||||
|
ok( size.cx == size_cx * 10 ||
|
||||||
|
size.cx == MulDiv( res_x, 254, dpi_x ), /* Vista uses a more precise method */
|
||||||
|
"expected cx %d or %d, got %d\n", size_cx * 10, MulDiv( res_x, 254, dpi_x ), size.cx );
|
||||||
|
ok( size.cy == size_cy * 10 ||
|
||||||
|
size.cy == MulDiv( res_y, 254, dpi_y ), /* Vista uses a more precise method */
|
||||||
|
"expected cy %d or %d, got %d\n", size_cy * 10, MulDiv( res_y, 254, dpi_y ), size.cy );
|
||||||
}
|
}
|
||||||
expect_world_trasform(hdc, 1.0, 1.0);
|
expect_world_trasform(hdc, 1.0, 1.0);
|
||||||
expect_LPtoDP(hdc, MulDiv(1000 / 10, res_x, size_cx), -MulDiv(1000 / 10, res_y, size_cy));
|
expect_LPtoDP(hdc, MulDiv(1000 / 10, res_x, size_cx), -MulDiv(1000 / 10, res_y, size_cy));
|
||||||
|
@ -154,9 +164,15 @@ static void test_world_transform(void)
|
||||||
ok(ret == MM_TEXT, "expected MM_TEXT, got %d\n", ret);
|
ok(ret == MM_TEXT, "expected MM_TEXT, got %d\n", ret);
|
||||||
|
|
||||||
expect_viewport_ext(hdc, res_x, -res_y);
|
expect_viewport_ext(hdc, res_x, -res_y);
|
||||||
expect_window_ext(hdc, size_cx * 10, size_cy * 10);
|
ok( GetWindowExtEx( hdc, &size ), "GetWindowExtEx failed\n" );
|
||||||
|
ok( size.cx == size_cx * 10 ||
|
||||||
|
size.cx == MulDiv( res_x, 254, dpi_x ), /* Vista uses a more precise method */
|
||||||
|
"expected cx %d or %d, got %d\n", size_cx * 10, MulDiv( res_x, 254, dpi_x ), size.cx );
|
||||||
|
ok( size.cy == size_cy * 10 ||
|
||||||
|
size.cy == MulDiv( res_y, 254, dpi_y ), /* Vista uses a more precise method */
|
||||||
|
"expected cy %d or %d, got %d\n", size_cy * 10, MulDiv( res_y, 254, dpi_y ), size.cy );
|
||||||
expect_world_trasform(hdc, 20.0, 20.0);
|
expect_world_trasform(hdc, 20.0, 20.0);
|
||||||
expect_LPtoDP(hdc, MulDiv(1000 * 2, res_x, size_cx), -MulDiv(1000 * 2, res_y, size_cy));
|
expect_LPtoDP(hdc, MulDiv(20000, res_x, size.cx), -MulDiv(20000, res_y, size.cy));
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = SetMapMode(hdc, MM_TEXT);
|
ret = SetMapMode(hdc, MM_TEXT);
|
||||||
|
|
Loading…
Reference in New Issue