| 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/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 Loading... |
| 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(); | |
| 642 | 639 |
| 643 if (is_page_scale_layer) { | 640 if (is_page_scale_layer) { |
| 644 post_local_scale_factor *= data_from_ancestor.page_scale_factor; | 641 if (!is_root) |
| 642 post_local_scale_factor *= data_from_ancestor.page_scale_factor; |
| 645 data_for_children->property_trees->transform_tree.set_page_scale_factor( | 643 data_for_children->property_trees->transform_tree.set_page_scale_factor( |
| 646 data_from_ancestor.page_scale_factor); | 644 data_from_ancestor.page_scale_factor); |
| 647 } | 645 } |
| 648 | 646 |
| 649 node->source_node_id = source_index; | 647 node->source_node_id = source_index; |
| 650 node->post_local_scale_factor = post_local_scale_factor; | 648 node->post_local_scale_factor = post_local_scale_factor; |
| 651 if (is_root) { | 649 if (is_root) { |
| 652 data_for_children->property_trees->transform_tree.SetDeviceTransform( | 650 float page_scale_factor_for_root = |
| 653 *data_from_ancestor.device_transform, layer->position()); | 651 is_page_scale_layer ? data_from_ancestor.page_scale_factor : 1.f; |
| 654 data_for_children->property_trees->transform_tree | 652 data_for_children->property_trees->transform_tree |
| 655 .SetDeviceTransformScaleFactor(*data_from_ancestor.device_transform); | 653 .SetRootTransformsAndScales(data_for_children->property_trees |
| 654 ->transform_tree.device_scale_factor(), |
| 655 page_scale_factor_for_root, |
| 656 *data_from_ancestor.device_transform, |
| 657 layer->position()); |
| 656 } else { | 658 } else { |
| 657 node->source_offset = source_offset; | 659 node->source_offset = source_offset; |
| 658 node->update_post_local_transform(layer->position(), | 660 node->update_post_local_transform(layer->position(), |
| 659 TransformOrigin(layer)); | 661 TransformOrigin(layer)); |
| 660 } | 662 } |
| 661 | 663 |
| 662 if (is_overscroll_elasticity_layer) { | 664 if (is_overscroll_elasticity_layer) { |
| 663 DCHECK(!is_scrollable); | 665 DCHECK(!is_scrollable); |
| 664 node->scroll_offset = | 666 node->scroll_offset = |
| 665 gfx::ScrollOffset(data_from_ancestor.elastic_overscroll); | 667 gfx::ScrollOffset(data_from_ancestor.elastic_overscroll); |
| (...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1352 const gfx::Transform& device_transform, | 1354 const gfx::Transform& device_transform, |
| 1353 PropertyTrees* property_trees, | 1355 PropertyTrees* property_trees, |
| 1354 SkColor color) { | 1356 SkColor color) { |
| 1355 if (!property_trees->needs_rebuild) { | 1357 if (!property_trees->needs_rebuild) { |
| 1356 draw_property_utils::UpdatePageScaleFactor( | 1358 draw_property_utils::UpdatePageScaleFactor( |
| 1357 property_trees, page_scale_layer, page_scale_factor, | 1359 property_trees, page_scale_layer, page_scale_factor, |
| 1358 device_scale_factor, device_transform); | 1360 device_scale_factor, device_transform); |
| 1359 draw_property_utils::UpdateElasticOverscroll( | 1361 draw_property_utils::UpdateElasticOverscroll( |
| 1360 property_trees, overscroll_elasticity_layer, elastic_overscroll); | 1362 property_trees, overscroll_elasticity_layer, elastic_overscroll); |
| 1361 property_trees->clip_tree.SetViewportClip(gfx::RectF(viewport)); | 1363 property_trees->clip_tree.SetViewportClip(gfx::RectF(viewport)); |
| 1362 property_trees->transform_tree.SetDeviceTransform(device_transform, | 1364 float page_scale_factor_for_root = |
| 1363 root_layer->position()); | 1365 page_scale_layer == root_layer ? page_scale_factor : 1.f; |
| 1366 property_trees->transform_tree.SetRootTransformsAndScales( |
| 1367 device_scale_factor, page_scale_factor_for_root, device_transform, |
| 1368 root_layer->position()); |
| 1364 return; | 1369 return; |
| 1365 } | 1370 } |
| 1366 | 1371 |
| 1367 property_trees->sequence_number++; | 1372 property_trees->sequence_number++; |
| 1368 | 1373 |
| 1369 DataForRecursion<LayerType> data_for_recursion; | 1374 DataForRecursion<LayerType> data_for_recursion; |
| 1370 data_for_recursion.property_trees = property_trees; | 1375 data_for_recursion.property_trees = property_trees; |
| 1371 data_for_recursion.transform_tree_parent = nullptr; | 1376 data_for_recursion.transform_tree_parent = nullptr; |
| 1372 data_for_recursion.transform_fixed_parent = nullptr; | 1377 data_for_recursion.transform_fixed_parent = nullptr; |
| 1373 data_for_recursion.render_target = kRootPropertyTreeNodeId; | 1378 data_for_recursion.render_target = kRootPropertyTreeNodeId; |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1491 color = SkColorSetA(color, 255); | 1496 color = SkColorSetA(color, 255); |
| 1492 BuildPropertyTreesTopLevelInternal( | 1497 BuildPropertyTreesTopLevelInternal( |
| 1493 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1498 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 1494 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1499 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 1495 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1500 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 1496 device_transform, property_trees, color); | 1501 device_transform, property_trees, color); |
| 1497 property_trees->ResetCachedData(); | 1502 property_trees->ResetCachedData(); |
| 1498 } | 1503 } |
| 1499 | 1504 |
| 1500 } // namespace cc | 1505 } // namespace cc |
| OLD | NEW |