Home | History | Annotate | Download | only in damage

Lines Matching refs:pDamage

115     DamagePtr	pDamage = getDrawableDamage(pDrawable)
124 damageReportDamage (DamagePtr pDamage, RegionPtr pDamageRegion)
130 switch (pDamage->damageLevel) {
132 RegionUnion(&pDamage->damage, &pDamage->damage,
134 (*pDamage->damageReport) (pDamage, pDamageRegion, pDamage->closure);
138 RegionSubtract(&tmpRegion, pDamageRegion, &pDamage->damage);
140 RegionUnion(&pDamage->damage, &pDamage->damage,
142 (*pDamage->damageReport) (pDamage, &tmpRegion, pDamage->closure);
147 tmpBox = *RegionExtents(&pDamage->damage);
148 RegionUnion(&pDamage->damage, &pDamage->damage,
150 if (!BOX_SAME (&tmpBox, RegionExtents(&pDamage->damage))) {
151 (*pDamage->damageReport) (pDamage, &pDamage->damage,
152 pDamage->closure);
156 was_empty = !RegionNotEmpty(&pDamage->damage);
157 RegionUnion(&pDamage->damage, &pDamage->damage,
159 if (was_empty && RegionNotEmpty(&pDamage->damage)) {
160 (*pDamage->damageReport) (pDamage, &pDamage->damage,
161 pDamage->closure);
165 RegionUnion(&pDamage->damage, &pDamage->damage,
172 damageReportDamagePostRendering (DamagePtr pDamage, RegionPtr pOldDamage, RegionPtr pDamageRegion)
180 switch (pDamage->damageLevel) {
182 (*pDamage->damageReportPostRendering) (pDamage, pDamageRegion, pDamage->closure);
188 (*pDamage->damageReportPostRendering) (pDamage, &tmpRegion, pDamage->closure);
195 (*pDamage->damageReportPostRendering) (pDamage, &newDamage,
196 pDamage->closure);
202 (*pDamage->damageReportPostRendering) (pDamage, &newDamage,
203 pDamage->closure);
275 for (; pDamage; pDamage = pNext)
277 pNext = pDamage->pNext;
281 if (pScrPriv->internalLevel > 0 && !pDamage->isInternal)
290 if (pDamage->pDrawable->type == DRAWABLE_WINDOW &&
291 !((WindowPtr) (pDamage->pDrawable))->realized)
296 draw_x = pDamage->pDrawable->x;
297 draw_y = pDamage->pDrawable->y;
303 if (!WindowDrawable(pDamage->pDrawable->type))
305 draw_x += ((PixmapPtr) pDamage->pDrawable)->screen_x;
306 draw_y += ((PixmapPtr) pDamage->pDrawable)->screen_y;
315 if (clip || pDamage->pDrawable != pDrawable)
318 if (pDamage->pDrawable->type == DRAWABLE_WINDOW) {
320 &((WindowPtr)(pDamage->pDrawable))->borderClip);
325 box.x2 = draw_x + pDamage->pDrawable->width;
326 box.y2 = draw_y + pDamage->pDrawable->height;
343 pDrawable->id, pDamage->pDrawable->id));
352 if (pDamage->reportAfter || pDamage->damageMarker)
353 RegionUnion(&pDamage->pendingDamage,
354 &pDamage->pendingDamage, pDamageRegion);
357 if (pDamage->damageMarker)
358 RegionCopy(&pDamage->backupDamage, &pDamage->damage);
361 if (!pDamage->reportAfter) {
362 if (pDamage->damageReport)
363 damageReportDamage (pDamage, pDamageRegion);
365 RegionUnion(&pDamage->damage,
366 &pDamage->damage, pDamageRegion);
388 for (; pDamage != NULL; pDamage = pDamage->pNext)
391 if (pDamage->damageMarker)
392 (*pDamage->damageMarker) (pDrawable, pDamage, &pDamage->backupDamage, &pDamage->pendingDamage, pDamage->closure);
393 if (pDamage->reportAfter) {
395 if (pDamage->damageReport)
396 damageReportDamage (pDamage, &pDamage->pendingDamage);
398 RegionUnion(&pDamage->damage, &pDamage->damage,
399 &pDamage->pendingDamage);
402 if (pDamage->reportAfter || pDamage->damageMarker)
403 RegionEmpty(&pDamage->pendingDamage);
404 if (pDamage->damageMarker)
405 RegionEmpty(&pDamage->backupDamage);
1648 damageRemoveDamage (DamagePtr *pPrev, DamagePtr pDamage)
1652 if (*pPrev == pDamage)
1654 *pPrev = pDamage->pNext;
1666 damageInsertDamage (DamagePtr *pPrev, DamagePtr pDamage)
1672 if (pOld == pDamage) {
1677 pDamage->pNext = *pPrev;
1678 *pPrev = pDamage;
1690 DamagePtr pDamage;
1692 while ((pDamage = *pPrev))
1694 damageRemoveDamage (pPrev, pDamage);
1695 if (!pDamage->isWindow)
1696 DamageDestroy (pDamage);
1748 DamagePtr pDamage;
1752 if ((pDamage = damageGetWinPriv(pWindow)))
1757 while (pDamage)
1759 damageRemoveDamage (pPrev, pDamage);
1760 pDamage = pDamage->pNextWin;
1766 if ((pDamage = damageGetWinPriv(pWindow)))
1770 while (pDamage)
1772 damageInsertDamage (pPrev, pDamage);
1773 pDamage = pDamage->pNextWin;
1781 DamagePtr pDamage;
1786 while ((pDamage = damageGetWinPriv(pWindow)))
1788 DamageUnregister (&pWindow->drawable, pDamage);
1789 DamageDestroy (pDamage);
1813 void miDamageCreate (DamagePtr pDamage)
1817 void miDamageRegister (DrawablePtr pDrawable, DamagePtr pDamage)
1821 void miDamageUnregister (DrawablePtr pDrawable, DamagePtr pDamage)
1825 void miDamageDestroy (DamagePtr pDamage)
1891 DamagePtr pDamage;
1893 pDamage = dixAllocateObjectWithPrivates(DamageRec, PRIVATE_DAMAGE);
1894 if (!pDamage)
1896 pDamage->pNext = 0;
1897 pDamage->pNextWin = 0;
1898 RegionNull(&pDamage->damage);
1899 RegionNull(&pDamage->pendingDamage);
1901 pDamage->damageLevel = damageLevel;
1902 pDamage->isInternal = isInternal;
1903 pDamage->closure = closure;
1904 pDamage->isWindow = FALSE;
1905 pDamage->pDrawable = 0;
1906 pDamage->reportAfter = FALSE;
1908 pDamage->damageReport = damageReport;
1909 pDamage->damageReportPostRendering = NULL;
1910 pDamage->damageDestroy = damageDestroy;
1911 pDamage->damageMarker = NULL;
1912 pDamage->pScreen = pScreen;
1914 (*pScrPriv->funcs.Create) (pDamage);
1916 return pDamage;
1921 DamagePtr pDamage)
1927 if (pDrawable->pScreen != pDamage->pScreen)
1943 if (pOld == pDamage) {
1948 pDamage->pNextWin = *pPrev;
1949 *pPrev = pDamage;
1950 pDamage->isWindow = TRUE;
1953 pDamage->isWindow = FALSE;
1954 pDamage->pDrawable = pDrawable;
1955 damageInsertDamage (getDrawableDamageRef (pDrawable), pDamage);
1956 (*pScrPriv->funcs.Register) (pDrawable, pDamage);
1969 DamagePtr pDamage)
1974 (*pScrPriv->funcs.Unregister) (pDrawable, pDamage);
1986 if (*pPrev == pDamage)
1988 *pPrev = pDamage->pNextWin;
2003 pDamage->pDrawable = 0;
2004 damageRemoveDamage (getDrawableDamageRef (pDrawable), pDamage);
2008 DamageDestroy (DamagePtr pDamage)
2010 ScreenPtr pScreen = pDamage->pScreen;
2013 if (pDamage->damageDestroy)
2014 (*pDamage->damageDestroy) (pDamage, pDamage->closure);
2015 (*pScrPriv->funcs.Destroy) (pDamage);
2016 RegionUninit(&pDamage->damage);
2017 RegionUninit(&pDamage->pendingDamage);
2018 dixFreeObjectWithPrivates(pDamage, PRIVATE_DAMAGE);
2022 DamageSubtract (DamagePtr pDamage,
2027 DrawablePtr pDrawable = pDamage->pDrawable;
2029 RegionSubtract(&pDamage->damage, &pDamage->damage, pRegion);
2045 RegionTranslate(&pDamage->damage, pDrawable->x, pDrawable->y);
2046 RegionIntersect(&pDamage->damage, &pDamage->damage, pClip);
2047 RegionTranslate(&pDamage->damage, -pDrawable->x, -pDrawable->y);
2051 return RegionNotEmpty(&pDamage->damage);
2055 DamageEmpty (DamagePtr pDamage)
2057 RegionEmpty(&pDamage->damage);
2061 DamageRegion (DamagePtr pDamage)
2063 return &pDamage->damage;
2067 DamagePendingRegion (DamagePtr pDamage)
2069 return &pDamage->pendingDamage;
2088 DamageRegionRendered (DrawablePtr pDrawable, DamagePtr pDamage, RegionPtr pOldDamage, RegionPtr pRegion)
2090 if (pDamage->damageReportPostRendering)
2091 damageReportDamagePostRendering (pDamage, pOldDamage, pRegion);
2109 DamageSetReportAfterOp (DamagePtr pDamage, Bool reportAfter)
2111 pDamage->reportAfter = reportAfter;
2115 DamageSetPostRenderingFunctions(DamagePtr pDamage, DamageReportFunc damageReportPostRendering,
2118 pDamage->damageReportPostRendering = damageReportPostRendering;
2119 pDamage->damageMarker = damageMarker;