picture_image_layer_impl.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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  virtual const char* LayerTypeAsString() const OVERRIDE;
21  virtual scoped_ptr<LayerImpl> CreateLayerImpl(
22      LayerTreeImpl* tree_impl) OVERRIDE;
23
24 protected:
25  PictureImageLayerImpl(LayerTreeImpl* tree_impl, int id);
26
27  virtual void CalculateRasterContentsScale(
28      bool animating_transform_to_screen,
29      float* raster_contents_scale,
30      float* low_res_raster_contents_scale) OVERRIDE;
31  virtual void GetDebugBorderProperties(
32      SkColor* color, float* width) const OVERRIDE;
33
34  DISALLOW_COPY_AND_ASSIGN(PictureImageLayerImpl);
35};
36
37}
38
39#endif  // CC_LAYERS_PICTURE_IMAGE_LAYER_IMPL_H_
40