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.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 '')
-rw-r--r-- | native/src/widget/text.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/native/src/widget/text.rs b/native/src/widget/text.rs index 563ab8c4..79688b28 100644 --- a/native/src/widget/text.rs +++ b/native/src/widget/text.rs @@ -2,12 +2,11 @@ use crate::alignment; use crate::layout; use crate::renderer; +use crate::text; use crate::{ Color, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget, }; -pub use iced_core::text::Hit; - use std::hash::Hash; /// A paragraph of text. @@ -24,7 +23,7 @@ use std::hash::Hash; /// ///  #[derive(Debug)] -pub struct Text<Renderer: renderer::Text> { +pub struct Text<Renderer: text::Renderer> { content: String, size: Option<u16>, color: Option<Color>, @@ -35,7 +34,7 @@ pub struct Text<Renderer: renderer::Text> { vertical_alignment: alignment::Vertical, } -impl<Renderer: renderer::Text> Text<Renderer> { +impl<Renderer: text::Renderer> Text<Renderer> { /// Create a new fragment of [`Text`] with the given contents. pub fn new<T: Into<String>>(label: T) -> Self { Text { @@ -103,7 +102,7 @@ impl<Renderer: renderer::Text> Text<Renderer> { impl<Message, Renderer> Widget<Message, Renderer> for Text<Renderer> where - Renderer: renderer::Text, + Renderer: text::Renderer, { fn width(&self) -> Length { self.width @@ -175,7 +174,7 @@ pub fn draw<Renderer>( horizontal_alignment: alignment::Horizontal, vertical_alignment: alignment::Vertical, ) where - Renderer: renderer::Text, + Renderer: text::Renderer, { let bounds = layout.bounds(); @@ -191,7 +190,7 @@ pub fn draw<Renderer>( alignment::Vertical::Bottom => bounds.y + bounds.height, }; - renderer.fill_text(renderer::text::Section { + renderer.fill_text(crate::text::Text { content, size: f32::from(size.unwrap_or(renderer.default_size())), bounds: Rectangle { x, y, ..bounds }, @@ -205,14 +204,14 @@ pub fn draw<Renderer>( impl<'a, Message, Renderer> From<Text<Renderer>> for Element<'a, Message, Renderer> where - Renderer: renderer::Text + 'a, + Renderer: text::Renderer + 'a, { fn from(text: Text<Renderer>) -> Element<'a, Message, Renderer> { Element::new(text) } } -impl<Renderer: renderer::Text> Clone for Text<Renderer> { +impl<Renderer: text::Renderer> Clone for Text<Renderer> { fn clone(&self) -> Self { Self { content: self.content.clone(), |