backends/native: Manage tablet cursors in backend

Instead of letting the wayland bits maintain an always-software
cursor renderer, let the cursor renderer be managed by the backend,
and only hook to it (as we do for pointer cursor) in the wayland
bits.

ATM, make the cursor renderer still always-software, although
ideally we should allow moving the HW cursor management between
renderers.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403>
This commit is contained in:
Carlos Garnacho
2020-07-11 13:47:51 +02:00
committed by Marge Bot
parent 0d83fcc870
commit cd02286b87
3 changed files with 47 additions and 4 deletions

View File

@ -913,7 +913,14 @@ meta_wayland_tablet_tool_update (MetaWaylandTabletTool *tool,
break;
case CLUTTER_PROXIMITY_IN:
if (!tool->cursor_renderer)
tool->cursor_renderer = meta_cursor_renderer_new (meta_get_backend ());
{
MetaCursorRenderer *renderer;
renderer =
meta_backend_get_cursor_renderer_for_device (meta_get_backend (),
clutter_event_get_source_device (event));
g_set_object (&tool->cursor_renderer, renderer);
}
tool->current_tablet =
meta_wayland_tablet_seat_lookup_tablet (tool->seat,
clutter_event_get_source_device (event));