| 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..3c568b127546fb2f77817a319cdec3819a09c09a 100644
|
| --- a/cc/quads/shared_quad_state.cc
|
| +++ b/cc/quads/shared_quad_state.cc
|
| @@ -10,7 +10,34 @@
|
|
|
| namespace cc {
|
|
|
| -SharedQuadState::SharedQuadState() : is_clipped(false), opacity(0.f) {}
|
| +namespace {
|
| +
|
| +const char* BlendModeToString(SkXfermode::Mode blendMode) {
|
| + 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(
|
| @@ -32,13 +59,15 @@ void SharedQuadState::SetAll(
|
| gfx::Rect visible_content_rect,
|
| gfx::Rect clip_rect,
|
| bool is_clipped,
|
| - float opacity) {
|
| + 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 +81,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);
|
|
|