@@ -120,54 +120,6 @@ getDrawableDamageRef (DrawablePtr pDrawable)
120
120
DamagePtr *pPrev = (DamagePtr *) \
121
121
dixLookupPrivateAddr(&(pWindow)->devPrivates, damageWinPrivateKey)
122
122
123
- static void
124
- damageReportDamage (DamagePtr pDamage , RegionPtr pDamageRegion )
125
- {
126
- BoxRec tmpBox ;
127
- RegionRec tmpRegion ;
128
- Bool was_empty ;
129
-
130
- switch (pDamage -> damageLevel ) {
131
- case DamageReportRawRegion :
132
- RegionUnion (& pDamage -> damage , & pDamage -> damage ,
133
- pDamageRegion );
134
- (* pDamage -> damageReport ) (pDamage , pDamageRegion , pDamage -> closure );
135
- break ;
136
- case DamageReportDeltaRegion :
137
- RegionNull (& tmpRegion );
138
- RegionSubtract (& tmpRegion , pDamageRegion , & pDamage -> damage );
139
- if (RegionNotEmpty (& tmpRegion )) {
140
- RegionUnion (& pDamage -> damage , & pDamage -> damage ,
141
- pDamageRegion );
142
- (* pDamage -> damageReport ) (pDamage , & tmpRegion , pDamage -> closure );
143
- }
144
- RegionUninit (& tmpRegion );
145
- break ;
146
- case DamageReportBoundingBox :
147
- tmpBox = * RegionExtents (& pDamage -> damage );
148
- RegionUnion (& pDamage -> damage , & pDamage -> damage ,
149
- pDamageRegion );
150
- if (!BOX_SAME (& tmpBox , RegionExtents (& pDamage -> damage ))) {
151
- (* pDamage -> damageReport ) (pDamage , & pDamage -> damage ,
152
- pDamage -> closure );
153
- }
154
- break ;
155
- case DamageReportNonEmpty :
156
- was_empty = !RegionNotEmpty (& pDamage -> damage );
157
- RegionUnion (& pDamage -> damage , & pDamage -> damage ,
158
- pDamageRegion );
159
- if (was_empty && RegionNotEmpty (& pDamage -> damage )) {
160
- (* pDamage -> damageReport ) (pDamage , & pDamage -> damage ,
161
- pDamage -> closure );
162
- }
163
- break ;
164
- case DamageReportNone :
165
- RegionUnion (& pDamage -> damage , & pDamage -> damage ,
166
- pDamageRegion );
167
- break ;
168
- }
169
- }
170
-
171
123
static void
172
124
damageReportDamagePostRendering (DamagePtr pDamage , RegionPtr pOldDamage , RegionPtr pDamageRegion )
173
125
{
@@ -360,7 +312,7 @@ damageRegionAppend (DrawablePtr pDrawable, RegionPtr pRegion, Bool clip,
360
312
/* Report damage now, if desired. */
361
313
if (!pDamage -> reportAfter ) {
362
314
if (pDamage -> damageReport )
363
- damageReportDamage (pDamage , pDamageRegion );
315
+ DamageReportDamage (pDamage , pDamageRegion );
364
316
else
365
317
RegionUnion (& pDamage -> damage ,
366
318
& pDamage -> damage , pDamageRegion );
@@ -393,7 +345,7 @@ damageRegionProcessPending (DrawablePtr pDrawable)
393
345
if (pDamage -> reportAfter ) {
394
346
/* It's possible that there is only interest in postRendering reporting. */
395
347
if (pDamage -> damageReport )
396
- damageReportDamage (pDamage , & pDamage -> pendingDamage );
348
+ DamageReportDamage (pDamage , & pDamage -> pendingDamage );
397
349
else
398
350
RegionUnion (& pDamage -> damage , & pDamage -> damage ,
399
351
& pDamage -> pendingDamage );
@@ -2125,3 +2077,52 @@ DamageGetScreenFuncs (ScreenPtr pScreen)
2125
2077
damageScrPriv (pScreen );
2126
2078
return & pScrPriv -> funcs ;
2127
2079
}
2080
+
2081
+ void
2082
+ DamageReportDamage (DamagePtr pDamage , RegionPtr pDamageRegion )
2083
+ {
2084
+ BoxRec tmpBox ;
2085
+ RegionRec tmpRegion ;
2086
+ Bool was_empty ;
2087
+
2088
+ switch (pDamage -> damageLevel ) {
2089
+ case DamageReportRawRegion :
2090
+ RegionUnion (& pDamage -> damage , & pDamage -> damage ,
2091
+ pDamageRegion );
2092
+ (* pDamage -> damageReport ) (pDamage , pDamageRegion , pDamage -> closure );
2093
+ break ;
2094
+ case DamageReportDeltaRegion :
2095
+ RegionNull (& tmpRegion );
2096
+ RegionSubtract (& tmpRegion , pDamageRegion , & pDamage -> damage );
2097
+ if (RegionNotEmpty (& tmpRegion )) {
2098
+ RegionUnion (& pDamage -> damage , & pDamage -> damage ,
2099
+ pDamageRegion );
2100
+ (* pDamage -> damageReport ) (pDamage , & tmpRegion , pDamage -> closure );
2101
+ }
2102
+ RegionUninit (& tmpRegion );
2103
+ break ;
2104
+ case DamageReportBoundingBox :
2105
+ tmpBox = * RegionExtents (& pDamage -> damage );
2106
+ RegionUnion (& pDamage -> damage , & pDamage -> damage ,
2107
+ pDamageRegion );
2108
+ if (!BOX_SAME (& tmpBox , RegionExtents (& pDamage -> damage ))) {
2109
+ (* pDamage -> damageReport ) (pDamage , & pDamage -> damage ,
2110
+ pDamage -> closure );
2111
+ }
2112
+ break ;
2113
+ case DamageReportNonEmpty :
2114
+ was_empty = !RegionNotEmpty (& pDamage -> damage );
2115
+ RegionUnion (& pDamage -> damage , & pDamage -> damage ,
2116
+ pDamageRegion );
2117
+ if (was_empty && RegionNotEmpty (& pDamage -> damage )) {
2118
+ (* pDamage -> damageReport ) (pDamage , & pDamage -> damage ,
2119
+ pDamage -> closure );
2120
+ }
2121
+ break ;
2122
+ case DamageReportNone :
2123
+ RegionUnion (& pDamage -> damage , & pDamage -> damage ,
2124
+ pDamageRegion );
2125
+ break ;
2126
+ }
2127
+ }
2128
+
0 commit comments