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>
This commit is contained in:
committed by
Kristian Høgsberg
parent
3d64a3e868
commit
2396aec684
@@ -18,3 +18,6 @@ workspaces-protocol.c
|
||||
workspaces-server-protocol.h
|
||||
input-method-protocol.c
|
||||
input-method-server-protocol.h
|
||||
subsurface-server-protocol.h
|
||||
subsurface-protocol.c
|
||||
|
||||
|
||||
@@ -36,6 +36,8 @@ weston_SOURCES = \
|
||||
input-method-server-protocol.h \
|
||||
workspaces-protocol.c \
|
||||
workspaces-server-protocol.h \
|
||||
subsurface-protocol.c \
|
||||
subsurface-server-protocol.h \
|
||||
bindings.c \
|
||||
animation.c \
|
||||
gl-renderer.h \
|
||||
@@ -280,6 +282,8 @@ BUILT_SOURCES = \
|
||||
input-method-server-protocol.h \
|
||||
workspaces-server-protocol.h \
|
||||
workspaces-protocol.c \
|
||||
subsurface-server-protocol.h \
|
||||
subsurface-protocol.c \
|
||||
git-version.h
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
||||
@@ -35,6 +35,7 @@ extern "C" {
|
||||
#include "version.h"
|
||||
#include "matrix.h"
|
||||
#include "config-parser.h"
|
||||
#include "subsurface-server-protocol.h"
|
||||
|
||||
#define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user