protocol: clarify scale expecations

Since the positivity of zero is debatable, and, in some cases scale was simply
underspecified, clarify the situation.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
This commit is contained in:
Ben Widawsky 2024-01-02 15:56:25 -08:00 committed by Daniel Stone
parent 647398ead4
commit 8072ab0a50

View file

@ -1749,11 +1749,11 @@
a buffer that is larger (by a factor of scale in each dimension) a buffer that is larger (by a factor of scale in each dimension)
than the desired surface size. than the desired surface size.
If scale is not positive the invalid_scale protocol error is If scale is not greater than 0 the invalid_scale protocol error is
raised. raised.
</description> </description>
<arg name="scale" type="int" <arg name="scale" type="int"
summary="positive scale for interpreting buffer contents"/> summary="scale for interpreting buffer contents"/>
</request> </request>
<!-- Version 4 additions --> <!-- Version 4 additions -->
@ -1833,6 +1833,8 @@
content and use wl_surface.set_buffer_scale to indicate the scale they content and use wl_surface.set_buffer_scale to indicate the scale they
have rendered with. This allows clients to supply a higher detail have rendered with. This allows clients to supply a higher detail
buffer. buffer.
The compositor shall emit a scale value greater than 0.
</description> </description>
<arg name="factor" type="int" summary="preferred scaling factor"/> <arg name="factor" type="int" summary="preferred scaling factor"/>
</event> </event>
@ -2838,8 +2840,9 @@
This event contains scaling geometry information This event contains scaling geometry information
that is not in the geometry event. It may be sent after that is not in the geometry event. It may be sent after
binding the output object or if the output scale changes binding the output object or if the output scale changes
later. If it is not sent, the client should assume a later. The compositor will emit a non-zero, positive
scale of 1. value for scale. If it is not sent, the client should
assume a scale of 1.
A scale larger than 1 means that the compositor will A scale larger than 1 means that the compositor will
automatically scale surface buffers by this amount automatically scale surface buffers by this amount