wayland/protocol
Simon Ser 9afab91d21 protocol: add wl_surface.preferred_buffer_scale
Right now, clients need to bind to wl_output globals, listen to wl_output.scale,
listen to wl_surface.enter/leave, pick the highest scale factor.

This is an issue because it breaks Wayland's "policy, not mechanism" motto.
Clients take the decision of which scale to use depending on the outputs they're
on, compositors have no say in this (apart from faking output events, which
isn't great).

This commit introduces a new wl_surface.preferred_buffer_scale event to allow
compositors to directly indicate the preferred scale factor for each surface.

This unlocks features which require dynamically changing the scale such as:

- Accessibility features such as screen magnifier
- In a VR environment, render surfaces close to the eye at a higher scale
- HiDPI screenshots on LoDPI screens

Signed-off-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/271
2023-02-07 14:33:09 +01:00
..
.gitignore Update .gitignore for protocol/ 2013-11-19 13:26:04 -08:00
generate-shm-formats.py Add an automated script to update wl_shm.format 2019-09-06 12:09:22 +00:00
tests.xml Replace initial 8 spaces with a tab for all xml files 2020-04-29 12:21:33 +00:00
wayland.dtd protocol: Add type attribute to events 2021-01-27 17:49:10 +00:00
wayland.xml protocol: add wl_surface.preferred_buffer_scale 2023-02-07 14:33:09 +01:00