VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/7.0/X11/extensions/Xdbeproto.h@ 17234

最後變更 在這個檔案從17234是 17234,由 vboxsync 提交於 16 年 前

Additions/x11/x11include: blast! Corrected svn:keywords property on all files as per http://linserv.germany/vbox/wiki/SvnKeywords

  • 屬性 svn:eol-style 設為 native
檔案大小: 8.6 KB
 
1/* $Xorg: Xdbeproto.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
2/******************************************************************************
3 *
4 * Copyright (c) 1994, 1995 Hewlett-Packard Company
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining
7 * a copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sublicense, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included
15 * in all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
21 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
22 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
23 * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 *
25 * Except as contained in this notice, the name of the Hewlett-Packard
26 * Company shall not be used in advertising or otherwise to promote the
27 * sale, use or other dealings in this Software without prior written
28 * authorization from the Hewlett-Packard Company.
29 *
30 * Header file for Xlib-related DBE
31 *
32 *****************************************************************************/
33
34
35#ifndef XDBE_PROTO_H
36#define XDBE_PROTO_H
37
38/* INCLUDES */
39
40
41/* DEFINES */
42
43/* Values for swap_action field of XdbeSwapInfo structure */
44#define XdbeUndefined 0
45#define XdbeBackground 1
46#define XdbeUntouched 2
47#define XdbeCopied 3
48
49#ifdef NEED_DBE_PROTOCOL
50
51#define DBE_PROTOCOL_NAME "DOUBLE-BUFFER"
52
53/* Current version numbers */
54#define DBE_MAJOR_VERSION 1
55#define DBE_MINOR_VERSION 0
56
57/* Used when adding extension; also used in Xdbe macros */
58#define DbeNumberEvents 0
59#define DbeBadBuffer 0
60#define DbeNumberErrors (DbeBadBuffer + 1)
61
62/* Request values used in (S)ProcDbeDispatch() */
63#define X_DbeGetVersion 0
64#define X_DbeAllocateBackBufferName 1
65#define X_DbeDeallocateBackBufferName 2
66#define X_DbeSwapBuffers 3
67#define X_DbeBeginIdiom 4
68#define X_DbeEndIdiom 5
69#define X_DbeGetVisualInfo 6
70#define X_DbeGetBackBufferAttributes 7
71
72typedef CARD8 xDbeSwapAction;
73typedef CARD32 xDbeBackBuffer;
74
75#endif /* NEED_DBE_PROTOCOL */
76
77
78/* TYPEDEFS */
79
80/* Client data types */
81
82/* XdbeVisualInfo and XdbeScreenVisualInfo are defined in this file,
83 * "Xdbeproto.h", rather than "Xdbe.h" because the server uses these data
84 * types.
85 */
86
87typedef struct
88{
89 VisualID visual; /* one visual ID that supports double-buffering */
90 int depth; /* depth of visual in bits */
91 int perflevel; /* performance level of visual */
92}
93XdbeVisualInfo;
94
95typedef struct
96{
97 int count; /* number of items in visual_depth */
98 XdbeVisualInfo *visinfo; /* list of visuals & depths for scrn */
99}
100XdbeScreenVisualInfo;
101
102/* Protocol data types */
103
104#ifdef NEED_DBE_PROTOCOL
105
106typedef struct
107{
108 CARD32 window B32; /* window */
109 xDbeSwapAction swapAction; /* swap action */
110 CARD8 pad1; /* unused */
111 CARD16 pad2 B16;
112
113} xDbeSwapInfo;
114
115typedef struct
116{
117 CARD32 visualID B32; /* associated visual */
118 CARD8 depth; /* depth of visual */
119 CARD8 perfLevel; /* performance level hint */
120 CARD16 pad1 B16;
121
122} xDbeVisInfo;
123#define sz_xDbeVisInfo 8
124
125typedef struct
126{
127 CARD32 n B32; /* number of visual info items in list */
128
129} xDbeScreenVisInfo; /* followed by n xDbeVisInfo items */
130
131typedef struct
132{
133 CARD32 window B32; /* window */
134
135} xDbeBufferAttributes;
136
137
138/* Requests and replies */
139
140typedef struct
141{
142 CARD8 reqType; /* major-opcode: always codes->major_opcode */
143 CARD8 dbeReqType; /* minor-opcode: always X_DbeGetVersion (0) */
144 CARD16 length B16; /* request length: (2) */
145 CARD8 majorVersion; /* client-major-version */
146 CARD8 minorVersion; /* client-minor-version */
147 CARD16 unused B16; /* unused */
148
149} xDbeGetVersionReq;
150#define sz_xDbeGetVersionReq 8
151
152typedef struct
153{
154 BYTE type; /* Reply: X_Reply (1) */
155 CARD8 unused; /* unused */
156 CARD16 sequenceNumber B16; /* sequence number */
157 CARD32 length B32; /* reply length: (0) */
158 CARD8 majorVersion; /* server-major-version */
159 CARD8 minorVersion; /* server-minor-version */
160 CARD16 pad1 B16; /* unused */
161 CARD32 pad2 B32;
162 CARD32 pad3 B32;
163 CARD32 pad4 B32;
164 CARD32 pad5 B32;
165 CARD32 pad6 B32;
166
167} xDbeGetVersionReply;
168#define sz_xDbeGetVersionReply 32
169
170typedef struct
171{
172 CARD8 reqType; /* major-opcode: codes->major_opcode */
173 CARD8 dbeReqType; /* X_DbeAllocateBackBufferName (1) */
174 CARD16 length B16; /* request length: (4) */
175 CARD32 window B32; /* window */
176 xDbeBackBuffer buffer B32; /* back buffer name */
177 xDbeSwapAction swapAction; /* swap action hint */
178 CARD8 pad1; /* unused */
179 CARD16 pad2 B16;
180
181} xDbeAllocateBackBufferNameReq;
182#define sz_xDbeAllocateBackBufferNameReq 16
183
184typedef struct
185{
186 CARD8 reqType; /* major-opcode: codes->major_opcode */
187 CARD8 dbeReqType; /* X_DbeDeallocateBackBufferName (2) */
188 CARD16 length B16; /* request length: (2) */
189 xDbeBackBuffer buffer B32; /* back buffer name */
190
191} xDbeDeallocateBackBufferNameReq;
192#define sz_xDbeDeallocateBackBufferNameReq 8
193
194typedef struct
195{
196 CARD8 reqType; /* major-opcode: always codes->major_opcode */
197 CARD8 dbeReqType; /* minor-opcode: always X_DbeSwapBuffers (3) */
198 CARD16 length B16; /* request length: (2+2n) */
199 CARD32 n B32; /* n, number of window/swap action pairs */
200
201} xDbeSwapBuffersReq; /* followed by n window/swap action pairs */
202#define sz_xDbeSwapBuffersReq 8
203
204typedef struct
205{
206 CARD8 reqType; /* major-opcode: always codes->major_opcode */
207 CARD8 dbeReqType; /* minor-opcode: always X_DbeBeginIdom (4) */
208 CARD16 length B16; /* request length: (1) */
209
210} xDbeBeginIdiomReq;
211#define sz_xDbeBeginIdiomReq 4
212
213typedef struct
214{
215 CARD8 reqType; /* major-opcode: always codes->major_opcode */
216 CARD8 dbeReqType; /* minor-opcode: always X_DbeEndIdom (5) */
217 CARD16 length B16; /* request length: (1) */
218
219} xDbeEndIdiomReq;
220#define sz_xDbeEndIdiomReq 4
221
222typedef struct
223{
224 CARD8 reqType; /* always codes->major_opcode */
225 CARD8 dbeReqType; /* always X_DbeGetVisualInfo (6) */
226 CARD16 length B16; /* request length: (2+n) */
227 CARD32 n B32; /* n, number of drawables in list */
228
229} xDbeGetVisualInfoReq; /* followed by n drawables */
230#define sz_xDbeGetVisualInfoReq 8
231
232typedef struct
233{
234 BYTE type; /* Reply: X_Reply (1) */
235 CARD8 unused; /* unused */
236 CARD16 sequenceNumber B16; /* sequence number */
237 CARD32 length B32; /* reply length */
238 CARD32 m; /* m, number of visual infos in list */
239 CARD32 pad1 B32; /* unused */
240 CARD32 pad2 B32;
241 CARD32 pad3 B32;
242 CARD32 pad4 B32;
243 CARD32 pad5 B32;
244
245} xDbeGetVisualInfoReply; /* followed by m visual infos */
246#define sz_xDbeGetVisualInfoReply 32
247
248typedef struct
249{
250 CARD8 reqType; /* always codes->major_opcode */
251 CARD8 dbeReqType; /* X_DbeGetBackBufferAttributes (7) */
252 CARD16 length B16; /* request length: (2) */
253 xDbeBackBuffer buffer B32; /* back buffer name */
254
255} xDbeGetBackBufferAttributesReq;
256#define sz_xDbeGetBackBufferAttributesReq 8
257
258typedef struct
259{
260 BYTE type; /* Reply: X_Reply (1) */
261 CARD8 unused; /* unused */
262 CARD16 sequenceNumber B16; /* sequence number */
263 CARD32 length B32; /* reply length: (0) */
264 CARD32 attributes; /* attributes */
265 CARD32 pad1 B32; /* unused */
266 CARD32 pad2 B32;
267 CARD32 pad3 B32;
268 CARD32 pad4 B32;
269 CARD32 pad5 B32;
270
271} xDbeGetBackBufferAttributesReply;
272#define sz_xDbeGetBackBufferAttributesReply 32
273
274#endif /* NEED_DBE_PROTOCOL */
275
276#endif /* XDBE_PROTO_H */
277
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette