Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / cc / test / fake_picture_layer_impl.h
1 // Copyright 2013 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_IMPL_H_
6 #define CC_TEST_FAKE_PICTURE_LAYER_IMPL_H_
7
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/layers/picture_layer_impl.h"
10
11 namespace cc {
12
13 class FakePictureLayerImpl : public PictureLayerImpl {
14  public:
15   static scoped_ptr<FakePictureLayerImpl> Create(
16       LayerTreeImpl* tree_impl, int id) {
17     return make_scoped_ptr(new FakePictureLayerImpl(tree_impl, id));
18   }
19
20   static scoped_ptr<FakePictureLayerImpl> CreateWithPile(
21       LayerTreeImpl* tree_impl, int id, scoped_refptr<PicturePileImpl> pile) {
22     return make_scoped_ptr(new FakePictureLayerImpl(tree_impl, id, pile));
23   }
24
25   virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl)
26       OVERRIDE;
27   virtual void AppendQuads(QuadSink* quad_sink,
28                            AppendQuadsData* append_quads_data) OVERRIDE;
29   virtual gfx::Size CalculateTileSize(
30       const gfx::Size& content_bounds) const OVERRIDE;
31
32   using PictureLayerImpl::AddTiling;
33   using PictureLayerImpl::CleanUpTilingsOnActiveLayer;
34   using PictureLayerImpl::CanHaveTilings;
35   using PictureLayerImpl::MarkVisibleResourcesAsRequired;
36   using PictureLayerImpl::DoPostCommitInitializationIfNeeded;
37   using PictureLayerImpl::MinimumContentsScale;
38
39   bool needs_post_commit_initialization() const {
40     return needs_post_commit_initialization_;
41   }
42
43   bool is_using_lcd_text() const { return is_using_lcd_text_; }
44   void force_set_lcd_text(bool enabled) { is_using_lcd_text_ = enabled; }
45
46   PictureLayerTiling* HighResTiling() const;
47   PictureLayerTiling* LowResTiling() const;
48   size_t num_tilings() const { return tilings_->num_tilings(); }
49
50   PictureLayerImpl* twin_layer() { return twin_layer_; }
51   PictureLayerTilingSet* tilings() { return tilings_.get(); }
52   PicturePileImpl* pile() { return pile_.get(); }
53   size_t append_quads_count() { return append_quads_count_; }
54
55   const Region& invalidation() const { return invalidation_; }
56   void set_invalidation(const Region& region) { invalidation_ = region; }
57
58   void set_fixed_tile_size(const gfx::Size& size) { fixed_tile_size_ = size; }
59
60   void CreateDefaultTilingsAndTiles();
61   void SetAllTilesVisible();
62   void SetAllTilesReady();
63   void SetAllTilesReadyInTiling(PictureLayerTiling* tiling);
64
65  protected:
66   FakePictureLayerImpl(
67       LayerTreeImpl* tree_impl,
68       int id,
69       scoped_refptr<PicturePileImpl> pile);
70   FakePictureLayerImpl(LayerTreeImpl* tree_impl, int id);
71
72  private:
73   gfx::Size fixed_tile_size_;
74
75   size_t append_quads_count_;
76 };
77
78 }  // namespace cc
79
80 #endif  // CC_TEST_FAKE_PICTURE_LAYER_IMPL_H_