1 // Copyright (c) 2012 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_TYPES_H_ 6 #define UI_EVENTS_GESTURES_GESTURE_TYPES_H_ 7 8 #include "ui/events/events_export.h" 9 10 namespace ui { 11 12 class GestureEvent; 13 class TouchEvent; 14 15 // An abstract type for consumers of gesture-events created by the 16 // gesture-recognizer. 17 class EVENTS_EXPORT GestureConsumer { 18 public: 19 virtual ~GestureConsumer() {} 20 }; 21 22 // GestureEventHelper creates implementation-specific gesture events and 23 // can dispatch them. 24 class EVENTS_EXPORT GestureEventHelper { 25 public: 26 virtual ~GestureEventHelper() { 27 } 28 29 // Returns true if this helper can dispatch events to |consumer|. 30 virtual bool CanDispatchToConsumer(GestureConsumer* consumer) = 0; 31 virtual void DispatchGestureEvent(GestureEvent* event) = 0; 32 virtual void DispatchCancelTouchEvent(TouchEvent* event) = 0; 33 }; 34 35 } // namespace ui 36 37 #endif // UI_EVENTS_GESTURES_GESTURE_TYPES_H_ 38