protocol,compositor: split wl_viewport setters
Bump wl_scaler and wl_viewport versions to 2. Add new requests
wl_viewport.set_source and .set_destination, which are meant to replace
wl_viewport.set request.
Now a client can set and unset just one of source rectangle and
destination size. Define the semantics when one of these is unset.
Implement these semantics changes in compositor and pixman renderer.
GL-renderer does not need changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/src/compositor.h b/src/compositor.h
index d2afacd..a1dd98a 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -864,6 +864,8 @@
struct weston_buffer_reference buffer_ref;
struct weston_buffer_viewport buffer_viewport;
+ int32_t width_from_buffer; /* before applying viewport */
+ int32_t height_from_buffer;
int keep_buffer; /* bool for backends to prevent early release */
/* wl_viewport resource for this surface */