clutter/paint-context: Add 'no-cursors' paint flag

Will be used by the stage to not paint the overlays. We skip all
overlays since overlays are only ever used for pointer cursors when the
hardware cursors cannot or should not be used.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1207
This commit is contained in:
Jonas Ådahl 2020-04-20 22:41:12 +02:00
parent 90c4b6492f
commit d2c3272eb7
2 changed files with 7 additions and 2 deletions

View File

@ -32,6 +32,7 @@ typedef struct _ClutterPaintContext ClutterPaintContext;
typedef enum _ClutterPaintFlag typedef enum _ClutterPaintFlag
{ {
CLUTTER_PAINT_FLAG_NONE = 0, CLUTTER_PAINT_FLAG_NONE = 0,
CLUTTER_PAINT_FLAG_NO_CURSORS = 1 << 0,
} ClutterPaintFlag; } ClutterPaintFlag;
#define CLUTTER_TYPE_PAINT_CONTEXT (clutter_paint_context_get_type ()) #define CLUTTER_TYPE_PAINT_CONTEXT (clutter_paint_context_get_type ())

View File

@ -206,8 +206,12 @@ meta_stage_paint (ClutterActor *actor,
g_signal_emit (stage, signals[ACTORS_PAINTED], 0); g_signal_emit (stage, signals[ACTORS_PAINTED], 0);
for (l = stage->overlays; l; l = l->next) if (!(clutter_paint_context_get_paint_flags (paint_context) &
meta_overlay_paint (l->data, paint_context); CLUTTER_PAINT_FLAG_NO_CURSORS))
{
for (l = stage->overlays; l; l = l->next)
meta_overlay_paint (l->data, paint_context);
}
if (view) if (view)
{ {