cursor-sprite: Register all cursor sprites with the cursor tracker
This will later be used to invalidate GPU state when closing device nodes. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2147>
This commit is contained in:
@ -74,6 +74,8 @@ typedef struct _MetaCursorTrackerPrivate
|
||||
MetaCursorSprite *window_cursor;
|
||||
|
||||
MetaCursorSprite *root_cursor;
|
||||
|
||||
GList *cursor_sprites;
|
||||
} MetaCursorTrackerPrivate;
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (MetaCursorTracker, meta_cursor_tracker,
|
||||
@ -532,3 +534,32 @@ meta_cursor_tracker_get_backend (MetaCursorTracker *tracker)
|
||||
|
||||
return priv->backend;
|
||||
}
|
||||
|
||||
void
|
||||
meta_cursor_tracker_register_cursor_sprite (MetaCursorTracker *tracker,
|
||||
MetaCursorSprite *sprite)
|
||||
{
|
||||
MetaCursorTrackerPrivate *priv =
|
||||
meta_cursor_tracker_get_instance_private (tracker);
|
||||
|
||||
priv->cursor_sprites = g_list_prepend (priv->cursor_sprites, sprite);
|
||||
}
|
||||
|
||||
void
|
||||
meta_cursor_tracker_unregister_cursor_sprite (MetaCursorTracker *tracker,
|
||||
MetaCursorSprite *sprite)
|
||||
{
|
||||
MetaCursorTrackerPrivate *priv =
|
||||
meta_cursor_tracker_get_instance_private (tracker);
|
||||
|
||||
priv->cursor_sprites = g_list_remove (priv->cursor_sprites, sprite);
|
||||
}
|
||||
|
||||
GList *
|
||||
meta_cursor_tracker_peek_cursor_sprites (MetaCursorTracker *tracker)
|
||||
{
|
||||
MetaCursorTrackerPrivate *priv =
|
||||
meta_cursor_tracker_get_instance_private (tracker);
|
||||
|
||||
return priv->cursor_sprites;
|
||||
}
|
||||
|
Reference in New Issue
Block a user