diff options
Diffstat (limited to 'xorg-server/miext/damage/damage.h')
-rw-r--r-- | xorg-server/miext/damage/damage.h | 52 |
1 files changed, 36 insertions, 16 deletions
diff --git a/xorg-server/miext/damage/damage.h b/xorg-server/miext/damage/damage.h index a70f1f86e..067016f38 100644 --- a/xorg-server/miext/damage/damage.h +++ b/xorg-server/miext/damage/damage.h @@ -43,10 +43,27 @@ typedef void (*DamageDestroyFunc) (DamagePtr pDamage, void *closure); /* At some point DamageRegionRendered() must be called. */ typedef void (*DamageMarkerFunc) (DrawablePtr pDrawable, DamagePtr pDamage, RegionPtr pOldDamage, RegionPtr pRegion, void *closure); -Bool +typedef void (*DamageScreenCreateFunc) (DamagePtr); +typedef void (*DamageScreenRegisterFunc) (DrawablePtr, DamagePtr); +typedef void (*DamageScreenUnregisterFunc) (DrawablePtr, DamagePtr); +typedef void (*DamageScreenDestroyFunc) (DamagePtr); + +typedef struct _damageScreenFuncs { + DamageScreenCreateFunc Create; + DamageScreenRegisterFunc Register; + DamageScreenUnregisterFunc Unregister; + DamageScreenDestroyFunc Destroy; +} DamageScreenFuncsRec, *DamageScreenFuncsPtr; + +extern _X_EXPORT void miDamageCreate (DamagePtr); +extern _X_EXPORT void miDamageRegister (DrawablePtr, DamagePtr); +extern _X_EXPORT void miDamageUnregister (DrawablePtr, DamagePtr); +extern _X_EXPORT void miDamageDestroy (DamagePtr); + +extern _X_EXPORT Bool DamageSetup (ScreenPtr pScreen); -DamagePtr +extern _X_EXPORT DamagePtr DamageCreate (DamageReportFunc damageReport, DamageDestroyFunc damageDestroy, DamageReportLevel damageLevel, @@ -54,55 +71,58 @@ DamageCreate (DamageReportFunc damageReport, ScreenPtr pScreen, void * closure); -void +extern _X_EXPORT void DamageDrawInternal (ScreenPtr pScreen, Bool enable); -void +extern _X_EXPORT void DamageRegister (DrawablePtr pDrawable, DamagePtr pDamage); -void +extern _X_EXPORT void DamageUnregister (DrawablePtr pDrawable, DamagePtr pDamage); -void +extern _X_EXPORT void DamageDestroy (DamagePtr pDamage); -Bool +extern _X_EXPORT Bool DamageSubtract (DamagePtr pDamage, const RegionPtr pRegion); -void +extern _X_EXPORT void DamageEmpty (DamagePtr pDamage); -RegionPtr +extern _X_EXPORT RegionPtr DamageRegion (DamagePtr pDamage); -RegionPtr +extern _X_EXPORT RegionPtr DamagePendingRegion (DamagePtr pDamage); /* In case of rendering, call this before the submitting the commands. */ -void +extern _X_EXPORT void DamageRegionAppend (DrawablePtr pDrawable, RegionPtr pRegion); /* Call this directly after the rendering operation has been submitted. */ -void +extern _X_EXPORT void DamageRegionProcessPending (DrawablePtr pDrawable); /* Call this some time after rendering is done, only relevant when a damageMarker is provided. */ -void +extern _X_EXPORT void DamageRegionRendered (DrawablePtr pDrawable, DamagePtr pDamage, RegionPtr pOldDamage, RegionPtr pRegion); /* Avoid using this call, it only exists for API compatibility. */ -void +extern _X_EXPORT void DamageDamageRegion (DrawablePtr pDrawable, const RegionPtr pRegion); -void +extern _X_EXPORT void DamageSetReportAfterOp (DamagePtr pDamage, Bool reportAfter); -void +extern _X_EXPORT void DamageSetPostRenderingFunctions(DamagePtr pDamage, DamageReportFunc damageReportPostRendering, DamageMarkerFunc damageMarker); +extern _X_EXPORT DamageScreenFuncsPtr +DamageGetScreenFuncs (ScreenPtr); + #endif /* _DAMAGE_H_ */ |