OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/tiles/tiling_set_raster_queue_required.h" | 5 #include "cc/tiles/tiling_set_raster_queue_required.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 if (tile && tile->draw_info().NeedsRaster() && | 106 if (tile && tile->draw_info().NeedsRaster() && |
107 !tiling_->IsTileOccluded(tile)) { | 107 !tiling_->IsTileOccluded(tile)) { |
108 tiling_->UpdateRequiredStatesOnTile(tile); | 108 tiling_->UpdateRequiredStatesOnTile(tile); |
109 current_tile_ = tiling_->MakePrioritizedTile( | 109 current_tile_ = tiling_->MakePrioritizedTile( |
110 tile, tiling_->ComputePriorityRectTypeForTile(tile)); | 110 tile, tiling_->ComputePriorityRectTypeForTile(tile)); |
111 return; | 111 return; |
112 } | 112 } |
113 ++(*this); | 113 ++(*this); |
114 } | 114 } |
115 | 115 |
| 116 TilingSetRasterQueueRequired::TilingIterator::TilingIterator( |
| 117 const TilingSetRasterQueueRequired::TilingIterator& other) = default; |
| 118 |
| 119 TilingSetRasterQueueRequired::TilingIterator::TilingIterator( |
| 120 TilingSetRasterQueueRequired::TilingIterator&& other) = default; |
| 121 |
116 TilingSetRasterQueueRequired::TilingIterator::~TilingIterator() { | 122 TilingSetRasterQueueRequired::TilingIterator::~TilingIterator() { |
117 } | 123 } |
118 | 124 |
119 TilingSetRasterQueueRequired::TilingIterator& | 125 TilingSetRasterQueueRequired::TilingIterator& |
120 TilingSetRasterQueueRequired::TilingIterator:: | 126 TilingSetRasterQueueRequired::TilingIterator::operator=( |
121 operator++() { | 127 const TilingSetRasterQueueRequired::TilingIterator& other) = default; |
| 128 |
| 129 TilingSetRasterQueueRequired::TilingIterator& |
| 130 TilingSetRasterQueueRequired::TilingIterator::operator=( |
| 131 TilingSetRasterQueueRequired::TilingIterator&& other) = default; |
| 132 |
| 133 TilingSetRasterQueueRequired::TilingIterator& |
| 134 TilingSetRasterQueueRequired::TilingIterator::operator++() { |
122 Tile* tile = nullptr; | 135 Tile* tile = nullptr; |
123 while (true) { | 136 while (true) { |
124 ++visible_iterator_; | 137 ++visible_iterator_; |
125 if (!visible_iterator_) { | 138 if (!visible_iterator_) { |
126 current_tile_ = PrioritizedTile(); | 139 current_tile_ = PrioritizedTile(); |
127 return *this; | 140 return *this; |
128 } | 141 } |
129 std::pair<int, int> next_index = visible_iterator_.index(); | 142 std::pair<int, int> next_index = visible_iterator_.index(); |
130 tile = tiling_->TileAt(next_index.first, next_index.second); | 143 tile = tiling_->TileAt(next_index.first, next_index.second); |
131 // If the tile doesn't exist or if it exists but doesn't need raster work, | 144 // If the tile doesn't exist or if it exists but doesn't need raster work, |
(...skipping 13 matching lines...) Expand all Loading... |
145 break; | 158 break; |
146 } | 159 } |
147 | 160 |
148 tiling_->UpdateRequiredStatesOnTile(tile); | 161 tiling_->UpdateRequiredStatesOnTile(tile); |
149 current_tile_ = tiling_->MakePrioritizedTile( | 162 current_tile_ = tiling_->MakePrioritizedTile( |
150 tile, tiling_->ComputePriorityRectTypeForTile(tile)); | 163 tile, tiling_->ComputePriorityRectTypeForTile(tile)); |
151 return *this; | 164 return *this; |
152 } | 165 } |
153 | 166 |
154 } // namespace cc | 167 } // namespace cc |
OLD | NEW |