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

Side by Side Diff: cc/trees/layer_tree_host_common.h

Issue 988693005: Chromium roll (https://codereview.chromium.org/976353002) (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: fixed bad android build patch Created 5 years, 9 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
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_common.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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_TREES_LAYER_TREE_HOST_COMMON_H_ 5 #ifndef CC_TREES_LAYER_TREE_HOST_COMMON_H_
6 #define CC_TREES_LAYER_TREE_HOST_COMMON_H_ 6 #define CC_TREES_LAYER_TREE_HOST_COMMON_H_
7 7
8 #include <limits> 8 #include <limits>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 118
119 typedef CalcDrawPropsInputs<LayerImpl, LayerImplList> CalcDrawPropsImplInputs; 119 typedef CalcDrawPropsInputs<LayerImpl, LayerImplList> CalcDrawPropsImplInputs;
120 typedef CalcDrawPropsInputsForTesting<LayerImpl, LayerImplList> 120 typedef CalcDrawPropsInputsForTesting<LayerImpl, LayerImplList>
121 CalcDrawPropsImplInputsForTesting; 121 CalcDrawPropsImplInputsForTesting;
122 static void CalculateDrawProperties(CalcDrawPropsImplInputs* inputs); 122 static void CalculateDrawProperties(CalcDrawPropsImplInputs* inputs);
123 123
124 template <typename LayerType> 124 template <typename LayerType>
125 static bool RenderSurfaceContributesToTarget(LayerType*, 125 static bool RenderSurfaceContributesToTarget(LayerType*,
126 int target_surface_layer_id); 126 int target_surface_layer_id);
127 127
128 template <typename LayerType> 128 template <typename LayerType, typename Function>
129 static void CallFunctionForSubtree( 129 static void CallFunctionForSubtree(LayerType* layer,
130 LayerType* root_layer, 130 const Function& function);
131 const base::Callback<void(LayerType* layer)>& function);
132 131
133 // Returns a layer with the given id if one exists in the subtree starting 132 // Returns a layer with the given id if one exists in the subtree starting
134 // from the given root layer (including mask and replica layers). 133 // from the given root layer (including mask and replica layers).
135 template <typename LayerType> 134 template <typename LayerType>
136 static LayerType* FindLayerInSubtree(LayerType* root_layer, int layer_id); 135 static LayerType* FindLayerInSubtree(LayerType* root_layer, int layer_id);
137 136
138 static Layer* get_layer_as_raw_ptr(const LayerList& layers, size_t index) { 137 static Layer* get_layer_as_raw_ptr(const LayerList& layers, size_t index) {
139 return layers[index].get(); 138 return layers[index].get();
140 } 139 }
141 140
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 return root_layer->replica_layer(); 197 return root_layer->replica_layer();
199 198
200 for (size_t i = 0; i < root_layer->children().size(); ++i) { 199 for (size_t i = 0; i < root_layer->children().size(); ++i) {
201 if (LayerType* found = FindLayerInSubtree( 200 if (LayerType* found = FindLayerInSubtree(
202 get_layer_as_raw_ptr(root_layer->children(), i), layer_id)) 201 get_layer_as_raw_ptr(root_layer->children(), i), layer_id))
203 return found; 202 return found;
204 } 203 }
205 return NULL; 204 return NULL;
206 } 205 }
207 206
208 template <typename LayerType> 207 template <typename LayerType, typename Function>
209 void LayerTreeHostCommon::CallFunctionForSubtree( 208 void LayerTreeHostCommon::CallFunctionForSubtree(LayerType* layer,
210 LayerType* root_layer, 209 const Function& function) {
211 const base::Callback<void(LayerType* layer)>& function) { 210 function(layer);
212 function.Run(root_layer);
213 211
214 if (LayerType* mask_layer = root_layer->mask_layer()) 212 if (LayerType* mask_layer = layer->mask_layer())
215 function.Run(mask_layer); 213 function(mask_layer);
216 if (LayerType* replica_layer = root_layer->replica_layer()) { 214 if (LayerType* replica_layer = layer->replica_layer()) {
217 function.Run(replica_layer); 215 function(replica_layer);
218 if (LayerType* mask_layer = replica_layer->mask_layer()) 216 if (LayerType* mask_layer = replica_layer->mask_layer())
219 function.Run(mask_layer); 217 function(mask_layer);
220 } 218 }
221 219
222 for (size_t i = 0; i < root_layer->children().size(); ++i) { 220 for (size_t i = 0; i < layer->children().size(); ++i) {
223 CallFunctionForSubtree(get_layer_as_raw_ptr(root_layer->children(), i), 221 CallFunctionForSubtree(get_layer_as_raw_ptr(layer->children(), i),
224 function); 222 function);
225 } 223 }
226 } 224 }
227 225
228 template <typename LayerType, typename RenderSurfaceLayerListType> 226 template <typename LayerType, typename RenderSurfaceLayerListType>
229 LayerTreeHostCommon::CalcDrawPropsInputsForTesting<LayerType, 227 LayerTreeHostCommon::CalcDrawPropsInputsForTesting<LayerType,
230 RenderSurfaceLayerListType>:: 228 RenderSurfaceLayerListType>::
231 CalcDrawPropsInputsForTesting( 229 CalcDrawPropsInputsForTesting(
232 LayerType* root_layer, 230 LayerType* root_layer,
233 const gfx::Size& device_viewport_size, 231 const gfx::Size& device_viewport_size,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 true, 276 true,
279 render_surface_layer_list, 277 render_surface_layer_list,
280 0) { 278 0) {
281 DCHECK(root_layer); 279 DCHECK(root_layer);
282 DCHECK(render_surface_layer_list); 280 DCHECK(render_surface_layer_list);
283 } 281 }
284 282
285 } // namespace cc 283 } // namespace cc
286 284
287 #endif // CC_TREES_LAYER_TREE_HOST_COMMON_H_ 285 #endif // CC_TREES_LAYER_TREE_HOST_COMMON_H_
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_common.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698