Roll src/third_party/WebKit 88cc93e:f6ae725 (svn 200125:200141)
[chromium-blink-merge.git] / ui / events / gestures / gesture_types.h
blobc15a2fdca472c318a94067f4de4c344a5f2ffd7d
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.
5 #ifndef UI_EVENTS_GESTURES_GESTURE_TYPES_H_
6 #define UI_EVENTS_GESTURES_GESTURE_TYPES_H_
8 #include "ui/events/events_export.h"
10 namespace ui {
12 class GestureEvent;
13 class TouchEvent;
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() {}
22 // GestureEventHelper creates implementation-specific gesture events and
23 // can dispatch them.
24 class EVENTS_EXPORT GestureEventHelper {
25 public:
26 virtual ~GestureEventHelper() {
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;
35 } // namespace ui
37 #endif // UI_EVENTS_GESTURES_GESTURE_TYPES_H_