aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/aaxfermodes.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2016-10-03 21:34:16 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-10-03 21:34:36 +0000
commit2cbcd12281ee807214df094964c584c78932e10b (patch)
tree456f2c92158b18a8b010cc6e5bb594b73fbb998e /gm/aaxfermodes.cpp
parent418374c0d27280f3a1161601ae5fab28a76a0d3c (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.cpp23
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;