Introduce wtz-foreign protocol 31/257231/3
authorSeunghun Lee <shiin.lee@samsung.com>
Fri, 19 Feb 2021 02:19:22 +0000 (11:19 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Fri, 23 Apr 2021 00:47:40 +0000 (09:47 +0900)
commit15b663a03ee96ebdf107dfdd4fac8b0381b417df
tree740412753b0c32972c7e799844476f5d27ca54a2
parent67a8a46f5cedf4c4449c8fdaaab90a3cbb976e64
Introduce wtz-foreign protocol

wtz-foreign is a protocol meant to enable sharing wayland resources
between wayland clients. The only resource that clients are now able to
share with this protocol is a foreign shell. And the protocol may be
able to be extended in the future for sharing various resources.

The use case for foreign shell is out-of-process video playing surface.
For that, it provides a way to export and import a foreign shell.

Video playing application may export foreign shell with passing its
sub-surface, creating a handle for the foreign shell.
The handle, in form of a unique string, may be shared in some way with
other clients (for example, D-Bus) which can then import the foreign
shell with passing its surface. This gives the surface the role of a
foreign shell surface.

In this way, each client has a object. Which are named
wtz_exported_shell and wtz_foreign_shell.

The exporter may manipulate destination, transform, and position with
wl_subsurface and wtz_exported_shell interface.
The importer may attach and commit buffer with wl_surface without
care of its destination, transform, and position.
So final view by compositor will be determined by this combination.

Besides, the exporter may change the state of foreign shell along with
the changes of parent surface in an atomic manner using sub-surface
given when creating exported foreign shell.

Change-Id: I51ed03bcbe7740763895f09802ea249c061cef12
Makefile.am
protocol/tizen/wtz-foreign.xml [new file with mode: 0644]