mirror of
https://github.com/brl/mutter.git
synced 2025-02-15 12:54:10 +00:00
backends/stage: Emit signal between painting actors and overlays
Will be used by screen casting for embedding the cursor separately, or not including at all. https://gitlab.gnome.org/GNOME/mutter/merge_requests/357
This commit is contained in:
parent
7ca0fee437
commit
c5f0fc1276
@ -30,6 +30,15 @@
|
|||||||
#include "backends/meta-backend-private.h"
|
#include "backends/meta-backend-private.h"
|
||||||
#include "clutter/clutter-mutter.h"
|
#include "clutter/clutter-mutter.h"
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ACTORS_PAINTED,
|
||||||
|
|
||||||
|
N_SIGNALS
|
||||||
|
};
|
||||||
|
|
||||||
|
static guint signals[N_SIGNALS];
|
||||||
|
|
||||||
struct _MetaOverlay
|
struct _MetaOverlay
|
||||||
{
|
{
|
||||||
gboolean enabled;
|
gboolean enabled;
|
||||||
@ -141,6 +150,8 @@ meta_stage_paint (ClutterActor *actor)
|
|||||||
|
|
||||||
CLUTTER_ACTOR_CLASS (meta_stage_parent_class)->paint (actor);
|
CLUTTER_ACTOR_CLASS (meta_stage_parent_class)->paint (actor);
|
||||||
|
|
||||||
|
g_signal_emit (stage, signals[ACTORS_PAINTED], 0);
|
||||||
|
|
||||||
for (l = priv->overlays; l; l = l->next)
|
for (l = priv->overlays; l; l = l->next)
|
||||||
meta_overlay_paint (l->data);
|
meta_overlay_paint (l->data);
|
||||||
}
|
}
|
||||||
@ -180,6 +191,13 @@ meta_stage_class_init (MetaStageClass *klass)
|
|||||||
|
|
||||||
stage_class->activate = meta_stage_activate;
|
stage_class->activate = meta_stage_activate;
|
||||||
stage_class->deactivate = meta_stage_deactivate;
|
stage_class->deactivate = meta_stage_deactivate;
|
||||||
|
|
||||||
|
signals[ACTORS_PAINTED] = g_signal_new ("actors-painted",
|
||||||
|
G_TYPE_FROM_CLASS (klass),
|
||||||
|
G_SIGNAL_RUN_LAST,
|
||||||
|
0,
|
||||||
|
NULL, NULL, NULL,
|
||||||
|
G_TYPE_NONE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user