Home | History | Annotate | Download | only in gestures
      1 // Copyright (c) 2013 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/gestures/gesture_configuration.h"
      6 
      7 namespace ui {
      8 
      9 int GestureConfiguration::default_radius_ = 25;
     10 int GestureConfiguration::fling_max_cancel_to_down_time_in_ms_ = 400;
     11 int GestureConfiguration::fling_max_tap_gap_time_in_ms_ = 200;
     12 float GestureConfiguration::fling_velocity_cap_ = 17000.0f;
     13 int GestureConfiguration::tab_scrub_activation_delay_in_ms_ = 200;
     14 double GestureConfiguration::long_press_time_in_seconds_ = 1.0;
     15 double GestureConfiguration::semi_long_press_time_in_seconds_ = 0.4;
     16 double GestureConfiguration::max_distance_for_two_finger_tap_in_pixels_ = 300;
     17 int GestureConfiguration::max_radius_ = 100;
     18 double GestureConfiguration::max_seconds_between_double_click_ = 0.7;
     19 double
     20   GestureConfiguration::max_separation_for_gesture_touches_in_pixels_ = 150;
     21 double GestureConfiguration::max_swipe_deviation_ratio_ = 3;
     22 double
     23   GestureConfiguration::max_touch_down_duration_in_seconds_for_click_ = 0.8;
     24 double GestureConfiguration::max_touch_move_in_pixels_for_click_ = 15;
     25 double GestureConfiguration::max_distance_between_taps_for_double_tap_ = 20;
     26 double GestureConfiguration::min_distance_for_pinch_scroll_in_pixels_ = 20;
     27 double GestureConfiguration::min_flick_speed_squared_ = 550.f * 550.f;
     28 double GestureConfiguration::min_pinch_update_distance_in_pixels_ = 5;
     29 double GestureConfiguration::min_rail_break_velocity_ = 200;
     30 double GestureConfiguration::min_scroll_delta_squared_ = 4 * 4;
     31 float GestureConfiguration::min_scroll_velocity_ = 30.0f;
     32 double GestureConfiguration::min_swipe_speed_ = 20;
     33 double GestureConfiguration::scroll_prediction_seconds_ = 0.03;
     34 double
     35   GestureConfiguration::min_touch_down_duration_in_seconds_for_click_ = 0.01;
     36 
     37 // If this is too small, we currently can get single finger pinch zoom. See
     38 // crbug.com/357237 for details.
     39 int GestureConfiguration::min_scaling_span_in_pixels_ = 125;
     40 
     41 // The number of points used in the linear regression which determines
     42 // touch velocity. Velocity is reported for 2 or more touch move events.
     43 int GestureConfiguration::points_buffered_for_velocity_ = 8;
     44 double GestureConfiguration::rail_break_proportion_ = 15;
     45 double GestureConfiguration::rail_start_proportion_ = 2;
     46 int GestureConfiguration::show_press_delay_in_ms_ = 150;
     47 
     48 // TODO(jdduke): Disable and remove entirely when issues with intermittent
     49 // scroll end detection on the Pixel are resolved, crbug.com/353702.
     50 #if defined(OS_CHROMEOS)
     51 int GestureConfiguration::scroll_debounce_interval_in_ms_ = 30;
     52 #else
     53 int GestureConfiguration::scroll_debounce_interval_in_ms_ = 0;
     54 #endif
     55 
     56 // Coefficients for a function that computes fling acceleration.
     57 // These are empirically determined defaults. Do not adjust without
     58 // additional empirical validation.
     59 float GestureConfiguration::fling_acceleration_curve_coefficients_[
     60     NumAccelParams] = {
     61   0.0166667f,
     62   -0.0238095f,
     63   0.0452381f,
     64   0.8f
     65 };
     66 
     67 }  // namespace ui
     68