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 |