2 * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
3 * Copyright 2010 Red Hat, Inc.
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
25 * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
27 * Permission to use, copy, modify, distribute, and sell this software and its
28 * documentation for any purpose is hereby granted without fee, provided that
29 * the above copyright notice appear in all copies and that both that
30 * copyright notice and this permission notice appear in supporting
31 * documentation, and that the name of Keith Packard not be used in
32 * advertising or publicity pertaining to distribution of the software without
33 * specific, written prior permission. Keith Packard makes no
34 * representations about the suitability of this software for any purpose. It
35 * is provided "as is" without express or implied warranty.
37 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
38 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
39 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
40 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
41 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
42 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
43 * PERFORMANCE OF THIS SOFTWARE.
46 #ifndef _XFIXESPROTO_H_
47 #define _XFIXESPROTO_H_
50 #include <X11/extensions/xfixeswire.h>
51 #include <X11/extensions/shapeconst.h>
54 #define Drawable CARD32
58 #define Colormap CARD32
59 #define GContext CARD32
61 #define VisualID CARD32
65 #define Picture CARD32
67 /*************** Version 1 ******************/
76 * requests and replies
82 CARD32 majorVersion B32;
83 CARD32 minorVersion B32;
84 } xXFixesQueryVersionReq;
86 #define sz_xXFixesQueryVersionReq 12
89 BYTE type; /* X_Reply */
91 CARD16 sequenceNumber B16;
93 CARD32 majorVersion B32;
94 CARD32 minorVersion B32;
99 } xXFixesQueryVersionReply;
101 #define sz_xXFixesQueryVersionReply 32
107 BYTE mode; /* SetModeInsert/SetModeDelete*/
108 BYTE target; /* SaveSetNearest/SaveSetRoot*/
109 BYTE map; /* SaveSetMap/SaveSetUnmap */
112 } xXFixesChangeSaveSetReq;
114 #define sz_xXFixesChangeSaveSetReq 12
122 CARD32 eventMask B32;
123 } xXFixesSelectSelectionInputReq;
125 #define sz_xXFixesSelectSelectionInputReq 16
130 CARD16 sequenceNumber B16;
135 Time selectionTimestamp B32;
138 } xXFixesSelectionNotifyEvent;
145 CARD32 eventMask B32;
146 } xXFixesSelectCursorInputReq;
148 #define sz_xXFixesSelectCursorInputReq 12
153 CARD16 sequenceNumber B16;
155 CARD32 cursorSerial B32;
157 Atom name B32; /* Version 2 */
161 } xXFixesCursorNotifyEvent;
167 } xXFixesGetCursorImageReq;
169 #define sz_xXFixesGetCursorImageReq 4
172 BYTE type; /* X_Reply */
174 CARD16 sequenceNumber B16;
182 CARD32 cursorSerial B32;
185 } xXFixesGetCursorImageReply;
187 #define sz_xXFixesGetCursorImageReply 32
189 /*************** Version 2 ******************/
191 #define Region CARD32
198 /* LISTofRECTANGLE */
199 } xXFixesCreateRegionReq;
201 #define sz_xXFixesCreateRegionReq 8
209 } xXFixesCreateRegionFromBitmapReq;
211 #define sz_xXFixesCreateRegionFromBitmapReq 12
222 } xXFixesCreateRegionFromWindowReq;
224 #define sz_xXFixesCreateRegionFromWindowReq 16
232 } xXFixesCreateRegionFromGCReq;
234 #define sz_xXFixesCreateRegionFromGCReq 12
242 } xXFixesCreateRegionFromPictureReq;
244 #define sz_xXFixesCreateRegionFromPictureReq 12
251 } xXFixesDestroyRegionReq;
253 #define sz_xXFixesDestroyRegionReq 8
260 /* LISTofRECTANGLE */
261 } xXFixesSetRegionReq;
263 #define sz_xXFixesSetRegionReq 8
270 Region destination B32;
271 } xXFixesCopyRegionReq;
273 #define sz_xXFixesCopyRegionReq 12
281 Region destination B32;
282 } xXFixesCombineRegionReq,
283 xXFixesUnionRegionReq,
284 xXFixesIntersectRegionReq,
285 xXFixesSubtractRegionReq;
287 #define sz_xXFixesCombineRegionReq 16
288 #define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq
289 #define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq
290 #define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq
298 CARD16 width B16, height B16;
299 Region destination B32;
300 } xXFixesInvertRegionReq;
302 #define sz_xXFixesInvertRegionReq 20
309 INT16 dx B16, dy B16;
310 } xXFixesTranslateRegionReq;
312 #define sz_xXFixesTranslateRegionReq 12
319 Region destination B32;
320 } xXFixesRegionExtentsReq;
322 #define sz_xXFixesRegionExtentsReq 12
329 } xXFixesFetchRegionReq;
331 #define sz_xXFixesFetchRegionReq 8
334 BYTE type; /* X_Reply */
336 CARD16 sequenceNumber B16;
339 CARD16 width B16, height B16;
344 } xXFixesFetchRegionReply;
346 #define sz_xXFixesFetchRegionReply 32
354 INT16 xOrigin B16, yOrigin B16;
355 } xXFixesSetGCClipRegionReq;
357 #define sz_xXFixesSetGCClipRegionReq 16
367 INT16 xOff B16, yOff B16;
369 } xXFixesSetWindowShapeRegionReq;
371 #define sz_xXFixesSetWindowShapeRegionReq 20
379 INT16 xOrigin B16, yOrigin B16;
380 } xXFixesSetPictureClipRegionReq;
382 #define sz_xXFixesSetPictureClipRegionReq 16
391 } xXFixesSetCursorNameReq;
393 #define sz_xXFixesSetCursorNameReq 12
400 } xXFixesGetCursorNameReq;
402 #define sz_xXFixesGetCursorNameReq 8
405 BYTE type; /* X_Reply */
407 CARD16 sequenceNumber B16;
416 } xXFixesGetCursorNameReply;
418 #define sz_xXFixesGetCursorNameReply 32
424 } xXFixesGetCursorImageAndNameReq;
426 #define sz_xXFixesGetCursorImageAndNameReq 4
429 BYTE type; /* X_Reply */
431 CARD16 sequenceNumber B16;
439 CARD32 cursorSerial B32;
443 } xXFixesGetCursorImageAndNameReply;
445 #define sz_xXFixesGetCursorImageAndNameReply 32
452 Cursor destination B32;
453 } xXFixesChangeCursorReq;
455 #define sz_xXFixesChangeCursorReq 12
464 } xXFixesChangeCursorByNameReq;
466 #define sz_xXFixesChangeCursorByNameReq 12
468 /*************** Version 3 ******************/
475 Region destination B32;
480 } xXFixesExpandRegionReq;
482 #define sz_xXFixesExpandRegionReq 20
484 /*************** Version 4.0 ******************/
491 } xXFixesHideCursorReq;
493 #define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq)
500 } xXFixesShowCursorReq;
502 #define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq)
504 /*************** Version 5.0 ******************/
506 #define Barrier CARD32
520 CARD16 num_devices B16;
521 /* array of CARD16 devices */
522 } xXFixesCreatePointerBarrierReq;
524 #define sz_xXFixesCreatePointerBarrierReq 28
531 } xXFixesDestroyPointerBarrierReq;
533 #define sz_xXFixesDestroyPointerBarrierReq 8
551 #endif /* _XFIXESPROTO_H_ */