mirror of
https://github.com/brl/mutter.git
synced 2025-07-24 02:18:02 +00:00
wayland: Mark sprite as invalid after cursor changes
This will be used to hint the backend that the cursor surface might need uploading again. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1915>
This commit is contained in:

committed by
Marge Bot

parent
508c08fa09
commit
5e93708d86
@@ -25,6 +25,7 @@ struct _MetaCursorSpriteWayland
|
||||
MetaCursorSprite parent;
|
||||
|
||||
MetaWaylandSurface *surface;
|
||||
gboolean invalidated;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (MetaCursorSpriteWayland,
|
||||
@@ -34,7 +35,17 @@ G_DEFINE_TYPE (MetaCursorSpriteWayland,
|
||||
static gboolean
|
||||
meta_cursor_sprite_wayland_realize_texture (MetaCursorSprite *sprite)
|
||||
{
|
||||
return TRUE;
|
||||
MetaCursorSpriteWayland *sprite_wayland;
|
||||
|
||||
sprite_wayland = META_CURSOR_SPRITE_WAYLAND (sprite);
|
||||
|
||||
if (sprite_wayland->invalidated)
|
||||
{
|
||||
sprite_wayland->invalidated = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -43,6 +54,15 @@ meta_cursor_sprite_wayland_is_animated (MetaCursorSprite *sprite)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_cursor_sprite_wayland_invalidate (MetaCursorSprite *sprite)
|
||||
{
|
||||
MetaCursorSpriteWayland *sprite_wayland;
|
||||
|
||||
sprite_wayland = META_CURSOR_SPRITE_WAYLAND (sprite);
|
||||
sprite_wayland->invalidated = TRUE;
|
||||
}
|
||||
|
||||
MetaCursorSpriteWayland *
|
||||
meta_cursor_sprite_wayland_new (MetaWaylandSurface *surface)
|
||||
{
|
||||
@@ -72,5 +92,7 @@ meta_cursor_sprite_wayland_class_init (MetaCursorSpriteWaylandClass *klass)
|
||||
|
||||
cursor_sprite_class->realize_texture =
|
||||
meta_cursor_sprite_wayland_realize_texture;
|
||||
cursor_sprite_class->invalidate =
|
||||
meta_cursor_sprite_wayland_invalidate;
|
||||
cursor_sprite_class->is_animated = meta_cursor_sprite_wayland_is_animated;
|
||||
}
|
||||
|
Reference in New Issue
Block a user