compositor: Drop get_stage_for_display helper
As one can get that from the backend/compositor directly. Expose the necessary functions to allow doing so. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4131>
This commit is contained in:
parent
1152326ac0
commit
38a4b2e102
@ -66,12 +66,7 @@ gboolean meta_compositor_is_unredirect_inhibited (MetaCompositor *compositor);
|
|||||||
|
|
||||||
MetaDisplay * meta_compositor_get_display (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);
|
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_is_switching_workspace (MetaCompositor *compositor);
|
||||||
|
|
||||||
gboolean meta_compositor_drag_window (MetaCompositor *compositor,
|
gboolean meta_compositor_drag_window (MetaCompositor *compositor,
|
||||||
|
@ -208,27 +208,6 @@ get_compositor_for_display (MetaDisplay *display)
|
|||||||
return display->compositor;
|
return display->compositor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* meta_get_stage_for_display:
|
|
||||||
* @display: a #MetaDisplay
|
|
||||||
*
|
|
||||||
* Returns: (transfer none): The #ClutterStage for the display
|
|
||||||
*/
|
|
||||||
ClutterActor *
|
|
||||||
meta_get_stage_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 meta_backend_get_stage (priv->backend);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_get_window_group_for_display:
|
* meta_get_window_group_for_display:
|
||||||
* @display: a #MetaDisplay
|
* @display: a #MetaDisplay
|
||||||
@ -1329,12 +1308,14 @@ void
|
|||||||
meta_compositor_flash_display (MetaCompositor *compositor,
|
meta_compositor_flash_display (MetaCompositor *compositor,
|
||||||
MetaDisplay *display)
|
MetaDisplay *display)
|
||||||
{
|
{
|
||||||
|
MetaBackend *backend;
|
||||||
ClutterActor *stage;
|
ClutterActor *stage;
|
||||||
ClutterActor *flash;
|
ClutterActor *flash;
|
||||||
ClutterTransition *transition;
|
ClutterTransition *transition;
|
||||||
gfloat width, height;
|
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);
|
clutter_actor_get_size (stage, &width, &height);
|
||||||
|
|
||||||
flash = clutter_actor_new ();
|
flash = clutter_actor_new ();
|
||||||
@ -1517,6 +1498,12 @@ meta_compositor_get_display (MetaCompositor *compositor)
|
|||||||
return priv->display;
|
return priv->display;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_compositor_get_stage:
|
||||||
|
* @compositor: a #MetaCompositor
|
||||||
|
*
|
||||||
|
* Returns: (transfer none): The stage corresponding to @compositor
|
||||||
|
*/
|
||||||
ClutterStage *
|
ClutterStage *
|
||||||
meta_compositor_get_stage (MetaCompositor *compositor)
|
meta_compositor_get_stage (MetaCompositor *compositor)
|
||||||
{
|
{
|
||||||
@ -1526,6 +1513,12 @@ meta_compositor_get_stage (MetaCompositor *compositor)
|
|||||||
return CLUTTER_STAGE (meta_backend_get_stage (priv->backend));
|
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 *
|
MetaBackend *
|
||||||
meta_compositor_get_backend (MetaCompositor *compositor)
|
meta_compositor_get_backend (MetaCompositor *compositor)
|
||||||
{
|
{
|
||||||
|
@ -453,7 +453,7 @@ start (MetaPlugin *plugin)
|
|||||||
if (meta_is_wayland_compositor ())
|
if (meta_is_wayland_compositor ())
|
||||||
init_keymap (self, backend);
|
init_keymap (self, backend);
|
||||||
|
|
||||||
clutter_actor_show (meta_get_stage_for_display (display));
|
clutter_actor_show (meta_backend_get_stage (backend));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -462,6 +462,7 @@ switch_workspace (MetaPlugin *plugin,
|
|||||||
MetaMotionDirection direction)
|
MetaMotionDirection direction)
|
||||||
{
|
{
|
||||||
MetaDisplay *display;
|
MetaDisplay *display;
|
||||||
|
MetaCompositor *compositor;
|
||||||
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
|
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
|
||||||
GList *l;
|
GList *l;
|
||||||
ClutterActor *stage;
|
ClutterActor *stage;
|
||||||
@ -475,7 +476,8 @@ switch_workspace (MetaPlugin *plugin,
|
|||||||
}
|
}
|
||||||
|
|
||||||
display = meta_plugin_get_display (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,
|
meta_display_get_size (display,
|
||||||
&screen_width,
|
&screen_width,
|
||||||
|
@ -28,8 +28,6 @@
|
|||||||
#include "meta/types.h"
|
#include "meta/types.h"
|
||||||
|
|
||||||
/* Public compositor API */
|
/* Public compositor API */
|
||||||
META_EXPORT
|
|
||||||
ClutterActor *meta_get_stage_for_display (MetaDisplay *display);
|
|
||||||
|
|
||||||
META_EXPORT
|
META_EXPORT
|
||||||
GList *meta_get_window_actors (MetaDisplay *display);
|
GList *meta_get_window_actors (MetaDisplay *display);
|
||||||
|
@ -71,3 +71,9 @@ MetaLaters * meta_compositor_get_laters (MetaCompositor *compositor);
|
|||||||
|
|
||||||
META_EXPORT
|
META_EXPORT
|
||||||
ClutterActor * meta_compositor_get_feedback_group (MetaCompositor *compositor);
|
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);
|
||||||
|
@ -368,7 +368,7 @@ meta_test_shell_start (MetaPlugin *plugin)
|
|||||||
test_shell);
|
test_shell);
|
||||||
|
|
||||||
if (test_shell->show_stage)
|
if (test_shell->show_stage)
|
||||||
clutter_actor_show (meta_get_stage_for_display (display));
|
clutter_actor_show (meta_backend_get_stage (backend));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -378,6 +378,7 @@ meta_test_shell_switch_workspace (MetaPlugin *plugin,
|
|||||||
MetaMotionDirection direction)
|
MetaMotionDirection direction)
|
||||||
{
|
{
|
||||||
MetaTestShell *test_shell = META_TEST_SHELL (plugin);
|
MetaTestShell *test_shell = META_TEST_SHELL (plugin);
|
||||||
|
MetaCompositor *compositor;
|
||||||
MetaDisplay *display;
|
MetaDisplay *display;
|
||||||
ClutterActor *stage;
|
ClutterActor *stage;
|
||||||
ClutterActor *workspace1, *workspace2;
|
ClutterActor *workspace1, *workspace2;
|
||||||
@ -391,7 +392,8 @@ meta_test_shell_switch_workspace (MetaPlugin *plugin,
|
|||||||
}
|
}
|
||||||
|
|
||||||
display = meta_plugin_get_display (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,
|
meta_display_get_size (display,
|
||||||
&screen_width,
|
&screen_width,
|
||||||
|
@ -1276,7 +1276,7 @@ static gboolean
|
|||||||
stage_is_focused (MetaX11Display *x11_display)
|
stage_is_focused (MetaX11Display *x11_display)
|
||||||
{
|
{
|
||||||
MetaDisplay *display = x11_display->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);
|
Window xwindow = meta_x11_get_stage_window (stage);
|
||||||
|
|
||||||
return x11_display->focus_xwindow == xwindow;
|
return x11_display->focus_xwindow == xwindow;
|
||||||
@ -1286,7 +1286,7 @@ static gboolean
|
|||||||
stage_has_focus_actor (MetaX11Display *x11_display)
|
stage_has_focus_actor (MetaX11Display *x11_display)
|
||||||
{
|
{
|
||||||
MetaDisplay *display = x11_display->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;
|
ClutterActor *key_focus;
|
||||||
|
|
||||||
key_focus = clutter_stage_get_key_focus (stage);
|
key_focus = clutter_stage_get_key_focus (stage);
|
||||||
@ -1542,7 +1542,7 @@ meta_x11_display_new (MetaDisplay *display,
|
|||||||
if (!meta_is_wayland_compositor ())
|
if (!meta_is_wayland_compositor ())
|
||||||
{
|
{
|
||||||
ClutterStage *stage =
|
ClutterStage *stage =
|
||||||
CLUTTER_STAGE (meta_get_stage_for_display (display));
|
CLUTTER_STAGE (meta_backend_get_stage (backend));
|
||||||
|
|
||||||
g_signal_connect_object (stage,
|
g_signal_connect_object (stage,
|
||||||
"notify::key-focus",
|
"notify::key-focus",
|
||||||
@ -2327,7 +2327,7 @@ meta_x11_display_set_input_focus (MetaX11Display *x11_display,
|
|||||||
MetaFrame *frame;
|
MetaFrame *frame;
|
||||||
#ifdef HAVE_X11
|
#ifdef HAVE_X11
|
||||||
MetaDisplay *display = x11_display->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));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (window && META_IS_WINDOW_X11 (window))
|
if (window && META_IS_WINDOW_X11 (window))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user