OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_SURFACE_LAYER_IMPL_H_ | 5 #ifndef CC_LAYERS_SURFACE_LAYER_IMPL_H_ |
6 #define CC_LAYERS_SURFACE_LAYER_IMPL_H_ | 6 #define CC_LAYERS_SURFACE_LAYER_IMPL_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "cc/base/cc_export.h" | 9 #include "cc/base/cc_export.h" |
10 #include "cc/layers/layer_impl.h" | 10 #include "cc/layers/layer_impl.h" |
11 #include "cc/surfaces/surface_id.h" | 11 #include "cc/surfaces/surface_id.h" |
12 | 12 |
13 namespace cc { | 13 namespace cc { |
14 | 14 |
15 class CC_EXPORT SurfaceLayerImpl : public LayerImpl { | 15 class CC_EXPORT SurfaceLayerImpl : public LayerImpl { |
16 public: | 16 public: |
17 static scoped_ptr<SurfaceLayerImpl> Create(LayerTreeImpl* tree_impl, int id) { | 17 static scoped_ptr<SurfaceLayerImpl> Create(LayerTreeImpl* tree_impl, int id) { |
18 return make_scoped_ptr(new SurfaceLayerImpl(tree_impl, id)); | 18 return make_scoped_ptr(new SurfaceLayerImpl(tree_impl, id)); |
19 } | 19 } |
20 ~SurfaceLayerImpl() override; | 20 ~SurfaceLayerImpl() override; |
21 | 21 |
22 void SetSurfaceId(SurfaceId surface_id); | 22 void SetSurfaceId(SurfaceId surface_id); |
| 23 void SetSurfaceScale(float scale); |
| 24 void SetSurfaceSize(const gfx::Size& size); |
23 | 25 |
24 // LayerImpl overrides. | 26 // LayerImpl overrides. |
25 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; | 27 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; |
26 void PushPropertiesTo(LayerImpl* layer) override; | 28 void PushPropertiesTo(LayerImpl* layer) override; |
27 void AppendQuads(RenderPass* render_pass, | 29 void AppendQuads(RenderPass* render_pass, |
28 AppendQuadsData* append_quads_data) override; | 30 AppendQuadsData* append_quads_data) override; |
29 | 31 |
30 protected: | 32 protected: |
31 SurfaceLayerImpl(LayerTreeImpl* tree_impl, int id); | 33 SurfaceLayerImpl(LayerTreeImpl* tree_impl, int id); |
32 | 34 |
33 private: | 35 private: |
34 void GetDebugBorderProperties(SkColor* color, float* width) const override; | 36 void GetDebugBorderProperties(SkColor* color, float* width) const override; |
35 void AsValueInto(base::trace_event::TracedValue* dict) const override; | 37 void AsValueInto(base::trace_event::TracedValue* dict) const override; |
36 const char* LayerTypeAsString() const override; | 38 const char* LayerTypeAsString() const override; |
37 | 39 |
38 SurfaceId surface_id_; | 40 SurfaceId surface_id_; |
| 41 gfx::Size surface_size_; |
| 42 float surface_scale_; |
39 | 43 |
40 DISALLOW_COPY_AND_ASSIGN(SurfaceLayerImpl); | 44 DISALLOW_COPY_AND_ASSIGN(SurfaceLayerImpl); |
41 }; | 45 }; |
42 | 46 |
43 } // namespace cc | 47 } // namespace cc |
44 | 48 |
45 #endif // CC_LAYERS_SURFACE_LAYER_IMPL_H_ | 49 #endif // CC_LAYERS_SURFACE_LAYER_IMPL_H_ |
OLD | NEW |