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 #include "cc/layers/surface_layer.h" | 5 #include "cc/layers/surface_layer.h" |
6 | 6 |
7 #include "cc/layers/surface_layer_impl.h" | 7 #include "cc/layers/surface_layer_impl.h" |
8 | 8 |
9 namespace cc { | 9 namespace cc { |
10 | 10 |
11 scoped_refptr<SurfaceLayer> SurfaceLayer::Create() { | 11 scoped_refptr<SurfaceLayer> SurfaceLayer::Create() { |
12 return make_scoped_refptr(new SurfaceLayer); | 12 return make_scoped_refptr(new SurfaceLayer); |
13 } | 13 } |
14 | 14 |
15 SurfaceLayer::SurfaceLayer() : Layer(), surface_id_(0) {} | 15 SurfaceLayer::SurfaceLayer() : Layer() { |
| 16 } |
16 | 17 |
17 SurfaceLayer::~SurfaceLayer() {} | 18 SurfaceLayer::~SurfaceLayer() {} |
18 | 19 |
19 void SurfaceLayer::SetSurfaceId(int surface_id) { | 20 void SurfaceLayer::SetSurfaceId(SurfaceId surface_id) { |
20 surface_id_ = surface_id; | 21 surface_id_ = surface_id; |
21 SetNeedsPushProperties(); | 22 SetNeedsPushProperties(); |
22 } | 23 } |
23 | 24 |
24 scoped_ptr<LayerImpl> SurfaceLayer::CreateLayerImpl(LayerTreeImpl* tree_impl) { | 25 scoped_ptr<LayerImpl> SurfaceLayer::CreateLayerImpl(LayerTreeImpl* tree_impl) { |
25 return SurfaceLayerImpl::Create(tree_impl, id()).PassAs<LayerImpl>(); | 26 return SurfaceLayerImpl::Create(tree_impl, id()).PassAs<LayerImpl>(); |
26 } | 27 } |
27 | 28 |
28 bool SurfaceLayer::DrawsContent() const { | 29 bool SurfaceLayer::DrawsContent() const { |
29 return surface_id_ && Layer::DrawsContent(); | 30 return !surface_id_.is_null() && Layer::DrawsContent(); |
30 } | 31 } |
31 | 32 |
32 void SurfaceLayer::PushPropertiesTo(LayerImpl* layer) { | 33 void SurfaceLayer::PushPropertiesTo(LayerImpl* layer) { |
33 Layer::PushPropertiesTo(layer); | 34 Layer::PushPropertiesTo(layer); |
34 SurfaceLayerImpl* layer_impl = static_cast<SurfaceLayerImpl*>(layer); | 35 SurfaceLayerImpl* layer_impl = static_cast<SurfaceLayerImpl*>(layer); |
35 | 36 |
36 layer_impl->SetSurfaceId(surface_id_); | 37 layer_impl->SetSurfaceId(surface_id_); |
37 } | 38 } |
38 | 39 |
39 } // namespace cc | 40 } // namespace cc |
OLD | NEW |