Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: cc/trees/property_tree.cc

Issue 687873004: Introduce Property Trees (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@wip-awoloszyn2
Patch Set: . Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698