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 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 IsActiveTree() ? ElementListType::ACTIVE : ElementListType::PENDING); | 623 IsActiveTree() ? ElementListType::ACTIVE : ElementListType::PENDING); |
624 | 624 |
625 element_layers_map_.erase(layer->element_id()); | 625 element_layers_map_.erase(layer->element_id()); |
626 } | 626 } |
627 | 627 |
628 void LayerTreeImpl::AddToOpacityAnimationsMap(int id, float opacity) { | 628 void LayerTreeImpl::AddToOpacityAnimationsMap(int id, float opacity) { |
629 if (LayerImpl* layer = LayerById(id)) | 629 if (LayerImpl* layer = LayerById(id)) |
630 element_id_to_opacity_animations_[layer->element_id()] = opacity; | 630 element_id_to_opacity_animations_[layer->element_id()] = opacity; |
631 } | 631 } |
632 | 632 |
633 void LayerTreeImpl::AddToTransformAnimationsMap(int id, | 633 void LayerTreeImpl::SetTreeLayerTransformMutated( |
634 gfx::Transform transform) { | 634 ElementId element_id, |
635 if (LayerImpl* layer = LayerById(id)) | 635 const gfx::Transform& transform) { |
636 element_id_to_transform_animations_[layer->element_id()] = transform; | 636 DCHECK_EQ(1u, property_trees()->element_id_to_transform_node_index.count( |
| 637 element_id)); |
| 638 element_id_to_transform_animations_[element_id] = transform; |
| 639 property_trees()->transform_tree.OnTransformAnimated(element_id, transform); |
| 640 |
| 641 if (LayerImpl* layer = LayerByElementId(element_id)) |
| 642 layer->set_was_ever_ready_since_last_transform_animation(false); |
| 643 |
| 644 set_needs_update_draw_properties(); |
637 } | 645 } |
638 | 646 |
639 void LayerTreeImpl::AddToFilterAnimationsMap(int id, | 647 void LayerTreeImpl::SetTreeLayerOpacityMutated(ElementId element_id, |
640 const FilterOperations& filters) { | 648 float opacity) { |
641 if (LayerImpl* layer = LayerById(id)) | 649 DCHECK_EQ( |
642 element_id_to_filter_animations_[layer->element_id()] = filters; | 650 1u, property_trees()->element_id_to_effect_node_index.count(element_id)); |
| 651 element_id_to_opacity_animations_[element_id] = opacity; |
| 652 property_trees()->effect_tree.OnOpacityAnimated(element_id, opacity); |
| 653 set_needs_update_draw_properties(); |
| 654 } |
| 655 |
| 656 void LayerTreeImpl::SetTreeLayerFilterMutated(ElementId element_id, |
| 657 const FilterOperations& filters) { |
| 658 DCHECK_EQ( |
| 659 1u, property_trees()->element_id_to_effect_node_index.count(element_id)); |
| 660 element_id_to_filter_animations_[element_id] = filters; |
| 661 property_trees()->effect_tree.OnFilterAnimated(element_id, filters); |
| 662 set_needs_update_draw_properties(); |
643 } | 663 } |
644 | 664 |
645 LayerImpl* LayerTreeImpl::InnerViewportContainerLayer() const { | 665 LayerImpl* LayerTreeImpl::InnerViewportContainerLayer() const { |
646 return InnerViewportScrollLayer() | 666 return InnerViewportScrollLayer() |
647 ? InnerViewportScrollLayer()->scroll_clip_layer() | 667 ? InnerViewportScrollLayer()->scroll_clip_layer() |
648 : NULL; | 668 : NULL; |
649 } | 669 } |
650 | 670 |
651 LayerImpl* LayerTreeImpl::OuterViewportContainerLayer() const { | 671 LayerImpl* LayerTreeImpl::OuterViewportContainerLayer() const { |
652 return OuterViewportScrollLayer() | 672 return OuterViewportScrollLayer() |
(...skipping 1500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2153 | 2173 |
2154 void LayerTreeImpl::ResetAllChangeTracking() { | 2174 void LayerTreeImpl::ResetAllChangeTracking() { |
2155 layers_that_should_push_properties_.clear(); | 2175 layers_that_should_push_properties_.clear(); |
2156 // Iterate over all layers, including masks. | 2176 // Iterate over all layers, including masks. |
2157 for (auto& layer : *layers_) | 2177 for (auto& layer : *layers_) |
2158 layer->ResetChangeTracking(); | 2178 layer->ResetChangeTracking(); |
2159 property_trees_.ResetAllChangeTracking(); | 2179 property_trees_.ResetAllChangeTracking(); |
2160 } | 2180 } |
2161 | 2181 |
2162 } // namespace cc | 2182 } // namespace cc |
OLD | NEW |