-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Add option scroll_zooms for mouse wheel to zoom instead of scroll inside a Scene container
#7666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Added feature to allow mousewheel scroll input to zoom a scene rather than pan it (i.e. for an image viewer or other application). This addresses Issue emilk#7650
Fixed compilation errors.
Fixed compiler error
Adding horizontal and vertical scroll
Included scroll zoom speed
|
Preview available at https://egui-pr-preview.github.io/pr/7666-patch-1 View snapshot changes at kitdiff |
scrolling_zooms for mouse wheel to zoom instead of scroll inside a Scene container
scrolling_zooms for mouse wheel to zoom instead of scroll inside a Scene containerscrolling_zooms for mouse wheel to zoom instead of scroll inside a Scene container
|
All tests passing. Took a number of additional setup steps (install pngcrush, set options.threshold(OsThreshold::new(0.0).windows(2.1)) for the Bézier Curve demo) to get them working in Windows. |
Fixed compilation errors. Update scene.rs Fixed compiler error Update scene.rs Adding horizontal and vertical scroll
Included scroll zoom speed
trying to fix scroll_zoom_speed Trying to fix scroll_zoom_speed This should fix it
lucasmerlin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. But I think the name is confusing, maybe rename it to just scroll_zoom?
Also, please add a setting to the scene demo, so we have some way to easily test this.
Scrolling zooms
Merge typo fixes and adding example to demo app
Merge fixes
scrolling_zooms for mouse wheel to zoom instead of scroll inside a Scene containerscroll_zooms for mouse wheel to zoom instead of scroll inside a Scene container
|
@lucasmerlin rebased to resolve the merge conflicts. Added example to the demo and changed the flag name to scroll_zooms |
egui::Scene#7650This feature allows building image viewers and similar applications using a Scene container where the desired mouse wheel input without a modifier is to zoom rather than scroll/pan.
Alternatives considered:
Doesn't work because Modifiers:NONE never matches to anything (and therefore disables mouse wheel zoom globally.
Refactoring this to provide a different option per container is a large amount of work and does not seem to be a use case that is likely to be used outside of Scene
The logic used inside Scene to achieve this is fairly simple and only adds one extra dependency on input_options.scroll_zoom_speed to ensure that the zoom speed setting change is consistent across the application
tested as part of my application
run ./scripts/check.sh