• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "cc/layers/layer_lists.h"
6 
7 #include "cc/layers/layer.h"
8 
9 namespace cc {
10 
RenderSurfaceLayerList()11 RenderSurfaceLayerList::RenderSurfaceLayerList() {}
12 
~RenderSurfaceLayerList()13 RenderSurfaceLayerList::~RenderSurfaceLayerList() {
14   for (size_t i = 0; i < size(); ++i)
15     at(size() - 1 - i)->ClearRenderSurface();
16 }
17 
at(size_t i) const18 Layer* RenderSurfaceLayerList::at(size_t i) const {
19   return list_.at(i).get();
20 }
21 
pop_back()22 void RenderSurfaceLayerList::pop_back() {
23   list_.pop_back();
24 }
25 
push_back(const scoped_refptr<Layer> & layer)26 void RenderSurfaceLayerList::push_back(const scoped_refptr<Layer>& layer) {
27   list_.push_back(layer);
28 }
29 
back()30 Layer* RenderSurfaceLayerList::back() {
31   return list_.back().get();
32 }
33 
size() const34 size_t RenderSurfaceLayerList::size() const {
35   return list_.size();
36 }
37 
operator [](size_t i)38 scoped_refptr<Layer>& RenderSurfaceLayerList::operator[](size_t i) {
39   return list_[i];
40 }
operator [](size_t i) const41 const scoped_refptr<Layer>& RenderSurfaceLayerList::operator[](size_t i) const {
42   return list_[i];
43 }
44 
begin()45 LayerList::iterator RenderSurfaceLayerList::begin() {
46   return list_.begin();
47 }
48 
end()49 LayerList::iterator RenderSurfaceLayerList::end() {
50   return list_.end();
51 }
52 
begin() const53 LayerList::const_iterator RenderSurfaceLayerList::begin() const {
54   return list_.begin();
55 }
56 
end() const57 LayerList::const_iterator RenderSurfaceLayerList::end() const {
58   return list_.end();
59 }
60 
clear()61 void RenderSurfaceLayerList::clear() {
62   for (size_t i = 0; i < list_.size(); ++i)
63     DCHECK(!list_[i]->render_surface());
64   list_.clear();
65 }
66 
67 }  // namespace cc
68