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(PictureLayerTiling* tiling, |
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 size_t GetMaxTilesForInterestArea() const override; | |
29 float GetSkewportTargetTimeInSeconds() const override; | |
30 int GetSkewportExtrapolationLimitInContentPixels() const override; | |
31 bool RequiresHighResToDraw() const override; | |
32 | 28 |
33 void SetTileSize(const gfx::Size& tile_size); | 29 void SetTileSize(const gfx::Size& tile_size); |
34 gfx::Size TileSize() const { return tile_size_; } | 30 gfx::Size TileSize() const { return tile_size_; } |
35 | 31 |
36 const Region* GetPendingInvalidation() override; | 32 const Region* GetPendingInvalidation() override; |
37 const PictureLayerTiling* GetPendingOrActiveTwinTiling( | 33 const PictureLayerTiling* GetPendingOrActiveTwinTiling( |
38 const PictureLayerTiling* tiling) const override; | 34 const PictureLayerTiling* tiling) const override; |
39 PictureLayerTiling* GetRecycledTwinTiling( | 35 PictureLayerTiling* GetRecycledTwinTiling( |
40 const PictureLayerTiling* tiling) override; | 36 const PictureLayerTiling* tiling) override; |
| 37 bool RequiresHighResToDraw() const override; |
41 WhichTree GetTree() const override; | 38 WhichTree GetTree() const override; |
42 | 39 |
43 void set_twin_tiling(PictureLayerTiling* tiling) { twin_tiling_ = tiling; } | 40 void set_twin_tiling(PictureLayerTiling* tiling) { twin_tiling_ = tiling; } |
44 void set_recycled_twin_tiling(PictureLayerTiling* tiling) { | 41 void set_recycled_twin_tiling(PictureLayerTiling* tiling) { |
45 recycled_twin_tiling_ = tiling; | 42 recycled_twin_tiling_ = tiling; |
46 } | 43 } |
47 void set_text_rect(const gfx::Rect& rect) { text_rect_ = rect; } | 44 void set_text_rect(const gfx::Rect& rect) { text_rect_ = rect; } |
48 void set_allow_create_tile(bool allow) { allow_create_tile_ = allow; } | 45 void set_allow_create_tile(bool allow) { allow_create_tile_ = allow; } |
49 void set_invalidation(const Region& region) { invalidation_ = region; } | 46 void set_invalidation(const Region& region) { invalidation_ = region; } |
50 void set_max_tile_priority_bin(TilePriority::PriorityBin bin) { | 47 void set_max_tile_priority_bin(TilePriority::PriorityBin bin) { |
51 max_tile_priority_bin_ = bin; | 48 max_tile_priority_bin_ = bin; |
52 } | 49 } |
53 void set_max_tiles_for_interest_area(size_t area) { | |
54 max_tiles_for_interest_area_ = area; | |
55 } | |
56 void set_skewport_target_time_in_seconds(float time) { | |
57 skewport_target_time_in_seconds_ = time; | |
58 } | |
59 void set_skewport_extrapolation_limit_in_content_pixels(int limit) { | |
60 skewport_extrapolation_limit_in_content_pixels_ = limit; | |
61 } | |
62 void set_tree(WhichTree tree) { tree_ = tree; } | 50 void set_tree(WhichTree tree) { tree_ = tree; } |
63 RasterSource* raster_source() { return pile_.get(); } | 51 RasterSource* raster_source() { return pile_.get(); } |
64 | 52 |
65 TileManager* tile_manager() const { | 53 TileManager* tile_manager() const { |
66 return tile_manager_.get(); | 54 return tile_manager_.get(); |
67 } | 55 } |
68 | 56 |
69 protected: | 57 protected: |
70 FakeTileManagerClient tile_manager_client_; | 58 FakeTileManagerClient tile_manager_client_; |
71 scoped_ptr<ResourcePool> resource_pool_; | 59 scoped_ptr<ResourcePool> resource_pool_; |
72 scoped_ptr<TileManager> tile_manager_; | 60 scoped_ptr<TileManager> tile_manager_; |
73 scoped_refptr<PicturePileImpl> pile_; | 61 scoped_refptr<PicturePileImpl> pile_; |
74 gfx::Size tile_size_; | 62 gfx::Size tile_size_; |
75 PictureLayerTiling* twin_tiling_; | 63 PictureLayerTiling* twin_tiling_; |
76 PictureLayerTiling* recycled_twin_tiling_; | 64 PictureLayerTiling* recycled_twin_tiling_; |
77 gfx::Rect text_rect_; | 65 gfx::Rect text_rect_; |
78 bool allow_create_tile_; | 66 bool allow_create_tile_; |
79 Region invalidation_; | 67 Region invalidation_; |
80 TilePriority::PriorityBin max_tile_priority_bin_; | 68 TilePriority::PriorityBin max_tile_priority_bin_; |
81 size_t max_tiles_for_interest_area_; | |
82 float skewport_target_time_in_seconds_; | |
83 int skewport_extrapolation_limit_in_content_pixels_; | |
84 WhichTree tree_; | 69 WhichTree tree_; |
85 }; | 70 }; |
86 | 71 |
87 } // namespace cc | 72 } // namespace cc |
88 | 73 |
89 #endif // CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ | 74 #endif // CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ |
OLD | NEW |