| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 829 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 840 return; | 840 return; |
| 841 } | 841 } |
| 842 | 842 |
| 843 TransformTree& transform_tree = property_trees()->transform_tree; | 843 TransformTree& transform_tree = property_trees()->transform_tree; |
| 844 float layer_scale_factor = transform_tree.device_scale_factor() * | 844 float layer_scale_factor = transform_tree.device_scale_factor() * |
| 845 transform_tree.device_transform_scale_factor(); | 845 transform_tree.device_transform_scale_factor(); |
| 846 TransformNode* transform_node = | 846 TransformNode* transform_node = |
| 847 transform_tree.Node(effect_node->transform_id); | 847 transform_tree.Node(effect_node->transform_id); |
| 848 if (transform_node->in_subtree_of_page_scale_layer) | 848 if (transform_node->in_subtree_of_page_scale_layer) |
| 849 layer_scale_factor *= transform_tree.page_scale_factor(); | 849 layer_scale_factor *= transform_tree.page_scale_factor(); |
| 850 |
| 851 // Note: Copy requests currently expect transform to effect output size. |
| 852 bool use_transform_for_contents_scale = |
| 853 property_trees()->can_adjust_raster_scales || |
| 854 effect_node->has_copy_request; |
| 850 effect_node->surface_contents_scale = | 855 effect_node->surface_contents_scale = |
| 851 MathUtil::ComputeTransform2dScaleComponents( | 856 use_transform_for_contents_scale |
| 852 transform_tree.ToScreen(transform_node->id), layer_scale_factor); | 857 ? MathUtil::ComputeTransform2dScaleComponents( |
| 858 transform_tree.ToScreen(transform_node->id), layer_scale_factor) |
| 859 : gfx::Vector2dF(layer_scale_factor, layer_scale_factor); |
| 853 } | 860 } |
| 854 | 861 |
| 855 EffectNode* EffectTree::FindNodeFromElementId(ElementId id) { | 862 EffectNode* EffectTree::FindNodeFromElementId(ElementId id) { |
| 856 auto iterator = property_trees()->element_id_to_effect_node_index.find(id); | 863 auto iterator = property_trees()->element_id_to_effect_node_index.find(id); |
| 857 if (iterator == property_trees()->element_id_to_effect_node_index.end()) | 864 if (iterator == property_trees()->element_id_to_effect_node_index.end()) |
| 858 return nullptr; | 865 return nullptr; |
| 859 | 866 |
| 860 return Node(iterator->second); | 867 return Node(iterator->second); |
| 861 } | 868 } |
| 862 | 869 |
| (...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1593 PropertyTreesCachedData::PropertyTreesCachedData() | 1600 PropertyTreesCachedData::PropertyTreesCachedData() |
| 1594 : transform_tree_update_number(0) { | 1601 : transform_tree_update_number(0) { |
| 1595 animation_scales.clear(); | 1602 animation_scales.clear(); |
| 1596 } | 1603 } |
| 1597 | 1604 |
| 1598 PropertyTreesCachedData::~PropertyTreesCachedData() {} | 1605 PropertyTreesCachedData::~PropertyTreesCachedData() {} |
| 1599 | 1606 |
| 1600 PropertyTrees::PropertyTrees() | 1607 PropertyTrees::PropertyTrees() |
| 1601 : needs_rebuild(true), | 1608 : needs_rebuild(true), |
| 1602 non_root_surfaces_enabled(true), | 1609 non_root_surfaces_enabled(true), |
| 1610 can_adjust_raster_scales(true), |
| 1603 changed(false), | 1611 changed(false), |
| 1604 full_tree_damaged(false), | 1612 full_tree_damaged(false), |
| 1605 sequence_number(0), | 1613 sequence_number(0), |
| 1606 is_main_thread(true), | 1614 is_main_thread(true), |
| 1607 is_active(false) { | 1615 is_active(false) { |
| 1608 transform_tree.SetPropertyTrees(this); | 1616 transform_tree.SetPropertyTrees(this); |
| 1609 effect_tree.SetPropertyTrees(this); | 1617 effect_tree.SetPropertyTrees(this); |
| 1610 clip_tree.SetPropertyTrees(this); | 1618 clip_tree.SetPropertyTrees(this); |
| 1611 scroll_tree.SetPropertyTrees(this); | 1619 scroll_tree.SetPropertyTrees(this); |
| 1612 } | 1620 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1623 other.element_id_to_scroll_node_index && | 1631 other.element_id_to_scroll_node_index && |
| 1624 element_id_to_transform_node_index == | 1632 element_id_to_transform_node_index == |
| 1625 other.element_id_to_transform_node_index && | 1633 other.element_id_to_transform_node_index && |
| 1626 always_use_active_tree_opacity_effect_ids == | 1634 always_use_active_tree_opacity_effect_ids == |
| 1627 other.always_use_active_tree_opacity_effect_ids && | 1635 other.always_use_active_tree_opacity_effect_ids && |
| 1628 needs_rebuild == other.needs_rebuild && changed == other.changed && | 1636 needs_rebuild == other.needs_rebuild && changed == other.changed && |
| 1629 full_tree_damaged == other.full_tree_damaged && | 1637 full_tree_damaged == other.full_tree_damaged && |
| 1630 is_main_thread == other.is_main_thread && | 1638 is_main_thread == other.is_main_thread && |
| 1631 is_active == other.is_active && | 1639 is_active == other.is_active && |
| 1632 non_root_surfaces_enabled == other.non_root_surfaces_enabled && | 1640 non_root_surfaces_enabled == other.non_root_surfaces_enabled && |
| 1641 can_adjust_raster_scales == other.can_adjust_raster_scales && |
| 1633 sequence_number == other.sequence_number; | 1642 sequence_number == other.sequence_number; |
| 1634 } | 1643 } |
| 1635 | 1644 |
| 1636 PropertyTrees& PropertyTrees::operator=(const PropertyTrees& from) { | 1645 PropertyTrees& PropertyTrees::operator=(const PropertyTrees& from) { |
| 1637 transform_tree = from.transform_tree; | 1646 transform_tree = from.transform_tree; |
| 1638 effect_tree = from.effect_tree; | 1647 effect_tree = from.effect_tree; |
| 1639 clip_tree = from.clip_tree; | 1648 clip_tree = from.clip_tree; |
| 1640 scroll_tree = from.scroll_tree; | 1649 scroll_tree = from.scroll_tree; |
| 1641 always_use_active_tree_opacity_effect_ids = | 1650 always_use_active_tree_opacity_effect_ids = |
| 1642 from.always_use_active_tree_opacity_effect_ids; | 1651 from.always_use_active_tree_opacity_effect_ids; |
| 1643 element_id_to_effect_node_index = from.element_id_to_effect_node_index; | 1652 element_id_to_effect_node_index = from.element_id_to_effect_node_index; |
| 1644 element_id_to_scroll_node_index = from.element_id_to_scroll_node_index; | 1653 element_id_to_scroll_node_index = from.element_id_to_scroll_node_index; |
| 1645 element_id_to_transform_node_index = from.element_id_to_transform_node_index; | 1654 element_id_to_transform_node_index = from.element_id_to_transform_node_index; |
| 1646 needs_rebuild = from.needs_rebuild; | 1655 needs_rebuild = from.needs_rebuild; |
| 1647 changed = from.changed; | 1656 changed = from.changed; |
| 1648 full_tree_damaged = from.full_tree_damaged; | 1657 full_tree_damaged = from.full_tree_damaged; |
| 1649 non_root_surfaces_enabled = from.non_root_surfaces_enabled; | 1658 non_root_surfaces_enabled = from.non_root_surfaces_enabled; |
| 1659 can_adjust_raster_scales = from.can_adjust_raster_scales; |
| 1650 sequence_number = from.sequence_number; | 1660 sequence_number = from.sequence_number; |
| 1651 is_main_thread = from.is_main_thread; | 1661 is_main_thread = from.is_main_thread; |
| 1652 is_active = from.is_active; | 1662 is_active = from.is_active; |
| 1653 inner_viewport_container_bounds_delta_ = | 1663 inner_viewport_container_bounds_delta_ = |
| 1654 from.inner_viewport_container_bounds_delta(); | 1664 from.inner_viewport_container_bounds_delta(); |
| 1655 outer_viewport_container_bounds_delta_ = | 1665 outer_viewport_container_bounds_delta_ = |
| 1656 from.outer_viewport_container_bounds_delta(); | 1666 from.outer_viewport_container_bounds_delta(); |
| 1657 inner_viewport_scroll_bounds_delta_ = | 1667 inner_viewport_scroll_bounds_delta_ = |
| 1658 from.inner_viewport_scroll_bounds_delta(); | 1668 from.inner_viewport_scroll_bounds_delta(); |
| 1659 transform_tree.SetPropertyTrees(this); | 1669 transform_tree.SetPropertyTrees(this); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1671 scroll_tree.clear(); | 1681 scroll_tree.clear(); |
| 1672 element_id_to_effect_node_index.clear(); | 1682 element_id_to_effect_node_index.clear(); |
| 1673 element_id_to_scroll_node_index.clear(); | 1683 element_id_to_scroll_node_index.clear(); |
| 1674 element_id_to_transform_node_index.clear(); | 1684 element_id_to_transform_node_index.clear(); |
| 1675 always_use_active_tree_opacity_effect_ids.clear(); | 1685 always_use_active_tree_opacity_effect_ids.clear(); |
| 1676 | 1686 |
| 1677 needs_rebuild = true; | 1687 needs_rebuild = true; |
| 1678 full_tree_damaged = false; | 1688 full_tree_damaged = false; |
| 1679 changed = false; | 1689 changed = false; |
| 1680 non_root_surfaces_enabled = true; | 1690 non_root_surfaces_enabled = true; |
| 1691 can_adjust_raster_scales = true; |
| 1681 sequence_number++; | 1692 sequence_number++; |
| 1682 | 1693 |
| 1683 #if DCHECK_IS_ON() | 1694 #if DCHECK_IS_ON() |
| 1684 PropertyTrees tree; | 1695 PropertyTrees tree; |
| 1685 tree.transform_tree = transform_tree; | 1696 tree.transform_tree = transform_tree; |
| 1686 tree.effect_tree = effect_tree; | 1697 tree.effect_tree = effect_tree; |
| 1687 tree.clip_tree = clip_tree; | 1698 tree.clip_tree = clip_tree; |
| 1688 tree.scroll_tree = scroll_tree; | 1699 tree.scroll_tree = scroll_tree; |
| 1689 tree.scroll_tree.CopyCompleteTreeState(scroll_tree); | 1700 tree.scroll_tree.CopyCompleteTreeState(scroll_tree); |
| 1690 | 1701 |
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2121 const EffectNode* effect_node = effect_tree.Node(effect_id); | 2132 const EffectNode* effect_node = effect_tree.Node(effect_id); |
| 2122 | 2133 |
| 2123 if (effect_node->surface_contents_scale.x() != 0.0 && | 2134 if (effect_node->surface_contents_scale.x() != 0.0 && |
| 2124 effect_node->surface_contents_scale.y() != 0.0) | 2135 effect_node->surface_contents_scale.y() != 0.0) |
| 2125 screen_space_transform.Scale(1.0 / effect_node->surface_contents_scale.x(), | 2136 screen_space_transform.Scale(1.0 / effect_node->surface_contents_scale.x(), |
| 2126 1.0 / effect_node->surface_contents_scale.y()); | 2137 1.0 / effect_node->surface_contents_scale.y()); |
| 2127 return screen_space_transform; | 2138 return screen_space_transform; |
| 2128 } | 2139 } |
| 2129 | 2140 |
| 2130 } // namespace cc | 2141 } // namespace cc |
| OLD | NEW |