From 1f3e2692e9adf97e2ff059b9b55a8f2435e497bf Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 29 Sep 2022 19:02:23 +0900 Subject: [PATCH 01/16] tizen_policy: add a new nap_type - none Change-Id: I671b81775fd2106bf19993a8399094f7d1d8d670 --- protocol/tizen/tizen-extension.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index 79e0727..1fe908f 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -406,10 +406,11 @@ - - - - + + + + + -- 2.7.4 From 720d8bf0f5fc2ddb2c67140c5c5b158499e6b5da Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 29 Sep 2022 19:04:09 +0900 Subject: [PATCH 02/16] Package version up to 1.3.33 Change-Id: I09e0dc2372ca282ce2ba530fb8bf1f3746773a6d --- packaging/wayland-extension.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wayland-extension.spec b/packaging/wayland-extension.spec index 71f40f4..6743b30 100644 --- a/packaging/wayland-extension.spec +++ b/packaging/wayland-extension.spec @@ -2,7 +2,7 @@ %define enable_examples 0 Name: wayland-extension -Version: 1.3.32 +Version: 1.3.33 Release: 0 Summary: Wayland extenstion protocols that add functionality not available in the Wayland core protocol License: MIT -- 2.7.4 From fad92cb2acc66adf872e8e674bdb00fe9cdb8db2 Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Fri, 21 Oct 2022 10:28:08 +0900 Subject: [PATCH 03/16] tizen_policy: support set_maximize_direction Change-Id: I21f652665bf2e33bdb256116ab0d15af2805717a --- protocol/tizen/tizen-extension.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index 1fe908f..94fd5d2 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -420,6 +420,25 @@ + + + + + + + + + + + + + + Set the maximize direction of the surface. + + + + + -- 2.7.4 From 08f0e7f088ce9a7be66712e8df6825334329391d Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 27 Oct 2022 08:39:59 +0900 Subject: [PATCH 04/16] tizen_policy: remove snap_window feature This is replaced to maximize_direction Change-Id: I949806178d8c744c1667be8cb035c5c9200d580e --- protocol/tizen/tizen-extension.xml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index 94fd5d2..7943165 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -404,23 +404,6 @@ - - - - - - - - - - - - Snap the window to the location (such as the side of the screen) where you want it to be. - - - - - -- 2.7.4 From cdaaa052cb4df116eaf6a392bcb5bc20e4b5b45d Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 27 Oct 2022 08:41:00 +0900 Subject: [PATCH 05/16] Package version up to 1.3.34 Change-Id: I2e0723cc8df39b43e2a8a12451e16aa7564f7e98 --- packaging/wayland-extension.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wayland-extension.spec b/packaging/wayland-extension.spec index 6743b30..8cc29b1 100644 --- a/packaging/wayland-extension.spec +++ b/packaging/wayland-extension.spec @@ -2,7 +2,7 @@ %define enable_examples 0 Name: wayland-extension -Version: 1.3.33 +Version: 1.3.34 Release: 0 Summary: Wayland extenstion protocols that add functionality not available in the Wayland core protocol License: MIT -- 2.7.4 From 73a75afe24d19b67395852e227c2a22e19a17301 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Fri, 23 Dec 2022 16:27:29 +0900 Subject: [PATCH 06/16] tizen_surface: specify the descrption of the tizen_surface interface Change-Id: Ie7df6f8d6768e387c19a45dc567b3bc493493976 --- protocol/tizen/tizen-extension.xml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index 7943165..326a7c8 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -1,14 +1,24 @@ + + The tizen_surface provides tizen-specific functionalities for the given + surface. + + - - + + Create a tizen_resource interface for the given surface. + + + + - - Destroy the tizen_surface. + + Destroy this tizen_surface object. + -- 2.7.4 From 816a0be0f20a31e9c5dbe5f83f349f9f69b20256 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Fri, 23 Dec 2022 16:28:56 +0900 Subject: [PATCH 07/16] tizen_resource: specify the descrption of the tizen_resource interface Change-Id: Ieb5e91dd05669d0e118bd20d9f15d69ffb623706 --- protocol/tizen/tizen-extension.xml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index 326a7c8..e46b083 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -22,11 +22,26 @@ - + + This tizen_resource provides a global resource id. It is a unique id + which is provided by the display server. + + + + + Destroy this tizen_resource object. + + - + + The resource_id event is sent immediately upon the tizen_resource object + creation by the display server. The id is a unique id which is generated + by the display server. + + + -- 2.7.4 From 02e94a77084a29cd907e0a0a09db0366897c76d5 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Fri, 23 Dec 2022 16:35:41 +0900 Subject: [PATCH 08/16] add the summary of wl_surface Change-Id: Idc9ae852480d8ec7c86f5df8a760e06fd2ec5369 --- protocol/tizen/tizen-extension.xml | 42 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index e46b083..4b0680d 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -490,7 +490,7 @@ - + @@ -507,7 +507,7 @@ - + @@ -652,11 +652,11 @@ - + - + @@ -836,7 +836,7 @@ - + @@ -984,12 +984,12 @@ - + - + @@ -1457,7 +1457,7 @@ - + @@ -1664,11 +1664,11 @@ - + - + @@ -1680,12 +1680,12 @@ - + - + @@ -1718,15 +1718,15 @@ - + - + - + @@ -1744,17 +1744,17 @@ - + - + - + @@ -1776,11 +1776,11 @@ - + - + @@ -1795,7 +1795,7 @@ - + -- 2.7.4 From dad9baf7f56686541dc4d5ac18737e43d7d1ca53 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Fri, 23 Dec 2022 16:33:14 +0900 Subject: [PATCH 09/16] tizen_policy: specify the descrption of the tizen_policy interface Change-Id: Ifc13a0a7e8a2931a60cf6e9cd1a389d510c05557 --- protocol/tizen/tizen-extension.xml | 627 +++++++++++++++++++++++++++---------- 1 file changed, 464 insertions(+), 163 deletions(-) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index 4b0680d..5db511e 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -10,7 +10,7 @@ Create a tizen_resource interface for the given surface. - + @@ -45,293 +45,538 @@ + + The tizen_policy provides tizen-specific requests and events for window + management at Tizen Platform. + + [TODO] Explain the window layer at the display server. Need to explain the + window layer to understand the requests and the events at tizen_policy + interface. + + - - + + Create a visibility interface for the given surface. + + + - - + + Create a position interface for the given surface. + [TODO]: need to explain the relationship with zxdg_positioner_v6 + + + - + + Activate the given surface. A client requests this when a client wants + to raise at the top of the windows stack in the window's layer at the + display server and also wants to get a keyboard focus from the display + server. However the display server does not always set the focus on the + reqested surface. It depends on the focus policy of the display server. + A client just demands a keyboard focus via this request. + + - - + + Activate the surface associated with the given res_id and position it + below the surface associated with the below_res_id. A client uses this + reuquest when it want to change the order of the window stack with the + gloal resource ids which are the surfaces belonging to different + processes. However, this requestit does not work when the surface + associated with the below_res_id is a parent of the surface assicated + with the res_id. + + + - + + This request raises the given surface to the top of the window stack + in a window layer. A client can decide the window layer with the + window_type for the given surface through the set_type request of + tizen_policy interface. The surface positions at the top in the window + layer. + + - + + This request lowers the given surface to the bottom of the window stack + in a window layer. The surface positions at the bottom in the window + layer. + + - + + This request lowers the surface associated with the given res_id to the + bottom of the window stack in a window layer. The surface positions at + the bottom in the window layer. + + - + + This request makes the given surface unable to be the focused surface. + The display server must not give the focus to the surface. + + - + + This request makes the given surface enable to be the focused surface. + + - - + + Give the role to the given surface. A client set the tizen-specific role + of the surface except for the role of xdg_surface interface, + xdg_top_level, xdg_popup and so on. + + + - - - - - - - - - - - - - - + + A client can set the window type through the set_type request with + win_type values. The value gives the surface the window_state, the + z-order at the window stack in the window layer and other types in the + display server. + + The following values are window types with z-order values in descending + order. Those are notification, dnd, dock, splash, fullscreen, + toplevel or maximized and desktop. + The menu, dnd, notification, utility, dialog, dock, splash and desktop + are the window type which is defined in netwm spefification. + https://specifications.freedesktop.org/wm-spec/wm-spec-1.4.html#idm46148902270160 + + + + + + + + + + + + + + + - - + + Set the type of the given surface. The display server use the window + type for the policy of the window management which are focus management, + visibility management, stack management and so on. + + + - + + Set the conformant surface. The conformant surface can get the event + through which the display server notifies the area covered by the + compormant_part that is the surface in another client. + + - + + Unset the conformant surface. + + - + + Ask if the given surface is the conformant surface or not. The display + server sents the result via the confirmant event. + + - - + + Notify the client when a client sends the get_conformant request. + + + - - - + + This value indicates the surface name at Tizen Platform. + + + + - - Notify of conformant area to client. Sending this event does NOT guarantee - perfect compositing of conformant owner client surface and - conformant part client surface. - - - - - - - - + + Notify a client when the conformant area is caclulated by the another + surface as the conformnat_part. This event does NOT guarantee the + perfect composition of the conformant surface and the surface of the + conformant part. + + + + + + + + - - + + This describes the state of error. + + + - - - - - - - - + + This is the level of the notification type. This level stands for the + z-order in the notification layer at the display server. The none, 1, 2, + 3, default, medium, high and top is z-order in ascending order. The + lower number value means the lower z-order. + + + + + + + + + - - + + This request sets the level in the notification layer. The display + server decides the z-order with the given level in the notification + layer. + + + - - - + + Notify a client when the surface is located in the z-order which has + been reuqested via the set_notification_level request. + + + + - - + + This request sets the transient parent for the surface associated with + the parent_id. The surface associated with the given child_id becomes + a transient children for the surface associated with the parent_id. + + + - + + This reuqest unsets the transient parent on the surface associated with + the child_id. + + - + + Notify a client when the surface associated with the child_id is to set + the transient parent or when it is to unset the transient parent. + + - - + + This value means how the screen is to operate. + + + - - + + A client sets the screen mode which it wants the screen to be as long as + the given surface is shown on the screen. + + + - - - + + Notify a client when the screen_mode from the client's request activates + in the display server. + + + + - + + This request places the surface of the subsurface below its' parent + surface. + + - + + This request makes the surface associated with the given subsurface not + follow the policy of the window managment triggered by the parent + surface. The window policy of the surface associated with the given + subsurface is not affected by its parent surface. + + - - - + + Get the subsurface of the given surface with the global resource parent_id. + + + + - + + Set the opaque state to the given surface. The display server makes this + surface be opaque even if the color depth of the buffer attached to the + surface is 32 depth. + + - + + Set the iconified state to the given surface. The iconfied state is the + window state in which the surface is not showing on the screen. + + + - + + Set the uniconified state to the given surface. The uniconfied state is + the window state in which the iconified surface is showing on the screen. + + - - - + + Notify a client when the iconfied state of the surface is changed. The + iconfied state is not only changed when the client requets the iconify + and uniconify but also changed when the iconfied state is decided by + the display server. + + + + - - - - + + Add the information of the auxiliary hint to the given surface. The name + and the value are changed when the display server already has the same + id with which the client sends this request. + + + + + - - - + + Change the value of the auxiliary hint id which the surface has. + + + + - - + + Delete the information of the auxiliary hint associated the hint id + which the given surface has. + + + - + + Get the ids of the aux hints which the given surface supports. The + display server send the supported_aux_hints events as the reply of this + requrest. + + - - - + + Notify a client when the display server get the get_supported_aux_hints + request. The display server send the id array of the suxiliary hints + which the surface supports. + + + + - - + + Notify a client when the auxiliary hint which the given surface has is + added and changed. + + + - - - - + + Notify a client when the display server sends the auxiliary message. + The display server can use this event when it notifies an additional + information to the client. + + + + + - + + Set the all surfaces associated with the given pid to be the background + state. The surfaces set to be the hide state and cannot show on a screen + even if the client send the show request and the activate request. + + - + + Set the all surfaces associated with the given pid not to be the + background state. The sufaces can allow to be showed and to be activated + by the client's request. + + - + + Set the floating mode to the given surface. The surface which sets to be + floating mode can be a partial window and can position over other + top-level windows. + + - + + Unset the floating mode to the given surface. The geometry of the + surface does not change and the z-order of it can be the same as the + top-level windows. + + + + The set_stack_mode request uses this mode values. + - - + + Set the stack mode to the given surface. The surface can changes the + z-order in the same layer by the stack mode. + + + - - + + Activate the surface associated with the given res_id which is the + global resource id and set to position over the surface assoicated with + the above_res_id. + + + - - + + Get the subsurface watcher associated with the given surface. A client + can get the information about the subsurface associated with the surface. + + + - - + + Set the parent/client relationship. The child surface position over the + parent surface. + + + @@ -342,53 +587,71 @@ If client is received this event, client should ack for it using tizen_policy@ack_conformant_region request. - - - - - - - - + + + + + + + + - A client can refresh its surface for applying new conformant region which - is from tizen_policy@conformant_region event. The client has to ack - after complete of its updates by this request. + A client can refresh its surface for applying new conformant region + which is from tizen_policy@conformant_region event. The client has to + ack after complete of its updates by this request. - - + + - Destroy the tizen_policy. + Destroy this tizen_policy object. - - + + A cleint sends the information that it has the tizen_video_object to the + display server. + + + - - + + Set the application id associated with the given pid. + + + - + + Notify showing the given surface. This request means that a client is + going to attach the buffer to the given surface. There is nothing to do + at the display server when a client sends this request. + + - + + Notify hiding the given surface. This request means that a client is + going to attach the null buffer to the given surface. There is nothing + to do at the display server when a client sends this request. + + - This makes a relationship between parent and child. A child is always placed under a parent. + This makes a relationship between parent and child. A child is always + placed under a parent. @@ -396,19 +659,20 @@ - This makes a relationship between parent and child. A child is always placed under a parent. - Setting a null parent for a child window removes any parent-child relationship for the child. + This makes a relationship between parent and child. A child is always + placed under a parent. Setting a null parent for a child window removes + any parent-child relationship for the child. - + - This event is sent when the display server finishes interactive moving the window. - The changed geometry of the window is sent together. + This event is sent when the display server finishes interactive moving + the window. The changed geometry of the window is sent together. - + @@ -418,10 +682,11 @@ - This event is sent when the display server finishes interactive resizing the window. - The changed geometry of the window is sent together. + This event is sent when the display server finishes interactive + resizing the window. The changed geometry of the window is sent + together. - + @@ -431,6 +696,9 @@ + + These values are used by the set_maximize_direction as the paremater. + @@ -443,29 +711,48 @@ Set the maximize direction of the surface. - + - + + A client wants to know the visiblity information of the surface. + - - - - - - + + + Destroy this tizen_visiblity object. + + + + + + These are the visibilty types which tells how the surface assoicated + with the tizen_visibility resource is showing on a screen or not. + + + + + + - + + Notify a client when the visibility of the surface is changed. + + + + Notify a client when the visibility of the surface is changed with the + extra vaule. + @@ -473,16 +760,30 @@ - + + A client can set the position information of the surface. + + + + + Destroy this tizen_position object. + + - - + + Set the position. + + + - - + + Notify a client when the posion is changed. + + + -- 2.7.4 From 026e0f87521b168b2e13de7398a6616764c07957 Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Fri, 9 Dec 2022 13:19:45 +0900 Subject: [PATCH 10/16] tizen_input_device_manager: add a request of init_generator_with_sync Change-Id: Id4bfab87726622e10ae0fcee76d2030fe34a2ae3 --- protocol/tizen/tizen-extension.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index 5db511e..bb418dc 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -1620,7 +1620,7 @@ - + Tizen input device manager is a global interface. This object has device add/remove events to provide tizen input device object to a client. This allows for a client to get the con @@ -1829,6 +1829,14 @@ + + + + + + + + -- 2.7.4 From f7c6a0d704dd29c80f4d000e2995b1fe7d9278bf Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Fri, 9 Dec 2022 13:22:21 +0900 Subject: [PATCH 11/16] Package version up to 1.3.35 Change-Id: I3abb5273623014d309bf53b77ef8f23a14ea529c --- packaging/wayland-extension.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wayland-extension.spec b/packaging/wayland-extension.spec index 8cc29b1..7cc993d 100644 --- a/packaging/wayland-extension.spec +++ b/packaging/wayland-extension.spec @@ -2,7 +2,7 @@ %define enable_examples 0 Name: wayland-extension -Version: 1.3.34 +Version: 1.3.35 Release: 0 Summary: Wayland extenstion protocols that add functionality not available in the Wayland core protocol License: MIT -- 2.7.4 From 81c3045f4945127a50b03c7694d7a73ab56b28da Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 2 Mar 2023 16:02:30 +0900 Subject: [PATCH 12/16] tizen_policy: support pin_mode feature Change-Id: Iacf7cdc7371888558ee3ba36d5f791618097b1e3 --- protocol/tizen/tizen-extension.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/protocol/tizen/tizen-extension.xml b/protocol/tizen/tizen-extension.xml index bb418dc..8ac1db3 100644 --- a/protocol/tizen/tizen-extension.xml +++ b/protocol/tizen/tizen-extension.xml @@ -715,6 +715,19 @@ + + + Set the pin mode of the surface. + + + + + + + Unset the pin mode of the surface. + + + -- 2.7.4 From b941d63f1869017bed21884d9bb61951d61d2466 Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 2 Mar 2023 16:18:28 +0900 Subject: [PATCH 13/16] Package version up to 1.3.36 Change-Id: I4f10238653e69059e4255de7e86ec1ca7bdaa067 --- packaging/wayland-extension.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wayland-extension.spec b/packaging/wayland-extension.spec index 7cc993d..492631b 100644 --- a/packaging/wayland-extension.spec +++ b/packaging/wayland-extension.spec @@ -2,7 +2,7 @@ %define enable_examples 0 Name: wayland-extension -Version: 1.3.35 +Version: 1.3.36 Release: 0 Summary: Wayland extenstion protocols that add functionality not available in the Wayland core protocol License: MIT -- 2.7.4 From 194d585064c5e20a5cd6d0aad2490d2c47a3aa5d Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Thu, 9 Mar 2023 11:12:34 +0900 Subject: [PATCH 14/16] add wtz_screen protocol This protocol is the wayland extension protocol for the tizen-specific screen. It supports the logical screen provided by Tizen Display Server. Change-Id: I3c8e7e3739067ca6d4e79c8851eee711df688311 --- Makefile.am | 18 +++++ protocol/tizen/wtz-screen.xml | 173 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 191 insertions(+) create mode 100644 protocol/tizen/wtz-screen.xml diff --git a/Makefile.am b/Makefile.am index 7b3306d..6773aa3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -383,6 +383,23 @@ libwtz_foreign_client_la_SOURCES = protocol/tizen/wtz-foreign-protocol.c libwtz_foreign_client_la_CFLAGS = @WAYLAND_CLIENT_CFLAGS@ libwtz_foreign_client_la_LIBADD = @WAYLAND_CLIENT_LIBS@ +### wtz_screen +protocol_LTLIBRARIES += \ + libwtz-screen-server.la \ + libwtz-screen-client.la +pkgconfig_DATA += \ + src/wtz-screen-server.pc \ + src/wtz-screen-client.pc +protocolinclude_HEADERS += \ + protocol/tizen/wtz-screen-server-protocol.h \ + protocol/tizen/wtz-screen-client-protocol.h +libwtz_screen_server_la_SOURCES = protocol/tizen/wtz-screen-protocol.c +libwtz_screen_server_la_CFLAGS = @WAYLAND_SERVER_CFLAGS@ +libwtz_screen_server_la_LIBADD = @WAYLAND_SERVER_LIBS@ +libwtz_screen_client_la_SOURCES = protocol/tizen/wtz-screen-protocol.c +libwtz_screen_client_la_CFLAGS = @WAYLAND_CLIENT_CFLAGS@ +libwtz_screen_client_la_LIBADD = @WAYLAND_CLIENT_LIBS@ + ### wayland-protocols unstable_protocols = \ protocol/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml \ @@ -431,6 +448,7 @@ tizen_protocols = \ protocol/tizen/fullscreen-shell.xml \ protocol/tizen/tizen-policy-ext.xml \ protocol/tizen/wtz-foreign.xml \ + protocol/tizen/wtz-screen.xml \ $(NULL) nobase_dist_pkgdata_DATA = \ diff --git a/protocol/tizen/wtz-screen.xml b/protocol/tizen/wtz-screen.xml new file mode 100644 index 0000000..ac04982 --- /dev/null +++ b/protocol/tizen/wtz-screen.xml @@ -0,0 +1,173 @@ + + + + + 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. + + + + This is the waylanad protocol for supporting tizen-specific screen which is + the logical screen provided by Tizen Display Server. + + + + + A screen describes rectangular area which can display on physical + output devices of the compositor geometry. This object is published + as global during start up, or when a compositor creates a screen. + + + + + Type of error. + + + + + + + + + The functional capability type which a wtz_screen can support. + + + + + + + + Notify when the server that it is not going to use the wtz_screen + object anymore. + + + + + + The size event describes the size of the screen. + [TODO] example and scenario for this logical screen size event + + + + + + + + Many compositors will assign names to their screen, show them to the + user, allow them to be configured by name, etc. + + + + + + + Notify the array of the screen capabilities. The clients get this event when it + binds the wtz_screen global resource. + + + + + + + Get the wtz_splitscreen when this wtz_screen has the splitscreen capability. + When it has no splitscreen capability, not_supported error is raised. + + + + + + + + + The wtz_splitscreen is for managing split regions of the target wtz_screen. + This interface can get get_splitscreen request of the wtz_screen. + + + + + Destroy wtz_splitscreen. + + + + + + Notify the splitscreen region that partial rectangle area of the wtz_screen. + The event can be repeated during all of the region information send to client. + + + + + + + Activate the splitscreen. + + + + + + Deactivate the splitscreen. + + + + + + + + The wtz_splitscreen_region interface for request and receive the information of the target region. + The interface only can get information. + And the setting of the splitscreen region is depends on the implementation of the display server. + + + + + Destroy wtz_splitscreen. + + + + + + Send name of the wtz_splitscreen_region in a screen. + + + + + + + Send geometry of the wtz_splitscreen_region in a screen. + + + + + + + + + + Request to assign appid to the splitscreen region. + + + + + + + -- 2.7.4 From fd36b707e13ac220016782b850afb411d6d44a22 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Thu, 9 Mar 2023 11:14:14 +0900 Subject: [PATCH 15/16] add wtz-shell protocol This is the waylanad protocol for supporting tizen-style surfaces. It provide the interfaces for the multi windows policy at Tizen Display Server. Change-Id: I31c29135f7cb67f760a1af46644496afd3a327e3 --- Makefile.am | 18 ++++++++ protocol/tizen/wtz-shell.xml | 100 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 protocol/tizen/wtz-shell.xml diff --git a/Makefile.am b/Makefile.am index 6773aa3..2edaa7d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -400,6 +400,23 @@ libwtz_screen_client_la_SOURCES = protocol/tizen/wtz-screen-protocol.c 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 \ @@ -449,6 +466,7 @@ tizen_protocols = \ 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 = \ diff --git a/protocol/tizen/wtz-shell.xml b/protocol/tizen/wtz-shell.xml new file mode 100644 index 0000000..377179e --- /dev/null +++ b/protocol/tizen/wtz-shell.xml @@ -0,0 +1,100 @@ + + + + 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. + + + + This is the waylanad protocol for supporting 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. + + + + + Destroy this wtz_shell object. + Notify when the server that it is not going to use the wtz_shell + object anymore. + + + + + + This creates a wtz_surface for the given surface. + + + + + + + + + An interface that may be implemented by a wl_surface, for + implementations that provide a tizen-specific user interface. + + + + + This describes the type of decoration. + + + + + + + + Destroy the xdg_surface object. + + + + + + Notify this event when the decoration type of the wtz_surface has been + decided or changed. + + + + + + + Notify this event when this surface is assigned in the screen. + + + + + + + This assign the surface on a given screen. + + + + + + + -- 2.7.4 From 24e84cfa603bf6d21e98ed4e9eaea800e20e1223 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 21 Mar 2023 20:14:30 +0900 Subject: [PATCH 16/16] Package version up to 1.3.37 Change-Id: I03a244d61a0a786a6be8db9a9abd9af2dc502d73 --- packaging/wayland-extension.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wayland-extension.spec b/packaging/wayland-extension.spec index 492631b..9e2cc39 100644 --- a/packaging/wayland-extension.spec +++ b/packaging/wayland-extension.spec @@ -2,7 +2,7 @@ %define enable_examples 0 Name: wayland-extension -Version: 1.3.36 +Version: 1.3.37 Release: 0 Summary: Wayland extenstion protocols that add functionality not available in the Wayland core protocol License: MIT -- 2.7.4