diff options
author | reed <reed@google.com> | 2016-03-13 12:32:36 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-13 12:32:36 -0700 |
commit | ce563cdd48ec7ce4e0420dd88760df9be9dba50c (patch) | |
tree | 8d247c8564cf2fa112f7d34d2c139ed6317fc9a8 /gm/modecolorfilters.cpp | |
parent | 94ad73ac1648fec5e73e29839d461ecb6366a888 (diff) |
more shader-->sp conversions
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789633002
Review URL: https://codereview.chromium.org/1789633002
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; }; |