1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ui/events/gesture_detection/gesture_config_helper.h"
7 #include "ui/gfx/android/view_configuration.h"
8 #include "ui/gfx/screen.h"
10 using gfx::ViewConfiguration;
14 // TODO(jdduke): Adopt GestureConfiguration on Android, crbug/339203.
16 GestureDetector::Config DefaultGestureDetectorConfig(
17 const gfx::Display& display) {
18 GestureDetector::Config config;
20 config.longpress_timeout = base::TimeDelta::FromMilliseconds(
21 ViewConfiguration::GetLongPressTimeoutInMs());
22 config.showpress_timeout =
23 base::TimeDelta::FromMilliseconds(ViewConfiguration::GetTapTimeoutInMs());
24 config.double_tap_timeout = base::TimeDelta::FromMilliseconds(
25 ViewConfiguration::GetDoubleTapTimeoutInMs());
27 const float px_to_dp = 1.f / display.device_scale_factor();
29 ViewConfiguration::GetTouchSlopInPixels() * px_to_dp;
30 config.double_tap_slop =
31 ViewConfiguration::GetDoubleTapSlopInPixels() * px_to_dp;
32 config.minimum_fling_velocity =
33 ViewConfiguration::GetMinimumFlingVelocityInPixelsPerSecond() * px_to_dp;
34 config.maximum_fling_velocity =
35 ViewConfiguration::GetMaximumFlingVelocityInPixelsPerSecond() * px_to_dp;
40 ScaleGestureDetector::Config DefaultScaleGestureDetectorConfig(
41 const gfx::Display& display) {
42 ScaleGestureDetector::Config config;
44 config.gesture_detector_config = DefaultGestureDetectorConfig(display);
45 config.quick_scale_enabled = true;
47 const float px_to_dp = 1.f / display.device_scale_factor();
48 config.min_scaling_touch_major =
49 ViewConfiguration::GetMinScalingTouchMajorInPixels() * px_to_dp;
50 config.min_scaling_span =
51 ViewConfiguration::GetMinScalingSpanInPixels() * px_to_dp;
58 GestureProvider::Config DefaultGestureProviderConfig() {
59 GestureProvider::Config config;
60 config.display = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay();
61 config.gesture_detector_config = DefaultGestureDetectorConfig(config.display);
62 config.scale_gesture_detector_config =
63 DefaultScaleGestureDetectorConfig(config.display);
64 config.gesture_begin_end_types_enabled = false;