Index: cc/quads/shared_quad_state.cc |
diff --git a/cc/quads/shared_quad_state.cc b/cc/quads/shared_quad_state.cc |
index 6a53d9f6a9f8d1a410deacb6ae8fc44d745d28ed..4ecdb3cd147aea6495e4fe7bdb911dcbed89f81f 100644 |
--- a/cc/quads/shared_quad_state.cc |
+++ b/cc/quads/shared_quad_state.cc |
@@ -10,7 +10,49 @@ |
namespace cc { |
-SharedQuadState::SharedQuadState() : is_clipped(false), opacity(0.f) {} |
+namespace { |
+ |
+const char* BlendModeToString(SkXfermode::Mode blendMode) { |
enne (OOO)
2013/11/01 18:49:02
blend_mode
rosca
2013/11/04 17:14:34
Done.
|
+ switch (blendMode) { |
+ case SkXfermode::kMultiply_Mode: |
+ return "multiply"; |
+ case SkXfermode::kScreen_Mode: |
+ return "screen"; |
+ case SkXfermode::kOverlay_Mode: |
+ return "overlay"; |
+ case SkXfermode::kDarken_Mode: |
+ return "darken"; |
+ case SkXfermode::kLighten_Mode: |
+ return "lighten"; |
+ case SkXfermode::kColorDodge_Mode: |
+ return "color-dodge"; |
+ case SkXfermode::kColorBurn_Mode: |
+ return "color-burn"; |
+ case SkXfermode::kHardLight_Mode: |
+ return "hard-light"; |
+ case SkXfermode::kSoftLight_Mode: |
+ return "soft-light"; |
+ case SkXfermode::kDifference_Mode: |
+ return "difference"; |
+ case SkXfermode::kExclusion_Mode: |
+ return "exclusion"; |
+ case SkXfermode::kHue_Mode: |
+ return "hue"; |
+ case SkXfermode::kSaturation_Mode: |
+ return "saturation"; |
+ case SkXfermode::kColor_Mode: |
+ return "color"; |
+ case SkXfermode::kLuminosity_Mode: |
+ return "luminosity"; |
+ default: |
+ return "normal"; |
+ } |
+} |
+ |
+} // namespace |
+ |
+SharedQuadState::SharedQuadState() |
+ : is_clipped(false), opacity(0.f), blend_mode(SkXfermode::kSrcOver_Mode) {} |
SharedQuadState::~SharedQuadState() { |
TRACE_EVENT_OBJECT_DELETED_WITH_ID( |
@@ -26,19 +68,20 @@ scoped_ptr<SharedQuadState> SharedQuadState::Copy() const { |
return make_scoped_ptr(new SharedQuadState(*this)); |
} |
-void SharedQuadState::SetAll( |
- const gfx::Transform& content_to_target_transform, |
- gfx::Size content_bounds, |
- gfx::Rect visible_content_rect, |
- gfx::Rect clip_rect, |
- bool is_clipped, |
- float opacity) { |
+void SharedQuadState::SetAll(const gfx::Transform& content_to_target_transform, |
+ gfx::Size content_bounds, |
+ gfx::Rect visible_content_rect, |
+ gfx::Rect clip_rect, |
+ bool is_clipped, |
+ float opacity, |
+ SkXfermode::Mode blend_mode) { |
this->content_to_target_transform = content_to_target_transform; |
this->content_bounds = content_bounds; |
this->visible_content_rect = visible_content_rect; |
this->clip_rect = clip_rect; |
this->is_clipped = is_clipped; |
this->opacity = opacity; |
+ this->blend_mode = blend_mode; |
} |
scoped_ptr<base::Value> SharedQuadState::AsValue() const { |
@@ -52,6 +95,7 @@ scoped_ptr<base::Value> SharedQuadState::AsValue() const { |
value->SetBoolean("is_clipped", is_clipped); |
value->Set("clip_rect", MathUtil::AsValue(clip_rect).release()); |
value->SetDouble("opacity", opacity); |
+ value->SetString("blend_mode", BlendModeToString(blend_mode)); |
TracedValue::MakeDictIntoImplicitSnapshotWithCategory( |
TRACE_DISABLED_BY_DEFAULT("cc.debug.quads"), |
value.get(), "cc::SharedQuadState", this); |