Separate projection mode from rest of touch HUD
[chromium-blink-merge.git] / cc / layers / picture_image_layer_impl.h
blob4a2db50f668b14d369b31786cfa12e66dc13b01e
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_LAYERS_PICTURE_IMAGE_LAYER_IMPL_H_
6 #define CC_LAYERS_PICTURE_IMAGE_LAYER_IMPL_H_
8 #include "cc/layers/picture_layer_impl.h"
10 namespace cc {
12 class 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));
18 virtual ~PictureImageLayerImpl();
20 virtual const char* LayerTypeAsString() const OVERRIDE;
21 virtual scoped_ptr<LayerImpl> CreateLayerImpl(
22 LayerTreeImpl* tree_impl) OVERRIDE;
24 protected:
25 PictureImageLayerImpl(LayerTreeImpl* tree_impl, int id);
27 virtual bool ShouldAdjustRasterScale(
28 bool animating_transform_to_screen) const OVERRIDE;
29 virtual void CalculateRasterContentsScale(
30 bool animating_transform_to_screen,
31 float* raster_contents_scale,
32 float* low_res_raster_contents_scale) const OVERRIDE;
33 virtual void GetDebugBorderProperties(
34 SkColor* color, float* width) const OVERRIDE;
36 DISALLOW_COPY_AND_ASSIGN(PictureImageLayerImpl);
39 } // namespace cc
41 #endif // CC_LAYERS_PICTURE_IMAGE_LAYER_IMPL_H_