diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 17 |
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) } |