aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/composeshader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/composeshader.cpp')
-rw-r--r--gm/composeshader.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/gm/composeshader.cpp b/gm/composeshader.cpp
index b58f91f4c0..785f2bf4a5 100644
--- a/gm/composeshader.cpp
+++ b/gm/composeshader.cpp
@@ -14,7 +14,7 @@
#include "SkString.h"
#include "SkXfermode.h"
-static sk_sp<SkShader> make_shader(SkXfermode::Mode mode) {
+static sk_sp<SkShader> make_shader(SkBlendMode mode) {
SkPoint pts[2];
SkColor colors[2];
@@ -30,14 +30,13 @@ static sk_sp<SkShader> make_shader(SkXfermode::Mode mode) {
colors[1] = SkColorSetARGB(0x80, 0, 0, 0);
auto shaderB = SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShader::kClamp_TileMode);
- return SkShader::MakeComposeShader(std::move(shaderA), std::move(shaderB),
- SkXfermode::Make(mode));
+ return SkShader::MakeComposeShader(std::move(shaderA), std::move(shaderB), mode);
}
class ComposeShaderGM : public skiagm::GM {
public:
ComposeShaderGM() {
- fShader = make_shader(SkXfermode::kDstIn_Mode);
+ fShader = make_shader(SkBlendMode::kDstIn);
}
protected:
@@ -79,8 +78,8 @@ protected:
void onDraw(SkCanvas* canvas) override {
sk_sp<SkShader> shaders[] = {
- make_shader(SkXfermode::kDstIn_Mode),
- make_shader(SkXfermode::kSrcOver_Mode),
+ make_shader(SkBlendMode::kDstIn),
+ make_shader(SkBlendMode::kSrcOver),
};
SkPaint paint;
@@ -175,13 +174,13 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- auto xfer(SkXfermode::Make(SkXfermode::kDstOver_Mode));
+ SkBlendMode mode = SkBlendMode::kDstOver;
sk_sp<SkShader> shaders[] = {
// gradient should appear over color bitmap
- SkShader::MakeComposeShader(fLinearGradientShader, fColorBitmapShader, xfer),
+ SkShader::MakeComposeShader(fLinearGradientShader, fColorBitmapShader, mode),
// gradient should appear over alpha8 bitmap colorized by the paint color
- SkShader::MakeComposeShader(fLinearGradientShader, fAlpha8BitmapShader, xfer),
+ SkShader::MakeComposeShader(fLinearGradientShader, fAlpha8BitmapShader, mode),
};
SkPaint paint;
@@ -253,9 +252,8 @@ DEF_SIMPLE_GM(composeshader_bitmap2, canvas, 200, 200) {
sk_sp<SkImage> skMaskImage = SkImage::MakeFromBitmap(skMask);
sk_sp<SkShader> skMaskShader = skMaskImage->makeShader(
SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);
- sk_sp<SkXfermode> dstInMode = SkXfermode::Make(SkXfermode::kSrcIn_Mode);
paint.setShader(
- SkShader::MakeComposeShader(skMaskShader, skSrcShader, dstInMode));
+ SkShader::MakeComposeShader(skMaskShader, skSrcShader, SkBlendMode::kSrcIn));
canvas->drawRect(r, paint);
}