Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2627)

Unified Diff: cc/layer_tiling_data.cc

Issue 12471007: Part 8 of cc/ directory shuffles: resources (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layer_tiling_data.h ('k') | cc/layer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layer_tiling_data.cc
diff --git a/cc/layer_tiling_data.cc b/cc/layer_tiling_data.cc
deleted file mode 100644
index aaf6ee9864ec2acd76ee2ce6586cc28ec27ae536..0000000000000000000000000000000000000000
--- a/cc/layer_tiling_data.cc
+++ /dev/null
@@ -1,133 +0,0 @@
-// Copyright 2011 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.
-
-#include "cc/layer_tiling_data.h"
-
-#include "base/logging.h"
-
-namespace cc {
-
-scoped_ptr<LayerTilingData> LayerTilingData::Create(gfx::Size tile_size,
- BorderTexelOption border) {
- return make_scoped_ptr(new LayerTilingData(tile_size, border));
-}
-
-LayerTilingData::LayerTilingData(gfx::Size tile_size, BorderTexelOption border)
- : tiling_data_(tile_size, gfx::Size(), border == HAS_BORDER_TEXELS) {
- SetTileSize(tile_size);
-}
-
-LayerTilingData::~LayerTilingData() {}
-
-void LayerTilingData::SetTileSize(gfx::Size size) {
- if (tile_size() == size)
- return;
-
- reset();
-
- tiling_data_.SetMaxTextureSize(size);
-}
-
-gfx::Size LayerTilingData::tile_size() const {
- return tiling_data_.max_texture_size();
-}
-
-void LayerTilingData::SetBorderTexelOption(
- BorderTexelOption border_texel_option) {
- bool border_texels = border_texel_option == HAS_BORDER_TEXELS;
- if (has_border_texels() == border_texels)
- return;
-
- reset();
- tiling_data_.SetHasBorderTexels(border_texels);
-}
-
-const LayerTilingData& LayerTilingData::operator=
- (const LayerTilingData & tiler) {
- tiling_data_ = tiler.tiling_data_;
-
- return *this;
-}
-
-void LayerTilingData::AddTile(scoped_ptr<Tile> tile, int i, int j) {
- DCHECK(!TileAt(i, j));
- tile->move_to(i, j);
- tiles_.add(std::make_pair(i, j), tile.Pass());
-}
-
-scoped_ptr<LayerTilingData::Tile> LayerTilingData::TakeTile(int i, int j) {
- return tiles_.take_and_erase(std::make_pair(i, j));
-}
-
-LayerTilingData::Tile* LayerTilingData::TileAt(int i, int j) const {
- return tiles_.get(std::make_pair(i, j));
-}
-
-void LayerTilingData::ContentRectToTileIndices(gfx::Rect content_rect,
- int* left,
- int* top,
- int* right,
- int* bottom) const {
- // An empty rect doesn't result in an empty set of tiles, so don't pass an
- // empty rect.
- // FIXME: Possibly we should fill a vector of tiles instead,
- // since the normal use of this function is to enumerate some tiles.
- DCHECK(!content_rect.IsEmpty());
-
- *left = tiling_data_.TileXIndexFromSrcCoord(content_rect.x());
- *top = tiling_data_.TileYIndexFromSrcCoord(content_rect.y());
- *right = tiling_data_.TileXIndexFromSrcCoord(content_rect.right() - 1);
- *bottom = tiling_data_.TileYIndexFromSrcCoord(content_rect.bottom() - 1);
-}
-
-gfx::Rect LayerTilingData::TileRect(const Tile* tile) const {
- gfx::Rect tile_rect = tiling_data_.TileBoundsWithBorder(tile->i(), tile->j());
- tile_rect.set_size(tile_size());
- return tile_rect;
-}
-
-Region LayerTilingData::OpaqueRegionInContentRect(
- gfx::Rect content_rect) const {
- if (content_rect.IsEmpty())
- return Region();
-
- Region opaque_region;
- int left, top, right, bottom;
- ContentRectToTileIndices(content_rect, &left, &top, &right, &bottom);
- for (int j = top; j <= bottom; ++j) {
- for (int i = left; i <= right; ++i) {
- Tile* tile = TileAt(i, j);
- if (!tile)
- continue;
-
- gfx::Rect tile_opaque_rect =
- gfx::IntersectRects(content_rect, tile->opaque_rect());
- opaque_region.Union(tile_opaque_rect);
- }
- }
- return opaque_region;
-}
-
-void LayerTilingData::SetBounds(gfx::Size size) {
- tiling_data_.SetTotalSize(size);
- if (size.IsEmpty()) {
- tiles_.clear();
- return;
- }
-
- // Any tiles completely outside our new bounds are invalid and should be
- // dropped.
- int left, top, right, bottom;
- ContentRectToTileIndices(
- gfx::Rect(gfx::Point(), size), &left, &top, &right, &bottom);
- std::vector<TileMapKey> invalid_tile_keys;
- for (TileMap::const_iterator it = tiles_.begin(); it != tiles_.end(); ++it) {
- if (it->first.first > right || it->first.second > bottom)
- invalid_tile_keys.push_back(it->first);
- }
- for (size_t i = 0; i < invalid_tile_keys.size(); ++i)
- tiles_.erase(invalid_tile_keys[i]);
-}
-
-} // namespace cc
« no previous file with comments | « cc/layer_tiling_data.h ('k') | cc/layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698