diff options
-rw-r--r-- | native/src/widget/checkbox.rs | 14 | ||||
-rw-r--r-- | native/src/widget/text_input.rs | 5 |
2 files changed, 18 insertions, 1 deletions
diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs index 44962288..99178aae 100644 --- a/native/src/widget/checkbox.rs +++ b/native/src/widget/checkbox.rs @@ -33,6 +33,7 @@ pub struct Checkbox<Message, Renderer: self::Renderer + text::Renderer> { size: u16, spacing: u16, text_size: Option<u16>, + font: Renderer::Font, style: Renderer::Style, } @@ -61,6 +62,7 @@ impl<Message, Renderer: self::Renderer + text::Renderer> size: <Renderer as self::Renderer>::DEFAULT_SIZE, spacing: Renderer::DEFAULT_SPACING, text_size: None, + font: Renderer::Font::default(), style: Renderer::Style::default(), } } @@ -97,6 +99,15 @@ impl<Message, Renderer: self::Renderer + text::Renderer> self } + /// Sets the [`Font`] of the text of the [`Checkbox`]. + /// + /// [`Checkbox`]: struct.Checkbox.html + /// [`Font`]: ../../struct.Font.html + pub fn font(mut self, font: Renderer::Font) -> Self { + self.font = font; + self + } + /// Sets the style of the [`Checkbox`]. /// /// [`Checkbox`]: struct.Checkbox.html @@ -135,6 +146,7 @@ where ) .push( Text::new(&self.label) + .font(self.font) .width(self.width) .size(self.text_size.unwrap_or(renderer.default_size())), ) @@ -182,7 +194,7 @@ where label_layout.bounds(), &self.label, self.text_size.unwrap_or(renderer.default_size()), - Default::default(), + self.font, None, HorizontalAlignment::Left, VerticalAlignment::Center, diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index 8c226d3d..9e15f4be 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -468,6 +468,11 @@ where self.state.cursor.select_all(&self.value); } } + keyboard::KeyCode::Escape => { + self.state.is_focused = false; + self.state.is_dragging = false; + self.state.is_pasting = None; + } _ => {} }, Event::Keyboard(keyboard::Event::KeyReleased { |