Add 'reverse' option to wheel gesture #660
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a
reverse
option to the wheel gesture, which inverts the direction of wheel scrolling. A few years ago, a similar PR #171 has been closed with the reason that the inversion could easily be done in userland.In my scenario, I'm using multiple gestures (drag, pinch-to-zoom, and wheel) to navigate around a canvas element, and I'm using the
from
andbounds
properties to limit the canvas movement. This led to some complications when I tried to invert the direction of the wheel scroll. Without having thereverse
option, it would require a complex bounds calculation which would be the inverse of the bounds which I'm already calculating for thedrag
gesture. This was my first approach, however I ran into some weird behaviour which is was not able to easily fix.The
reverse
option that is introduced by this PR allows developers in the invert the wheel gesture, while allowing to use the samebounds
calculation that is used by thedrag
gesture. This will make it easier for developers that wish to implement drag and wheel gesture behaviour similar to something like excalidraw.com.