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.
5 #ifndef CC_TEST_FAKE_PICTURE_LAYER_IMPL_H_
6 #define CC_TEST_FAKE_PICTURE_LAYER_IMPL_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/layers/picture_layer_impl.h"
13 class FakePictureLayerImpl
: public PictureLayerImpl
{
15 static scoped_ptr
<FakePictureLayerImpl
> Create(
16 LayerTreeImpl
* tree_impl
, int id
) {
17 return make_scoped_ptr(new FakePictureLayerImpl(tree_impl
, id
));
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
));
25 virtual scoped_ptr
<LayerImpl
> CreateLayerImpl(LayerTreeImpl
* tree_impl
)
27 virtual void AppendQuads(QuadSink
* quad_sink
,
28 AppendQuadsData
* append_quads_data
) OVERRIDE
;
29 virtual gfx::Size
CalculateTileSize(gfx::Size content_bounds
) const OVERRIDE
;
31 using PictureLayerImpl::AddTiling
;
32 using PictureLayerImpl::CleanUpTilingsOnActiveLayer
;
33 using PictureLayerImpl::CanHaveTilings
;
34 using PictureLayerImpl::MarkVisibleResourcesAsRequired
;
36 PictureLayerTiling
* HighResTiling() const;
37 PictureLayerTiling
* LowResTiling() const;
38 size_t num_tilings() const { return tilings_
->num_tilings(); }
40 PictureLayerImpl
* twin_layer() { return twin_layer_
; }
41 PictureLayerTilingSet
* tilings() { return tilings_
.get(); }
42 size_t append_quads_count() { return append_quads_count_
; }
44 const Region
& invalidation() const { return invalidation_
; }
45 void set_invalidation(const Region
& region
) { invalidation_
= region
; }
47 void set_fixed_tile_size(gfx::Size size
) { fixed_tile_size_
= size
; }
51 LayerTreeImpl
* tree_impl
,
53 scoped_refptr
<PicturePileImpl
> pile
);
54 FakePictureLayerImpl(LayerTreeImpl
* tree_impl
, int id
);
57 gfx::Size fixed_tile_size_
;
59 size_t append_quads_count_
;
64 #endif // CC_TEST_FAKE_PICTURE_LAYER_IMPL_H_