diff options
author | 2021-10-31 16:13:03 +0700 | |
---|---|---|
committer | 2021-10-31 16:14:38 +0700 | |
commit | b3a01973c6c726e6539be959659f4306ef3234c6 (patch) | |
tree | 06e6ce43b5e47eb78f2707eb2c6177a2f9af91f4 /native/src/widget/text_input.rs | |
parent | 0aafcde0ef1533c9eeba0379de8c0082e30c7504 (diff) | |
download | iced-b3a01973c6c726e6539be959659f4306ef3234c6.tar.gz iced-b3a01973c6c726e6539be959659f4306ef3234c6.tar.bz2 iced-b3a01973c6c726e6539be959659f4306ef3234c6.zip |
Introduce first-class `text` module in `iced_native`
Diffstat (limited to 'native/src/widget/text_input.rs')
-rw-r--r-- | native/src/widget/text_input.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index 5d67ddfe..a3641330 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -17,6 +17,7 @@ use crate::keyboard; use crate::layout; use crate::mouse::{self, click}; use crate::renderer; +use crate::text::{self, Text}; use crate::touch; use crate::{ Background, Clipboard, Color, Element, Hasher, Layout, Length, Padding, @@ -53,7 +54,7 @@ pub use iced_style::text_input::{Style, StyleSheet}; /// ``` ///  #[allow(missing_debug_implementations)] -pub struct TextInput<'a, Message, Renderer: renderer::Text> { +pub struct TextInput<'a, Message, Renderer: text::Renderer> { state: &'a mut State, placeholder: String, value: Value, @@ -71,7 +72,7 @@ pub struct TextInput<'a, Message, Renderer: renderer::Text> { impl<'a, Message, Renderer> TextInput<'a, Message, Renderer> where Message: Clone, - Renderer: renderer::Text, + Renderer: text::Renderer, { /// Creates a new [`TextInput`]. /// @@ -166,7 +167,7 @@ impl<'a, Message, Renderer> Widget<Message, Renderer> for TextInput<'a, Message, Renderer> where Message: Clone, - Renderer: renderer::Text, + Renderer: text::Renderer, { fn width(&self) -> Length { self.width @@ -728,7 +729,7 @@ where renderer.fill_rectangle(cursor); } - renderer.fill_text(renderer::text::Section { + renderer.fill_text(Text { content: if text.is_empty() { &self.placeholder } else { @@ -776,7 +777,7 @@ impl<'a, Message, Renderer> From<TextInput<'a, Message, Renderer>> for Element<'a, Message, Renderer> where Message: 'a + Clone, - Renderer: 'a + renderer::Text, + Renderer: 'a + text::Renderer, { fn from( text_input: TextInput<'a, Message, Renderer>, @@ -877,7 +878,7 @@ fn offset<Renderer>( state: &State, ) -> f32 where - Renderer: renderer::Text, + Renderer: text::Renderer, { if state.is_focused() { let cursor = state.cursor(); @@ -911,7 +912,7 @@ fn measure_cursor_and_scroll_offset<Renderer>( font: Renderer::Font, ) -> (f32, f32) where - Renderer: renderer::Text, + Renderer: text::Renderer, { let text_before_cursor = value.until(cursor_index).to_string(); @@ -935,7 +936,7 @@ fn find_cursor_position<Renderer>( x: f32, ) -> Option<usize> where - Renderer: renderer::Text, + Renderer: text::Renderer, { let size = size.unwrap_or(renderer.default_size()); @@ -950,5 +951,5 @@ where Point::new(x + offset, text_bounds.height / 2.0), true, ) - .map(renderer::text::Hit::cursor) + .map(text::Hit::cursor) } |