summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--native/src/widget/radio.rs4
-rw-r--r--style/src/radio.rs4
-rw-r--r--style/src/theme.rs14
-rw-r--r--style/src/toggler.rs2
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>,