summaryrefslogtreecommitdiff
path: root/gdk/wayland
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-11-15 14:52:49 -0500
committerMatthias Clasen <mclasen@redhat.com>2023-01-06 13:47:34 -0500
commit348acde6bd95c92a1dafc98a0b45c452a853244d (patch)
tree1ac918e72d8e795842411dfb3ed29983b2bb3f65 /gdk/wayland
parent5ba793842bc9d3deb4093afd56561f8d1e02fc82 (diff)
downloadgtk+-348acde6bd95c92a1dafc98a0b45c452a853244d.tar.gz
wayland: Split public headers
Split gdkwaylandsurface.h into itself, gdkwaylandtoplevel.h and gdkwaylandpopup.h. This is in preparation for splitting the types for real.
Diffstat (limited to 'gdk/wayland')
-rw-r--r--gdk/wayland/gdksurface-wayland.h2
-rw-r--r--gdk/wayland/gdkwayland.h4
-rw-r--r--gdk/wayland/gdkwaylandpopup.h44
-rw-r--r--gdk/wayland/gdkwaylandsurface.h39
-rw-r--r--gdk/wayland/gdkwaylandtoplevel.h66
-rw-r--r--gdk/wayland/meson.build2
6 files changed, 117 insertions, 40 deletions
diff --git a/gdk/wayland/gdksurface-wayland.h b/gdk/wayland/gdksurface-wayland.h
index cb4c63b049..67ed926afd 100644
--- a/gdk/wayland/gdksurface-wayland.h
+++ b/gdk/wayland/gdksurface-wayland.h
@@ -21,6 +21,8 @@
#pragma once
#include "gdkwaylandsurface.h"
+#include "gdkwaylandtoplevel.h"
+#include "gdkwaylandpopup.h"
G_BEGIN_DECLS
diff --git a/gdk/wayland/gdkwayland.h b/gdk/wayland/gdkwayland.h
index 4e7981a229..e48d6946e5 100644
--- a/gdk/wayland/gdkwayland.h
+++ b/gdk/wayland/gdkwayland.h
@@ -31,10 +31,12 @@
#include <gdk/wayland/gdkwaylanddevice.h>
#include <gdk/wayland/gdkwaylanddisplay.h>
+#include <gdk/wayland/gdkwaylandglcontext.h>
#include <gdk/wayland/gdkwaylandmonitor.h>
+#include <gdk/wayland/gdkwaylandpopup.h>
#include <gdk/wayland/gdkwaylandseat.h>
#include <gdk/wayland/gdkwaylandsurface.h>
-#include <gdk/wayland/gdkwaylandglcontext.h>
+#include <gdk/wayland/gdkwaylandtoplevel.h>
#undef __GDKWAYLAND_H_INSIDE__
diff --git a/gdk/wayland/gdkwaylandpopup.h b/gdk/wayland/gdkwaylandpopup.h
new file mode 100644
index 0000000000..6eba06792b
--- /dev/null
+++ b/gdk/wayland/gdkwaylandpopup.h
@@ -0,0 +1,44 @@
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 2013 Jan Arne Petersen
+ *
+ * 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 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 <gdk/wayland/gdkwaylandsurface.h>
+
+#include <wayland-client.h>
+
+G_BEGIN_DECLS
+
+#ifdef GTK_COMPILATION
+typedef struct _GdkWaylandPopup GdkWaylandPopup;
+#else
+typedef GdkPopup GdkWaylandPopup;
+#endif
+
+#define GDK_TYPE_WAYLAND_POPUP (gdk_wayland_popup_get_type())
+#define GDK_WAYLAND_POPUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_POPUP, GdkWaylandPopup))
+#define GDK_IS_WAYLAND_POPUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_POPUP))
+
+GDK_AVAILABLE_IN_ALL
+GType gdk_wayland_popup_get_type (void);
+
+G_END_DECLS
diff --git a/gdk/wayland/gdkwaylandsurface.h b/gdk/wayland/gdkwaylandsurface.h
index 851a4d5607..7d9e0897b2 100644
--- a/gdk/wayland/gdkwaylandsurface.h
+++ b/gdk/wayland/gdkwaylandsurface.h
@@ -30,59 +30,20 @@ G_BEGIN_DECLS
#ifdef GTK_COMPILATION
typedef struct _GdkWaylandSurface GdkWaylandSurface;
-typedef struct _GdkWaylandToplevel GdkWaylandToplevel;
-typedef struct _GdkWaylandPopup GdkWaylandPopup;
#else
typedef GdkSurface GdkWaylandSurface;
-typedef GdkToplevel GdkWaylandToplevel;
-typedef GdkPopup GdkWaylandPopup;
#endif
#define GDK_TYPE_WAYLAND_SURFACE (gdk_wayland_surface_get_type())
#define GDK_WAYLAND_SURFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_SURFACE, GdkWaylandSurface))
#define GDK_IS_WAYLAND_SURFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_SURFACE))
-#define GDK_TYPE_WAYLAND_TOPLEVEL (gdk_wayland_toplevel_get_type())
-#define GDK_WAYLAND_TOPLEVEL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_TOPLEVEL, GdkWaylandToplevel))
-#define GDK_IS_WAYLAND_TOPLEVEL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_TOPLEVEL))
-
-#define GDK_TYPE_WAYLAND_POPUP (gdk_wayland_popup_get_type())
-#define GDK_WAYLAND_POPUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_POPUP, GdkWaylandPopup))
-#define GDK_IS_WAYLAND_POPUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_POPUP))
-
GDK_AVAILABLE_IN_ALL
GType gdk_wayland_surface_get_type (void);
GDK_AVAILABLE_IN_ALL
-GType gdk_wayland_toplevel_get_type (void);
-
-GDK_AVAILABLE_IN_ALL
-GType gdk_wayland_popup_get_type (void);
-
-GDK_AVAILABLE_IN_ALL
struct wl_surface *gdk_wayland_surface_get_wl_surface (GdkSurface *surface);
-typedef void (*GdkWaylandToplevelExported) (GdkToplevel *toplevel,
- const char *handle,
- gpointer user_data);
-
-GDK_AVAILABLE_IN_ALL
-gboolean gdk_wayland_toplevel_export_handle (GdkToplevel *toplevel,
- GdkWaylandToplevelExported callback,
- gpointer user_data,
- GDestroyNotify destroy_func);
-
-GDK_AVAILABLE_IN_ALL
-void gdk_wayland_toplevel_unexport_handle (GdkToplevel *toplevel);
-
-GDK_AVAILABLE_IN_ALL
-gboolean gdk_wayland_toplevel_set_transient_for_exported (GdkToplevel *toplevel,
- const char *parent_handle_str);
-
-GDK_AVAILABLE_IN_ALL
-void gdk_wayland_toplevel_set_application_id (GdkToplevel *toplevel,
- const char *application_id);
-
G_END_DECLS
#endif /* __GDK_WAYLAND_SURFACE_H__ */
diff --git a/gdk/wayland/gdkwaylandtoplevel.h b/gdk/wayland/gdkwaylandtoplevel.h
new file mode 100644
index 0000000000..36410b3054
--- /dev/null
+++ b/gdk/wayland/gdkwaylandtoplevel.h
@@ -0,0 +1,66 @@
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 2013 Jan Arne Petersen
+ *
+ * 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 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 <gdk/wayland/gdkwaylandsurface.h>
+
+#include <wayland-client.h>
+
+G_BEGIN_DECLS
+
+#ifdef GTK_COMPILATION
+typedef struct _GdkWaylandToplevel GdkWaylandToplevel;
+#else
+typedef GdkToplevel GdkWaylandToplevel;
+#endif
+
+#define GDK_TYPE_WAYLAND_TOPLEVEL (gdk_wayland_toplevel_get_type())
+#define GDK_WAYLAND_TOPLEVEL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_TOPLEVEL, GdkWaylandToplevel))
+#define GDK_IS_WAYLAND_TOPLEVEL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_TOPLEVEL))
+
+GDK_AVAILABLE_IN_ALL
+GType gdk_wayland_toplevel_get_type (void);
+
+
+typedef void (*GdkWaylandToplevelExported) (GdkToplevel *toplevel,
+ const char *handle,
+ gpointer user_data);
+
+GDK_AVAILABLE_IN_ALL
+gboolean gdk_wayland_toplevel_export_handle (GdkToplevel *toplevel,
+ GdkWaylandToplevelExported callback,
+ gpointer user_data,
+ GDestroyNotify destroy_func);
+
+GDK_AVAILABLE_IN_ALL
+void gdk_wayland_toplevel_unexport_handle (GdkToplevel *toplevel);
+
+GDK_AVAILABLE_IN_ALL
+gboolean gdk_wayland_toplevel_set_transient_for_exported (GdkToplevel *toplevel,
+ const char *parent_handle_str);
+
+GDK_AVAILABLE_IN_ALL
+void gdk_wayland_toplevel_set_application_id (GdkToplevel *toplevel,
+ const char *application_id);
+
+G_END_DECLS
diff --git a/gdk/wayland/meson.build b/gdk/wayland/meson.build
index 294e30ea20..f63f149230 100644
--- a/gdk/wayland/meson.build
+++ b/gdk/wayland/meson.build
@@ -25,8 +25,10 @@ gdk_wayland_public_headers = files([
'gdkwaylanddisplay.h',
'gdkwaylandglcontext.h',
'gdkwaylandmonitor.h',
+ 'gdkwaylandpopup.h',
'gdkwaylandseat.h',
'gdkwaylandsurface.h',
+ 'gdkwaylandtoplevel.h',
])
install_headers(gdk_wayland_public_headers, 'gdkwayland.h', subdir: 'gtk-4.0/gdk/wayland/')