[gtk/ebassi/for-master] Add a public header for GdkWaylandSeat
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/ebassi/for-master] Add a public header for GdkWaylandSeat
- Date: Wed, 14 Oct 2020 11:02:27 +0000 (UTC)
commit da007ac97b2e504ce70a5e95fca27bc6489e4850
Author: Emmanuele Bassi <ebassi gnome org>
Date: Wed Oct 14 11:55:34 2020 +0100
Add a public header for GdkWaylandSeat
We have public API requiring it as a type.
gdk/wayland/gdkseat-wayland.h | 11 ++--------
gdk/wayland/gdkwayland.h | 1 +
gdk/wayland/gdkwaylanddevice.h | 4 +---
gdk/wayland/gdkwaylandseat.h | 49 ++++++++++++++++++++++++++++++++++++++++++
gdk/wayland/meson.build | 3 ++-
5 files changed, 55 insertions(+), 13 deletions(-)
---
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 <gdk/gdkseatprivate.h>
+#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 <gdk/wayland/gdkwaylanddevice.h>
#include <gdk/wayland/gdkwaylanddisplay.h>
#include <gdk/wayland/gdkwaylandmonitor.h>
+#include <gdk/wayland/gdkwaylandseat.h>
#include <gdk/wayland/gdkwaylandsurface.h>
#include <gdk/wayland/gdkwaylandglcontext.h>
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 <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#if !defined (__GDKWAYLAND_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gdk/wayland/gdkwayland.h> can be included directly."
+#endif
+
+#include <gdk/gdk.h>
+#include <wayland-client.h>
+
+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/')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]