diff --git a/lib/ui/fixtures/ui_test.dart b/lib/ui/fixtures/ui_test.dart index a71149b834173..80bdb2ac92d1c 100644 --- a/lib/ui/fixtures/ui_test.dart +++ b/lib/ui/fixtures/ui_test.dart @@ -624,6 +624,8 @@ void hooksTests() async { expectEquals(window.viewConfiguration.gestureSettings, GestureSettings(physicalTouchSlop: 11.0)); + expectEquals(window.gestureSettings, + GestureSettings(physicalTouchSlop: 11.0)); _callHook( '_updateWindowMetrics', @@ -652,6 +654,8 @@ void hooksTests() async { expectEquals(window.viewConfiguration.gestureSettings, GestureSettings(physicalTouchSlop: null)); + expectEquals(window.gestureSettings, + GestureSettings(physicalTouchSlop: null)); _callHook( '_updateWindowMetrics', @@ -680,6 +684,8 @@ void hooksTests() async { expectEquals(window.viewConfiguration.gestureSettings, GestureSettings(physicalTouchSlop: 22.0)); + expectEquals(window.gestureSettings, + GestureSettings(physicalTouchSlop: 22.0)); }); await test('onLocaleChanged preserves callback zone', () { diff --git a/lib/ui/window.dart b/lib/ui/window.dart index ef4b398798b38..d5abb4972373b 100644 --- a/lib/ui/window.dart +++ b/lib/ui/window.dart @@ -226,6 +226,13 @@ class FlutterView { /// applications. ViewPadding get padding => viewConfiguration.padding; + /// Additional configuration for touch gestures performed on this view. + /// + /// For example, the touch slop defined in physical pixels may be provided + /// by the gesture settings and should be preferred over the framework + /// touch slop constant. + GestureSettings get gestureSettings => viewConfiguration.gestureSettings; + /// {@macro dart.ui.ViewConfiguration.displayFeatures} /// /// When this changes, [PlatformDispatcher.onMetricsChanged] is called. diff --git a/lib/web_ui/lib/window.dart b/lib/web_ui/lib/window.dart index 1a12a6bb9b18f..a75f1b3083985 100644 --- a/lib/web_ui/lib/window.dart +++ b/lib/web_ui/lib/window.dart @@ -15,6 +15,7 @@ abstract class FlutterView { ViewPadding get viewPadding => viewConfiguration.viewPadding; ViewPadding get systemGestureInsets => viewConfiguration.systemGestureInsets; ViewPadding get padding => viewConfiguration.padding; + GestureSettings get gestureSettings => viewConfiguration.gestureSettings; List get displayFeatures => viewConfiguration.displayFeatures; void render(Scene scene) => platformDispatcher.render(scene, this); void updateSemantics(SemanticsUpdate update) => platformDispatcher.updateSemantics(update);