diff options
author | 2022-05-04 18:56:27 +0300 | |
---|---|---|
committer | 2022-10-05 19:07:02 +0200 | |
commit | d95c216b2db76dd812b960d39499dc5e03a81ffc (patch) | |
tree | 0ec579b7ec603bfbb2b37495b4fa22d51516b9c7 | |
parent | 2278bade55b2bcd530c8c9a30a22d5f800921e55 (diff) | |
download | iced-d95c216b2db76dd812b960d39499dc5e03a81ffc.tar.gz iced-d95c216b2db76dd812b960d39499dc5e03a81ffc.tar.bz2 iced-d95c216b2db76dd812b960d39499dc5e03a81ffc.zip |
Add `is_selected` argument in `radio::StyleSheet`
-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 |
3 files changed, 15 insertions, 7 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 { |