| Index: cc/base/tiling_data.h
|
| diff --git a/cc/base/tiling_data.h b/cc/base/tiling_data.h
|
| index 06eb2520a3b4b1c2e0f3df5cf227d7a43812d542..c98d7b3f66d04af002b500d867e86eb66c9065f4 100644
|
| --- a/cc/base/tiling_data.h
|
| +++ b/cc/base/tiling_data.h
|
| @@ -10,6 +10,7 @@
|
| #include "base/logging.h"
|
| #include "cc/base/cc_export.h"
|
| #include "cc/base/index_rect.h"
|
| +#include "cc/base/pyramid_sequence.h"
|
| #include "cc/base/reverse_spiral_iterator.h"
|
| #include "cc/base/spiral_iterator.h"
|
| #include "ui/gfx/geometry/rect.h"
|
| @@ -60,6 +61,8 @@ class CC_EXPORT TilingData {
|
| int LastBorderTileYIndexFromSrcCoord(int src_position) const;
|
| // Return the tile indices around the given rect.
|
| IndexRect TileAroundIndexRect(const gfx::Rect& center_rect) const;
|
| + // Return the absolute tile indices around the given rect.
|
| + IndexRect TileAroundAbsoluteIndexRect(const gfx::Rect& center_rect) const;
|
|
|
| gfx::Rect ExpandRectIgnoringBordersToTileBounds(const gfx::Rect& rect) const;
|
| gfx::Rect ExpandRectToTileBounds(const gfx::Rect& rect) const;
|
| @@ -76,6 +79,9 @@ class CC_EXPORT TilingData {
|
| // Difference between TileBound's and TileBoundWithBorder's origin().
|
| gfx::Vector2d TextureOffset(int x_index, int y_index) const;
|
|
|
| + // Returns true if tiling-iterator is specified as pyramid-sequence.
|
| + static bool IsPyramidSequenceEnabled();
|
| +
|
| class CC_EXPORT BaseIterator {
|
| public:
|
| operator bool() const { return index_x_ != -1 && index_y_ != -1; }
|
| @@ -143,11 +149,22 @@ class CC_EXPORT TilingData {
|
| SpiralDifferenceIterator(const TilingData* tiling_data,
|
| const gfx::Rect& consider_rect,
|
| const gfx::Rect& ignore_rect,
|
| - const gfx::Rect& center_rect);
|
| + const gfx::Rect& center_rect,
|
| + const bool use_pyramid_sequence);
|
| + SpiralDifferenceIterator(const SpiralDifferenceIterator& other);
|
| + SpiralDifferenceIterator(SpiralDifferenceIterator&& other);
|
| + ~SpiralDifferenceIterator();
|
| +
|
| + SpiralDifferenceIterator& operator=(const SpiralDifferenceIterator& other);
|
| + SpiralDifferenceIterator& operator=(SpiralDifferenceIterator&& other);
|
| +
|
| SpiralDifferenceIterator& operator++();
|
|
|
| private:
|
| SpiralIterator spiral_iterator_;
|
| + bool use_pyramid_sequence_;
|
| + PyramidSequence pyramid_sequence_;
|
| + PyramidSequence::Iterator iterator_;
|
| };
|
|
|
| class CC_EXPORT ReverseSpiralDifferenceIterator
|
| @@ -157,11 +174,25 @@ class CC_EXPORT TilingData {
|
| ReverseSpiralDifferenceIterator(const TilingData* tiling_data,
|
| const gfx::Rect& consider_rect,
|
| const gfx::Rect& ignore_rect,
|
| - const gfx::Rect& center_rect);
|
| + const gfx::Rect& center_rect,
|
| + const bool use_pyramid_sequence);
|
| + ReverseSpiralDifferenceIterator(
|
| + const ReverseSpiralDifferenceIterator& other);
|
| + ReverseSpiralDifferenceIterator(ReverseSpiralDifferenceIterator&& other);
|
| + ~ReverseSpiralDifferenceIterator();
|
| +
|
| + ReverseSpiralDifferenceIterator& operator=(
|
| + const ReverseSpiralDifferenceIterator& other);
|
| + ReverseSpiralDifferenceIterator& operator=(
|
| + ReverseSpiralDifferenceIterator&& other);
|
| +
|
| ReverseSpiralDifferenceIterator& operator++();
|
|
|
| private:
|
| ReverseSpiralIterator reverse_spiral_iterator_;
|
| + bool use_pyramid_sequence_;
|
| + PyramidSequence pyramid_sequence_;
|
| + PyramidSequence::ReverseIterator reverse_iterator_;
|
| };
|
|
|
| private:
|
|
|