merge the formfield patch from ooo-build
[ooovba.git] / x11_extensions / inc / randrproto.h
blob04d62fc0476d9534ef86f6977ea5a0380c5949b9
1 /*
2 * $XFree86: xc/include/extensions/randrproto.h,v 1.6 2002/09/29 23:39:43 keithp Exp $
4 * Copyright © 2000 Compaq Computer Corporation
5 * Copyright © 2002 Hewlett-Packard Company
7 * Permission to use, copy, modify, distribute, and sell this software and its
8 * documentation for any purpose is hereby granted without fee, provided that
9 * the above copyright notice appear in all copies and that both that
10 * copyright notice and this permission notice appear in supporting
11 * documentation, and that the name of Compaq or HP not be used in advertising
12 * or publicity pertaining to distribution of the software without specific,
13 * written prior permission. Compaq and HP makes no representations about the
14 * suitability of this software for any purpose. It is provided "as is"
15 * without express or implied warranty.
17 * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ
19 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
20 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
21 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
22 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
24 * Author: Jim Gettys, Hewlett-Packard Company, Inc.
27 /* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
28 /* V1.0 removes depth switching from the protocol */
29 #ifndef _XRANDRP_H_
30 #define _XRANDRP_H_
32 #include <X11/extensions/randr.h>
34 #define Window CARD32
35 #define Drawable CARD32
36 #define Font CARD32
37 #define Pixmap CARD32
38 #define Cursor CARD32
39 #define Colormap CARD32
40 #define GContext CARD32
41 #define Atom CARD32
42 #define Time CARD32
43 #define KeyCode CARD8
44 #define KeySym CARD32
46 #define Rotation CARD16
47 #define SizeID CARD16
48 #define SubpixelOrder CARD16
51 * data structures
54 typedef struct {
55 CARD16 widthInPixels B16;
56 CARD16 heightInPixels B16;
57 CARD16 widthInMillimeters B16;
58 CARD16 heightInMillimeters B16;
59 } xScreenSizes;
60 #define sz_xScreenSizes 8
62 /*
63 * requests and replies
66 typedef struct {
67 CARD8 reqType;
68 CARD8 randrReqType;
69 CARD16 length B16;
70 CARD32 majorVersion B32;
71 CARD32 minorVersion B32;
72 } xRRQueryVersionReq;
73 #define sz_xRRQueryVersionReq 12
75 typedef struct {
76 BYTE type; /* X_Reply */
77 BYTE pad1;
78 CARD16 sequenceNumber B16;
79 CARD32 length B32;
80 CARD32 majorVersion B32;
81 CARD32 minorVersion B32;
82 CARD32 pad2 B32;
83 CARD32 pad3 B32;
84 CARD32 pad4 B32;
85 CARD32 pad5 B32;
86 } xRRQueryVersionReply;
87 #define sz_xRRQueryVersionReply 32
89 typedef struct {
90 CARD8 reqType;
91 CARD8 randrReqType;
92 CARD16 length B16;
93 Window window B32;
94 } xRRGetScreenInfoReq;
95 #define sz_xRRGetScreenInfoReq 8
97 /*
98 * the xRRScreenInfoReply structure is followed by:
100 * the size information
104 typedef struct {
105 BYTE type; /* X_Reply */
106 BYTE setOfRotations;
107 CARD16 sequenceNumber B16;
108 CARD32 length B32;
109 Window root B32;
110 Time timestamp B32;
111 Time configTimestamp B32;
112 CARD16 nSizes B16;
113 SizeID sizeID B16;
114 Rotation rotation B16;
115 CARD16 rate B16;
116 CARD16 nrateEnts B16;
117 CARD16 pad B16;
118 } xRRGetScreenInfoReply;
119 #define sz_xRRGetScreenInfoReply 32
121 typedef struct {
122 CARD8 reqType;
123 CARD8 randrReqType;
124 CARD16 length B16;
125 Drawable drawable B32;
126 Time timestamp B32;
127 Time configTimestamp B32;
128 SizeID sizeID B16;
129 Rotation rotation B16;
130 } xRR1_0SetScreenConfigReq;
131 #define sz_xRR1_0SetScreenConfigReq 20
133 typedef struct {
134 CARD8 reqType;
135 CARD8 randrReqType;
136 CARD16 length B16;
137 Drawable drawable B32;
138 Time timestamp B32;
139 Time configTimestamp B32;
140 SizeID sizeID B16;
141 Rotation rotation B16;
142 CARD16 rate B16;
143 CARD16 pad B16;
144 } xRRSetScreenConfigReq;
145 #define sz_xRRSetScreenConfigReq 24
147 typedef struct {
148 BYTE type; /* X_Reply */
149 CARD8 status;
150 CARD16 sequenceNumber B16;
151 CARD32 length B32;
152 Time newTimestamp B32;
153 Time newConfigTimestamp B32;
154 Window root;
155 CARD16 subpixelOrder B16;
156 CARD16 pad4 B16;
157 CARD32 pad5 B32;
158 CARD32 pad6 B32;
159 } xRRSetScreenConfigReply;
160 #define sz_xRRSetScreenConfigReply 32
162 typedef struct {
163 CARD8 reqType;
164 CARD8 randrReqType;
165 CARD16 length B16;
166 Window window B32;
167 CARD16 enable B16;
168 CARD16 pad2 B16;
169 } xRRSelectInputReq;
170 #define sz_xRRSelectInputReq 12
172 #define sz_xRRSelectInputReq 12
175 * event
177 typedef struct {
178 CARD8 type; /* always evBase + ScreenChangeNotify */
179 CARD8 rotation; /* new rotation */
180 CARD16 sequenceNumber B16;
181 Time timestamp B32; /* time screen was changed */
182 Time configTimestamp B32; /* time config data was changed */
183 Window root B32; /* root window */
184 Window window B32; /* window requesting notification */
185 SizeID sizeID B16; /* new size ID */
186 CARD16 subpixelOrder B16; /* subpixel order */
187 CARD16 widthInPixels B16; /* new size */
188 CARD16 heightInPixels B16;
189 CARD16 widthInMillimeters B16;
190 CARD16 heightInMillimeters B16;
191 } xRRScreenChangeNotifyEvent;
192 #define sz_xRRScreenChangeNotifyEvent 32
194 #undef Window
195 #undef Drawable
196 #undef Font
197 #undef Pixmap
198 #undef Cursor
199 #undef Colormap
200 #undef GContext
201 #undef Atom
202 #undef Time
203 #undef KeyCode
204 #undef KeySym
205 #undef Rotation
206 #undef SizeID
207 #undef SubpixelOrder
209 #endif /* _XRANDRP_H_ */