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_host.h" | 5 #include "cc/trees/layer_tree_host.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 1222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1233 | 1233 |
1234 void LayerTreeHost::SetElementOpacityMutated(ElementId element_id, | 1234 void LayerTreeHost::SetElementOpacityMutated(ElementId element_id, |
1235 ElementListType list_type, | 1235 ElementListType list_type, |
1236 float opacity) { | 1236 float opacity) { |
1237 Layer* layer = LayerByElementId(element_id); | 1237 Layer* layer = LayerByElementId(element_id); |
1238 DCHECK(layer); | 1238 DCHECK(layer); |
1239 DCHECK_GE(opacity, 0.f); | 1239 DCHECK_GE(opacity, 0.f); |
1240 DCHECK_LE(opacity, 1.f); | 1240 DCHECK_LE(opacity, 1.f); |
1241 layer->OnOpacityAnimated(opacity); | 1241 layer->OnOpacityAnimated(opacity); |
1242 | 1242 |
1243 if (property_trees_.IsInIdToIndexMap(PropertyTrees::TreeType::EFFECT, | 1243 if (EffectNode* node = |
1244 layer->id())) { | 1244 property_trees_.effect_tree.FindNodeFromOwningLayerId(layer->id())) { |
1245 DCHECK_EQ(layer->effect_tree_index(), | 1245 DCHECK_EQ(layer->effect_tree_index(), node->id); |
1246 property_trees_.layer_id_to_effect_node_index[layer->id()]); | |
1247 EffectNode* node = | |
1248 property_trees_.effect_tree.Node(layer->effect_tree_index()); | |
1249 if (node->opacity == opacity) | 1246 if (node->opacity == opacity) |
1250 return; | 1247 return; |
1251 | 1248 |
1252 node->opacity = opacity; | 1249 node->opacity = opacity; |
1253 property_trees_.effect_tree.set_needs_update(true); | 1250 property_trees_.effect_tree.set_needs_update(true); |
1254 } | 1251 } |
1255 | 1252 |
1256 SetNeedsUpdateLayers(); | 1253 SetNeedsUpdateLayers(); |
1257 } | 1254 } |
1258 | 1255 |
1259 void LayerTreeHost::SetElementTransformMutated( | 1256 void LayerTreeHost::SetElementTransformMutated( |
1260 ElementId element_id, | 1257 ElementId element_id, |
1261 ElementListType list_type, | 1258 ElementListType list_type, |
1262 const gfx::Transform& transform) { | 1259 const gfx::Transform& transform) { |
1263 Layer* layer = LayerByElementId(element_id); | 1260 Layer* layer = LayerByElementId(element_id); |
1264 DCHECK(layer); | 1261 DCHECK(layer); |
1265 layer->OnTransformAnimated(transform); | 1262 layer->OnTransformAnimated(transform); |
1266 | 1263 |
1267 if (property_trees_.IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM, | 1264 if (TransformNode* node = |
1268 layer->id())) { | 1265 property_trees_.transform_tree.FindNodeFromOwningLayerId( |
1269 DCHECK_EQ(layer->transform_tree_index(), | 1266 layer->id())) { |
1270 property_trees_.layer_id_to_transform_node_index[layer->id()]); | 1267 DCHECK_EQ(layer->transform_tree_index(), node->id); |
1271 TransformNode* node = | |
1272 property_trees_.transform_tree.Node(layer->transform_tree_index()); | |
1273 if (node->local == transform) | 1268 if (node->local == transform) |
1274 return; | 1269 return; |
1275 | 1270 |
1276 node->local = transform; | 1271 node->local = transform; |
1277 node->needs_local_transform_update = true; | 1272 node->needs_local_transform_update = true; |
1278 node->has_potential_animation = true; | 1273 node->has_potential_animation = true; |
1279 property_trees_.transform_tree.set_needs_update(true); | 1274 property_trees_.transform_tree.set_needs_update(true); |
1280 } | 1275 } |
1281 | 1276 |
1282 SetNeedsUpdateLayers(); | 1277 SetNeedsUpdateLayers(); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1331 LayerListReverseIterator<Layer> LayerTreeHost::rend() { | 1326 LayerListReverseIterator<Layer> LayerTreeHost::rend() { |
1332 return LayerListReverseIterator<Layer>(nullptr); | 1327 return LayerListReverseIterator<Layer>(nullptr); |
1333 } | 1328 } |
1334 | 1329 |
1335 void LayerTreeHost::SetNeedsDisplayOnAllLayers() { | 1330 void LayerTreeHost::SetNeedsDisplayOnAllLayers() { |
1336 for (auto* layer : *this) | 1331 for (auto* layer : *this) |
1337 layer->SetNeedsDisplay(); | 1332 layer->SetNeedsDisplay(); |
1338 } | 1333 } |
1339 | 1334 |
1340 } // namespace cc | 1335 } // namespace cc |
OLD | NEW |