diff options
Diffstat (limited to 'native/src/widget/radio.rs')
-rw-r--r-- | native/src/widget/radio.rs | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/native/src/widget/radio.rs b/native/src/widget/radio.rs index c6cc46ed..c4992764 100644 --- a/native/src/widget/radio.rs +++ b/native/src/widget/radio.rs @@ -51,7 +51,6 @@ pub struct Radio<'a, Message, Renderer: text::Renderer> { size: u16, spacing: u16, text_size: Option<u16>, - text_color: Option<Color>, font: Renderer::Font, style_sheet: Box<dyn StyleSheet + 'a>, } @@ -92,7 +91,6 @@ where size: Self::DEFAULT_SIZE, spacing: Self::DEFAULT_SPACING, //15 text_size: None, - text_color: None, font: Default::default(), style_sheet: Default::default(), } @@ -122,12 +120,6 @@ where self } - /// Sets the text color of the [`Radio`] button. - pub fn text_color(mut self, color: Color) -> Self { - self.text_color = Some(color); - self - } - /// Sets the text font of the [`Radio`] button. pub fn font(mut self, font: Renderer::Font) -> Self { self.font = font; @@ -231,6 +223,12 @@ where let mut children = layout.children(); + let custom_style = if is_mouse_over { + self.style_sheet.hovered() + } else { + self.style_sheet.active() + }; + { let layout = children.next().unwrap(); let bounds = layout.bounds(); @@ -238,20 +236,14 @@ where let size = bounds.width; let dot_size = size / 2.0; - let style = if is_mouse_over { - self.style_sheet.hovered() - } else { - self.style_sheet.active() - }; - renderer.fill_quad( renderer::Quad { bounds, border_radius: size / 2.0, - border_width: style.border_width, - border_color: style.border_color, + border_width: custom_style.border_width, + border_color: custom_style.border_color, }, - style.background, + custom_style.background, ); if self.is_selected { @@ -267,7 +259,7 @@ where border_width: 0.0, border_color: Color::TRANSPARENT, }, - style.dot_color, + custom_style.dot_color, ); } } @@ -282,7 +274,7 @@ where &self.label, self.font.clone(), self.text_size, - self.text_color, + custom_style.text_color, alignment::Horizontal::Left, alignment::Vertical::Center, ); |