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

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

Issue 1248433007: Draw Transform of Render Surface From Property Trees (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments on patch 2 Created 5 years, 5 months 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
« no previous file with comments | « cc/trees/draw_property_utils.h ('k') | cc/trees/layer_tree_host_common.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "cc/trees/draw_property_utils.h" 5 #include "cc/trees/draw_property_utils.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "cc/base/math_util.h" 9 #include "cc/base/math_util.h"
10 #include "cc/layers/layer.h" 10 #include "cc/layers/layer.h"
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 gfx::Transform DrawTransformFromPropertyTrees(const Layer* layer, 580 gfx::Transform DrawTransformFromPropertyTrees(const Layer* layer,
581 const TransformTree& tree) { 581 const TransformTree& tree) {
582 return DrawTransformFromPropertyTreesInternal(layer, tree); 582 return DrawTransformFromPropertyTreesInternal(layer, tree);
583 } 583 }
584 584
585 gfx::Transform DrawTransformFromPropertyTrees(const LayerImpl* layer, 585 gfx::Transform DrawTransformFromPropertyTrees(const LayerImpl* layer,
586 const TransformTree& tree) { 586 const TransformTree& tree) {
587 return DrawTransformFromPropertyTreesInternal(layer, tree); 587 return DrawTransformFromPropertyTreesInternal(layer, tree);
588 } 588 }
589 589
590 gfx::Transform DrawTransformOfRenderSurfaceFromPropertyTrees(
591 const RenderSurfaceImpl* render_surface,
592 const TransformTree& tree) {
593 const TransformNode* node = tree.Node(render_surface->TransformTreeIndex());
594 gfx::Transform render_surface_transform;
595 // The draw transform of root render surface is identity tranform.
596 if (node->id == 1)
597 return render_surface_transform;
598 const TransformNode* target_node = tree.Node(node->data.target_id);
599 if (target_node->id == 1)
600 target_node = tree.Node(0);
601 tree.ComputeTransformWithDestinationSublayerScale(node->id, target_node->id,
602 &render_surface_transform);
603 render_surface_transform.Scale(1.0 / node->data.sublayer_scale.x(),
604 1.0 / node->data.sublayer_scale.y());
605 return render_surface_transform;
606 }
607
590 template <typename LayerType> 608 template <typename LayerType>
591 gfx::Transform ScreenSpaceTransformFromPropertyTreesInternal( 609 gfx::Transform ScreenSpaceTransformFromPropertyTreesInternal(
592 LayerType* layer, 610 LayerType* layer,
593 const TransformTree& tree) { 611 const TransformTree& tree) {
594 gfx::Transform xform(1, 0, 0, 1, layer->offset_to_transform_parent().x(), 612 gfx::Transform xform(1, 0, 0, 1, layer->offset_to_transform_parent().x(),
595 layer->offset_to_transform_parent().y()); 613 layer->offset_to_transform_parent().y());
596 if (layer->transform_tree_index() >= 0) { 614 if (layer->transform_tree_index() >= 0) {
597 gfx::Transform ssxform = 615 gfx::Transform ssxform =
598 tree.Node(layer->transform_tree_index())->data.to_screen; 616 tree.Node(layer->transform_tree_index())->data.to_screen;
599 xform.ConcatTransform(ssxform); 617 xform.ConcatTransform(ssxform);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 if (static_cast<int>(layer->offset_to_transform_parent().x()) != 687 if (static_cast<int>(layer->offset_to_transform_parent().x()) !=
670 layer->offset_to_transform_parent().x()) 688 layer->offset_to_transform_parent().x())
671 return false; 689 return false;
672 if (static_cast<int>(layer->offset_to_transform_parent().y()) != 690 if (static_cast<int>(layer->offset_to_transform_parent().y()) !=
673 layer->offset_to_transform_parent().y()) 691 layer->offset_to_transform_parent().y())
674 return false; 692 return false;
675 return true; 693 return true;
676 } 694 }
677 695
678 } // namespace cc 696 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/draw_property_utils.h ('k') | cc/trees/layer_tree_host_common.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698