OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/layer_tree_impl.h" | 5 #include "cc/trees/layer_tree_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 IsActiveTree() ? ElementListType::ACTIVE : ElementListType::PENDING); | 635 IsActiveTree() ? ElementListType::ACTIVE : ElementListType::PENDING); |
636 | 636 |
637 element_layers_map_.erase(layer->element_id()); | 637 element_layers_map_.erase(layer->element_id()); |
638 } | 638 } |
639 | 639 |
640 void LayerTreeImpl::AddToOpacityAnimationsMap(int id, float opacity) { | 640 void LayerTreeImpl::AddToOpacityAnimationsMap(int id, float opacity) { |
641 if (LayerImpl* layer = LayerById(id)) | 641 if (LayerImpl* layer = LayerById(id)) |
642 element_id_to_opacity_animations_[layer->element_id()] = opacity; | 642 element_id_to_opacity_animations_[layer->element_id()] = opacity; |
643 } | 643 } |
644 | 644 |
645 void LayerTreeImpl::AddToTransformAnimationsMap(int id, | 645 void LayerTreeImpl::SetTransformMutated(ElementId element_id, |
646 gfx::Transform transform) { | 646 const gfx::Transform& transform) { |
647 if (LayerImpl* layer = LayerById(id)) | 647 DCHECK_EQ(1u, property_trees()->element_id_to_transform_node_index.count( |
648 element_id_to_transform_animations_[layer->element_id()] = transform; | 648 element_id)); |
| 649 element_id_to_transform_animations_[element_id] = transform; |
| 650 if (!property_trees()->transform_tree.OnTransformAnimated(element_id, |
| 651 transform)) |
| 652 return; |
| 653 |
| 654 if (LayerImpl* layer = LayerByElementId(element_id)) |
| 655 layer->set_was_ever_ready_since_last_transform_animation(false); |
| 656 |
| 657 set_needs_update_draw_properties(); |
649 } | 658 } |
650 | 659 |
651 void LayerTreeImpl::AddToFilterAnimationsMap(int id, | 660 void LayerTreeImpl::SetOpacityMutated(ElementId element_id, float opacity) { |
652 const FilterOperations& filters) { | 661 DCHECK_EQ( |
653 if (LayerImpl* layer = LayerById(id)) | 662 1u, property_trees()->element_id_to_effect_node_index.count(element_id)); |
654 element_id_to_filter_animations_[layer->element_id()] = filters; | 663 element_id_to_opacity_animations_[element_id] = opacity; |
| 664 if (property_trees()->effect_tree.OnOpacityAnimated(element_id, opacity)) |
| 665 set_needs_update_draw_properties(); |
| 666 } |
| 667 |
| 668 void LayerTreeImpl::SetFilterMutated(ElementId element_id, |
| 669 const FilterOperations& filters) { |
| 670 DCHECK_EQ( |
| 671 1u, property_trees()->element_id_to_effect_node_index.count(element_id)); |
| 672 element_id_to_filter_animations_[element_id] = filters; |
| 673 if (property_trees()->effect_tree.OnFilterAnimated(element_id, filters)) |
| 674 set_needs_update_draw_properties(); |
655 } | 675 } |
656 | 676 |
657 LayerImpl* LayerTreeImpl::InnerViewportContainerLayer() const { | 677 LayerImpl* LayerTreeImpl::InnerViewportContainerLayer() const { |
658 return InnerViewportScrollLayer() | 678 return InnerViewportScrollLayer() |
659 ? InnerViewportScrollLayer()->scroll_clip_layer() | 679 ? InnerViewportScrollLayer()->scroll_clip_layer() |
660 : NULL; | 680 : NULL; |
661 } | 681 } |
662 | 682 |
663 LayerImpl* LayerTreeImpl::OuterViewportContainerLayer() const { | 683 LayerImpl* LayerTreeImpl::OuterViewportContainerLayer() const { |
664 return OuterViewportScrollLayer() | 684 return OuterViewportScrollLayer() |
(...skipping 1492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2157 | 2177 |
2158 void LayerTreeImpl::ResetAllChangeTracking() { | 2178 void LayerTreeImpl::ResetAllChangeTracking() { |
2159 layers_that_should_push_properties_.clear(); | 2179 layers_that_should_push_properties_.clear(); |
2160 // Iterate over all layers, including masks. | 2180 // Iterate over all layers, including masks. |
2161 for (auto& layer : *layers_) | 2181 for (auto& layer : *layers_) |
2162 layer->ResetChangeTracking(); | 2182 layer->ResetChangeTracking(); |
2163 property_trees_.ResetAllChangeTracking(); | 2183 property_trees_.ResetAllChangeTracking(); |
2164 } | 2184 } |
2165 | 2185 |
2166 } // namespace cc | 2186 } // namespace cc |
OLD | NEW |