Imported Upstream version 5.0
[platform/upstream/fixesproto.git] / xfixeswire.h
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_ */