picture_image_layer_impl.h revision c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c
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  virtual void CalculateContentsScale(float ideal_contents_scale,
25                                      float device_scale_factor,
26                                      float page_scale_factor,
27                                      float maximum_animation_contents_scale,
28                                      bool animating_transform_to_screen,
29                                      float* contents_scale_x,
30                                      float* contents_scale_y,
31                                      gfx::Size* content_bounds) OVERRIDE;
32
33 protected:
34  PictureImageLayerImpl(LayerTreeImpl* tree_impl, int id);
35
36  virtual bool ShouldAdjustRasterScale(
37      bool animating_transform_to_screen) const OVERRIDE;
38  virtual void RecalculateRasterScales(bool animating_transform_to_screen,
39                                       float maximum_animation_contents_scale)
40      OVERRIDE;
41  virtual void GetDebugBorderProperties(
42      SkColor* color, float* width) const OVERRIDE;
43
44 private:
45  DISALLOW_COPY_AND_ASSIGN(PictureImageLayerImpl);
46};
47
48}  // namespace cc
49
50#endif  // CC_LAYERS_PICTURE_IMAGE_LAYER_IMPL_H_
51