summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-01-11 19:31:34 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-01-11 19:31:34 +0100
commitc7f6b2a5c7778cdbd39e327bfac196014140902c (patch)
treee28f47637d41ea4181050b4c5199cc31fd725fb5
parente7344d03b467e87b3e50fa8d7ecd74994b46a4e6 (diff)
downloadiced-c7f6b2a5c7778cdbd39e327bfac196014140902c.tar.gz
iced-c7f6b2a5c7778cdbd39e327bfac196014140902c.tar.bz2
iced-c7f6b2a5c7778cdbd39e327bfac196014140902c.zip
Capture relevant events in `image::Viewer`
-rw-r--r--native/src/widget/image/viewer.rs20
1 files changed, 15 insertions, 5 deletions
diff --git a/native/src/widget/image/viewer.rs b/native/src/widget/image/viewer.rs
index 4ec3faf6..5f0dda4e 100644
--- a/native/src/widget/image/viewer.rs
+++ b/native/src/widget/image/viewer.rs
@@ -209,15 +209,23 @@ where
}
}
}
+
+ event::Status::Captured
}
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left))
if is_mouse_over =>
{
self.state.cursor_grabbed_at = Some(cursor_position);
self.state.starting_offset = self.state.current_offset;
+
+ event::Status::Captured
}
- Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) => {
- self.state.cursor_grabbed_at = None
+ Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left))
+ if self.state.cursor_grabbed_at.is_some() =>
+ {
+ self.state.cursor_grabbed_at = None;
+
+ event::Status::Captured
}
Event::Mouse(mouse::Event::CursorMoved { position }) => {
if let Some(origin) = self.state.cursor_grabbed_at {
@@ -251,12 +259,14 @@ where
};
self.state.current_offset = Vector::new(x, y);
+
+ event::Status::Captured
+ } else {
+ event::Status::Ignored
}
}
- _ => {}
+ _ => event::Status::Ignored,
}
-
- event::Status::Ignored
}
fn draw(