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

Side by Side Diff: ui/ozone/platform/wayland/wayland_object.cc

Issue 1841083003: ozone/platform/wayland: Implement keyboard handling Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « ui/ozone/platform/wayland/wayland_object.h ('k') | ui/ozone/platform/wayland/wayland_window.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #include "ui/ozone/platform/wayland/wayland_object.h" 5 #include "ui/ozone/platform/wayland/wayland_object.h"
6 6
7 #include <wayland-client.h> 7 #include <wayland-client.h>
8 #include <xdg-shell-unstable-v5-client-protocol.h> 8 #include <xdg-shell-unstable-v5-client-protocol.h>
9 9
10 namespace wl { 10 namespace wl {
11 namespace { 11 namespace {
12 12
13 void delete_keyboard(wl_keyboard* keyboard) {
14 if (wl_keyboard_get_version(keyboard) >= WL_KEYBOARD_RELEASE_SINCE_VERSION)
15 wl_keyboard_release(keyboard);
16 else
17 wl_keyboard_destroy(keyboard);
18 }
19
13 void delete_pointer(wl_pointer* pointer) { 20 void delete_pointer(wl_pointer* pointer) {
14 if (wl_pointer_get_version(pointer) >= WL_POINTER_RELEASE_SINCE_VERSION) 21 if (wl_pointer_get_version(pointer) >= WL_POINTER_RELEASE_SINCE_VERSION)
15 wl_pointer_release(pointer); 22 wl_pointer_release(pointer);
16 else 23 else
17 wl_pointer_destroy(pointer); 24 wl_pointer_destroy(pointer);
18 } 25 }
19 26
20 void delete_seat(wl_seat* seat) { 27 void delete_seat(wl_seat* seat) {
21 if (wl_seat_get_version(seat) >= WL_SEAT_RELEASE_SINCE_VERSION) 28 if (wl_seat_get_version(seat) >= WL_SEAT_RELEASE_SINCE_VERSION)
22 wl_seat_release(seat); 29 wl_seat_release(seat);
23 else 30 else
24 wl_seat_destroy(seat); 31 wl_seat_destroy(seat);
25 } 32 }
26 33
27 } // namespace 34 } // namespace
28 35
29 const wl_interface* ObjectTraits<wl_buffer>::interface = &wl_buffer_interface; 36 const wl_interface* ObjectTraits<wl_buffer>::interface = &wl_buffer_interface;
30 void (*ObjectTraits<wl_buffer>::deleter)(wl_buffer*) = &wl_buffer_destroy; 37 void (*ObjectTraits<wl_buffer>::deleter)(wl_buffer*) = &wl_buffer_destroy;
31 38
32 const wl_interface* ObjectTraits<wl_compositor>::interface = 39 const wl_interface* ObjectTraits<wl_compositor>::interface =
33 &wl_compositor_interface; 40 &wl_compositor_interface;
34 void (*ObjectTraits<wl_compositor>::deleter)(wl_compositor*) = 41 void (*ObjectTraits<wl_compositor>::deleter)(wl_compositor*) =
35 &wl_compositor_destroy; 42 &wl_compositor_destroy;
36 43
37 const wl_interface* ObjectTraits<wl_display>::interface = &wl_display_interface; 44 const wl_interface* ObjectTraits<wl_display>::interface = &wl_display_interface;
38 void (*ObjectTraits<wl_display>::deleter)(wl_display*) = &wl_display_disconnect; 45 void (*ObjectTraits<wl_display>::deleter)(wl_display*) = &wl_display_disconnect;
39 46
47 const wl_interface* ObjectTraits<wl_keyboard>::interface =
48 &wl_keyboard_interface;
49 void (*ObjectTraits<wl_keyboard>::deleter)(wl_keyboard*) = &delete_keyboard;
50
40 const wl_interface* ObjectTraits<wl_pointer>::interface = &wl_pointer_interface; 51 const wl_interface* ObjectTraits<wl_pointer>::interface = &wl_pointer_interface;
41 void (*ObjectTraits<wl_pointer>::deleter)(wl_pointer*) = &delete_pointer; 52 void (*ObjectTraits<wl_pointer>::deleter)(wl_pointer*) = &delete_pointer;
42 53
43 const wl_interface* ObjectTraits<wl_registry>::interface = 54 const wl_interface* ObjectTraits<wl_registry>::interface =
44 &wl_registry_interface; 55 &wl_registry_interface;
45 void (*ObjectTraits<wl_registry>::deleter)(wl_registry*) = &wl_registry_destroy; 56 void (*ObjectTraits<wl_registry>::deleter)(wl_registry*) = &wl_registry_destroy;
46 57
47 const wl_interface* ObjectTraits<wl_seat>::interface = &wl_seat_interface; 58 const wl_interface* ObjectTraits<wl_seat>::interface = &wl_seat_interface;
48 void (*ObjectTraits<wl_seat>::deleter)(wl_seat*) = &delete_seat; 59 void (*ObjectTraits<wl_seat>::deleter)(wl_seat*) = &delete_seat;
49 60
50 const wl_interface* ObjectTraits<wl_shm>::interface = &wl_shm_interface; 61 const wl_interface* ObjectTraits<wl_shm>::interface = &wl_shm_interface;
51 void (*ObjectTraits<wl_shm>::deleter)(wl_shm*) = &wl_shm_destroy; 62 void (*ObjectTraits<wl_shm>::deleter)(wl_shm*) = &wl_shm_destroy;
52 63
53 const wl_interface* ObjectTraits<wl_shm_pool>::interface = 64 const wl_interface* ObjectTraits<wl_shm_pool>::interface =
54 &wl_shm_pool_interface; 65 &wl_shm_pool_interface;
55 void (*ObjectTraits<wl_shm_pool>::deleter)(wl_shm_pool*) = &wl_shm_pool_destroy; 66 void (*ObjectTraits<wl_shm_pool>::deleter)(wl_shm_pool*) = &wl_shm_pool_destroy;
56 67
57 const wl_interface* ObjectTraits<wl_surface>::interface = &wl_surface_interface; 68 const wl_interface* ObjectTraits<wl_surface>::interface = &wl_surface_interface;
58 void (*ObjectTraits<wl_surface>::deleter)(wl_surface*) = &wl_surface_destroy; 69 void (*ObjectTraits<wl_surface>::deleter)(wl_surface*) = &wl_surface_destroy;
59 70
60 const wl_interface* ObjectTraits<xdg_shell>::interface = &xdg_shell_interface; 71 const wl_interface* ObjectTraits<xdg_shell>::interface = &xdg_shell_interface;
61 void (*ObjectTraits<xdg_shell>::deleter)(xdg_shell*) = &xdg_shell_destroy; 72 void (*ObjectTraits<xdg_shell>::deleter)(xdg_shell*) = &xdg_shell_destroy;
62 73
63 const wl_interface* ObjectTraits<xdg_surface>::interface = 74 const wl_interface* ObjectTraits<xdg_surface>::interface =
64 &xdg_surface_interface; 75 &xdg_surface_interface;
65 void (*ObjectTraits<xdg_surface>::deleter)(xdg_surface*) = &xdg_surface_destroy; 76 void (*ObjectTraits<xdg_surface>::deleter)(xdg_surface*) = &xdg_surface_destroy;
66 77
67 } // namespace wl 78 } // namespace wl
OLDNEW
« no previous file with comments | « ui/ozone/platform/wayland/wayland_object.h ('k') | ui/ozone/platform/wayland/wayland_window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698