2
* $Id: damage.h,v 1.4 2005/07/03 07:02:01 daniels Exp $
4
* Copyright © 2003 Keith Packard
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.
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.
25
#ifdef HAVE_DIX_CONFIG_H
26
#include <dix-config.h>
32
typedef struct _damage *DamagePtr;
34
typedef enum _damageReportLevel {
35
DamageReportRawRegion,
36
DamageReportDeltaRegion,
37
DamageReportBoundingBox,
42
typedef void (*DamageReportFunc) (DamagePtr pDamage, RegionPtr pRegion, void *closure);
43
typedef void (*DamageDestroyFunc) (DamagePtr pDamage, void *closure);
46
DamageSetup (ScreenPtr pScreen);
49
DamageCreate (DamageReportFunc damageReport,
50
DamageDestroyFunc damageDestroy,
51
DamageReportLevel damageLevel,
57
DamageDrawInternal (ScreenPtr pScreen, Bool enable);
60
DamageRegister (DrawablePtr pDrawable,
64
DamageUnregister (DrawablePtr pDrawable,
68
DamageDestroy (DamagePtr pDamage);
71
DamageSubtract (DamagePtr pDamage,
72
const RegionPtr pRegion);
75
DamageEmpty (DamagePtr pDamage);
78
DamageRegion (DamagePtr pDamage);
81
DamageDamageRegion (DrawablePtr pDrawable,
82
const RegionPtr pRegion);
84
#endif /* _DAMAGE_H_ */