Xdamage.h revision 81c81b28
1/*
2 * $Id: Xdamage.h,v 1.1.1.2 2009/11/08 09:42:59 mrg Exp $
3 *
4 * Copyright © 2003 Keith Packard
5 *
6 * Permission to use, copy, modify, distribute, and sell this software and its
7 * documentation for any purpose is hereby granted without fee, provided that
8 * the above copyright notice appear in all copies and that both that
9 * copyright notice and this permission notice appear in supporting
10 * documentation, and that the name of Keith Packard not be used in
11 * advertising or publicity pertaining to distribution of the software without
12 * specific, written prior permission.  Keith Packard makes no
13 * representations about the suitability of this software for any purpose.  It
14 * is provided "as is" without express or implied warranty.
15 *
16 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 * PERFORMANCE OF THIS SOFTWARE.
23 */
24
25#ifndef _XDAMAGE_H_
26#define _XDAMAGE_H_
27
28#include <X11/extensions/damagewire.h>
29#include <X11/extensions/Xfixes.h>
30#include <X11/Xfuncproto.h>
31
32#define XDAMAGE_1_1_INTERFACE
33
34typedef XID Damage;
35
36typedef struct {
37    int type;			/* event base */
38    unsigned long serial;
39    Bool send_event;
40    Display *display;
41    Drawable drawable;
42    Damage damage;
43    int level;
44    Bool more;			/* more events will be delivered immediately */
45    Time timestamp;
46    XRectangle area;
47    XRectangle geometry;
48} XDamageNotifyEvent;
49
50_XFUNCPROTOBEGIN
51
52Bool XDamageQueryExtension (Display *dpy,
53                            int *event_base_return,
54                            int *error_base_return);
55
56Status XDamageQueryVersion (Display *dpy,
57			    int     *major_version_return,
58			    int     *minor_version_return);
59
60Damage
61XDamageCreate (Display	*dpy, Drawable drawable, int level);
62
63void
64XDamageDestroy (Display *dpy, Damage damage);
65
66void
67XDamageSubtract (Display *dpy, Damage damage,
68		 XserverRegion repair, XserverRegion parts);
69
70void
71XDamageAdd (Display *dpy, Drawable drawable, XserverRegion region);
72
73_XFUNCPROTOEND
74
75#endif /* _XDAMAGE_H_ */
76