Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ui / events / gestures / gesture_types.h
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_