| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |