Index: cc/tile.cc |
diff --git a/cc/tile.cc b/cc/tile.cc |
index 7c205e88010fd1b7a79087cf694e306e3a945b45..dcf2b6c0f79eb4c6b4023bfc7be8238ba41efaab 100644 |
--- a/cc/tile.cc |
+++ b/cc/tile.cc |
@@ -5,65 +5,35 @@ |
#include "cc/tile.h" |
#include "cc/tile_manager.h" |
+#include "third_party/khronos/GLES2/gl2.h" |
namespace cc { |
Tile::Tile(TileManager* tile_manager, |
+ PicturePile* picture_pile, |
gfx::Size tile_size, |
GLenum format, |
- gfx::Rect rect_inside_picture, |
- TileQuality quality) |
+ gfx::Rect rect_inside_picture) |
: tile_manager_(tile_manager), |
+ picture_pile_(picture_pile), |
tile_size_(tile_size), |
format_(format), |
- rect_inside_picture_(rect_inside_picture), |
- quality_(quality) { |
+ rect_inside_picture_(rect_inside_picture) { |
+ tile_manager_->RegisterTile(this); |
} |
Tile::~Tile() { |
- for (size_t i = 0; i < versions_.size(); i++) |
- tile_manager_->DidDeleteTileVersion(versions_[i]); |
- versions_.clear(); |
+ tile_manager_->UnregisterTile(this); |
} |
-void Tile::SetPicturePile(int frame_number, PicturePile* picture_pile) { |
- DCHECK(GetVersion(frame_number) == NULL); |
- TileVersion* version = new TileVersion(this, frame_number, picture_pile); |
- versions_.push_back(version); |
- tile_manager_->DidCreateTileVersion(version); |
+void Tile::set_priority(WhichTree tree, const TilePriority& priority) { |
+ tile_manager_->WillModifyTilePriority(this, tree, priority); |
+ priority_[tree] = priority; |
} |
-void Tile::ModifyPriority(int frame_number, const TilePriority& priority) { |
- TileVersion* version = GetVersion(frame_number); |
- DCHECK(version) << |
- "Tile must have a picture pile before its priority can be modified"; |
- tile_manager_->WillModifyTileVersionPriority(version, priority); |
- version->ModifyPriority(priority); |
-} |
- |
-ResourceProvider::ResourceId Tile::GetDrawableResourceId(int frame_number) { |
- TileVersion* version = GetVersion(frame_number); |
- if (!version) |
- return 0; |
- return version->resource_id(); |
-} |
- |
-void Tile::DeleteVersionOnRequestOfTileManager(int frame_number) { |
- for (size_t i = 0; i < versions_.size(); i++) { |
- if (versions_[i]->frame_number() == frame_number) { |
- versions_.erase(versions_.begin() + frame_number); |
- return; |
- } |
- } |
- DCHECK(false) << "Could not find version"; |
-} |
- |
-TileVersion* Tile::GetVersion(int frame_number) { |
- for (size_t i = 0; i < versions_.size(); i++) { |
- if (versions_[i]->frame_number() == frame_number) |
- return versions_[i]; |
- } |
- return NULL; |
+size_t Tile::bytes_consumed_if_allocated() const { |
+ DCHECK(format_ == GL_RGBA); |
+ return 4 * tile_size_.width() * tile_size_.height(); |
} |
} // namespace cc |