mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-22 12:12:35 +03:00
ensure background fraction is a proper fraction
This commit is contained in:
parent
49a515c808
commit
e34f1c8b33
@ -68,24 +68,31 @@ static nserror nscolour__get(
|
|||||||
{
|
{
|
||||||
nserror res;
|
nserror res;
|
||||||
bool dark_mode;
|
bool dark_mode;
|
||||||
colour bg_temp;
|
colour bg_sys;
|
||||||
|
|
||||||
assert(name_bg != NULL);
|
assert(name_bg != NULL);
|
||||||
assert(name_fg != NULL);
|
assert(name_fg != NULL);
|
||||||
assert(bg != NULL);
|
assert(bg != NULL);
|
||||||
assert(fg != NULL);
|
assert(fg != NULL);
|
||||||
|
|
||||||
res = ns_system_colour_char(name_bg, &bg_temp);
|
/* user configured background colour */
|
||||||
|
res = ns_system_colour_char(name_bg, &bg_sys);
|
||||||
if (res != NSERROR_OK) {
|
if (res != NSERROR_OK) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* user configured foreground colour */
|
||||||
res = ns_system_colour_char(name_fg, fg);
|
res = ns_system_colour_char(name_fg, fg);
|
||||||
if (res != NSERROR_OK) {
|
if (res != NSERROR_OK) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
*bg = mix_colour(bg_temp, *fg, 255 * bg_num / bg_den);
|
/* if there is a valid background fraction apply it */
|
||||||
|
if (bg_num < bg_den) {
|
||||||
|
*bg = mix_colour(bg_sys, *fg, 255 * bg_num / bg_den);
|
||||||
|
} else {
|
||||||
|
*bg = bg_sys;
|
||||||
|
}
|
||||||
|
|
||||||
dark_mode = colour_lightness(*fg) > colour_lightness(*bg);
|
dark_mode = colour_lightness(*fg) > colour_lightness(*bg);
|
||||||
|
|
||||||
@ -114,7 +121,7 @@ static nserror nscolour__get(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (border != NULL) {
|
if (border != NULL) {
|
||||||
*border = mix_colour(*fg, bg_temp, 255 * 8 / 32);
|
*border = mix_colour(*fg, bg_sys, 255 * 8 / 32);
|
||||||
}
|
}
|
||||||
|
|
||||||
return NSERROR_OK;
|
return NSERROR_OK;
|
||||||
|
Loading…
Reference in New Issue
Block a user