summaryrefslogtreecommitdiffstats
path: root/style/src/theme.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-05-27 01:26:57 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-05-27 01:29:36 +0200
commit28d09bfff1dde55190986bab10d7aaeb0ceb49de (patch)
treedf38cec7242de571d94378cd736a05bc82a622c2 /style/src/theme.rs
parentd988d813d77bc23147a179586206048e6cc42157 (diff)
downloadiced-28d09bfff1dde55190986bab10d7aaeb0ceb49de.tar.gz
iced-28d09bfff1dde55190986bab10d7aaeb0ceb49de.tar.bz2
iced-28d09bfff1dde55190986bab10d7aaeb0ceb49de.zip
Implement theme styling for `Radio`
Diffstat (limited to '')
-rw-r--r--style/src/theme.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/style/src/theme.rs b/style/src/theme.rs
index c9fae3c2..e3b151aa 100644
--- a/style/src/theme.rs
+++ b/style/src/theme.rs
@@ -4,6 +4,7 @@ pub use self::palette::Palette;
use crate::application;
use crate::button;
+use crate::radio;
use crate::slider;
use iced_core::{Background, Color};
@@ -165,3 +166,30 @@ impl slider::StyleSheet for Theme {
}
}
}
+
+impl radio::StyleSheet for Theme {
+ type Style = ();
+
+ fn active(&self, _style: Self::Style) -> radio::Appearance {
+ let palette = self.extended_palette();
+
+ radio::Appearance {
+ background: Color::TRANSPARENT.into(),
+ dot_color: palette.primary.strong.color.into(),
+ border_width: 1.0,
+ border_color: palette.primary.strong.color,
+ text_color: None,
+ }
+ }
+
+ fn hovered(&self, style: Self::Style) -> radio::Appearance {
+ let active = self.active(style);
+ let palette = self.extended_palette();
+
+ radio::Appearance {
+ dot_color: palette.primary.weak.text.into(),
+ background: palette.primary.weak.color.into(),
+ ..active
+ }
+ }
+}