summaryrefslogtreecommitdiffstats
path: root/native/src/widget/checkbox.rs
diff options
context:
space:
mode:
Diffstat (limited to 'native/src/widget/checkbox.rs')
-rw-r--r--native/src/widget/checkbox.rs40
1 files changed, 18 insertions, 22 deletions
diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs
index f6298a8c..9b69e574 100644
--- a/native/src/widget/checkbox.rs
+++ b/native/src/widget/checkbox.rs
@@ -8,21 +8,21 @@ use crate::text;
use crate::touch;
use crate::widget::{self, Row, Text, Tree};
use crate::{
- Alignment, Clipboard, Element, Layout, Length, Point, Rectangle, Shell,
- Widget,
+ Alignment, Clipboard, Element, Layout, Length, Pixels, Point, Rectangle,
+ Shell, Widget,
};
pub use iced_style::checkbox::{Appearance, StyleSheet};
/// The icon in a [`Checkbox`].
-#[derive(Debug, Clone, PartialEq, Eq)]
+#[derive(Debug, Clone, PartialEq)]
pub struct Icon<Font> {
/// Font that will be used to display the `code_point`,
pub font: Font,
/// The unicode code point that will be used as the icon.
pub code_point: char,
/// Font size of the content.
- pub size: Option<u16>,
+ pub size: Option<f32>,
}
/// A box that can be checked.
@@ -52,9 +52,9 @@ where
on_toggle: Box<dyn Fn(bool) -> Message + 'a>,
label: String,
width: Length,
- size: u16,
- spacing: u16,
- text_size: Option<u16>,
+ size: f32,
+ spacing: f32,
+ text_size: Option<f32>,
font: Renderer::Font,
icon: Icon<Renderer::Font>,
style: <Renderer::Theme as StyleSheet>::Style,
@@ -66,10 +66,10 @@ where
Renderer::Theme: StyleSheet + widget::text::StyleSheet,
{
/// The default size of a [`Checkbox`].
- const DEFAULT_SIZE: u16 = 20;
+ const DEFAULT_SIZE: f32 = 20.0;
/// The default spacing of a [`Checkbox`].
- const DEFAULT_SPACING: u16 = 15;
+ const DEFAULT_SPACING: f32 = 15.0;
/// Creates a new [`Checkbox`].
///
@@ -102,26 +102,26 @@ where
}
/// Sets the size of the [`Checkbox`].
- pub fn size(mut self, size: u16) -> Self {
- self.size = size;
+ pub fn size(mut self, size: impl Into<Pixels>) -> Self {
+ self.size = size.into().0;
self
}
/// Sets the width of the [`Checkbox`].
- pub fn width(mut self, width: Length) -> Self {
- self.width = width;
+ pub fn width(mut self, width: impl Into<Length>) -> Self {
+ self.width = width.into();
self
}
/// Sets the spacing between the [`Checkbox`] and the text.
- pub fn spacing(mut self, spacing: u16) -> Self {
- self.spacing = spacing;
+ pub fn spacing(mut self, spacing: impl Into<Pixels>) -> Self {
+ self.spacing = spacing.into().0;
self
}
/// Sets the text size of the [`Checkbox`].
- pub fn text_size(mut self, text_size: u16) -> Self {
- self.text_size = Some(text_size);
+ pub fn text_size(mut self, text_size: impl Into<Pixels>) -> Self {
+ self.text_size = Some(text_size.into().0);
self
}
@@ -172,11 +172,7 @@ where
.width(self.width)
.spacing(self.spacing)
.align_items(Alignment::Center)
- .push(
- Row::new()
- .width(Length::Units(self.size))
- .height(Length::Units(self.size)),
- )
+ .push(Row::new().width(self.size).height(self.size))
.push(
Text::new(&self.label)
.font(self.font.clone())