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 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
618 // surface. So, we can leave the default value when we don't create a render | 618 // surface. So, we can leave the default value when we don't create a render |
619 // surface. | 619 // surface. |
620 if (should_create_render_surface) { | 620 if (should_create_render_surface) { |
621 // In this case, we will create a transform node, so it's safe to use the | 621 // In this case, we will create a transform node, so it's safe to use the |
622 // next available id from the transform tree as this effect node's | 622 // next available id from the transform tree as this effect node's |
623 // transform id. | 623 // transform id. |
624 node.data.transform_id = | 624 node.data.transform_id = |
625 data_from_ancestor.transform_tree->next_available_id(); | 625 data_from_ancestor.transform_tree->next_available_id(); |
626 } | 626 } |
627 node.data.clip_id = data_from_ancestor.clip_tree_parent; | 627 node.data.clip_id = data_from_ancestor.clip_tree_parent; |
| 628 EffectNode* parent_node = data_for_children->effect_tree->Node(parent_id); |
| 629 node.data.node_or_ancestor_has_background_filters = |
| 630 parent_node->data.node_or_ancestor_has_background_filters || |
| 631 node.data.has_background_filters; |
| 632 node.data.to_screen_opacity_is_animated = |
| 633 parent_node->data.to_screen_opacity_is_animated || has_animated_opacity; |
628 } else { | 634 } else { |
629 // Root render surface acts the unbounded and untransformed to draw content | 635 // Root render surface acts the unbounded and untransformed to draw content |
630 // into. Transform node created from root layer (includes device scale | 636 // into. Transform node created from root layer (includes device scale |
631 // factor) and clip node created from root layer (include viewports) applies | 637 // factor) and clip node created from root layer (include viewports) applies |
632 // to root render surface's content, but not root render surface itself. | 638 // to root render surface's content, but not root render surface itself. |
633 node.data.transform_id = kRootPropertyTreeNodeId; | 639 node.data.transform_id = kRootPropertyTreeNodeId; |
634 node.data.clip_id = kRootPropertyTreeNodeId; | 640 node.data.clip_id = kRootPropertyTreeNodeId; |
| 641 node.data.node_or_ancestor_has_background_filters = |
| 642 node.data.has_background_filters; |
| 643 node.data.to_screen_opacity_is_animated = has_animated_opacity; |
635 } | 644 } |
636 data_for_children->effect_tree_parent = | 645 data_for_children->effect_tree_parent = |
637 data_for_children->effect_tree->Insert(node, parent_id); | 646 data_for_children->effect_tree->Insert(node, parent_id); |
638 layer->SetEffectTreeIndex(data_for_children->effect_tree_parent); | 647 layer->SetEffectTreeIndex(data_for_children->effect_tree_parent); |
639 if (should_create_render_surface) { | 648 if (should_create_render_surface) { |
640 data_for_children->compound_transform_since_render_target = | 649 data_for_children->compound_transform_since_render_target = |
641 gfx::Transform(); | 650 gfx::Transform(); |
642 data_for_children->axis_align_since_render_target = true; | 651 data_for_children->axis_align_since_render_target = true; |
643 } | 652 } |
644 return should_create_render_surface; | 653 return should_create_render_surface; |
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
995 if (SkColorGetA(color) != 255) | 1004 if (SkColorGetA(color) != 255) |
996 color = SkColorSetA(color, 255); | 1005 color = SkColorSetA(color, 255); |
997 BuildPropertyTreesTopLevelInternal( | 1006 BuildPropertyTreesTopLevelInternal( |
998 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1007 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
999 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1008 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
1000 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1009 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
1001 device_transform, property_trees, color); | 1010 device_transform, property_trees, color); |
1002 } | 1011 } |
1003 | 1012 |
1004 } // namespace cc | 1013 } // namespace cc |
OLD | NEW |