diff options
| author | 2024-04-07 19:32:49 +0200 | |
|---|---|---|
| committer | 2024-04-07 19:32:49 +0200 | |
| commit | ee86aea7f298c0bdc72733b47c40270ff38c2ba6 (patch) | |
| tree | ce1e2f533544eb2ecd8ac4158de104ab0e6c2869 /core | |
| parent | efa75607baa073aba333ab0bfdee1e490a016097 (diff) | |
| download | iced-ee86aea7f298c0bdc72733b47c40270ff38c2ba6.tar.gz iced-ee86aea7f298c0bdc72733b47c40270ff38c2ba6.tar.bz2 iced-ee86aea7f298c0bdc72733b47c40270ff38c2ba6.zip | |
Use `Lch` to choose white text when not readable in `theme::palette`
Diffstat (limited to '')
| -rw-r--r-- | core/src/theme/palette.rs | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/core/src/theme/palette.rs b/core/src/theme/palette.rs index ca91c248..aca72eb0 100644 --- a/core/src/theme/palette.rs +++ b/core/src/theme/palette.rs @@ -4,7 +4,7 @@ use crate::{color, Color};  use once_cell::sync::Lazy;  use palette::color_difference::Wcag21RelativeContrast;  use palette::rgb::Rgb; -use palette::{FromColor, Hsl, Mix}; +use palette::{FromColor, Hsl, Lch, Mix};  /// A color palette.  #[derive(Debug, Clone, Copy, PartialEq)] @@ -613,7 +613,7 @@ 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) { +    } else if to_lch(background).l < 70.0 {          Color::WHITE      } else {          Color::BLACK @@ -635,6 +635,10 @@ fn to_hsl(color: Color) -> Hsl {      Hsl::from_color(Rgb::from(color))  } +fn to_lch(color: Color) -> Lch { +    Lch::from_color(Rgb::from(color)) +} +  fn from_hsl(hsl: Hsl) -> Color {      Rgb::from_color(hsl).into()  } | 
