Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(179)

Side by Side Diff: ui/events/ozone/evdev/tablet_event_converter_evdev.h

Issue 869613003: [PATCH 5/11] ozone: evdev: Replace dispatch callbacks with an interface (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: namespace ui Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_EVENTS_OZONE_TABLET_EVENT_CONVERTER_EVDEV_H_ 5 #ifndef UI_EVENTS_OZONE_TABLET_EVENT_CONVERTER_EVDEV_H_
6 #define UI_EVENTS_OZONE_TABLET_EVENT_CONVERTER_EVDEV_H_ 6 #define UI_EVENTS_OZONE_TABLET_EVENT_CONVERTER_EVDEV_H_
7 7
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/message_loop/message_pump_libevent.h" 9 #include "base/message_loop/message_pump_libevent.h"
10 #include "ui/events/event.h" 10 #include "ui/events/event.h"
11 #include "ui/events/ozone/evdev/cursor_delegate_evdev.h" 11 #include "ui/events/ozone/evdev/cursor_delegate_evdev.h"
12 #include "ui/events/ozone/evdev/event_converter_evdev.h" 12 #include "ui/events/ozone/evdev/event_converter_evdev.h"
13 #include "ui/events/ozone/evdev/event_device_info.h" 13 #include "ui/events/ozone/evdev/event_device_info.h"
14 #include "ui/events/ozone/evdev/event_modifiers_evdev.h" 14 #include "ui/events/ozone/evdev/event_modifiers_evdev.h"
15 #include "ui/events/ozone/evdev/events_ozone_evdev_export.h" 15 #include "ui/events/ozone/evdev/events_ozone_evdev_export.h"
16 16
17 struct input_event; 17 struct input_event;
18 18
19 namespace ui { 19 namespace ui {
20 20
21 class DeviceEventDispatcherEvdev;
22
21 class EVENTS_OZONE_EVDEV_EXPORT TabletEventConverterEvdev 23 class EVENTS_OZONE_EVDEV_EXPORT TabletEventConverterEvdev
22 : public EventConverterEvdev { 24 : public EventConverterEvdev {
23 public: 25 public:
24 TabletEventConverterEvdev( 26 TabletEventConverterEvdev(int fd,
25 int fd, 27 base::FilePath path,
26 base::FilePath path, 28 int id,
27 int id, 29 InputDeviceType type,
28 InputDeviceType type, 30 CursorDelegateEvdev* cursor,
29 CursorDelegateEvdev* cursor, 31 const EventDeviceInfo& info,
30 const EventDeviceInfo& info, 32 DeviceEventDispatcherEvdev* dispatcher);
31 const MouseMoveEventDispatchCallback& mouse_move_callback,
32 const MouseButtonEventDispatchCallback& mouse_button_callback);
33 ~TabletEventConverterEvdev() override; 33 ~TabletEventConverterEvdev() override;
34 34
35 // EventConverterEvdev: 35 // EventConverterEvdev:
36 void OnFileCanReadWithoutBlocking(int fd) override; 36 void OnFileCanReadWithoutBlocking(int fd) override;
37 37
38 void ProcessEvents(const struct input_event* inputs, int count); 38 void ProcessEvents(const struct input_event* inputs, int count);
39 39
40 private: 40 private:
41 friend class MockTabletEventConverterEvdev; 41 friend class MockTabletEventConverterEvdev;
42 void ConvertKeyEvent(const input_event& input); 42 void ConvertKeyEvent(const input_event& input);
43 void ConvertAbsEvent(const input_event& input); 43 void ConvertAbsEvent(const input_event& input);
44 void DispatchMouseButton(const input_event& input); 44 void DispatchMouseButton(const input_event& input);
45 void UpdateCursor(); 45 void UpdateCursor();
46 46
47 // Flush events delimited by EV_SYN. This is useful for handling 47 // Flush events delimited by EV_SYN. This is useful for handling
48 // non-axis-aligned movement properly. 48 // non-axis-aligned movement properly.
49 void FlushEvents(); 49 void FlushEvents();
50 50
51 // Controller for watching the input fd. 51 // Controller for watching the input fd.
52 base::MessagePumpLibevent::FileDescriptorWatcher controller_; 52 base::MessagePumpLibevent::FileDescriptorWatcher controller_;
53 53
54 // Shared cursor state. 54 // Shared cursor state.
55 CursorDelegateEvdev* cursor_; 55 CursorDelegateEvdev* cursor_;
56 56
57 // Callbacks for dispatching events. 57 // Dispatcher for events.
58 MouseMoveEventDispatchCallback mouse_move_callback_; 58 DeviceEventDispatcherEvdev* dispatcher_;
59 MouseButtonEventDispatchCallback mouse_button_callback_;
60 59
61 int y_abs_location_; 60 int y_abs_location_;
62 int x_abs_location_; 61 int x_abs_location_;
63 int x_abs_min_; 62 int x_abs_min_;
64 int y_abs_min_; 63 int y_abs_min_;
65 int x_abs_range_; 64 int x_abs_range_;
66 int y_abs_range_; 65 int y_abs_range_;
67 66
68 // BTN_TOOL_ code for the active device 67 // BTN_TOOL_ code for the active device
69 int stylus_; 68 int stylus_;
70 69
71 // Whether we need to move the cursor 70 // Whether we need to move the cursor
72 bool abs_value_dirty_; 71 bool abs_value_dirty_;
73 72
74 DISALLOW_COPY_AND_ASSIGN(TabletEventConverterEvdev); 73 DISALLOW_COPY_AND_ASSIGN(TabletEventConverterEvdev);
75 }; 74 };
76 75
77 } // namespace ui 76 } // namespace ui
78 77
79 #endif // UI_EVENTS_OZONE_TABLET_EVENT_CONVERTER_EVDEV_H_ 78 #endif // UI_EVENTS_OZONE_TABLET_EVENT_CONVERTER_EVDEV_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698