Chromium Code Reviews| 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/rect.h" | 13 #include "ui/gfx/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 virtual ~FakePictureLayerTilingClient(); | 21 virtual ~FakePictureLayerTilingClient(); |
| 22 | 22 |
| 23 // PictureLayerTilingClient implementation. | 23 // PictureLayerTilingClient implementation. |
| 24 virtual scoped_refptr<Tile> CreateTile( | 24 virtual scoped_refptr<Tile> CreateTile( |
| 25 PictureLayerTiling* tiling, gfx::Rect rect) OVERRIDE; | 25 PictureLayerTiling* tiling, gfx::Rect rect) OVERRIDE; |
| 26 virtual scoped_refptr<TileBundle> CreateTileBundle(int width, | |
| 27 int height, | |
| 28 int offset_x, | |
| 29 int offset_y) OVERRIDE; | |
| 26 virtual void UpdatePile(Tile* tile) OVERRIDE {} | 30 virtual void UpdatePile(Tile* tile) OVERRIDE {} |
| 27 virtual gfx::Size CalculateTileSize( | 31 virtual gfx::Size CalculateTileSize( |
| 28 gfx::Size content_bounds) const OVERRIDE; | 32 gfx::Size content_bounds) const OVERRIDE; |
| 29 | 33 |
| 30 void SetTileSize(gfx::Size tile_size); | 34 void SetTileSize(gfx::Size tile_size); |
| 31 gfx::Size TileSize() const { return tile_size_; } | 35 gfx::Size TileSize() const { return tile_size_; } |
| 32 scoped_refptr<PicturePileImpl> pile() { return pile_; } | 36 scoped_refptr<PicturePileImpl> pile() { return pile_; } |
| 33 const PicturePileImpl* pile() const { return pile_.get(); } | 37 const PicturePileImpl* pile() const { return pile_.get(); } |
| 34 | 38 |
| 35 virtual const Region* GetInvalidation() OVERRIDE; | 39 virtual const Region* GetInvalidation() OVERRIDE; |
| 36 virtual const PictureLayerTiling* GetTwinTiling( | 40 virtual const PictureLayerTiling* GetTwinTiling( |
| 37 const PictureLayerTiling* tiling) OVERRIDE; | 41 const PictureLayerTiling* tiling) OVERRIDE; |
| 42 virtual bool IsActive() const OVERRIDE { | |
| 43 return is_active_; | |
| 44 } | |
| 45 void MarkActive() { | |
| 46 is_active_ = true; | |
| 47 is_pending_ = false; | |
| 48 } | |
| 49 | |
| 50 virtual bool IsPending() const OVERRIDE { | |
| 51 return is_pending_; | |
| 52 } | |
| 53 void MarkPending() { | |
| 54 is_active_ = false; | |
| 55 is_pending_ = true; | |
| 56 } | |
| 38 | 57 |
| 39 void set_twin_tiling(PictureLayerTiling* tiling) { twin_tiling_ = tiling; } | 58 void set_twin_tiling(PictureLayerTiling* tiling) { twin_tiling_ = tiling; } |
| 40 void set_text_rect(gfx::Rect rect) { text_rect_ = rect; } | 59 void set_text_rect(gfx::Rect rect) { text_rect_ = rect; } |
| 41 void set_allow_create_tile(bool allow) { allow_create_tile_ = allow; } | 60 void set_allow_create_tile(bool allow) { allow_create_tile_ = allow; } |
| 42 void set_invalidation(const Region& region) { invalidation_ = region; } | 61 void set_invalidation(const Region& region) { invalidation_ = region; } |
| 43 | 62 |
| 44 TileManager* tile_manager() const { | 63 TileManager* tile_manager() const { |
| 45 return tile_manager_.get(); | 64 return set_tile_manager_ ? set_tile_manager_ : tile_manager_.get(); |
| 65 } | |
| 66 | |
| 67 void set_tile_manager(TileManager* tile_manager) { | |
| 68 set_tile_manager_ = tile_manager; | |
| 46 } | 69 } |
| 47 | 70 |
| 48 protected: | 71 protected: |
| 49 FakeTileManagerClient tile_manager_client_; | 72 FakeTileManagerClient tile_manager_client_; |
| 50 scoped_ptr<TileManager> tile_manager_; | 73 scoped_ptr<TileManager> tile_manager_; |
| 74 TileManager* set_tile_manager_; | |
|
enne (OOO)
2013/11/25 22:17:11
This is a little bit sketchy. Maybe it's wrong fo
vmpstr
2013/11/27 00:03:15
Fair enough. I think I'll make tile manager be a c
| |
| 51 scoped_refptr<PicturePileImpl> pile_; | 75 scoped_refptr<PicturePileImpl> pile_; |
| 52 gfx::Size tile_size_; | 76 gfx::Size tile_size_; |
| 53 PictureLayerTiling* twin_tiling_; | 77 PictureLayerTiling* twin_tiling_; |
| 54 gfx::Rect text_rect_; | 78 gfx::Rect text_rect_; |
| 55 bool allow_create_tile_; | 79 bool allow_create_tile_; |
| 56 Region invalidation_; | 80 Region invalidation_; |
| 81 bool is_active_; | |
| 82 bool is_pending_; | |
| 57 }; | 83 }; |
| 58 | 84 |
| 59 } // namespace cc | 85 } // namespace cc |
| 60 | 86 |
| 61 #endif // CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ | 87 #endif // CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_ |
| OLD | NEW |