OLD | NEW |
| (Empty) |
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 #ifndef UI_EVENTS_GESTURES_GESTURE_CONFIGURATION_H_ | |
6 #define UI_EVENTS_GESTURES_GESTURE_CONFIGURATION_H_ | |
7 | |
8 #include "base/basictypes.h" | |
9 #include "ui/events/events_base_export.h" | |
10 | |
11 namespace ui { | |
12 | |
13 // TODO: Expand this design to support multiple OS configuration | |
14 // approaches (windows, chrome, others). This would turn into an | |
15 // abstract base class. | |
16 | |
17 class EVENTS_BASE_EXPORT GestureConfiguration { | |
18 public: | |
19 // Ordered alphabetically ignoring underscores, to align with the | |
20 // associated list of prefs in gesture_prefs_aura.cc. | |
21 static int default_radius() { | |
22 return default_radius_; | |
23 } | |
24 static void set_default_radius(int radius) { default_radius_ = radius; } | |
25 static int fling_max_cancel_to_down_time_in_ms() { | |
26 return fling_max_cancel_to_down_time_in_ms_; | |
27 } | |
28 static void set_fling_max_cancel_to_down_time_in_ms(int val) { | |
29 fling_max_cancel_to_down_time_in_ms_ = val; | |
30 } | |
31 static int fling_max_tap_gap_time_in_ms() { | |
32 return fling_max_tap_gap_time_in_ms_; | |
33 } | |
34 static void set_fling_max_tap_gap_time_in_ms(int val) { | |
35 fling_max_tap_gap_time_in_ms_ = val; | |
36 } | |
37 static double long_press_time_in_seconds() { | |
38 return long_press_time_in_seconds_; | |
39 } | |
40 static double semi_long_press_time_in_seconds() { | |
41 return semi_long_press_time_in_seconds_; | |
42 } | |
43 static double max_distance_for_two_finger_tap_in_pixels() { | |
44 return max_distance_for_two_finger_tap_in_pixels_; | |
45 } | |
46 static void set_max_distance_for_two_finger_tap_in_pixels(double val) { | |
47 max_distance_for_two_finger_tap_in_pixels_ = val; | |
48 } | |
49 static void set_long_press_time_in_seconds(double val) { | |
50 long_press_time_in_seconds_ = val; | |
51 } | |
52 static void set_semi_long_press_time_in_seconds(double val) { | |
53 semi_long_press_time_in_seconds_ = val; | |
54 } | |
55 static double max_seconds_between_double_click() { | |
56 return max_seconds_between_double_click_; | |
57 } | |
58 static void set_max_seconds_between_double_click(double val) { | |
59 max_seconds_between_double_click_ = val; | |
60 } | |
61 static int max_separation_for_gesture_touches_in_pixels() { | |
62 return max_separation_for_gesture_touches_in_pixels_; | |
63 } | |
64 static void set_max_separation_for_gesture_touches_in_pixels(int val) { | |
65 max_separation_for_gesture_touches_in_pixels_ = val; | |
66 } | |
67 static float max_swipe_deviation_angle() { | |
68 return max_swipe_deviation_angle_; | |
69 } | |
70 static void set_max_swipe_deviation_angle(float val) { | |
71 max_swipe_deviation_angle_ = val; | |
72 } | |
73 static double max_touch_down_duration_in_seconds_for_click() { | |
74 return max_touch_down_duration_in_seconds_for_click_; | |
75 } | |
76 static void set_max_touch_down_duration_in_seconds_for_click(double val) { | |
77 max_touch_down_duration_in_seconds_for_click_ = val; | |
78 } | |
79 static double max_touch_move_in_pixels_for_click() { | |
80 return max_touch_move_in_pixels_for_click_; | |
81 } | |
82 static void set_max_touch_move_in_pixels_for_click(double val) { | |
83 max_touch_move_in_pixels_for_click_ = val; | |
84 } | |
85 static double max_distance_between_taps_for_double_tap() { | |
86 return max_distance_between_taps_for_double_tap_; | |
87 } | |
88 static void set_max_distance_between_taps_for_double_tap(double val) { | |
89 max_distance_between_taps_for_double_tap_ = val; | |
90 } | |
91 static double min_distance_for_pinch_scroll_in_pixels() { | |
92 return min_distance_for_pinch_scroll_in_pixels_; | |
93 } | |
94 static void set_min_distance_for_pinch_scroll_in_pixels(double val) { | |
95 min_distance_for_pinch_scroll_in_pixels_ = val; | |
96 } | |
97 static double min_pinch_update_distance_in_pixels() { | |
98 return min_pinch_update_distance_in_pixels_; | |
99 } | |
100 static void set_min_pinch_update_distance_in_pixels(double val) { | |
101 min_pinch_update_distance_in_pixels_ = val; | |
102 } | |
103 static float min_scroll_velocity() { | |
104 return min_scroll_velocity_; | |
105 } | |
106 static void set_min_scroll_velocity(float val) { | |
107 min_scroll_velocity_ = val; | |
108 } | |
109 static double min_swipe_speed() { | |
110 return min_swipe_speed_; | |
111 } | |
112 static void set_min_swipe_speed(double val) { | |
113 min_swipe_speed_ = val; | |
114 } | |
115 static int min_scaling_span_in_pixels() { | |
116 return min_scaling_span_in_pixels_; | |
117 }; | |
118 static void set_min_scaling_span_in_pixels(int val) { | |
119 min_scaling_span_in_pixels_ = val; | |
120 } | |
121 static int show_press_delay_in_ms() { | |
122 return show_press_delay_in_ms_; | |
123 } | |
124 static int set_show_press_delay_in_ms(int val) { | |
125 return show_press_delay_in_ms_ = val; | |
126 } | |
127 static int scroll_debounce_interval_in_ms() { | |
128 return scroll_debounce_interval_in_ms_; | |
129 } | |
130 static int set_scroll_debounce_interval_in_ms(int val) { | |
131 return scroll_debounce_interval_in_ms_ = val; | |
132 } | |
133 static float fling_velocity_cap() { | |
134 return fling_velocity_cap_; | |
135 } | |
136 static void set_fling_velocity_cap(float val) { | |
137 fling_velocity_cap_ = val; | |
138 } | |
139 // TODO(davemoore): Move into chrome/browser/ui. | |
140 static int tab_scrub_activation_delay_in_ms() { | |
141 return tab_scrub_activation_delay_in_ms_; | |
142 } | |
143 static void set_tab_scrub_activation_delay_in_ms(int val) { | |
144 tab_scrub_activation_delay_in_ms_ = val; | |
145 } | |
146 | |
147 private: | |
148 // These are listed in alphabetical order ignoring underscores, to | |
149 // align with the associated list of preferences in | |
150 // gesture_prefs_aura.cc. These two lists should be kept in sync. | |
151 | |
152 // The default touch radius length used when the only information given | |
153 // by the device is the touch center. | |
154 static int default_radius_; | |
155 | |
156 // The maximum allowed distance between two fingers for a two finger tap. If | |
157 // the distance between two fingers is greater than this value, we will not | |
158 // recognize a two finger tap. | |
159 static double max_distance_for_two_finger_tap_in_pixels_; | |
160 | |
161 // Maximum time between a GestureFlingCancel and a mousedown such that the | |
162 // mousedown is considered associated with the cancel event. | |
163 static int fling_max_cancel_to_down_time_in_ms_; | |
164 | |
165 // Maxium time between a mousedown/mouseup pair that is considered to be a | |
166 // suppressable tap. | |
167 static int fling_max_tap_gap_time_in_ms_; | |
168 | |
169 static double long_press_time_in_seconds_; | |
170 static double semi_long_press_time_in_seconds_; | |
171 static double max_seconds_between_double_click_; | |
172 static double max_separation_for_gesture_touches_in_pixels_; | |
173 static float max_swipe_deviation_angle_; | |
174 static double max_touch_down_duration_in_seconds_for_click_; | |
175 static double max_touch_move_in_pixels_for_click_; | |
176 static double max_distance_between_taps_for_double_tap_; | |
177 static double min_distance_for_pinch_scroll_in_pixels_; | |
178 // Only used with --compensate-for-unstable-pinch-zoom. | |
179 static double min_pinch_update_distance_in_pixels_; | |
180 static float min_scroll_velocity_; | |
181 static double min_swipe_speed_; | |
182 static int min_scaling_span_in_pixels_; | |
183 static int show_press_delay_in_ms_; | |
184 static int scroll_debounce_interval_in_ms_; | |
185 static float fling_velocity_cap_; | |
186 // TODO(davemoore): Move into chrome/browser/ui. | |
187 static int tab_scrub_activation_delay_in_ms_; | |
188 | |
189 DISALLOW_COPY_AND_ASSIGN(GestureConfiguration); | |
190 }; | |
191 | |
192 } // namespace ui | |
193 | |
194 #endif // UI_EVENTS_GESTURES_GESTURE_CONFIGURATION_H_ | |
OLD | NEW |