OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "cc/resources/picture_layer_tiling.h" | 5 #include "cc/resources/picture_layer_tiling.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 #include <limits> | 9 #include <limits> |
10 #include <set> | 10 #include <set> |
(...skipping 1198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1209 break; | 1209 break; |
1210 } | 1210 } |
1211 current_tile_ = tiling_->TileAt(next_index.first, next_index.second); | 1211 current_tile_ = tiling_->TileAt(next_index.first, next_index.second); |
1212 } | 1212 } |
1213 | 1213 |
1214 if (current_tile_) | 1214 if (current_tile_) |
1215 tiling_->UpdateTileAndTwinPriority(current_tile_); | 1215 tiling_->UpdateTileAndTwinPriority(current_tile_); |
1216 return *this; | 1216 return *this; |
1217 } | 1217 } |
1218 | 1218 |
1219 PictureLayerTiling::TilingEvictionTileIterator::TilingEvictionTileIterator() | |
1220 : eviction_tiles_(NULL), current_eviction_tiles_index_(0u) { | |
1221 } | |
1222 | |
1223 PictureLayerTiling::TilingEvictionTileIterator::TilingEvictionTileIterator( | |
1224 PictureLayerTiling* tiling, | |
1225 TreePriority tree_priority, | |
1226 EvictionCategory category) | |
1227 : eviction_tiles_(tiling->GetEvictionTiles(tree_priority, category)), | |
1228 // Note: initializing to "0 - 1" works as overflow is well defined for | |
1229 // unsigned integers. | |
1230 current_eviction_tiles_index_(static_cast<size_t>(0) - 1) { | |
1231 DCHECK(eviction_tiles_); | |
1232 ++(*this); | |
1233 } | |
1234 | |
1235 PictureLayerTiling::TilingEvictionTileIterator::~TilingEvictionTileIterator() { | |
1236 } | |
1237 | |
1238 PictureLayerTiling::TilingEvictionTileIterator::operator bool() const { | |
1239 return eviction_tiles_ && | |
1240 current_eviction_tiles_index_ != eviction_tiles_->size(); | |
1241 } | |
1242 | |
1243 Tile* PictureLayerTiling::TilingEvictionTileIterator::operator*() { | |
1244 DCHECK(*this); | |
1245 return (*eviction_tiles_)[current_eviction_tiles_index_]; | |
1246 } | |
1247 | |
1248 const Tile* PictureLayerTiling::TilingEvictionTileIterator::operator*() const { | |
1249 DCHECK(*this); | |
1250 return (*eviction_tiles_)[current_eviction_tiles_index_]; | |
1251 } | |
1252 | |
1253 PictureLayerTiling::TilingEvictionTileIterator& | |
1254 PictureLayerTiling::TilingEvictionTileIterator:: | |
1255 operator++() { | |
1256 DCHECK(*this); | |
1257 do { | |
1258 ++current_eviction_tiles_index_; | |
1259 } while (current_eviction_tiles_index_ != eviction_tiles_->size() && | |
1260 !(*eviction_tiles_)[current_eviction_tiles_index_]->HasResources()); | |
1261 | |
1262 return *this; | |
1263 } | |
1264 | |
1265 } // namespace cc | 1219 } // namespace cc |
OLD | NEW |