~ubuntu-branches/ubuntu/intrepid/xserver-xgl/intrepid

« back to all changes in this revision

Viewing changes to miext/damage/damage.h

  • Committer: Bazaar Package Importer
  • Author(s): Matthew Garrett
  • Date: 2006-02-13 14:21:43 UTC
  • Revision ID: james.westby@ubuntu.com-20060213142143-mad6z9xzem7hzxz9
Tags: upstream-7.0.0
Import upstream version 7.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * $Id: damage.h,v 1.4 2005/07/03 07:02:01 daniels 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
#ifdef HAVE_DIX_CONFIG_H
 
26
#include <dix-config.h>
 
27
#endif
 
28
 
 
29
#ifndef _DAMAGE_H_
 
30
#define _DAMAGE_H_
 
31
 
 
32
typedef struct _damage  *DamagePtr;
 
33
 
 
34
typedef enum _damageReportLevel {
 
35
    DamageReportRawRegion,
 
36
    DamageReportDeltaRegion,
 
37
    DamageReportBoundingBox,
 
38
    DamageReportNonEmpty,
 
39
    DamageReportNone
 
40
} DamageReportLevel;
 
41
 
 
42
typedef void (*DamageReportFunc) (DamagePtr pDamage, RegionPtr pRegion, void *closure);
 
43
typedef void (*DamageDestroyFunc) (DamagePtr pDamage, void *closure);
 
44
 
 
45
Bool
 
46
DamageSetup (ScreenPtr pScreen);
 
47
    
 
48
DamagePtr
 
49
DamageCreate (DamageReportFunc  damageReport,
 
50
              DamageDestroyFunc damageDestroy,
 
51
              DamageReportLevel damageLevel,
 
52
              Bool              isInternal,
 
53
              ScreenPtr         pScreen,
 
54
              void *            closure);
 
55
 
 
56
void
 
57
DamageDrawInternal (ScreenPtr pScreen, Bool enable);
 
58
 
 
59
void
 
60
DamageRegister (DrawablePtr     pDrawable,
 
61
                DamagePtr       pDamage);
 
62
 
 
63
void
 
64
DamageUnregister (DrawablePtr   pDrawable,
 
65
                  DamagePtr     pDamage);
 
66
 
 
67
void
 
68
DamageDestroy (DamagePtr pDamage);
 
69
 
 
70
Bool
 
71
DamageSubtract (DamagePtr           pDamage,
 
72
                const RegionPtr     pRegion);
 
73
 
 
74
void
 
75
DamageEmpty (DamagePtr pDamage);
 
76
 
 
77
RegionPtr
 
78
DamageRegion (DamagePtr             pDamage);
 
79
 
 
80
void
 
81
DamageDamageRegion (DrawablePtr     pDrawable,
 
82
                    const RegionPtr pRegion);
 
83
 
 
84
#endif /* _DAMAGE_H_ */