picture_image_layer_impl.h revision 6d86b77056ed63eb6871182f42a9fd5f07550f90
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_LAYERS_PICTURE_IMAGE_LAYER_IMPL_H_
6#define CC_LAYERS_PICTURE_IMAGE_LAYER_IMPL_H_
7
8#include "cc/layers/picture_layer_impl.h"
9
10namespace cc {
11
12class CC_EXPORT PictureImageLayerImpl : public PictureLayerImpl {
13 public:
14  static scoped_ptr<PictureImageLayerImpl> Create(LayerTreeImpl* tree_impl,
15                                                  int id) {
16    return make_scoped_ptr(new PictureImageLayerImpl(tree_impl, id));
17  }
18  virtual ~PictureImageLayerImpl();
19
20  // LayerImpl overrides.
21  virtual const char* LayerTypeAsString() const OVERRIDE;
22  virtual scoped_ptr<LayerImpl> CreateLayerImpl(
23      LayerTreeImpl* tree_impl) OVERRIDE;
24
25 protected:
26  PictureImageLayerImpl(LayerTreeImpl* tree_impl, int id);
27
28  virtual bool ShouldAdjustRasterScale() const OVERRIDE;
29  virtual void RecalculateRasterScales() OVERRIDE;
30  virtual void GetDebugBorderProperties(
31      SkColor* color, float* width) const OVERRIDE;
32
33  virtual void UpdateIdealScales() OVERRIDE;
34
35 private:
36  DISALLOW_COPY_AND_ASSIGN(PictureImageLayerImpl);
37};
38
39}  // namespace cc
40
41#endif  // CC_LAYERS_PICTURE_IMAGE_LAYER_IMPL_H_
42