| Index: cc/base/tiling_data.cc
|
| diff --git a/cc/base/tiling_data.cc b/cc/base/tiling_data.cc
|
| index 4852110e63715f1026ffde77f57ffd58492f2d19..d8cb29b838b477f1499f80ca04826621df6ba7cd 100644
|
| --- a/cc/base/tiling_data.cc
|
| +++ b/cc/base/tiling_data.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <algorithm>
|
|
|
| +#include "cc/base/util.h"
|
| #include "ui/gfx/rect.h"
|
| #include "ui/gfx/vector2d.h"
|
|
|
| @@ -72,10 +73,12 @@ std::pair<int, int> TilingData::UnclampedFirstBorderTileIndexFromSrcCoord(
|
| int x,
|
| int y) const {
|
| int inner_tile_width = max_texture_size_.width() - 2 * border_texels_;
|
| - int result_x = (x - 2 * border_texels_) / inner_tile_width;
|
| + int result_x =
|
| + RoundDown(x - 2 * border_texels_, inner_tile_width) / inner_tile_width;
|
|
|
| int inner_tile_height = max_texture_size_.height() - 2 * border_texels_;
|
| - int result_y = (y - 2 * border_texels_) / inner_tile_height;
|
| + int result_y =
|
| + RoundDown(y - 2 * border_texels_, inner_tile_height) / inner_tile_height;
|
|
|
| return std::make_pair(result_x, result_y);
|
| }
|
| @@ -84,10 +87,10 @@ std::pair<int, int> TilingData::UnclampedLastBorderTileIndexFromSrcCoord(
|
| int x,
|
| int y) const {
|
| int inner_tile_width = max_texture_size_.width() - 2 * border_texels_;
|
| - int result_x = x / inner_tile_width;
|
| + int result_x = RoundDown(x, inner_tile_width) / inner_tile_width;
|
|
|
| int inner_tile_height = max_texture_size_.height() - 2 * border_texels_;
|
| - int result_y = y / inner_tile_height;
|
| + int result_y = RoundDown(y, inner_tile_height) / inner_tile_height;
|
|
|
| return std::make_pair(result_x, result_y);
|
| }
|
| @@ -296,6 +299,8 @@ TilingData::BaseIterator::BaseIterator(const TilingData* tiling_data)
|
| index_y_(-1) {
|
| }
|
|
|
| +TilingData::Iterator::Iterator() : BaseIterator(NULL) { done(); }
|
| +
|
| TilingData::Iterator::Iterator(const TilingData* tiling_data,
|
| const gfx::Rect& tiling_rect)
|
| : BaseIterator(tiling_data),
|
| @@ -433,6 +438,11 @@ TilingData::DifferenceIterator& TilingData::DifferenceIterator::operator++() {
|
| return *this;
|
| }
|
|
|
| +TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator()
|
| + : BaseIterator(NULL) {
|
| + done();
|
| +}
|
| +
|
| TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator(
|
| const TilingData* tiling_data,
|
| const gfx::Rect& consider_rect,
|
|
|