Home | History | Annotate | Download | only in layers
      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 
     10 namespace cc {
     11 
     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));
     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                                       bool animating_transform_to_screen,
     28                                       float* contents_scale_x,
     29                                       float* contents_scale_y,
     30                                       gfx::Size* content_bounds) OVERRIDE;
     31 
     32  protected:
     33   PictureImageLayerImpl(LayerTreeImpl* tree_impl, int id);
     34 
     35   virtual bool ShouldAdjustRasterScale(
     36       bool animating_transform_to_screen) const OVERRIDE;
     37   virtual void CalculateRasterContentsScale(
     38       bool animating_transform_to_screen,
     39       float* raster_contents_scale,
     40       float* low_res_raster_contents_scale) const 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