present.xml revision a27842ff
1f591e195Smrg<?xml version="1.0" encoding="utf-8"?>
2f591e195Smrg<!--
3f591e195Smrg
4f591e195SmrgCopyright © 2013 Keith Packard
5f591e195Smrg
6f591e195SmrgPermission to use, copy, modify, distribute, and sell this software and its
7f591e195Smrgdocumentation for any purpose is hereby granted without fee, provided that
8f591e195Smrgthe above copyright notice appear in all copies and that both that copyright
9f591e195Smrgnotice and this permission notice appear in supporting documentation, and
10f591e195Smrgthat the name of the copyright holders not be used in advertising or
11f591e195Smrgpublicity pertaining to distribution of the software without specific,
12f591e195Smrgwritten prior permission.  The copyright holders make no representations
13f591e195Smrgabout the suitability of this software for any purpose.  It is provided "as
14f591e195Smrgis" without express or implied warranty.
15f591e195Smrg
16f591e195SmrgTHE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17f591e195SmrgINCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18f591e195SmrgEVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19f591e195SmrgCONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20f591e195SmrgDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21f591e195SmrgTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
22f591e195SmrgOF THIS SOFTWARE.
23f591e195Smrg-->
24f591e195Smrg
25f591e195Smrg<xcb header="present" extension-xname="Present" extension-name="Present"
26a27842ffSmrg  major-version="1" minor-version="2">
27f591e195Smrg  <import>xproto</import>
28f591e195Smrg  <import>randr</import>
29f591e195Smrg  <import>xfixes</import>
30f591e195Smrg  <import>sync</import>
31f591e195Smrg
32f591e195Smrg  <!-- Types -->
33f591e195Smrg
34f591e195Smrg  <enum name="Event">
35f591e195Smrg    <item name="ConfigureNotify"><value>0</value></item>
36f591e195Smrg    <item name="CompleteNotify"><value>1</value></item>
37f591e195Smrg    <item name="IdleNotify"><value>2</value></item>
38f591e195Smrg    <item name="RedirectNotify"><value>3</value></item>
39f591e195Smrg  </enum>
40f591e195Smrg
41f591e195Smrg  <enum name="EventMask">
42f591e195Smrg    <item name="NoEvent"><value>0</value></item>
43f591e195Smrg    <item name="ConfigureNotify"><bit>0</bit></item>
44f591e195Smrg    <item name="CompleteNotify"><bit>1</bit></item>
45f591e195Smrg    <item name="IdleNotify"><bit>2</bit></item>
46f591e195Smrg    <item name="RedirectNotify"><bit>3</bit></item>
47f591e195Smrg  </enum>
48f591e195Smrg
49f591e195Smrg  <enum name="Option">
50f591e195Smrg    <item name="None"><value>0</value></item>
51f591e195Smrg    <item name="Async"><bit>0</bit></item>
52f591e195Smrg    <item name="Copy"><bit>1</bit></item>
53f591e195Smrg    <item name="UST"><bit>2</bit></item>
54a27842ffSmrg    <item name="Suboptimal"><bit>3</bit></item>
55f591e195Smrg  </enum>
56f591e195Smrg
57f591e195Smrg  <enum name="Capability">
58f591e195Smrg    <item name="None"><value>0</value></item>
59f591e195Smrg    <item name="Async"><bit>0</bit></item>
60f591e195Smrg    <item name="Fence"><bit>1</bit></item>
61f591e195Smrg    <item name="UST"><bit>2</bit></item>
62f591e195Smrg  </enum>
63f591e195Smrg
64f591e195Smrg  <enum name="CompleteKind">
65f591e195Smrg    <item name="Pixmap"><value>0</value></item>
66f591e195Smrg    <item name="NotifyMSC"><value>1</value></item>
67f591e195Smrg  </enum>
68f591e195Smrg
69f591e195Smrg  <enum name="CompleteMode">
70f591e195Smrg    <item name="Copy"><value>0</value></item>
71f591e195Smrg    <item name="Flip"><value>1</value></item>
72f591e195Smrg    <item name="Skip"><value>2</value></item>
73a27842ffSmrg    <item name="SuboptimalCopy"><value>3</value></item>
74f591e195Smrg  </enum>
75f591e195Smrg
76f591e195Smrg  <struct name="Notify">
77f591e195Smrg    <field type="WINDOW" name="window" />
78f591e195Smrg    <field type="CARD32" name="serial" />
79f591e195Smrg  </struct>
80f591e195Smrg
81f591e195Smrg  <!-- Requests -->
82f591e195Smrg  <request name="QueryVersion" opcode="0">
83f591e195Smrg    <field type="CARD32" name="major_version" />
84f591e195Smrg    <field type="CARD32" name="minor_version" />
85f591e195Smrg    <reply>
86f591e195Smrg      <pad bytes="1" />
87f591e195Smrg      <field type="CARD32" name="major_version" />
88f591e195Smrg      <field type="CARD32" name="minor_version" />
89f591e195Smrg    </reply>
90f591e195Smrg  </request>
91f591e195Smrg
92f591e195Smrg  <request name="Pixmap" opcode="1">
93891601f5Smrg    <required_start_align align="8" />
94f591e195Smrg    <field type="WINDOW" name="window" />
95f591e195Smrg    <field type="PIXMAP" name="pixmap" />
96f591e195Smrg    <field type="CARD32" name="serial" />
97f591e195Smrg    <field type="REGION" name="valid" />
98f591e195Smrg    <field type="REGION" name="update" />
99f591e195Smrg    <field type="INT16" name="x_off" />
100f591e195Smrg    <field type="INT16" name="y_off" />
101f591e195Smrg    <field type="CRTC" name="target_crtc" />
102f591e195Smrg    <field type="FENCE" name="wait_fence" />
103f591e195Smrg    <field type="FENCE" name="idle_fence" />
104f591e195Smrg    <field type="CARD32" name="options" />
105f591e195Smrg    <pad bytes="4"/>
106f591e195Smrg    <field type="CARD64" name="target_msc" />
107f591e195Smrg    <field type="CARD64" name="divisor" />
108f591e195Smrg    <field type="CARD64" name="remainder" />
109f591e195Smrg    <list type="Notify" name="notifies"/>
110f591e195Smrg  </request>
111f591e195Smrg
112f591e195Smrg  <request name="NotifyMSC" opcode="2">
113891601f5Smrg    <required_start_align align="8" />
114f591e195Smrg    <field type="WINDOW" name="window" />
115f591e195Smrg    <field type="CARD32" name="serial" />
116f591e195Smrg    <pad bytes="4"/>
117f591e195Smrg    <field type="CARD64" name="target_msc" />
118f591e195Smrg    <field type="CARD64" name="divisor" />
119f591e195Smrg    <field type="CARD64" name="remainder" />
120f591e195Smrg  </request>
121f591e195Smrg
122f591e195Smrg  <xidtype name="EVENT"/>
123f591e195Smrg  
124f591e195Smrg  <request name="SelectInput" opcode="3">
125f591e195Smrg    <field type="EVENT" name="eid"/>
126f591e195Smrg    <field type="WINDOW" name="window" />
127f591e195Smrg    <field type="CARD32" name="event_mask" mask="EventMask" />
128f591e195Smrg  </request>
129f591e195Smrg
130f591e195Smrg  <request name="QueryCapabilities" opcode="4">
131f591e195Smrg    <field type="CARD32" name="target" />
132f591e195Smrg    <reply>
133f591e195Smrg      <pad bytes="1" />
134f591e195Smrg      <field type="CARD32" name="capabilities" />
135f591e195Smrg    </reply>
136f591e195Smrg  </request>
137f591e195Smrg
138f591e195Smrg  <!-- Events -->
139f591e195Smrg
140f591e195Smrg  <event name="Generic" number="0">
141f591e195Smrg    <field type="CARD8" name="extension" />
142f591e195Smrg    <field type="CARD32" name="length" />
143f591e195Smrg    <field type="CARD16" name="evtype" />
144f591e195Smrg    <pad bytes="2" />
145f591e195Smrg    <field type="EVENT" name="event" />
146f591e195Smrg  </event>
147f591e195Smrg    
148f591e195Smrg  <event name="ConfigureNotify" number="0" xge="true">
149f591e195Smrg    <pad bytes="2" />
150f591e195Smrg    <field type="EVENT" name="event" />
151f591e195Smrg    <field type="WINDOW" name="window" />
152f591e195Smrg    <field type="INT16" name="x" />
153f591e195Smrg    <field type="INT16" name="y" />
154f591e195Smrg    <field type="CARD16" name="width" />
155f591e195Smrg    <field type="CARD16" name="height" />
156f591e195Smrg    <field type="INT16" name="off_x" />
157f591e195Smrg    <field type="INT16" name="off_y" />
158f591e195Smrg    <field type="CARD16" name="pixmap_width" />
159f591e195Smrg    <field type="CARD16" name="pixmap_height" />
160f591e195Smrg    <field type="CARD32" name="pixmap_flags" />
161f591e195Smrg  </event>
162f591e195Smrg
163f591e195Smrg  <event name="CompleteNotify" number="1" xge="true">
164891601f5Smrg    <required_start_align align="8" />
165f591e195Smrg    <field type="CARD8" name="kind" enum="CompleteKind" />
166f591e195Smrg    <field type="CARD8" name="mode" enum="CompleteMode" />
167f591e195Smrg    <field type="EVENT" name="event" />
168f591e195Smrg    <field type="WINDOW" name="window" />
169f591e195Smrg    <field type="CARD32" name="serial" />
170f591e195Smrg    <field type="CARD64" name="ust" />
171f591e195Smrg    <field type="CARD64" name="msc" />
172f591e195Smrg  </event>
173f591e195Smrg
174f591e195Smrg  <event name="IdleNotify" number="2" xge="true">
175f591e195Smrg    <pad bytes="2"/>
176f591e195Smrg    <field type="EVENT" name="event" />
177f591e195Smrg    <field type="WINDOW" name="window" />
178f591e195Smrg    <field type="CARD32" name="serial" />
179f591e195Smrg    <field type="PIXMAP" name="pixmap" />
180f591e195Smrg    <field type="FENCE" name="idle_fence" />
181f591e195Smrg  </event>
182f591e195Smrg
183f591e195Smrg  <event name="RedirectNotify" number="3" xge="true">
184891601f5Smrg    <required_start_align align="8" />
185f591e195Smrg    <field type="BOOL" name="update_window"/>
186f591e195Smrg    <pad bytes="1"/>
187f591e195Smrg    <field type="EVENT" name="event" />
188f591e195Smrg    <field type="WINDOW" name="event_window" />
189f591e195Smrg    <field type="WINDOW" name="window" />
190f591e195Smrg    <field type="PIXMAP" name="pixmap" />
191f591e195Smrg    <field type="CARD32" name="serial" />
192f591e195Smrg
193f591e195Smrg    <field type="REGION" name="valid_region" />
194f591e195Smrg    <field type="REGION" name="update_region" />
195f591e195Smrg    <field type="RECTANGLE" name="valid_rect" />
196f591e195Smrg    <field type="RECTANGLE" name="update_rect" />
197f591e195Smrg
198f591e195Smrg    <field type="INT16" name="x_off" />
199f591e195Smrg    <field type="INT16" name="y_off" />
200f591e195Smrg    <field type="CRTC" name="target_crtc" />
201f591e195Smrg    <field type="FENCE" name="wait_fence" />
202f591e195Smrg    <field type="FENCE" name="idle_fence" />
203f591e195Smrg    <field type="CARD32" name="options" />
204f591e195Smrg    <pad bytes="4"/>
205f591e195Smrg    <field type="CARD64" name="target_msc" />
206f591e195Smrg    <field type="CARD64" name="divisor" />
207f591e195Smrg    <field type="CARD64" name="remainder" />
208891601f5Smrg    <list type="Notify" name="notifies" />
209f591e195Smrg  </event>
210f591e195Smrg
211f591e195Smrg</xcb>
212