diff options
Diffstat (limited to 'native/src/widget')
| -rw-r--r-- | native/src/widget/checkbox.rs | 14 | ||||
| -rw-r--r-- | native/src/widget/pick_list.rs | 2 | ||||
| -rw-r--r-- | native/src/widget/radio.rs | 26 | 
3 files changed, 33 insertions, 9 deletions
diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs index 6ce2e973..0f21c873 100644 --- a/native/src/widget/checkbox.rs +++ b/native/src/widget/checkbox.rs @@ -8,8 +8,8 @@ use crate::row;  use crate::text;  use crate::touch;  use crate::{ -    Align, Clipboard, Element, Hasher, HorizontalAlignment, Layout, Length, -    Point, Rectangle, Row, Text, VerticalAlignment, Widget, +    Align, Clipboard, Color, Element, Hasher, HorizontalAlignment, Layout, +    Length, Point, Rectangle, Row, Text, VerticalAlignment, Widget,  };  /// A box that can be checked. @@ -39,6 +39,7 @@ pub struct Checkbox<Message, Renderer: self::Renderer + text::Renderer> {      spacing: u16,      text_size: Option<u16>,      font: Renderer::Font, +    text_color: Option<Color>,      style: Renderer::Style,  } @@ -66,6 +67,7 @@ impl<Message, Renderer: self::Renderer + text::Renderer>              spacing: Renderer::DEFAULT_SPACING,              text_size: None,              font: Renderer::Font::default(), +            text_color: None,              style: Renderer::Style::default(),          }      } @@ -102,6 +104,12 @@ impl<Message, Renderer: self::Renderer + text::Renderer>          self      } +    /// Sets the text color of the [`Checkbox`] button. +    pub fn text_color(mut self, color: Color) -> Self { +        self.text_color = Some(color); +        self +    } +      /// Sets the style of the [`Checkbox`].      pub fn style(mut self, style: impl Into<Renderer::Style>) -> Self {          self.style = style.into(); @@ -193,7 +201,7 @@ where              &self.label,              self.text_size.unwrap_or(renderer.default_size()),              self.font, -            None, +            self.text_color,              HorizontalAlignment::Left,              VerticalAlignment::Center,          ); diff --git a/native/src/widget/pick_list.rs b/native/src/widget/pick_list.rs index 046d5779..b17d93a3 100644 --- a/native/src/widget/pick_list.rs +++ b/native/src/widget/pick_list.rs @@ -163,7 +163,7 @@ where                          let (width, _) = renderer.measure(                              &label,                              text_size, -                            Renderer::Font::default(), +                            self.font,                              Size::new(f32::INFINITY, f32::INFINITY),                          ); diff --git a/native/src/widget/radio.rs b/native/src/widget/radio.rs index 9482a9b1..dee82d1f 100644 --- a/native/src/widget/radio.rs +++ b/native/src/widget/radio.rs @@ -1,17 +1,17 @@  //! Create choices using radio buttons. +use std::hash::Hash; +  use crate::event::{self, Event}; -use crate::layout;  use crate::mouse;  use crate::row;  use crate::text;  use crate::touch; +use crate::{layout, Color};  use crate::{      Align, Clipboard, Element, Hasher, HorizontalAlignment, Layout, Length,      Point, Rectangle, Row, Text, VerticalAlignment, Widget,  }; -use std::hash::Hash; -  /// A circular button representing a choice.  ///  /// # Example @@ -47,6 +47,8 @@ pub struct Radio<Message, Renderer: self::Renderer + text::Renderer> {      size: u16,      spacing: u16,      text_size: Option<u16>, +    text_color: Option<Color>, +    font: Renderer::Font,      style: Renderer::Style,  } @@ -81,6 +83,8 @@ where              size: <Renderer as self::Renderer>::DEFAULT_SIZE,              spacing: Renderer::DEFAULT_SPACING, //15              text_size: None, +            text_color: None, +            font: Default::default(),              style: Renderer::Style::default(),          }      } @@ -109,6 +113,18 @@ 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; +        self +    } +      /// Sets the style of the [`Radio`] button.      pub fn style(mut self, style: impl Into<Renderer::Style>) -> Self {          self.style = style.into(); @@ -196,8 +212,8 @@ where              label_layout.bounds(),              &self.label,              self.text_size.unwrap_or(renderer.default_size()), -            Default::default(), -            None, +            self.font, +            self.text_color,              HorizontalAlignment::Left,              VerticalAlignment::Center,          );  | 
