| 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 1874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1885 | 1885 |
| 1886 outer_viewport_container_bounds_delta_ = bounds_delta; | 1886 outer_viewport_container_bounds_delta_ = bounds_delta; |
| 1887 transform_tree.UpdateOuterViewportContainerBoundsDelta(); | 1887 transform_tree.UpdateOuterViewportContainerBoundsDelta(); |
| 1888 } | 1888 } |
| 1889 | 1889 |
| 1890 void PropertyTrees::SetInnerViewportScrollBoundsDelta( | 1890 void PropertyTrees::SetInnerViewportScrollBoundsDelta( |
| 1891 gfx::Vector2dF bounds_delta) { | 1891 gfx::Vector2dF bounds_delta) { |
| 1892 inner_viewport_scroll_bounds_delta_ = bounds_delta; | 1892 inner_viewport_scroll_bounds_delta_ = bounds_delta; |
| 1893 } | 1893 } |
| 1894 | 1894 |
| 1895 void PropertyTrees::UpdateChangeTracking() { |
| 1896 for (int id = 1; id < static_cast<int>(effect_tree.size()); ++id) { |
| 1897 EffectNode* node = effect_tree.Node(id); |
| 1898 EffectNode* parent_node = effect_tree.parent(node); |
| 1899 effect_tree.UpdateEffectChanged(node, parent_node); |
| 1900 } |
| 1901 for (int i = 1; i < static_cast<int>(transform_tree.size()); ++i) { |
| 1902 TransformNode* node = transform_tree.Node(i); |
| 1903 TransformNode* parent_node = transform_tree.parent(node); |
| 1904 TransformNode* source_node = transform_tree.Node(node->data.source_node_id); |
| 1905 transform_tree.UpdateTransformChanged(node, parent_node, source_node); |
| 1906 } |
| 1907 } |
| 1908 |
| 1895 void PropertyTrees::PushChangeTrackingTo(PropertyTrees* tree) { | 1909 void PropertyTrees::PushChangeTrackingTo(PropertyTrees* tree) { |
| 1896 for (int id = 1; id < static_cast<int>(effect_tree.size()); ++id) { | 1910 for (int id = 1; id < static_cast<int>(effect_tree.size()); ++id) { |
| 1897 EffectNode* node = effect_tree.Node(id); | 1911 EffectNode* node = effect_tree.Node(id); |
| 1898 if (node->data.effect_changed) { | 1912 if (node->data.effect_changed) { |
| 1899 EffectNode* target_node = tree->effect_tree.Node(node->id); | 1913 EffectNode* target_node = tree->effect_tree.Node(node->id); |
| 1900 target_node->data.effect_changed = true; | 1914 target_node->data.effect_changed = true; |
| 1901 } | 1915 } |
| 1902 } | 1916 } |
| 1903 for (int id = 1; id < static_cast<int>(transform_tree.size()); ++id) { | 1917 for (int id = 1; id < static_cast<int>(transform_tree.size()); ++id) { |
| 1904 TransformNode* node = transform_tree.Node(id); | 1918 TransformNode* node = transform_tree.Node(id); |
| 1905 if (node->data.transform_changed) { | 1919 if (node->data.transform_changed) { |
| 1906 TransformNode* target_node = tree->transform_tree.Node(node->id); | 1920 TransformNode* target_node = tree->transform_tree.Node(node->id); |
| 1907 target_node->data.transform_changed = true; | 1921 target_node->data.transform_changed = true; |
| 1908 } | 1922 } |
| 1909 } | 1923 } |
| 1924 // Ensure that change tracking is updated even if property trees don't have |
| 1925 // other reasons to get updated. |
| 1926 tree->UpdateChangeTracking(); |
| 1910 tree->full_tree_damaged = full_tree_damaged; | 1927 tree->full_tree_damaged = full_tree_damaged; |
| 1911 } | 1928 } |
| 1912 | 1929 |
| 1913 void PropertyTrees::ResetAllChangeTracking(ResetFlags flag) { | 1930 void PropertyTrees::ResetAllChangeTracking(ResetFlags flag) { |
| 1914 switch (flag) { | 1931 switch (flag) { |
| 1915 case EFFECT_TREE: | 1932 case EFFECT_TREE: |
| 1916 effect_tree.ResetChangeTracking(); | 1933 effect_tree.ResetChangeTracking(); |
| 1917 break; | 1934 break; |
| 1918 case TRANSFORM_TREE: | 1935 case TRANSFORM_TREE: |
| 1919 transform_tree.ResetChangeTracking(); | 1936 transform_tree.ResetChangeTracking(); |
| 1920 break; | 1937 break; |
| 1921 case ALL_TREES: | 1938 case ALL_TREES: |
| 1922 transform_tree.ResetChangeTracking(); | 1939 transform_tree.ResetChangeTracking(); |
| 1923 effect_tree.ResetChangeTracking(); | 1940 effect_tree.ResetChangeTracking(); |
| 1924 } | 1941 } |
| 1925 changed = false; | 1942 changed = false; |
| 1926 full_tree_damaged = false; | 1943 full_tree_damaged = false; |
| 1927 } | 1944 } |
| 1928 | 1945 |
| 1929 } // namespace cc | 1946 } // namespace cc |
| OLD | NEW |