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 "base/logging.h" | 5 #include "base/logging.h" |
6 #include "cc/trees/property_tree.h" | 6 #include "cc/trees/property_tree.h" |
7 | 7 |
8 namespace cc { | 8 namespace cc { |
9 | 9 |
10 template <typename T> | 10 template <> |
11 PropertyTree<T>::PropertyTree() { | 11 PropertyTree<OpacityNode>::PropertyTree(Layer* layer) { |
| 12 InsertRootNode(OpacityNode(layer, 1.0)); |
| 13 } |
| 14 |
| 15 template <> |
| 16 PropertyTree<TransformNode>::PropertyTree(Layer* layer) { |
| 17 InsertRootNode(TransformNode(layer, gfx::Transform())); |
| 18 } |
| 19 |
| 20 template <> |
| 21 PropertyTree<ClipNode>::PropertyTree(Layer* layer) { |
| 22 InsertRootNode(ClipNode(layer, gfx::RectF(), false)); |
12 } | 23 } |
13 | 24 |
14 template <typename T> | 25 template <typename T> |
15 PropertyTree<T>::~PropertyTree() { | 26 PropertyTree<T>::~PropertyTree() { |
16 } | 27 } |
17 | 28 |
18 template <typename T> | 29 template <typename T> |
19 int PropertyTree<T>::InsertRootNode(const T& tree_node) { | 30 int PropertyTree<T>::InsertRootNode(const T& tree_node) { |
20 DCHECK_EQ(0u, nodes_.size()); | 31 DCHECK_EQ(0u, nodes_.size()); |
21 nodes_.push_back(tree_node); | 32 nodes_.push_back(tree_node); |
(...skipping 23 matching lines...) Expand all Loading... |
45 const T* PropertyTree<T>::Node(int id) const { | 56 const T* PropertyTree<T>::Node(int id) const { |
46 DCHECK_LT(-1, id); | 57 DCHECK_LT(-1, id); |
47 return id >= static_cast<int>(nodes_.size()) ? nullptr : &nodes_[id]; | 58 return id >= static_cast<int>(nodes_.size()) ? nullptr : &nodes_[id]; |
48 } | 59 } |
49 | 60 |
50 template <typename T> | 61 template <typename T> |
51 int PropertyTree<T>::GetLastNodeID() const { | 62 int PropertyTree<T>::GetLastNodeID() const { |
52 return static_cast<int>(nodes_.size()) - 1; | 63 return static_cast<int>(nodes_.size()) - 1; |
53 } | 64 } |
54 | 65 |
55 TransformTreeNode::TransformTreeNode(Layer* layer, | 66 TransformNode::TransformNode(Layer* layer, const gfx::Transform& transform) |
56 const gfx::Transform& transform) | |
57 : TreeNode<gfx::Transform>(layer, transform) { | 67 : TreeNode<gfx::Transform>(layer, transform) { |
58 } | 68 } |
59 | 69 |
60 TransformTreeNode::~TransformTreeNode() { | 70 TransformNode::~TransformNode() { |
61 } | 71 } |
62 | 72 |
63 ClipTreeNode::ClipTreeNode(Layer* layer, const gfx::RectF& rect) | 73 ClipNode::ClipNode(Layer* layer, const gfx::RectF& rect) |
64 : TreeNode<gfx::RectF>(layer, rect), clips(true) { | 74 : TreeNode<gfx::RectF>(layer, rect), clips(true) { |
65 } | 75 } |
66 | 76 |
67 ClipTreeNode::ClipTreeNode(Layer* layer, const gfx::RectF& rect, | 77 ClipNode::ClipNode(Layer* layer, const gfx::RectF& rect, |
68 bool clips) | 78 bool clips) |
69 : TreeNode<gfx::RectF>(layer, rect), clips(clips) { | 79 : TreeNode<gfx::RectF>(layer, rect), clips(clips) { |
70 } | 80 } |
71 | 81 |
72 ClipTreeNode::~ClipTreeNode() { | 82 ClipNode::~ClipNode() { |
73 } | 83 } |
74 | 84 |
75 template class PropertyTree<TransformTreeNode>; | 85 template class PropertyTree<TransformNode>; |
76 template class PropertyTree<OpacityTreeNode>; | 86 template class PropertyTree<OpacityNode>; |
77 template class PropertyTree<ClipTreeNode>; | 87 template class PropertyTree<ClipNode>; |
78 | 88 |
79 } // namespace cc | 89 } // namespace cc |
OLD | NEW |