gesture_config_helper_android.cc revision c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c
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.
4
5#include "ui/events/gesture_detection/gesture_config_helper.h"
6
7#include "ui/gfx/android/view_configuration.h"
8#include "ui/gfx/screen.h"
9
10using gfx::ViewConfiguration;
11
12namespace ui {
13
14// TODO(jdduke): Adopt GestureConfiguration on Android, crbug/339203.
15
16GestureDetector::Config DefaultGestureDetectorConfig() {
17  GestureDetector::Config config;
18
19  config.longpress_timeout = base::TimeDelta::FromMilliseconds(
20      ViewConfiguration::GetLongPressTimeoutInMs());
21  config.showpress_timeout = base::TimeDelta::FromMilliseconds(
22      ViewConfiguration::GetTapTimeoutInMs());
23  config.double_tap_timeout = base::TimeDelta::FromMilliseconds(
24      ViewConfiguration::GetDoubleTapTimeoutInMs());
25
26  config.scaled_touch_slop = ViewConfiguration::GetTouchSlopInPixels();
27  config.scaled_double_tap_slop = ViewConfiguration::GetDoubleTapSlopInPixels();
28  config.scaled_minimum_fling_velocity =
29      ViewConfiguration::GetMinimumFlingVelocityInPixelsPerSecond();
30  config.scaled_maximum_fling_velocity =
31      ViewConfiguration::GetMaximumFlingVelocityInPixelsPerSecond();
32
33  return config;
34}
35
36ScaleGestureDetector::Config DefaultScaleGestureDetectorConfig() {
37  ScaleGestureDetector::Config config;
38
39  config.gesture_detector_config = DefaultGestureDetectorConfig();
40  config.quick_scale_enabled = true;
41  config.min_scaling_touch_major =
42      ViewConfiguration::GetMinScalingTouchMajorInPixels();
43  config.min_scaling_span = ViewConfiguration::GetMinScalingSpanInPixels();
44
45  return config;
46}
47
48SnapScrollController::Config DefaultSnapScrollControllerConfig() {
49  SnapScrollController::Config config;
50
51  const gfx::Display& display =
52      gfx::Screen::GetNativeScreen()->GetPrimaryDisplay();
53
54  config.screen_width_pixels = display.GetSizeInPixel().width();
55  config.screen_height_pixels = display.GetSizeInPixel().height();
56  config.device_scale_factor = display.device_scale_factor();
57
58  return config;
59}
60
61GestureProvider::Config DefaultGestureProviderConfig() {
62  GestureProvider::Config config;
63  config.gesture_detector_config = DefaultGestureDetectorConfig();
64  config.scale_gesture_detector_config = DefaultScaleGestureDetectorConfig();
65  config.snap_scroll_controller_config = DefaultSnapScrollControllerConfig();
66  config.gesture_begin_end_types_enabled = false;
67  return config;
68}
69
70}  // namespace ui
71