diff options
-rw-r--r-- | native/src/widget/radio.rs | 4 | ||||
-rw-r--r-- | style/src/radio.rs | 4 | ||||
-rw-r--r-- | style/src/theme.rs | 14 | ||||
-rw-r--r-- | style/src/toggler.rs | 2 |
4 files changed, 16 insertions, 8 deletions
diff --git a/native/src/widget/radio.rs b/native/src/widget/radio.rs index c9152d05..cb83f745 100644 --- a/native/src/widget/radio.rs +++ b/native/src/widget/radio.rs @@ -230,9 +230,9 @@ where let mut children = layout.children(); let custom_style = if is_mouse_over { - theme.hovered(self.style) + theme.hovered(self.style, self.is_selected) } else { - theme.active(self.style) + theme.active(self.style, self.is_selected) }; { diff --git a/style/src/radio.rs b/style/src/radio.rs index a4d4a83b..d14ea33e 100644 --- a/style/src/radio.rs +++ b/style/src/radio.rs @@ -15,7 +15,7 @@ pub struct Appearance { pub trait StyleSheet { type Style: Default + Copy; - fn active(&self, style: Self::Style) -> Appearance; + fn active(&self, style: Self::Style, is_selected: bool) -> Appearance; - fn hovered(&self, style: Self::Style) -> Appearance; + fn hovered(&self, style: Self::Style, is_selected: bool) -> Appearance; } diff --git a/style/src/theme.rs b/style/src/theme.rs index 9e9abfa0..ea538c3a 100644 --- a/style/src/theme.rs +++ b/style/src/theme.rs @@ -415,7 +415,11 @@ impl pick_list::StyleSheet for Theme { impl radio::StyleSheet for Theme { type Style = (); - fn active(&self, _style: Self::Style) -> radio::Appearance { + fn active( + &self, + _style: Self::Style, + _is_selected: bool, + ) -> radio::Appearance { let palette = self.extended_palette(); radio::Appearance { @@ -427,8 +431,12 @@ impl radio::StyleSheet for Theme { } } - fn hovered(&self, style: Self::Style) -> radio::Appearance { - let active = self.active(style); + fn hovered( + &self, + style: Self::Style, + is_selected: bool, + ) -> radio::Appearance { + let active = self.active(style, is_selected); let palette = self.extended_palette(); radio::Appearance { diff --git a/style/src/toggler.rs b/style/src/toggler.rs index 4ee7db46..0acf8e97 100644 --- a/style/src/toggler.rs +++ b/style/src/toggler.rs @@ -2,7 +2,7 @@ use iced_core::Color; /// The appearance of a toggler. -#[derive(Debug)] +#[derive(Debug, Clone, Copy)] pub struct Appearance { pub background: Color, pub background_border: Option<Color>, |