diff options
author | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2020-08-31 10:22:35 -0300 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2020-09-01 13:05:29 -0300 |
commit | 9e011958d43e24997eb76d0e06f14f0d3a69c27f (patch) | |
tree | 56c868e12c89241219f3676bbe2c55ededeaea8e | |
parent | b1648e75a8ca5b604135ee77d0a848747d73233b (diff) | |
download | mutter-9e011958d43e24997eb76d0e06f14f0d3a69c27f.tar.gz |
clutter/stage: Add new before_paint signal hook
It'll allow subclasses to get notified of the before-paint
signal without having to connect to it. This will allow
MetaStage to have proper watches being fired there without
the cost of the signal handling machinery.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
-rw-r--r-- | clutter/clutter/clutter-stage.c | 2 | ||||
-rw-r--r-- | clutter/clutter/clutter-stage.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c index 0900212b0..e4c129ead 100644 --- a/clutter/clutter/clutter-stage.c +++ b/clutter/clutter/clutter-stage.c @@ -1874,7 +1874,7 @@ clutter_stage_class_init (ClutterStageClass *klass) g_signal_new (I_("before-paint"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST, - 0, + G_STRUCT_OFFSET (ClutterStageClass, before_paint), NULL, NULL, NULL, G_TYPE_NONE, 1, CLUTTER_TYPE_STAGE_VIEW); diff --git a/clutter/clutter/clutter-stage.h b/clutter/clutter/clutter-stage.h index cceb8d836..7d94b68c3 100644 --- a/clutter/clutter/clutter-stage.h +++ b/clutter/clutter/clutter-stage.h @@ -80,6 +80,9 @@ struct _ClutterStageClass void (* activate) (ClutterStage *stage); void (* deactivate) (ClutterStage *stage); + void (* before_paint) (ClutterStage *stage, + ClutterStageView *view); + void (* paint_view) (ClutterStage *stage, ClutterStageView *view, const cairo_region_t *redraw_clip); |