1 | /* |
2 | * Copyright © 2003 Keith Packard |
3 | * |
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 Keith Packard not be used in |
9 | * advertising or publicity pertaining to distribution of the software without |
10 | * specific, written prior permission. Keith Packard makes no |
11 | * representations about the suitability of this software for any purpose. It |
12 | * is provided "as is" without express or implied warranty. |
13 | * |
14 | * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, |
15 | * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO |
16 | * EVENT SHALL KEITH PACKARD 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. |
21 | */ |
22 | |
23 | #ifndef _XDAMAGE_H_ |
24 | #define _XDAMAGE_H_ |
25 | |
26 | #include <X11/extensions/damagewire.h> |
27 | #include <X11/extensions/Xfixes.h> |
28 | #include <X11/Xfuncproto.h> |
29 | |
30 | #define XDAMAGE_1_1_INTERFACE |
31 | |
32 | typedef XID Damage; |
33 | |
34 | typedef struct { |
35 | int type; /* event base */ |
36 | unsigned long serial; |
37 | Bool send_event; |
38 | Display *display; |
39 | Drawable drawable; |
40 | Damage damage; |
41 | int level; |
42 | Bool more; /* more events will be delivered immediately */ |
43 | Time timestamp; |
44 | XRectangle area; |
45 | XRectangle geometry; |
46 | } XDamageNotifyEvent; |
47 | |
48 | _XFUNCPROTOBEGIN |
49 | |
50 | Bool XDamageQueryExtension (Display *dpy, |
51 | int *event_base_return, |
52 | int *error_base_return); |
53 | |
54 | Status XDamageQueryVersion (Display *dpy, |
55 | int *major_version_return, |
56 | int *minor_version_return); |
57 | |
58 | Damage |
59 | XDamageCreate (Display *dpy, Drawable drawable, int level); |
60 | |
61 | void |
62 | XDamageDestroy (Display *dpy, Damage damage); |
63 | |
64 | void |
65 | XDamageSubtract (Display *dpy, Damage damage, |
66 | XserverRegion repair, XserverRegion parts); |
67 | |
68 | void |
69 | XDamageAdd (Display *dpy, Drawable drawable, XserverRegion region); |
70 | |
71 | _XFUNCPROTOEND |
72 | |
73 | #endif /* _XDAMAGE_H_ */ |
74 | |