mirror of
https://github.com/brl/mutter.git
synced 2024-12-25 12:32:05 +00:00
wayland: Make the MetaWaylandCompositor type public
Allows mutter implementation to have access to the underlying wl_display. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3092>
This commit is contained in:
parent
86b77f65e7
commit
6b9efc3b0c
@ -69,9 +69,6 @@ void meta_context_set_unsafe_mode (MetaContext *context,
|
||||
gboolean enable);
|
||||
|
||||
#ifdef HAVE_WAYLAND
|
||||
META_EXPORT_TEST
|
||||
MetaWaylandCompositor * meta_context_get_wayland_compositor (MetaContext *context);
|
||||
|
||||
META_EXPORT_TEST
|
||||
MetaServiceChannel * meta_context_get_service_channel (MetaContext *context);
|
||||
#endif
|
||||
|
@ -242,6 +242,16 @@ meta_context_get_display (MetaContext *context)
|
||||
}
|
||||
|
||||
#ifdef HAVE_WAYLAND
|
||||
/**
|
||||
* meta_context_get_wayland_compositor:
|
||||
* @context: The #MetaContext
|
||||
*
|
||||
* Get the #MetaWaylandCompositor associated with the MetaContext. The might be
|
||||
* none currently associated if the context hasn't been started or if the
|
||||
* requested compositor type is not %META_COMPOSITOR_TYPE_WAYLAND.
|
||||
*
|
||||
* Returns: (transfer none) (nullable): the #MetaWaylandCompositor
|
||||
*/
|
||||
MetaWaylandCompositor *
|
||||
meta_context_get_wayland_compositor (MetaContext *context)
|
||||
{
|
||||
|
@ -49,6 +49,7 @@ mutter_public_headers = [
|
||||
if have_wayland
|
||||
mutter_public_headers += [
|
||||
'meta-wayland-client.h',
|
||||
'meta-wayland-compositor.h',
|
||||
]
|
||||
endif
|
||||
|
||||
|
46
src/meta/meta-wayland-compositor.h
Normal file
46
src/meta/meta-wayland-compositor.h
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright 2023 Collabora Ltd.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef META_WAYLAND_COMPOSITOR_H
|
||||
#define META_WAYLAND_COMPOSITOR_H
|
||||
|
||||
#include <glib-object.h>
|
||||
#include <gio/gio.h>
|
||||
#include <wayland-server.h>
|
||||
|
||||
#include "meta/meta-context.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define META_TYPE_WAYLAND_COMPOSITOR (meta_wayland_compositor_get_type ())
|
||||
META_EXPORT
|
||||
G_DECLARE_FINAL_TYPE (MetaWaylandCompositor,
|
||||
meta_wayland_compositor,
|
||||
META, WAYLAND_COMPOSITOR,
|
||||
GObject)
|
||||
|
||||
META_EXPORT
|
||||
MetaWaylandCompositor *meta_context_get_wayland_compositor (MetaContext *context);
|
||||
|
||||
META_EXPORT
|
||||
struct wl_display *meta_wayland_compositor_get_wayland_display (MetaWaylandCompositor *compositor);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* META_WAYLAND_COMPOSITOR_H */
|
@ -26,6 +26,7 @@
|
||||
#include "clutter/clutter.h"
|
||||
#include "core/window-private.h"
|
||||
#include "meta/meta-cursor-tracker.h"
|
||||
#include "meta/meta-wayland-compositor.h"
|
||||
#include "wayland/meta-wayland-pointer-gestures.h"
|
||||
#include "wayland/meta-wayland-presentation-time-private.h"
|
||||
#include "wayland/meta-wayland-seat.h"
|
||||
@ -113,10 +114,6 @@ struct _MetaWaylandCompositor
|
||||
GQueue committed_transactions;
|
||||
};
|
||||
|
||||
#define META_TYPE_WAYLAND_COMPOSITOR (meta_wayland_compositor_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (MetaWaylandCompositor, meta_wayland_compositor,
|
||||
META, WAYLAND_COMPOSITOR, GObject)
|
||||
|
||||
gboolean meta_wayland_compositor_is_egl_display_bound (MetaWaylandCompositor *compositor);
|
||||
|
||||
#endif /* META_WAYLAND_PRIVATE_H */
|
||||
|
@ -1034,6 +1034,12 @@ meta_wayland_compositor_is_grabbed (MetaWaylandCompositor *compositor)
|
||||
return meta_wayland_seat_is_grabbed (compositor->seat);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_wayland_compositor_get_wayland_display:
|
||||
* @compositor: The #MetaWaylandCompositor
|
||||
*
|
||||
* Returns: (transfer none): the Wayland display object
|
||||
*/
|
||||
struct wl_display *
|
||||
meta_wayland_compositor_get_wayland_display (MetaWaylandCompositor *compositor)
|
||||
{
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "core/meta-context-private.h"
|
||||
#include "core/util-private.h"
|
||||
#include "meta/types.h"
|
||||
#include "meta/meta-wayland-compositor.h"
|
||||
#include "wayland/meta-wayland-text-input.h"
|
||||
#include "wayland/meta-wayland-types.h"
|
||||
|
||||
@ -103,9 +104,6 @@ MetaXWaylandManager * meta_wayland_compositor_get_xwayland_manager (MetaWaylan
|
||||
META_EXPORT_TEST
|
||||
MetaContext * meta_wayland_compositor_get_context (MetaWaylandCompositor *compositor);
|
||||
|
||||
META_EXPORT_TEST
|
||||
struct wl_display * meta_wayland_compositor_get_wayland_display (MetaWaylandCompositor *compositor);
|
||||
|
||||
gboolean meta_wayland_compositor_is_grabbed (MetaWaylandCompositor *compositor);
|
||||
|
||||
META_EXPORT_TEST
|
||||
|
Loading…
Reference in New Issue
Block a user