From a7d11944039a1b5ea5b72256e8d15367d99e6010 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sat, 5 Oct 2019 03:56:18 +0200 Subject: Add `Renderer` and `Primitive` concepts --- native/src/widget/image.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'native/src/widget/image.rs') diff --git a/native/src/widget/image.rs b/native/src/widget/image.rs index 81f99acb..5b224158 100644 --- a/native/src/widget/image.rs +++ b/native/src/widget/image.rs @@ -20,10 +20,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 /// /// [`Image`]: struct.Image.html /// [renderer]: ../../renderer/index.html -pub trait Renderer { +pub trait Renderer: crate::Renderer { /// Creates a [`Node`] for the provided [`Image`]. /// /// You should probably keep the original aspect ratio, if possible. @@ -52,7 +50,8 @@ pub trait Renderer { /// Draws an [`Image`]. /// /// [`Image`]: struct.Image.html - fn draw(&mut self, image: &Image, layout: Layout<'_>); + fn draw(&mut self, image: &Image, layout: Layout<'_>) + -> Self::Primitive; } impl<'a, I, Message, Renderer> From> for Element<'a, Message, Renderer> -- cgit