diff options
author | reed <reed@google.com> | 2016-03-13 13:01:57 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-13 13:01:57 -0700 |
commit | 9283d20afc27571f7a871d1bd1100dd5df584941 (patch) | |
tree | 3688fa1847d47e1f2493b040bbe91594f6274cf0 /gm/modecolorfilters.cpp | |
parent | ce563cdd48ec7ce4e0420dd88760df9be9dba50c (diff) |
Revert of more shader-->sp conversions (patchset #5 id:80001 of https://codereview.chromium.org/1789633002/ )
Reason for revert:
seems to have changed pictureshadertile
Original issue's description:
> more shader-->sp conversions
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789633002
>
> Committed: https://skia.googlesource.com/skia/+/ce563cdd48ec7ce4e0420dd88760df9be9dba50c
TBR=fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1790353002
Diffstat (limited to 'gm/modecolorfilters.cpp')
-rw-r--r-- | gm/modecolorfilters.cpp | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/gm/modecolorfilters.cpp b/gm/modecolorfilters.cpp index de6a18a41c..b5ede710f1 100644 --- a/gm/modecolorfilters.cpp +++ b/gm/modecolorfilters.cpp @@ -6,6 +6,7 @@ */ #include "gm.h" +#include "SkBitmapProcShader.h" #include "SkColorFilter.h" #include "SkGradientShader.h" @@ -15,27 +16,27 @@ namespace skiagm { // Using gradients because GPU doesn't currently have an implementation of SkColorShader (duh!) -static sk_sp<SkShader> make_color_shader(SkColor color) { +static SkShader* make_color_shader(SkColor color) { static const SkPoint kPts[] = {{0, 0}, {1, 1}}; SkColor colors[] = {color, color}; - return SkGradientShader::MakeLinear(kPts, colors, nullptr, 2, SkShader::kClamp_TileMode); + return SkGradientShader::CreateLinear(kPts, colors, nullptr, 2, SkShader::kClamp_TileMode); } -static sk_sp<SkShader> make_solid_shader() { +static SkShader* make_solid_shader() { return make_color_shader(SkColorSetARGB(0xFF, 0x42, 0x82, 0x21)); } -static sk_sp<SkShader> make_transparent_shader() { +static SkShader* make_transparent_shader() { return make_color_shader(SkColorSetARGB(0x80, 0x10, 0x70, 0x20)); } -static sk_sp<SkShader> make_trans_black_shader() { +static SkShader* make_trans_black_shader() { return make_color_shader(0x0); } // draws a background behind each test rect to see transparency -static sk_sp<SkShader> make_bg_shader(int checkSize) { +static SkShader* make_bg_shader(int checkSize) { SkBitmap bmp; bmp.allocN32Pixels(2 * checkSize, 2 * checkSize); SkCanvas canvas(bmp); @@ -48,7 +49,7 @@ static sk_sp<SkShader> make_bg_shader(int checkSize) { SkIntToScalar(checkSize), SkIntToScalar(checkSize)); canvas.drawRect(rect1, paint); canvas.drawRect(rect0, paint); - return SkShader::MakeBitmapShader(bmp, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode); + return new SkBitmapProcShader(bmp, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode); } class ModeColorFilterGM : public GM { @@ -58,15 +59,15 @@ public: } protected: - SkString onShortName() override { + virtual SkString onShortName() { return SkString("modecolorfilters"); } - SkISize onISize() override { + virtual SkISize onISize() { return SkISize::Make(WIDTH, HEIGHT); } - void onDraw(SkCanvas* canvas) override { + virtual void onDraw(SkCanvas* canvas) { // size of rect for each test case static const int kRectWidth = 20; static const int kRectHeight = 20; @@ -74,13 +75,13 @@ protected: static const int kCheckSize = 10; if (!fBmpShader) { - fBmpShader = make_bg_shader(kCheckSize); + fBmpShader.reset(make_bg_shader(kCheckSize)); } SkPaint bgPaint; bgPaint.setShader(fBmpShader); bgPaint.setXfermodeMode(SkXfermode::kSrc_Mode); - sk_sp<SkShader> shaders[] = { + SkShader* shaders[] = { nullptr, // use a paint color instead of a shader make_solid_shader(), make_transparent_shader(), @@ -145,10 +146,14 @@ protected: } } } + + for (size_t i = 0; i < SK_ARRAY_COUNT(shaders); ++i) { + SkSafeUnref(shaders[i]); + } } private: - sk_sp<SkShader> fBmpShader; + SkAutoTUnref<SkShader> fBmpShader; typedef GM INHERITED; }; |