Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Side by Side Diff: cc/layer_iterator.cc

Issue 11189043: cc: Rename cc classes and members to match filenames (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "config.h" 5 #include "config.h"
6 6
7 #include "CCLayerIterator.h" 7 #include "CCLayerIterator.h"
8 8
9 #include "CCLayerImpl.h" 9 #include "CCLayerImpl.h"
10 #include "CCRenderSurface.h" 10 #include "CCRenderSurface.h"
11 #include "cc/layer.h" 11 #include "cc/layer.h"
12 #include "cc/render_surface.h" 12 #include "cc/render_surface.h"
13 13
14 namespace cc { 14 namespace cc {
15 15
16 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType> 16 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType>
17 void CCLayerIteratorActions::BackToFront::begin(CCLayerIterator<LayerType, Layer List, RenderSurfaceType, ActionType>& it) 17 void LayerIteratorActions::BackToFront::begin(LayerIterator<LayerType, LayerList , RenderSurfaceType, ActionType>& it)
18 { 18 {
19 it.m_targetRenderSurfaceLayerIndex = 0; 19 it.m_targetRenderSurfaceLayerIndex = 0;
20 it.m_currentLayerIndex = CCLayerIteratorValue::LayerIndexRepresentingTargetR enderSurface; 20 it.m_currentLayerIndex = LayerIteratorValue::LayerIndexRepresentingTargetRen derSurface;
21 21
22 m_highestTargetRenderSurfaceLayer = 0; 22 m_highestTargetRenderSurfaceLayer = 0;
23 } 23 }
24 24
25 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType> 25 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType>
26 void CCLayerIteratorActions::BackToFront::end(CCLayerIterator<LayerType, LayerLi st, RenderSurfaceType, ActionType>& it) 26 void LayerIteratorActions::BackToFront::end(LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>& it)
27 { 27 {
28 it.m_targetRenderSurfaceLayerIndex = CCLayerIteratorValue::InvalidTargetRend erSurfaceLayerIndex; 28 it.m_targetRenderSurfaceLayerIndex = LayerIteratorValue::InvalidTargetRender SurfaceLayerIndex;
29 it.m_currentLayerIndex = 0; 29 it.m_currentLayerIndex = 0;
30 } 30 }
31 31
32 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType> 32 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType>
33 void CCLayerIteratorActions::BackToFront::next(CCLayerIterator<LayerType, LayerL ist, RenderSurfaceType, ActionType>& it) 33 void LayerIteratorActions::BackToFront::next(LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>& it)
34 { 34 {
35 // If the current layer has a RS, move to its layer list. Otherwise, visit t he next layer in the current RS layer list. 35 // If the current layer has a RS, move to its layer list. Otherwise, visit t he next layer in the current RS layer list.
36 if (it.currentLayerRepresentsContributingRenderSurface()) { 36 if (it.currentLayerRepresentsContributingRenderSurface()) {
37 // Save our position in the childLayer list for the RenderSurface, then jump to the next RenderSurface. Save where we 37 // Save our position in the childLayer list for the RenderSurfaceImpl, t hen jump to the next RenderSurfaceImpl. Save where we
38 // came from in the next RenderSurface so we can get back to it. 38 // came from in the next RenderSurfaceImpl so we can get back to it.
39 it.targetRenderSurface()->m_currentLayerIndexHistory = it.m_currentLayer Index; 39 it.targetRenderSurface()->m_currentLayerIndexHistory = it.m_currentLayer Index;
40 int previousTargetRenderSurfaceLayer = it.m_targetRenderSurfaceLayerInde x; 40 int previousTargetRenderSurfaceLayer = it.m_targetRenderSurfaceLayerInde x;
41 41
42 it.m_targetRenderSurfaceLayerIndex = ++m_highestTargetRenderSurfaceLayer ; 42 it.m_targetRenderSurfaceLayerIndex = ++m_highestTargetRenderSurfaceLayer ;
43 it.m_currentLayerIndex = CCLayerIteratorValue::LayerIndexRepresentingTar getRenderSurface; 43 it.m_currentLayerIndex = LayerIteratorValue::LayerIndexRepresentingTarge tRenderSurface;
44 44
45 it.targetRenderSurface()->m_targetRenderSurfaceLayerIndexHistory = previ ousTargetRenderSurfaceLayer; 45 it.targetRenderSurface()->m_targetRenderSurfaceLayerIndexHistory = previ ousTargetRenderSurfaceLayer;
46 } else { 46 } else {
47 ++it.m_currentLayerIndex; 47 ++it.m_currentLayerIndex;
48 48
49 int targetRenderSurfaceNumChildren = it.targetRenderSurfaceChildren().si ze(); 49 int targetRenderSurfaceNumChildren = it.targetRenderSurfaceChildren().si ze();
50 while (it.m_currentLayerIndex == targetRenderSurfaceNumChildren) { 50 while (it.m_currentLayerIndex == targetRenderSurfaceNumChildren) {
51 // Jump back to the previous RenderSurface, and get back the positio n where we were in that list, and move to the next position there. 51 // Jump back to the previous RenderSurfaceImpl, and get back the pos ition where we were in that list, and move to the next position there.
52 if (!it.m_targetRenderSurfaceLayerIndex) { 52 if (!it.m_targetRenderSurfaceLayerIndex) {
53 // End of the list 53 // End of the list
54 it.m_targetRenderSurfaceLayerIndex = CCLayerIteratorValue::Inval idTargetRenderSurfaceLayerIndex; 54 it.m_targetRenderSurfaceLayerIndex = LayerIteratorValue::Invalid TargetRenderSurfaceLayerIndex;
55 it.m_currentLayerIndex = 0; 55 it.m_currentLayerIndex = 0;
56 return; 56 return;
57 } 57 }
58 it.m_targetRenderSurfaceLayerIndex = it.targetRenderSurface()->m_tar getRenderSurfaceLayerIndexHistory; 58 it.m_targetRenderSurfaceLayerIndex = it.targetRenderSurface()->m_tar getRenderSurfaceLayerIndexHistory;
59 it.m_currentLayerIndex = it.targetRenderSurface()->m_currentLayerInd exHistory + 1; 59 it.m_currentLayerIndex = it.targetRenderSurface()->m_currentLayerInd exHistory + 1;
60 60
61 targetRenderSurfaceNumChildren = it.targetRenderSurfaceChildren().si ze(); 61 targetRenderSurfaceNumChildren = it.targetRenderSurfaceChildren().si ze();
62 } 62 }
63 } 63 }
64 } 64 }
65 65
66 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType> 66 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType>
67 void CCLayerIteratorActions::FrontToBack::begin(CCLayerIterator<LayerType, Layer List, RenderSurfaceType, ActionType>& it) 67 void LayerIteratorActions::FrontToBack::begin(LayerIterator<LayerType, LayerList , RenderSurfaceType, ActionType>& it)
68 { 68 {
69 it.m_targetRenderSurfaceLayerIndex = 0; 69 it.m_targetRenderSurfaceLayerIndex = 0;
70 it.m_currentLayerIndex = it.targetRenderSurfaceChildren().size() - 1; 70 it.m_currentLayerIndex = it.targetRenderSurfaceChildren().size() - 1;
71 goToHighestInSubtree(it); 71 goToHighestInSubtree(it);
72 } 72 }
73 73
74 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType> 74 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType>
75 void CCLayerIteratorActions::FrontToBack::end(CCLayerIterator<LayerType, LayerLi st, RenderSurfaceType, ActionType>& it) 75 void LayerIteratorActions::FrontToBack::end(LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>& it)
76 { 76 {
77 it.m_targetRenderSurfaceLayerIndex = CCLayerIteratorValue::InvalidTargetRend erSurfaceLayerIndex; 77 it.m_targetRenderSurfaceLayerIndex = LayerIteratorValue::InvalidTargetRender SurfaceLayerIndex;
78 it.m_currentLayerIndex = 0; 78 it.m_currentLayerIndex = 0;
79 } 79 }
80 80
81 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType> 81 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType>
82 void CCLayerIteratorActions::FrontToBack::next(CCLayerIterator<LayerType, LayerL ist, RenderSurfaceType, ActionType>& it) 82 void LayerIteratorActions::FrontToBack::next(LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>& it)
83 { 83 {
84 // Moves to the previous layer in the current RS layer list. Then we check i f the 84 // Moves to the previous layer in the current RS layer list. Then we check i f the
85 // new current layer has its own RS, in which case there are things in that RS layer list that are higher, so 85 // new current layer has its own RS, in which case there are things in that RS layer list that are higher, so
86 // we find the highest layer in that subtree. 86 // we find the highest layer in that subtree.
87 // If we move back past the front of the list, we jump up to the previous RS layer list, picking up again where we 87 // If we move back past the front of the list, we jump up to the previous RS layer list, picking up again where we
88 // had previously recursed into the current RS layer list. 88 // had previously recursed into the current RS layer list.
89 89
90 if (!it.currentLayerRepresentsTargetRenderSurface()) { 90 if (!it.currentLayerRepresentsTargetRenderSurface()) {
91 // Subtracting one here will eventually cause the current layer to becom e that layer 91 // Subtracting one here will eventually cause the current layer to becom e that layer
92 // representing the target render surface. 92 // representing the target render surface.
93 --it.m_currentLayerIndex; 93 --it.m_currentLayerIndex;
94 goToHighestInSubtree(it); 94 goToHighestInSubtree(it);
95 } else { 95 } else {
96 while (it.currentLayerRepresentsTargetRenderSurface()) { 96 while (it.currentLayerRepresentsTargetRenderSurface()) {
97 if (!it.m_targetRenderSurfaceLayerIndex) { 97 if (!it.m_targetRenderSurfaceLayerIndex) {
98 // End of the list 98 // End of the list
99 it.m_targetRenderSurfaceLayerIndex = CCLayerIteratorValue::Inval idTargetRenderSurfaceLayerIndex; 99 it.m_targetRenderSurfaceLayerIndex = LayerIteratorValue::Invalid TargetRenderSurfaceLayerIndex;
100 it.m_currentLayerIndex = 0; 100 it.m_currentLayerIndex = 0;
101 return; 101 return;
102 } 102 }
103 it.m_targetRenderSurfaceLayerIndex = it.targetRenderSurface()->m_tar getRenderSurfaceLayerIndexHistory; 103 it.m_targetRenderSurfaceLayerIndex = it.targetRenderSurface()->m_tar getRenderSurfaceLayerIndexHistory;
104 it.m_currentLayerIndex = it.targetRenderSurface()->m_currentLayerInd exHistory; 104 it.m_currentLayerIndex = it.targetRenderSurface()->m_currentLayerInd exHistory;
105 } 105 }
106 } 106 }
107 } 107 }
108 108
109 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType> 109 template <typename LayerType, typename LayerList, typename RenderSurfaceType, ty pename ActionType>
110 void CCLayerIteratorActions::FrontToBack::goToHighestInSubtree(CCLayerIterator<L ayerType, LayerList, RenderSurfaceType, ActionType>& it) 110 void LayerIteratorActions::FrontToBack::goToHighestInSubtree(LayerIterator<Layer Type, LayerList, RenderSurfaceType, ActionType>& it)
111 { 111 {
112 if (it.currentLayerRepresentsTargetRenderSurface()) 112 if (it.currentLayerRepresentsTargetRenderSurface())
113 return; 113 return;
114 while (it.currentLayerRepresentsContributingRenderSurface()) { 114 while (it.currentLayerRepresentsContributingRenderSurface()) {
115 // Save where we were in the current target surface, move to the next on e, and save the target surface that we 115 // Save where we were in the current target surface, move to the next on e, and save the target surface that we
116 // came from there so we can go back to it. 116 // came from there so we can go back to it.
117 it.targetRenderSurface()->m_currentLayerIndexHistory = it.m_currentLayer Index; 117 it.targetRenderSurface()->m_currentLayerIndexHistory = it.m_currentLayer Index;
118 int previousTargetRenderSurfaceLayer = it.m_targetRenderSurfaceLayerInde x; 118 int previousTargetRenderSurfaceLayer = it.m_targetRenderSurfaceLayerInde x;
119 119
120 for (LayerType* layer = it.currentLayer(); it.targetRenderSurfaceLayer() != layer; ++it.m_targetRenderSurfaceLayerIndex) { } 120 for (LayerType* layer = it.currentLayer(); it.targetRenderSurfaceLayer() != layer; ++it.m_targetRenderSurfaceLayerIndex) { }
121 it.m_currentLayerIndex = it.targetRenderSurfaceChildren().size() - 1; 121 it.m_currentLayerIndex = it.targetRenderSurfaceChildren().size() - 1;
122 122
123 it.targetRenderSurface()->m_targetRenderSurfaceLayerIndexHistory = previ ousTargetRenderSurfaceLayer; 123 it.targetRenderSurface()->m_targetRenderSurfaceLayerIndexHistory = previ ousTargetRenderSurfaceLayer;
124 } 124 }
125 } 125 }
126 126
127 typedef std::vector<scoped_refptr<LayerChromium> > LayerChromiumList; 127 typedef std::vector<scoped_refptr<Layer> > LayerList;
128 typedef std::vector<CCLayerImpl*> CCLayerImplList; 128 typedef std::vector<LayerImpl*> LayerImplList;
129 129
130 // Declare each of the above functions for LayerChromium and CCLayerImpl classes so that they are linked. 130 // Declare each of the above functions for Layer and LayerImpl classes so that t hey are linked.
131 template void CCLayerIteratorActions::BackToFront::begin(CCLayerIterator<LayerCh romium, LayerChromiumList, RenderSurfaceChromium, BackToFront> &); 131 template void LayerIteratorActions::BackToFront::begin(LayerIterator<Layer, Laye rList, RenderSurface, BackToFront> &);
132 template void CCLayerIteratorActions::BackToFront::end(CCLayerIterator<LayerChro mium, LayerChromiumList, RenderSurfaceChromium, BackToFront>&); 132 template void LayerIteratorActions::BackToFront::end(LayerIterator<Layer, LayerL ist, RenderSurface, BackToFront>&);
133 template void CCLayerIteratorActions::BackToFront::next(CCLayerIterator<LayerChr omium, LayerChromiumList, RenderSurfaceChromium, BackToFront>&); 133 template void LayerIteratorActions::BackToFront::next(LayerIterator<Layer, Layer List, RenderSurface, BackToFront>&);
134 134
135 template void CCLayerIteratorActions::BackToFront::begin(CCLayerIterator<CCLayer Impl, CCLayerImplList, CCRenderSurface, BackToFront>&); 135 template void LayerIteratorActions::BackToFront::begin(LayerIterator<LayerImpl, LayerImplList, RenderSurfaceImpl, BackToFront>&);
136 template void CCLayerIteratorActions::BackToFront::end(CCLayerIterator<CCLayerIm pl, CCLayerImplList, CCRenderSurface, BackToFront>&); 136 template void LayerIteratorActions::BackToFront::end(LayerIterator<LayerImpl, La yerImplList, RenderSurfaceImpl, BackToFront>&);
137 template void CCLayerIteratorActions::BackToFront::next(CCLayerIterator<CCLayerI mpl, CCLayerImplList, CCRenderSurface, BackToFront>&); 137 template void LayerIteratorActions::BackToFront::next(LayerIterator<LayerImpl, L ayerImplList, RenderSurfaceImpl, BackToFront>&);
138 138
139 template void CCLayerIteratorActions::FrontToBack::next(CCLayerIterator<LayerChr omium, LayerChromiumList, RenderSurfaceChromium, FrontToBack>&); 139 template void LayerIteratorActions::FrontToBack::next(LayerIterator<Layer, Layer List, RenderSurface, FrontToBack>&);
140 template void CCLayerIteratorActions::FrontToBack::end(CCLayerIterator<LayerChro mium, LayerChromiumList, RenderSurfaceChromium, FrontToBack>&); 140 template void LayerIteratorActions::FrontToBack::end(LayerIterator<Layer, LayerL ist, RenderSurface, FrontToBack>&);
141 template void CCLayerIteratorActions::FrontToBack::begin(CCLayerIterator<LayerCh romium, LayerChromiumList, RenderSurfaceChromium, FrontToBack>&); 141 template void LayerIteratorActions::FrontToBack::begin(LayerIterator<Layer, Laye rList, RenderSurface, FrontToBack>&);
142 template void CCLayerIteratorActions::FrontToBack::goToHighestInSubtree(CCLayerI terator<LayerChromium, LayerChromiumList, RenderSurfaceChromium, FrontToBack>&); 142 template void LayerIteratorActions::FrontToBack::goToHighestInSubtree(LayerItera tor<Layer, LayerList, RenderSurface, FrontToBack>&);
143 143
144 template void CCLayerIteratorActions::FrontToBack::next(CCLayerIterator<CCLayerI mpl, CCLayerImplList, CCRenderSurface, FrontToBack>&); 144 template void LayerIteratorActions::FrontToBack::next(LayerIterator<LayerImpl, L ayerImplList, RenderSurfaceImpl, FrontToBack>&);
145 template void CCLayerIteratorActions::FrontToBack::end(CCLayerIterator<CCLayerIm pl, CCLayerImplList, CCRenderSurface, FrontToBack>&); 145 template void LayerIteratorActions::FrontToBack::end(LayerIterator<LayerImpl, La yerImplList, RenderSurfaceImpl, FrontToBack>&);
146 template void CCLayerIteratorActions::FrontToBack::begin(CCLayerIterator<CCLayer Impl, CCLayerImplList, CCRenderSurface, FrontToBack>&); 146 template void LayerIteratorActions::FrontToBack::begin(LayerIterator<LayerImpl, LayerImplList, RenderSurfaceImpl, FrontToBack>&);
147 template void CCLayerIteratorActions::FrontToBack::goToHighestInSubtree(CCLayerI terator<CCLayerImpl, CCLayerImplList, CCRenderSurface, FrontToBack>&); 147 template void LayerIteratorActions::FrontToBack::goToHighestInSubtree(LayerItera tor<LayerImpl, LayerImplList, RenderSurfaceImpl, FrontToBack>&);
148 148
149 } // namespace cc 149 } // namespace cc
OLDNEW
« cc/active_animation.h ('K') | « cc/layer_iterator.h ('k') | cc/layer_iterator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698