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

Unified Diff: cc/trees/effect_node.cc

Issue 2184773002: cc: Move blend_mode to the effect tree (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/effect_node.h ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/effect_node.cc
diff --git a/cc/trees/effect_node.cc b/cc/trees/effect_node.cc
index 58e9f3bcf8cbd199386a8be1f5bcf9cbe2fa6149..b3f88a906da5685f606e0a1b006df011c79254bb 100644
--- a/cc/trees/effect_node.cc
+++ b/cc/trees/effect_node.cc
@@ -5,6 +5,7 @@
#include "base/trace_event/trace_event_argument.h"
#include "cc/proto/gfx_conversions.h"
#include "cc/proto/property_tree.pb.h"
+#include "cc/proto/skia_conversions.h"
#include "cc/trees/effect_node.h"
namespace cc {
@@ -15,6 +16,7 @@ EffectNode::EffectNode()
owner_id(-1),
opacity(1.f),
screen_space_opacity(1.f),
+ blend_mode(SkXfermode::kSrcOver_Mode),
has_render_surface(false),
render_surface(nullptr),
has_copy_request(false),
@@ -46,6 +48,7 @@ bool EffectNode::operator==(const EffectNode& other) const {
has_copy_request == other.has_copy_request &&
filters == other.filters &&
background_filters == other.background_filters &&
+ blend_mode == other.blend_mode &&
surface_contents_scale == other.surface_contents_scale &&
hidden_by_backface_visibility == other.hidden_by_backface_visibility &&
double_sided == other.double_sided && is_drawn == other.is_drawn &&
@@ -74,6 +77,7 @@ void EffectNode::ToProtobuf(proto::TreeNode* proto) const {
proto::EffectNodeData* data = proto->mutable_effect_node_data();
data->set_opacity(opacity);
data->set_screen_space_opacity(screen_space_opacity);
+ data->set_blend_mode(SkXfermodeModeToProto(blend_mode));
data->set_has_render_surface(has_render_surface);
data->set_has_copy_request(has_copy_request);
data->set_hidden_by_backface_visibility(hidden_by_backface_visibility);
@@ -106,6 +110,7 @@ void EffectNode::FromProtobuf(const proto::TreeNode& proto) {
opacity = data.opacity();
screen_space_opacity = data.screen_space_opacity();
+ blend_mode = SkXfermodeModeFromProto(data.blend_mode());
has_render_surface = data.has_render_surface();
has_copy_request = data.has_copy_request();
hidden_by_backface_visibility = data.hidden_by_backface_visibility();
« no previous file with comments | « cc/trees/effect_node.h ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698