Commit c36b392a authored by André Hentschel's avatar André Hentschel Committed by Alexandre Julliard

gdi32: Initial gamma setting tests.

parent 4b538567
......@@ -605,6 +605,53 @@ static void test_desktop_colorres(void)
ReleaseDC(NULL, hdc);
}
static void test_gamma(void)
{
BOOL ret;
HDC hdc = GetDC(NULL);
WORD oldramp[3][256], ramp[3][256];
INT i;
ret = GetDeviceGammaRamp(hdc, &oldramp);
if (!ret)
{
win_skip("GetDeviceGammaRamp failed, skipping tests\n");
goto done;
}
/* try to set back old ramp */
ret = SetDeviceGammaRamp(hdc, &oldramp);
if (!ret)
{
win_skip("SetDeviceGammaRamp failed, skipping tests\n");
goto done;
}
memcpy(ramp, oldramp, sizeof(ramp));
/* set one color ramp to zeros */
memset(ramp[0], 0, sizeof(ramp[0]));
ret = SetDeviceGammaRamp(hdc, &ramp);
ok(!ret, "SetDeviceGammaRamp succeeded\n");
/* set one color ramp to a flat straight rising line */
for (i = 0; i < 256; i++) ramp[0][i] = i;
ret = SetDeviceGammaRamp(hdc, &ramp);
todo_wine ok(!ret, "SetDeviceGammaRamp succeeded\n");
/* set one color ramp to a steep straight rising line */
for (i = 0; i < 256; i++) ramp[0][i] = i * 256;
ret = SetDeviceGammaRamp(hdc, &ramp);
ok(ret, "SetDeviceGammaRamp failed\n");
/* cleanup: set old ramp again */
ret = SetDeviceGammaRamp(hdc, &oldramp);
ok(ret, "SetDeviceGammaRamp failed\n");
done:
ReleaseDC(NULL, hdc);
}
START_TEST(dc)
{
test_savedc();
......@@ -615,4 +662,5 @@ START_TEST(dc)
test_DeleteDC();
test_boundsrect_invalid();
test_desktop_colorres();
test_gamma();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment