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 <set> | 5 #include <set> |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "cc/base/math_util.h" | 8 #include "cc/base/math_util.h" |
9 #include "cc/trees/property_tree.h" | 9 #include "cc/trees/property_tree.h" |
10 | 10 |
(...skipping 15 matching lines...) Expand all Loading... |
26 DCHECK_GT(nodes_.size(), 0u); | 26 DCHECK_GT(nodes_.size(), 0u); |
27 nodes_.push_back(tree_node); | 27 nodes_.push_back(tree_node); |
28 T& node = nodes_.back(); | 28 T& node = nodes_.back(); |
29 node.parent_id = parent_id; | 29 node.parent_id = parent_id; |
30 node.id = static_cast<int>(nodes_.size()) - 1; | 30 node.id = static_cast<int>(nodes_.size()) - 1; |
31 return node.id; | 31 return node.id; |
32 } | 32 } |
33 | 33 |
34 template class PropertyTree<TransformNode>; | 34 template class PropertyTree<TransformNode>; |
35 template class PropertyTree<ClipNode>; | 35 template class PropertyTree<ClipNode>; |
| 36 template class PropertyTree<OpacityNode>; |
36 | 37 |
37 TransformNodeData::TransformNodeData() | 38 TransformNodeData::TransformNodeData() |
38 : target_id(-1), | 39 : target_id(-1), |
39 content_target_id(-1), | 40 content_target_id(-1), |
40 needs_local_transform_update(true), | 41 needs_local_transform_update(true), |
41 is_invertible(true), | 42 is_invertible(true), |
42 ancestors_are_invertible(true), | 43 ancestors_are_invertible(true), |
43 is_animated(false), | 44 is_animated(false), |
44 to_screen_is_animated(false), | 45 to_screen_is_animated(false), |
45 flattens(false), | 46 flattens(false), |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 return ComputeTransform(source_id, dest_id, &transform) && | 85 return ComputeTransform(source_id, dest_id, &transform) && |
85 transform.Preserves2dAxisAlignment(); | 86 transform.Preserves2dAxisAlignment(); |
86 } | 87 } |
87 | 88 |
88 void TransformTree::UpdateTransforms(int id) { | 89 void TransformTree::UpdateTransforms(int id) { |
89 TransformNode* node = Node(id); | 90 TransformNode* node = Node(id); |
90 TransformNode* parent_node = parent(node); | 91 TransformNode* parent_node = parent(node); |
91 TransformNode* target_node = Node(node->data.target_id); | 92 TransformNode* target_node = Node(node->data.target_id); |
92 if (node->data.needs_local_transform_update) | 93 if (node->data.needs_local_transform_update) |
93 UpdateLocalTransform(node); | 94 UpdateLocalTransform(node); |
94 UpdateLocalTransform(node); | |
95 UpdateScreenSpaceTransform(node, parent_node, target_node); | 95 UpdateScreenSpaceTransform(node, parent_node, target_node); |
96 UpdateSublayerScale(node); | 96 UpdateSublayerScale(node); |
97 UpdateTargetSpaceTransform(node, target_node); | 97 UpdateTargetSpaceTransform(node, target_node); |
98 UpdateIsAnimated(node, parent_node); | 98 UpdateIsAnimated(node, parent_node); |
99 UpdateSnapping(node); | 99 UpdateSnapping(node); |
100 } | 100 } |
101 | 101 |
102 bool TransformTree::IsDescendant(int desc_id, int source_id) const { | 102 bool TransformTree::IsDescendant(int desc_id, int source_id) const { |
103 while (desc_id != source_id) { | 103 while (desc_id != source_id) { |
104 if (desc_id < 0) | 104 if (desc_id < 0) |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 // combined, to/from matrices. | 286 // combined, to/from matrices. |
287 node->data.to_parent.PreconcatTransform(delta); | 287 node->data.to_parent.PreconcatTransform(delta); |
288 node->data.from_parent.ConcatTransform(inverse_delta); | 288 node->data.from_parent.ConcatTransform(inverse_delta); |
289 node->data.to_target.PreconcatTransform(delta); | 289 node->data.to_target.PreconcatTransform(delta); |
290 node->data.from_target.ConcatTransform(inverse_delta); | 290 node->data.from_target.ConcatTransform(inverse_delta); |
291 node->data.to_screen.PreconcatTransform(delta); | 291 node->data.to_screen.PreconcatTransform(delta); |
292 node->data.from_screen.ConcatTransform(inverse_delta); | 292 node->data.from_screen.ConcatTransform(inverse_delta); |
293 } | 293 } |
294 | 294 |
295 } // namespace cc | 295 } // namespace cc |
OLD | NEW |