libwtz_screen_client_la_CFLAGS = @WAYLAND_CLIENT_CFLAGS@
libwtz_screen_client_la_LIBADD = @WAYLAND_CLIENT_LIBS@
+### wtz_shell
+protocol_LTLIBRARIES += \
+ libwtz-shell-server.la \
+ libwtz-shell-client.la
+pkgconfig_DATA += \
+ src/wtz-shell-server.pc \
+ src/wtz-shell-client.pc
+protocolinclude_HEADERS += \
+ protocol/tizen/wtz-shell-server-protocol.h \
+ protocol/tizen/wtz-shell-client-protocol.h
+libwtz_shell_server_la_SOURCES = protocol/tizen/wtz-shell-protocol.c
+libwtz_shell_server_la_CFLAGS = @WAYLAND_SERVER_CFLAGS@
+libwtz_shell_server_la_LIBADD = @WAYLAND_SERVER_LIBS@
+libwtz_shell_client_la_SOURCES = protocol/tizen/wtz-shell-protocol.c
+libwtz_shell_client_la_CFLAGS = @WAYLAND_CLIENT_CFLAGS@
+libwtz_shell_client_la_LIBADD = @WAYLAND_CLIENT_LIBS@
+
### wayland-protocols
unstable_protocols = \
protocol/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml \
protocol/tizen/tizen-policy-ext.xml \
protocol/tizen/wtz-foreign.xml \
protocol/tizen/wtz-screen.xml \
+ protocol/tizen/wtz-shell.xml \
$(NULL)
nobase_dist_pkgdata_DATA = \
--- /dev/null
+<protocol name="wtz_shell">
+
+ <copyright>
+ Copyright © 2023 Samsung Electronics Co., Ltd.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+ </copyright>
+
+ <description summary="Protocol to describe tizen shell">
+ This is the waylanad protocol for supporting tizen-style surfaces.
+ </description>
+
+ <interface name="wtz_shell" version="1">
+ <description summary="create tizen-style surfaces">
+ wtz_shell allows clients to turn a wl_surface into a wtz_surface which can
+ support the Tizen features in Tizen Dispaly Server.
+ </description>
+
+ <request name="destroy" type="destructor">
+ <description summary="destroy the wtz_shell object">
+ Destroy this wtz_shell object.
+ Notify when the server that it is not going to use the wtz_shell
+ object anymore.
+ </description>
+ </request>
+
+ <request name="get_wtz_surface">
+ <description summary="create a tizen shell surface from a surface">
+ This creates a wtz_surface for the given surface.
+ </description>
+ <arg name="id" type="new_id" interface="wtz_surface"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
+ </request>
+ </interface>
+
+ <interface name="wtz_surface" version="1">
+ <description summary="tizen-specific user interface surface">
+ An interface that may be implemented by a wl_surface, for
+ implementations that provide a tizen-specific user interface.
+ </description>
+
+ <enum name="decoration_type">
+ <description summary="type of decoration">
+ This describes the type of decoration.
+ </description>
+ <entry name="none" value="0" summary="no decoration"/>
+ <entry name="client_side" value="1" summary="the client-side decoration"/>
+ </enum>
+
+ <request name="destroy" type="destructor">
+ <description summary="destroy the wtz_surface">
+ Destroy the xdg_surface object.
+ </description>
+ </request>
+
+ <event name="decoration">
+ <description summary="capability of the client-side decoration">
+ Notify this event when the decoration type of the wtz_surface has been
+ decided or changed.
+ </description>
+ <arg name="type" type="uint" enum="decoration_type"
+ summary="the type of decoration"/>
+ </event>
+
+ <event name="screen">
+ <description summary="tizen screen which this surface locates">
+ Notify this event when this surface is assigned in the screen.
+ </description>
+ <arg name="screen" type="object" interface="wtz_screen"
+ summary="the tizen screen object"/>
+ </event>
+
+ <request name="assign_screen">
+ <description summary="assign a wtz_surface to the screen">
+ This assign the surface on a given screen.
+ </description>
+ <arg name="screen" type="object" interface="wtz_screen"
+ summary="the tizen screen object" allow-null="true"/>
+ </request>
+
+ </interface>
+
+ </protocol>