wayland: Split public headers
authorMatthias Clasen <mclasen@redhat.com>
Tue, 15 Nov 2022 19:52:49 +0000 (14:52 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 6 Jan 2023 18:47:34 +0000 (13:47 -0500)
Split gdkwaylandsurface.h into itself,
gdkwaylandtoplevel.h and gdkwaylandpopup.h.
This is in preparation for splitting the
types for real.

gdk/wayland/gdksurface-wayland.h
gdk/wayland/gdkwayland.h
gdk/wayland/gdkwaylandpopup.h [new file with mode: 0644]
gdk/wayland/gdkwaylandsurface.h
gdk/wayland/gdkwaylandtoplevel.h [new file with mode: 0644]
gdk/wayland/meson.build

index cb4c63b049ca48a1cadd66074a14167039a6438b..67ed926afdaf8d06a0007ba6254f30982d791a88 100644 (file)
@@ -21,6 +21,8 @@
 #pragma once
 
 #include "gdkwaylandsurface.h"
+#include "gdkwaylandtoplevel.h"
+#include "gdkwaylandpopup.h"
 
 G_BEGIN_DECLS
 
index 4e7981a229acc855bac793bc0c8eb80db51d6422..e48d6946e5e9fb9d72bf58af2893fc1b0f9122a5 100644 (file)
 
 #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 (file)
index 0000000..6eba067
--- /dev/null
@@ -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
index 851a4d5607fea1cdfde191a7fe7b5c351f8f5d1f..7d9e0897b2d58a5050b169c58941f14cdec533fe 100644 (file)
@@ -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 (file)
index 0000000..36410b3
--- /dev/null
@@ -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
index 294e30ea2020d86362f0414933053df1a05b2e54..f63f14923018651c02748fac69e339f4de93cfc5 100644 (file)
@@ -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/')