diff --git a/clutter/clutter/clutter-main.c b/clutter/clutter/clutter-main.c
index 1579e56459749447c0311f03303382a68cab8520..695cab01cdd68c156e1f18e17494590e20de669a 100644
--- a/clutter/clutter/clutter-main.c
+++ b/clutter/clutter/clutter-main.c
@@ -598,6 +598,12 @@ clutter_debug_set_max_render_time_constant (int max_render_time_constant_us)
clutter_max_render_time_constant_us = max_render_time_constant_us;
}
+/**
+ * clutter_get_debug_flags:
+ * @debug_flags: (out) (optional): return location for debug flags
+ * @draw_flags: (out) (optional): return location for draw debug flags
+ * @pick_flags: (out) (optional): return location for pick debug flags
+ */
void
clutter_get_debug_flags (ClutterDebugFlag *debug_flags,
ClutterDrawDebugFlag *draw_flags,
diff --git a/src/backends/meta-backend-private.h b/src/backends/meta-backend-private.h
index 6b6ee088c03dd13bd50b9a40c9ee464fd7b5bfb5..c34e1cffe9c0af15562bc515cac3fa0ca51f2ee6 100644
--- a/src/backends/meta-backend-private.h
+++ b/src/backends/meta-backend-private.h
@@ -144,8 +144,6 @@ MetaIdleManager * meta_backend_get_idle_manager (MetaBackend *backend);
META_EXPORT_TEST
MetaColorManager * meta_backend_get_color_manager (MetaBackend *backend);
-META_EXPORT_TEST
-MetaCursorTracker * meta_backend_get_cursor_tracker (MetaBackend *backend);
MetaCursorRenderer * meta_backend_get_cursor_renderer_for_device (MetaBackend *backend,
ClutterInputDevice *device);
META_EXPORT_TEST
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
index b1475ced900c9a90c8350fc1c7543acd7f1c0269..093b6279fa2ed6aba509f4ae99606ef035631dab 100644
--- a/src/backends/meta-backend.c
+++ b/src/backends/meta-backend.c
@@ -1442,6 +1442,12 @@ meta_backend_get_orientation_manager (MetaBackend *backend)
return priv->orientation_manager;
}
+/**
+ * meta_backend_get_cursor_tracker:
+ * @backend: a #MetaBackend
+ *
+ * Returns: (transfer none): The cursor tracker corresponding to @backend
+ */
MetaCursorTracker *
meta_backend_get_cursor_tracker (MetaBackend *backend)
{
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index e6c30aa699d57342ba3c82c8f1aced1c9b980744..a983a11f0b2348c3755d938ee32a7c0a1d4e1814 100644
--- a/src/backends/meta-cursor-tracker.c
+++ b/src/backends/meta-cursor-tracker.c
@@ -311,26 +311,6 @@ meta_cursor_tracker_class_init (MetaCursorTrackerClass *klass)
G_TYPE_NONE, 0);
}
-/**
- * meta_cursor_tracker_get_for_display:
- * @display: the #MetaDisplay
- *
- * Retrieves the cursor tracker object for @display.
- *
- * Returns: (transfer none): the cursor tracker object for @display.
- */
-MetaCursorTracker *
-meta_cursor_tracker_get_for_display (MetaDisplay *display)
-{
- MetaContext *context = meta_display_get_context (display);
- MetaBackend *backend = meta_context_get_backend (context);
- MetaCursorTracker *tracker = meta_backend_get_cursor_tracker (backend);
-
- g_assert (tracker);
-
- return tracker;
-}
-
static void
set_window_cursor (MetaCursorTracker *tracker,
gboolean has_cursor,
diff --git a/src/backends/meta-stage-impl.c b/src/backends/meta-stage-impl.c
index c8d202680cbae030826679197a7b7bd93007cfbc..e3604a12d6b5d409cbf4d6b9c209d36b32f73632 100644
--- a/src/backends/meta-stage-impl.c
+++ b/src/backends/meta-stage-impl.c
@@ -541,7 +541,7 @@ meta_stage_impl_redraw_view_primary (MetaStageImpl *stage_impl,
buffer_age);
}
- meta_get_clutter_debug_flags (NULL, &paint_debug_flags, NULL);
+ clutter_get_debug_flags (NULL, &paint_debug_flags, NULL);
use_clipped_redraw =
should_use_clipped_redraw (is_full_redraw,
diff --git a/src/backends/x11/meta-input-settings-x11.c b/src/backends/x11/meta-input-settings-x11.c
index 3225cef0c4621efdb58f63d1a4d5caaa7d89ff9a..2807a93c73fe5ec9f003692968bdcf8924647c49 100644
--- a/src/backends/x11/meta-input-settings-x11.c
+++ b/src/backends/x11/meta-input-settings-x11.c
@@ -30,7 +30,7 @@
#include "backends/x11/meta-backend-x11.h"
#include "backends/x11/meta-input-device-x11.h"
-#include "meta/meta-x11-display.h"
+#include "x11/meta-x11-display-private.h"
#include "mtk/mtk-x11.h"
typedef struct
diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h
index f4eab4521533d545f0559e6c426ecf1660d8118b..65e0935bd0f4d7cc155d69c32fe48262d5d71950 100644
--- a/src/compositor/compositor-private.h
+++ b/src/compositor/compositor-private.h
@@ -66,12 +66,7 @@ gboolean meta_compositor_is_unredirect_inhibited (MetaCompositor *compositor);
MetaDisplay * meta_compositor_get_display (MetaCompositor *compositor);
-MetaBackend * meta_compositor_get_backend (MetaCompositor *compositor);
-
MetaWindowActor * meta_compositor_get_top_window_actor (MetaCompositor *compositor);
-
-ClutterStage * meta_compositor_get_stage (MetaCompositor *compositor);
-
gboolean meta_compositor_is_switching_workspace (MetaCompositor *compositor);
gboolean meta_compositor_drag_window (MetaCompositor *compositor,
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 51b4228bf856aa650d186a7c1ec3ec63af2f7515..72dd0b35c4a7247e2af00b061e18d49e7194fafd 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -42,8 +42,8 @@
* There's two containers in the stage that are used to place window actors, here
* are listed in the order in which they are painted:
*
- * - window group, accessible with meta_get_window_group_for_display()
- * - top window group, accessible with meta_get_top_window_group_for_display()
+ * - window group, accessible with [method@Meta.Compositor.get_window_group]
+ * - top window group, accessible with [method@Meta.Compositor.get_top_window_group]
*
* Mutter will place actors representing windows in the window group, except for
* override-redirect windows (ie. popups and menus) which will be placed in the
@@ -62,7 +62,6 @@
#include "compositor/meta-window-group-private.h"
#include "core/util-private.h"
#include "core/window-private.h"
-#include "meta/compositor-mutter.h"
#include "meta/main.h"
#include "meta/meta-backend.h"
#include "meta/meta-background-actor.h"
@@ -201,70 +200,35 @@ meta_compositor_destroy (MetaCompositor *compositor)
g_object_unref (compositor);
}
-/* compat helper */
-static MetaCompositor *
-get_compositor_for_display (MetaDisplay *display)
-{
- return display->compositor;
-}
-
/**
- * meta_get_stage_for_display:
- * @display: a #MetaDisplay
+ * meta_compositor_get_window_group:
+ * @compositor: a #MetaCompositor
*
- * Returns: (transfer none): The #ClutterStage for the display
+ * Returns: (transfer none): The window group corresponding to @compositor
*/
ClutterActor *
-meta_get_stage_for_display (MetaDisplay *display)
+meta_compositor_get_window_group (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
MetaCompositorPrivate *priv;
- g_return_val_if_fail (display, NULL);
-
- compositor = get_compositor_for_display (display);
g_return_val_if_fail (compositor, NULL);
- priv = meta_compositor_get_instance_private (compositor);
-
- return meta_backend_get_stage (priv->backend);
-}
-/**
- * meta_get_window_group_for_display:
- * @display: a #MetaDisplay
- *
- * Returns: (transfer none): The window group corresponding to @display
- */
-ClutterActor *
-meta_get_window_group_for_display (MetaDisplay *display)
-{
- MetaCompositor *compositor;
- MetaCompositorPrivate *priv;
-
- g_return_val_if_fail (display, NULL);
-
- compositor = get_compositor_for_display (display);
- g_return_val_if_fail (compositor, NULL);
priv = meta_compositor_get_instance_private (compositor);
return priv->window_group;
}
/**
- * meta_get_top_window_group_for_display:
- * @display: a #MetaDisplay
+ * meta_compositor_get_top_window_group:
+ * @compositor: a #MetaCompositor
*
- * Returns: (transfer none): The top window group corresponding to @display
+ * Returns: (transfer none): The top window group corresponding to @compositor
*/
ClutterActor *
-meta_get_top_window_group_for_display (MetaDisplay *display)
+meta_compositor_get_top_window_group (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
MetaCompositorPrivate *priv;
- g_return_val_if_fail (display, NULL);
-
- compositor = get_compositor_for_display (display);
g_return_val_if_fail (compositor, NULL);
priv = meta_compositor_get_instance_private (compositor);
@@ -289,20 +253,16 @@ meta_compositor_get_feedback_group (MetaCompositor *compositor)
}
/**
- * meta_get_window_actors:
- * @display: a #MetaDisplay
+ * meta_compositor_get_window_actors:
+ * @compositor: a #MetaCompositor
*
- * Returns: (transfer none) (element-type Clutter.Actor): The set of #MetaWindowActor on @display
+ * Returns: (transfer none) (element-type Clutter.Actor): The set of #MetaWindowActor on @compositor
*/
GList *
-meta_get_window_actors (MetaDisplay *display)
+meta_compositor_get_window_actors (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
MetaCompositorPrivate *priv;
- g_return_val_if_fail (display, NULL);
-
- compositor = get_compositor_for_display (display);
g_return_val_if_fail (compositor, NULL);
priv = meta_compositor_get_instance_private (compositor);
@@ -1258,47 +1218,41 @@ meta_compositor_class_init (MetaCompositorClass *klass)
}
/**
- * meta_disable_unredirect_for_display:
- * @display: a #MetaDisplay
+ * meta_compositor_disable_unredirect:
+ * @compositor: a #MetaCompositor
*
* Disables unredirection, can be useful in situations where having
* unredirected windows is undesirable like when recording a video.
*
*/
void
-meta_disable_unredirect_for_display (MetaDisplay *display)
+meta_compositor_disable_unredirect (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
MetaCompositorPrivate *priv;
- if (display->closing)
- return;
-
- compositor = get_compositor_for_display (display);
priv = meta_compositor_get_instance_private (compositor);
+ if (priv->display->closing)
+ return;
priv->disable_unredirect_count++;
}
/**
- * meta_enable_unredirect_for_display:
- * @display: a #MetaDisplay
+ * meta_compositor_enable_unredirect:
+ * @compositor: a #MetaCompositor
*
* Enables unredirection which reduces the overhead for apps like games.
*
*/
void
-meta_enable_unredirect_for_display (MetaDisplay *display)
+meta_compositor_enable_unredirect (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
- MetaCompositorPrivate *priv;
+ MetaCompositorPrivate *priv =
+ meta_compositor_get_instance_private (compositor);
- if (display->closing)
+ if (priv->display->closing)
return;
- compositor = get_compositor_for_display (display);
- priv = meta_compositor_get_instance_private (compositor);
-
if (priv->disable_unredirect_count == 0)
g_warning ("Called enable_unredirect_for_display while unredirection is enabled.");
if (priv->disable_unredirect_count > 0)
@@ -1329,12 +1283,14 @@ void
meta_compositor_flash_display (MetaCompositor *compositor,
MetaDisplay *display)
{
+ MetaBackend *backend;
ClutterActor *stage;
ClutterActor *flash;
ClutterTransition *transition;
gfloat width, height;
- stage = meta_get_stage_for_display (display);
+ backend = meta_compositor_get_backend (compositor);
+ stage = meta_backend_get_stage (backend);
clutter_actor_get_size (stage, &width, &height);
flash = clutter_actor_new ();
@@ -1517,6 +1473,12 @@ meta_compositor_get_display (MetaCompositor *compositor)
return priv->display;
}
+/**
+ * meta_compositor_get_stage:
+ * @compositor: a #MetaCompositor
+ *
+ * Returns: (transfer none): The stage corresponding to @compositor
+ */
ClutterStage *
meta_compositor_get_stage (MetaCompositor *compositor)
{
@@ -1526,6 +1488,12 @@ meta_compositor_get_stage (MetaCompositor *compositor)
return CLUTTER_STAGE (meta_backend_get_stage (priv->backend));
}
+/**
+ * meta_compositor_get_backend:
+ * @compositor: a #MetaCompositor
+ *
+ * Returns: (transfer none): The backend corresponding to @compositor
+ */
MetaBackend *
meta_compositor_get_backend (MetaCompositor *compositor)
{
diff --git a/src/compositor/meta-feedback-actor.c b/src/compositor/meta-feedback-actor.c
index 19658f73e62c30205dabee0afdf27511a9c0e73f..f395fd29fc3452098e93b76bea33dbf89af0c81a 100644
--- a/src/compositor/meta-feedback-actor.c
+++ b/src/compositor/meta-feedback-actor.c
@@ -63,12 +63,11 @@ meta_feedback_actor_constructed (GObject *object)
MetaFeedbackActor *self = META_FEEDBACK_ACTOR (object);
MetaFeedbackActorPrivate *priv =
meta_feedback_actor_get_instance_private (self);
- MetaDisplay *display = meta_compositor_get_display (priv->compositor);
ClutterActor *feedback_group;
feedback_group = meta_compositor_get_feedback_group (priv->compositor);
clutter_actor_add_child (feedback_group, CLUTTER_ACTOR (object));
- meta_disable_unredirect_for_display (display);
+ meta_compositor_disable_unredirect (priv->compositor);
}
static void
@@ -77,9 +76,8 @@ meta_feedback_actor_finalize (GObject *object)
MetaFeedbackActor *self = META_FEEDBACK_ACTOR (object);
MetaFeedbackActorPrivate *priv =
meta_feedback_actor_get_instance_private (self);
- MetaDisplay *display = meta_compositor_get_display (priv->compositor);
- meta_enable_unredirect_for_display (display);
+ meta_compositor_enable_unredirect (priv->compositor);
G_OBJECT_CLASS (meta_feedback_actor_parent_class)->finalize (object);
}
diff --git a/src/compositor/meta-window-actor-private.h b/src/compositor/meta-window-actor-private.h
index 0d545f8acf54d682f57570e7a5ab7e54c8282460..73fc20d938095fad1f8861c909350b5d305e5284 100644
--- a/src/compositor/meta-window-actor-private.h
+++ b/src/compositor/meta-window-actor-private.h
@@ -4,7 +4,6 @@
#include "compositor/meta-plugin-manager.h"
#include "compositor/meta-surface-actor.h"
-#include "meta/compositor-mutter.h"
struct _MetaWindowActorClass
{
diff --git a/src/compositor/plugins/default.c b/src/compositor/plugins/default.c
index f302a07c299006adbd6f6811647fb4c8691d746f..ca93939cb4c3fc28d86b689af2b0199ae4e3183f 100644
--- a/src/compositor/plugins/default.c
+++ b/src/compositor/plugins/default.c
@@ -264,7 +264,8 @@ on_switch_workspace_effect_stopped (ClutterTimeline *timeline,
MetaPlugin *plugin = META_PLUGIN (data);
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
MetaDisplay *display = meta_plugin_get_display (plugin);
- GList *l = meta_get_window_actors (display);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
+ GList *l = meta_compositor_get_window_actors (compositor);
while (l)
{
@@ -434,11 +435,12 @@ start (MetaPlugin *plugin)
MetaDisplay *display = meta_plugin_get_display (plugin);
MetaContext *context = meta_display_get_context (display);
MetaBackend *backend = meta_context_get_backend (context);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
self->priv->background_group = meta_background_group_new ();
- clutter_actor_insert_child_below (meta_get_window_group_for_display (display),
+ clutter_actor_insert_child_below (meta_compositor_get_window_group (compositor),
self->priv->background_group, NULL);
g_signal_connect (monitor_manager, "monitors-changed",
@@ -453,7 +455,7 @@ start (MetaPlugin *plugin)
if (meta_is_wayland_compositor ())
init_keymap (self, backend);
- clutter_actor_show (meta_get_stage_for_display (display));
+ clutter_actor_show (meta_backend_get_stage (backend));
}
static void
@@ -462,6 +464,7 @@ switch_workspace (MetaPlugin *plugin,
MetaMotionDirection direction)
{
MetaDisplay *display;
+ MetaCompositor *compositor;
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
GList *l;
ClutterActor *stage;
@@ -475,7 +478,8 @@ switch_workspace (MetaPlugin *plugin,
}
display = meta_plugin_get_display (plugin);
- stage = meta_get_stage_for_display (display);
+ compositor = meta_display_get_compositor (display);
+ stage = CLUTTER_ACTOR (meta_compositor_get_stage (compositor));
meta_display_get_size (display,
&screen_width,
@@ -499,7 +503,9 @@ switch_workspace (MetaPlugin *plugin,
clutter_actor_add_child (stage, workspace1);
clutter_actor_add_child (stage, workspace2);
- for (l = g_list_last (meta_get_window_actors (display)); l; l = l->prev)
+ for (l = g_list_last (meta_compositor_get_window_actors (compositor));
+ l;
+ l = l->prev)
{
MetaWindowActor *window_actor = l->data;
ActorPrivate *apriv = get_actor_private (window_actor);
@@ -801,6 +807,7 @@ static DisplayTilePreview *
get_display_tile_preview (MetaDisplay *display)
{
DisplayTilePreview *preview;
+ MetaCompositor *compositor;
if (!display_tile_preview_data_quark)
{
@@ -818,7 +825,8 @@ get_display_tile_preview (MetaDisplay *display)
clutter_actor_set_background_color (preview->actor, &COGL_COLOR_INIT (0, 0, 255, 255));
clutter_actor_set_opacity (preview->actor, 100);
- clutter_actor_add_child (meta_get_window_group_for_display (display), preview->actor);
+ compositor = meta_display_get_compositor (display);
+ clutter_actor_add_child (meta_compositor_get_window_group (compositor), preview->actor);
g_signal_connect (display,
"closing",
G_CALLBACK (on_display_closing),
diff --git a/src/core/display.c b/src/core/display.c
index 2c02dc8247c31629b4d61175dbacbc2c3c6aa0ec..58dfbc388be8a454fa45e287e6a3abe11bab0dd1 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -53,7 +53,6 @@
#include "core/util-private.h"
#include "core/window-private.h"
#include "core/workspace-private.h"
-#include "meta/compositor-mutter.h"
#include "meta/compositor.h"
#include "meta/main.h"
#include "meta/meta-backend.h"
diff --git a/src/core/util.c b/src/core/util.c
index 3a9a0626c339c3950d1130755da01d16a43068ff..92c76910e0d04394807af6c5c76560f192e1a463 100644
--- a/src/core/util.c
+++ b/src/core/util.c
@@ -531,37 +531,6 @@ meta_generate_random_id (GRand *rand,
return id;
}
-
-void
-meta_add_clutter_debug_flags (ClutterDebugFlag debug_flags,
- ClutterDrawDebugFlag draw_flags,
- ClutterPickDebugFlag pick_flags)
-{
- clutter_add_debug_flags (debug_flags, draw_flags, pick_flags);
-}
-
-void
-meta_remove_clutter_debug_flags (ClutterDebugFlag debug_flags,
- ClutterDrawDebugFlag draw_flags,
- ClutterPickDebugFlag pick_flags)
-{
- clutter_remove_debug_flags (debug_flags, draw_flags, pick_flags);
-}
-
-/**
- * meta_get_clutter_debug_flags:
- * @debug_flags: (out) (optional): return location for debug flags
- * @draw_flags: (out) (optional): return location for draw debug flags
- * @pick_flags: (out) (optional): return location for pick debug flags
- */
-void
-meta_get_clutter_debug_flags (ClutterDebugFlag *debug_flags,
- ClutterDrawDebugFlag *draw_flags,
- ClutterPickDebugFlag *pick_flags)
-{
- clutter_get_debug_flags (debug_flags, draw_flags, pick_flags);
-}
-
void
meta_add_debug_paint_flag (MetaDebugPaintFlag flag)
{
diff --git a/src/core/window.c b/src/core/window.c
index c3163f0740f19c9c63b6257352bee36cf4220e7b..776e93a06be0c4aa9dc9c4569df401001cd64b65 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -78,7 +78,6 @@
#include "core/stack.h"
#include "core/util-private.h"
#include "core/workspace-private.h"
-#include "meta/compositor-mutter.h"
#include "meta/meta-cursor-tracker.h"
#include "meta/meta-enum-types.h"
#include "meta/prefs.h"
diff --git a/src/meta/compositor-mutter.h b/src/meta/compositor-mutter.h
deleted file mode 100644
index 3a365f2d78d1b7ee43ead85e1f507cc2667a20ff..0000000000000000000000000000000000000000
--- a/src/meta/compositor-mutter.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-
-/*
- * Copyright (C) 2008 Matthew Allum
- * Copyright (C) 2007 Iain Holmes
- * Based on xcompmgr - (c) 2003 Keith Packard
- * xfwm4 - (c) 2005-2007 Olivier Fourdan
- *
- * 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, see .
- */
-
-#pragma once
-
-#include "clutter/clutter.h"
-#include "meta/compositor.h"
-#include "meta/meta-window-actor.h"
-#include "meta/types.h"
-
-/* Public compositor API */
-META_EXPORT
-ClutterActor *meta_get_stage_for_display (MetaDisplay *display);
-
-META_EXPORT
-GList *meta_get_window_actors (MetaDisplay *display);
-
-META_EXPORT
-ClutterActor *meta_get_window_group_for_display (MetaDisplay *display);
-
-META_EXPORT
-ClutterActor *meta_get_top_window_group_for_display (MetaDisplay *display);
-
-META_EXPORT
-void meta_disable_unredirect_for_display (MetaDisplay *display);
-
-META_EXPORT
-void meta_enable_unredirect_for_display (MetaDisplay *display);
diff --git a/src/meta/compositor.h b/src/meta/compositor.h
index d53e8c4864b0083469878895d569b8d096497e3b..745700a03f3a52690ea739f237dc0fe4f1833733 100644
--- a/src/meta/compositor.h
+++ b/src/meta/compositor.h
@@ -71,3 +71,24 @@ MetaLaters * meta_compositor_get_laters (MetaCompositor *compositor);
META_EXPORT
ClutterActor * meta_compositor_get_feedback_group (MetaCompositor *compositor);
+
+META_EXPORT
+MetaBackend * meta_compositor_get_backend (MetaCompositor *compositor);
+
+META_EXPORT
+ClutterStage * meta_compositor_get_stage (MetaCompositor *compositor);
+
+META_EXPORT
+ClutterActor * meta_compositor_get_window_group (MetaCompositor *compositor);
+
+META_EXPORT
+GList * meta_compositor_get_window_actors (MetaCompositor *compositor);
+
+META_EXPORT
+ClutterActor * meta_compositor_get_top_window_group (MetaCompositor *compositor);
+
+META_EXPORT
+void meta_compositor_disable_unredirect (MetaCompositor *compositor);
+
+META_EXPORT
+void meta_compositor_enable_unredirect (MetaCompositor *compositor);
diff --git a/src/meta/meson.build b/src/meta/meson.build
index bc9b82c8e1f4655f43386c19a6b9e937e3d45487..9bc208ae58c4267efd8682a72a57dbbecb75f7c8 100644
--- a/src/meta/meson.build
+++ b/src/meta/meson.build
@@ -3,7 +3,6 @@ mutter_public_headers = [
'boxes.h',
'common.h',
'compositor.h',
- 'compositor-mutter.h',
'display.h',
'keybindings.h',
'main.h',
diff --git a/src/meta/meta-backend.h b/src/meta/meta-backend.h
index 07719d67d072021561905fb51e269a8af6c88fe1..e77c70af992f097178e4895193a51adcc03604ec 100644
--- a/src/meta/meta-backend.h
+++ b/src/meta/meta-backend.h
@@ -99,3 +99,6 @@ MetaBackendCapabilities meta_backend_get_capabilities (MetaBackend *backend);
META_EXPORT
void meta_backend_renderdoc_capture (MetaBackend *backend);
+
+META_EXPORT
+MetaCursorTracker * meta_backend_get_cursor_tracker (MetaBackend *backend);
diff --git a/src/meta/meta-cursor-tracker.h b/src/meta/meta-cursor-tracker.h
index 4631f508d74d6243bd37e79242cd89a6fd9f6391..f99afaabc9a48339935909baf72395d61b690f41 100644
--- a/src/meta/meta-cursor-tracker.h
+++ b/src/meta/meta-cursor-tracker.h
@@ -36,9 +36,6 @@ G_DECLARE_DERIVABLE_TYPE (MetaCursorTracker,
META, CURSOR_TRACKER,
GObject)
-META_EXPORT
-MetaCursorTracker *meta_cursor_tracker_get_for_display (MetaDisplay *display);
-
META_EXPORT
void meta_cursor_tracker_get_hot (MetaCursorTracker *tracker,
int *x,
diff --git a/src/meta/meta-plugin.h b/src/meta/meta-plugin.h
index 6c24df7eb241f18529014f0ee59d7e540509cf50..bd880decb3cc9448cdb72af290050ef3096161f0 100644
--- a/src/meta/meta-plugin.h
+++ b/src/meta/meta-plugin.h
@@ -24,10 +24,10 @@
#include
#include "clutter/clutter.h"
-#include "meta/compositor-mutter.h"
#include "meta/compositor.h"
#include "meta/meta-close-dialog.h"
#include "meta/meta-inhibit-shortcuts-dialog.h"
+#include "meta/meta-window-actor.h"
#include "meta/types.h"
#define META_TYPE_PLUGIN (meta_plugin_get_type ())
diff --git a/src/meta/meta-x11-display.h b/src/meta/meta-x11-display.h
index 5d1237e024e6556d678d48dabfd2e8a3d25d45db..cf53f365603459bd743076015baa53852d7aab03 100644
--- a/src/meta/meta-x11-display.h
+++ b/src/meta/meta-x11-display.h
@@ -28,8 +28,6 @@
#include "meta/types.h"
#include "meta/meta-x11-types.h"
-#define meta_XFree(p) do { if ((p)) XFree ((p)); } while (0)
-
typedef void (* MetaX11DisplayEventFunc) (MetaX11Display *x11_display,
XEvent *xev,
gpointer user_data);
diff --git a/src/meta/util.h b/src/meta/util.h
index f3b05316166ed7b246e81ab555418d6ee1c5b3d8..e99efe8c393e0baad37d297f98ed537e9c7881b7 100644
--- a/src/meta/util.h
+++ b/src/meta/util.h
@@ -93,21 +93,6 @@ char* meta_external_binding_name_for_action (guint keybinding_action);
META_EXPORT
char* meta_g_utf8_strndup (const gchar *src, gsize n);
-META_EXPORT
-void meta_add_clutter_debug_flags (ClutterDebugFlag debug_flags,
- ClutterDrawDebugFlag draw_flags,
- ClutterPickDebugFlag pick_flags);
-
-META_EXPORT
-void meta_remove_clutter_debug_flags (ClutterDebugFlag debug_flags,
- ClutterDrawDebugFlag draw_flags,
- ClutterPickDebugFlag pick_flags);
-
-META_EXPORT
-void meta_get_clutter_debug_flags (ClutterDebugFlag *debug_flags,
- ClutterDrawDebugFlag *draw_flags,
- ClutterPickDebugFlag *pick_flags);
-
META_EXPORT
void meta_add_debug_paint_flag (MetaDebugPaintFlag flag);
diff --git a/src/tests/meta-ref-test.c b/src/tests/meta-ref-test.c
index 941e43cefab152b8b0e3095c662a3dde6c994241..28fac56e873b95fe73b05999fb6aa35d82f0f6ec 100644
--- a/src/tests/meta-ref-test.c
+++ b/src/tests/meta-ref-test.c
@@ -52,7 +52,7 @@
#include "backends/meta-gpu.h"
#include "backends/meta-stage-private.h"
#include "clutter/clutter/clutter-stage-view-private.h"
-#include "meta/compositor-mutter.h"
+#include "meta/compositor.h"
#include "tests/meta-ref-test-utils.h"
static void
@@ -154,9 +154,10 @@ capture_view (ClutterStageView *stage_view)
MetaStage *stage = META_STAGE (meta_backend_get_stage (backend));
MetaContext *context = meta_backend_get_context (backend);
MetaDisplay *display = meta_context_get_display (context);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
CaptureViewData data = { 0 };
- meta_disable_unredirect_for_display (display);
+ meta_compositor_disable_unredirect (compositor);
data.loop = g_main_loop_new (NULL, FALSE);
data.watch = meta_stage_watch_view (stage, stage_view,
@@ -172,7 +173,7 @@ capture_view (ClutterStageView *stage_view)
g_assert_null (data.watch);
g_assert_nonnull (data.out_image);
- meta_enable_unredirect_for_display (display);
+ meta_compositor_enable_unredirect (compositor);
return data.out_image;
}
diff --git a/src/tests/meta-test-shell.c b/src/tests/meta-test-shell.c
index 57be99508a77fdba829a156020bd6ec5b67f2984..b06cf1f269e775577d8f596871a0d0617d4260b5 100644
--- a/src/tests/meta-test-shell.c
+++ b/src/tests/meta-test-shell.c
@@ -212,7 +212,8 @@ on_switch_workspace_effect_stopped (ClutterTimeline *timeline,
MetaPlugin *plugin = META_PLUGIN (data);
MetaTestShell *test_shell = META_TEST_SHELL (plugin);
MetaDisplay *display = meta_plugin_get_display (plugin);
- GList *l = meta_get_window_actors (display);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
+ GList *l = meta_compositor_get_window_actors (compositor);
while (l)
{
@@ -347,13 +348,14 @@ meta_test_shell_start (MetaPlugin *plugin)
{
MetaTestShell *test_shell = META_TEST_SHELL (plugin);
MetaDisplay *display = meta_plugin_get_display (plugin);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
MetaContext *context = meta_display_get_context (display);
MetaBackend *backend = meta_context_get_backend (context);
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
test_shell->background_group = meta_background_group_new ();
- clutter_actor_insert_child_below (meta_get_window_group_for_display (display),
+ clutter_actor_insert_child_below (meta_compositor_get_window_group (compositor),
test_shell->background_group, NULL);
g_signal_connect (monitor_manager, "monitors-changed",
@@ -368,7 +370,7 @@ meta_test_shell_start (MetaPlugin *plugin)
test_shell);
if (test_shell->show_stage)
- clutter_actor_show (meta_get_stage_for_display (display));
+ clutter_actor_show (meta_backend_get_stage (backend));
}
static void
@@ -378,6 +380,7 @@ meta_test_shell_switch_workspace (MetaPlugin *plugin,
MetaMotionDirection direction)
{
MetaTestShell *test_shell = META_TEST_SHELL (plugin);
+ MetaCompositor *compositor;
MetaDisplay *display;
ClutterActor *stage;
ClutterActor *workspace1, *workspace2;
@@ -391,7 +394,8 @@ meta_test_shell_switch_workspace (MetaPlugin *plugin,
}
display = meta_plugin_get_display (plugin);
- stage = meta_get_stage_for_display (display);
+ compositor = meta_display_get_compositor (display);
+ stage = CLUTTER_ACTOR (meta_compositor_get_stage (compositor));
meta_display_get_size (display,
&screen_width,
@@ -413,7 +417,9 @@ meta_test_shell_switch_workspace (MetaPlugin *plugin,
clutter_actor_add_child (stage, workspace1);
clutter_actor_add_child (stage, workspace2);
- for (l = g_list_last (meta_get_window_actors (display)); l; l = l->prev)
+ for (l = g_list_last (meta_compositor_get_window_actors (compositor));
+ l;
+ l = l->prev)
{
MetaWindowActor *window_actor = l->data;
ActorPrivate *actor_priv = get_actor_private (window_actor);
@@ -711,6 +717,7 @@ static DisplayTilePreview *
get_display_tile_preview (MetaDisplay *display)
{
DisplayTilePreview *preview;
+ MetaCompositor *compositor;
if (!display_tile_preview_data_quark)
{
@@ -728,7 +735,8 @@ get_display_tile_preview (MetaDisplay *display)
clutter_actor_set_background_color (preview->actor, &COGL_COLOR_INIT (0, 0, 255, 255));
clutter_actor_set_opacity (preview->actor, 100);
- clutter_actor_add_child (meta_get_window_group_for_display (display),
+ compositor = meta_display_get_compositor (display);
+ clutter_actor_add_child (meta_compositor_get_window_group (compositor),
preview->actor);
g_signal_connect (display,
"closing",
diff --git a/src/x11/meta-x11-display-private.h b/src/x11/meta-x11-display-private.h
index e0fb1a2a9f6628851c68a7d05bd35cc1958d26c4..5514110d34b87d2fcbe9750704ef569bc230fd95 100644
--- a/src/x11/meta-x11-display-private.h
+++ b/src/x11/meta-x11-display-private.h
@@ -40,6 +40,8 @@
typedef struct _MetaGroupPropHooks MetaGroupPropHooks;
typedef struct _MetaWindowPropHooks MetaWindowPropHooks;
+#define meta_XFree(p) do { if ((p)) XFree ((p)); } while (0)
+
typedef gboolean (*MetaAlarmFilter) (MetaX11Display *x11_display,
XSyncAlarmNotifyEvent *event,
gpointer data);
diff --git a/src/x11/meta-x11-display.c b/src/x11/meta-x11-display.c
index d885a317667009cddfd19d074a13bd206237be38..66c3b5896792acc535739266dc2e8aba60ca2dd4 100644
--- a/src/x11/meta-x11-display.c
+++ b/src/x11/meta-x11-display.c
@@ -1276,7 +1276,7 @@ static gboolean
stage_is_focused (MetaX11Display *x11_display)
{
MetaDisplay *display = x11_display->display;
- ClutterStage *stage = CLUTTER_STAGE (meta_get_stage_for_display (display));
+ ClutterStage *stage = CLUTTER_STAGE (meta_compositor_get_stage (display->compositor));
Window xwindow = meta_x11_get_stage_window (stage);
return x11_display->focus_xwindow == xwindow;
@@ -1286,7 +1286,7 @@ static gboolean
stage_has_focus_actor (MetaX11Display *x11_display)
{
MetaDisplay *display = x11_display->display;
- ClutterStage *stage = CLUTTER_STAGE (meta_get_stage_for_display (display));
+ ClutterStage *stage = CLUTTER_STAGE (meta_compositor_get_stage (display->compositor));
ClutterActor *key_focus;
key_focus = clutter_stage_get_key_focus (stage);
@@ -1542,7 +1542,7 @@ meta_x11_display_new (MetaDisplay *display,
if (!meta_is_wayland_compositor ())
{
ClutterStage *stage =
- CLUTTER_STAGE (meta_get_stage_for_display (display));
+ CLUTTER_STAGE (meta_backend_get_stage (backend));
g_signal_connect_object (stage,
"notify::key-focus",
@@ -2327,7 +2327,7 @@ meta_x11_display_set_input_focus (MetaX11Display *x11_display,
MetaFrame *frame;
#ifdef HAVE_X11
MetaDisplay *display = x11_display->display;
- ClutterStage *stage = CLUTTER_STAGE (meta_get_stage_for_display (display));
+ ClutterStage *stage = CLUTTER_STAGE (meta_compositor_get_stage (display->compositor));
#endif
if (window && META_IS_WINDOW_X11 (window))
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 5005846fafa1c4ed7ac0c206ad9a3eefebc07b60..c97b5e6a66fb7ac8c333585ee4e1be133546172b 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -3195,7 +3195,9 @@ meta_window_x11_property_notify (MetaWindow *window,
static int
query_pressed_buttons (MetaWindow *window)
{
- MetaCursorTracker *tracker = meta_cursor_tracker_get_for_display (window->display);
+ MetaContext *context = meta_display_get_context (window->display);
+ MetaBackend *backend = meta_context_get_backend (context);
+ MetaCursorTracker *tracker = meta_backend_get_cursor_tracker (backend);
ClutterModifierType mods;
int button = 0;