diff options
author | 2016-10-05 17:33:02 -0700 | |
---|---|---|
committer | 2016-10-05 17:33:03 -0700 | |
commit | 374772bd61951f01bf84fe17bf53d8867681c9ae (patch) | |
tree | ade94be090be12f7503fd35e77c4dae2dc1f0a47 /src/core/SkCanvas.cpp | |
parent | 61c21cdcc31081a1bd4a3a7480b482d135f7df33 (diff) |
Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints"
This reverts commit c245574ba3d0e2ade6c94b2812de3baa383bf4c4.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2396953002
TBR=
Review-Url: https://codereview.chromium.org/2396953002
Diffstat (limited to 'src/core/SkCanvas.cpp')
-rw-r--r-- | src/core/SkCanvas.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 7db8601846..cf3b5309c4 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -484,7 +484,7 @@ public: */ SkPaint tmp; tmp.setImageFilter(fPaint->getImageFilter()); - tmp.setXfermode(sk_ref_sp(fPaint->getXfermode())); + tmp.setBlendMode(fPaint->getBlendMode()); SkRect storage; if (rawBounds) { // Make rawBounds include all paint outsets except for those due to image filters. @@ -558,7 +558,7 @@ bool AutoDrawLooper::doNext(SkDrawFilter::Type drawType) { if (fTempLayerForImageFilter) { paint->setImageFilter(nullptr); - paint->setXfermode(nullptr); + paint->setBlendMode(SkBlendMode::kSrcOver); } if (fLooperContext && !fLooperContext->next(fCanvas, paint)) { @@ -2634,7 +2634,7 @@ void SkCanvas::DrawTextDecorations(const SkDraw& draw, const SkPaint& paint, // nothing to draw if (text == nullptr || byteLength == 0 || draw.fRC->isEmpty() || - (paint.getAlpha() == 0 && paint.getXfermode() == nullptr)) { + (paint.getAlpha() == 0 && paint.isSrcOver())) { return; } @@ -2938,26 +2938,21 @@ void SkCanvas::onDrawAnnotation(const SkRect& rect, const char key[], SkData* va // methods, rather than actually drawing themselves. ////////////////////////////////////////////////////////////////////////////// -void SkCanvas::drawARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b, - SkXfermode::Mode mode) { +void SkCanvas::drawARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b, SkBlendMode mode) { TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawARGB()"); SkPaint paint; paint.setARGB(a, r, g, b); - if (SkXfermode::kSrcOver_Mode != mode) { - paint.setXfermodeMode(mode); - } + paint.setBlendMode(mode); this->drawPaint(paint); } -void SkCanvas::drawColor(SkColor c, SkXfermode::Mode mode) { +void SkCanvas::drawColor(SkColor c, SkBlendMode mode) { TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawColor()"); SkPaint paint; paint.setColor(c); - if (SkXfermode::kSrcOver_Mode != mode) { - paint.setXfermodeMode(mode); - } + paint.setBlendMode(mode); this->drawPaint(paint); } |