diff options
author | 2019-10-23 04:52:51 +0200 | |
---|---|---|
committer | 2019-10-23 04:52:51 +0200 | |
commit | 4769272122e8cd0a4d666bb06c00cb27f8cad3c4 (patch) | |
tree | 68e513170347d804f55b3743f1fd960bbf700950 /native/src/widget/image.rs | |
parent | e95e656fcd780264f7a3c9a2ba3d0bd471d4894e (diff) | |
parent | 99e1a3780a1ea3ccb173d1fb4cbe889bb08b9643 (diff) | |
download | iced-4769272122e8cd0a4d666bb06c00cb27f8cad3c4.tar.gz iced-4769272122e8cd0a4d666bb06c00cb27f8cad3c4.tar.bz2 iced-4769272122e8cd0a4d666bb06c00cb27f8cad3c4.zip |
Merge pull request #22 from hecrj/basic-renderer
Basic `wgpu` renderer
Diffstat (limited to 'native/src/widget/image.rs')
-rw-r--r-- | native/src/widget/image.rs | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/native/src/widget/image.rs b/native/src/widget/image.rs index 81f99acb..6255a7b5 100644 --- a/native/src/widget/image.rs +++ b/native/src/widget/image.rs @@ -1,17 +1,16 @@ //! Display images in your user interface. -use crate::{Element, Hasher, Layout, MouseCursor, Node, Point, Widget}; +use crate::{Element, Hasher, Layout, Node, Point, Widget}; use std::hash::Hash; pub use iced_core::Image; -impl<I, Message, Renderer> Widget<Message, Renderer> for Image<I> +impl<Message, Renderer> Widget<Message, Renderer> for Image where - Renderer: self::Renderer<I>, - I: Clone, + Renderer: self::Renderer, { - fn node(&self, renderer: &mut Renderer) -> Node { + fn node(&self, renderer: &Renderer) -> Node { renderer.node(&self) } @@ -20,10 +19,8 @@ where renderer: &mut Renderer, layout: Layout<'_>, _cursor_position: Point, - ) -> MouseCursor { - renderer.draw(&self, layout); - - MouseCursor::OutOfBounds + ) -> Renderer::Output { + renderer.draw(&self, layout) } fn hash_layout(&self, state: &mut Hasher) { @@ -40,27 +37,26 @@ where /// /// [`Image`]: struct.Image.html /// [renderer]: ../../renderer/index.html -pub trait Renderer<I> { +pub trait Renderer: crate::Renderer { /// Creates a [`Node`] for the provided [`Image`]. /// /// You should probably keep the original aspect ratio, if possible. /// /// [`Node`]: ../../struct.Node.html /// [`Image`]: struct.Image.html - fn node(&mut self, image: &Image<I>) -> Node; + fn node(&self, image: &Image) -> Node; /// Draws an [`Image`]. /// /// [`Image`]: struct.Image.html - fn draw(&mut self, image: &Image<I>, layout: Layout<'_>); + fn draw(&mut self, image: &Image, layout: Layout<'_>) -> Self::Output; } -impl<'a, I, Message, Renderer> From<Image<I>> for Element<'a, Message, Renderer> +impl<'a, Message, Renderer> From<Image> for Element<'a, Message, Renderer> where - Renderer: self::Renderer<I>, - I: Clone + 'a, + Renderer: self::Renderer, { - fn from(image: Image<I>) -> Element<'a, Message, Renderer> { + fn from(image: Image) -> Element<'a, Message, Renderer> { Element::new(image) } } |