| OLD | NEW |
| 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 <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 const LayerImplList& render_surface_layer_list); | 57 const LayerImplList& render_surface_layer_list); |
| 58 | 58 |
| 59 static bool LayerHasTouchEventHandlersAt(gfx::PointF screen_space_point, | 59 static bool LayerHasTouchEventHandlersAt(gfx::PointF screen_space_point, |
| 60 LayerImpl* layer_impl); | 60 LayerImpl* layer_impl); |
| 61 | 61 |
| 62 template <typename LayerType> | 62 template <typename LayerType> |
| 63 static bool RenderSurfaceContributesToTarget(LayerType*, | 63 static bool RenderSurfaceContributesToTarget(LayerType*, |
| 64 int target_surface_layer_id); | 64 int target_surface_layer_id); |
| 65 | 65 |
| 66 template <class Function, typename LayerType> | 66 template <class Function, typename LayerType> |
| 67 static void CallFunctionForSubtree(LayerType* root_layer); | 67 static void CallFunctionForSubtree(Function function, LayerType* root_layer); |
| 68 | 68 |
| 69 // Returns a layer with the given id if one exists in the subtree starting | 69 // Returns a layer with the given id if one exists in the subtree starting |
| 70 // from the given root layer (including mask and replica layers). | 70 // from the given root layer (including mask and replica layers). |
| 71 template <typename LayerType> | 71 template <typename LayerType> |
| 72 static LayerType* FindLayerInSubtree(LayerType* root_layer, int layer_id); | 72 static LayerType* FindLayerInSubtree(LayerType* root_layer, int layer_id); |
| 73 | 73 |
| 74 static Layer* get_child_as_raw_ptr( | 74 static Layer* get_child_as_raw_ptr( |
| 75 const LayerList& children, | 75 const LayerList& children, |
| 76 size_t index) { | 76 size_t index) { |
| 77 return children[index].get(); | 77 return children[index].get(); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 return root_layer->replica_layer(); | 126 return root_layer->replica_layer(); |
| 127 | 127 |
| 128 for (size_t i = 0; i < root_layer->children().size(); ++i) { | 128 for (size_t i = 0; i < root_layer->children().size(); ++i) { |
| 129 if (LayerType* found = FindLayerInSubtree( | 129 if (LayerType* found = FindLayerInSubtree( |
| 130 get_child_as_raw_ptr(root_layer->children(), i), layer_id)) | 130 get_child_as_raw_ptr(root_layer->children(), i), layer_id)) |
| 131 return found; | 131 return found; |
| 132 } | 132 } |
| 133 return NULL; | 133 return NULL; |
| 134 } | 134 } |
| 135 | 135 |
| 136 template <class Function, typename LayerType> | 136 template <typename Function, typename LayerType> |
| 137 void LayerTreeHostCommon::CallFunctionForSubtree(LayerType* root_layer) { | 137 void LayerTreeHostCommon::CallFunctionForSubtree(Function function, |
| 138 Function()(root_layer); | 138 LayerType* root_layer) { |
| 139 function(root_layer); |
| 139 | 140 |
| 140 if (LayerType* mask_layer = root_layer->mask_layer()) | 141 if (LayerType* mask_layer = root_layer->mask_layer()) |
| 141 Function()(mask_layer); | 142 function(mask_layer); |
| 142 if (LayerType* replica_layer = root_layer->replica_layer()) { | 143 if (LayerType* replica_layer = root_layer->replica_layer()) { |
| 143 Function()(replica_layer); | 144 function(replica_layer); |
| 144 if (LayerType* mask_layer = replica_layer->mask_layer()) | 145 if (LayerType* mask_layer = replica_layer->mask_layer()) |
| 145 Function()(mask_layer); | 146 function(mask_layer); |
| 146 } | 147 } |
| 147 | 148 |
| 148 for (size_t i = 0; i < root_layer->children().size(); ++i) { | 149 for (size_t i = 0; i < root_layer->children().size(); ++i) { |
| 149 CallFunctionForSubtree<Function>( | 150 CallFunctionForSubtree(function, |
| 150 get_child_as_raw_ptr(root_layer->children(), i)); | 151 get_child_as_raw_ptr(root_layer->children(), i)); |
| 151 } | 152 } |
| 152 } | 153 } |
| 153 | 154 |
| 154 } // namespace cc | 155 } // namespace cc |
| 155 | 156 |
| 156 #endif // CC_TREES_LAYER_TREE_HOST_COMMON_H_ | 157 #endif // CC_TREES_LAYER_TREE_HOST_COMMON_H_ |
| OLD | NEW |