[gtk: 3/7] wayland: Move toplevel/popup/drag surface definitions higher up
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 3/7] wayland: Move toplevel/popup/drag surface definitions higher up
- Date: Wed, 8 Apr 2020 23:59:45 +0000 (UTC)
commit 0e601c0a70b55c2f42322c24b3351f9f28e4c196
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Tue Mar 17 15:23:57 2020 +0100
wayland: Move toplevel/popup/drag surface definitions higher up
We them up there, so that code higher up compared to where they are
defined now can make use of them. Also add a few macros for type
checking and casting.
gdk/wayland/gdksurface-wayland.c | 126 +++++++++++++++++++++------------------
1 file changed, 68 insertions(+), 58 deletions(-)
---
diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c
index 5e734e6ecd..cb4d5cfb68 100644
--- a/gdk/wayland/gdksurface-wayland.c
+++ b/gdk/wayland/gdksurface-wayland.c
@@ -200,6 +200,74 @@ struct _GdkWaylandSurfaceClass
GdkSurfaceClass parent_class;
};
+G_DEFINE_TYPE (GdkWaylandSurface, gdk_wayland_surface, GDK_TYPE_SURFACE)
+
+typedef struct _GdkWaylandToplevel GdkWaylandToplevel;
+struct _GdkWaylandToplevel
+{
+ GdkWaylandSurface parent_instance;
+};
+
+typedef struct
+{
+ GdkWaylandSurfaceClass parent_class;
+} GdkWaylandToplevelClass;
+
+static void gdk_wayland_toplevel_iface_init (GdkToplevelInterface *iface);
+
+GType gdk_wayland_toplevel_get_type (void) G_GNUC_CONST;
+
+#define GDK_IS_WAYLAND_TOPLEVEL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_TOPLEVEL))
+#define GDK_WAYLAND_TOPLEVEL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_TOPLEVEL,
GdkWaylandToplevel))
+
+#define GDK_TYPE_WAYLAND_TOPLEVEL (gdk_wayland_toplevel_get_type ())
+G_DEFINE_TYPE_WITH_CODE (GdkWaylandToplevel, gdk_wayland_toplevel, GDK_TYPE_WAYLAND_SURFACE,
+ G_IMPLEMENT_INTERFACE (GDK_TYPE_TOPLEVEL,
+ gdk_wayland_toplevel_iface_init))
+
+typedef struct
+{
+ GdkWaylandSurface parent_instance;
+} GdkWaylandPopup;
+
+typedef struct
+{
+ GdkWaylandSurfaceClass parent_class;
+} GdkWaylandPopupClass;
+
+static void gdk_wayland_popup_iface_init (GdkPopupInterface *iface);
+
+GType gdk_wayland_popup_get_type (void) G_GNUC_CONST;
+
+#define GDK_IS_WAYLAND_POPUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_POPUP))
+#define GDK_WAYLAND_POPUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_POPUP,
GdkWaylandPopup))
+
+#define GDK_TYPE_WAYLAND_POPUP (gdk_wayland_popup_get_type ())
+G_DEFINE_TYPE_WITH_CODE (GdkWaylandPopup, gdk_wayland_popup, GDK_TYPE_WAYLAND_SURFACE,
+ G_IMPLEMENT_INTERFACE (GDK_TYPE_POPUP,
+ gdk_wayland_popup_iface_init))
+
+typedef struct
+{
+ GdkWaylandSurface parent_instance;
+} GdkWaylandDragSurface;
+
+typedef struct
+{
+ GdkWaylandSurfaceClass parent_class;
+} GdkWaylandDragSurfaceClass;
+
+static void gdk_wayland_drag_surface_iface_init (GdkDragSurfaceInterface *iface);
+
+GType gdk_wayland_drag_surface_get_type (void) G_GNUC_CONST;
+
+#define GDK_IS_WAYLAND_DRAG_SURFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object),
GDK_TYPE_WAYLAND_DRAG_SURFACE))
+
+#define GDK_TYPE_WAYLAND_DRAG_SURFACE (gdk_wayland_drag_surface_get_type ())
+G_DEFINE_TYPE_WITH_CODE (GdkWaylandDragSurface, gdk_wayland_drag_surface, GDK_TYPE_WAYLAND_SURFACE,
+ G_IMPLEMENT_INTERFACE (GDK_TYPE_DRAG_SURFACE,
+ gdk_wayland_drag_surface_iface_init))
+
static void gdk_wayland_surface_maybe_resize (GdkSurface *surface,
int width,
int height,
@@ -231,16 +299,6 @@ static void update_popup_layout_state (GdkSurface *surface,
static gboolean gdk_wayland_surface_is_exported (GdkSurface *surface);
-G_DEFINE_TYPE (GdkWaylandSurface, gdk_wayland_surface, GDK_TYPE_SURFACE)
-
-GType gdk_wayland_toplevel_get_type (void) G_GNUC_CONST;
-GType gdk_wayland_popup_get_type (void) G_GNUC_CONST;
-GType gdk_wayland_drag_surface_get_type (void) G_GNUC_CONST;
-
-#define GDK_TYPE_WAYLAND_TOPLEVEL (gdk_wayland_toplevel_get_type ())
-#define GDK_TYPE_WAYLAND_POPUP (gdk_wayland_popup_get_type ())
-#define GDK_TYPE_WAYLAND_DRAG_SURFACE (gdk_wayland_drag_surface_get_type ())
-
static void
gdk_wayland_surface_init (GdkWaylandSurface *impl)
{
@@ -4285,22 +4343,6 @@ create_dnd_surface (GdkDisplay *display)
#define LAST_PROP 1
-typedef struct
-{
- GdkWaylandSurface parent_instance;
-} GdkWaylandPopup;
-
-typedef struct
-{
- GdkWaylandSurfaceClass parent_class;
-} GdkWaylandPopupClass;
-
-static void gdk_wayland_popup_iface_init (GdkPopupInterface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (GdkWaylandPopup, gdk_wayland_popup, GDK_TYPE_WAYLAND_SURFACE,
- G_IMPLEMENT_INTERFACE (GDK_TYPE_POPUP,
- gdk_wayland_popup_iface_init))
-
static void
gdk_wayland_popup_init (GdkWaylandPopup *popup)
{
@@ -4410,22 +4452,6 @@ gdk_wayland_popup_iface_init (GdkPopupInterface *iface)
iface->get_position_y = gdk_wayland_popup_get_position_y;
}
-typedef struct
-{
- GdkWaylandSurface parent_instance;
-} GdkWaylandToplevel;
-
-typedef struct
-{
- GdkWaylandSurfaceClass parent_class;
-} GdkWaylandToplevelClass;
-
-static void gdk_wayland_toplevel_iface_init (GdkToplevelInterface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (GdkWaylandToplevel, gdk_wayland_toplevel, GDK_TYPE_WAYLAND_SURFACE,
- G_IMPLEMENT_INTERFACE (GDK_TYPE_TOPLEVEL,
- gdk_wayland_toplevel_iface_init))
-
static void
gdk_wayland_toplevel_init (GdkWaylandToplevel *toplevel)
{
@@ -4733,22 +4759,6 @@ gdk_wayland_toplevel_iface_init (GdkToplevelInterface *iface)
iface->restore_system_shortcuts = gdk_wayland_toplevel_restore_system_shortcuts;
}
-typedef struct
-{
- GdkWaylandSurface parent_instance;
-} GdkWaylandDragSurface;
-
-typedef struct
-{
- GdkWaylandSurfaceClass parent_class;
-} GdkWaylandDragSurfaceClass;
-
-static void gdk_wayland_drag_surface_iface_init (GdkDragSurfaceInterface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (GdkWaylandDragSurface, gdk_wayland_drag_surface, GDK_TYPE_WAYLAND_SURFACE,
- G_IMPLEMENT_INTERFACE (GDK_TYPE_DRAG_SURFACE,
- gdk_wayland_drag_surface_iface_init))
-
static void
gdk_wayland_drag_surface_init (GdkWaylandDragSurface *surface)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]