diff options
author | Pekka Paalanen <ppaalanen@gmail.com> | 2013-04-25 13:57:41 +0300 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2013-05-10 14:05:59 -0400 |
commit | 2396aec6842c709a714f3825dbad9fd88478f2e6 (patch) | |
tree | 7eb7d1f73d8c39e6ecccf1175071afba0635b09a /clients | |
parent | 3d64a3e8684d7746d772747a50dca19ac34e7ec8 (diff) |
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>
Diffstat (limited to 'clients')
-rw-r--r-- | clients/.gitignore | 2 | ||||
-rw-r--r-- | clients/Makefile.am | 4 | ||||
-rw-r--r-- | clients/window.h | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/clients/.gitignore b/clients/.gitignore index dcd45641..16088e85 100644 --- a/clients/.gitignore +++ b/clients/.gitignore @@ -20,6 +20,8 @@ simple-egl simple-shm simple-touch smoke +subsurface-client-protocol.h +subsurface-protocol.c tablet-shell-client-protocol.h tablet-shell-protocol.c text-client-protocol.h diff --git a/clients/Makefile.am b/clients/Makefile.am index 8c9bcd4d..5f83acd4 100644 --- a/clients/Makefile.am +++ b/clients/Makefile.am @@ -81,6 +81,8 @@ libtoytoolkit_la_SOURCES = \ window.h \ text-cursor-position-protocol.c \ text-cursor-position-client-protocol.h \ + subsurface-protocol.c \ + subsurface-client-protocol.h \ workspaces-protocol.c \ workspaces-client-protocol.h @@ -185,6 +187,8 @@ BUILT_SOURCES = \ desktop-shell-protocol.c \ tablet-shell-client-protocol.h \ tablet-shell-protocol.c \ + subsurface-client-protocol.h \ + subsurface-protocol.c \ workspaces-client-protocol.h \ workspaces-protocol.c diff --git a/clients/window.h b/clients/window.h index c2946d8c..815b3f1c 100644 --- a/clients/window.h +++ b/clients/window.h @@ -27,6 +27,7 @@ #include <wayland-client.h> #include <cairo.h> #include "../shared/config-parser.h" +#include "subsurface-client-protocol.h" #define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0]) |