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 #ifndef CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ | 5 #ifndef CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ |
6 #define CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ | 6 #define CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ |
7 | 7 |
8 #include "cc/resources/picture_layer_tiling.h" | 8 #include "cc/resources/picture_layer_tiling.h" |
9 #include "cc/resources/picture_pile_impl.h" | 9 #include "cc/resources/picture_pile_impl.h" |
10 #include "cc/resources/tile.h" | 10 #include "cc/resources/tile.h" |
11 #include "cc/resources/tile_manager.h" | 11 #include "cc/resources/tile_manager.h" |
12 #include "cc/test/fake_tile_manager_client.h" | 12 #include "cc/test/fake_tile_manager_client.h" |
13 #include "ui/gfx/geometry/rect.h" | 13 #include "ui/gfx/geometry/rect.h" |
14 | 14 |
15 namespace cc { | 15 namespace cc { |
16 | 16 |
17 class FakePictureLayerTilingClient : public PictureLayerTilingClient { | 17 class FakePictureLayerTilingClient : public PictureLayerTilingClient { |
18 public: | 18 public: |
19 FakePictureLayerTilingClient(); | 19 FakePictureLayerTilingClient(); |
20 explicit FakePictureLayerTilingClient(ResourceProvider* resource_provider); | 20 explicit FakePictureLayerTilingClient(ResourceProvider* resource_provider); |
21 ~FakePictureLayerTilingClient() override; | 21 ~FakePictureLayerTilingClient() override; |
22 | 22 |
23 // PictureLayerTilingClient implementation. | 23 // PictureLayerTilingClient implementation. |
24 scoped_refptr<Tile> CreateTile(PictureLayerTiling* tiling, | 24 scoped_refptr<Tile> CreateTile(float contents_scale, |
25 const gfx::Rect& rect) override; | 25 const gfx::Rect& rect) override; |
26 gfx::Size CalculateTileSize(const gfx::Size& content_bounds) const override; | 26 gfx::Size CalculateTileSize(const gfx::Size& content_bounds) const override; |
27 TilePriority::PriorityBin GetMaxTilePriorityBin() const override; | 27 TilePriority::PriorityBin GetMaxTilePriorityBin() const override; |
28 | 28 |
29 void SetTileSize(const gfx::Size& tile_size); | 29 void SetTileSize(const gfx::Size& tile_size); |
30 gfx::Size TileSize() const { return tile_size_; } | 30 gfx::Size TileSize() const { return tile_size_; } |
31 | 31 |
32 const Region* GetPendingInvalidation() override; | 32 const Region* GetPendingInvalidation() override; |
33 const PictureLayerTiling* GetPendingOrActiveTwinTiling( | 33 const PictureLayerTiling* GetPendingOrActiveTwinTiling( |
34 const PictureLayerTiling* tiling) const override; | 34 const PictureLayerTiling* tiling) const override; |
35 PictureLayerTiling* GetRecycledTwinTiling( | 35 PictureLayerTiling* GetRecycledTwinTiling( |
36 const PictureLayerTiling* tiling) override; | 36 const PictureLayerTiling* tiling) override; |
37 bool RequiresHighResToDraw() const override; | 37 bool RequiresHighResToDraw() const override; |
38 WhichTree GetTree() const override; | 38 WhichTree GetTree() const override; |
39 | 39 |
40 void set_twin_tiling_set(PictureLayerTilingSet* set) { | 40 void set_twin_tiling_set(PictureLayerTilingSet* set) { |
41 twin_set_ = set; | 41 twin_set_ = set; |
42 twin_tiling_ = nullptr; | 42 twin_tiling_ = nullptr; |
43 } | 43 } |
44 void set_twin_tiling(PictureLayerTiling* tiling) { | 44 void set_twin_tiling(PictureLayerTiling* tiling) { |
45 twin_tiling_ = tiling; | 45 twin_tiling_ = tiling; |
46 twin_set_ = nullptr; | 46 twin_set_ = nullptr; |
47 } | 47 } |
48 void set_recycled_twin_tiling(PictureLayerTiling* tiling) { | 48 void set_recycled_twin_tiling(PictureLayerTiling* tiling) { |
49 recycled_twin_tiling_ = tiling; | 49 recycled_twin_tiling_ = tiling; |
50 } | 50 } |
51 void set_text_rect(const gfx::Rect& rect) { text_rect_ = rect; } | 51 void set_text_rect(const gfx::Rect& rect) { text_rect_ = rect; } |
52 void set_allow_create_tile(bool allow) { allow_create_tile_ = allow; } | |
53 void set_invalidation(const Region& region) { invalidation_ = region; } | 52 void set_invalidation(const Region& region) { invalidation_ = region; } |
54 void set_max_tile_priority_bin(TilePriority::PriorityBin bin) { | 53 void set_max_tile_priority_bin(TilePriority::PriorityBin bin) { |
55 max_tile_priority_bin_ = bin; | 54 max_tile_priority_bin_ = bin; |
56 } | 55 } |
57 void set_tree(WhichTree tree) { tree_ = tree; } | 56 void set_tree(WhichTree tree) { tree_ = tree; } |
58 RasterSource* raster_source() { return pile_.get(); } | 57 RasterSource* raster_source() { return pile_.get(); } |
59 | 58 |
60 TileManager* tile_manager() const { | 59 TileManager* tile_manager() const { |
61 return tile_manager_.get(); | 60 return tile_manager_.get(); |
62 } | 61 } |
63 | 62 |
64 protected: | 63 protected: |
65 FakeTileManagerClient tile_manager_client_; | 64 FakeTileManagerClient tile_manager_client_; |
66 scoped_ptr<ResourcePool> resource_pool_; | 65 scoped_ptr<ResourcePool> resource_pool_; |
67 scoped_ptr<TileManager> tile_manager_; | 66 scoped_ptr<TileManager> tile_manager_; |
68 scoped_refptr<PicturePileImpl> pile_; | 67 scoped_refptr<PicturePileImpl> pile_; |
69 gfx::Size tile_size_; | 68 gfx::Size tile_size_; |
70 PictureLayerTilingSet* twin_set_; | 69 PictureLayerTilingSet* twin_set_; |
71 PictureLayerTiling* twin_tiling_; | 70 PictureLayerTiling* twin_tiling_; |
72 PictureLayerTiling* recycled_twin_tiling_; | 71 PictureLayerTiling* recycled_twin_tiling_; |
73 gfx::Rect text_rect_; | 72 gfx::Rect text_rect_; |
74 bool allow_create_tile_; | |
75 Region invalidation_; | 73 Region invalidation_; |
76 TilePriority::PriorityBin max_tile_priority_bin_; | 74 TilePriority::PriorityBin max_tile_priority_bin_; |
77 WhichTree tree_; | 75 WhichTree tree_; |
78 }; | 76 }; |
79 | 77 |
80 } // namespace cc | 78 } // namespace cc |
81 | 79 |
82 #endif // CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ | 80 #endif // CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ |
OLD | NEW |