| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "platform/graphics/compositing/PropertyTreeManager.h" | 5 #include "platform/graphics/compositing/PropertyTreeManager.h" |
| 6 | 6 |
| 7 #include "cc/layers/layer.h" | 7 #include "cc/layers/layer.h" |
| 8 #include "cc/trees/clip_node.h" | 8 #include "cc/trees/clip_node.h" |
| 9 #include "cc/trees/effect_node.h" | 9 #include "cc/trees/effect_node.h" |
| 10 #include "cc/trees/layer_tree_host.h" | 10 #include "cc/trees/layer_tree_host.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 void PropertyTreeManager::setupRootTransformNode() { | 67 void PropertyTreeManager::setupRootTransformNode() { |
| 68 // cc is hardcoded to use transform node index 1 for device scale and | 68 // cc is hardcoded to use transform node index 1 for device scale and |
| 69 // transform. | 69 // transform. |
| 70 cc::TransformTree& transformTree = m_propertyTrees.transform_tree; | 70 cc::TransformTree& transformTree = m_propertyTrees.transform_tree; |
| 71 transformTree.clear(); | 71 transformTree.clear(); |
| 72 m_propertyTrees.element_id_to_transform_node_index.clear(); | 72 m_propertyTrees.element_id_to_transform_node_index.clear(); |
| 73 cc::TransformNode& transformNode = *transformTree.Node( | 73 cc::TransformNode& transformNode = *transformTree.Node( |
| 74 transformTree.Insert(cc::TransformNode(), kRealRootNodeId)); | 74 transformTree.Insert(cc::TransformNode(), kRealRootNodeId)); |
| 75 DCHECK_EQ(transformNode.id, kSecondaryRootNodeId); | 75 DCHECK_EQ(transformNode.id, kSecondaryRootNodeId); |
| 76 transformNode.source_node_id = transformNode.parent_id; | 76 transformNode.source_node_id = transformNode.parent_id; |
| 77 transformTree.SetTargetId(transformNode.id, kRealRootNodeId); | |
| 78 transformTree.SetContentTargetId(transformNode.id, kRealRootNodeId); | |
| 79 | 77 |
| 80 // TODO(jaydasika): We shouldn't set ToScreen and FromScreen of root | 78 // TODO(jaydasika): We shouldn't set ToScreen and FromScreen of root |
| 81 // transform node here. They should be set while updating transform tree in | 79 // transform node here. They should be set while updating transform tree in |
| 82 // cc. | 80 // cc. |
| 83 float deviceScaleFactor = | 81 float deviceScaleFactor = |
| 84 m_rootLayer->layer_tree_host()->device_scale_factor(); | 82 m_rootLayer->layer_tree_host()->device_scale_factor(); |
| 85 gfx::Transform toScreen; | 83 gfx::Transform toScreen; |
| 86 toScreen.Scale(deviceScaleFactor, deviceScaleFactor); | 84 toScreen.Scale(deviceScaleFactor, deviceScaleFactor); |
| 87 transformTree.SetToScreen(kRealRootNodeId, toScreen); | 85 transformTree.SetToScreen(kRealRootNodeId, toScreen); |
| 88 gfx::Transform fromScreen; | 86 gfx::Transform fromScreen; |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 | 155 |
| 158 auto it = m_transformNodeMap.find(transformNode); | 156 auto it = m_transformNodeMap.find(transformNode); |
| 159 if (it != m_transformNodeMap.end()) | 157 if (it != m_transformNodeMap.end()) |
| 160 return it->value; | 158 return it->value; |
| 161 | 159 |
| 162 scoped_refptr<cc::Layer> dummyLayer = cc::Layer::Create(); | 160 scoped_refptr<cc::Layer> dummyLayer = cc::Layer::Create(); |
| 163 int parentId = ensureCompositorTransformNode(transformNode->parent()); | 161 int parentId = ensureCompositorTransformNode(transformNode->parent()); |
| 164 int id = transformTree().Insert(cc::TransformNode(), parentId); | 162 int id = transformTree().Insert(cc::TransformNode(), parentId); |
| 165 | 163 |
| 166 cc::TransformNode& compositorNode = *transformTree().Node(id); | 164 cc::TransformNode& compositorNode = *transformTree().Node(id); |
| 167 transformTree().SetTargetId(id, kRealRootNodeId); | |
| 168 transformTree().SetContentTargetId(id, kRealRootNodeId); | |
| 169 compositorNode.source_node_id = parentId; | 165 compositorNode.source_node_id = parentId; |
| 170 | 166 |
| 171 FloatPoint3D origin = transformNode->origin(); | 167 FloatPoint3D origin = transformNode->origin(); |
| 172 compositorNode.pre_local.matrix().setTranslate(-origin.x(), -origin.y(), | 168 compositorNode.pre_local.matrix().setTranslate(-origin.x(), -origin.y(), |
| 173 -origin.z()); | 169 -origin.z()); |
| 174 compositorNode.local.matrix() = | 170 compositorNode.local.matrix() = |
| 175 TransformationMatrix::toSkMatrix44(transformNode->matrix()); | 171 TransformationMatrix::toSkMatrix44(transformNode->matrix()); |
| 176 compositorNode.post_local.matrix().setTranslate(origin.x(), origin.y(), | 172 compositorNode.post_local.matrix().setTranslate(origin.x(), origin.y(), |
| 177 origin.z()); | 173 origin.z()); |
| 178 compositorNode.needs_local_transform_update = true; | 174 compositorNode.needs_local_transform_update = true; |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 m_effectStack.push_back(BlinkEffectAndCcIdPair{nextEffect, effectNode.id}); | 439 m_effectStack.push_back(BlinkEffectAndCcIdPair{nextEffect, effectNode.id}); |
| 444 | 440 |
| 445 dummyLayer->set_property_tree_sequence_number(m_sequenceNumber); | 441 dummyLayer->set_property_tree_sequence_number(m_sequenceNumber); |
| 446 dummyLayer->SetTransformTreeIndex(kSecondaryRootNodeId); | 442 dummyLayer->SetTransformTreeIndex(kSecondaryRootNodeId); |
| 447 dummyLayer->SetClipTreeIndex(outputClipId); | 443 dummyLayer->SetClipTreeIndex(outputClipId); |
| 448 dummyLayer->SetEffectTreeIndex(effectNode.id); | 444 dummyLayer->SetEffectTreeIndex(effectNode.id); |
| 449 dummyLayer->SetScrollTreeIndex(kRealRootNodeId); | 445 dummyLayer->SetScrollTreeIndex(kRealRootNodeId); |
| 450 } | 446 } |
| 451 | 447 |
| 452 } // namespace blink | 448 } // namespace blink |
| OLD | NEW |