diff options
author | 2020-05-26 17:15:55 -0700 | |
---|---|---|
committer | 2020-05-26 17:16:05 -0700 | |
commit | 5d045c2e9a639f8bbf43e68fde9091be702b3ab8 (patch) | |
tree | 8c5069d619654e5eb1bae9e1bc80751c672786c8 /wgpu/src/renderer/widget/image | |
parent | 431171f975642fe96286f11fb75cd5b06827cc7f (diff) | |
download | iced-5d045c2e9a639f8bbf43e68fde9091be702b3ab8.tar.gz iced-5d045c2e9a639f8bbf43e68fde9091be702b3ab8.tar.bz2 iced-5d045c2e9a639f8bbf43e68fde9091be702b3ab8.zip |
rename to image::Viewer
Diffstat (limited to 'wgpu/src/renderer/widget/image')
-rw-r--r-- | wgpu/src/renderer/widget/image/viewer.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/wgpu/src/renderer/widget/image/viewer.rs b/wgpu/src/renderer/widget/image/viewer.rs new file mode 100644 index 00000000..72e5d93b --- /dev/null +++ b/wgpu/src/renderer/widget/image/viewer.rs @@ -0,0 +1,39 @@ +use crate::{Primitive, Renderer}; +use iced_native::{image, mouse, Rectangle, Vector}; + +impl image::viewer::Renderer for Renderer { + fn draw( + &mut self, + state: &image::State, + bounds: Rectangle, + image_bounds: Rectangle, + offset: (u32, u32), + handle: image::Handle, + is_mouse_over: bool, + ) -> Self::Output { + ( + { + Primitive::Clip { + bounds, + offset: Vector::new(offset.0, offset.1), + content: Box::new(Primitive::Image { + handle, + bounds: image_bounds, + }), + } + }, + { + if state.is_cursor_clicked() { + mouse::Interaction::Grabbing + } else if is_mouse_over + && (image_bounds.width > bounds.width + || image_bounds.height > bounds.height) + { + mouse::Interaction::Grab + } else { + mouse::Interaction::Idle + } + }, + ) + } +} |