window: Add a type for Wayland windows

This commit is contained in:
Jasper St. Pierre 2014-03-19 09:26:17 -04:00
parent 63350c52cc
commit 1c41f71eef
4 changed files with 100 additions and 2 deletions

View File

@ -210,7 +210,9 @@ libmutter_wayland_la_SOURCES = \
wayland/meta-wayland-types.h \ wayland/meta-wayland-types.h \
wayland/meta-wayland-versions.h \ wayland/meta-wayland-versions.h \
wayland/meta-weston-launch.c \ 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 = \ nodist_libmutter_wayland_la_SOURCES = \
$(mutter_built_sources) $(mutter_built_sources)

View File

@ -61,6 +61,7 @@
#include "x11/xprops.h" #include "x11/xprops.h"
#include "x11/session.h" #include "x11/session.h"
#include "wayland/window-wayland.h"
#include "wayland/meta-wayland-private.h" #include "wayland/meta-wayland-private.h"
/* Windows that unmaximize to a size bigger than that fraction of the workarea /* 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) if (client_type == META_WINDOW_CLIENT_TYPE_X11)
window = g_object_new (META_TYPE_WINDOW_X11, NULL); window = g_object_new (META_TYPE_WINDOW_X11, NULL);
else else
window = g_object_new (META_TYPE_WINDOW, NULL); window = g_object_new (META_TYPE_WINDOW_WAYLAND, NULL);
window->constructing = TRUE; window->constructing = TRUE;

View File

@ -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)
{
}

View File

@ -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