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