add border widths to toggler stylesheet

This commit is contained in:
Giuliano Bellini s294739 2024-01-27 21:56:28 +01:00 committed by Héctor Ramón Jiménez
parent 80a29a277e
commit ae3f5ba1a3
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
3 changed files with 14 additions and 8 deletions

View file

@ -797,13 +797,15 @@ impl toggler::StyleSheet for Theme {
} else {
palette.background.strong.color
},
background_border: None,
background_border_width: 0.0,
background_border_color: Color::TRANSPARENT,
foreground: if is_active {
palette.primary.strong.text
} else {
palette.background.base.color
},
foreground_border: None,
foreground_border_width: 0.0,
foreground_border_color: Color::TRANSPARENT,
}
}
Toggler::Custom(custom) => custom.active(self, is_active),

View file

@ -6,12 +6,16 @@ use iced_core::Color;
pub struct Appearance {
/// The background [`Color`] of the toggler.
pub background: Color,
/// The width of the background border of the toggler.
pub background_border_width: f32,
/// The [`Color`] of the background border of the toggler.
pub background_border: Option<Color>,
pub background_border_color: Color,
/// The foreground [`Color`] of the toggler.
pub foreground: Color,
/// The width of the foreground border of the toggler.
pub foreground_border_width: f32,
/// The [`Color`] of the foreground border of the toggler.
pub foreground_border: Option<Color>,
pub foreground_border_color: Color,
}
/// A set of rules that dictate the style of a toggler.

View file

@ -315,8 +315,8 @@ where
bounds: toggler_background_bounds,
border: Border {
radius: border_radius.into(),
width: 1.0,
color: style.background_border.unwrap_or(style.background),
width: style.background_border_width,
color: style.background_border_color,
},
..renderer::Quad::default()
},
@ -340,8 +340,8 @@ where
bounds: toggler_foreground_bounds,
border: Border {
radius: border_radius.into(),
width: 1.0,
color: style.foreground_border.unwrap_or(style.foreground),
width: style.foreground_border_width,
color: style.foreground_border_color,
},
..renderer::Quad::default()
},