CLUTTER_DEBUG_REDRAWS = 1 << 2,
CLUTTER_DEBUG_PAINT_VOLUMES = 1 << 3,
CLUTTER_DEBUG_DISABLE_CULLING = 1 << 4,
- CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT = 1 << 5
+ CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT = 1 << 5,
+ CLUTTER_DEBUG_CONTINUOUS_REDRAW = 1 << 6
} ClutterDrawDebugFlag;
#ifdef CLUTTER_ENABLE_DEBUG
{ "redraws", CLUTTER_DEBUG_REDRAWS },
{ "paint-volumes", CLUTTER_DEBUG_PAINT_VOLUMES },
{ "disable-culling", CLUTTER_DEBUG_DISABLE_CULLING },
- { "disable-offscreen-redirect", CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT }
+ { "disable-offscreen-redirect", CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT },
+ { "continuous-redraw", CLUTTER_DEBUG_CONTINUOUS_REDRAW }
};
#ifdef CLUTTER_ENABLE_PROFILE
int delay;
clutter_threads_enter ();
+
+ if (G_UNLIKELY (clutter_paint_debug_flags &
+ CLUTTER_DEBUG_CONTINUOUS_REDRAW))
+ {
+ ClutterStageManager *stage_manager = clutter_stage_manager_get_default ();
+ const GSList *stages, *l;
+
+ stages = clutter_stage_manager_peek_stages (stage_manager);
+
+ /* Queue a full redraw on all of the stages */
+ for (l = stages; l != NULL; l = l->next)
+ clutter_actor_queue_redraw (l->data);
+ }
+
delay = master_clock_next_frame_delay (master_clock);
clutter_threads_leave ();