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

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

Issue 1908593002: cc : Stop pushing transform origin from Layer and LayerImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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/damage_tracker_unittest.cc ('k') | cc/trees/layer_tree_host_common_unittest.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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 render_surface->screen_space_transform() * replica_to_surface); 1020 render_surface->screen_space_transform() * replica_to_surface);
1021 } else { 1021 } else {
1022 render_surface->SetReplicaDrawTransform(gfx::Transform()); 1022 render_surface->SetReplicaDrawTransform(gfx::Transform());
1023 render_surface->SetReplicaScreenSpaceTransform(gfx::Transform()); 1023 render_surface->SetReplicaScreenSpaceTransform(gfx::Transform());
1024 } 1024 }
1025 1025
1026 SetSurfaceClipRect(property_trees->clip_tree.parent(clip_node), 1026 SetSurfaceClipRect(property_trees->clip_tree.parent(clip_node),
1027 property_trees->transform_tree, render_surface); 1027 property_trees->transform_tree, render_surface);
1028 } 1028 }
1029 1029
1030 #if DCHECK_IS_ON()
1031 static void ValidatePageScaleLayer(const Layer* page_scale_layer) {
1032 DCHECK_EQ(page_scale_layer->position().ToString(), gfx::PointF().ToString());
1033 DCHECK_EQ(page_scale_layer->transform_origin().ToString(),
1034 gfx::Point3F().ToString());
1035 }
1036
1037 static void ValidatePageScaleLayer(const LayerImpl* page_scale_layer) {}
1038 #endif
1039
1030 template <typename LayerType> 1040 template <typename LayerType>
1031 static void UpdatePageScaleFactorInternal(PropertyTrees* property_trees, 1041 static void UpdatePageScaleFactorInternal(PropertyTrees* property_trees,
1032 const LayerType* page_scale_layer, 1042 const LayerType* page_scale_layer,
1033 float page_scale_factor, 1043 float page_scale_factor,
1034 float device_scale_factor, 1044 float device_scale_factor,
1035 gfx::Transform device_transform) { 1045 gfx::Transform device_transform) {
1036 if (property_trees->transform_tree.page_scale_factor() == page_scale_factor) 1046 if (property_trees->transform_tree.page_scale_factor() == page_scale_factor)
1037 return; 1047 return;
1038 1048
1039 property_trees->transform_tree.set_page_scale_factor(page_scale_factor); 1049 property_trees->transform_tree.set_page_scale_factor(page_scale_factor);
1040 DCHECK(page_scale_layer); 1050 DCHECK(page_scale_layer);
1041 DCHECK_GE(page_scale_layer->transform_tree_index(), 0); 1051 DCHECK_GE(page_scale_layer->transform_tree_index(), 0);
1042 TransformNode* node = property_trees->transform_tree.Node( 1052 TransformNode* node = property_trees->transform_tree.Node(
1043 page_scale_layer->transform_tree_index()); 1053 page_scale_layer->transform_tree_index());
1044 // TODO(enne): property trees can't ask the layer these things, but 1054 // TODO(enne): property trees can't ask the layer these things, but
1045 // the page scale layer should *just* be the page scale. 1055 // the page scale layer should *just* be the page scale.
1046 DCHECK_EQ(page_scale_layer->position().ToString(), gfx::PointF().ToString()); 1056 #if DCHECK_IS_ON()
1047 DCHECK_EQ(page_scale_layer->transform_origin().ToString(), 1057 ValidatePageScaleLayer(page_scale_layer);
1048 gfx::Point3F().ToString()); 1058 #endif
1049 1059
1050 if (IsRootLayer(page_scale_layer)) { 1060 if (IsRootLayer(page_scale_layer)) {
1051 // When the page scale layer is also the root layer, the node should also 1061 // When the page scale layer is also the root layer, the node should also
1052 // store the combined scale factor and not just the page scale factor. 1062 // store the combined scale factor and not just the page scale factor.
1053 float post_local_scale_factor = page_scale_factor * device_scale_factor; 1063 float post_local_scale_factor = page_scale_factor * device_scale_factor;
1054 node->data.post_local_scale_factor = post_local_scale_factor; 1064 node->data.post_local_scale_factor = post_local_scale_factor;
1055 node->data.post_local = device_transform; 1065 node->data.post_local = device_transform;
1056 node->data.post_local.Scale(post_local_scale_factor, 1066 node->data.post_local.Scale(post_local_scale_factor,
1057 post_local_scale_factor); 1067 post_local_scale_factor);
1058 } else { 1068 } else {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1113 void UpdateElasticOverscroll(PropertyTrees* property_trees, 1123 void UpdateElasticOverscroll(PropertyTrees* property_trees,
1114 const Layer* overscroll_elasticity_layer, 1124 const Layer* overscroll_elasticity_layer,
1115 const gfx::Vector2dF& elastic_overscroll) { 1125 const gfx::Vector2dF& elastic_overscroll) {
1116 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, 1126 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer,
1117 elastic_overscroll); 1127 elastic_overscroll);
1118 } 1128 }
1119 1129
1120 } // namespace draw_property_utils 1130 } // namespace draw_property_utils
1121 1131
1122 } // namespace cc 1132 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/damage_tracker_unittest.cc ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698