summaryrefslogtreecommitdiffstats
path: root/native/src/widget/image.rs
diff options
context:
space:
mode:
Diffstat (limited to 'native/src/widget/image.rs')
-rw-r--r--native/src/widget/image.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/native/src/widget/image.rs b/native/src/widget/image.rs
index 81f99acb..5197d5b1 100644
--- a/native/src/widget/image.rs
+++ b/native/src/widget/image.rs
@@ -1,6 +1,6 @@
//! 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;
@@ -11,7 +11,7 @@ where
Renderer: self::Renderer<I>,
I: Clone,
{
- fn node(&self, renderer: &mut Renderer) -> Node {
+ fn node(&self, renderer: &Renderer) -> Node {
renderer.node(&self)
}
@@ -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,19 +38,20 @@ where
///
/// [`Image`]: struct.Image.html
/// [renderer]: ../../renderer/index.html
-pub trait Renderer<I> {
+pub trait Renderer<I>: 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<I>) -> Node;
/// Draws an [`Image`].
///
/// [`Image`]: struct.Image.html
- fn draw(&mut self, image: &Image<I>, layout: Layout<'_>);
+ fn draw(&mut self, image: &Image<I>, layout: Layout<'_>)
+ -> Self::Primitive;
}
impl<'a, I, Message, Renderer> From<Image<I>> for Element<'a, Message, Renderer>