Skip to content
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

Add engine support for scrollwheel events #7494

Merged
merged 12 commits into from
Mar 5, 2019

Conversation

stuartmorgan
Copy link
Contributor

Adds support for pointer gestures, in a way that will support both discrete events (e.g., scroll wheels, flutter/flutter#22762) and continuous gestures (e.g., trackpad scroll, flutter/flutter#21953). It's also extensible for other kinds of gestures (pinch, swipe, etc.)

Also exposes these new options to the embedder.

lib/ui/pointer.dart Outdated Show resolved Hide resolved
@stuartmorgan stuartmorgan changed the title Scrollwheel Add engine support for scrollwheel events Feb 12, 2019
@stuartmorgan
Copy link
Contributor Author

Renamed the new fields to use "signal" instead of "gesture" per feedback on flutter/flutter#22762

@@ -228,7 +258,9 @@ class PointerData {
'radiusMax: $radiusMax, '
'orientation: $orientation, '
'tilt: $tilt, '
'platformData: $platformData'
'platformData: $platformData, '
'scrollDeltaX: $scrollDeltaX, '
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is physicalX set to when scrollDeltaX is non null / nonzero?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm, i see, that's where the point is.

Will any future signals involve more than two linear dimensions?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would expect swipe to use these fields; pinch zoom and rotate would need different fields.

@stuartmorgan stuartmorgan requested a review from Hixie February 26, 2019 00:44
@stuartmorgan
Copy link
Contributor Author

@Hixie Let me know if anyone else should review this as well.

@Hixie
Copy link
Contributor

Hixie commented Mar 4, 2019

design seems reasonable; i'll defer to @jason-simmons or someone else on the engine team for detailed review

@krisgiesing
Copy link
Contributor

Thanks @Hixie. @jason-simmons if there's anything Stuart or I can do to move this along, let us know. We're eagerly awaiting the land of this change :)

@jason-simmons
Copy link
Member

LGTM

@chinmaygarde

@stuartmorgan stuartmorgan merged commit dd80fc9 into flutter:master Mar 5, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2019
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Mar 6, 2019
flutter/engine@f4951df...471a2c8

git log f4951df..471a2c8 --no-merges --oneline
471a2c8 Send scroll events from the macOS shell (flutter/engine#8056)
2fe9c9b Roll src/third_party/skia 72542816cadb..801a9c16d81e (46 commits) (flutter/engine#8060)
3335764 Skip skp files in license check (flutter/engine#8050)
7f16789 Remove redundant thread checker in FML. (flutter/engine#8053)
840c523 Correct URL for Cirrus CI build status badge (flutter/engine#8054)
57c120a remove extra source files (flutter/engine#8052)
4773375 Used named conditionals for platform specific dependencies and suppress Android and Windows hooks on Mac. (flutter/engine#8051)
70a18b5 Add clang static analysis support to gn wrapper (flutter/engine#8047)
b30f989 Improve elevation bounds for physical shape layers (flutter/engine#8044)
e37bd27 Fix weak pointer use violations in shell and platform view. (flutter/engine#8046)
dd80fc9 Add engine support for scrollwheel events (flutter/engine#7494)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop
the roller if necessary.
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2019
GaryQian added a commit to flutter/flutter that referenced this pull request Mar 8, 2019
…ine (19 commits) (#28688)

git log --oneline --no-merges f4951df..a48cd16
a48cd16 Update a11y word forward/back enum names (flutter/engine#8073)
b5f59ed Delay the vsync callback till the frame start time specified by embedder. (flutter/engine#8072)
7426305 Mark const extern (flutter/engine#8077)
d3f6d7a only partial rule revert (flutter/engine#8078)
d71bfe5 Only build a full Dart SDK when building for the host system (flutter/engine#8071)
de90dbf Refactor web configuration/ Add dartdevc (flutter/engine#7978)
ff46dd3 Roll src/third_party/skia 4c1ea43a79b5..88b8d1124b72 (8 commits) (flutter/engine#8070)
80c6dd2 Roll src/third_party/skia 692122e3ef23..4c1ea43a79b5 (3 commits) (flutter/engine#8069)
68ed654 Roll src/third_party/skia 3c957d575c58..692122e3ef23 (6 commits) (flutter/engine#8067)
ca0bac4 Revert "add signal to pointer kinds" (flutter/engine#8066)
3fb627f add signal to pointer kinds (flutter/engine#8065)
5a06afa Roll src/third_party/skia 801a9c16d81e..3c957d575c58 (19 commits) (flutter/engine#8063)
a93d99d A11y callback (flutter/engine#8005)
3661d5e Re-land "Buffer lifecycle in WindowData" (flutter/engine#8032)
471a2c8 Send scroll events from the macOS shell (flutter/engine#8056)
2fe9c9b Roll src/third_party/skia 72542816cadb..801a9c16d81e (46 commits) (flutter/engine#8060)
3335764 Skip skp files in license check (flutter/engine#8050)
7f16789 Remove redundant thread checker in FML. (flutter/engine#8053)
840c523 Correct URL for Cirrus CI build status badge (flutter/engine#8054)
57c120a remove extra source files (flutter/engine#8052)
4773375 Used named conditionals for platform specific dependencies and suppress Android and Windows hooks on Mac. (flutter/engine#8051)
70a18b5 Add clang static analysis support to gn wrapper (flutter/engine#8047)
b30f989 Improve elevation bounds for physical shape layers (flutter/engine#8044)
e37bd27 Fix weak pointer use violations in shell and platform view. (flutter/engine#8046)
dd80fc9 Add engine support for scrollwheel events (flutter/engine#7494)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants