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/property_tree_builder.h" | 5 #include "cc/trees/property_tree_builder.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
608 | 608 |
609 return true; | 609 return true; |
610 } | 610 } |
611 | 611 |
612 static inline bool HasPotentialOpacityAnimation(Layer* layer) { | 612 static inline bool HasPotentialOpacityAnimation(Layer* layer) { |
613 return layer->HasPotentiallyRunningOpacityAnimation() || | 613 return layer->HasPotentiallyRunningOpacityAnimation() || |
614 layer->OpacityCanAnimateOnImplThread(); | 614 layer->OpacityCanAnimateOnImplThread(); |
615 } | 615 } |
616 | 616 |
617 static inline bool HasPotentialOpacityAnimation(LayerImpl* layer) { | 617 static inline bool HasPotentialOpacityAnimation(LayerImpl* layer) { |
618 return layer->HasPotentiallyRunningOpacityAnimation(); | 618 return layer->HasPotentiallyRunningOpacityAnimation() || |
| 619 layer->test_properties()->opacity_can_animate; |
619 } | 620 } |
620 | 621 |
621 static inline bool DoubleSided(Layer* layer) { | 622 static inline bool DoubleSided(Layer* layer) { |
622 return layer->double_sided(); | 623 return layer->double_sided(); |
623 } | 624 } |
624 | 625 |
625 static inline bool DoubleSided(LayerImpl* layer) { | 626 static inline bool DoubleSided(LayerImpl* layer) { |
626 return layer->test_properties()->double_sided; | 627 return layer->test_properties()->double_sided; |
627 } | 628 } |
628 | 629 |
(...skipping 26 matching lines...) Expand all Loading... |
655 | 656 |
656 static inline int NumDescendantsThatDrawContent(LayerImpl* layer) { | 657 static inline int NumDescendantsThatDrawContent(LayerImpl* layer) { |
657 return layer->test_properties()->num_descendants_that_draw_content; | 658 return layer->test_properties()->num_descendants_that_draw_content; |
658 } | 659 } |
659 | 660 |
660 static inline float EffectiveOpacity(Layer* layer) { | 661 static inline float EffectiveOpacity(Layer* layer) { |
661 return layer->EffectiveOpacity(); | 662 return layer->EffectiveOpacity(); |
662 } | 663 } |
663 | 664 |
664 static inline float EffectiveOpacity(LayerImpl* layer) { | 665 static inline float EffectiveOpacity(LayerImpl* layer) { |
665 return layer->test_properties()->hide_layer_and_subtree ? 0.f | 666 return layer->test_properties()->hide_layer_and_subtree |
666 : layer->opacity(); | 667 ? 0.f |
| 668 : layer->test_properties()->opacity; |
| 669 } |
| 670 |
| 671 static inline float Opacity(Layer* layer) { |
| 672 return layer->opacity(); |
| 673 } |
| 674 |
| 675 static inline float Opacity(LayerImpl* layer) { |
| 676 return layer->test_properties()->opacity; |
667 } | 677 } |
668 | 678 |
669 static inline bool HideLayerAndSubtree(Layer* layer) { | 679 static inline bool HideLayerAndSubtree(Layer* layer) { |
670 return layer->hide_layer_and_subtree(); | 680 return layer->hide_layer_and_subtree(); |
671 } | 681 } |
672 | 682 |
673 static inline bool HideLayerAndSubtree(LayerImpl* layer) { | 683 static inline bool HideLayerAndSubtree(LayerImpl* layer) { |
674 return layer->test_properties()->hide_layer_and_subtree; | 684 return layer->test_properties()->hide_layer_and_subtree; |
675 } | 685 } |
676 | 686 |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
839 return false; | 849 return false; |
840 } | 850 } |
841 | 851 |
842 EffectNode node; | 852 EffectNode node; |
843 node.owner_id = layer->id(); | 853 node.owner_id = layer->id(); |
844 if (AlwaysUseActiveTreeOpacity(layer)) { | 854 if (AlwaysUseActiveTreeOpacity(layer)) { |
845 data_for_children->property_trees->always_use_active_tree_opacity_effect_ids | 855 data_for_children->property_trees->always_use_active_tree_opacity_effect_ids |
846 .push_back(node.owner_id); | 856 .push_back(node.owner_id); |
847 } | 857 } |
848 | 858 |
849 node.data.opacity = layer->opacity(); | 859 node.data.opacity = Opacity(layer); |
850 node.data.has_render_surface = should_create_render_surface; | 860 node.data.has_render_surface = should_create_render_surface; |
851 node.data.has_copy_request = HasCopyRequest(layer); | 861 node.data.has_copy_request = HasCopyRequest(layer); |
852 node.data.has_background_filters = !layer->background_filters().IsEmpty(); | 862 node.data.has_background_filters = !layer->background_filters().IsEmpty(); |
853 node.data.has_potential_opacity_animation = has_potential_opacity_animation; | 863 node.data.has_potential_opacity_animation = has_potential_opacity_animation; |
854 node.data.double_sided = DoubleSided(layer); | 864 node.data.double_sided = DoubleSided(layer); |
855 node.data.subtree_hidden = HideLayerAndSubtree(layer); | 865 node.data.subtree_hidden = HideLayerAndSubtree(layer); |
856 node.data.is_currently_animating_opacity = layer->OpacityIsAnimating(); | 866 node.data.is_currently_animating_opacity = layer->OpacityIsAnimating(); |
857 | 867 |
858 if (!is_root) { | 868 if (!is_root) { |
859 // The effect node's transform id is used only when we create a render | 869 // The effect node's transform id is used only when we create a render |
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1309 if (SkColorGetA(color) != 255) | 1319 if (SkColorGetA(color) != 255) |
1310 color = SkColorSetA(color, 255); | 1320 color = SkColorSetA(color, 255); |
1311 BuildPropertyTreesTopLevelInternal( | 1321 BuildPropertyTreesTopLevelInternal( |
1312 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1322 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
1313 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1323 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
1314 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1324 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
1315 device_transform, property_trees, color); | 1325 device_transform, property_trees, color); |
1316 } | 1326 } |
1317 | 1327 |
1318 } // namespace cc | 1328 } // namespace cc |
OLD | NEW |