| Index: gm/modecolorfilters.cpp
|
| diff --git a/gm/modecolorfilters.cpp b/gm/modecolorfilters.cpp
|
| index b5ede710f1cc2fd3293d7d93fcb51277bec548fd..de6a18a41c85e2320773743e82ee0d9fa92728b3 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;
|
| };
|
|
|
|
|