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