| 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/trees/draw_property_utils.h" | 5 #include "cc/trees/draw_property_utils.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 // backface is not visible. | 442 // backface is not visible. |
| 443 if (TransformToScreenIsKnown(layer, backface_transform_id, tree) && | 443 if (TransformToScreenIsKnown(layer, backface_transform_id, tree) && |
| 444 !HasSingularTransform(backface_transform_id, tree) && | 444 !HasSingularTransform(backface_transform_id, tree) && |
| 445 IsLayerBackFaceVisible(layer, backface_transform_id, property_trees)) | 445 IsLayerBackFaceVisible(layer, backface_transform_id, property_trees)) |
| 446 return false; | 446 return false; |
| 447 } | 447 } |
| 448 | 448 |
| 449 return true; | 449 return true; |
| 450 } | 450 } |
| 451 | 451 |
| 452 static inline bool IsHidden(Layer* layer) { |
| 453 return layer->is_hidden(); |
| 454 } |
| 455 |
| 456 static inline bool IsHidden(LayerImpl* layer) { |
| 457 return false; |
| 458 } |
| 459 |
| 452 template <typename LayerType> | 460 template <typename LayerType> |
| 453 static inline bool LayerShouldBeSkippedInternal( | 461 static inline bool LayerShouldBeSkippedInternal( |
| 454 LayerType* layer, | 462 LayerType* layer, |
| 455 const TransformTree& transform_tree, | 463 const TransformTree& transform_tree, |
| 456 const EffectTree& effect_tree) { | 464 const EffectTree& effect_tree) { |
| 465 if (IsHidden(layer)) |
| 466 return true; |
| 457 const TransformNode* transform_node = | 467 const TransformNode* transform_node = |
| 458 transform_tree.Node(layer->transform_tree_index()); | 468 transform_tree.Node(layer->transform_tree_index()); |
| 459 const EffectNode* effect_node = effect_tree.Node(layer->effect_tree_index()); | 469 const EffectNode* effect_node = effect_tree.Node(layer->effect_tree_index()); |
| 460 | 470 |
| 461 if (effect_node->has_render_surface && effect_node->subtree_has_copy_request) | 471 if (effect_node->has_render_surface && effect_node->subtree_has_copy_request) |
| 462 return false; | 472 return false; |
| 463 // If the layer transform is not invertible, it should be skipped. | 473 // If the layer transform is not invertible, it should be skipped. |
| 464 // TODO(ajuma): Correctly process subtrees with singular transform for the | 474 // TODO(ajuma): Correctly process subtrees with singular transform for the |
| 465 // case where we may animate to a non-singular transform and wish to | 475 // case where we may animate to a non-singular transform and wish to |
| 466 // pre-raster. | 476 // pre-raster. |
| (...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1087 void UpdateElasticOverscroll(PropertyTrees* property_trees, | 1097 void UpdateElasticOverscroll(PropertyTrees* property_trees, |
| 1088 const Layer* overscroll_elasticity_layer, | 1098 const Layer* overscroll_elasticity_layer, |
| 1089 const gfx::Vector2dF& elastic_overscroll) { | 1099 const gfx::Vector2dF& elastic_overscroll) { |
| 1090 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, | 1100 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, |
| 1091 elastic_overscroll); | 1101 elastic_overscroll); |
| 1092 } | 1102 } |
| 1093 | 1103 |
| 1094 } // namespace draw_property_utils | 1104 } // namespace draw_property_utils |
| 1095 | 1105 |
| 1096 } // namespace cc | 1106 } // namespace cc |
| OLD | NEW |