[mutter/wayland] window: Add a type for Wayland windows



commit 1c41f71eef1d12862131c47d1461235dbe7a1e8e
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Wed Mar 19 09:26:17 2014 -0400

    window: Add a type for Wayland windows

 src/Makefile.am              |    4 ++-
 src/core/window.c            |    3 +-
 src/wayland/window-wayland.c |   51 ++++++++++++++++++++++++++++++++++++++++++
 src/wayland/window-wayland.h |   44 ++++++++++++++++++++++++++++++++++++
 4 files changed, 100 insertions(+), 2 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index d67362b..1d0c53c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -210,7 +210,9 @@ libmutter_wayland_la_SOURCES =                      \
        wayland/meta-wayland-types.h            \
        wayland/meta-wayland-versions.h         \
        wayland/meta-weston-launch.c            \
-       wayland/meta-weston-launch.h
+       wayland/meta-weston-launch.h            \
+       wayland/window-wayland.c                \
+       wayland/window-wayland.h
 
 nodist_libmutter_wayland_la_SOURCES =          \
        $(mutter_built_sources)
diff --git a/src/core/window.c b/src/core/window.c
index 0941dca..78adb98 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -61,6 +61,7 @@
 #include "x11/xprops.h"
 #include "x11/session.h"
 
+#include "wayland/window-wayland.h"
 #include "wayland/meta-wayland-private.h"
 
 /* Windows that unmaximize to a size bigger than that fraction of the workarea
@@ -783,7 +784,7 @@ _meta_window_shared_new (MetaDisplay         *display,
   if (client_type == META_WINDOW_CLIENT_TYPE_X11)
     window = g_object_new (META_TYPE_WINDOW_X11, NULL);
   else
-    window = g_object_new (META_TYPE_WINDOW, NULL);
+    window = g_object_new (META_TYPE_WINDOW_WAYLAND, NULL);
 
   window->constructing = TRUE;
 
diff --git a/src/wayland/window-wayland.c b/src/wayland/window-wayland.c
new file mode 100644
index 0000000..627755d
--- /dev/null
+++ b/src/wayland/window-wayland.c
@@ -0,0 +1,51 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+/*
+ * Copyright (C) 2014 Red Hat
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * Written by:
+ *     Jasper St. Pierre <jstpierre mecheye net>
+ */
+
+#include "config.h"
+
+#include "window-wayland.h"
+
+#include "window-private.h"
+
+struct _MetaWindowWayland
+{
+  MetaWindow parent;
+};
+
+struct _MetaWindowWaylandClass
+{
+  MetaWindowClass parent_class;
+};
+
+G_DEFINE_TYPE (MetaWindowWayland, meta_window_wayland, META_TYPE_WINDOW)
+
+static void
+meta_window_wayland_init (MetaWindowWayland *window_wayland)
+{
+}
+
+static void
+meta_window_wayland_class_init (MetaWindowWaylandClass *klass)
+{
+}
diff --git a/src/wayland/window-wayland.h b/src/wayland/window-wayland.h
new file mode 100644
index 0000000..c1c6674
--- /dev/null
+++ b/src/wayland/window-wayland.h
@@ -0,0 +1,44 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+/*
+ * Copyright (C) 2014 Red Hat
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * Written by:
+ *     Jasper St. Pierre <jstpierre mecheye net>
+ */
+
+#ifndef META_WINDOW_WAYLAND_H
+#define META_WINDOW_WAYLAND_H
+
+#include <meta/window.h>
+
+G_BEGIN_DECLS
+
+#define META_TYPE_WINDOW_WAYLAND            (meta_window_wayland_get_type())
+#define META_WINDOW_WAYLAND(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_WINDOW_WAYLAND, 
MetaWindowWayland))
+#define META_WINDOW_WAYLAND_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  META_TYPE_WINDOW_WAYLAND, 
MetaWindowWaylandClass))
+#define META_IS_WINDOW_WAYLAND(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_WINDOW_WAYLAND))
+#define META_IS_WINDOW_WAYLAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  META_TYPE_WINDOW_WAYLAND))
+#define META_WINDOW_WAYLAND_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  META_TYPE_WINDOW_WAYLAND, 
MetaWindowWaylandClass))
+
+GType meta_window_wayland_get_type (void);
+
+typedef struct _MetaWindowWayland      MetaWindowWayland;
+typedef struct _MetaWindowWaylandClass MetaWindowWaylandClass;
+
+#endif


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]