| OLD | NEW | 
|---|
| 1 // Copyright 2010 The Chromium Authors. All rights reserved. | 1 // Copyright 2010 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef CC_LAYERS_PICTURE_IMAGE_LAYER_H_ | 5 #ifndef CC_LAYERS_PICTURE_IMAGE_LAYER_H_ | 
| 6 #define CC_LAYERS_PICTURE_IMAGE_LAYER_H_ | 6 #define CC_LAYERS_PICTURE_IMAGE_LAYER_H_ | 
| 7 | 7 | 
| 8 #include <stddef.h> | 8 #include <stddef.h> | 
| 9 | 9 | 
| 10 #include "base/macros.h" | 10 #include "base/macros.h" | 
| 11 #include "cc/cc_export.h" | 11 #include "cc/cc_export.h" | 
| 12 #include "cc/layers/content_layer_client.h" | 12 #include "cc/layers/content_layer_client.h" | 
| 13 #include "cc/layers/picture_layer.h" | 13 #include "cc/layers/picture_layer.h" | 
|  | 14 #include "cc/paint/paint_image.h" | 
| 14 #include "third_party/skia/include/core/SkRefCnt.h" | 15 #include "third_party/skia/include/core/SkRefCnt.h" | 
| 15 #include "ui/gfx/geometry/size.h" | 16 #include "ui/gfx/geometry/size.h" | 
| 16 | 17 | 
| 17 class SkImage; |  | 
| 18 |  | 
| 19 namespace cc { | 18 namespace cc { | 
| 20 | 19 | 
| 21 class CC_EXPORT PictureImageLayer : public PictureLayer, ContentLayerClient { | 20 class CC_EXPORT PictureImageLayer : public PictureLayer, ContentLayerClient { | 
| 22  public: | 21  public: | 
| 23   static scoped_refptr<PictureImageLayer> Create(); | 22   static scoped_refptr<PictureImageLayer> Create(); | 
| 24 | 23 | 
| 25   void SetImage(sk_sp<const SkImage> image); | 24   void SetImage(PaintImage image); | 
| 26 | 25 | 
| 27   // Layer implementation. | 26   // Layer implementation. | 
| 28   std::unique_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; | 27   std::unique_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; | 
| 29 | 28 | 
| 30   gfx::Rect PaintableRegion() override; | 29   gfx::Rect PaintableRegion() override; | 
| 31 | 30 | 
| 32   // ContentLayerClient implementation. | 31   // ContentLayerClient implementation. | 
| 33   scoped_refptr<DisplayItemList> PaintContentsToDisplayList( | 32   scoped_refptr<DisplayItemList> PaintContentsToDisplayList( | 
| 34       ContentLayerClient::PaintingControlSetting painting_control) override; | 33       ContentLayerClient::PaintingControlSetting painting_control) override; | 
| 35   bool FillsBoundsCompletely() const override; | 34   bool FillsBoundsCompletely() const override; | 
| 36   size_t GetApproximateUnsharedMemoryUsage() const override; | 35   size_t GetApproximateUnsharedMemoryUsage() const override; | 
| 37 | 36 | 
| 38  protected: | 37  protected: | 
| 39   bool HasDrawableContent() const override; | 38   bool HasDrawableContent() const override; | 
| 40 | 39 | 
| 41  private: | 40  private: | 
| 42   PictureImageLayer(); | 41   PictureImageLayer(); | 
| 43   ~PictureImageLayer() override; | 42   ~PictureImageLayer() override; | 
| 44 | 43 | 
| 45   sk_sp<const SkImage> image_; | 44   PaintImage image_; | 
| 46 | 45 | 
| 47   DISALLOW_COPY_AND_ASSIGN(PictureImageLayer); | 46   DISALLOW_COPY_AND_ASSIGN(PictureImageLayer); | 
| 48 }; | 47 }; | 
| 49 | 48 | 
| 50 }  // namespace cc | 49 }  // namespace cc | 
| 51 | 50 | 
| 52 #endif  // CC_LAYERS_PICTURE_IMAGE_LAYER_H_ | 51 #endif  // CC_LAYERS_PICTURE_IMAGE_LAYER_H_ | 
| OLD | NEW | 
|---|