Many issues here:
- wlr_output_cursor_set_buffer() takes a buffer already scaled for
the output, not a buffer with scale=1.
- wlr_output_cursor.{width,height,hotspot_x,hotspot_y} are in output
buffer coordinates.
- render_cursor_buffer() had hardcoded no-ops for scale and
transform, instead of using the cursor surface's.
Fixes:
|
||
---|---|---|
.. | ||
cursor.c | ||
output.c | ||
render.c | ||
state.c | ||
swapchain.c | ||
transform.c |