tests: Use ClutterStage "after-paint" instead of ClutterActor "paint"

The "paint" signal of ClutterActor is deprecated and will be removed. We
have a good replacement to get notified about stage paints nowadays,
that is "after-paint" on ClutterStage, so switch to that signal where it
makes sense.

I didn't bother to update the few tests (namely Clutters
conform/texture-fbo.c, conform/text-cache.c,
interactive/test-cogl-multitexture.c and Cogls
conform/test-multitexture.c, conform/test-texture-mipmaps.c) where it's
harder to replace the signal since we don't build those anyway.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1522
This commit is contained in:
Jonas Dreßler 2020-10-23 21:14:38 +02:00
parent a03e233b44
commit 4e63ed524e
11 changed files with 46 additions and 46 deletions

View File

@ -15,9 +15,9 @@ static const ClutterColor stage_color = { 0x0, 0x0, 0x0, 0xff };
static void static void
on_paint (ClutterActor *actor, on_after_paint (ClutterActor *actor,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
void *state) void *state)
{ {
float saved_viewport[4]; float saved_viewport[4];
graphene_matrix_t saved_projection; graphene_matrix_t saved_projection;
@ -162,7 +162,7 @@ test_readpixels (TestUtilsGTestFixture *fixture,
* the first few frames, and we won't be doing anything else that * the first few frames, and we won't be doing anything else that
* will trigger redrawing. */ * will trigger redrawing. */
idle_source = g_idle_add (queue_redraw, stage); idle_source = g_idle_add (queue_redraw, stage);
g_signal_connect_after (stage, "paint", G_CALLBACK (on_paint), NULL); g_signal_connect (CLUTTER_STAGE (stage), "after-paint", G_CALLBACK (on_after_paint), NULL);
clutter_actor_show (stage); clutter_actor_show (stage);
clutter_test_main (); clutter_test_main ();

View File

@ -140,9 +140,9 @@ check_paint (TestState *state, int x, int y, int scale)
#define FRAME_COUNT_UPDATED 8 #define FRAME_COUNT_UPDATED 8
static void static void
on_paint (ClutterActor *actor, on_after_paint (ClutterActor *actor,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
TestState *state) TestState *state)
{ {
CoglHandle material; CoglHandle material;
@ -219,8 +219,8 @@ test_texture_pixmap_x11 (TestUtilsGTestFixture *fixture,
clutter_actor_set_background_color (CLUTTER_ACTOR (state.stage), &stage_color); clutter_actor_set_background_color (CLUTTER_ACTOR (state.stage), &stage_color);
paint_handler = g_signal_connect_after (state.stage, "paint", paint_handler = g_signal_connect (CLUTTER_STAGE (state.stage), "after-paint",
G_CALLBACK (on_paint), &state); G_CALLBACK (on_after_paint), &state);
idle_handler = g_idle_add (queue_redraw, state.stage); idle_handler = g_idle_add (queue_redraw, state.stage);

View File

@ -66,9 +66,9 @@ assert_rectangle_color_and_black_border (int x,
static void static void
on_paint (ClutterActor *actor, on_after_paint (ClutterActor *actor,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
void *state) void *state)
{ {
float saved_viewport[4]; float saved_viewport[4];
graphene_matrix_t saved_projection; graphene_matrix_t saved_projection;
@ -400,7 +400,7 @@ test_viewport (TestUtilsGTestFixture *fixture,
* the first few frames, and we won't be doing anything else that * the first few frames, and we won't be doing anything else that
* will trigger redrawing. */ * will trigger redrawing. */
idle_source = g_idle_add (queue_redraw, stage); idle_source = g_idle_add (queue_redraw, stage);
g_signal_connect_after (stage, "paint", G_CALLBACK (on_paint), NULL); g_signal_connect (CLUTTER_STAGE (stage), "after-paint", G_CALLBACK (on_after_paint), NULL);
clutter_actor_show (stage); clutter_actor_show (stage);
clutter_test_main (); clutter_test_main ();

View File

@ -168,12 +168,12 @@ verify_redraw (Data *data, int expected_paint_count)
GMainLoop *main_loop = g_main_loop_new (NULL, TRUE); GMainLoop *main_loop = g_main_loop_new (NULL, TRUE);
gulong paint_handler; gulong paint_handler;
paint_handler = g_signal_connect_data (data->stage, paint_handler = g_signal_connect_data (CLUTTER_STAGE (data->stage),
"paint", "after-paint",
G_CALLBACK (g_main_loop_quit), G_CALLBACK (g_main_loop_quit),
main_loop, main_loop,
NULL, NULL,
G_CONNECT_SWAPPED | G_CONNECT_AFTER); G_CONNECT_SWAPPED);
/* Queue a redraw on the stage */ /* Queue a redraw on the stage */
clutter_actor_queue_redraw (data->stage); clutter_actor_queue_redraw (data->stage);

View File

@ -97,9 +97,9 @@ generate_round_texture (void)
} }
static void static void
paint_cb (ClutterActor *stage, on_after_paint (ClutterActor *stage,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
Data *data) Data *data)
{ {
CoglFramebuffer *framebuffer = CoglFramebuffer *framebuffer =
clutter_paint_context_get_framebuffer (paint_context); clutter_paint_context_get_framebuffer (paint_context);
@ -258,7 +258,7 @@ test_cogl_point_sprites_main (int argc, char *argv[])
clutter_actor_set_background_color (CLUTTER_ACTOR (stage), CLUTTER_COLOR_Black); clutter_actor_set_background_color (CLUTTER_ACTOR (stage), CLUTTER_COLOR_Black);
clutter_stage_set_title (CLUTTER_STAGE (stage), "Cogl Point Sprites"); clutter_stage_set_title (CLUTTER_STAGE (stage), "Cogl Point Sprites");
g_signal_connect (stage, "destroy", G_CALLBACK (clutter_test_quit), NULL); g_signal_connect (stage, "destroy", G_CALLBACK (clutter_test_quit), NULL);
g_signal_connect_after (stage, "paint", G_CALLBACK (paint_cb), &data); g_signal_connect (CLUTTER_STAGE (stage), "after-paint", G_CALLBACK (on_after_paint), &data);
clutter_actor_show (stage); clutter_actor_show (stage);

View File

@ -166,8 +166,8 @@ static unsigned int timeout_id = 0;
static int shader_no = 0; static int shader_no = 0;
static void static void
paint_cb (ClutterActor *actor, on_after_paint (ClutterActor *actor,
ClutterPaintContext *paint_context) ClutterPaintContext *paint_context)
{ {
CoglFramebuffer *framebuffer = CoglFramebuffer *framebuffer =
clutter_paint_context_get_framebuffer (paint_context); clutter_paint_context_get_framebuffer (paint_context);
@ -326,7 +326,7 @@ test_cogl_shader_glsl_main (int argc, char *argv[])
cogl_material_set_layer (material, 0, redhand); cogl_material_set_layer (material, 0, redhand);
set_shader_num (0); set_shader_num (0);
g_signal_connect_after (stage, "paint", G_CALLBACK (paint_cb), NULL); g_signal_connect (CLUTTER_STAGE (stage), "after-paint", G_CALLBACK (on_after_paint), NULL);
clutter_actor_set_reactive (stage, TRUE); clutter_actor_set_reactive (stage, TRUE);
g_signal_connect (stage, "button-release-event", g_signal_connect (stage, "button-release-event",

View File

@ -112,9 +112,9 @@ TestCallback tests[] =
}; };
static void static void
on_paint (ClutterActor *actor, on_after_paint (ClutterActor *actor,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
TestState *state) TestState *state)
{ {
tests[state->current_test] (state, paint_context); tests[state->current_test] (state, paint_context);
} }
@ -152,7 +152,7 @@ main (int argc, char *argv[])
/* We want continuous redrawing of the stage... */ /* We want continuous redrawing of the stage... */
clutter_threads_add_idle (queue_redraw, stage); clutter_threads_add_idle (queue_redraw, stage);
g_signal_connect_after (stage, "paint", G_CALLBACK (on_paint), &state); g_signal_connect (CLUTTER_STAGE (stage), "after-paint", G_CALLBACK (on_after_paint), &state);
clutter_actor_show (stage); clutter_actor_show (stage);

View File

@ -56,9 +56,9 @@ do_events (ClutterActor *stage)
} }
static void static void
on_paint (ClutterActor *stage, on_after_paint (ClutterActor *stage,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
gconstpointer *data) gconstpointer *data)
{ {
do_events (stage); do_events (stage);
} }
@ -129,7 +129,7 @@ main (int argc, char **argv)
clutter_threads_add_idle (queue_redraw, stage); clutter_threads_add_idle (queue_redraw, stage);
g_signal_connect (stage, "paint", G_CALLBACK (on_paint), NULL); g_signal_connect (CLUTTER_STAGE (stage), "after-paint", G_CALLBACK (on_after_paint), NULL);
clutter_test_main (); clutter_test_main ();

View File

@ -13,9 +13,9 @@ static int n_chars;
static int rows, cols; static int rows, cols;
static void static void
on_paint (ClutterActor *actor, on_after_paint (ClutterActor *actor,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
gconstpointer *data) gconstpointer *data)
{ {
static GTimer *timer = NULL; static GTimer *timer = NULL;
static int fps = 0; static int fps = 0;
@ -135,7 +135,7 @@ main (int argc, char *argv[])
clutter_actor_set_background_color (CLUTTER_ACTOR (stage), CLUTTER_COLOR_Black); clutter_actor_set_background_color (CLUTTER_ACTOR (stage), CLUTTER_COLOR_Black);
clutter_stage_set_title (CLUTTER_STAGE (stage), "Text Performance"); clutter_stage_set_title (CLUTTER_STAGE (stage), "Text Performance");
g_signal_connect (stage, "paint", G_CALLBACK (on_paint), NULL); g_signal_connect (CLUTTER_STAGE (stage), "after-paint", G_CALLBACK (on_after_paint), NULL);
label = create_label (); label = create_label ();
w = clutter_actor_get_width (label); w = clutter_actor_get_width (label);

View File

@ -12,9 +12,9 @@
#define ROWS 20 #define ROWS 20
static void static void
on_paint (ClutterActor *actor, on_after_paint (ClutterActor *actor,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
gconstpointer *data) gconstpointer *data)
{ {
static GTimer *timer = NULL; static GTimer *timer = NULL;
static int fps = 0; static int fps = 0;
@ -65,7 +65,7 @@ main (int argc, char *argv[])
clutter_threads_add_idle (queue_redraw, stage); clutter_threads_add_idle (queue_redraw, stage);
g_signal_connect (group, "paint", G_CALLBACK (on_paint), NULL); g_signal_connect (CLUTTER_STAGE (stage), "after-paint", G_CALLBACK (on_after_paint), NULL);
{ {
gint row, col; gint row, col;

View File

@ -28,15 +28,15 @@ clutter_perf_fps_init (void)
g_random_set_seed (12345678); g_random_set_seed (12345678);
} }
static void perf_stage_paint_cb (ClutterStage *stage, static void perf_stage_after_paint_cb (ClutterStage *stage,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
gpointer *data); gpointer *data);
static gboolean perf_fake_mouse_cb (gpointer stage); static gboolean perf_fake_mouse_cb (gpointer stage);
static inline void static inline void
clutter_perf_fps_start (ClutterStage *stage) clutter_perf_fps_start (ClutterStage *stage)
{ {
g_signal_connect (stage, "paint", G_CALLBACK (perf_stage_paint_cb), NULL); g_signal_connect (stage, "after-paint", G_CALLBACK (perf_stage_after_paint_cb), NULL);
} }
static inline void static inline void
@ -53,9 +53,9 @@ clutter_perf_fps_report (const gchar *id)
} }
static void static void
perf_stage_paint_cb (ClutterStage *stage, perf_stage_after_paint_cb (ClutterStage *stage,
ClutterPaintContext *paint_context, ClutterPaintContext *paint_context,
gpointer *data) gpointer *data)
{ {
if (!testtimer) if (!testtimer)
testtimer = g_timer_new (); testtimer = g_timer_new ();