From bdf3c4b6d649707bdd98574b41e4d4bd307e0f9e Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Wed, 2 Dec 2015 16:02:26 -0800 Subject: [PATCH] Fix OpacityLayer to blend in the correct direction Fixes #610 --- sky/compositor/opacity_layer.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sky/compositor/opacity_layer.cc b/sky/compositor/opacity_layer.cc index 46d4b92a77f..ff5a814312b 100644 --- a/sky/compositor/opacity_layer.cc +++ b/sky/compositor/opacity_layer.cc @@ -14,11 +14,9 @@ OpacityLayer::~OpacityLayer() { } void OpacityLayer::Paint(PaintContext::ScopedFrame& frame) { - SkColor color = SkColorSetARGB(alpha_, 0, 0, 0); - RefPtr colorFilter = adoptRef( - SkColorFilter::CreateModeFilter(color, SkXfermode::kSrcOver_Mode)); SkPaint paint; - paint.setColorFilter(colorFilter.get()); + paint.setColor(SkColorSetARGB(alpha_, 0, 0, 0)); + paint.setXfermodeMode(SkXfermode::kSrcOver_Mode); SkCanvas& canvas = frame.canvas(); canvas.saveLayer(has_paint_bounds() ? &paint_bounds() : nullptr, &paint); PaintChildren(frame);