Merge branch 'wip/smcv/issue8' into 'master'

tests/conform: Fix actor-offscreen-redirect

Closes #8

See merge request GNOME/clutter!6
This commit is contained in:
Emmanuele Bassi 2019-08-21 17:20:50 +00:00
commit 21a88dc739
1 changed files with 30 additions and 19 deletions

View File

@ -176,6 +176,33 @@ verify_redraw (Data *data, int expected_paint_count)
g_assert_cmpint (data->foo_actor->paint_count, ==, expected_paint_count);
}
static gboolean
verify_redraws (gpointer user_data)
{
Data *data = user_data;
/* Queueing a redraw on the actor should cause a redraw */
clutter_actor_queue_redraw (data->container);
verify_redraw (data, 1);
/* Queueing a redraw on a child should cause a redraw */
clutter_actor_queue_redraw (data->child);
verify_redraw (data, 1);
/* Modifying the transformation on the parent should cause a
redraw */
clutter_actor_set_anchor_point (data->parent_container, 0, 1);
verify_redraw (data, 1);
/* Redrawing an unrelated actor shouldn't cause a redraw */
clutter_actor_set_position (data->unrelated_actor, 0, 1);
verify_redraw (data, 0);
data->was_painted = TRUE;
return G_SOURCE_REMOVE;
}
static gboolean
run_verify (gpointer user_data)
{
@ -273,24 +300,8 @@ run_verify (gpointer user_data)
0,
255);
/* Queueing a redraw on the actor should cause a redraw */
clutter_actor_queue_redraw (data->container);
verify_redraw (data, 1);
/* Queueing a redraw on a child should cause a redraw */
clutter_actor_queue_redraw (data->child);
verify_redraw (data, 1);
/* Modifying the transformation on the parent should cause a
redraw */
clutter_actor_set_anchor_point (data->parent_container, 0, 1);
verify_redraw (data, 1);
/* Redrawing an unrelated actor shouldn't cause a redraw */
clutter_actor_set_position (data->unrelated_actor, 0, 1);
verify_redraw (data, 0);
data->was_painted = TRUE;
/* Check redraws */
g_idle_add (verify_redraws, data);
return G_SOURCE_REMOVE;
}
@ -298,7 +309,7 @@ run_verify (gpointer user_data)
static void
actor_offscreen_redirect (void)
{
Data data;
Data data = { 0 };
if (!cogl_features_available (COGL_FEATURE_OFFSCREEN))
return;