Merge branch 'cursor-layer' into 'master'

Draft: Use output layers for cursors

See merge request wlroots/wlroots!4032
This commit is contained in:
Simon Ser 2023-07-15 13:29:57 +00:00
commit 6dfcdb0a31
9 changed files with 404 additions and 233 deletions

View file

@ -189,6 +189,8 @@ struct wlr_output {
struct wlr_swapchain *cursor_swapchain;
struct wlr_buffer *cursor_front_buffer;
int software_cursor_locks; // number of locks forcing software cursors
struct wlr_output_layer *cursor_layer;
bool cursor_layer_changed;
struct wl_list layers; // wlr_output_layer.link

View file

@ -43,6 +43,7 @@
struct wlr_output_layer {
struct wl_list link; // wlr_output.layers
struct wlr_addon_set addons;
bool cursor;
struct {
struct wl_signal feedback; // struct wlr_output_layer_feedback_event
@ -71,6 +72,9 @@ struct wlr_output_layer_state {
// Damaged region since last commit in buffer-local coordinates. Leave NULL
// to damage the whole buffer.
const pixman_region32_t *damage;
struct {
int x, y;
} cursor_hotspot;
// Populated by the backend after wlr_output_test() and wlr_output_commit(),
// indicates whether the backend has acknowledged and will take care of