renderer: add more uniforms to the screen shader (#11986)

These are: pointer_shape from the cursor-shape-v1 protocol prepared for v2, along with left_ptr...bottom_right_corner and killing (Hyprland specific)
           pointer_shape_previous with
           pointer_switch_time to blend between shapes
           pointer_size scaled size as used by the normal cursor
           pointer_pressed_positions[32] with
           pointer_pressed_times[32] and
           pointer_pressed_killed(32 bits) for click/touch animations and if they killed something
           pointer_inactive_timeout with
           pointer_last_active to smoothly fade the pointer out
           pointer_hidden to hide it when the cursor is hidden (excluding by cursor:invisible as this config value can be used to turn off the normal cursor, which is useful when drawing it with the screen shader)
This commit is contained in:
Mozzarella32 2025-10-20 13:22:50 +02:00 committed by GitHub
parent 474cd004df
commit 46dab01bcc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 215 additions and 25 deletions

View file

@ -31,6 +31,9 @@
#define MIN_WINDOW_SIZE 20.0
// max value 32 because killed is a int uniform
#define POINTER_PRESSED_HISTORY_LENGTH 32
#define LISTENER(name) \
void listener_##name(wl_listener*, void*); \
inline wl_listener listen_##name = {.notify = listener_##name}