protocol: add sub-surfaces
authorPekka Paalanen <ppaalanen@gmail.com>
Thu, 25 Apr 2013 10:57:41 +0000 (13:57 +0300)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 10 May 2013 18:05:59 +0000 (14:05 -0400)
commit2396aec6842c709a714f3825dbad9fd88478f2e6
tree7eb7d1f73d8c39e6ecccf1175071afba0635b09a
parent3d64a3e8684d7746d772747a50dca19ac34e7ec8
protocol: add sub-surfaces

Add protocol for sub-surfaces, wl_subcompositor as the global interface,
and wl_subsurface as the per-surface interface extension.

This patch is meant to be reverted, once sub-surfaces are moved into
Wayland core.

Changes in v2:

- Rewrite wl_subcompositor.get_subsurface description, and move mapping
  and commit details into wl_subsurface description. Check the wording
  in wl_subsurface.set_position description.

- Add wl_subsurface.set_commit_mode request, and document it, with the
  commit_mode enum. Add bad_value error code for wl_subsurface.

- Moved the protocol into Weston repository so we can land it upstream
  sooner for public exposure. It is to be moved into Wayland core later.

- Add destroy requests to both wl_subcompositor and wl_subsurface, and
  document them. Experience has showed, that interfaces should always
  have a destructor unless there is a good and future-proof reason to not
  have it.

Changes in v3:

- Specify, that wl_subsurface will become inert, if the corresponding
  wl_surface is destroyed, instead of requiring a certain destruction
  order.

- Replaced wl_subsurface.set_commit_mode with wl_subsurface.set_sync and
  wl_subsurface.set_desync. Parent-cached commit mode is now called
  synchronized, and independent mode is desynchronized. Removed
  commit_mode enum, and bad_value error.

- Added support for nested sub-surfaces.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
clients/.gitignore
clients/Makefile.am
clients/window.h
protocol/subsurface.xml [new file with mode: 0644]
src/.gitignore
src/Makefile.am
src/compositor.h
tests/.gitignore
tests/Makefile.am