OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_LAYER_IMPL_H_ | 5 #ifndef CC_LAYERS_PICTURE_LAYER_IMPL_H_ |
6 #define CC_LAYERS_PICTURE_LAYER_IMPL_H_ | 6 #define CC_LAYERS_PICTURE_LAYER_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
11 #include <string> | 11 #include <string> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/macros.h" | 14 #include "base/macros.h" |
| 15 #include "base/memory/ptr_util.h" |
15 #include "cc/base/cc_export.h" | 16 #include "cc/base/cc_export.h" |
16 #include "cc/layers/layer_impl.h" | 17 #include "cc/layers/layer_impl.h" |
17 #include "cc/tiles/picture_layer_tiling.h" | 18 #include "cc/tiles/picture_layer_tiling.h" |
18 #include "cc/tiles/picture_layer_tiling_set.h" | 19 #include "cc/tiles/picture_layer_tiling_set.h" |
19 #include "cc/tiles/tiling_set_eviction_queue.h" | 20 #include "cc/tiles/tiling_set_eviction_queue.h" |
20 | 21 |
21 namespace cc { | 22 namespace cc { |
22 | 23 |
23 struct AppendQuadsData; | 24 struct AppendQuadsData; |
24 class MicroBenchmarkImpl; | 25 class MicroBenchmarkImpl; |
25 class Tile; | 26 class Tile; |
26 | 27 |
27 class CC_EXPORT PictureLayerImpl | 28 class CC_EXPORT PictureLayerImpl |
28 : public LayerImpl, | 29 : public LayerImpl, |
29 NON_EXPORTED_BASE(public PictureLayerTilingClient) { | 30 NON_EXPORTED_BASE(public PictureLayerTilingClient) { |
30 public: | 31 public: |
31 static scoped_ptr<PictureLayerImpl> Create(LayerTreeImpl* tree_impl, | 32 static std::unique_ptr<PictureLayerImpl> Create(LayerTreeImpl* tree_impl, |
32 int id, | 33 int id, |
33 bool is_mask) { | 34 bool is_mask) { |
34 return make_scoped_ptr(new PictureLayerImpl(tree_impl, id, is_mask)); | 35 return base::WrapUnique(new PictureLayerImpl(tree_impl, id, is_mask)); |
35 } | 36 } |
36 ~PictureLayerImpl() override; | 37 ~PictureLayerImpl() override; |
37 | 38 |
38 bool is_mask() const { return is_mask_; } | 39 bool is_mask() const { return is_mask_; } |
39 | 40 |
40 // LayerImpl overrides. | 41 // LayerImpl overrides. |
41 const char* LayerTypeAsString() const override; | 42 const char* LayerTypeAsString() const override; |
42 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; | 43 std::unique_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; |
43 void PushPropertiesTo(LayerImpl* layer) override; | 44 void PushPropertiesTo(LayerImpl* layer) override; |
44 void AppendQuads(RenderPass* render_pass, | 45 void AppendQuads(RenderPass* render_pass, |
45 AppendQuadsData* append_quads_data) override; | 46 AppendQuadsData* append_quads_data) override; |
46 void NotifyTileStateChanged(const Tile* tile) override; | 47 void NotifyTileStateChanged(const Tile* tile) override; |
47 void DidBeginTracing() override; | 48 void DidBeginTracing() override; |
48 void ReleaseResources() override; | 49 void ReleaseResources() override; |
49 void RecreateResources() override; | 50 void RecreateResources() override; |
50 Region GetInvalidationRegionForDebugging() override; | 51 Region GetInvalidationRegionForDebugging() override; |
51 | 52 |
52 // PictureLayerTilingClient overrides. | 53 // PictureLayerTilingClient overrides. |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 void SanityCheckTilingState() const; | 114 void SanityCheckTilingState() const; |
114 bool ShouldAdjustRasterScaleDuringScaleAnimations() const; | 115 bool ShouldAdjustRasterScaleDuringScaleAnimations() const; |
115 | 116 |
116 void GetDebugBorderProperties(SkColor* color, float* width) const override; | 117 void GetDebugBorderProperties(SkColor* color, float* width) const override; |
117 void GetAllPrioritizedTilesForTracing( | 118 void GetAllPrioritizedTilesForTracing( |
118 std::vector<PrioritizedTile>* prioritized_tiles) const override; | 119 std::vector<PrioritizedTile>* prioritized_tiles) const override; |
119 void AsValueInto(base::trace_event::TracedValue* dict) const override; | 120 void AsValueInto(base::trace_event::TracedValue* dict) const override; |
120 | 121 |
121 virtual void UpdateIdealScales(); | 122 virtual void UpdateIdealScales(); |
122 float MaximumTilingContentsScale() const; | 123 float MaximumTilingContentsScale() const; |
123 scoped_ptr<PictureLayerTilingSet> CreatePictureLayerTilingSet(); | 124 std::unique_ptr<PictureLayerTilingSet> CreatePictureLayerTilingSet(); |
124 | 125 |
125 PictureLayerImpl* twin_layer_; | 126 PictureLayerImpl* twin_layer_; |
126 | 127 |
127 scoped_ptr<PictureLayerTilingSet> tilings_; | 128 std::unique_ptr<PictureLayerTilingSet> tilings_; |
128 scoped_refptr<RasterSource> raster_source_; | 129 scoped_refptr<RasterSource> raster_source_; |
129 Region invalidation_; | 130 Region invalidation_; |
130 | 131 |
131 float ideal_page_scale_; | 132 float ideal_page_scale_; |
132 float ideal_device_scale_; | 133 float ideal_device_scale_; |
133 float ideal_source_scale_; | 134 float ideal_source_scale_; |
134 float ideal_contents_scale_; | 135 float ideal_contents_scale_; |
135 | 136 |
136 float raster_page_scale_; | 137 float raster_page_scale_; |
137 float raster_device_scale_; | 138 float raster_device_scale_; |
(...skipping 19 matching lines...) Expand all Loading... |
157 // of comparing pointers, since objects pointed to are not guaranteed to | 158 // of comparing pointers, since objects pointed to are not guaranteed to |
158 // exist. | 159 // exist. |
159 std::vector<PictureLayerTiling*> last_append_quads_tilings_; | 160 std::vector<PictureLayerTiling*> last_append_quads_tilings_; |
160 | 161 |
161 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl); | 162 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl); |
162 }; | 163 }; |
163 | 164 |
164 } // namespace cc | 165 } // namespace cc |
165 | 166 |
166 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_ | 167 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_ |
OLD | NEW |