1/*
2 * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
3 * Copyright 2010 Red Hat, Inc.
4 *
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:
11 *
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
14 * Software.
15 *
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.
23 */
24/*
25 * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
26 *
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.
36 *
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.
44 */
45
46
47#ifndef _XFIXESWIRE_H_
48#define _XFIXESWIRE_H_
49
50#define XFIXES_NAME "XFIXES"
51#define XFIXES_MAJOR 5
52#define XFIXES_MINOR 0
53
54/*************** Version 1 ******************/
55#define X_XFixesQueryVersion 0
56#define X_XFixesChangeSaveSet 1
57#define X_XFixesSelectSelectionInput 2
58#define X_XFixesSelectCursorInput 3
59#define X_XFixesGetCursorImage 4
60/*************** Version 2 ******************/
61#define X_XFixesCreateRegion 5
62#define X_XFixesCreateRegionFromBitmap 6
63#define X_XFixesCreateRegionFromWindow 7
64#define X_XFixesCreateRegionFromGC 8
65#define X_XFixesCreateRegionFromPicture 9
66#define X_XFixesDestroyRegion 10
67#define X_XFixesSetRegion 11
68#define X_XFixesCopyRegion 12
69#define X_XFixesUnionRegion 13
70#define X_XFixesIntersectRegion 14
71#define X_XFixesSubtractRegion 15
72#define X_XFixesInvertRegion 16
73#define X_XFixesTranslateRegion 17
74#define X_XFixesRegionExtents 18
75#define X_XFixesFetchRegion 19
76#define X_XFixesSetGCClipRegion 20
77#define X_XFixesSetWindowShapeRegion 21
78#define X_XFixesSetPictureClipRegion 22
79#define X_XFixesSetCursorName 23
80#define X_XFixesGetCursorName 24
81#define X_XFixesGetCursorImageAndName 25
82#define X_XFixesChangeCursor 26
83#define X_XFixesChangeCursorByName 27
84/*************** Version 3 ******************/
85#define X_XFixesExpandRegion 28
86/*************** Version 4 ******************/
87#define X_XFixesHideCursor 29
88#define X_XFixesShowCursor 30
89/*************** Version 5 ******************/
90#define X_XFixesCreatePointerBarrier 31
91#define X_XFixesDestroyPointerBarrier 32
92
93#define XFixesNumberRequests (X_XFixesDestroyPointerBarrier+1)
94
95/* Selection events share one event number */
96#define XFixesSelectionNotify 0
97
98/* Within the selection, the 'subtype' field distinguishes */
99#define XFixesSetSelectionOwnerNotify 0
100#define XFixesSelectionWindowDestroyNotify 1
101#define XFixesSelectionClientCloseNotify 2
102
103#define XFixesSetSelectionOwnerNotifyMask (1L << 0)
104#define XFixesSelectionWindowDestroyNotifyMask (1L << 1)
105#define XFixesSelectionClientCloseNotifyMask (1L << 2)
106
107/* There's only one cursor event so far */
108#define XFixesCursorNotify 1
109
110#define XFixesDisplayCursorNotify 0
111
112#define XFixesDisplayCursorNotifyMask (1L << 0)
113
114#define XFixesNumberEvents (2)
115
116/* errors */
117#define BadRegion 0
118#define BadBarrier 1
119#define XFixesNumberErrors (BadBarrier+1)
120
121#define SaveSetNearest 0
122#define SaveSetRoot 1
123
124#define SaveSetMap 0
125#define SaveSetUnmap 1
126
127/*************** Version 2 ******************/
128
129#define WindowRegionBounding 0
130#define WindowRegionClip 1
131
132/*************** Version 5 ******************/
133
134#define BarrierPositiveX (1L << 0)
135#define BarrierPositiveY (1L << 1)
136#define BarrierNegativeX (1L << 2)
137#define BarrierNegativeY (1L << 3)
138
139#endif /* _XFIXESWIRE_H_ */
140