aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2024-01-19 19:25:03 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2024-01-19 19:25:03 +0100
commit1c5233b185e52d42c7878ac8b6cf046a5bb54a09 (patch)
tree56bcb7e0cf9fb921fe97e539f7334d691a50a766 /src/main.rs
parent52e4dfc10616accaa6e4dcdbfc4a706e94dbcdc9 (diff)
add zooming
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 534d634..bbd54b8 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -289,6 +289,23 @@ impl canvas::Program<Message, Renderer> for Graph {
if let canvas::Event::Mouse(mouse::Event::ButtonReleased(_)) = event {
state.interaction = Interaction::Pointer;
}
+
+ if let canvas::Event::Mouse(mouse::Event::WheelScrolled { delta }) = event {
+ match delta {
+ mouse::ScrollDelta::Lines { y, .. } => {
+ if y > 0.0 {
+ state.scale /= 1.1;
+ } else {
+ state.scale *= 1.1;
+ }
+ state.scale = state.scale.max(0.000001);
+ println!("SCALE: {}", state.scale);
+ return (event::Status::Captured, Some(Message::UpdateScreen))
+ },
+ _ => {
+ }
+ }
+ }
(event::Status::Ignored, None)
}