Chromium Code Reviews| Index: ui/events/ozone/evdev/gestures/gesture_interpreter_libevdev_cros.h |
| diff --git a/ui/events/ozone/evdev/gestures/gesture_interpreter_libevdev_cros.h b/ui/events/ozone/evdev/gestures/gesture_interpreter_libevdev_cros.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..876fecbe3ec477cc2ea7187eb24505dd922c523b |
| --- /dev/null |
| +++ b/ui/events/ozone/evdev/gestures/gesture_interpreter_libevdev_cros.h |
| @@ -0,0 +1,69 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef UI_EVENTS_OZONE_EVDEV_GESTURES_GESTURE_INTERPRETER_LIBEVDEV_CROS_H_ |
| +#define UI_EVENTS_OZONE_EVDEV_GESTURES_GESTURE_INTERPRETER_LIBEVDEV_CROS_H_ |
| + |
| +#include <gestures/gestures.h> |
| +#include <libevdev/libevdev.h> |
| + |
| +#include "base/callback.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "ui/events/events_export.h" |
| +#include "ui/events/ozone/evdev/cursor_delegate_evdev.h" |
| +#include "ui/events/ozone/evdev/gestures/event_reader_libevdev_cros.h" |
| + |
| +namespace ui { |
| + |
| +class Event; |
| +class EventDeviceInfo; |
| +class EventModifiersEvdev; |
| +class CursorDelegateEvdev; |
| + |
| +typedef base::Callback<void(scoped_ptr<Event>)> EventDispatchCallback; |
| + |
| +class EVENTS_EXPORT GestureInterpreterLibevdevCros |
|
rjkroege
2014/03/11 12:58:47
class comment?
spang
2014/03/11 16:38:11
Done.
|
| + : public EventReaderLibevdevCros::Delegate { |
| + public: |
| + GestureInterpreterLibevdevCros(EventModifiersEvdev* modifiers, |
| + CursorDelegateEvdev* cursor, |
| + const EventDispatchCallback& callback); |
| + virtual ~GestureInterpreterLibevdevCros(); |
| + |
| + // Overriden from ui::EventReaderLibevdevCros::Delegate |
| + virtual void OnLibEvdevCrosOpen(Evdev* evdev, |
| + EventStateRec* evstate) OVERRIDE; |
| + virtual void OnLibEvdevCrosEvent(Evdev* evdev, |
| + EventStateRec* evstate, |
| + const timeval& time) OVERRIDE; |
| + |
| + // Handler for gesture events generated from libgestures. |
| + void OnGestureReady(const Gesture* gesture); |
| + |
| + private: |
| + void OnGestureMove(const Gesture* gesture, const GestureMove* move); |
| + void OnGestureScroll(const Gesture* gesture, const GestureScroll* move); |
| + void OnGestureButtonsChange(const Gesture* gesture, |
| + const GestureButtonsChange* move); |
| + void Dispatch(Event* event); |
| + void DispatchMouseButton(unsigned int modifier, bool down); |
| + |
| + // Shared modifier state. |
| + EventModifiersEvdev* modifiers_; |
| + |
| + // Shared cursor state. |
| + CursorDelegateEvdev* cursor_; |
| + |
| + // Callback for dispatching events. |
| + EventDispatchCallback dispatch_callback_; |
| + |
| + // Gestures interpretation state. |
| + scoped_ptr<gestures::GestureInterpreter> interpreter_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(GestureInterpreterLibevdevCros); |
| +}; |
| + |
| +} // namspace ui |
| + |
| +#endif // UI_EVENTS_OZONE_EVDEV_GESTURES_GESTURE_INTERPRETER_LIBEVDEV_CROS_H_ |