1 /*
2  * Wayland Support
3  *
4  * Copyright (C) 2016 Red Hat
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
18  *
19  * Author: Carlos Garnacho <carlosg@gnome.org>
20  */
21 
22 #ifndef META_WAYLAND_TABLET_PAD_RING_H
23 #define META_WAYLAND_TABLET_PAD_RING_H
24 
25 #include <glib.h>
26 #include <wayland-server.h>
27 
28 #include "backends/meta-cursor-renderer.h"
29 #include "wayland/meta-wayland-types.h"
30 
31 struct _MetaWaylandTabletPadRing
32 {
33   MetaWaylandTabletPad *pad;
34   MetaWaylandTabletPadGroup *group;
35 
36   struct wl_list resource_list;
37   struct wl_list focus_resource_list;
38 
39   gchar *feedback;
40 };
41 
42 MetaWaylandTabletPadRing * meta_wayland_tablet_pad_ring_new  (MetaWaylandTabletPad *pad);
43 void                       meta_wayland_tablet_pad_ring_free (MetaWaylandTabletPadRing *ring);
44 
45 void                       meta_wayland_tablet_pad_ring_set_group (MetaWaylandTabletPadRing  *ring,
46 								   MetaWaylandTabletPadGroup *group);
47 struct wl_resource *
48              meta_wayland_tablet_pad_ring_create_new_resource (MetaWaylandTabletPadRing *ring,
49                                                                struct wl_client         *client,
50                                                                struct wl_resource       *group_resource,
51                                                                uint32_t                  id);
52 
53 gboolean     meta_wayland_tablet_pad_ring_handle_event        (MetaWaylandTabletPadRing *ring,
54                                                                const ClutterEvent       *event);
55 
56 void         meta_wayland_tablet_pad_ring_sync_focus          (MetaWaylandTabletPadRing *ring);
57 
58 #endif /* META_WAYLAND_TABLET_PAD_RING_H */
59 
60