winex11: Reject too bright gamma ramps.
This commit is contained in:
parent
20fa3fe802
commit
56e804eea4
|
@ -644,6 +644,13 @@ static void test_gamma(void)
|
||||||
ret = SetDeviceGammaRamp(hdc, &ramp);
|
ret = SetDeviceGammaRamp(hdc, &ramp);
|
||||||
ok(ret, "SetDeviceGammaRamp failed\n");
|
ok(ret, "SetDeviceGammaRamp failed\n");
|
||||||
|
|
||||||
|
/* try a bright gamma ramp */
|
||||||
|
ramp[0][0] = 0;
|
||||||
|
ramp[0][1] = 0x7FFF;
|
||||||
|
for (i = 2; i < 256; i++) ramp[0][i] = 0xFFFF;
|
||||||
|
ret = SetDeviceGammaRamp(hdc, &ramp);
|
||||||
|
ok(!ret, "SetDeviceGammaRamp succeeded\n");
|
||||||
|
|
||||||
/* cleanup: set old ramp again */
|
/* cleanup: set old ramp again */
|
||||||
ret = SetDeviceGammaRamp(hdc, &oldramp);
|
ret = SetDeviceGammaRamp(hdc, &oldramp);
|
||||||
ok(ret, "SetDeviceGammaRamp failed\n");
|
ok(ret, "SetDeviceGammaRamp failed\n");
|
||||||
|
|
|
@ -339,6 +339,11 @@ static BOOL ComputeGammaFromRamp(WORD ramp[256], float *gamma)
|
||||||
ERR("ramp not uniform (max=%f, min=%f, avg=%f), rejected\n", g_max, g_min, g_avg);
|
ERR("ramp not uniform (max=%f, min=%f, avg=%f), rejected\n", g_max, g_min, g_avg);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
/* check that the gamma is not too bright */
|
||||||
|
if (g_avg < 0.2) {
|
||||||
|
ERR("too bright gamma ( %5.3f), rejected\n", g_avg);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
/* ok, now we're pretty sure we can set the desired gamma ramp,
|
/* ok, now we're pretty sure we can set the desired gamma ramp,
|
||||||
* so go for it */
|
* so go for it */
|
||||||
*gamma = 1/g_avg;
|
*gamma = 1/g_avg;
|
||||||
|
|
Loading…
Reference in New Issue