aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkCanvas.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2016-10-05 14:03:43 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-10-05 18:31:17 +0000
commit2b2fc7db4f8a4a4d4a51d7eb4df6aa62e309928d (patch)
treecfa3f2de434cb5dcabf98720460105964f78bfc3 /src/core/SkCanvas.cpp
parentdbb84c268bd09d2aa47256b5315a87f891583b6b (diff)
Revert[6] "replace SkXfermode obj with SkBlendMode enum in paints"
- perform version check in CreateProc for XfermodeImageFilter and ArithmeticImageFilter This reverts commit 3ed485f4249e17abb4b11f5018d03175fd1afb44. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2992 Change-Id: Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8 Reviewed-on: https://skia-review.googlesource.com/2992 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/core/SkCanvas.cpp')
-rw-r--r--src/core/SkCanvas.cpp19
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);
}