Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Unified Diff: ui/events/gesture_detection/gesture_configuration.h

Issue 613373004: Adopt ui::GestureConfiguration on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/events/gesture_detection/gesture_configuration.h
diff --git a/ui/events/gesture_detection/gesture_configuration.h b/ui/events/gesture_detection/gesture_configuration.h
new file mode 100644
index 0000000000000000000000000000000000000000..036ff2bfbdb83f234906d46a9793b7b934aa8fb1
--- /dev/null
+++ b/ui/events/gesture_detection/gesture_configuration.h
@@ -0,0 +1,166 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_CONFIGURATION_H_
+#define UI_EVENTS_GESTURE_DETECTION_GESTURE_CONFIGURATION_H_
+
+#include "base/basictypes.h"
+#include "base/memory/singleton.h"
+#include "ui/events/gesture_detection/gesture_detection_export.h"
+#include "ui/events/gesture_detection/gesture_detector.h"
+#include "ui/events/gesture_detection/gesture_provider.h"
+#include "ui/events/gesture_detection/scale_gesture_detector.h"
+
+namespace ui {
+
+class EVENTS_BASE_EXPORT GestureConfiguration {
+ public:
+ GestureConfiguration();
+ virtual ~GestureConfiguration();
+
+ static GestureConfiguration* GetInstance();
+
+ virtual GestureDetector::Config DefaultGestureDetectorConfig();
+ virtual ScaleGestureDetector::Config DefaultScaleGestureDetectorConfig();
+
+ // Ordered alphabetically ignoring underscores, to align with the
+ // associated list of prefs in gesture_prefs_aura.cc.
+ virtual int default_radius();
+ virtual int fling_max_cancel_to_down_time_in_ms();
+ virtual int fling_max_tap_gap_time_in_ms();
+ virtual int long_press_timeout_in_ms();
+ virtual double semi_long_press_time_in_seconds();
+ virtual double max_distance_for_two_finger_tap_in_pixels();
+ virtual double max_seconds_between_double_click();
+ virtual int max_separation_for_gesture_touches_in_pixels();
+ virtual float max_swipe_deviation_angle();
+ virtual double max_touch_down_duration_in_seconds_for_click();
+ virtual double max_touch_move_in_pixels_for_click();
+ virtual double max_distance_between_taps_for_double_tap();
+ virtual double min_distance_for_pinch_scroll_in_pixels();
+ virtual double min_pinch_update_distance_in_pixels();
+ virtual float min_scroll_velocity();
jdduke (slow) 2014/10/06 15:50:50 Mixing virtual and inline is a little confusing, p
+ virtual double min_swipe_speed();
+ virtual int min_scaling_span_in_pixels();
+ virtual int show_press_delay_in_ms();
+ virtual int scroll_debounce_interval_in_ms();
+ virtual float fling_velocity_cap();
+ // TODO(davemoore): Move into chrome/browser/ui.
+ virtual int tab_scrub_activation_delay_in_ms();
+ virtual int double_tap_timeout_in_ms();
+ virtual int min_scaling_touch_major_in_pixels();
+ virtual int touch_slop_in_pixels();
+ virtual int span_slop_in_pixels();
+
+ void set_default_radius(int radius) { default_radius_ = radius; }
+ void set_fling_max_cancel_to_down_time_in_ms(int val) {
+ fling_max_cancel_to_down_time_in_ms_ = val;
+ }
+ void set_fling_max_tap_gap_time_in_ms(int val) {
+ fling_max_tap_gap_time_in_ms_ = val;
+ }
+ void set_max_distance_for_two_finger_tap_in_pixels(double val) {
+ max_distance_for_two_finger_tap_in_pixels_ = val;
+ }
+ void set_long_press_timeout_in_ms(int val) {
+ long_press_timeout_in_ms_ = val;
+ }
+ void set_semi_long_press_time_in_seconds(double val) {
+ semi_long_press_time_in_seconds_ = val;
+ }
+ void set_max_seconds_between_double_click(double val) {
+ max_seconds_between_double_click_ = val;
+ }
+ void set_max_separation_for_gesture_touches_in_pixels(int val) {
+ max_separation_for_gesture_touches_in_pixels_ = val;
+ }
+ void set_max_swipe_deviation_angle(float val) {
+ max_swipe_deviation_angle_ = val;
+ }
+ void set_max_touch_down_duration_in_seconds_for_click(double val) {
+ max_touch_down_duration_in_seconds_for_click_ = val;
+ }
+ void set_max_touch_move_in_pixels_for_click(double val) {
+ max_touch_move_in_pixels_for_click_ = val;
+ }
+ void set_max_distance_between_taps_for_double_tap(double val) {
+ max_distance_between_taps_for_double_tap_ = val;
+ }
+ void set_min_distance_for_pinch_scroll_in_pixels(double val) {
+ min_distance_for_pinch_scroll_in_pixels_ = val;
+ }
+ void set_min_pinch_update_distance_in_pixels(double val) {
+ min_pinch_update_distance_in_pixels_ = val;
+ }
+ void set_min_scroll_velocity(float val) { min_scroll_velocity_ = val; }
+ void set_min_swipe_speed(double val) { min_swipe_speed_ = val; }
+ void set_min_scaling_span_in_pixels(int val) {
+ min_scaling_span_in_pixels_ = val;
+ }
+ int set_show_press_delay_in_ms(int val) {
+ return show_press_delay_in_ms_ = val;
+ }
+ int set_scroll_debounce_interval_in_ms(int val) {
+ return scroll_debounce_interval_in_ms_ = val;
+ }
+ void set_fling_velocity_cap(float val) { fling_velocity_cap_ = val; }
+ void set_tab_scrub_activation_delay_in_ms(int val) {
+ tab_scrub_activation_delay_in_ms_ = val;
+ }
+
+ private:
+ // These are listed in alphabetical order ignoring underscores, to
+ // align with the associated list of preferences in
+ // gesture_prefs_aura.cc. These two lists should be kept in sync.
+
+ // The default touch radius length used when the only information given
+ // by the device is the touch center.
+ int 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.
+ double 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.
+ int fling_max_cancel_to_down_time_in_ms_;
+
+ // Maxium time between a mousedown/mouseup pair that is considered to be a
+ // suppressable tap.
+ int fling_max_tap_gap_time_in_ms_;
+ float fling_velocity_cap_;
+ int tab_scrub_activation_delay_in_ms_;
+ int long_press_timeout_in_ms_;
+ double semi_long_press_time_in_seconds_;
+ double max_seconds_between_double_click_;
+ double max_separation_for_gesture_touches_in_pixels_;
+ float max_swipe_deviation_angle_;
+ double max_touch_down_duration_in_seconds_for_click_;
+ double max_touch_move_in_pixels_for_click_;
+ double max_distance_between_taps_for_double_tap_;
+ double min_distance_for_pinch_scroll_in_pixels_;
+ // Only used with --compensate-for-unstable-pinch-zoom.
+ double min_pinch_update_distance_in_pixels_;
+ float min_scroll_velocity_;
+ double min_swipe_speed_;
+ int min_scaling_span_in_pixels_;
+ int show_press_delay_in_ms_;
+ int scroll_debounce_interval_in_ms_;
+ // TODO(davemoore): Move into chrome/browser/ui.
+ int double_tap_timeout_in_ms_;
+ // These values may vary as view-specific parameters (DPI scale) are changed,
+ // so read/write access must be synchronized.
+ int span_slop_in_pixels_;
+ int min_scaling_touch_major_in_pixels_;
+ int touch_slop_in_pixels_;
+ friend struct DefaultSingletonTraits<GestureConfiguration>;
+ DISALLOW_COPY_AND_ASSIGN(GestureConfiguration);
+};
+
+GESTURE_DETECTION_EXPORT GestureProvider::Config DefaultGestureProviderConfig();
+
+} // namespace ui
+
+#endif // UI_EVENTS_GESTURE_DETECTION_GESTURE_CONFIGURATION_H_
« no previous file with comments | « ui/events/gesture_detection/gesture_config_helper_aura.cc ('k') | ui/events/gesture_detection/gesture_configuration.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698