| 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_all.h" | 5 #include "cc/tiles/tiling_set_raster_queue_all.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 TilingSetRasterQueueAll::SkewportTilingIterator::SkewportTilingIterator( | 270 TilingSetRasterQueueAll::SkewportTilingIterator::SkewportTilingIterator( |
| 271 PictureLayerTiling* tiling, | 271 PictureLayerTiling* tiling, |
| 272 TilingData* tiling_data) | 272 TilingData* tiling_data) |
| 273 : OnePriorityRectIterator(tiling, | 273 : OnePriorityRectIterator(tiling, |
| 274 tiling_data, | 274 tiling_data, |
| 275 PictureLayerTiling::SKEWPORT_RECT) { | 275 PictureLayerTiling::SKEWPORT_RECT) { |
| 276 if (!tiling_->has_skewport_rect_tiles()) | 276 if (!tiling_->has_skewport_rect_tiles()) |
| 277 return; | 277 return; |
| 278 iterator_ = TilingData::SpiralDifferenceIterator( | 278 iterator_ = TilingData::SpiralDifferenceIterator( |
| 279 tiling_data_, tiling_->current_skewport_rect(), | 279 tiling_data_, tiling_->current_skewport_rect(), |
| 280 tiling_->current_visible_rect(), tiling_->current_visible_rect()); | 280 tiling_->current_visible_rect(), tiling_->current_visible_rect(), |
| 281 TilingData::IsPyramidSequenceEnabled()); |
| 281 if (!iterator_) | 282 if (!iterator_) |
| 282 return; | 283 return; |
| 283 if (!GetFirstTileAndCheckIfValid(&iterator_)) { | 284 if (!GetFirstTileAndCheckIfValid(&iterator_)) { |
| 284 ++(*this); | 285 ++(*this); |
| 285 return; | 286 return; |
| 286 } | 287 } |
| 287 } | 288 } |
| 288 | 289 |
| 289 TilingSetRasterQueueAll::SkewportTilingIterator& | 290 TilingSetRasterQueueAll::SkewportTilingIterator& |
| 290 TilingSetRasterQueueAll::SkewportTilingIterator:: | 291 TilingSetRasterQueueAll::SkewportTilingIterator:: |
| 291 operator++() { | 292 operator++() { |
| 292 AdvanceToNextTile(&iterator_); | 293 AdvanceToNextTile(&iterator_); |
| 293 return *this; | 294 return *this; |
| 294 } | 295 } |
| 295 | 296 |
| 296 // SoonBorderTilingIterator. | 297 // SoonBorderTilingIterator. |
| 297 TilingSetRasterQueueAll::SoonBorderTilingIterator::SoonBorderTilingIterator( | 298 TilingSetRasterQueueAll::SoonBorderTilingIterator::SoonBorderTilingIterator( |
| 298 PictureLayerTiling* tiling, | 299 PictureLayerTiling* tiling, |
| 299 TilingData* tiling_data) | 300 TilingData* tiling_data) |
| 300 : OnePriorityRectIterator(tiling, | 301 : OnePriorityRectIterator(tiling, |
| 301 tiling_data, | 302 tiling_data, |
| 302 PictureLayerTiling::SOON_BORDER_RECT) { | 303 PictureLayerTiling::SOON_BORDER_RECT) { |
| 303 if (!tiling_->has_soon_border_rect_tiles()) | 304 if (!tiling_->has_soon_border_rect_tiles()) |
| 304 return; | 305 return; |
| 305 iterator_ = TilingData::SpiralDifferenceIterator( | 306 iterator_ = TilingData::SpiralDifferenceIterator( |
| 306 tiling_data_, tiling_->current_soon_border_rect(), | 307 tiling_data_, tiling_->current_soon_border_rect(), |
| 307 tiling_->current_skewport_rect(), tiling_->current_visible_rect()); | 308 tiling_->current_skewport_rect(), tiling_->current_visible_rect(), |
| 309 TilingData::IsPyramidSequenceEnabled()); |
| 308 if (!iterator_) | 310 if (!iterator_) |
| 309 return; | 311 return; |
| 310 if (!GetFirstTileAndCheckIfValid(&iterator_)) { | 312 if (!GetFirstTileAndCheckIfValid(&iterator_)) { |
| 311 ++(*this); | 313 ++(*this); |
| 312 return; | 314 return; |
| 313 } | 315 } |
| 314 } | 316 } |
| 315 | 317 |
| 316 TilingSetRasterQueueAll::SoonBorderTilingIterator& | 318 TilingSetRasterQueueAll::SoonBorderTilingIterator& |
| 317 TilingSetRasterQueueAll::SoonBorderTilingIterator:: | 319 TilingSetRasterQueueAll::SoonBorderTilingIterator:: |
| 318 operator++() { | 320 operator++() { |
| 319 AdvanceToNextTile(&iterator_); | 321 AdvanceToNextTile(&iterator_); |
| 320 return *this; | 322 return *this; |
| 321 } | 323 } |
| 322 | 324 |
| 323 // EventuallyTilingIterator. | 325 // EventuallyTilingIterator. |
| 324 TilingSetRasterQueueAll::EventuallyTilingIterator::EventuallyTilingIterator( | 326 TilingSetRasterQueueAll::EventuallyTilingIterator::EventuallyTilingIterator( |
| 325 PictureLayerTiling* tiling, | 327 PictureLayerTiling* tiling, |
| 326 TilingData* tiling_data) | 328 TilingData* tiling_data) |
| 327 : OnePriorityRectIterator(tiling, | 329 : OnePriorityRectIterator(tiling, |
| 328 tiling_data, | 330 tiling_data, |
| 329 PictureLayerTiling::EVENTUALLY_RECT) { | 331 PictureLayerTiling::EVENTUALLY_RECT) { |
| 330 if (!tiling_->has_eventually_rect_tiles()) | 332 if (!tiling_->has_eventually_rect_tiles()) |
| 331 return; | 333 return; |
| 332 iterator_ = TilingData::SpiralDifferenceIterator( | 334 iterator_ = TilingData::SpiralDifferenceIterator( |
| 333 tiling_data_, tiling_->current_eventually_rect(), | 335 tiling_data_, tiling_->current_eventually_rect(), |
| 334 tiling_->current_skewport_rect(), tiling_->current_soon_border_rect()); | 336 tiling_->current_skewport_rect(), tiling_->current_soon_border_rect(), |
| 337 TilingData::IsPyramidSequenceEnabled()); |
| 335 if (!iterator_) | 338 if (!iterator_) |
| 336 return; | 339 return; |
| 337 if (!GetFirstTileAndCheckIfValid(&iterator_)) { | 340 if (!GetFirstTileAndCheckIfValid(&iterator_)) { |
| 338 ++(*this); | 341 ++(*this); |
| 339 return; | 342 return; |
| 340 } | 343 } |
| 341 } | 344 } |
| 342 | 345 |
| 343 TilingSetRasterQueueAll::EventuallyTilingIterator& | 346 TilingSetRasterQueueAll::EventuallyTilingIterator& |
| 344 TilingSetRasterQueueAll::EventuallyTilingIterator:: | 347 TilingSetRasterQueueAll::EventuallyTilingIterator:: |
| (...skipping 11 matching lines...) Expand all Loading... |
| 356 TilingData* tiling_data) | 359 TilingData* tiling_data) |
| 357 : tiling_(tiling), tiling_data_(tiling_data), phase_(Phase::VISIBLE_RECT) { | 360 : tiling_(tiling), tiling_data_(tiling_data), phase_(Phase::VISIBLE_RECT) { |
| 358 visible_iterator_ = VisibleTilingIterator(tiling_, tiling_data_); | 361 visible_iterator_ = VisibleTilingIterator(tiling_, tiling_data_); |
| 359 if (visible_iterator_.done()) { | 362 if (visible_iterator_.done()) { |
| 360 AdvancePhase(); | 363 AdvancePhase(); |
| 361 return; | 364 return; |
| 362 } | 365 } |
| 363 current_tile_ = *visible_iterator_; | 366 current_tile_ = *visible_iterator_; |
| 364 } | 367 } |
| 365 | 368 |
| 369 TilingSetRasterQueueAll::TilingIterator::TilingIterator( |
| 370 const TilingSetRasterQueueAll::TilingIterator& other) = default; |
| 371 |
| 372 TilingSetRasterQueueAll::TilingIterator::TilingIterator( |
| 373 TilingSetRasterQueueAll::TilingIterator&& other) = default; |
| 374 |
| 366 TilingSetRasterQueueAll::TilingIterator::~TilingIterator() { | 375 TilingSetRasterQueueAll::TilingIterator::~TilingIterator() { |
| 367 } | 376 } |
| 368 | 377 |
| 378 TilingSetRasterQueueAll::TilingIterator& |
| 379 TilingSetRasterQueueAll::TilingIterator::operator=( |
| 380 const TilingSetRasterQueueAll::TilingIterator& other) = default; |
| 381 |
| 382 TilingSetRasterQueueAll::TilingIterator& |
| 383 TilingSetRasterQueueAll::TilingIterator::operator=( |
| 384 TilingSetRasterQueueAll::TilingIterator&& other) = default; |
| 385 |
| 369 void TilingSetRasterQueueAll::TilingIterator::AdvancePhase() { | 386 void TilingSetRasterQueueAll::TilingIterator::AdvancePhase() { |
| 370 DCHECK_LT(phase_, Phase::EVENTUALLY_RECT); | 387 DCHECK_LT(phase_, Phase::EVENTUALLY_RECT); |
| 371 | 388 |
| 372 current_tile_ = PrioritizedTile(); | 389 current_tile_ = PrioritizedTile(); |
| 373 while (!current_tile_.tile() && phase_ < Phase::EVENTUALLY_RECT) { | 390 while (!current_tile_.tile() && phase_ < Phase::EVENTUALLY_RECT) { |
| 374 phase_ = static_cast<Phase>(phase_ + 1); | 391 phase_ = static_cast<Phase>(phase_ + 1); |
| 375 switch (phase_) { | 392 switch (phase_) { |
| 376 case Phase::VISIBLE_RECT: | 393 case Phase::VISIBLE_RECT: |
| 377 NOTREACHED(); | 394 NOTREACHED(); |
| 378 return; | 395 return; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 current_tile_ = PrioritizedTile(); | 460 current_tile_ = PrioritizedTile(); |
| 444 return *this; | 461 return *this; |
| 445 } | 462 } |
| 446 current_tile_ = *eventually_iterator_; | 463 current_tile_ = *eventually_iterator_; |
| 447 break; | 464 break; |
| 448 } | 465 } |
| 449 return *this; | 466 return *this; |
| 450 } | 467 } |
| 451 | 468 |
| 452 } // namespace cc | 469 } // namespace cc |
| OLD | NEW |