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>
52 #include <X11/Xproto.h>
55 #include "dixstruct.h"
56 #include "extnsionst.h"
57 #include <X11/extensions/xfixesproto.h>
58 #include "windowstr.h"
59 #include "selection.h"
62 extern int XFixesEventBase
;
64 typedef struct _XFixesClient
{
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 */
76 XFixesExtensionInit(void);
80 ProcXFixesChangeSaveSet(ClientPtr client
);
83 SProcXFixesChangeSaveSet(ClientPtr client
);
85 /* Selection events */
87 ProcXFixesSelectSelectionInput (ClientPtr client
);
90 SProcXFixesSelectSelectionInput (ClientPtr client
);
93 SXFixesSelectionNotifyEvent (xXFixesSelectionNotifyEvent
*from
,
94 xXFixesSelectionNotifyEvent
*to
);
96 XFixesSelectionInit (void);
98 /* Cursor notification */
100 XFixesCursorInit (void);
103 ProcXFixesSelectCursorInput (ClientPtr client
);
106 SProcXFixesSelectCursorInput (ClientPtr client
);
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* */
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) */
261 ProcXFixesHideCursor (ClientPtr client
);
264 SProcXFixesHideCursor (ClientPtr client
);
267 ProcXFixesShowCursor (ClientPtr client
);
270 SProcXFixesShowCursor (ClientPtr client
);
272 #endif /* _XFIXESINT_H_ */