Home | History | Annotate | Download | only in test
      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 #ifndef CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_
      6 #define CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_
      7 
      8 #include "cc/resources/picture_layer_tiling.h"
      9 #include "cc/resources/picture_pile_impl.h"
     10 #include "cc/resources/tile.h"
     11 #include "cc/resources/tile_manager.h"
     12 #include "cc/test/fake_tile_manager_client.h"
     13 #include "ui/gfx/rect.h"
     14 
     15 namespace cc {
     16 
     17 class FakePictureLayerTilingClient : public PictureLayerTilingClient {
     18  public:
     19   FakePictureLayerTilingClient();
     20   explicit FakePictureLayerTilingClient(ResourceProvider* resource_provider);
     21   virtual ~FakePictureLayerTilingClient();
     22 
     23   // PictureLayerTilingClient implementation.
     24   virtual scoped_refptr<Tile> CreateTile(
     25       PictureLayerTiling* tiling, gfx::Rect rect) OVERRIDE;
     26   virtual void UpdatePile(Tile* tile) OVERRIDE {}
     27   virtual gfx::Size CalculateTileSize(
     28       gfx::Size content_bounds) const OVERRIDE;
     29 
     30   void SetTileSize(gfx::Size tile_size);
     31   gfx::Size TileSize() const { return tile_size_; }
     32   scoped_refptr<PicturePileImpl> pile() { return pile_; }
     33   const PicturePileImpl* pile() const { return pile_.get(); }
     34 
     35   virtual const Region* GetInvalidation() OVERRIDE;
     36   virtual const PictureLayerTiling* GetTwinTiling(
     37       const PictureLayerTiling* tiling) const OVERRIDE;
     38 
     39   void set_twin_tiling(PictureLayerTiling* tiling) { twin_tiling_ = tiling; }
     40   void set_text_rect(gfx::Rect rect) { text_rect_ = rect; }
     41   void set_allow_create_tile(bool allow) { allow_create_tile_ = allow; }
     42   void set_invalidation(const Region& region) { invalidation_ = region; }
     43 
     44   TileManager* tile_manager() const {
     45     return tile_manager_.get();
     46   }
     47 
     48  protected:
     49   FakeTileManagerClient tile_manager_client_;
     50   scoped_ptr<TileManager> tile_manager_;
     51   scoped_refptr<PicturePileImpl> pile_;
     52   gfx::Size tile_size_;
     53   PictureLayerTiling* twin_tiling_;
     54   gfx::Rect text_rect_;
     55   bool allow_create_tile_;
     56   Region invalidation_;
     57 };
     58 
     59 }  // namespace cc
     60 
     61 #endif  // CC_TEST_FAKE_PICTURE_LAYER_TILING_CLIENT_H_
     62