protocol: crop & scale RFC v3
authorPekka Paalanen <ppaalanen@gmail.com>
Tue, 26 Nov 2013 17:19:44 +0000 (18:19 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 17 Dec 2013 06:35:56 +0000 (22:35 -0800)
commitf565d80ff598f93e6e27d585357d8ebbce849769
treec3c2d21601ad67ad4065358a4eb5f534279d415f
parent5c11a3340bf62f985c307e83b4999c8377576295
protocol: crop & scale RFC v3

Add cropping and scaling to wl_surface.

Add a global factory interface wl_scaler, which creates
wl_scaler_surface objects tied to a given wl_surface. The
wl_scaler_surface object can be used to set a cropping and scaling
transformation to change how a wl_buffer maps to wl_surface contents.

Changes in v2:

Take into account buffer_transform and buffer_scale, and try to explain
more clearly how the coordinate transformations work and what their
order is. Add, that crop and scale state is double-buffered. Explain
missing dst_x, dst_y.  Clarify that undefined content still is some
content, but NULL buffer implies no content nor size.

Changes in v3:

Disallow zero values for dst_width and dst_height.

Open issues:

Should this be a separate interface like here, or just a wl_surface
request?

If we keep this as a separate interface, rename wl_surface_scaler to
wl_viewport.
protocol/Makefile.am
protocol/scaler.xml [new file with mode: 0644]