Logo

index : raylib-jai

---

  • summary
  • about
  • tree
  • log
  • branches
<< path: root/public/raylib-jai.git/html/Raylib/raylib/src/external/RGFW/deps/wayland/xdg-output-unstable-v1.xml blob: a7306e4193e2841926f2ca4d37d348476176cedd [raw] [clear marker]

        
0<?xml version="1.0" encoding="UTF-8"?>
1<protocol name="xdg_output_unstable_v1">
2
3 <copyright>
4 Copyright © 2017 Red Hat Inc.
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 <description summary="Protocol to describe output regions">
27 This protocol aims at describing outputs in a way which is more in line
28 with the concept of an output on desktop oriented systems.
29
30 Some information are more specific to the concept of an output for
31 a desktop oriented system and may not make sense in other applications,
32 such as IVI systems for example.
33
34 Typically, the global compositor space on a desktop system is made of
35 a contiguous or overlapping set of rectangular regions.
36
37 The logical_position and logical_size events defined in this protocol
38 might provide information identical to their counterparts already
39 available from wl_output, in which case the information provided by this
40 protocol should be preferred to their equivalent in wl_output. The goal is
41 to move the desktop specific concepts (such as output location within the
42 global compositor space, etc.) out of the core wl_output protocol.
43
44 Warning! The protocol described in this file is experimental and
45 backward incompatible changes may be made. Backward compatible
46 changes may be added together with the corresponding interface
47 version bump.
48 Backward incompatible changes are done by bumping the version
49 number in the protocol and interface names and resetting the
50 interface version. Once the protocol is to be declared stable,
51 the 'z' prefix and the version number in the protocol and
52 interface names are removed and the interface version number is
53 reset.
54 </description>
55
56 <interface name="zxdg_output_manager_v1" version="3">
57 <description summary="manage xdg_output objects">
58 A global factory interface for xdg_output objects.
59 </description>
60
61 <request name="destroy" type="destructor">
62 <description summary="destroy the xdg_output_manager object">
63 Using this request a client can tell the server that it is not
64 going to use the xdg_output_manager object anymore.
65
66 Any objects already created through this instance are not affected.
67 </description>
68 </request>
69
70 <request name="get_xdg_output">
71 <description summary="create an xdg output from a wl_output">
72 This creates a new xdg_output object for the given wl_output.
73 </description>
74 <arg name="id" type="new_id" interface="zxdg_output_v1"/>
75 <arg name="output" type="object" interface="wl_output"/>
76 </request>
77 </interface>
78
79 <interface name="zxdg_output_v1" version="3">
80 <description summary="compositor logical output region">
81 An xdg_output describes part of the compositor geometry.
82
83 This typically corresponds to a monitor that displays part of the
84 compositor space.
85
86 For objects version 3 onwards, after all xdg_output properties have been
87 sent (when the object is created and when properties are updated), a
88 wl_output.done event is sent. This allows changes to the output
89 properties to be seen as atomic, even if they happen via multiple events.
90 </description>
91
92 <request name="destroy" type="destructor">
93 <description summary="destroy the xdg_output object">
94 Using this request a client can tell the server that it is not
95 going to use the xdg_output object anymore.
96 </description>
97 </request>
98
99 <event name="logical_position">
100 <description summary="position of the output within the global compositor space">
101 The position event describes the location of the wl_output within
102 the global compositor space.
103
104 The logical_position event is sent after creating an xdg_output
105 (see xdg_output_manager.get_xdg_output) and whenever the location
106 of the output changes within the global compositor space.
107 </description>
108 <arg name="x" type="int"
109 summary="x position within the global compositor space"/>
110 <arg name="y" type="int"
111 summary="y position within the global compositor space"/>
112 </event>
113
114 <event name="logical_size">
115 <description summary="size of the output in the global compositor space">
116 The logical_size event describes the size of the output in the
117 global compositor space.
118
119 Most regular Wayland clients should not pay attention to the
120 logical size and would rather rely on xdg_shell interfaces.
121
122 Some clients such as Xwayland, however, need this to configure
123 their surfaces in the global compositor space as the compositor
124 may apply a different scale from what is advertised by the output
125 scaling property (to achieve fractional scaling, for example).
126
127 For example, for a wl_output mode 3840×2160 and a scale factor 2:
128
129 - A compositor not scaling the monitor viewport in its compositing space
130 will advertise a logical size of 3840×2160,
131
132 - A compositor scaling the monitor viewport with scale factor 2 will
133 advertise a logical size of 1920×1080,
134
135 - A compositor scaling the monitor viewport using a fractional scale of
136 1.5 will advertise a logical size of 2560×1440.
137
138 For example, for a wl_output mode 1920×1080 and a 90 degree rotation,
139 the compositor will advertise a logical size of 1080x1920.
140
141 The logical_size event is sent after creating an xdg_output
142 (see xdg_output_manager.get_xdg_output) and whenever the logical
143 size of the output changes, either as a result of a change in the
144 applied scale or because of a change in the corresponding output
145 mode(see wl_output.mode) or transform (see wl_output.transform).
146 </description>
147 <arg name="width" type="int"
148 summary="width in global compositor space"/>
149 <arg name="height" type="int"
150 summary="height in global compositor space"/>
151 </event>
152
153 <event name="done" deprecated-since="3">
154 <description summary="all information about the output have been sent">
155 This event is sent after all other properties of an xdg_output
156 have been sent.
157
158 This allows changes to the xdg_output properties to be seen as
159 atomic, even if they happen via multiple events.
160
161 For objects version 3 onwards, this event is deprecated. Compositors
162 are not required to send it anymore and must send wl_output.done
163 instead.
164 </description>
165 </event>
166
167 <!-- Version 2 additions -->
168
169 <event name="name" since="2">
170 <description summary="name of this output">
171 Many compositors will assign names to their outputs, show them to the
172 user, allow them to be configured by name, etc. The client may wish to
173 know this name as well to offer the user similar behaviors.
174
175 The naming convention is compositor defined, but limited to
176 alphanumeric characters and dashes (-). Each name is unique among all
177 wl_output globals, but if a wl_output global is destroyed the same name
178 may be reused later. The names will also remain consistent across
179 sessions with the same hardware and software configuration.
180
181 Examples of names include 'HDMI-A-1', 'WL-1', 'X11-1', etc. However, do
182 not assume that the name is a reflection of an underlying DRM
183 connector, X11 connection, etc.
184
185 The name event is sent after creating an xdg_output (see
186 xdg_output_manager.get_xdg_output). This event is only sent once per
187 xdg_output, and the name does not change over the lifetime of the
188 wl_output global.
189
190 This event is deprecated, instead clients should use wl_output.name.
191 Compositors must still support this event.
192 </description>
193 <arg name="name" type="string" summary="output name"/>
194 </event>
195
196 <event name="description" since="2">
197 <description summary="human-readable description of this output">
198 Many compositors can produce human-readable descriptions of their
199 outputs. The client may wish to know this description as well, to
200 communicate the user for various purposes.
201
202 The description is a UTF-8 string with no convention defined for its
203 contents. Examples might include 'Foocorp 11" Display' or 'Virtual X11
204 output via :1'.
205
206 The description event is sent after creating an xdg_output (see
207 xdg_output_manager.get_xdg_output) and whenever the description
208 changes. The description is optional, and may not be sent at all.
209
210 For objects of version 2 and lower, this event is only sent once per
211 xdg_output, and the description does not change over the lifetime of
212 the wl_output global.
213
214 This event is deprecated, instead clients should use
215 wl_output.description. Compositors must still support this event.
216 </description>
217 <arg name="description" type="string" summary="output description"/>
218 </event>
219
220 </interface>
221</protocol>
222
Copyright 2026  E766CB298A6D1E64 | Git-Thing heavily inspired by cgit