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 10namespace ui { 11 12class GestureEvent; 13class TouchEvent; 14 15// An abstract type for consumers of gesture-events created by the 16// gesture-recognizer. 17class EVENTS_EXPORT GestureConsumer { 18 public: 19 virtual ~GestureConsumer() {} 20}; 21 22// GestureEventHelper creates implementation-specific gesture events and 23// can dispatch them. 24class 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