OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
| 5 // MSVC++ requires this to be set before any other includes to get M_PI. |
| 6 #define _USE_MATH_DEFINES |
| 7 |
5 #include "ui/events/gesture_detection/gesture_config_helper.h" | 8 #include "ui/events/gesture_detection/gesture_config_helper.h" |
6 | 9 |
| 10 #include <cmath> |
| 11 |
7 #include "ui/events/gestures/gesture_configuration.h" | 12 #include "ui/events/gestures/gesture_configuration.h" |
8 #include "ui/gfx/screen.h" | 13 #include "ui/gfx/screen.h" |
9 | 14 |
10 namespace ui { | 15 namespace ui { |
11 namespace { | 16 namespace { |
12 | 17 |
13 GestureDetector::Config DefaultGestureDetectorConfig() { | 18 GestureDetector::Config DefaultGestureDetectorConfig() { |
14 GestureDetector::Config config; | 19 GestureDetector::Config config; |
15 | 20 |
16 config.longpress_timeout = base::TimeDelta::FromMilliseconds( | 21 config.longpress_timeout = base::TimeDelta::FromMilliseconds( |
17 GestureConfiguration::long_press_time_in_seconds() * 1000.); | 22 GestureConfiguration::long_press_time_in_seconds() * 1000.); |
18 config.showpress_timeout = base::TimeDelta::FromMilliseconds( | 23 config.showpress_timeout = base::TimeDelta::FromMilliseconds( |
19 GestureConfiguration::show_press_delay_in_ms()); | 24 GestureConfiguration::show_press_delay_in_ms()); |
20 config.double_tap_timeout = base::TimeDelta::FromMilliseconds( | 25 config.double_tap_timeout = base::TimeDelta::FromMilliseconds( |
21 GestureConfiguration::semi_long_press_time_in_seconds() * 1000.); | 26 GestureConfiguration::semi_long_press_time_in_seconds() * 1000.); |
22 config.touch_slop = | 27 config.touch_slop = |
23 GestureConfiguration::max_touch_move_in_pixels_for_click(); | 28 GestureConfiguration::max_touch_move_in_pixels_for_click(); |
24 config.double_tap_slop = | 29 config.double_tap_slop = |
25 GestureConfiguration::max_distance_between_taps_for_double_tap(); | 30 GestureConfiguration::max_distance_between_taps_for_double_tap(); |
26 config.minimum_fling_velocity = | 31 config.minimum_fling_velocity = |
27 GestureConfiguration::min_scroll_velocity(); | 32 GestureConfiguration::min_scroll_velocity(); |
28 config.maximum_fling_velocity = | 33 config.maximum_fling_velocity = GestureConfiguration::fling_velocity_cap(); |
29 GestureConfiguration::fling_velocity_cap(); | |
30 config.swipe_enabled = true; | 34 config.swipe_enabled = true; |
31 config.minimum_swipe_velocity = GestureConfiguration::min_swipe_speed(); | 35 config.minimum_swipe_velocity = GestureConfiguration::min_swipe_speed(); |
32 config.maximum_swipe_deviation_angle = | 36 config.maximum_swipe_deviation_angle = |
33 atan2(1.f, GestureConfiguration::max_swipe_deviation_ratio()); | 37 atan2(1.f, GestureConfiguration::max_swipe_deviation_ratio()) * 180.0f / |
| 38 static_cast<float>(M_PI); |
34 config.two_finger_tap_enabled = true; | 39 config.two_finger_tap_enabled = true; |
35 config.two_finger_tap_max_separation = | 40 config.two_finger_tap_max_separation = |
36 GestureConfiguration::max_distance_for_two_finger_tap_in_pixels(); | 41 GestureConfiguration::max_distance_for_two_finger_tap_in_pixels(); |
37 config.two_finger_tap_timeout = base::TimeDelta::FromMilliseconds( | 42 config.two_finger_tap_timeout = base::TimeDelta::FromMilliseconds( |
38 GestureConfiguration::max_touch_down_duration_in_seconds_for_click() * | 43 GestureConfiguration::max_touch_down_duration_in_seconds_for_click() * |
39 1000.); | 44 1000.); |
40 | 45 |
41 return config; | 46 return config; |
42 } | 47 } |
43 | 48 |
44 ScaleGestureDetector::Config DefaultScaleGestureDetectorConfig() { | 49 ScaleGestureDetector::Config DefaultScaleGestureDetectorConfig() { |
45 ScaleGestureDetector::Config config; | 50 ScaleGestureDetector::Config config; |
46 | 51 |
47 config.gesture_detector_config = DefaultGestureDetectorConfig(); | 52 config.gesture_detector_config = DefaultGestureDetectorConfig(); |
48 config.min_scaling_touch_major = GestureConfiguration::default_radius() * 2; | 53 config.min_scaling_touch_major = GestureConfiguration::default_radius() * 2; |
49 config.min_scaling_span = | 54 config.min_scaling_span = GestureConfiguration::min_scaling_span_in_pixels(); |
50 GestureConfiguration::min_distance_for_pinch_scroll_in_pixels(); | |
51 return config; | 55 return config; |
52 } | 56 } |
53 | 57 |
54 } // namespace | 58 } // namespace |
55 | 59 |
56 GestureProvider::Config DefaultGestureProviderConfig() { | 60 GestureProvider::Config DefaultGestureProviderConfig() { |
57 GestureProvider::Config config; | 61 GestureProvider::Config config; |
58 config.display = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay(); | 62 config.display = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay(); |
59 config.gesture_detector_config = DefaultGestureDetectorConfig(); | 63 config.gesture_detector_config = DefaultGestureDetectorConfig(); |
60 config.scale_gesture_detector_config = DefaultScaleGestureDetectorConfig(); | 64 config.scale_gesture_detector_config = DefaultScaleGestureDetectorConfig(); |
61 config.gesture_begin_end_types_enabled = true; | 65 config.gesture_begin_end_types_enabled = true; |
62 return config; | 66 return config; |
63 } | 67 } |
64 | 68 |
65 } // namespace ui | 69 } // namespace ui |
OLD | NEW |