improv(toggle): Make handle and border radius concentric

This commit is contained in:
Peter Krull 2024-08-05 12:22:51 +02:00 committed by GitHub
parent 5de9b21e0b
commit 4c5ae65eb2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -823,6 +823,7 @@ impl toggler::StyleSheet for Theme {
fn active(&self, _style: &Self::Style, is_active: bool) -> toggler::Appearance {
let theme = self.cosmic();
const HANDLE_MARGIN: f32 = 2.0;
toggler::Appearance {
background: if is_active {
theme.accent.base.into()
@ -833,8 +834,11 @@ impl toggler::StyleSheet for Theme {
foreground: theme.palette.neutral_2.into(),
foreground_border: None,
border_radius: theme.radius_xl().into(),
handle_radius: theme.radius_xl().into(),
handle_margin: 2.0,
handle_radius: theme
.radius_xl()
.map(|x| (x - HANDLE_MARGIN).max(0.0))
.into(),
handle_margin: HANDLE_MARGIN,
}
}