OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/tile.h" | 5 #include "cc/tile.h" |
6 | 6 |
7 #include "cc/tile_manager.h" | 7 #include "cc/tile_manager.h" |
8 #include "third_party/khronos/GLES2/gl2.h" | 8 #include "third_party/khronos/GLES2/gl2.h" |
9 | 9 |
10 namespace cc { | 10 namespace cc { |
11 | 11 |
12 Tile::Tile(TileManager* tile_manager, | 12 Tile::Tile(TileManager* tile_manager, |
13 PicturePileImpl* picture_pile, | 13 PicturePileImpl* picture_pile, |
14 gfx::Size tile_size, | 14 gfx::Size tile_size, |
15 GLenum format, | 15 GLenum format, |
16 gfx::Rect rect_inside_picture, | 16 gfx::Rect content_rect, |
17 float contents_scale) | 17 float contents_scale) |
18 : tile_manager_(tile_manager), | 18 : tile_manager_(tile_manager), |
19 picture_pile_(picture_pile), | 19 picture_pile_(picture_pile), |
20 tile_size_(tile_size), | 20 tile_size_(tile_size), |
21 format_(format), | 21 format_(format), |
22 rect_inside_picture_(rect_inside_picture), | 22 content_rect_(content_rect), |
23 contents_scale_(contents_scale) { | 23 contents_scale_(contents_scale) { |
24 tile_manager_->RegisterTile(this); | 24 tile_manager_->RegisterTile(this); |
25 } | 25 } |
26 | 26 |
27 Tile::~Tile() { | 27 Tile::~Tile() { |
28 tile_manager_->UnregisterTile(this); | 28 tile_manager_->UnregisterTile(this); |
29 } | 29 } |
30 | 30 |
31 void Tile::set_priority(WhichTree tree, const TilePriority& priority) { | 31 void Tile::set_priority(WhichTree tree, const TilePriority& priority) { |
32 tile_manager_->WillModifyTilePriority(this, tree, priority); | 32 tile_manager_->WillModifyTilePriority(this, tree, priority); |
33 priority_[tree] = priority; | 33 priority_[tree] = priority; |
34 } | 34 } |
35 | 35 |
36 ResourceProvider::ResourceId Tile::GetResourceId() const { | 36 ResourceProvider::ResourceId Tile::GetResourceId() const { |
37 if (!managed_state_.resource) | 37 if (!managed_state_.resource) |
38 return 0; | 38 return 0; |
39 if (managed_state_.resource_is_being_initialized) | 39 if (managed_state_.resource_is_being_initialized) |
40 return 0; | 40 return 0; |
41 | 41 |
42 return managed_state_.resource->id(); | 42 return managed_state_.resource->id(); |
43 } | 43 } |
44 | 44 |
45 size_t Tile::bytes_consumed_if_allocated() const { | 45 size_t Tile::bytes_consumed_if_allocated() const { |
46 DCHECK(format_ == GL_RGBA); | 46 DCHECK(format_ == GL_RGBA); |
47 return 4 * tile_size_.width() * tile_size_.height(); | 47 return 4 * tile_size_.width() * tile_size_.height(); |
48 } | 48 } |
49 | 49 |
50 } // namespace cc | 50 } // namespace cc |
OLD | NEW |