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

Unified Diff: ui/events/gestures/gesture_recognizer_impl.h

Issue 251543003: Unified Gesture Recognizer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 6 years, 7 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
« no previous file with comments | « ui/events/gestures/gesture_provider_aura.cc ('k') | ui/events/gestures/gesture_recognizer_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/gestures/gesture_recognizer_impl.h
diff --git a/ui/events/gestures/gesture_recognizer_impl.h b/ui/events/gestures/gesture_recognizer_impl.h
index f136894285eb6dfe5ac133b63c2c6298d76906be..80a3007030d15facabdafae26d928126b28bb4b0 100644
--- a/ui/events/gestures/gesture_recognizer_impl.h
+++ b/ui/events/gestures/gesture_recognizer_impl.h
@@ -12,6 +12,7 @@
#include "base/memory/scoped_ptr.h"
#include "ui/events/event_constants.h"
#include "ui/events/events_export.h"
+#include "ui/events/gestures/gesture_provider_aura.h"
#include "ui/events/gestures/gesture_recognizer.h"
#include "ui/events/gestures/gesture_sequence.h"
#include "ui/gfx/point.h"
@@ -23,8 +24,12 @@ class GestureEventHelper;
class GestureSequence;
class TouchEvent;
+// TODO(tdresser): Once the unified gesture recognition process sticks
+// (crbug.com/332418), GestureRecognizerImpl can be cleaned up
+// significantly.
class EVENTS_EXPORT GestureRecognizerImpl : public GestureRecognizer,
- public GestureSequenceDelegate {
+ public GestureSequenceDelegate,
+ public GestureProviderAuraClient {
public:
typedef std::map<int, GestureConsumer*> TouchIdToConsumerMap;
@@ -47,14 +52,19 @@ class EVENTS_EXPORT GestureRecognizerImpl : public GestureRecognizer,
virtual bool CancelActiveTouches(GestureConsumer* consumer) OVERRIDE;
protected:
- virtual GestureSequence* CreateSequence(GestureSequenceDelegate* delegate);
virtual GestureSequence* GetGestureSequenceForConsumer(GestureConsumer* c);
+ virtual GestureProviderAura* GetGestureProviderForConsumer(
+ GestureConsumer* c);
+ virtual GestureSequence* CreateSequence(
+ ui::GestureSequenceDelegate* delegate);
private:
// Sets up the target consumer for gestures based on the touch-event.
void SetupTargets(const TouchEvent& event, GestureConsumer* consumer);
void CancelTouches(std::vector<std::pair<int, GestureConsumer*> >* touches);
+ void DispatchGestureEvent(GestureEvent* event);
+
// Overridden from GestureRecognizer
virtual Gestures* ProcessTouchEventForGesture(
const TouchEvent& event,
@@ -68,11 +78,15 @@ class EVENTS_EXPORT GestureRecognizerImpl : public GestureRecognizer,
// Overridden from ui::GestureSequenceDelegate.
virtual void DispatchPostponedGestureEvent(GestureEvent* event) OVERRIDE;
+ // Overridden from GestureProviderAuraClient
+ virtual void OnGestureEvent(GestureEvent* event) OVERRIDE;
+
// Convenience method to find the GestureEventHelper that can dispatch events
// to a specific |consumer|.
GestureEventHelper* FindDispatchHelperForConsumer(GestureConsumer* consumer);
std::map<GestureConsumer*, GestureSequence*> consumer_sequence_;
+ std::map<GestureConsumer*, GestureProviderAura*> consumer_gesture_provider_;
// Both |touch_id_target_| and |touch_id_target_for_gestures_| map a touch-id
// to its target window. touch-ids are removed from |touch_id_target_| on
@@ -83,6 +97,8 @@ class EVENTS_EXPORT GestureRecognizerImpl : public GestureRecognizer,
std::vector<GestureEventHelper*> helpers_;
+ bool use_unified_gesture_detector_;
+
DISALLOW_COPY_AND_ASSIGN(GestureRecognizerImpl);
};
« no previous file with comments | « ui/events/gestures/gesture_provider_aura.cc ('k') | ui/events/gestures/gesture_recognizer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698