| Index: ui/events/ozone/evdev/device_event_dispatcher_evdev.h
|
| diff --git a/ui/events/ozone/evdev/device_event_dispatcher_evdev.h b/ui/events/ozone/evdev/device_event_dispatcher_evdev.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d70fcbb1a88c726c0d70025c0303a686f4431973
|
| --- /dev/null
|
| +++ b/ui/events/ozone/evdev/device_event_dispatcher_evdev.h
|
| @@ -0,0 +1,151 @@
|
| +// Copyright 2015 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_DEVICE_EVENT_DISPATCHER_H_
|
| +#define UI_EVENTS_OZONE_EVDEV_DEVICE_EVENT_DISPATCHER_H_
|
| +
|
| +#include <vector>
|
| +
|
| +#include "base/time/time.h"
|
| +#include "ui/events/devices/input_device.h"
|
| +#include "ui/events/devices/keyboard_device.h"
|
| +#include "ui/events/devices/touchscreen_device.h"
|
| +#include "ui/events/event_constants.h"
|
| +#include "ui/events/ozone/evdev/events_ozone_evdev_export.h"
|
| +#include "ui/gfx/geometry/point_f.h"
|
| +#include "ui/gfx/geometry/vector2d.h"
|
| +#include "ui/gfx/geometry/vector2d_f.h"
|
| +
|
| +namespace ui {
|
| +
|
| +struct EVENTS_OZONE_EVDEV_EXPORT KeyEventParams {
|
| + KeyEventParams(int device_id,
|
| + unsigned int code,
|
| + bool down,
|
| + bool suppress_auto_repeat,
|
| + base::TimeDelta timestamp);
|
| + KeyEventParams(const KeyEventParams& other);
|
| + ~KeyEventParams();
|
| +
|
| + int device_id;
|
| + unsigned int code;
|
| + bool down;
|
| + bool suppress_auto_repeat;
|
| + base::TimeDelta timestamp;
|
| +};
|
| +
|
| +struct EVENTS_OZONE_EVDEV_EXPORT MouseMoveEventParams {
|
| + MouseMoveEventParams(int device_id,
|
| + const gfx::PointF& location,
|
| + base::TimeDelta timestamp);
|
| + MouseMoveEventParams(const MouseMoveEventParams& other);
|
| + ~MouseMoveEventParams();
|
| +
|
| + int device_id;
|
| + gfx::PointF location;
|
| + base::TimeDelta timestamp;
|
| +};
|
| +
|
| +struct EVENTS_OZONE_EVDEV_EXPORT MouseButtonEventParams {
|
| + MouseButtonEventParams(int device_id,
|
| + const gfx::PointF& location,
|
| + unsigned int button,
|
| + bool down,
|
| + bool allow_remap,
|
| + base::TimeDelta timestamp);
|
| + MouseButtonEventParams(const MouseButtonEventParams& other);
|
| + ~MouseButtonEventParams();
|
| +
|
| + int device_id;
|
| + gfx::PointF location;
|
| + unsigned int button;
|
| + bool down;
|
| + bool allow_remap;
|
| + base::TimeDelta timestamp;
|
| +};
|
| +
|
| +struct EVENTS_OZONE_EVDEV_EXPORT MouseWheelEventParams {
|
| + MouseWheelEventParams(int device_id,
|
| + const gfx::PointF& location,
|
| + const gfx::Vector2d& delta,
|
| + base::TimeDelta timestamp);
|
| + MouseWheelEventParams(const MouseWheelEventParams& other);
|
| + ~MouseWheelEventParams();
|
| +
|
| + int device_id;
|
| + gfx::PointF location;
|
| + gfx::Vector2d delta;
|
| + base::TimeDelta timestamp;
|
| +};
|
| +
|
| +struct EVENTS_OZONE_EVDEV_EXPORT ScrollEventParams {
|
| + ScrollEventParams(int device_id,
|
| + EventType type,
|
| + const gfx::PointF location,
|
| + const gfx::Vector2dF& delta,
|
| + const gfx::Vector2dF& ordinal_delta,
|
| + int finger_count,
|
| + const base::TimeDelta timestamp);
|
| + ScrollEventParams(const ScrollEventParams& other);
|
| + ~ScrollEventParams();
|
| +
|
| + int device_id;
|
| + EventType type;
|
| + const gfx::PointF location;
|
| + const gfx::Vector2dF delta;
|
| + const gfx::Vector2dF ordinal_delta;
|
| + int finger_count;
|
| + const base::TimeDelta timestamp;
|
| +};
|
| +
|
| +struct EVENTS_OZONE_EVDEV_EXPORT TouchEventParams {
|
| + TouchEventParams(int device_id,
|
| + int slot,
|
| + EventType type,
|
| + const gfx::PointF& location,
|
| + const gfx::Vector2dF& radii,
|
| + float pressure,
|
| + const base::TimeDelta& timestamp);
|
| + TouchEventParams(const TouchEventParams& other);
|
| + ~TouchEventParams();
|
| +
|
| + int device_id;
|
| + int slot;
|
| + EventType type;
|
| + gfx::PointF location;
|
| + gfx::Vector2dF radii;
|
| + float pressure;
|
| + base::TimeDelta timestamp;
|
| +};
|
| +
|
| +// Interface used by device objects for event dispatch.
|
| +class EVENTS_OZONE_EVDEV_EXPORT DeviceEventDispatcherEvdev {
|
| + public:
|
| + DeviceEventDispatcherEvdev() {}
|
| + virtual ~DeviceEventDispatcherEvdev() {}
|
| +
|
| + // User input events.
|
| + virtual void DispatchKeyEvent(const KeyEventParams& params) = 0;
|
| + virtual void DispatchMouseMoveEvent(const MouseMoveEventParams& params) = 0;
|
| + virtual void DispatchMouseButtonEvent(
|
| + const MouseButtonEventParams& params) = 0;
|
| + virtual void DispatchMouseWheelEvent(const MouseWheelEventParams& params) = 0;
|
| + virtual void DispatchScrollEvent(const ScrollEventParams& params) = 0;
|
| + virtual void DispatchTouchEvent(const TouchEventParams& params) = 0;
|
| +
|
| + // Device lifecycle events.
|
| + virtual void DispatchKeyboardDevicesUpdated(
|
| + const std::vector<KeyboardDevice>& devices) = 0;
|
| + virtual void DispatchTouchscreenDevicesUpdated(
|
| + const std::vector<TouchscreenDevice>& devices) = 0;
|
| + virtual void DispatchMouseDevicesUpdated(
|
| + const std::vector<InputDevice>& devices) = 0;
|
| + virtual void DispatchTouchpadDevicesUpdated(
|
| + const std::vector<InputDevice>& devices) = 0;
|
| + virtual void DispatchDeviceListsComplete() = 0;
|
| +};
|
| +
|
| +} // namespace ui
|
| +
|
| +#endif // UI_EVENTS_OZONE_EVDEV_DEVICE_EVENT_DISPATCHER_H_
|
|
|