Index: cc/trees/effect_node.h |
diff --git a/cc/trees/effect_node.h b/cc/trees/effect_node.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1e3c73c8756b91cc4b7b1525b8a98e4530eb2812 |
--- /dev/null |
+++ b/cc/trees/effect_node.h |
@@ -0,0 +1,73 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CC_TREES_EFFECT_NODE_H_ |
+#define CC_TREES_EFFECT_NODE_H_ |
+ |
+#include "cc/base/cc_export.h" |
+#include "cc/output/filter_operations.h" |
+ |
+namespace base { |
+namespace trace_event { |
+class TracedValue; |
+} // namespace trace_event |
+} // namespace base |
+ |
+namespace cc { |
+ |
+class RenderSurfaceImpl; |
+ |
+namespace proto { |
+class TreeNode; |
+} // namespace proto |
+ |
+struct CC_EXPORT EffectNode { |
+ EffectNode(); |
+ EffectNode(const EffectNode& other); |
+ |
+ int id; |
+ int parent_id; |
+ int owner_id; |
+ |
+ float opacity; |
+ float screen_space_opacity; |
+ |
+ FilterOperations background_filters; |
+ |
+ gfx::Vector2dF sublayer_scale; |
+ |
+ bool has_render_surface; |
+ RenderSurfaceImpl* render_surface; |
+ bool has_copy_request; |
+ bool hidden_by_backface_visibility; |
+ bool double_sided; |
+ bool is_drawn; |
+ // TODO(jaydasika) : Delete this after implementation of |
+ // SetHideLayerAndSubtree is cleaned up. (crbug.com/595843) |
+ bool subtree_hidden; |
+ bool has_potential_opacity_animation; |
+ bool is_currently_animating_opacity; |
+ // We need to track changes to effects on the compositor to compute damage |
+ // rect. |
+ bool effect_changed; |
+ int num_copy_requests_in_subtree; |
+ bool has_unclipped_descendants; |
+ int transform_id; |
+ int clip_id; |
+ // Effect node id of which this effect contributes to. |
+ int target_id; |
+ int mask_layer_id; |
+ int replica_layer_id; |
+ int replica_mask_layer_id; |
+ |
+ bool operator==(const EffectNode& other) const; |
+ |
+ void ToProtobuf(proto::TreeNode* proto) const; |
+ void FromProtobuf(const proto::TreeNode& proto); |
+ void AsValueInto(base::trace_event::TracedValue* value) const; |
+}; |
+ |
+} // namespace cc |
+ |
+#endif // CC_TREES_EFFECT_NODE_H_ |