| OLD | NEW |
| 1 // Copyright 2010 The Chromium Authors. All rights reserved. | 1 // Copyright 2010 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/base/tiling_data.h" | 5 #include "cc/base/tiling_data.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "ui/gfx/geometry/rect.h" | 9 #include "ui/gfx/geometry/rect.h" |
| 10 #include "ui/gfx/geometry/vector2d.h" | 10 #include "ui/gfx/geometry/vector2d.h" |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 return gfx::Vector2d(left, top); | 286 return gfx::Vector2d(left, top); |
| 287 } | 287 } |
| 288 | 288 |
| 289 void TilingData::RecomputeNumTiles() { | 289 void TilingData::RecomputeNumTiles() { |
| 290 num_tiles_x_ = ComputeNumTiles( | 290 num_tiles_x_ = ComputeNumTiles( |
| 291 max_texture_size_.width(), tiling_size_.width(), border_texels_); | 291 max_texture_size_.width(), tiling_size_.width(), border_texels_); |
| 292 num_tiles_y_ = ComputeNumTiles( | 292 num_tiles_y_ = ComputeNumTiles( |
| 293 max_texture_size_.height(), tiling_size_.height(), border_texels_); | 293 max_texture_size_.height(), tiling_size_.height(), border_texels_); |
| 294 } | 294 } |
| 295 | 295 |
| 296 TilingData::BaseIterator::BaseIterator(const TilingData* tiling_data) | 296 TilingData::BaseIterator::BaseIterator() : index_x_(-1), index_y_(-1) { |
| 297 : tiling_data_(tiling_data), | |
| 298 index_x_(-1), | |
| 299 index_y_(-1) { | |
| 300 } | 297 } |
| 301 | 298 |
| 302 TilingData::Iterator::Iterator() : BaseIterator(nullptr) { done(); } | 299 TilingData::Iterator::Iterator() { |
| 300 done(); |
| 301 } |
| 303 | 302 |
| 304 TilingData::Iterator::Iterator(const TilingData* tiling_data, | 303 TilingData::Iterator::Iterator(const TilingData* tiling_data, |
| 305 const gfx::Rect& consider_rect, | 304 const gfx::Rect& consider_rect, |
| 306 bool include_borders) | 305 bool include_borders) |
| 307 : BaseIterator(tiling_data), left_(-1), right_(-1), bottom_(-1) { | 306 : left_(-1), right_(-1), bottom_(-1) { |
| 308 if (tiling_data_->num_tiles_x() <= 0 || tiling_data_->num_tiles_y() <= 0) { | 307 if (tiling_data->num_tiles_x() <= 0 || tiling_data->num_tiles_y() <= 0) { |
| 309 done(); | 308 done(); |
| 310 return; | 309 return; |
| 311 } | 310 } |
| 312 | 311 |
| 313 gfx::Rect tiling_bounds_rect(tiling_data_->tiling_size()); | 312 gfx::Rect tiling_bounds_rect(tiling_data->tiling_size()); |
| 314 gfx::Rect rect(consider_rect); | 313 gfx::Rect rect(consider_rect); |
| 315 rect.Intersect(tiling_bounds_rect); | 314 rect.Intersect(tiling_bounds_rect); |
| 316 | 315 |
| 317 gfx::Rect top_left_tile; | 316 gfx::Rect top_left_tile; |
| 318 if (include_borders) { | 317 if (include_borders) { |
| 319 index_x_ = tiling_data_->FirstBorderTileXIndexFromSrcCoord(rect.x()); | 318 index_x_ = tiling_data->FirstBorderTileXIndexFromSrcCoord(rect.x()); |
| 320 index_y_ = tiling_data_->FirstBorderTileYIndexFromSrcCoord(rect.y()); | 319 index_y_ = tiling_data->FirstBorderTileYIndexFromSrcCoord(rect.y()); |
| 321 right_ = tiling_data_->LastBorderTileXIndexFromSrcCoord(rect.right() - 1); | 320 right_ = tiling_data->LastBorderTileXIndexFromSrcCoord(rect.right() - 1); |
| 322 bottom_ = tiling_data_->LastBorderTileYIndexFromSrcCoord(rect.bottom() - 1); | 321 bottom_ = tiling_data->LastBorderTileYIndexFromSrcCoord(rect.bottom() - 1); |
| 323 top_left_tile = tiling_data_->TileBoundsWithBorder(index_x_, index_y_); | 322 top_left_tile = tiling_data->TileBoundsWithBorder(index_x_, index_y_); |
| 324 } else { | 323 } else { |
| 325 index_x_ = tiling_data_->TileXIndexFromSrcCoord(rect.x()); | 324 index_x_ = tiling_data->TileXIndexFromSrcCoord(rect.x()); |
| 326 index_y_ = tiling_data_->TileYIndexFromSrcCoord(rect.y()); | 325 index_y_ = tiling_data->TileYIndexFromSrcCoord(rect.y()); |
| 327 right_ = tiling_data_->TileXIndexFromSrcCoord(rect.right() - 1); | 326 right_ = tiling_data->TileXIndexFromSrcCoord(rect.right() - 1); |
| 328 bottom_ = tiling_data_->TileYIndexFromSrcCoord(rect.bottom() - 1); | 327 bottom_ = tiling_data->TileYIndexFromSrcCoord(rect.bottom() - 1); |
| 329 top_left_tile = tiling_data_->TileBounds(index_x_, index_y_); | 328 top_left_tile = tiling_data->TileBounds(index_x_, index_y_); |
| 330 } | 329 } |
| 331 left_ = index_x_; | 330 left_ = index_x_; |
| 332 | 331 |
| 333 // Index functions always return valid indices, so explicitly check | 332 // Index functions always return valid indices, so explicitly check |
| 334 // for non-intersecting rects. | 333 // for non-intersecting rects. |
| 335 if (!top_left_tile.Intersects(rect)) | 334 if (!top_left_tile.Intersects(rect)) |
| 336 done(); | 335 done(); |
| 337 } | 336 } |
| 338 | 337 |
| 339 TilingData::Iterator& TilingData::Iterator::operator++() { | 338 TilingData::Iterator& TilingData::Iterator::operator++() { |
| 340 if (!*this) | 339 if (!*this) |
| 341 return *this; | 340 return *this; |
| 342 | 341 |
| 343 index_x_++; | 342 index_x_++; |
| 344 if (index_x_ > right_) { | 343 if (index_x_ > right_) { |
| 345 index_x_ = left_; | 344 index_x_ = left_; |
| 346 index_y_++; | 345 index_y_++; |
| 347 if (index_y_ > bottom_) | 346 if (index_y_ > bottom_) |
| 348 done(); | 347 done(); |
| 349 } | 348 } |
| 350 | 349 |
| 351 return *this; | 350 return *this; |
| 352 } | 351 } |
| 353 | 352 |
| 354 TilingData::DifferenceIterator::DifferenceIterator( | 353 TilingData::DifferenceIterator::DifferenceIterator( |
| 355 const TilingData* tiling_data, | 354 const TilingData* tiling_data, |
| 356 const gfx::Rect& consider_rect, | 355 const gfx::Rect& consider_rect, |
| 357 const gfx::Rect& ignore_rect) | 356 const gfx::Rect& ignore_rect) |
| 358 : BaseIterator(tiling_data), | 357 : consider_left_(-1), |
| 359 consider_left_(-1), | |
| 360 consider_top_(-1), | 358 consider_top_(-1), |
| 361 consider_right_(-1), | 359 consider_right_(-1), |
| 362 consider_bottom_(-1), | 360 consider_bottom_(-1), |
| 363 ignore_left_(-1), | 361 ignore_left_(-1), |
| 364 ignore_top_(-1), | 362 ignore_top_(-1), |
| 365 ignore_right_(-1), | 363 ignore_right_(-1), |
| 366 ignore_bottom_(-1) { | 364 ignore_bottom_(-1) { |
| 367 if (tiling_data_->num_tiles_x() <= 0 || tiling_data_->num_tiles_y() <= 0) { | 365 if (tiling_data->num_tiles_x() <= 0 || tiling_data->num_tiles_y() <= 0) { |
| 368 done(); | 366 done(); |
| 369 return; | 367 return; |
| 370 } | 368 } |
| 371 | 369 |
| 372 gfx::Rect tiling_bounds_rect(tiling_data_->tiling_size()); | 370 gfx::Rect tiling_bounds_rect(tiling_data->tiling_size()); |
| 373 gfx::Rect consider(consider_rect); | 371 gfx::Rect consider(consider_rect); |
| 374 gfx::Rect ignore(ignore_rect); | 372 gfx::Rect ignore(ignore_rect); |
| 375 consider.Intersect(tiling_bounds_rect); | 373 consider.Intersect(tiling_bounds_rect); |
| 376 ignore.Intersect(tiling_bounds_rect); | 374 ignore.Intersect(tiling_bounds_rect); |
| 377 if (consider.IsEmpty()) { | 375 if (consider.IsEmpty()) { |
| 378 done(); | 376 done(); |
| 379 return; | 377 return; |
| 380 } | 378 } |
| 381 | 379 |
| 382 consider_left_ = tiling_data_->TileXIndexFromSrcCoord(consider.x()); | 380 consider_left_ = tiling_data->TileXIndexFromSrcCoord(consider.x()); |
| 383 consider_top_ = tiling_data_->TileYIndexFromSrcCoord(consider.y()); | 381 consider_top_ = tiling_data->TileYIndexFromSrcCoord(consider.y()); |
| 384 consider_right_ = tiling_data_->TileXIndexFromSrcCoord(consider.right() - 1); | 382 consider_right_ = tiling_data->TileXIndexFromSrcCoord(consider.right() - 1); |
| 385 consider_bottom_ = | 383 consider_bottom_ = tiling_data->TileYIndexFromSrcCoord(consider.bottom() - 1); |
| 386 tiling_data_->TileYIndexFromSrcCoord(consider.bottom() - 1); | |
| 387 | 384 |
| 388 if (!ignore.IsEmpty()) { | 385 if (!ignore.IsEmpty()) { |
| 389 ignore_left_ = tiling_data_->TileXIndexFromSrcCoord(ignore.x()); | 386 ignore_left_ = tiling_data->TileXIndexFromSrcCoord(ignore.x()); |
| 390 ignore_top_ = tiling_data_->TileYIndexFromSrcCoord(ignore.y()); | 387 ignore_top_ = tiling_data->TileYIndexFromSrcCoord(ignore.y()); |
| 391 ignore_right_ = tiling_data_->TileXIndexFromSrcCoord(ignore.right() - 1); | 388 ignore_right_ = tiling_data->TileXIndexFromSrcCoord(ignore.right() - 1); |
| 392 ignore_bottom_ = tiling_data_->TileYIndexFromSrcCoord(ignore.bottom() - 1); | 389 ignore_bottom_ = tiling_data->TileYIndexFromSrcCoord(ignore.bottom() - 1); |
| 393 | 390 |
| 394 // Clamp ignore indices to consider indices. | 391 // Clamp ignore indices to consider indices. |
| 395 ignore_left_ = std::max(ignore_left_, consider_left_); | 392 ignore_left_ = std::max(ignore_left_, consider_left_); |
| 396 ignore_top_ = std::max(ignore_top_, consider_top_); | 393 ignore_top_ = std::max(ignore_top_, consider_top_); |
| 397 ignore_right_ = std::min(ignore_right_, consider_right_); | 394 ignore_right_ = std::min(ignore_right_, consider_right_); |
| 398 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); | 395 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); |
| 399 } | 396 } |
| 400 | 397 |
| 401 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && | 398 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && |
| 402 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { | 399 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { |
| (...skipping 30 matching lines...) Expand all Loading... |
| 433 } | 430 } |
| 434 } | 431 } |
| 435 | 432 |
| 436 if (index_y_ > consider_bottom_) | 433 if (index_y_ > consider_bottom_) |
| 437 done(); | 434 done(); |
| 438 } | 435 } |
| 439 | 436 |
| 440 return *this; | 437 return *this; |
| 441 } | 438 } |
| 442 | 439 |
| 443 TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator() | 440 TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator() { |
| 444 : BaseIterator(nullptr) { | |
| 445 done(); | 441 done(); |
| 446 } | 442 } |
| 447 | 443 |
| 448 TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator( | 444 TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator( |
| 449 const TilingData* tiling_data, | 445 const TilingData* tiling_data, |
| 450 const gfx::Rect& consider_rect, | 446 const gfx::Rect& consider_rect, |
| 451 const gfx::Rect& ignore_rect, | 447 const gfx::Rect& ignore_rect, |
| 452 const gfx::Rect& center_rect) | 448 const gfx::Rect& center_rect) |
| 453 : BaseIterator(tiling_data), | 449 : consider_left_(-1), |
| 454 consider_left_(-1), | |
| 455 consider_top_(-1), | 450 consider_top_(-1), |
| 456 consider_right_(-1), | 451 consider_right_(-1), |
| 457 consider_bottom_(-1), | 452 consider_bottom_(-1), |
| 458 ignore_left_(-1), | 453 ignore_left_(-1), |
| 459 ignore_top_(-1), | 454 ignore_top_(-1), |
| 460 ignore_right_(-1), | 455 ignore_right_(-1), |
| 461 ignore_bottom_(-1), | 456 ignore_bottom_(-1), |
| 462 direction_(RIGHT), | 457 direction_(RIGHT), |
| 463 delta_x_(1), | 458 delta_x_(1), |
| 464 delta_y_(0), | 459 delta_y_(0), |
| 465 current_step_(0), | 460 current_step_(0), |
| 466 horizontal_step_count_(0), | 461 horizontal_step_count_(0), |
| 467 vertical_step_count_(0) { | 462 vertical_step_count_(0) { |
| 468 if (tiling_data_->num_tiles_x() <= 0 || tiling_data_->num_tiles_y() <= 0) { | 463 if (tiling_data->num_tiles_x() <= 0 || tiling_data->num_tiles_y() <= 0) { |
| 469 done(); | 464 done(); |
| 470 return; | 465 return; |
| 471 } | 466 } |
| 472 | 467 |
| 473 gfx::Rect tiling_bounds_rect(tiling_data_->tiling_size()); | 468 gfx::Rect tiling_bounds_rect(tiling_data->tiling_size()); |
| 474 gfx::Rect consider(consider_rect); | 469 gfx::Rect consider(consider_rect); |
| 475 gfx::Rect ignore(ignore_rect); | 470 gfx::Rect ignore(ignore_rect); |
| 476 gfx::Rect center(center_rect); | 471 gfx::Rect center(center_rect); |
| 477 consider.Intersect(tiling_bounds_rect); | 472 consider.Intersect(tiling_bounds_rect); |
| 478 ignore.Intersect(tiling_bounds_rect); | 473 ignore.Intersect(tiling_bounds_rect); |
| 479 if (consider.IsEmpty()) { | 474 if (consider.IsEmpty()) { |
| 480 done(); | 475 done(); |
| 481 return; | 476 return; |
| 482 } | 477 } |
| 483 | 478 |
| 484 consider_left_ = tiling_data_->TileXIndexFromSrcCoord(consider.x()); | 479 consider_left_ = tiling_data->TileXIndexFromSrcCoord(consider.x()); |
| 485 consider_top_ = tiling_data_->TileYIndexFromSrcCoord(consider.y()); | 480 consider_top_ = tiling_data->TileYIndexFromSrcCoord(consider.y()); |
| 486 consider_right_ = tiling_data_->TileXIndexFromSrcCoord(consider.right() - 1); | 481 consider_right_ = tiling_data->TileXIndexFromSrcCoord(consider.right() - 1); |
| 487 consider_bottom_ = | 482 consider_bottom_ = tiling_data->TileYIndexFromSrcCoord(consider.bottom() - 1); |
| 488 tiling_data_->TileYIndexFromSrcCoord(consider.bottom() - 1); | |
| 489 | 483 |
| 490 if (!ignore.IsEmpty()) { | 484 if (!ignore.IsEmpty()) { |
| 491 ignore_left_ = tiling_data_->TileXIndexFromSrcCoord(ignore.x()); | 485 ignore_left_ = tiling_data->TileXIndexFromSrcCoord(ignore.x()); |
| 492 ignore_top_ = tiling_data_->TileYIndexFromSrcCoord(ignore.y()); | 486 ignore_top_ = tiling_data->TileYIndexFromSrcCoord(ignore.y()); |
| 493 ignore_right_ = tiling_data_->TileXIndexFromSrcCoord(ignore.right() - 1); | 487 ignore_right_ = tiling_data->TileXIndexFromSrcCoord(ignore.right() - 1); |
| 494 ignore_bottom_ = tiling_data_->TileYIndexFromSrcCoord(ignore.bottom() - 1); | 488 ignore_bottom_ = tiling_data->TileYIndexFromSrcCoord(ignore.bottom() - 1); |
| 495 | 489 |
| 496 // Clamp ignore indices to consider indices. | 490 // Clamp ignore indices to consider indices. |
| 497 ignore_left_ = std::max(ignore_left_, consider_left_); | 491 ignore_left_ = std::max(ignore_left_, consider_left_); |
| 498 ignore_top_ = std::max(ignore_top_, consider_top_); | 492 ignore_top_ = std::max(ignore_top_, consider_top_); |
| 499 ignore_right_ = std::min(ignore_right_, consider_right_); | 493 ignore_right_ = std::min(ignore_right_, consider_right_); |
| 500 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); | 494 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); |
| 501 } | 495 } |
| 502 | 496 |
| 503 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && | 497 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && |
| 504 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { | 498 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 | 653 |
| 660 current_step_ = 0; | 654 current_step_ = 0; |
| 661 direction_ = static_cast<Direction>((direction_ + 1) % 4); | 655 direction_ = static_cast<Direction>((direction_ + 1) % 4); |
| 662 | 656 |
| 663 if (direction_ == RIGHT || direction_ == LEFT) { | 657 if (direction_ == RIGHT || direction_ == LEFT) { |
| 664 ++vertical_step_count_; | 658 ++vertical_step_count_; |
| 665 ++horizontal_step_count_; | 659 ++horizontal_step_count_; |
| 666 } | 660 } |
| 667 } | 661 } |
| 668 | 662 |
| 669 TilingData::ReverseSpiralDifferenceIterator::ReverseSpiralDifferenceIterator() | 663 TilingData::ReverseSpiralDifferenceIterator::ReverseSpiralDifferenceIterator() { |
| 670 : BaseIterator(nullptr) { | |
| 671 done(); | 664 done(); |
| 672 } | 665 } |
| 673 | 666 |
| 674 TilingData::ReverseSpiralDifferenceIterator::ReverseSpiralDifferenceIterator( | 667 TilingData::ReverseSpiralDifferenceIterator::ReverseSpiralDifferenceIterator( |
| 675 const TilingData* tiling_data, | 668 const TilingData* tiling_data, |
| 676 const gfx::Rect& consider_rect, | 669 const gfx::Rect& consider_rect, |
| 677 const gfx::Rect& ignore_rect, | 670 const gfx::Rect& ignore_rect, |
| 678 const gfx::Rect& center_rect) | 671 const gfx::Rect& center_rect) |
| 679 : BaseIterator(tiling_data), | 672 : consider_left_(-1), |
| 680 consider_left_(-1), | |
| 681 consider_top_(-1), | 673 consider_top_(-1), |
| 682 consider_right_(-1), | 674 consider_right_(-1), |
| 683 consider_bottom_(-1), | 675 consider_bottom_(-1), |
| 684 around_left_(-1), | 676 around_left_(-1), |
| 685 around_top_(-1), | 677 around_top_(-1), |
| 686 around_right_(-1), | 678 around_right_(-1), |
| 687 around_bottom_(-1), | 679 around_bottom_(-1), |
| 688 ignore_left_(-1), | 680 ignore_left_(-1), |
| 689 ignore_top_(-1), | 681 ignore_top_(-1), |
| 690 ignore_right_(-1), | 682 ignore_right_(-1), |
| 691 ignore_bottom_(-1), | 683 ignore_bottom_(-1), |
| 692 direction_(LEFT), | 684 direction_(LEFT), |
| 693 delta_x_(-1), | 685 delta_x_(-1), |
| 694 delta_y_(0), | 686 delta_y_(0), |
| 695 current_step_(0), | 687 current_step_(0), |
| 696 horizontal_step_count_(0), | 688 horizontal_step_count_(0), |
| 697 vertical_step_count_(0) { | 689 vertical_step_count_(0) { |
| 698 if (tiling_data_->num_tiles_x() <= 0 || tiling_data_->num_tiles_y() <= 0) { | 690 if (tiling_data->num_tiles_x() <= 0 || tiling_data->num_tiles_y() <= 0) { |
| 699 done(); | 691 done(); |
| 700 return; | 692 return; |
| 701 } | 693 } |
| 702 | 694 |
| 703 gfx::Rect tiling_bounds_rect(tiling_data_->tiling_size()); | 695 gfx::Rect tiling_bounds_rect(tiling_data->tiling_size()); |
| 704 gfx::Rect consider(consider_rect); | 696 gfx::Rect consider(consider_rect); |
| 705 gfx::Rect ignore(ignore_rect); | 697 gfx::Rect ignore(ignore_rect); |
| 706 gfx::Rect center(center_rect); | 698 gfx::Rect center(center_rect); |
| 707 consider.Intersect(tiling_bounds_rect); | 699 consider.Intersect(tiling_bounds_rect); |
| 708 ignore.Intersect(tiling_bounds_rect); | 700 ignore.Intersect(tiling_bounds_rect); |
| 709 if (consider.IsEmpty()) { | 701 if (consider.IsEmpty()) { |
| 710 done(); | 702 done(); |
| 711 return; | 703 return; |
| 712 } | 704 } |
| 713 | 705 |
| 714 consider_left_ = tiling_data_->TileXIndexFromSrcCoord(consider.x()); | 706 consider_left_ = tiling_data->TileXIndexFromSrcCoord(consider.x()); |
| 715 consider_top_ = tiling_data_->TileYIndexFromSrcCoord(consider.y()); | 707 consider_top_ = tiling_data->TileYIndexFromSrcCoord(consider.y()); |
| 716 consider_right_ = tiling_data_->TileXIndexFromSrcCoord(consider.right() - 1); | 708 consider_right_ = tiling_data->TileXIndexFromSrcCoord(consider.right() - 1); |
| 717 consider_bottom_ = | 709 consider_bottom_ = tiling_data->TileYIndexFromSrcCoord(consider.bottom() - 1); |
| 718 tiling_data_->TileYIndexFromSrcCoord(consider.bottom() - 1); | |
| 719 | 710 |
| 720 if (!ignore.IsEmpty()) { | 711 if (!ignore.IsEmpty()) { |
| 721 ignore_left_ = tiling_data_->TileXIndexFromSrcCoord(ignore.x()); | 712 ignore_left_ = tiling_data->TileXIndexFromSrcCoord(ignore.x()); |
| 722 ignore_top_ = tiling_data_->TileYIndexFromSrcCoord(ignore.y()); | 713 ignore_top_ = tiling_data->TileYIndexFromSrcCoord(ignore.y()); |
| 723 ignore_right_ = tiling_data_->TileXIndexFromSrcCoord(ignore.right() - 1); | 714 ignore_right_ = tiling_data->TileXIndexFromSrcCoord(ignore.right() - 1); |
| 724 ignore_bottom_ = tiling_data_->TileYIndexFromSrcCoord(ignore.bottom() - 1); | 715 ignore_bottom_ = tiling_data->TileYIndexFromSrcCoord(ignore.bottom() - 1); |
| 725 | 716 |
| 726 // Clamp ignore indices to consider indices. | 717 // Clamp ignore indices to consider indices. |
| 727 ignore_left_ = std::max(ignore_left_, consider_left_); | 718 ignore_left_ = std::max(ignore_left_, consider_left_); |
| 728 ignore_top_ = std::max(ignore_top_, consider_top_); | 719 ignore_top_ = std::max(ignore_top_, consider_top_); |
| 729 ignore_right_ = std::min(ignore_right_, consider_right_); | 720 ignore_right_ = std::min(ignore_right_, consider_right_); |
| 730 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); | 721 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); |
| 731 } | 722 } |
| 732 | 723 |
| 733 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && | 724 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && |
| 734 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { | 725 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 921 | 912 |
| 922 // We should always end up in an around rect at some point. | 913 // We should always end up in an around rect at some point. |
| 923 // Since the direction is now vertical, we have to ensure that we will | 914 // Since the direction is now vertical, we have to ensure that we will |
| 924 // advance. | 915 // advance. |
| 925 DCHECK_GE(horizontal_step_count_, 1); | 916 DCHECK_GE(horizontal_step_count_, 1); |
| 926 DCHECK_GE(vertical_step_count_, 1); | 917 DCHECK_GE(vertical_step_count_, 1); |
| 927 } | 918 } |
| 928 } | 919 } |
| 929 | 920 |
| 930 } // namespace cc | 921 } // namespace cc |
| OLD | NEW |