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_DELEGATED_RENDERER_LAYER_IMPL_H_
6#define CC_TEST_FAKE_DELEGATED_RENDERER_LAYER_IMPL_H_
7
8#include "cc/layers/delegated_renderer_layer_impl.h"
9
10namespace cc {
11
12class FakeDelegatedRendererLayerImpl : public DelegatedRendererLayerImpl {
13 public:
14  static scoped_ptr<FakeDelegatedRendererLayerImpl> Create(
15      LayerTreeImpl* tree_impl, int id) {
16    return make_scoped_ptr(new FakeDelegatedRendererLayerImpl(tree_impl, id));
17  }
18  virtual ~FakeDelegatedRendererLayerImpl();
19
20  virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl)
21      OVERRIDE;
22
23  int ChildId() const { return ChildIdForTesting(); }
24  const ScopedPtrVector<RenderPass>& RenderPassesInDrawOrder() const {
25    return RenderPassesInDrawOrderForTesting();
26  }
27  ResourceProvider::ResourceIdSet Resources() const;
28
29  void SetFrameDataForRenderPasses(float device_scale_factor,
30                                   ScopedPtrVector<RenderPass>* pass_list);
31
32 protected:
33  FakeDelegatedRendererLayerImpl(LayerTreeImpl* tree_impl, int id);
34};
35
36}  // namespace cc
37
38#endif  // CC_TEST_FAKE_DELEGATED_RENDERER_LAYER_IMPL_H_
39