aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/miext/damage/damage.h
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/miext/damage/damage.h')
-rw-r--r--xorg-server/miext/damage/damage.h52
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_ */