summaryrefslogtreecommitdiffstats
path: root/native/src/widget/text.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-10-05 03:56:18 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-10-05 03:56:18 +0200
commita7d11944039a1b5ea5b72256e8d15367d99e6010 (patch)
tree0b90246e3bec0bb28a9a67b9c62af4bf7602cbc6 /native/src/widget/text.rs
parent5204cc8c8bc8361a11815d7c711b7da10a6ca8e5 (diff)
downloadiced-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.rs12
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>