Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/X11/extensions/Xfixes.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 /* | |
2 * Copyright (c) 2006, Oracle and/or its affiliates. | |
3 * Copyright 2011, 2021 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 #ifndef _XFIXES_H_ | |
47 #define _XFIXES_H_ | |
48 | |
49 #include <X11/extensions/xfixeswire.h> | |
50 | |
51 #include <X11/Xfuncproto.h> | |
52 #include <X11/Xlib.h> | |
53 | |
54 /* | |
55 * This revision number also appears in configure.ac, they have | |
56 * to be manually synchronized | |
57 */ | |
58 #define XFIXES_REVISION 1 | |
59 #define XFIXES_VERSION ((XFIXES_MAJOR * 10000) + (XFIXES_MINOR * 100) + (XFIXES_REVISION)) | |
60 | |
61 typedef struct { | |
62 int type; /* event base */ | |
63 unsigned long serial; | |
64 Bool send_event; | |
65 Display *display; | |
66 Window window; | |
67 int subtype; | |
68 Window owner; | |
69 Atom selection; | |
70 Time timestamp; | |
71 Time selection_timestamp; | |
72 } XFixesSelectionNotifyEvent; | |
73 | |
74 typedef struct { | |
75 int type; /* event base */ | |
76 unsigned long serial; | |
77 Bool send_event; | |
78 Display *display; | |
79 Window window; | |
80 int subtype; | |
81 unsigned long cursor_serial; | |
82 Time timestamp; | |
83 Atom cursor_name; | |
84 } XFixesCursorNotifyEvent; | |
85 | |
86 typedef struct { | |
87 short x, y; | |
88 unsigned short width, height; | |
89 unsigned short xhot, yhot; | |
90 unsigned long cursor_serial; | |
91 unsigned long *pixels; | |
92 #if XFIXES_MAJOR >= 2 | |
93 Atom atom; /* Version >= 2 only */ | |
94 const char *name; /* Version >= 2 only */ | |
95 #endif | |
96 } XFixesCursorImage; | |
97 | |
98 #if XFIXES_MAJOR >= 2 | |
99 /* Version 2 types */ | |
100 | |
101 typedef XID XserverRegion; | |
102 | |
103 typedef struct { | |
104 short x, y; | |
105 unsigned short width, height; | |
106 unsigned short xhot, yhot; | |
107 unsigned long cursor_serial; | |
108 unsigned long *pixels; | |
109 Atom atom; | |
110 const char *name; | |
111 } XFixesCursorImageAndName; | |
112 | |
113 #endif | |
114 | |
115 _XFUNCPROTOBEGIN | |
116 | |
117 Bool XFixesQueryExtension (Display *dpy, | |
118 int *event_base_return, | |
119 int *error_base_return); | |
120 Status XFixesQueryVersion (Display *dpy, | |
121 int *major_version_return, | |
122 int *minor_version_return); | |
123 | |
124 int XFixesVersion (void); | |
125 | |
126 void | |
127 XFixesChangeSaveSet (Display *dpy, | |
128 Window win, | |
129 int mode, | |
130 int target, | |
131 int map); | |
132 | |
133 void | |
134 XFixesSelectSelectionInput (Display *dpy, | |
135 Window win, | |
136 Atom selection, | |
137 unsigned long eventMask); | |
138 | |
139 void | |
140 XFixesSelectCursorInput (Display *dpy, | |
141 Window win, | |
142 unsigned long eventMask); | |
143 | |
144 XFixesCursorImage * | |
145 XFixesGetCursorImage (Display *dpy); | |
146 | |
147 #if XFIXES_MAJOR >= 2 | |
148 /* Version 2 functions */ | |
149 | |
150 XserverRegion | |
151 XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles); | |
152 | |
153 XserverRegion | |
154 XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap); | |
155 | |
156 XserverRegion | |
157 XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind); | |
158 | |
159 XserverRegion | |
160 XFixesCreateRegionFromGC (Display *dpy, GC gc); | |
161 | |
162 XserverRegion | |
163 XFixesCreateRegionFromPicture (Display *dpy, XID picture); | |
164 | |
165 void | |
166 XFixesDestroyRegion (Display *dpy, XserverRegion region); | |
167 | |
168 void | |
169 XFixesSetRegion (Display *dpy, XserverRegion region, | |
170 XRectangle *rectangles, int nrectangles); | |
171 | |
172 void | |
173 XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src); | |
174 | |
175 void | |
176 XFixesUnionRegion (Display *dpy, XserverRegion dst, | |
177 XserverRegion src1, XserverRegion src2); | |
178 | |
179 void | |
180 XFixesIntersectRegion (Display *dpy, XserverRegion dst, | |
181 XserverRegion src1, XserverRegion src2); | |
182 | |
183 void | |
184 XFixesSubtractRegion (Display *dpy, XserverRegion dst, | |
185 XserverRegion src1, XserverRegion src2); | |
186 | |
187 void | |
188 XFixesInvertRegion (Display *dpy, XserverRegion dst, | |
189 XRectangle *rect, XserverRegion src); | |
190 | |
191 void | |
192 XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy); | |
193 | |
194 void | |
195 XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src); | |
196 | |
197 XRectangle * | |
198 XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet); | |
199 | |
200 XRectangle * | |
201 XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region, | |
202 int *nrectanglesRet, | |
203 XRectangle *bounds); | |
204 | |
205 void | |
206 XFixesSetGCClipRegion (Display *dpy, GC gc, | |
207 int clip_x_origin, int clip_y_origin, | |
208 XserverRegion region); | |
209 | |
210 void | |
211 XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind, | |
212 int x_off, int y_off, XserverRegion region); | |
213 | |
214 void | |
215 XFixesSetPictureClipRegion (Display *dpy, XID picture, | |
216 int clip_x_origin, int clip_y_origin, | |
217 XserverRegion region); | |
218 | |
219 void | |
220 XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name); | |
221 | |
222 const char * | |
223 XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom); | |
224 | |
225 void | |
226 XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination); | |
227 | |
228 void | |
229 XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name); | |
230 | |
231 #endif /* XFIXES_MAJOR >= 2 */ | |
232 | |
233 #if XFIXES_MAJOR >= 3 | |
234 | |
235 void | |
236 XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src, | |
237 unsigned left, unsigned right, | |
238 unsigned top, unsigned bottom); | |
239 | |
240 #endif /* XFIXES_MAJOR >= 3 */ | |
241 | |
242 #if XFIXES_MAJOR >= 4 | |
243 /* Version 4.0 externs */ | |
244 | |
245 void | |
246 XFixesHideCursor (Display *dpy, Window win); | |
247 | |
248 void | |
249 XFixesShowCursor (Display *dpy, Window win); | |
250 | |
251 #endif /* XFIXES_MAJOR >= 4 */ | |
252 | |
253 #if XFIXES_MAJOR >= 5 | |
254 | |
255 typedef XID PointerBarrier; | |
256 | |
257 PointerBarrier | |
258 XFixesCreatePointerBarrier(Display *dpy, Window w, int x1, int y1, | |
259 int x2, int y2, int directions, | |
260 int num_devices, int *devices); | |
261 | |
262 void | |
263 XFixesDestroyPointerBarrier(Display *dpy, PointerBarrier b); | |
264 | |
265 #endif /* XFIXES_MAJOR >= 5 */ | |
266 | |
267 #if XFIXES_MAJOR >= 6 | |
268 | |
269 void | |
270 XFixesSetClientDisconnectMode(Display *dpy, int disconnect_mode); | |
271 | |
272 int | |
273 XFixesGetClientDisconnectMode(Display *dpy); | |
274 | |
275 #endif /* XFIXES_MAJOR >= 6 */ | |
276 | |
277 _XFUNCPROTOEND | |
278 | |
279 #endif /* _XFIXES_H_ */ |