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 
     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