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 #ifndef CC_TREES_PROPERTY_TREE_H_ | 5 #ifndef CC_TREES_PROPERTY_TREE_H_ |
6 #define CC_TREES_PROPERTY_TREE_H_ | 6 #define CC_TREES_PROPERTY_TREE_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 | 235 |
236 typedef TreeNode<ClipNodeData> ClipNode; | 236 typedef TreeNode<ClipNodeData> ClipNode; |
237 | 237 |
238 struct CC_EXPORT EffectNodeData { | 238 struct CC_EXPORT EffectNodeData { |
239 EffectNodeData(); | 239 EffectNodeData(); |
240 | 240 |
241 float opacity; | 241 float opacity; |
242 float screen_space_opacity; | 242 float screen_space_opacity; |
243 | 243 |
244 bool has_render_surface; | 244 bool has_render_surface; |
| 245 bool has_copy_request; |
| 246 bool has_background_filters; |
| 247 bool is_drawn; |
| 248 bool screen_space_opacity_is_animating; |
245 int num_copy_requests_in_subtree; | 249 int num_copy_requests_in_subtree; |
246 int transform_id; | 250 int transform_id; |
247 int clip_id; | 251 int clip_id; |
248 | 252 |
249 bool operator==(const EffectNodeData& other) const; | 253 bool operator==(const EffectNodeData& other) const; |
250 | 254 |
251 void ToProtobuf(proto::TreeNode* proto) const; | 255 void ToProtobuf(proto::TreeNode* proto) const; |
252 void FromProtobuf(const proto::TreeNode& proto); | 256 void FromProtobuf(const proto::TreeNode& proto); |
253 }; | 257 }; |
254 | 258 |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
472 }; | 476 }; |
473 | 477 |
474 class CC_EXPORT EffectTree final : public PropertyTree<EffectNode> { | 478 class CC_EXPORT EffectTree final : public PropertyTree<EffectNode> { |
475 public: | 479 public: |
476 bool operator==(const EffectTree& other) const; | 480 bool operator==(const EffectTree& other) const; |
477 | 481 |
478 void UpdateEffects(int id); | 482 void UpdateEffects(int id); |
479 | 483 |
480 void ClearCopyRequests(); | 484 void ClearCopyRequests(); |
481 | 485 |
| 486 bool ContributesToDrawnSurface(int id); |
| 487 |
482 void ToProtobuf(proto::PropertyTree* proto) const; | 488 void ToProtobuf(proto::PropertyTree* proto) const; |
483 void FromProtobuf(const proto::PropertyTree& proto); | 489 void FromProtobuf(const proto::PropertyTree& proto); |
484 | 490 |
485 private: | 491 private: |
486 void UpdateOpacities(EffectNode* node, EffectNode* parent_node); | 492 void UpdateOpacities(EffectNode* node, EffectNode* parent_node); |
| 493 void UpdateIsDrawn(EffectNode* node, EffectNode* parent_node); |
487 }; | 494 }; |
488 | 495 |
489 class CC_EXPORT PropertyTrees final { | 496 class CC_EXPORT PropertyTrees final { |
490 public: | 497 public: |
491 PropertyTrees(); | 498 PropertyTrees(); |
492 | 499 |
493 bool operator==(const PropertyTrees& other) const; | 500 bool operator==(const PropertyTrees& other) const; |
494 | 501 |
495 void ToProtobuf(proto::PropertyTrees* proto) const; | 502 void ToProtobuf(proto::PropertyTrees* proto) const; |
496 void FromProtobuf(const proto::PropertyTrees& proto); | 503 void FromProtobuf(const proto::PropertyTrees& proto); |
497 | 504 |
498 TransformTree transform_tree; | 505 TransformTree transform_tree; |
499 EffectTree effect_tree; | 506 EffectTree effect_tree; |
500 ClipTree clip_tree; | 507 ClipTree clip_tree; |
501 bool needs_rebuild; | 508 bool needs_rebuild; |
502 bool non_root_surfaces_enabled; | 509 bool non_root_surfaces_enabled; |
503 int sequence_number; | 510 int sequence_number; |
504 }; | 511 }; |
505 | 512 |
506 } // namespace cc | 513 } // namespace cc |
507 | 514 |
508 #endif // CC_TREES_PROPERTY_TREE_H_ | 515 #endif // CC_TREES_PROPERTY_TREE_H_ |
OLD | NEW |