First import
[xorg_rtime.git] / xorg-server-1.4 / xfixes / xfixesint.h
blob48927ae0fcdd0fe6b91a34985917acb0553db9cf
1 /*
2 * Copyright © 2006 Sun Microsystems
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation, and that the name of Sun Microsystems not be used in
9 * advertising or publicity pertaining to distribution of the software without
10 * specific, written prior permission. Sun Microsystems makes no
11 * representations about the suitability of this software for any purpose. It
12 * is provided "as is" without express or implied warranty.
14 * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 * PERFORMANCE OF THIS SOFTWARE.
22 * Copyright © 2002 Keith Packard
24 * Permission to use, copy, modify, distribute, and sell this software and its
25 * documentation for any purpose is hereby granted without fee, provided that
26 * the above copyright notice appear in all copies and that both that
27 * copyright notice and this permission notice appear in supporting
28 * documentation, and that the name of Keith Packard not be used in
29 * advertising or publicity pertaining to distribution of the software without
30 * specific, written prior permission. Keith Packard makes no
31 * representations about the suitability of this software for any purpose. It
32 * is provided "as is" without express or implied warranty.
34 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
35 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
36 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
37 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
38 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
39 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
40 * PERFORMANCE OF THIS SOFTWARE.
43 #ifdef HAVE_DIX_CONFIG_H
44 #include <dix-config.h>
45 #endif
47 #ifndef _XFIXESINT_H_
48 #define _XFIXESINT_H_
50 #define NEED_EVENTS
51 #include <X11/X.h>
52 #include <X11/Xproto.h>
53 #include "misc.h"
54 #include "os.h"
55 #include "dixstruct.h"
56 #include "extnsionst.h"
57 #include <X11/extensions/xfixesproto.h>
58 #include "windowstr.h"
59 #include "selection.h"
60 #include "xfixes.h"
62 extern int XFixesEventBase;
64 typedef struct _XFixesClient {
65 CARD32 major_version;
66 CARD32 minor_version;
67 } XFixesClientRec, *XFixesClientPtr;
69 #define GetXFixesClient(pClient) ((XFixesClientPtr) (pClient)->devPrivates[XFixesClientPrivateIndex].ptr)
71 extern int (*ProcXFixesVector[XFixesNumberRequests])(ClientPtr);
73 /* Initialize extension at server startup time */
75 void
76 XFixesExtensionInit(void);
78 /* Save set */
79 int
80 ProcXFixesChangeSaveSet(ClientPtr client);
82 int
83 SProcXFixesChangeSaveSet(ClientPtr client);
85 /* Selection events */
86 int
87 ProcXFixesSelectSelectionInput (ClientPtr client);
89 int
90 SProcXFixesSelectSelectionInput (ClientPtr client);
92 void
93 SXFixesSelectionNotifyEvent (xXFixesSelectionNotifyEvent *from,
94 xXFixesSelectionNotifyEvent *to);
95 Bool
96 XFixesSelectionInit (void);
98 /* Cursor notification */
99 Bool
100 XFixesCursorInit (void);
103 ProcXFixesSelectCursorInput (ClientPtr client);
106 SProcXFixesSelectCursorInput (ClientPtr client);
108 void
109 SXFixesCursorNotifyEvent (xXFixesCursorNotifyEvent *from,
110 xXFixesCursorNotifyEvent *to);
113 ProcXFixesGetCursorImage (ClientPtr client);
116 SProcXFixesGetCursorImage (ClientPtr client);
118 /* Cursor names (Version 2) */
121 ProcXFixesSetCursorName (ClientPtr client);
124 SProcXFixesSetCursorName (ClientPtr client);
127 ProcXFixesGetCursorName (ClientPtr client);
130 SProcXFixesGetCursorName (ClientPtr client);
133 ProcXFixesGetCursorImageAndName (ClientPtr client);
136 SProcXFixesGetCursorImageAndName (ClientPtr client);
138 /* Cursor replacement (Version 2) */
141 ProcXFixesChangeCursor (ClientPtr client);
144 SProcXFixesChangeCursor (ClientPtr client);
147 ProcXFixesChangeCursorByName (ClientPtr client);
150 SProcXFixesChangeCursorByName (ClientPtr client);
152 /* Region objects (Version 2* */
153 Bool
154 XFixesRegionInit (void);
157 ProcXFixesCreateRegion (ClientPtr client);
160 SProcXFixesCreateRegion (ClientPtr client);
163 ProcXFixesCreateRegionFromBitmap (ClientPtr client);
166 SProcXFixesCreateRegionFromBitmap (ClientPtr client);
169 ProcXFixesCreateRegionFromWindow (ClientPtr client);
172 SProcXFixesCreateRegionFromWindow (ClientPtr client);
175 ProcXFixesCreateRegionFromGC (ClientPtr client);
178 SProcXFixesCreateRegionFromGC (ClientPtr client);
181 ProcXFixesCreateRegionFromPicture (ClientPtr client);
184 SProcXFixesCreateRegionFromPicture (ClientPtr client);
187 ProcXFixesDestroyRegion (ClientPtr client);
190 SProcXFixesDestroyRegion (ClientPtr client);
193 ProcXFixesSetRegion (ClientPtr client);
196 SProcXFixesSetRegion (ClientPtr client);
199 ProcXFixesCopyRegion (ClientPtr client);
202 SProcXFixesCopyRegion (ClientPtr client);
205 ProcXFixesCombineRegion (ClientPtr client);
208 SProcXFixesCombineRegion (ClientPtr client);
211 ProcXFixesInvertRegion (ClientPtr client);
214 SProcXFixesInvertRegion (ClientPtr client);
217 ProcXFixesTranslateRegion (ClientPtr client);
220 SProcXFixesTranslateRegion (ClientPtr client);
223 ProcXFixesRegionExtents (ClientPtr client);
226 SProcXFixesRegionExtents (ClientPtr client);
229 ProcXFixesFetchRegion (ClientPtr client);
232 SProcXFixesFetchRegion (ClientPtr client);
235 ProcXFixesSetGCClipRegion (ClientPtr client);
238 SProcXFixesSetGCClipRegion (ClientPtr client);
241 ProcXFixesSetWindowShapeRegion (ClientPtr client);
244 SProcXFixesSetWindowShapeRegion (ClientPtr client);
247 ProcXFixesSetPictureClipRegion (ClientPtr client);
250 SProcXFixesSetPictureClipRegion (ClientPtr client);
253 ProcXFixesExpandRegion (ClientPtr client);
256 SProcXFixesExpandRegion (ClientPtr client);
258 /* Cursor Visibility (Version 4) */
260 int
261 ProcXFixesHideCursor (ClientPtr client);
263 int
264 SProcXFixesHideCursor (ClientPtr client);
266 int
267 ProcXFixesShowCursor (ClientPtr client);
269 int
270 SProcXFixesShowCursor (ClientPtr client);
272 #endif /* _XFIXESINT_H_ */