Imported Upstream version 1.15.1
[deb_xorg-server.git] / xfixes / xfixesint.h
CommitLineData
a09e091a
JB
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 * Copyright © 2002 Keith Packard
25 *
26 * Permission to use, copy, modify, distribute, and sell this software and its
27 * documentation for any purpose is hereby granted without fee, provided that
28 * the above copyright notice appear in all copies and that both that
29 * copyright notice and this permission notice appear in supporting
30 * documentation, and that the name of Keith Packard not be used in
31 * advertising or publicity pertaining to distribution of the software without
32 * specific, written prior permission. Keith Packard makes no
33 * representations about the suitability of this software for any purpose. It
34 * is provided "as is" without express or implied warranty.
35 *
36 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
37 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
38 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
39 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
40 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
41 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
42 * PERFORMANCE OF THIS SOFTWARE.
43 */
44
45#ifdef HAVE_DIX_CONFIG_H
46#include <dix-config.h>
47#endif
48
49#ifndef _XFIXESINT_H_
50#define _XFIXESINT_H_
51
52#include <X11/X.h>
53#include <X11/Xproto.h>
54#include "misc.h"
55#include "os.h"
56#include "dixstruct.h"
57#include "extnsionst.h"
58#include <X11/extensions/xfixesproto.h>
59#include "windowstr.h"
60#include "selection.h"
61#include "xfixes.h"
62
63extern int XFixesEventBase;
64
65typedef struct _XFixesClient {
66 CARD32 major_version;
67 CARD32 minor_version;
68} XFixesClientRec, *XFixesClientPtr;
69
70#define GetXFixesClient(pClient) ((XFixesClientPtr)dixLookupPrivate(&(pClient)->devPrivates, XFixesClientPrivateKey))
71
72extern int (*ProcXFixesVector[XFixesNumberRequests]) (ClientPtr);
73
74/* Save set */
75int
76 ProcXFixesChangeSaveSet(ClientPtr client);
77
78int
79 SProcXFixesChangeSaveSet(ClientPtr client);
80
81/* Selection events */
82int
83 ProcXFixesSelectSelectionInput(ClientPtr client);
84
85int
86 SProcXFixesSelectSelectionInput(ClientPtr client);
87
88void
89
90SXFixesSelectionNotifyEvent(xXFixesSelectionNotifyEvent * from,
91 xXFixesSelectionNotifyEvent * to);
92Bool
93 XFixesSelectionInit(void);
94
95/* Cursor notification */
96Bool
97 XFixesCursorInit(void);
98
99int
100 ProcXFixesSelectCursorInput(ClientPtr client);
101
102int
103 SProcXFixesSelectCursorInput(ClientPtr client);
104
105void
106
107SXFixesCursorNotifyEvent(xXFixesCursorNotifyEvent * from,
108 xXFixesCursorNotifyEvent * to);
109
110int
111 ProcXFixesGetCursorImage(ClientPtr client);
112
113int
114 SProcXFixesGetCursorImage(ClientPtr client);
115
116/* Cursor names (Version 2) */
117
118int
119 ProcXFixesSetCursorName(ClientPtr client);
120
121int
122 SProcXFixesSetCursorName(ClientPtr client);
123
124int
125 ProcXFixesGetCursorName(ClientPtr client);
126
127int
128 SProcXFixesGetCursorName(ClientPtr client);
129
130int
131 ProcXFixesGetCursorImageAndName(ClientPtr client);
132
133int
134 SProcXFixesGetCursorImageAndName(ClientPtr client);
135
136/* Cursor replacement (Version 2) */
137
138int
139 ProcXFixesChangeCursor(ClientPtr client);
140
141int
142 SProcXFixesChangeCursor(ClientPtr client);
143
144int
145 ProcXFixesChangeCursorByName(ClientPtr client);
146
147int
148 SProcXFixesChangeCursorByName(ClientPtr client);
149
150/* Region objects (Version 2* */
151Bool
152 XFixesRegionInit(void);
153
154int
155 ProcXFixesCreateRegion(ClientPtr client);
156
157int
158 SProcXFixesCreateRegion(ClientPtr client);
159
160int
161 ProcXFixesCreateRegionFromBitmap(ClientPtr client);
162
163int
164 SProcXFixesCreateRegionFromBitmap(ClientPtr client);
165
166int
167 ProcXFixesCreateRegionFromWindow(ClientPtr client);
168
169int
170 SProcXFixesCreateRegionFromWindow(ClientPtr client);
171
172int
173 ProcXFixesCreateRegionFromGC(ClientPtr client);
174
175int
176 SProcXFixesCreateRegionFromGC(ClientPtr client);
177
178int
179 ProcXFixesCreateRegionFromPicture(ClientPtr client);
180
181int
182 SProcXFixesCreateRegionFromPicture(ClientPtr client);
183
184int
185 ProcXFixesDestroyRegion(ClientPtr client);
186
187int
188 SProcXFixesDestroyRegion(ClientPtr client);
189
190int
191 ProcXFixesSetRegion(ClientPtr client);
192
193int
194 SProcXFixesSetRegion(ClientPtr client);
195
196int
197 ProcXFixesCopyRegion(ClientPtr client);
198
199int
200 SProcXFixesCopyRegion(ClientPtr client);
201
202int
203 ProcXFixesCombineRegion(ClientPtr client);
204
205int
206 SProcXFixesCombineRegion(ClientPtr client);
207
208int
209 ProcXFixesInvertRegion(ClientPtr client);
210
211int
212 SProcXFixesInvertRegion(ClientPtr client);
213
214int
215 ProcXFixesTranslateRegion(ClientPtr client);
216
217int
218 SProcXFixesTranslateRegion(ClientPtr client);
219
220int
221 ProcXFixesRegionExtents(ClientPtr client);
222
223int
224 SProcXFixesRegionExtents(ClientPtr client);
225
226int
227 ProcXFixesFetchRegion(ClientPtr client);
228
229int
230 SProcXFixesFetchRegion(ClientPtr client);
231
232int
233 ProcXFixesSetGCClipRegion(ClientPtr client);
234
235int
236 SProcXFixesSetGCClipRegion(ClientPtr client);
237
238int
239 ProcXFixesSetWindowShapeRegion(ClientPtr client);
240
241int
242 SProcXFixesSetWindowShapeRegion(ClientPtr client);
243
244int
245 ProcXFixesSetPictureClipRegion(ClientPtr client);
246
247int
248 SProcXFixesSetPictureClipRegion(ClientPtr client);
249
250int
251 ProcXFixesExpandRegion(ClientPtr client);
252
253int
254 SProcXFixesExpandRegion(ClientPtr client);
255
256int
257 PanoramiXFixesSetGCClipRegion(ClientPtr client);
258
259int
260 PanoramiXFixesSetWindowShapeRegion(ClientPtr client);
261
262int
263 PanoramiXFixesSetPictureClipRegion(ClientPtr client);
264
265/* Cursor Visibility (Version 4) */
266
267int
268 ProcXFixesHideCursor(ClientPtr client);
269
270int
271 SProcXFixesHideCursor(ClientPtr client);
272
273int
274 ProcXFixesShowCursor(ClientPtr client);
275
276int
277 SProcXFixesShowCursor(ClientPtr client);
278
279/* Version 5 */
280
281int
282 ProcXFixesCreatePointerBarrier(ClientPtr client);
283
284int
285 SProcXFixesCreatePointerBarrier(ClientPtr client);
286
287int
288 ProcXFixesDestroyPointerBarrier(ClientPtr client);
289
290int
291 SProcXFixesDestroyPointerBarrier(ClientPtr client);
292
293/* Xinerama */
294#ifdef PANORAMIX
295extern int (*PanoramiXSaveXFixesVector[XFixesNumberRequests]) (ClientPtr);
296void PanoramiXFixesInit(void);
297void PanoramiXFixesReset(void);
298#endif
299
300#endif /* _XFIXESINT_H_ */