OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_WAYLAND_WAYLAND_INPUT_DEVICE_H_ | 5 #ifndef UI_WAYLAND_WAYLAND_INPUT_DEVICE_H_ |
6 #define UI_WAYLAND_WAYLAND_INPUT_DEVICE_H_ | 6 #define UI_WAYLAND_WAYLAND_INPUT_DEVICE_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "ui/gfx/point.h" | 11 #include "ui/gfx/point.h" |
12 #include "ui/wayland/wayland_widget.h" | 12 #include "ui/wayland/wayland_widget.h" |
13 | 13 |
14 struct xkb_desc; | 14 struct xkb_desc; |
15 struct wl_array; | 15 struct wl_array; |
16 struct wl_buffer; | 16 struct wl_buffer; |
17 struct wl_display; | 17 struct wl_display; |
18 struct wl_input_device; | 18 struct wl_input_device; |
19 struct wl_input_device_listener; | |
20 struct wl_surface; | 19 struct wl_surface; |
21 | 20 |
22 namespace ui { | 21 namespace ui { |
23 | 22 |
24 class WaylandWindow; | 23 class WaylandWindow; |
25 | 24 |
26 // This class represents an input device that was registered with Wayland. | 25 // This class represents an input device that was registered with Wayland. |
27 // The purpose of this class is to parse and wrap events into generic | 26 // The purpose of this class is to parse and wrap events into generic |
28 // WaylandEvent types and dispatch the event to the appropriate WaylandWindow. | 27 // WaylandEvent types and dispatch the event to the appropriate WaylandWindow. |
29 // | 28 // |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 uint32_t time, | 71 uint32_t time, |
73 uint32_t key, | 72 uint32_t key, |
74 uint32_t state); | 73 uint32_t state); |
75 | 74 |
76 // On*Focus events also have a Wayland surface associated with them. If the | 75 // On*Focus events also have a Wayland surface associated with them. If the |
77 // surface is NULL, then the event signifies a loss of focus. Otherwise we | 76 // surface is NULL, then the event signifies a loss of focus. Otherwise we |
78 // use the surface to get the WaylandWindow that receives focus. | 77 // use the surface to get the WaylandWindow that receives focus. |
79 static void OnPointerFocus(void* data, | 78 static void OnPointerFocus(void* data, |
80 wl_input_device* input_device, | 79 wl_input_device* input_device, |
81 uint32_t time, | 80 uint32_t time, |
82 wl_surface *surface, | 81 wl_surface* surface, |
83 int32_t x, | 82 int32_t x, |
84 int32_t y, | 83 int32_t y, |
85 int32_t sx, | 84 int32_t sx, |
86 int32_t sy); | 85 int32_t sy); |
87 | 86 |
88 static void OnKeyboardFocus(void* data, | 87 static void OnKeyboardFocus(void* data, |
89 wl_input_device* input_device, | 88 wl_input_device* input_device, |
90 uint32_t time, | 89 uint32_t time, |
91 wl_surface *surface, | 90 wl_surface* surface, |
92 wl_array* keys); | 91 wl_array* keys); |
93 | 92 |
94 wl_input_device* input_device_; | 93 wl_input_device* input_device_; |
95 | 94 |
96 // These keep track of the window that's currently under focus. NULL if no | 95 // These keep track of the window that's currently under focus. NULL if no |
97 // window is under focus. | 96 // window is under focus. |
98 WaylandWindow* pointer_focus_; | 97 WaylandWindow* pointer_focus_; |
99 WaylandWindow* keyboard_focus_; | 98 WaylandWindow* keyboard_focus_; |
100 | 99 |
101 // Keeps track of the currently active keyboard modifiers. We keep this | 100 // Keeps track of the currently active keyboard modifiers. We keep this |
(...skipping 12 matching lines...) Expand all Loading... |
114 | 113 |
115 // keymap used to transform keyboard events. | 114 // keymap used to transform keyboard events. |
116 xkb_desc* xkb_; | 115 xkb_desc* xkb_; |
117 | 116 |
118 DISALLOW_COPY_AND_ASSIGN(WaylandInputDevice); | 117 DISALLOW_COPY_AND_ASSIGN(WaylandInputDevice); |
119 }; | 118 }; |
120 | 119 |
121 } // namespace ui | 120 } // namespace ui |
122 | 121 |
123 #endif // UI_WAYLAND_WAYLAND_INPUT_DEVICE_H_ | 122 #endif // UI_WAYLAND_WAYLAND_INPUT_DEVICE_H_ |
OLD | NEW |