summaryrefslogtreecommitdiffstats
path: root/widget/src/image/viewer.rs
diff options
context:
space:
mode:
authorLibravatar gigas002 <gigas002@pm.me>2024-05-08 19:16:06 +0900
committerLibravatar gigas002 <gigas002@pm.me>2024-05-08 19:16:06 +0900
commit477887b3870aa5fbdab96c3a06f3b930462d7842 (patch)
tree2b3272bb178f8757169511966589fe6a106733f4 /widget/src/image/viewer.rs
parent0ebe0629cef37aee5c48b9409fc36618a3a3e60d (diff)
parente07b42ac96b8d098a883c93afe828a439f479c7b (diff)
downloadiced-477887b3870aa5fbdab96c3a06f3b930462d7842.tar.gz
iced-477887b3870aa5fbdab96c3a06f3b930462d7842.tar.bz2
iced-477887b3870aa5fbdab96c3a06f3b930462d7842.zip
Merge branch 'master' of https://github.com/iced-rs/iced into iced-rs-master
Diffstat (limited to 'widget/src/image/viewer.rs')
-rw-r--r--widget/src/image/viewer.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/widget/src/image/viewer.rs b/widget/src/image/viewer.rs
index e57857c1..03a9d895 100644
--- a/widget/src/image/viewer.rs
+++ b/widget/src/image/viewer.rs
@@ -6,12 +6,10 @@ use crate::core::mouse;
use crate::core::renderer;
use crate::core::widget::tree::{self, Tree};
use crate::core::{
- Clipboard, ContentFit, Element, Layout, Length, Pixels, Point, Rectangle,
+ Clipboard, ContentFit, Element, Layout, Length, Pixels, Point, Radians, Rectangle,
Shell, Size, Vector, Widget,
};
-use std::hash::Hash;
-
/// A frame that displays an image with the ability to zoom in/out and pan.
#[allow(missing_debug_implementations)]
pub struct Viewer<Handle> {
@@ -102,7 +100,7 @@ impl<Message, Theme, Renderer, Handle> Widget<Message, Theme, Renderer>
for Viewer<Handle>
where
Renderer: image::Renderer<Handle = Handle>,
- Handle: Clone + Hash,
+ Handle: Clone,
{
fn tag(&self) -> tree::Tag {
tree::Tag::of::<State>()
@@ -222,7 +220,7 @@ where
event::Status::Captured
}
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => {
- let Some(cursor_position) = cursor.position() else {
+ let Some(cursor_position) = cursor.position_over(bounds) else {
return event::Status::Ignored;
};
@@ -308,7 +306,7 @@ where
} else if is_mouse_over {
mouse::Interaction::Grab
} else {
- mouse::Interaction::Idle
+ mouse::Interaction::None
}
}
@@ -354,6 +352,8 @@ where
self.handle.clone(),
self.filter_method,
drawing_bounds,
+ Radians(0.0),
+ 1.0,
);
});
};
@@ -414,7 +414,7 @@ impl<'a, Message, Theme, Renderer, Handle> From<Viewer<Handle>>
where
Renderer: 'a + image::Renderer<Handle = Handle>,
Message: 'a,
- Handle: Clone + Hash + 'a,
+ Handle: Clone + 'a,
{
fn from(viewer: Viewer<Handle>) -> Element<'a, Message, Theme, Renderer> {
Element::new(viewer)