From c45c79b5d6e25f73dc76a816c08a7041ad971c66 Mon Sep 17 00:00:00 2001 From: David Huculak Date: Sun, 7 Apr 2024 02:20:44 -0400 Subject: add stronger guarantee of readability/contrast for palette background/text color pairs --- core/src/theme/palette.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'core/src') diff --git a/core/src/theme/palette.rs b/core/src/theme/palette.rs index ca91c248..91543567 100644 --- a/core/src/theme/palette.rs +++ b/core/src/theme/palette.rs @@ -612,11 +612,19 @@ fn mix(a: Color, b: Color, factor: f32) -> Color { fn readable(background: Color, text: Color) -> Color { if is_readable(background, text) { - text - } else if is_dark(background) { + return text; + } + + let fallback = if is_dark(background) { Color::WHITE } else { Color::BLACK + }; + + if is_readable(background, fallback) { + fallback + } else { + fallback.inverse() } } -- cgit