OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "CCDamageTracker.h" | 7 #include "CCDamageTracker.h" |
8 | 8 |
9 #include "CCLayerImpl.h" | 9 #include "CCLayerImpl.h" |
10 #include "CCLayerTreeHostCommon.h" | 10 #include "CCLayerTreeHostCommon.h" |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 { | 151 { |
152 layerIsNew = !m_currentRectHistory->contains(layerID); | 152 layerIsNew = !m_currentRectHistory->contains(layerID); |
153 | 153 |
154 // take() will remove the entry from the map, or if not found, return a defa
ult (empty) rect. | 154 // take() will remove the entry from the map, or if not found, return a defa
ult (empty) rect. |
155 return m_currentRectHistory->take(layerID); | 155 return m_currentRectHistory->take(layerID); |
156 } | 156 } |
157 | 157 |
158 void CCDamageTracker::saveRectForNextFrame(int layerID, const FloatRect& targetS
paceRect) | 158 void CCDamageTracker::saveRectForNextFrame(int layerID, const FloatRect& targetS
paceRect) |
159 { | 159 { |
160 // This layer should not yet exist in next frame's history. | 160 // This layer should not yet exist in next frame's history. |
161 ASSERT(layerID > 0); | 161 CC_DCHECK(layerID > 0); |
162 ASSERT(m_nextRectHistory->find(layerID) == m_nextRectHistory->end()); | 162 CC_DCHECK(m_nextRectHistory->find(layerID) == m_nextRectHistory->end()); |
163 m_nextRectHistory->set(layerID, targetSpaceRect); | 163 m_nextRectHistory->set(layerID, targetSpaceRect); |
164 } | 164 } |
165 | 165 |
166 FloatRect CCDamageTracker::trackDamageFromActiveLayers(const std::vector<CCLayer
Impl*>& layerList, int targetSurfaceLayerID) | 166 FloatRect CCDamageTracker::trackDamageFromActiveLayers(const std::vector<CCLayer
Impl*>& layerList, int targetSurfaceLayerID) |
167 { | 167 { |
168 FloatRect damageRect = FloatRect(); | 168 FloatRect damageRect = FloatRect(); |
169 | 169 |
170 for (unsigned layerIndex = 0; layerIndex < layerList.size(); ++layerIndex) { | 170 for (unsigned layerIndex = 0; layerIndex < layerList.size(); ++layerIndex) { |
171 // Visit layers in back-to-front order. | 171 // Visit layers in back-to-front order. |
172 CCLayerImpl* layer = layerList[layerIndex]; | 172 CCLayerImpl* layer = layerList[layerIndex]; |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 // If the layer has a background filter, this may cause pixels in our surfac
e to be expanded, so we will need to expand any damage | 337 // If the layer has a background filter, this may cause pixels in our surfac
e to be expanded, so we will need to expand any damage |
338 // at or below this layer. We expand the damage from this layer too, as we n
eed to readback those pixels from the surface with only | 338 // at or below this layer. We expand the damage from this layer too, as we n
eed to readback those pixels from the surface with only |
339 // the contents of layers below this one in them. This means we need to redr
aw any pixels in the surface being used for the blur in | 339 // the contents of layers below this one in them. This means we need to redr
aw any pixels in the surface being used for the blur in |
340 // this layer this frame. | 340 // this layer this frame. |
341 if (layer->backgroundFilters().hasFilterThatMovesPixels()) | 341 if (layer->backgroundFilters().hasFilterThatMovesPixels()) |
342 expandDamageRectInsideRectWithFilters(targetDamageRect, surfaceRectInTar
getSpace, layer->backgroundFilters()); | 342 expandDamageRectInsideRectWithFilters(targetDamageRect, surfaceRectInTar
getSpace, layer->backgroundFilters()); |
343 } | 343 } |
344 | 344 |
345 } // namespace cc | 345 } // namespace cc |
346 | 346 |
OLD | NEW |