| 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 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 } | 709 } |
| 710 | 710 |
| 711 static inline float Opacity(Layer* layer) { | 711 static inline float Opacity(Layer* layer) { |
| 712 return layer->opacity(); | 712 return layer->opacity(); |
| 713 } | 713 } |
| 714 | 714 |
| 715 static inline float Opacity(LayerImpl* layer) { | 715 static inline float Opacity(LayerImpl* layer) { |
| 716 return layer->test_properties()->opacity; | 716 return layer->test_properties()->opacity; |
| 717 } | 717 } |
| 718 | 718 |
| 719 static inline const FilterOperations& BackgroundFilters(Layer* layer) { |
| 720 return layer->background_filters(); |
| 721 } |
| 722 |
| 723 static inline const FilterOperations& BackgroundFilters(LayerImpl* layer) { |
| 724 return layer->test_properties()->background_filters; |
| 725 } |
| 726 |
| 719 static inline bool HideLayerAndSubtree(Layer* layer) { | 727 static inline bool HideLayerAndSubtree(Layer* layer) { |
| 720 return layer->hide_layer_and_subtree(); | 728 return layer->hide_layer_and_subtree(); |
| 721 } | 729 } |
| 722 | 730 |
| 723 static inline bool HideLayerAndSubtree(LayerImpl* layer) { | 731 static inline bool HideLayerAndSubtree(LayerImpl* layer) { |
| 724 return layer->test_properties()->hide_layer_and_subtree; | 732 return layer->test_properties()->hide_layer_and_subtree; |
| 725 } | 733 } |
| 726 | 734 |
| 727 static inline bool AlwaysUseActiveTreeOpacity(Layer* layer) { | 735 static inline bool AlwaysUseActiveTreeOpacity(Layer* layer) { |
| 728 return layer->AlwaysUseActiveTreeOpacity(); | 736 return layer->AlwaysUseActiveTreeOpacity(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 756 if (MaskLayer(layer) && ReplicaLayer(Parent(layer)) != layer) { | 764 if (MaskLayer(layer) && ReplicaLayer(Parent(layer)) != layer) { |
| 757 return true; | 765 return true; |
| 758 } | 766 } |
| 759 | 767 |
| 760 // If the layer has a reflection. | 768 // If the layer has a reflection. |
| 761 if (ReplicaLayer(layer)) { | 769 if (ReplicaLayer(layer)) { |
| 762 return true; | 770 return true; |
| 763 } | 771 } |
| 764 | 772 |
| 765 // If the layer uses a CSS filter. | 773 // If the layer uses a CSS filter. |
| 766 if (!layer->filters().IsEmpty() || !layer->background_filters().IsEmpty()) { | 774 if (!layer->filters().IsEmpty() || !BackgroundFilters(layer).IsEmpty()) { |
| 767 return true; | 775 return true; |
| 768 } | 776 } |
| 769 | 777 |
| 770 // If the layer will use a CSS filter. In this case, the animation | 778 // If the layer will use a CSS filter. In this case, the animation |
| 771 // will start and add a filter to this layer, so it needs a surface. | 779 // will start and add a filter to this layer, so it needs a surface. |
| 772 if (layer->HasPotentiallyRunningFilterAnimation()) { | 780 if (layer->HasPotentiallyRunningFilterAnimation()) { |
| 773 return true; | 781 return true; |
| 774 } | 782 } |
| 775 | 783 |
| 776 int num_descendants_that_draw_content = NumDescendantsThatDrawContent(layer); | 784 int num_descendants_that_draw_content = NumDescendantsThatDrawContent(layer); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 892 EffectNode node; | 900 EffectNode node; |
| 893 node.owner_id = layer->id(); | 901 node.owner_id = layer->id(); |
| 894 if (AlwaysUseActiveTreeOpacity(layer)) { | 902 if (AlwaysUseActiveTreeOpacity(layer)) { |
| 895 data_for_children->property_trees->always_use_active_tree_opacity_effect_ids | 903 data_for_children->property_trees->always_use_active_tree_opacity_effect_ids |
| 896 .push_back(node.owner_id); | 904 .push_back(node.owner_id); |
| 897 } | 905 } |
| 898 | 906 |
| 899 node.data.opacity = Opacity(layer); | 907 node.data.opacity = Opacity(layer); |
| 900 node.data.has_render_surface = should_create_render_surface; | 908 node.data.has_render_surface = should_create_render_surface; |
| 901 node.data.has_copy_request = HasCopyRequest(layer); | 909 node.data.has_copy_request = HasCopyRequest(layer); |
| 902 node.data.has_background_filters = !layer->background_filters().IsEmpty(); | 910 node.data.background_filters = BackgroundFilters(layer); |
| 903 node.data.has_potential_opacity_animation = has_potential_opacity_animation; | 911 node.data.has_potential_opacity_animation = has_potential_opacity_animation; |
| 904 node.data.double_sided = DoubleSided(layer); | 912 node.data.double_sided = DoubleSided(layer); |
| 905 node.data.subtree_hidden = HideLayerAndSubtree(layer); | 913 node.data.subtree_hidden = HideLayerAndSubtree(layer); |
| 906 node.data.is_currently_animating_opacity = layer->OpacityIsAnimating(); | 914 node.data.is_currently_animating_opacity = layer->OpacityIsAnimating(); |
| 907 | 915 |
| 908 EffectTree& effect_tree = data_for_children->property_trees->effect_tree; | 916 EffectTree& effect_tree = data_for_children->property_trees->effect_tree; |
| 909 if (MaskLayer(layer)) { | 917 if (MaskLayer(layer)) { |
| 910 node.data.mask_layer_id = MaskLayer(layer)->id(); | 918 node.data.mask_layer_id = MaskLayer(layer)->id(); |
| 911 effect_tree.AddMaskOrReplicaLayerId(node.data.mask_layer_id); | 919 effect_tree.AddMaskOrReplicaLayerId(node.data.mask_layer_id); |
| 912 } | 920 } |
| (...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1381 if (SkColorGetA(color) != 255) | 1389 if (SkColorGetA(color) != 255) |
| 1382 color = SkColorSetA(color, 255); | 1390 color = SkColorSetA(color, 255); |
| 1383 BuildPropertyTreesTopLevelInternal( | 1391 BuildPropertyTreesTopLevelInternal( |
| 1384 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1392 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 1385 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1393 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 1386 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1394 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 1387 device_transform, property_trees, color); | 1395 device_transform, property_trees, color); |
| 1388 } | 1396 } |
| 1389 | 1397 |
| 1390 } // namespace cc | 1398 } // namespace cc |
| OLD | NEW |