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); | 23 void SetSurfaceScale(float scale); |
24 void SetSurfaceSize(const gfx::Size& size); | 24 void SetSurfaceSize(const gfx::Size& size); |
25 SurfaceId surface_id() const { return surface_id_; } | |
26 | 25 |
27 // LayerImpl overrides. | 26 // LayerImpl overrides. |
28 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; | 27 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; |
29 void PushPropertiesTo(LayerImpl* layer) override; | 28 void PushPropertiesTo(LayerImpl* layer) override; |
30 void AppendQuads(RenderPass* render_pass, | 29 void AppendQuads(RenderPass* render_pass, |
31 AppendQuadsData* append_quads_data) override; | 30 AppendQuadsData* append_quads_data) override; |
32 | 31 |
33 protected: | 32 protected: |
34 SurfaceLayerImpl(LayerTreeImpl* tree_impl, int id); | 33 SurfaceLayerImpl(LayerTreeImpl* tree_impl, int id); |
35 | 34 |
36 private: | 35 private: |
37 void GetDebugBorderProperties(SkColor* color, float* width) const override; | 36 void GetDebugBorderProperties(SkColor* color, float* width) const override; |
38 void AppendRainbowDebugBorder(RenderPass* render_pass); | 37 void AppendRainbowDebugBorder(RenderPass* render_pass); |
39 void AsValueInto(base::trace_event::TracedValue* dict) const override; | 38 void AsValueInto(base::trace_event::TracedValue* dict) const override; |
40 const char* LayerTypeAsString() const override; | 39 const char* LayerTypeAsString() const override; |
41 | 40 |
42 SurfaceId surface_id_; | 41 SurfaceId surface_id_; |
43 gfx::Size surface_size_; | 42 gfx::Size surface_size_; |
44 float surface_scale_; | 43 float surface_scale_; |
45 | 44 |
46 DISALLOW_COPY_AND_ASSIGN(SurfaceLayerImpl); | 45 DISALLOW_COPY_AND_ASSIGN(SurfaceLayerImpl); |
47 }; | 46 }; |
48 | 47 |
49 } // namespace cc | 48 } // namespace cc |
50 | 49 |
51 #endif // CC_LAYERS_SURFACE_LAYER_IMPL_H_ | 50 #endif // CC_LAYERS_SURFACE_LAYER_IMPL_H_ |
OLD | NEW |