gesture_configuration.h revision 6e8cce623b6e4fe0c9e4af605d675dd9d0338c38
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#ifndef UI_EVENTS_GESTURES_GESTURE_CONFIGURATION_H_
668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#define UI_EVENTS_GESTURES_GESTURE_CONFIGURATION_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h"
9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "ui/events/events_base_export.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ui {
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// TODO: Expand this design to support multiple OS configuration
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// approaches (windows, chrome, others).  This would turn into an
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// abstract base class.
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class EVENTS_BASE_EXPORT GestureConfiguration {
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public:
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // Number of parameters in the array of parameters for the fling acceleration
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // curve.
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static const int NumAccelParams = 4;
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Ordered alphabetically ignoring underscores, to align with the
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // associated list of prefs in gesture_prefs_aura.cc.
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static int default_radius() {
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return default_radius_;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_default_radius(int radius) { default_radius_ = radius; }
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static int fling_max_cancel_to_down_time_in_ms() {
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return fling_max_cancel_to_down_time_in_ms_;
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void set_fling_max_cancel_to_down_time_in_ms(int val) {
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    fling_max_cancel_to_down_time_in_ms_ = val;
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static int fling_max_tap_gap_time_in_ms() {
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return fling_max_tap_gap_time_in_ms_;
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void set_fling_max_tap_gap_time_in_ms(int val) {
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    fling_max_tap_gap_time_in_ms_ = val;
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double long_press_time_in_seconds() {
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return long_press_time_in_seconds_;
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double semi_long_press_time_in_seconds() {
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return semi_long_press_time_in_seconds_;
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_distance_for_two_finger_tap_in_pixels() {
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return max_distance_for_two_finger_tap_in_pixels_;
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_max_distance_for_two_finger_tap_in_pixels(double val) {
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    max_distance_for_two_finger_tap_in_pixels_ = val;
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static int max_radius() {
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return max_radius_;
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_long_press_time_in_seconds(double val) {
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    long_press_time_in_seconds_ = val;
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_semi_long_press_time_in_seconds(double val) {
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    semi_long_press_time_in_seconds_ = val;
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_seconds_between_double_click() {
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return max_seconds_between_double_click_;
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_max_seconds_between_double_click(double val) {
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    max_seconds_between_double_click_ = val;
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static int max_separation_for_gesture_touches_in_pixels() {
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return max_separation_for_gesture_touches_in_pixels_;
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_max_separation_for_gesture_touches_in_pixels(int val) {
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    max_separation_for_gesture_touches_in_pixels_ = val;
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
746e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)  static float max_swipe_deviation_angle() {
756e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)    return max_swipe_deviation_angle_;
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
776e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)  static void set_max_swipe_deviation_angle(float val) {
786e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)    max_swipe_deviation_angle_ = val;
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_touch_down_duration_in_seconds_for_click() {
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return max_touch_down_duration_in_seconds_for_click_;
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_max_touch_down_duration_in_seconds_for_click(double val) {
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    max_touch_down_duration_in_seconds_for_click_ = val;
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_touch_move_in_pixels_for_click() {
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return max_touch_move_in_pixels_for_click_;
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_max_touch_move_in_pixels_for_click(double val) {
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    max_touch_move_in_pixels_for_click_ = val;
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_distance_between_taps_for_double_tap() {
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return max_distance_between_taps_for_double_tap_;
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_max_distance_between_taps_for_double_tap(double val) {
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    max_distance_between_taps_for_double_tap_ = val;
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_distance_for_pinch_scroll_in_pixels() {
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return min_distance_for_pinch_scroll_in_pixels_;
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_min_distance_for_pinch_scroll_in_pixels(double val) {
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    min_distance_for_pinch_scroll_in_pixels_ = val;
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_flick_speed_squared() {
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return min_flick_speed_squared_;
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_min_flick_speed_squared(double val) {
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    min_flick_speed_squared_ = val;
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_pinch_update_distance_in_pixels() {
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return min_pinch_update_distance_in_pixels_;
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_min_pinch_update_distance_in_pixels(double val) {
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    min_pinch_update_distance_in_pixels_ = val;
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_rail_break_velocity() {
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return min_rail_break_velocity_;
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_min_rail_break_velocity(double val) {
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    min_rail_break_velocity_ = val;
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_scroll_delta_squared() {
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return min_scroll_delta_squared_;
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_min_scroll_delta_squared(double val) {
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    min_scroll_delta_squared_ = val;
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static float min_scroll_velocity() {
1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return min_scroll_velocity_;
1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void set_min_scroll_velocity(float val) {
1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    min_scroll_velocity_ = val;
1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_swipe_speed() {
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return min_swipe_speed_;
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_min_swipe_speed(double val) {
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    min_swipe_speed_ = val;
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_touch_down_duration_in_seconds_for_click() {
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return min_touch_down_duration_in_seconds_for_click_;
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_min_touch_down_duration_in_seconds_for_click(double val) {
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    min_touch_down_duration_in_seconds_for_click_ = val;
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
146010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
147010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  static int min_scaling_span_in_pixels() {
148010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    return min_scaling_span_in_pixels_;
149010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  };
150010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
151010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  static void set_min_scaling_span_in_pixels(int val) {
152010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    min_scaling_span_in_pixels_ = val;
153010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  }
154010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static int points_buffered_for_velocity() {
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return points_buffered_for_velocity_;
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_points_buffered_for_velocity(int val) {
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    points_buffered_for_velocity_ = val;
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double rail_break_proportion() {
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return rail_break_proportion_;
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_rail_break_proportion(double val) {
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rail_break_proportion_ = val;
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double rail_start_proportion() {
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return rail_start_proportion_;
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void set_rail_start_proportion(double val) {
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rail_start_proportion_ = val;
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
173eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  static double scroll_prediction_seconds() {
174eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    return scroll_prediction_seconds_;
175eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  }
176eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  static void set_scroll_prediction_seconds(double val) {
177eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    scroll_prediction_seconds_ = val;
178eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  }
1791e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  static int show_press_delay_in_ms() {
1801e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    return show_press_delay_in_ms_;
1811e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  }
1821e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  static int set_show_press_delay_in_ms(int val) {
1831e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    return show_press_delay_in_ms_ = val;
1841e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  }
18546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  static int scroll_debounce_interval_in_ms() {
18646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    return scroll_debounce_interval_in_ms_;
18746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  }
18846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  static int set_scroll_debounce_interval_in_ms(int val) {
18946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    return scroll_debounce_interval_in_ms_ = val;
19046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  }
1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void set_fling_acceleration_curve_coefficients(int i, float val) {
1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    fling_acceleration_curve_coefficients_[i] = val;
1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static float fling_acceleration_curve_coefficients(int i) {
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return fling_acceleration_curve_coefficients_[i];
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static float fling_velocity_cap() {
1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return fling_velocity_cap_;
1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void set_fling_velocity_cap(float val) {
2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    fling_velocity_cap_ = val;
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
203b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  // TODO(davemoore): Move into chrome/browser/ui.
2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static int tab_scrub_activation_delay_in_ms() {
2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return tab_scrub_activation_delay_in_ms_;
2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void set_tab_scrub_activation_delay_in_ms(int val) {
2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    tab_scrub_activation_delay_in_ms_ = val;
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private:
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // These are listed in alphabetical order ignoring underscores, to
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // align with the associated list of preferences in
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // gesture_prefs_aura.cc. These two lists should be kept in sync.
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The default touch radius length used when the only information given
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // by the device is the touch center.
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static int default_radius_;
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The maximum allowed distance between two fingers for a two finger tap. If
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // the distance between two fingers is greater than this value, we will not
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // recognize a two finger tap.
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_distance_for_two_finger_tap_in_pixels_;
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The maximum allowed size for the radius of a touch region used in
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // forming an ET_GESTURE_TAP event.
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static int max_radius_;
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // Maximum time between a GestureFlingCancel and a mousedown such that the
2302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // mousedown is considered associated with the cancel event.
2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static int fling_max_cancel_to_down_time_in_ms_;
2322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // Maxium time between a mousedown/mouseup pair that is considered to be a
2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // suppressable tap.
2352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static int fling_max_tap_gap_time_in_ms_;
2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double long_press_time_in_seconds_;
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double semi_long_press_time_in_seconds_;
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_seconds_between_double_click_;
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_separation_for_gesture_touches_in_pixels_;
2416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)  static float max_swipe_deviation_angle_;
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_touch_down_duration_in_seconds_for_click_;
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_touch_move_in_pixels_for_click_;
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double max_distance_between_taps_for_double_tap_;
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_distance_for_pinch_scroll_in_pixels_;
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_flick_speed_squared_;
2475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  // Only used with --compensate-for-unstable-pinch-zoom.
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_pinch_update_distance_in_pixels_;
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_rail_break_velocity_;
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_scroll_delta_squared_;
2512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static float min_scroll_velocity_;
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_swipe_speed_;
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double min_touch_down_duration_in_seconds_for_click_;
254010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  static int min_scaling_span_in_pixels_;
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static int points_buffered_for_velocity_;
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double rail_break_proportion_;
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static double rail_start_proportion_;
258eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  static double scroll_prediction_seconds_;
2591e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  static int show_press_delay_in_ms_;
26046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  static int scroll_debounce_interval_in_ms_;
26146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
2622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static float fling_acceleration_curve_coefficients_[NumAccelParams];
2632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static float fling_velocity_cap_;
264b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  // TODO(davemoore): Move into chrome/browser/ui.
2652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static int tab_scrub_activation_delay_in_ms_;
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(GestureConfiguration);
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ui
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
27268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#endif  // UI_EVENTS_GESTURES_GESTURE_CONFIGURATION_H_
273