Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(451)

Side by Side Diff: cc/trees/property_tree.h

Issue 1633203002: cc :: Reland compute if layer is drawn from property trees (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 237
238 typedef TreeNode<ClipNodeData> ClipNode; 238 typedef TreeNode<ClipNodeData> ClipNode;
239 239
240 struct CC_EXPORT EffectNodeData { 240 struct CC_EXPORT EffectNodeData {
241 EffectNodeData(); 241 EffectNodeData();
242 242
243 float opacity; 243 float opacity;
244 float screen_space_opacity; 244 float screen_space_opacity;
245 245
246 bool has_render_surface; 246 bool has_render_surface;
247 bool has_copy_request;
248 bool has_background_filters;
249 bool is_drawn;
250 bool screen_space_opacity_is_animating;
247 int num_copy_requests_in_subtree; 251 int num_copy_requests_in_subtree;
248 int transform_id; 252 int transform_id;
249 int clip_id; 253 int clip_id;
250 254
251 bool operator==(const EffectNodeData& other) const; 255 bool operator==(const EffectNodeData& other) const;
252 256
253 void ToProtobuf(proto::TreeNode* proto) const; 257 void ToProtobuf(proto::TreeNode* proto) const;
254 void FromProtobuf(const proto::TreeNode& proto); 258 void FromProtobuf(const proto::TreeNode& proto);
255 }; 259 };
256 260
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 }; 496 };
493 497
494 class CC_EXPORT EffectTree final : public PropertyTree<EffectNode> { 498 class CC_EXPORT EffectTree final : public PropertyTree<EffectNode> {
495 public: 499 public:
496 bool operator==(const EffectTree& other) const; 500 bool operator==(const EffectTree& other) const;
497 501
498 void UpdateEffects(int id); 502 void UpdateEffects(int id);
499 503
500 void ClearCopyRequests(); 504 void ClearCopyRequests();
501 505
506 bool ContributesToDrawnSurface(int id);
507
502 void ToProtobuf(proto::PropertyTree* proto) const; 508 void ToProtobuf(proto::PropertyTree* proto) const;
503 void FromProtobuf(const proto::PropertyTree& proto); 509 void FromProtobuf(const proto::PropertyTree& proto);
504 510
505 private: 511 private:
506 void UpdateOpacities(EffectNode* node, EffectNode* parent_node); 512 void UpdateOpacities(EffectNode* node, EffectNode* parent_node);
513 void UpdateIsDrawn(EffectNode* node, EffectNode* parent_node);
507 }; 514 };
508 515
509 class CC_EXPORT ScrollTree final : public PropertyTree<ScrollNode> { 516 class CC_EXPORT ScrollTree final : public PropertyTree<ScrollNode> {
510 public: 517 public:
511 bool operator==(const ScrollTree& other) const; 518 bool operator==(const ScrollTree& other) const;
512 519
513 void ToProtobuf(proto::PropertyTree* proto) const; 520 void ToProtobuf(proto::PropertyTree* proto) const;
514 void FromProtobuf(const proto::PropertyTree& proto); 521 void FromProtobuf(const proto::PropertyTree& proto);
515 }; 522 };
516 523
(...skipping 12 matching lines...) Expand all
529 ClipTree clip_tree; 536 ClipTree clip_tree;
530 ScrollTree scroll_tree; 537 ScrollTree scroll_tree;
531 bool needs_rebuild; 538 bool needs_rebuild;
532 bool non_root_surfaces_enabled; 539 bool non_root_surfaces_enabled;
533 int sequence_number; 540 int sequence_number;
534 }; 541 };
535 542
536 } // namespace cc 543 } // namespace cc
537 544
538 #endif // CC_TREES_PROPERTY_TREE_H_ 545 #endif // CC_TREES_PROPERTY_TREE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698