diff --git a/gdk/wayland/gdkseat-wayland.h b/gdk/wayland/gdkseat-wayland.h index 711c597ae9..5780f2003b 100644 --- a/gdk/wayland/gdkseat-wayland.h +++ b/gdk/wayland/gdkseat-wayland.h @@ -22,25 +22,18 @@ #include "config.h" -#include +#include "gdkwaylandseat.h" +#include "gdk/gdkseatprivate.h" -#define GDK_TYPE_WAYLAND_SEAT (gdk_wayland_seat_get_type ()) -#define GDK_WAYLAND_SEAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_WAYLAND_SEAT, GdkWaylandSeat)) #define GDK_WAYLAND_SEAT_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_WAYLAND_SEAT, GdkWaylandSeatClass)) -#define GDK_IS_WAYLAND_SEAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_WAYLAND_SEAT)) #define GDK_IS_WAYLAND_SEAT_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_WAYLAND_SEAT)) #define GDK_WAYLAND_SEAT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_WAYLAND_SEAT, GdkWaylandSeatClass)) -typedef struct _GdkWaylandSeat GdkWaylandSeat; -typedef struct _GdkWaylandSeatClass GdkWaylandSeatClass; - struct _GdkWaylandSeatClass { GdkSeatClass parent_class; }; -GType gdk_wayland_seat_get_type (void) G_GNUC_CONST; - void gdk_wayland_seat_update_cursor_scale (GdkWaylandSeat *seat); void gdk_wayland_seat_clear_touchpoints (GdkWaylandSeat *seat, diff --git a/gdk/wayland/gdkwayland.h b/gdk/wayland/gdkwayland.h index 9179d58e77..4e7981a229 100644 --- a/gdk/wayland/gdkwayland.h +++ b/gdk/wayland/gdkwayland.h @@ -32,6 +32,7 @@ #include #include #include +#include #include #include diff --git a/gdk/wayland/gdkwaylanddevice.h b/gdk/wayland/gdkwaylanddevice.h index f92e19384a..577f3bbf24 100644 --- a/gdk/wayland/gdkwaylanddevice.h +++ b/gdk/wayland/gdkwaylanddevice.h @@ -33,6 +33,7 @@ typedef struct _GdkWaylandDevice GdkWaylandDevice; #else typedef GdkDevice GdkWaylandDevice; #endif + typedef struct _GdkWaylandDeviceClass GdkWaylandDeviceClass; #define GDK_TYPE_WAYLAND_DEVICE (gdk_wayland_device_get_type ()) @@ -52,9 +53,6 @@ struct wl_pointer *gdk_wayland_device_get_wl_pointer (GdkDevice *device); GDK_AVAILABLE_IN_ALL struct wl_keyboard *gdk_wayland_device_get_wl_keyboard (GdkDevice *device); -GDK_AVAILABLE_IN_ALL -struct wl_seat *gdk_wayland_seat_get_wl_seat (GdkSeat *seat); - GDK_AVAILABLE_IN_ALL const char *gdk_wayland_device_get_node_path (GdkDevice *device); diff --git a/gdk/wayland/gdkwaylandseat.h b/gdk/wayland/gdkwaylandseat.h new file mode 100644 index 0000000000..ab7afb3527 --- /dev/null +++ b/gdk/wayland/gdkwaylandseat.h @@ -0,0 +1,49 @@ +/* gdkwaylandseat.h: Wayland GdkSeat + * + * Copyright 2020 GNOME Foundation + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ +#pragma once + +#if !defined (__GDKWAYLAND_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#ifdef GTK_COMPILATION +typedef struct _GdkWaylandSeat GdkWaylandSeat; +#else +typedef GdkSeat GdkWaylandSeat; +#endif + +typedef struct _GdkWaylandSeatClass GdkWaylandSeatClass; + +#define GDK_TYPE_WAYLAND_SEAT (gdk_wayland_seat_get_type ()) +#define GDK_WAYLAND_SEAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_WAYLAND_SEAT, GdkWaylandSeat)) +#define GDK_IS_WAYLAND_SEAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_WAYLAND_SEAT)) + +GDK_AVAILABLE_IN_ALL +GType gdk_wayland_seat_get_type (void) G_GNUC_CONST; + +GDK_AVAILABLE_IN_ALL +struct wl_seat * gdk_wayland_seat_get_wl_seat (GdkSeat *seat); + +G_END_DECLS diff --git a/gdk/wayland/meson.build b/gdk/wayland/meson.build index 4217eb2a93..4d5f3ea5cc 100644 --- a/gdk/wayland/meson.build +++ b/gdk/wayland/meson.build @@ -24,7 +24,8 @@ gdk_wayland_public_headers = files([ 'gdkwaylanddisplay.h', 'gdkwaylandglcontext.h', 'gdkwaylandmonitor.h', - 'gdkwaylandsurface.h' + 'gdkwaylandseat.h', + 'gdkwaylandsurface.h', ]) install_headers(gdk_wayland_public_headers, 'gdkwayland.h', subdir: 'gtk-4.0/gdk/wayland/')