diff options
author | 2022-05-27 01:26:57 +0200 | |
---|---|---|
committer | 2022-05-27 01:29:36 +0200 | |
commit | 28d09bfff1dde55190986bab10d7aaeb0ceb49de (patch) | |
tree | df38cec7242de571d94378cd736a05bc82a622c2 /style/src/theme.rs | |
parent | d988d813d77bc23147a179586206048e6cc42157 (diff) | |
download | iced-28d09bfff1dde55190986bab10d7aaeb0ceb49de.tar.gz iced-28d09bfff1dde55190986bab10d7aaeb0ceb49de.tar.bz2 iced-28d09bfff1dde55190986bab10d7aaeb0ceb49de.zip |
Implement theme styling for `Radio`
Diffstat (limited to '')
-rw-r--r-- | style/src/theme.rs | 28 |
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 + } + } +} |