d2761fe634383ce2364b6d8e08321af5bd8705devboxsync/*
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * $Id$
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync *
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * Copyright © 2003 Keith Packard
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync *
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * Permission to use, copy, modify, distribute, and sell this software and its
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * documentation for any purpose is hereby granted without fee, provided that
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * the above copyright notice appear in all copies and that both that
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * copyright notice and this permission notice appear in supporting
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * documentation, and that the name of Keith Packard not be used in
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * advertising or publicity pertaining to distribution of the software without
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * specific, written prior permission. Keith Packard makes no
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * representations about the suitability of this software for any purpose. It
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * is provided "as is" without express or implied warranty.
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync *
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync * PERFORMANCE OF THIS SOFTWARE.
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync */
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync#ifndef _XDAMAGE_H_
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync#define _XDAMAGE_H_
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync#include <X11/extensions/damagewire.h>
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync#include <X11/extensions/Xfixes.h>
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync#include <X11/Xfuncproto.h>
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync#define XDAMAGE_1_1_INTERFACE
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsynctypedef XID Damage;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsynctypedef struct {
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync int type; /* event base */
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync unsigned long serial;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync Bool send_event;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync Display *display;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync Drawable drawable;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync Damage damage;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync int level;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync Bool more; /* more events will be delivered immediately */
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync Time timestamp;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync XRectangle area;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync XRectangle geometry;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync} XDamageNotifyEvent;
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync_XFUNCPROTOBEGIN
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncBool XDamageQueryExtension (Display *dpy, int *event_basep, int *error_basep);
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncStatus XDamageQueryVersion (Display *dpy,
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync int *major_versionp,
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync int *minor_versionp);
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncDamage
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncXDamageCreate (Display *dpy, Drawable drawable, int level);
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncvoid
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncXDamageDestroy (Display *dpy, Damage damage);
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncvoid
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncXDamageSubtract (Display *dpy, Damage damage,
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync XserverRegion repair, XserverRegion parts);
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncvoid
d2761fe634383ce2364b6d8e08321af5bd8705devboxsyncXDamageAdd (Display *dpy, Drawable drawable, XserverRegion region);
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync_XFUNCPROTOEND
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync
d2761fe634383ce2364b6d8e08321af5bd8705devboxsync#endif /* _XDAMAGE_H_ */