OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "cc/tile.h" | |
6 | |
7 #include "base/stringprintf.h" | |
8 #include "cc/tile_manager.h" | |
9 #include "third_party/khronos/GLES2/gl2.h" | |
10 | |
11 namespace cc { | |
12 | |
13 Tile::Tile(TileManager* tile_manager, | |
14 PicturePileImpl* picture_pile, | |
15 gfx::Size tile_size, | |
16 GLenum format, | |
17 gfx::Rect content_rect, | |
18 gfx::Rect opaque_rect, | |
19 float contents_scale, | |
20 int layer_id) | |
21 : tile_manager_(tile_manager), | |
22 tile_size_(tile_size), | |
23 format_(format), | |
24 content_rect_(content_rect), | |
25 contents_scale_(contents_scale), | |
26 opaque_rect_(opaque_rect), | |
27 layer_id_(layer_id) { | |
28 set_picture_pile(picture_pile); | |
29 tile_manager_->RegisterTile(this); | |
30 } | |
31 | |
32 Tile::~Tile() { | |
33 tile_manager_->UnregisterTile(this); | |
34 } | |
35 | |
36 scoped_ptr<base::Value> Tile::AsValue() const { | |
37 scoped_ptr<base::DictionaryValue> res(new base::DictionaryValue()); | |
38 res->SetString("id", base::StringPrintf("%p", this)); | |
39 res->SetString("picture_pile", base::StringPrintf("%p", | |
40 picture_pile_.get())); | |
41 res->SetDouble("contents_scale", contents_scale_); | |
42 res->Set("priority.0", priority_[ACTIVE_TREE].AsValue().release()); | |
43 res->Set("priority.1", priority_[PENDING_TREE].AsValue().release()); | |
44 res->Set("managed_state", managed_state_.AsValue().release()); | |
45 return res.PassAs<base::Value>(); | |
46 } | |
47 | |
48 void Tile::SetPriority(WhichTree tree, const TilePriority& priority) { | |
49 tile_manager_->WillModifyTilePriority(this, tree, priority); | |
50 priority_[tree] = priority; | |
51 } | |
52 | |
53 } // namespace cc | |
OLD | NEW |