diff options
author | Mike Reed <reed@google.com> | 2016-10-03 21:34:16 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-10-03 21:34:36 +0000 |
commit | 2cbcd12281ee807214df094964c584c78932e10b (patch) | |
tree | 456f2c92158b18a8b010cc6e5bb594b73fbb998e /gm/aaxfermodes.cpp | |
parent | 418374c0d27280f3a1161601ae5fab28a76a0d3c (diff) |
Revert "Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints"""
This reverts commit I86875511a13497112827cbaed1dbd7639e9e3d10.
legacy (100K) skp failure
Original change's description:
> Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""
>
> This reverts commit ce02e7175872abde3721df9e5d3ec0ab8384cd8e.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878
>
> Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
> Reviewed-on: https://skia-review.googlesource.com/2878
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>
TBR=msarett@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ife6f0cf3a22b3e8cf885a188f7f44e1ff62e06a5
Reviewed-on: https://skia-review.googlesource.com/2881
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'gm/aaxfermodes.cpp')
-rw-r--r-- | gm/aaxfermodes.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/gm/aaxfermodes.cpp b/gm/aaxfermodes.cpp index 7106ce8174..678a8379e3 100644 --- a/gm/aaxfermodes.cpp +++ b/gm/aaxfermodes.cpp @@ -121,7 +121,7 @@ protected: if (firstMode + m > SkXfermode::kLastMode) { break; } - SkBlendMode mode = static_cast<SkBlendMode>(firstMode + m); + SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(firstMode + m); canvas->save(); if (kShape_Pass == drawingPass) { @@ -144,7 +144,7 @@ protected: 10); } else { SkASSERT(kBackground_Pass == drawingPass); - canvas->drawColor(kBGColor, SkBlendMode::kSrc); + canvas->drawColor(kBGColor, SkXfermode::kSrc_Mode); } canvas->restore(); } else { @@ -190,17 +190,18 @@ protected: canvas->restore(); } - void drawModeName(SkCanvas* canvas, SkBlendMode mode) { - const char* modeName = SkXfermode::ModeName(mode); + void drawModeName(SkCanvas* canvas, SkXfermode::Mode mode) { + const char* modeName = mode <= SkXfermode::kLastMode ? SkXfermode::ModeName(mode) + : "Arithmetic"; fLabelPaint.setTextAlign(SkPaint::kRight_Align); canvas->drawText(modeName, strlen(modeName), kLabelSpacing - kShapeSize / 4, fLabelPaint.getTextSize() / 4, fLabelPaint); } - void setupShapePaint(SkCanvas* canvas, GrColor color, SkBlendMode mode, SkPaint* paint) { + void setupShapePaint(SkCanvas* canvas, GrColor color, SkXfermode::Mode mode, SkPaint* paint) { paint->setColor(color); - if (mode == SkBlendMode::kPlus) { + if (mode == SkXfermode::kPlus_Mode) { // Check for overflow, otherwise we might get confusing AA artifacts. int maxSum = SkTMax(SkTMax(SkColorGetA(kBGColor) + SkColorGetA(color), SkColorGetR(kBGColor) + SkColorGetR(color)), @@ -210,7 +211,7 @@ protected: if (maxSum > 255) { SkPaint dimPaint; dimPaint.setAntiAlias(false); - dimPaint.setBlendMode(SkBlendMode::kDstIn); + dimPaint.setXfermodeMode(SkXfermode::kDstIn_Mode); if (255 != paint->getAlpha()) { // Dim the src and dst colors. dimPaint.setARGB(255 * 255 / maxSum, 0, 0, 0); @@ -226,11 +227,11 @@ protected: } } - void drawShape(SkCanvas* canvas, Shape shape, const SkPaint& paint, SkBlendMode mode) { - SkASSERT(mode <= SkBlendMode::kLastMode); + void drawShape(SkCanvas* canvas, Shape shape, const SkPaint& paint, SkXfermode::Mode mode) { + SkASSERT(mode <= SkXfermode::kLastMode); SkPaint shapePaint(paint); shapePaint.setAntiAlias(kSquare_Shape != shape); - shapePaint.setBlendMode(mode); + shapePaint.setXfermodeMode(mode); switch (shape) { case kSquare_Shape: @@ -248,7 +249,7 @@ protected: case kOval_Shape: canvas->save(); - canvas->rotate(static_cast<SkScalar>((511 * (int)mode + 257) % 360)); + canvas->rotate(static_cast<SkScalar>((511 * mode + 257) % 360)); canvas->drawPath(fOval, shapePaint); canvas->restore(); break; |