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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 895 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
906 transform_tree.device_transform_scale_factor(); | 906 transform_tree.device_transform_scale_factor(); |
907 TransformNode* transform_node = | 907 TransformNode* transform_node = |
908 transform_tree.Node(effect_node->transform_id); | 908 transform_tree.Node(effect_node->transform_id); |
909 if (transform_node->in_subtree_of_page_scale_layer) | 909 if (transform_node->in_subtree_of_page_scale_layer) |
910 layer_scale_factor *= transform_tree.page_scale_factor(); | 910 layer_scale_factor *= transform_tree.page_scale_factor(); |
911 effect_node->surface_contents_scale = | 911 effect_node->surface_contents_scale = |
912 MathUtil::ComputeTransform2dScaleComponents( | 912 MathUtil::ComputeTransform2dScaleComponents( |
913 transform_tree.ToScreen(transform_node->id), layer_scale_factor); | 913 transform_tree.ToScreen(transform_node->id), layer_scale_factor); |
914 } | 914 } |
915 | 915 |
| 916 void EffectTree::OnOpacityAnimated(float opacity, |
| 917 int id, |
| 918 LayerTreeImpl* layer_tree_impl) { |
| 919 EffectNode* node = Node(id); |
| 920 if (node->opacity == opacity) |
| 921 return; |
| 922 node->opacity = opacity; |
| 923 node->effect_changed = true; |
| 924 property_trees()->changed = true; |
| 925 property_trees()->effect_tree.set_needs_update(true); |
| 926 layer_tree_impl->set_needs_update_draw_properties(); |
| 927 layer_tree_impl->AddToOpacityAnimationsMap(node->owner_id, opacity); |
| 928 } |
| 929 |
916 void EffectTree::UpdateEffects(int id) { | 930 void EffectTree::UpdateEffects(int id) { |
917 EffectNode* node = Node(id); | 931 EffectNode* node = Node(id); |
918 EffectNode* parent_node = parent(node); | 932 EffectNode* parent_node = parent(node); |
919 | 933 |
920 UpdateOpacities(node, parent_node); | 934 UpdateOpacities(node, parent_node); |
921 UpdateIsDrawn(node, parent_node); | 935 UpdateIsDrawn(node, parent_node); |
922 UpdateEffectChanged(node, parent_node); | 936 UpdateEffectChanged(node, parent_node); |
923 UpdateBackfaceVisibility(node, parent_node); | 937 UpdateBackfaceVisibility(node, parent_node); |
924 UpdateSurfaceContentsScale(node); | 938 UpdateSurfaceContentsScale(node); |
925 } | 939 } |
(...skipping 1263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2189 from_target.ConcatTransform(draw_transforms.from_target); | 2203 from_target.ConcatTransform(draw_transforms.from_target); |
2190 from_target.Scale(effect_node->surface_contents_scale.x(), | 2204 from_target.Scale(effect_node->surface_contents_scale.x(), |
2191 effect_node->surface_contents_scale.y()); | 2205 effect_node->surface_contents_scale.y()); |
2192 DCHECK(from_target.ApproximatelyEqual(*transform) || | 2206 DCHECK(from_target.ApproximatelyEqual(*transform) || |
2193 !draw_transforms.invertible); | 2207 !draw_transforms.invertible); |
2194 } | 2208 } |
2195 return success; | 2209 return success; |
2196 } | 2210 } |
2197 | 2211 |
2198 } // namespace cc | 2212 } // namespace cc |
OLD | NEW |