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

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: transform tree walk removed 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
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 const TransformNode* target_node = tree.Node(node->data.target_id);
596 if (target_node->id == 1)
597 target_node = tree.Node(0);
598 tree.ComputeTransformWithDestinationSublayerScale(node->id, target_node->id,
599 &render_surface_transform);
600 render_surface_transform.Scale(1.0 / node->data.sublayer_scale.x(),
601 1.0 / node->data.sublayer_scale.y());
602 return render_surface_transform;
603 }
604
590 template <typename LayerType> 605 template <typename LayerType>
591 gfx::Transform ScreenSpaceTransformFromPropertyTreesInternal( 606 gfx::Transform ScreenSpaceTransformFromPropertyTreesInternal(
592 LayerType* layer, 607 LayerType* layer,
593 const TransformTree& tree) { 608 const TransformTree& tree) {
594 gfx::Transform xform(1, 0, 0, 1, layer->offset_to_transform_parent().x(), 609 gfx::Transform xform(1, 0, 0, 1, layer->offset_to_transform_parent().x(),
595 layer->offset_to_transform_parent().y()); 610 layer->offset_to_transform_parent().y());
596 if (layer->transform_tree_index() >= 0) { 611 if (layer->transform_tree_index() >= 0) {
597 gfx::Transform ssxform = 612 gfx::Transform ssxform =
598 tree.Node(layer->transform_tree_index())->data.to_screen; 613 tree.Node(layer->transform_tree_index())->data.to_screen;
599 xform.ConcatTransform(ssxform); 614 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()) != 684 if (static_cast<int>(layer->offset_to_transform_parent().x()) !=
670 layer->offset_to_transform_parent().x()) 685 layer->offset_to_transform_parent().x())
671 return false; 686 return false;
672 if (static_cast<int>(layer->offset_to_transform_parent().y()) != 687 if (static_cast<int>(layer->offset_to_transform_parent().y()) !=
673 layer->offset_to_transform_parent().y()) 688 layer->offset_to_transform_parent().y())
674 return false; 689 return false;
675 return true; 690 return true;
676 } 691 }
677 692
678 } // namespace cc 693 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698