| Index: cc/base/tiling_data.h
|
| diff --git a/cc/base/tiling_data.h b/cc/base/tiling_data.h
|
| deleted file mode 100644
|
| index a35be59f7484ccaacd51e32f8a7c9c626db4c2a7..0000000000000000000000000000000000000000
|
| --- a/cc/base/tiling_data.h
|
| +++ /dev/null
|
| @@ -1,245 +0,0 @@
|
| -// Copyright 2010 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CC_BASE_TILING_DATA_H_
|
| -#define CC_BASE_TILING_DATA_H_
|
| -
|
| -#include <utility>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/logging.h"
|
| -#include "cc/base/cc_export.h"
|
| -#include "ui/gfx/geometry/rect.h"
|
| -#include "ui/gfx/geometry/size.h"
|
| -
|
| -namespace gfx {
|
| -class Vector2d;
|
| -}
|
| -
|
| -namespace cc {
|
| -
|
| -class CC_EXPORT TilingData {
|
| - public:
|
| - TilingData();
|
| - TilingData(const gfx::Size& max_texture_size,
|
| - const gfx::Size& tiling_size,
|
| - bool has_border_texels);
|
| - TilingData(const gfx::Size& max_texture_size,
|
| - const gfx::Size& tiling_size,
|
| - int border_texels);
|
| -
|
| - gfx::Size tiling_size() const { return tiling_size_; }
|
| - void SetTilingSize(const gfx::Size& tiling_size);
|
| -
|
| - gfx::Size max_texture_size() const { return max_texture_size_; }
|
| - void SetMaxTextureSize(const gfx::Size& max_texture_size);
|
| -
|
| - int border_texels() const { return border_texels_; }
|
| - void SetHasBorderTexels(bool has_border_texels);
|
| - void SetBorderTexels(int border_texels);
|
| -
|
| - bool has_empty_bounds() const { return !num_tiles_x_ || !num_tiles_y_; }
|
| - int num_tiles_x() const { return num_tiles_x_; }
|
| - int num_tiles_y() const { return num_tiles_y_; }
|
| - // Return the tile index whose non-border texels include src_position.
|
| - int TileXIndexFromSrcCoord(int src_position) const;
|
| - int TileYIndexFromSrcCoord(int src_position) const;
|
| - // Return the lowest tile index whose border texels include src_position.
|
| - int FirstBorderTileXIndexFromSrcCoord(int src_position) const;
|
| - int FirstBorderTileYIndexFromSrcCoord(int src_position) const;
|
| - // Return the highest tile index whose border texels include src_position.
|
| - int LastBorderTileXIndexFromSrcCoord(int src_position) const;
|
| - int LastBorderTileYIndexFromSrcCoord(int src_position) const;
|
| -
|
| - gfx::Rect ExpandRectIgnoringBordersToTileBounds(const gfx::Rect& rect) const;
|
| - gfx::Rect ExpandRectToTileBounds(const gfx::Rect& rect) const;
|
| -
|
| - gfx::Rect TileBounds(int i, int j) const;
|
| - gfx::Rect TileBoundsWithBorder(int i, int j) const;
|
| - int TilePositionX(int x_index) const;
|
| - int TilePositionY(int y_index) const;
|
| - int TileSizeX(int x_index) const;
|
| - int TileSizeY(int y_index) const;
|
| -
|
| - // Difference between TileBound's and TileBoundWithBorder's origin().
|
| - gfx::Vector2d TextureOffset(int x_index, int y_index) const;
|
| -
|
| - class CC_EXPORT BaseIterator {
|
| - public:
|
| - operator bool() const { return index_x_ != -1 && index_y_ != -1; }
|
| -
|
| - int index_x() const { return index_x_; }
|
| - int index_y() const { return index_y_; }
|
| - std::pair<int, int> index() const {
|
| - return std::make_pair(index_x_, index_y_);
|
| - }
|
| -
|
| - protected:
|
| - BaseIterator();
|
| - void done() {
|
| - index_x_ = -1;
|
| - index_y_ = -1;
|
| - }
|
| -
|
| - int index_x_;
|
| - int index_y_;
|
| - };
|
| -
|
| - // Iterate through tiles whose bounds + optional border intersect with |rect|.
|
| - class CC_EXPORT Iterator : public BaseIterator {
|
| - public:
|
| - Iterator();
|
| - Iterator(const TilingData* tiling_data,
|
| - const gfx::Rect& consider_rect,
|
| - bool include_borders);
|
| - Iterator& operator++();
|
| -
|
| - private:
|
| - int left_;
|
| - int right_;
|
| - int bottom_;
|
| - };
|
| -
|
| - class CC_EXPORT BaseDifferenceIterator : public BaseIterator {
|
| - protected:
|
| - BaseDifferenceIterator();
|
| - BaseDifferenceIterator(const TilingData* tiling_data,
|
| - const gfx::Rect& consider_rect,
|
| - const gfx::Rect& ignore_rect);
|
| -
|
| - bool HasConsiderRect() const;
|
| - bool in_consider_rect() const {
|
| - return index_x_ >= consider_left_ && index_x_ <= consider_right_ &&
|
| - index_y_ >= consider_top_ && index_y_ <= consider_bottom_;
|
| - }
|
| - bool in_ignore_rect() const {
|
| - return index_x_ >= ignore_left_ && index_x_ <= ignore_right_ &&
|
| - index_y_ >= ignore_top_ && index_y_ <= ignore_bottom_;
|
| - }
|
| -
|
| - int consider_left_;
|
| - int consider_top_;
|
| - int consider_right_;
|
| - int consider_bottom_;
|
| - int ignore_left_;
|
| - int ignore_top_;
|
| - int ignore_right_;
|
| - int ignore_bottom_;
|
| - };
|
| -
|
| - // Iterate through all indices whose bounds (not including borders) intersect
|
| - // with |consider| but which also do not intersect with |ignore|.
|
| - class CC_EXPORT DifferenceIterator : public BaseDifferenceIterator {
|
| - public:
|
| - DifferenceIterator(const TilingData* tiling_data,
|
| - const gfx::Rect& consider_rect,
|
| - const gfx::Rect& ignore_rect);
|
| - DifferenceIterator& operator++();
|
| - };
|
| -
|
| - // Iterate through all indices whose bounds + border intersect with
|
| - // |consider| but which also do not intersect with |ignore|. The iterator
|
| - // order is a counterclockwise spiral around the given center.
|
| - class CC_EXPORT SpiralDifferenceIterator : public BaseDifferenceIterator {
|
| - public:
|
| - SpiralDifferenceIterator();
|
| - SpiralDifferenceIterator(const TilingData* tiling_data,
|
| - const gfx::Rect& consider_rect,
|
| - const gfx::Rect& ignore_rect,
|
| - const gfx::Rect& center_rect);
|
| - SpiralDifferenceIterator& operator++();
|
| -
|
| - private:
|
| - bool valid_column() const {
|
| - return index_x_ >= consider_left_ && index_x_ <= consider_right_;
|
| - }
|
| - bool valid_row() const {
|
| - return index_y_ >= consider_top_ && index_y_ <= consider_bottom_;
|
| - }
|
| -
|
| - int current_step_count() const {
|
| - return (direction_ == UP || direction_ == DOWN) ? vertical_step_count_
|
| - : horizontal_step_count_;
|
| - }
|
| -
|
| - bool needs_direction_switch() const;
|
| - void switch_direction();
|
| -
|
| - enum Direction { UP, LEFT, DOWN, RIGHT };
|
| -
|
| - Direction direction_;
|
| - int delta_x_;
|
| - int delta_y_;
|
| - int current_step_;
|
| - int horizontal_step_count_;
|
| - int vertical_step_count_;
|
| - };
|
| -
|
| - class CC_EXPORT ReverseSpiralDifferenceIterator
|
| - : public BaseDifferenceIterator {
|
| - public:
|
| - ReverseSpiralDifferenceIterator();
|
| - ReverseSpiralDifferenceIterator(const TilingData* tiling_data,
|
| - const gfx::Rect& consider_rect,
|
| - const gfx::Rect& ignore_rect,
|
| - const gfx::Rect& center_rect);
|
| - ReverseSpiralDifferenceIterator& operator++();
|
| -
|
| - private:
|
| - bool in_around_rect() const {
|
| - return index_x_ >= around_left_ && index_x_ <= around_right_ &&
|
| - index_y_ >= around_top_ && index_y_ <= around_bottom_;
|
| - }
|
| - bool valid_column() const {
|
| - return index_x_ >= consider_left_ && index_x_ <= consider_right_;
|
| - }
|
| - bool valid_row() const {
|
| - return index_y_ >= consider_top_ && index_y_ <= consider_bottom_;
|
| - }
|
| -
|
| - int current_step_count() const {
|
| - return (direction_ == UP || direction_ == DOWN) ? vertical_step_count_
|
| - : horizontal_step_count_;
|
| - }
|
| -
|
| - bool needs_direction_switch() const;
|
| - void switch_direction();
|
| -
|
| - int around_left_;
|
| - int around_top_;
|
| - int around_right_;
|
| - int around_bottom_;
|
| -
|
| - enum Direction { LEFT, UP, RIGHT, DOWN };
|
| -
|
| - Direction direction_;
|
| - int delta_x_;
|
| - int delta_y_;
|
| - int current_step_;
|
| - int horizontal_step_count_;
|
| - int vertical_step_count_;
|
| - };
|
| -
|
| - private:
|
| - void AssertTile(int i, int j) const {
|
| - DCHECK_GE(i, 0);
|
| - DCHECK_LT(i, num_tiles_x_);
|
| - DCHECK_GE(j, 0);
|
| - DCHECK_LT(j, num_tiles_y_);
|
| - }
|
| -
|
| - void RecomputeNumTiles();
|
| -
|
| - gfx::Size max_texture_size_;
|
| - gfx::Size tiling_size_;
|
| - int border_texels_;
|
| -
|
| - // These are computed values.
|
| - int num_tiles_x_;
|
| - int num_tiles_y_;
|
| -};
|
| -
|
| -} // namespace cc
|
| -
|
| -#endif // CC_BASE_TILING_DATA_H_
|
|
|