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

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

Issue 1712103002: ozone/platform/wayland: Implement pointer handling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 9 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_pointer.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 {
12
13 void delete_pointer(wl_pointer* pointer) {
14 if (wl_pointer_get_version(pointer) >= WL_POINTER_RELEASE_SINCE_VERSION)
15 wl_pointer_release(pointer);
16 else
17 wl_pointer_destroy(pointer);
18 }
19
20 void delete_seat(wl_seat* seat) {
21 if (wl_seat_get_version(seat) >= WL_SEAT_RELEASE_SINCE_VERSION)
22 wl_seat_release(seat);
23 else
24 wl_seat_destroy(seat);
25 }
26
27 } // namespace
11 28
12 const wl_interface* ObjectTraits<wl_buffer>::interface = &wl_buffer_interface; 29 const wl_interface* ObjectTraits<wl_buffer>::interface = &wl_buffer_interface;
13 void (*ObjectTraits<wl_buffer>::deleter)(wl_buffer*) = &wl_buffer_destroy; 30 void (*ObjectTraits<wl_buffer>::deleter)(wl_buffer*) = &wl_buffer_destroy;
14 31
15 const wl_interface* ObjectTraits<wl_compositor>::interface = 32 const wl_interface* ObjectTraits<wl_compositor>::interface =
16 &wl_compositor_interface; 33 &wl_compositor_interface;
17 void (*ObjectTraits<wl_compositor>::deleter)(wl_compositor*) = 34 void (*ObjectTraits<wl_compositor>::deleter)(wl_compositor*) =
18 &wl_compositor_destroy; 35 &wl_compositor_destroy;
19 36
20 const wl_interface* ObjectTraits<wl_display>::interface = &wl_display_interface; 37 const wl_interface* ObjectTraits<wl_display>::interface = &wl_display_interface;
21 void (*ObjectTraits<wl_display>::deleter)(wl_display*) = &wl_display_disconnect; 38 void (*ObjectTraits<wl_display>::deleter)(wl_display*) = &wl_display_disconnect;
22 39
40 const wl_interface* ObjectTraits<wl_pointer>::interface = &wl_pointer_interface;
41 void (*ObjectTraits<wl_pointer>::deleter)(wl_pointer*) = &delete_pointer;
42
23 const wl_interface* ObjectTraits<wl_registry>::interface = 43 const wl_interface* ObjectTraits<wl_registry>::interface =
24 &wl_registry_interface; 44 &wl_registry_interface;
25 void (*ObjectTraits<wl_registry>::deleter)(wl_registry*) = &wl_registry_destroy; 45 void (*ObjectTraits<wl_registry>::deleter)(wl_registry*) = &wl_registry_destroy;
26 46
47 const wl_interface* ObjectTraits<wl_seat>::interface = &wl_seat_interface;
48 void (*ObjectTraits<wl_seat>::deleter)(wl_seat*) = &delete_seat;
49
27 const wl_interface* ObjectTraits<wl_shm>::interface = &wl_shm_interface; 50 const wl_interface* ObjectTraits<wl_shm>::interface = &wl_shm_interface;
28 void (*ObjectTraits<wl_shm>::deleter)(wl_shm*) = &wl_shm_destroy; 51 void (*ObjectTraits<wl_shm>::deleter)(wl_shm*) = &wl_shm_destroy;
29 52
30 const wl_interface* ObjectTraits<wl_shm_pool>::interface = 53 const wl_interface* ObjectTraits<wl_shm_pool>::interface =
31 &wl_shm_pool_interface; 54 &wl_shm_pool_interface;
32 void (*ObjectTraits<wl_shm_pool>::deleter)(wl_shm_pool*) = &wl_shm_pool_destroy; 55 void (*ObjectTraits<wl_shm_pool>::deleter)(wl_shm_pool*) = &wl_shm_pool_destroy;
33 56
34 const wl_interface* ObjectTraits<wl_surface>::interface = &wl_surface_interface; 57 const wl_interface* ObjectTraits<wl_surface>::interface = &wl_surface_interface;
35 void (*ObjectTraits<wl_surface>::deleter)(wl_surface*) = &wl_surface_destroy; 58 void (*ObjectTraits<wl_surface>::deleter)(wl_surface*) = &wl_surface_destroy;
36 59
37 const wl_interface* ObjectTraits<xdg_shell>::interface = &xdg_shell_interface; 60 const wl_interface* ObjectTraits<xdg_shell>::interface = &xdg_shell_interface;
38 void (*ObjectTraits<xdg_shell>::deleter)(xdg_shell*) = &xdg_shell_destroy; 61 void (*ObjectTraits<xdg_shell>::deleter)(xdg_shell*) = &xdg_shell_destroy;
39 62
40 const wl_interface* ObjectTraits<xdg_surface>::interface = 63 const wl_interface* ObjectTraits<xdg_surface>::interface =
41 &xdg_surface_interface; 64 &xdg_surface_interface;
42 void (*ObjectTraits<xdg_surface>::deleter)(xdg_surface*) = &xdg_surface_destroy; 65 void (*ObjectTraits<xdg_surface>::deleter)(xdg_surface*) = &xdg_surface_destroy;
43 66
44 } // namespace wl 67 } // namespace wl
OLDNEW
« no previous file with comments | « ui/ozone/platform/wayland/wayland_object.h ('k') | ui/ozone/platform/wayland/wayland_pointer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698