summaryrefslogtreecommitdiff
path: root/drv/drv_damage.h
blob: 4f52e477b1bba8e28eab83c3d5a6bfa739b54ec1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

#ifndef DRV_DAMAGE_H
#define DRV_DAMAGE_H

#include "drv_types.h"
#include "damage.h"
typedef void (*DrvDamageReportFunc) (DrvDamagePtr pDamage, RegionPtr pRegion, void *closure);
typedef void (*DrvDamageDestroyFunc) (DrvDamagePtr pDamage, void *closure);

extern _X_EXPORT void
DrvDamageRegister (DrvPixmapPtr pPixmap,
		   DrvDamagePtr   pDamage);

    
extern _X_EXPORT DrvDamagePtr
DrvDamageCreate (DrvDamageReportFunc  damageReport,
		 DrvDamageDestroyFunc	damageDestroy,
		 DamageReportLevel damageLevel,
		 Bool		isInternal,
		 DrvScreenPtr		pScreen,
		 void *		closure);

extern _X_EXPORT RegionPtr DrvDamagePendingRegion (DrvDamagePtr pDamage);
extern _X_EXPORT RegionPtr DrvDamageRegion (DrvDamagePtr pDamage);
extern _X_EXPORT void DrvDamageEmpty (DrvDamagePtr pDamage);

extern _X_EXPORT void DrvDamageSetReportAfterOp (DrvDamagePtr pDamage, Bool reportAfter);

extern _X_EXPORT void
DrvDamageUnregister (DrvPixmapPtr	pDrawable,
		     DrvDamagePtr	pDamage);

extern _X_EXPORT void
DrvDamageDestroy (DrvDamagePtr pDamage);

extern _X_EXPORT void
DrvDamageRegionProcessPending (DrvPixmapPtr pPixmap);
#endif