diff options
author | 2019-10-05 03:56:18 +0200 | |
---|---|---|
committer | 2019-10-05 03:56:18 +0200 | |
commit | a7d11944039a1b5ea5b72256e8d15367d99e6010 (patch) | |
tree | 0b90246e3bec0bb28a9a67b9c62af4bf7602cbc6 /native/src/widget/text.rs | |
parent | 5204cc8c8bc8361a11815d7c711b7da10a6ca8e5 (diff) | |
download | iced-a7d11944039a1b5ea5b72256e8d15367d99e6010.tar.gz iced-a7d11944039a1b5ea5b72256e8d15367d99e6010.tar.bz2 iced-a7d11944039a1b5ea5b72256e8d15367d99e6010.zip |
Add `Renderer` and `Primitive` concepts
Diffstat (limited to '')
-rw-r--r-- | native/src/widget/text.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/native/src/widget/text.rs b/native/src/widget/text.rs index 5ca6ebf3..a032b4fc 100644 --- a/native/src/widget/text.rs +++ b/native/src/widget/text.rs @@ -1,5 +1,5 @@ //! Write some text for your users to read. -use crate::{Element, Hasher, Layout, MouseCursor, Node, Point, Widget}; +use crate::{Element, Hasher, Layout, Node, Point, Widget}; use std::hash::Hash; @@ -18,10 +18,8 @@ where renderer: &mut Renderer, layout: Layout<'_>, _cursor_position: Point, - ) -> MouseCursor { - renderer.draw(&self, layout); - - MouseCursor::OutOfBounds + ) -> Renderer::Primitive { + renderer.draw(&self, layout) } fn hash_layout(&self, state: &mut Hasher) { @@ -40,7 +38,7 @@ where /// [`Text`]: struct.Text.html /// [renderer]: ../../renderer/index.html /// [`UserInterface`]: ../../struct.UserInterface.html -pub trait Renderer { +pub trait Renderer: crate::Renderer { /// Creates a [`Node`] with the given [`Style`] for the provided [`Text`] /// contents and size. /// @@ -66,7 +64,7 @@ pub trait Renderer { /// [`Text`]: struct.Text.html /// [`HorizontalAlignment`]: enum.HorizontalAlignment.html /// [`VerticalAlignment`]: enum.VerticalAlignment.html - fn draw(&mut self, text: &Text, layout: Layout<'_>); + fn draw(&mut self, text: &Text, layout: Layout<'_>) -> Self::Primitive; } impl<'a, Message, Renderer> From<Text> for Element<'a, Message, Renderer> |