diff options
Diffstat (limited to 'gm/modecolorfilters.cpp')
-rw-r--r-- | gm/modecolorfilters.cpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/gm/modecolorfilters.cpp b/gm/modecolorfilters.cpp index b5ede710f1..de6a18a41c 100644 --- a/gm/modecolorfilters.cpp +++ b/gm/modecolorfilters.cpp @@ -6,7 +6,6 @@ */ #include "gm.h" -#include "SkBitmapProcShader.h" #include "SkColorFilter.h" #include "SkGradientShader.h" @@ -16,27 +15,27 @@ namespace skiagm { // Using gradients because GPU doesn't currently have an implementation of SkColorShader (duh!) -static SkShader* make_color_shader(SkColor color) { +static sk_sp<SkShader> make_color_shader(SkColor color) { static const SkPoint kPts[] = {{0, 0}, {1, 1}}; SkColor colors[] = {color, color}; - return SkGradientShader::CreateLinear(kPts, colors, nullptr, 2, SkShader::kClamp_TileMode); + return SkGradientShader::MakeLinear(kPts, colors, nullptr, 2, SkShader::kClamp_TileMode); } -static SkShader* make_solid_shader() { +static sk_sp<SkShader> make_solid_shader() { return make_color_shader(SkColorSetARGB(0xFF, 0x42, 0x82, 0x21)); } -static SkShader* make_transparent_shader() { +static sk_sp<SkShader> make_transparent_shader() { return make_color_shader(SkColorSetARGB(0x80, 0x10, 0x70, 0x20)); } -static SkShader* make_trans_black_shader() { +static sk_sp<SkShader> make_trans_black_shader() { return make_color_shader(0x0); } // draws a background behind each test rect to see transparency -static SkShader* make_bg_shader(int checkSize) { +static sk_sp<SkShader> make_bg_shader(int checkSize) { SkBitmap bmp; bmp.allocN32Pixels(2 * checkSize, 2 * checkSize); SkCanvas canvas(bmp); @@ -49,7 +48,7 @@ static SkShader* make_bg_shader(int checkSize) { SkIntToScalar(checkSize), SkIntToScalar(checkSize)); canvas.drawRect(rect1, paint); canvas.drawRect(rect0, paint); - return new SkBitmapProcShader(bmp, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode); + return SkShader::MakeBitmapShader(bmp, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode); } class ModeColorFilterGM : public GM { @@ -59,15 +58,15 @@ public: } protected: - virtual SkString onShortName() { + SkString onShortName() override { return SkString("modecolorfilters"); } - virtual SkISize onISize() { + SkISize onISize() override { return SkISize::Make(WIDTH, HEIGHT); } - virtual void onDraw(SkCanvas* canvas) { + void onDraw(SkCanvas* canvas) override { // size of rect for each test case static const int kRectWidth = 20; static const int kRectHeight = 20; @@ -75,13 +74,13 @@ protected: static const int kCheckSize = 10; if (!fBmpShader) { - fBmpShader.reset(make_bg_shader(kCheckSize)); + fBmpShader = make_bg_shader(kCheckSize); } SkPaint bgPaint; bgPaint.setShader(fBmpShader); bgPaint.setXfermodeMode(SkXfermode::kSrc_Mode); - SkShader* shaders[] = { + sk_sp<SkShader> shaders[] = { nullptr, // use a paint color instead of a shader make_solid_shader(), make_transparent_shader(), @@ -146,14 +145,10 @@ protected: } } } - - for (size_t i = 0; i < SK_ARRAY_COUNT(shaders); ++i) { - SkSafeUnref(shaders[i]); - } } private: - SkAutoTUnref<SkShader> fBmpShader; + sk_sp<SkShader> fBmpShader; typedef GM INHERITED; }; |