diff options
Diffstat (limited to 'src/contrib/SDL-3.2.20/wayland-protocols/xdg-decoration-unstable-v1.xml')
-rw-r--r-- | src/contrib/SDL-3.2.20/wayland-protocols/xdg-decoration-unstable-v1.xml | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/src/contrib/SDL-3.2.20/wayland-protocols/xdg-decoration-unstable-v1.xml b/src/contrib/SDL-3.2.20/wayland-protocols/xdg-decoration-unstable-v1.xml new file mode 100644 index 0000000..378e8ff --- /dev/null +++ b/src/contrib/SDL-3.2.20/wayland-protocols/xdg-decoration-unstable-v1.xml | |||
@@ -0,0 +1,156 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <protocol name="xdg_decoration_unstable_v1"> | ||
3 | <copyright> | ||
4 | Copyright © 2018 Simon Ser | ||
5 | |||
6 | Permission is hereby granted, free of charge, to any person obtaining a | ||
7 | copy of this software and associated documentation files (the "Software"), | ||
8 | to deal in the Software without restriction, including without limitation | ||
9 | the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
10 | and/or sell copies of the Software, and to permit persons to whom the | ||
11 | Software is furnished to do so, subject to the following conditions: | ||
12 | |||
13 | The above copyright notice and this permission notice (including the next | ||
14 | paragraph) shall be included in all copies or substantial portions of the | ||
15 | Software. | ||
16 | |||
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
20 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
23 | DEALINGS IN THE SOFTWARE. | ||
24 | </copyright> | ||
25 | |||
26 | <interface name="zxdg_decoration_manager_v1" version="1"> | ||
27 | <description summary="window decoration manager"> | ||
28 | This interface allows a compositor to announce support for server-side | ||
29 | decorations. | ||
30 | |||
31 | A window decoration is a set of window controls as deemed appropriate by | ||
32 | the party managing them, such as user interface components used to move, | ||
33 | resize and change a window's state. | ||
34 | |||
35 | A client can use this protocol to request being decorated by a supporting | ||
36 | compositor. | ||
37 | |||
38 | If compositor and client do not negotiate the use of a server-side | ||
39 | decoration using this protocol, clients continue to self-decorate as they | ||
40 | see fit. | ||
41 | |||
42 | Warning! The protocol described in this file is experimental and | ||
43 | backward incompatible changes may be made. Backward compatible changes | ||
44 | may be added together with the corresponding interface version bump. | ||
45 | Backward incompatible changes are done by bumping the version number in | ||
46 | the protocol and interface names and resetting the interface version. | ||
47 | Once the protocol is to be declared stable, the 'z' prefix and the | ||
48 | version number in the protocol and interface names are removed and the | ||
49 | interface version number is reset. | ||
50 | </description> | ||
51 | |||
52 | <request name="destroy" type="destructor"> | ||
53 | <description summary="destroy the decoration manager object"> | ||
54 | Destroy the decoration manager. This doesn't destroy objects created | ||
55 | with the manager. | ||
56 | </description> | ||
57 | </request> | ||
58 | |||
59 | <request name="get_toplevel_decoration"> | ||
60 | <description summary="create a new toplevel decoration object"> | ||
61 | Create a new decoration object associated with the given toplevel. | ||
62 | |||
63 | Creating an xdg_toplevel_decoration from an xdg_toplevel which has a | ||
64 | buffer attached or committed is a client error, and any attempts by a | ||
65 | client to attach or manipulate a buffer prior to the first | ||
66 | xdg_toplevel_decoration.configure event must also be treated as | ||
67 | errors. | ||
68 | </description> | ||
69 | <arg name="id" type="new_id" interface="zxdg_toplevel_decoration_v1"/> | ||
70 | <arg name="toplevel" type="object" interface="xdg_toplevel"/> | ||
71 | </request> | ||
72 | </interface> | ||
73 | |||
74 | <interface name="zxdg_toplevel_decoration_v1" version="1"> | ||
75 | <description summary="decoration object for a toplevel surface"> | ||
76 | The decoration object allows the compositor to toggle server-side window | ||
77 | decorations for a toplevel surface. The client can request to switch to | ||
78 | another mode. | ||
79 | |||
80 | The xdg_toplevel_decoration object must be destroyed before its | ||
81 | xdg_toplevel. | ||
82 | </description> | ||
83 | |||
84 | <enum name="error"> | ||
85 | <entry name="unconfigured_buffer" value="0" | ||
86 | summary="xdg_toplevel has a buffer attached before configure"/> | ||
87 | <entry name="already_constructed" value="1" | ||
88 | summary="xdg_toplevel already has a decoration object"/> | ||
89 | <entry name="orphaned" value="2" | ||
90 | summary="xdg_toplevel destroyed before the decoration object"/> | ||
91 | </enum> | ||
92 | |||
93 | <request name="destroy" type="destructor"> | ||
94 | <description summary="destroy the decoration object"> | ||
95 | Switch back to a mode without any server-side decorations at the next | ||
96 | commit. | ||
97 | </description> | ||
98 | </request> | ||
99 | |||
100 | <enum name="mode"> | ||
101 | <description summary="window decoration modes"> | ||
102 | These values describe window decoration modes. | ||
103 | </description> | ||
104 | <entry name="client_side" value="1" | ||
105 | summary="no server-side window decoration"/> | ||
106 | <entry name="server_side" value="2" | ||
107 | summary="server-side window decoration"/> | ||
108 | </enum> | ||
109 | |||
110 | <request name="set_mode"> | ||
111 | <description summary="set the decoration mode"> | ||
112 | Set the toplevel surface decoration mode. This informs the compositor | ||
113 | that the client prefers the provided decoration mode. | ||
114 | |||
115 | After requesting a decoration mode, the compositor will respond by | ||
116 | emitting a xdg_surface.configure event. The client should then update | ||
117 | its content, drawing it without decorations if the received mode is | ||
118 | server-side decorations. The client must also acknowledge the configure | ||
119 | when committing the new content (see xdg_surface.ack_configure). | ||
120 | |||
121 | The compositor can decide not to use the client's mode and enforce a | ||
122 | different mode instead. | ||
123 | |||
124 | Clients whose decoration mode depend on the xdg_toplevel state may send | ||
125 | a set_mode request in response to a xdg_surface.configure event and wait | ||
126 | for the next xdg_surface.configure event to prevent unwanted state. | ||
127 | Such clients are responsible for preventing configure loops and must | ||
128 | make sure not to send multiple successive set_mode requests with the | ||
129 | same decoration mode. | ||
130 | </description> | ||
131 | <arg name="mode" type="uint" enum="mode" summary="the decoration mode"/> | ||
132 | </request> | ||
133 | |||
134 | <request name="unset_mode"> | ||
135 | <description summary="unset the decoration mode"> | ||
136 | Unset the toplevel surface decoration mode. This informs the compositor | ||
137 | that the client doesn't prefer a particular decoration mode. | ||
138 | |||
139 | This request has the same semantics as set_mode. | ||
140 | </description> | ||
141 | </request> | ||
142 | |||
143 | <event name="configure"> | ||
144 | <description summary="suggest a surface change"> | ||
145 | The configure event asks the client to change its decoration mode. The | ||
146 | configured state should not be applied immediately. Clients must send an | ||
147 | ack_configure in response to this event. See xdg_surface.configure and | ||
148 | xdg_surface.ack_configure for details. | ||
149 | |||
150 | A configure event can be sent at any time. The specified mode must be | ||
151 | obeyed by the client. | ||
152 | </description> | ||
153 | <arg name="mode" type="uint" enum="mode" summary="the decoration mode"/> | ||
154 | </event> | ||
155 | </interface> | ||
156 | </protocol> | ||