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