diff options
author | pkasting <pkasting@chromium.org> | 2014-10-09 16:27:05 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-09 23:27:21 +0000 |
commit | 53aebab88d0b3304a5ba13ff08467fb2e39b674e (patch) | |
tree | 10873a8a2766cec67ebb42ac8358160be11f32cf /ui/events/gestures | |
parent | bbc157765fb43670db2f14deae6a6b3e9d5e91c1 (diff) | |
download | chromium_src-53aebab88d0b3304a5ba13ff08467fb2e39b674e.zip chromium_src-53aebab88d0b3304a5ba13ff08467fb2e39b674e.tar.gz chromium_src-53aebab88d0b3304a5ba13ff08467fb2e39b674e.tar.bz2 |
Change GestureConfiguration types to be consistent with each other and with the
types in GestureDetector::Config and other usage points.
Basically:
* Times should always be ints representing milliseconds
* Distances and velocities should always be floats
This eliminates a number of implicit type conversions, some of which trigger a
(currently disabled) MSVC warning due to possible value truncation.
BUG=81439
TEST=none
Review URL: https://codereview.chromium.org/630003003
Cr-Commit-Position: refs/heads/master@{#299007}
Diffstat (limited to 'ui/events/gestures')
-rw-r--r-- | ui/events/gestures/gesture_configuration.cc | 28 | ||||
-rw-r--r-- | ui/events/gestures/gesture_configuration.h | 96 | ||||
-rw-r--r-- | ui/events/gestures/gesture_provider_aura.cc | 5 | ||||
-rw-r--r-- | ui/events/gestures/gesture_recognizer_impl.cc | 6 |
4 files changed, 67 insertions, 68 deletions
diff --git a/ui/events/gestures/gesture_configuration.cc b/ui/events/gestures/gesture_configuration.cc index 1ce13d7..78f6b57 100644 --- a/ui/events/gestures/gesture_configuration.cc +++ b/ui/events/gestures/gesture_configuration.cc @@ -6,30 +6,28 @@ namespace ui { -int GestureConfiguration::default_radius_ = 25; +float GestureConfiguration::default_radius_ = 25; int GestureConfiguration::fling_max_cancel_to_down_time_in_ms_ = 400; int GestureConfiguration::fling_max_tap_gap_time_in_ms_ = 200; float GestureConfiguration::fling_velocity_cap_ = 17000.0f; int GestureConfiguration::tab_scrub_activation_delay_in_ms_ = 200; -double GestureConfiguration::long_press_time_in_seconds_ = 1.0; -double GestureConfiguration::semi_long_press_time_in_seconds_ = 0.4; -double GestureConfiguration::max_distance_for_two_finger_tap_in_pixels_ = 300; -double GestureConfiguration::max_seconds_between_double_click_ = 0.7; -double - GestureConfiguration::max_separation_for_gesture_touches_in_pixels_ = 150; +int GestureConfiguration::long_press_time_in_ms_ = 1000; +int GestureConfiguration::semi_long_press_time_in_ms_ = 400; +float GestureConfiguration::max_distance_for_two_finger_tap_in_pixels_ = 300; +int GestureConfiguration::max_time_between_double_click_in_ms_ = 700; +float GestureConfiguration::max_separation_for_gesture_touches_in_pixels_ = 150; float GestureConfiguration::max_swipe_deviation_angle_ = 20; -double - GestureConfiguration::max_touch_down_duration_in_seconds_for_click_ = 0.8; -double GestureConfiguration::max_touch_move_in_pixels_for_click_ = 15; -double GestureConfiguration::max_distance_between_taps_for_double_tap_ = 20; -double GestureConfiguration::min_distance_for_pinch_scroll_in_pixels_ = 20; -double GestureConfiguration::min_pinch_update_distance_in_pixels_ = 5; +int GestureConfiguration::max_touch_down_duration_for_click_in_ms_ = 800; +float GestureConfiguration::max_touch_move_in_pixels_for_click_ = 15; +float GestureConfiguration::max_distance_between_taps_for_double_tap_ = 20; +float GestureConfiguration::min_distance_for_pinch_scroll_in_pixels_ = 20; +float GestureConfiguration::min_pinch_update_distance_in_pixels_ = 5; float GestureConfiguration::min_scroll_velocity_ = 30.0f; -double GestureConfiguration::min_swipe_speed_ = 20; +float GestureConfiguration::min_swipe_speed_ = 20; // If this is too small, we currently can get single finger pinch zoom. See // crbug.com/357237 for details. -int GestureConfiguration::min_scaling_span_in_pixels_ = 125; +float GestureConfiguration::min_scaling_span_in_pixels_ = 125; int GestureConfiguration::show_press_delay_in_ms_ = 150; // TODO(jdduke): Disable and remove entirely when issues with intermittent diff --git a/ui/events/gestures/gesture_configuration.h b/ui/events/gestures/gesture_configuration.h index 1537b8e..c72208ef 100644 --- a/ui/events/gestures/gesture_configuration.h +++ b/ui/events/gestures/gesture_configuration.h @@ -18,10 +18,12 @@ class EVENTS_BASE_EXPORT GestureConfiguration { public: // Ordered alphabetically ignoring underscores, to align with the // associated list of prefs in gesture_prefs_aura.cc. - static int default_radius() { + static float default_radius() { return default_radius_; } - static void set_default_radius(int radius) { default_radius_ = radius; } + static void set_default_radius(float radius) { + default_radius_ = radius; + } static int fling_max_cancel_to_down_time_in_ms() { return fling_max_cancel_to_down_time_in_ms_; } @@ -34,34 +36,34 @@ class EVENTS_BASE_EXPORT GestureConfiguration { static void set_fling_max_tap_gap_time_in_ms(int val) { fling_max_tap_gap_time_in_ms_ = val; } - static double long_press_time_in_seconds() { - return long_press_time_in_seconds_; + static int long_press_time_in_ms() { + return long_press_time_in_ms_; } - static double semi_long_press_time_in_seconds() { - return semi_long_press_time_in_seconds_; + static int semi_long_press_time_in_ms() { + return semi_long_press_time_in_ms_; } - static double max_distance_for_two_finger_tap_in_pixels() { + static float max_distance_for_two_finger_tap_in_pixels() { return max_distance_for_two_finger_tap_in_pixels_; } - static void set_max_distance_for_two_finger_tap_in_pixels(double val) { + static void set_max_distance_for_two_finger_tap_in_pixels(float val) { max_distance_for_two_finger_tap_in_pixels_ = val; } - static void set_long_press_time_in_seconds(double val) { - long_press_time_in_seconds_ = val; + static void set_long_press_time_in_ms(int val) { + long_press_time_in_ms_ = val; } - static void set_semi_long_press_time_in_seconds(double val) { - semi_long_press_time_in_seconds_ = val; + static void set_semi_long_press_time_in_ms(int val) { + semi_long_press_time_in_ms_ = val; } - static double max_seconds_between_double_click() { - return max_seconds_between_double_click_; + static int max_time_between_double_click_in_ms() { + return max_time_between_double_click_in_ms_; } - static void set_max_seconds_between_double_click(double val) { - max_seconds_between_double_click_ = val; + static void set_max_time_between_double_click_in_ms(int val) { + max_time_between_double_click_in_ms_ = val; } - static int max_separation_for_gesture_touches_in_pixels() { + static float max_separation_for_gesture_touches_in_pixels() { return max_separation_for_gesture_touches_in_pixels_; } - static void set_max_separation_for_gesture_touches_in_pixels(int val) { + static void set_max_separation_for_gesture_touches_in_pixels(float val) { max_separation_for_gesture_touches_in_pixels_ = val; } static float max_swipe_deviation_angle() { @@ -70,34 +72,34 @@ class EVENTS_BASE_EXPORT GestureConfiguration { static void set_max_swipe_deviation_angle(float val) { max_swipe_deviation_angle_ = val; } - static double max_touch_down_duration_in_seconds_for_click() { - return max_touch_down_duration_in_seconds_for_click_; + static int max_touch_down_duration_for_click_in_ms() { + return max_touch_down_duration_for_click_in_ms_; } - static void set_max_touch_down_duration_in_seconds_for_click(double val) { - max_touch_down_duration_in_seconds_for_click_ = val; + static void set_max_touch_down_duration_for_click_in_ms(int val) { + max_touch_down_duration_for_click_in_ms_ = val; } - static double max_touch_move_in_pixels_for_click() { + static float max_touch_move_in_pixels_for_click() { return max_touch_move_in_pixels_for_click_; } - static void set_max_touch_move_in_pixels_for_click(double val) { + static void set_max_touch_move_in_pixels_for_click(float val) { max_touch_move_in_pixels_for_click_ = val; } - static double max_distance_between_taps_for_double_tap() { + static float max_distance_between_taps_for_double_tap() { return max_distance_between_taps_for_double_tap_; } - static void set_max_distance_between_taps_for_double_tap(double val) { + static void set_max_distance_between_taps_for_double_tap(float val) { max_distance_between_taps_for_double_tap_ = val; } - static double min_distance_for_pinch_scroll_in_pixels() { + static float min_distance_for_pinch_scroll_in_pixels() { return min_distance_for_pinch_scroll_in_pixels_; } - static void set_min_distance_for_pinch_scroll_in_pixels(double val) { + static void set_min_distance_for_pinch_scroll_in_pixels(float val) { min_distance_for_pinch_scroll_in_pixels_ = val; } - static double min_pinch_update_distance_in_pixels() { + static float min_pinch_update_distance_in_pixels() { return min_pinch_update_distance_in_pixels_; } - static void set_min_pinch_update_distance_in_pixels(double val) { + static void set_min_pinch_update_distance_in_pixels(float val) { min_pinch_update_distance_in_pixels_ = val; } static float min_scroll_velocity() { @@ -106,16 +108,16 @@ class EVENTS_BASE_EXPORT GestureConfiguration { static void set_min_scroll_velocity(float val) { min_scroll_velocity_ = val; } - static double min_swipe_speed() { + static float min_swipe_speed() { return min_swipe_speed_; } - static void set_min_swipe_speed(double val) { + static void set_min_swipe_speed(float val) { min_swipe_speed_ = val; } - static int min_scaling_span_in_pixels() { + static float min_scaling_span_in_pixels() { return min_scaling_span_in_pixels_; }; - static void set_min_scaling_span_in_pixels(int val) { + static void set_min_scaling_span_in_pixels(float val) { min_scaling_span_in_pixels_ = val; } static int show_press_delay_in_ms() { @@ -151,12 +153,12 @@ class EVENTS_BASE_EXPORT GestureConfiguration { // The default touch radius length used when the only information given // by the device is the touch center. - static int default_radius_; + static float default_radius_; // The maximum allowed distance between two fingers for a two finger tap. If // the distance between two fingers is greater than this value, we will not // recognize a two finger tap. - static double max_distance_for_two_finger_tap_in_pixels_; + static float max_distance_for_two_finger_tap_in_pixels_; // Maximum time between a GestureFlingCancel and a mousedown such that the // mousedown is considered associated with the cancel event. @@ -166,20 +168,20 @@ class EVENTS_BASE_EXPORT GestureConfiguration { // suppressable tap. static int fling_max_tap_gap_time_in_ms_; - static double long_press_time_in_seconds_; - static double semi_long_press_time_in_seconds_; - static double max_seconds_between_double_click_; - static double max_separation_for_gesture_touches_in_pixels_; + static int long_press_time_in_ms_; + static int semi_long_press_time_in_ms_; + static int max_time_between_double_click_in_ms_; + static float max_separation_for_gesture_touches_in_pixels_; static float max_swipe_deviation_angle_; - static double max_touch_down_duration_in_seconds_for_click_; - static double max_touch_move_in_pixels_for_click_; - static double max_distance_between_taps_for_double_tap_; - static double min_distance_for_pinch_scroll_in_pixels_; + static int max_touch_down_duration_for_click_in_ms_; + static float max_touch_move_in_pixels_for_click_; + static float max_distance_between_taps_for_double_tap_; + static float min_distance_for_pinch_scroll_in_pixels_; // Only used with --compensate-for-unstable-pinch-zoom. - static double min_pinch_update_distance_in_pixels_; + static float min_pinch_update_distance_in_pixels_; static float min_scroll_velocity_; - static double min_swipe_speed_; - static int min_scaling_span_in_pixels_; + static float min_swipe_speed_; + static float min_scaling_span_in_pixels_; static int show_press_delay_in_ms_; static int scroll_debounce_interval_in_ms_; static float fling_velocity_cap_; diff --git a/ui/events/gestures/gesture_provider_aura.cc b/ui/events/gestures/gesture_provider_aura.cc index a731357..d3ef218 100644 --- a/ui/events/gestures/gesture_provider_aura.cc +++ b/ui/events/gestures/gesture_provider_aura.cc @@ -122,12 +122,11 @@ bool GestureProviderAura::IsConsideredDoubleTap( const GestureEventData& current_tap) const { if (current_tap.time - previous_tap.time > base::TimeDelta::FromMilliseconds( - ui::GestureConfiguration::max_seconds_between_double_click() * - 1000)) { + ui::GestureConfiguration::max_time_between_double_click_in_ms())) { return false; } - double double_tap_slop_square = + float double_tap_slop_square = GestureConfiguration::max_distance_between_taps_for_double_tap(); double_tap_slop_square *= double_tap_slop_square; const float delta_x = previous_tap.x - current_tap.x; diff --git a/ui/events/gestures/gesture_recognizer_impl.cc b/ui/events/gestures/gesture_recognizer_impl.cc index 5f6cfda..9f6eb3e 100644 --- a/ui/events/gestures/gesture_recognizer_impl.cc +++ b/ui/events/gestures/gesture_recognizer_impl.cc @@ -91,12 +91,12 @@ GestureConsumer* GestureRecognizerImpl::GetTargetForGestureEvent( GestureConsumer* GestureRecognizerImpl::GetTargetForLocation( const gfx::PointF& location, int source_device_id) { - const int max_distance = + const float max_distance = GestureConfiguration::max_separation_for_gesture_touches_in_pixels(); gfx::PointF closest_point; int closest_touch_id = 0; - float closest_distance_squared = std::numeric_limits<float>::infinity(); + double closest_distance_squared = std::numeric_limits<double>::infinity(); std::map<GestureConsumer*, GestureProviderAura*>::iterator i; for (i = consumer_gesture_provider_.begin(); @@ -109,7 +109,7 @@ GestureConsumer* GestureRecognizerImpl::GetTargetForLocation( gfx::PointF point(pointer_state.GetX(j), pointer_state.GetY(j)); // Relative distance is all we need here, so LengthSquared() is // appropriate, and cheaper than Length(). - float distance_squared = (point - location).LengthSquared(); + double distance_squared = (point - location).LengthSquared(); if (distance_squared < closest_distance_squared) { closest_point = point; closest_touch_id = pointer_state.GetPointerId(j); |