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

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

Issue 2452303003: Revert of cc : Move screen space scale factor to root transform node (Closed)
Patch Set: resolve merge conflicts Created 4 years, 1 month 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/property_tree.cc ('k') | cc/trees/property_tree_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/property_tree_builder.h" 5 #include "cc/trees/property_tree_builder.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 kInvalidPropertyTreeNodeId); 629 kInvalidPropertyTreeNodeId);
630 630
631 node->has_potential_animation = has_potentially_animated_transform; 631 node->has_potential_animation = has_potentially_animated_transform;
632 node->is_currently_animating = TransformIsAnimating(layer); 632 node->is_currently_animating = TransformIsAnimating(layer);
633 if (has_potentially_animated_transform) { 633 if (has_potentially_animated_transform) {
634 node->has_only_translation_animations = 634 node->has_only_translation_animations =
635 HasOnlyTranslationTransforms(layer); 635 HasOnlyTranslationTransforms(layer);
636 } 636 }
637 637
638 float post_local_scale_factor = 1.0f; 638 float post_local_scale_factor = 1.0f;
639 if (is_root)
640 post_local_scale_factor =
641 data_for_children->property_trees->transform_tree.device_scale_factor();
639 642
640 if (is_page_scale_layer) { 643 if (is_page_scale_layer) {
641 if (!is_root) 644 post_local_scale_factor *= data_from_ancestor.page_scale_factor;
642 post_local_scale_factor *= data_from_ancestor.page_scale_factor;
643 data_for_children->property_trees->transform_tree.set_page_scale_factor( 645 data_for_children->property_trees->transform_tree.set_page_scale_factor(
644 data_from_ancestor.page_scale_factor); 646 data_from_ancestor.page_scale_factor);
645 } 647 }
646 648
647 node->source_node_id = source_index; 649 node->source_node_id = source_index;
648 node->post_local_scale_factor = post_local_scale_factor; 650 node->post_local_scale_factor = post_local_scale_factor;
649 if (is_root) { 651 if (is_root) {
650 float page_scale_factor_for_root = 652 data_for_children->property_trees->transform_tree.SetDeviceTransform(
651 is_page_scale_layer ? data_from_ancestor.page_scale_factor : 1.f; 653 *data_from_ancestor.device_transform, layer->position());
652 data_for_children->property_trees->transform_tree 654 data_for_children->property_trees->transform_tree
653 .SetRootTransformsAndScales(data_for_children->property_trees 655 .SetDeviceTransformScaleFactor(*data_from_ancestor.device_transform);
654 ->transform_tree.device_scale_factor(),
655 page_scale_factor_for_root,
656 *data_from_ancestor.device_transform,
657 layer->position());
658 } else { 656 } else {
659 node->source_offset = source_offset; 657 node->source_offset = source_offset;
660 node->update_post_local_transform(layer->position(), 658 node->update_post_local_transform(layer->position(),
661 TransformOrigin(layer)); 659 TransformOrigin(layer));
662 } 660 }
663 661
664 if (is_overscroll_elasticity_layer) { 662 if (is_overscroll_elasticity_layer) {
665 DCHECK(!is_scrollable); 663 DCHECK(!is_scrollable);
666 node->scroll_offset = 664 node->scroll_offset =
667 gfx::ScrollOffset(data_from_ancestor.elastic_overscroll); 665 gfx::ScrollOffset(data_from_ancestor.elastic_overscroll);
(...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after
1344 const gfx::Transform& device_transform, 1342 const gfx::Transform& device_transform,
1345 PropertyTrees* property_trees, 1343 PropertyTrees* property_trees,
1346 SkColor color) { 1344 SkColor color) {
1347 if (!property_trees->needs_rebuild) { 1345 if (!property_trees->needs_rebuild) {
1348 draw_property_utils::UpdatePageScaleFactor( 1346 draw_property_utils::UpdatePageScaleFactor(
1349 property_trees, page_scale_layer, page_scale_factor, 1347 property_trees, page_scale_layer, page_scale_factor,
1350 device_scale_factor, device_transform); 1348 device_scale_factor, device_transform);
1351 draw_property_utils::UpdateElasticOverscroll( 1349 draw_property_utils::UpdateElasticOverscroll(
1352 property_trees, overscroll_elasticity_layer, elastic_overscroll); 1350 property_trees, overscroll_elasticity_layer, elastic_overscroll);
1353 property_trees->clip_tree.SetViewportClip(gfx::RectF(viewport)); 1351 property_trees->clip_tree.SetViewportClip(gfx::RectF(viewport));
1354 float page_scale_factor_for_root = 1352 property_trees->transform_tree.SetDeviceTransform(device_transform,
1355 page_scale_layer == root_layer ? page_scale_factor : 1.f; 1353 root_layer->position());
1356 property_trees->transform_tree.SetRootTransformsAndScales(
1357 device_scale_factor, page_scale_factor_for_root, device_transform,
1358 root_layer->position());
1359 return; 1354 return;
1360 } 1355 }
1361 1356
1362 property_trees->sequence_number++; 1357 property_trees->sequence_number++;
1363 1358
1364 DataForRecursion<LayerType> data_for_recursion; 1359 DataForRecursion<LayerType> data_for_recursion;
1365 data_for_recursion.property_trees = property_trees; 1360 data_for_recursion.property_trees = property_trees;
1366 data_for_recursion.transform_tree_parent = nullptr; 1361 data_for_recursion.transform_tree_parent = nullptr;
1367 data_for_recursion.transform_fixed_parent = nullptr; 1362 data_for_recursion.transform_fixed_parent = nullptr;
1368 data_for_recursion.render_target = kRootPropertyTreeNodeId; 1363 data_for_recursion.render_target = kRootPropertyTreeNodeId;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1486 color = SkColorSetA(color, 255); 1481 color = SkColorSetA(color, 255);
1487 BuildPropertyTreesTopLevelInternal( 1482 BuildPropertyTreesTopLevelInternal(
1488 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1483 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1489 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1484 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1490 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1485 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1491 device_transform, property_trees, color); 1486 device_transform, property_trees, color);
1492 property_trees->ResetCachedData(); 1487 property_trees->ResetCachedData();
1493 } 1488 }
1494 1489
1495 } // namespace cc 1490 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/property_tree.cc ('k') | cc/trees/property_tree_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698