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 |