Index: gm/tilemodes.cpp |
diff --git a/gm/tilemodes.cpp b/gm/tilemodes.cpp |
index 26b83486e86c7e197524ee643f82df4908b95bcb..d774939648d3ea7fa6b1f9e8ccc87f2d242056e8 100644 |
--- a/gm/tilemodes.cpp |
+++ b/gm/tilemodes.cpp |
@@ -27,15 +27,14 @@ static void makebm(SkBitmap* bm, SkColorType ct, int w, int h) { |
SkPaint paint; |
paint.setDither(true); |
- paint.setShader(SkGradientShader::CreateLinear(pts, colors, pos, |
- SK_ARRAY_COUNT(colors), SkShader::kClamp_TileMode))->unref(); |
+ paint.setShader(SkGradientShader::MakeLinear(pts, colors, pos, SK_ARRAY_COUNT(colors), |
+ SkShader::kClamp_TileMode)); |
canvas.drawPaint(paint); |
} |
static void setup(SkPaint* paint, const SkBitmap& bm, bool filter, |
SkShader::TileMode tmx, SkShader::TileMode tmy) { |
- SkShader* shader = SkShader::CreateBitmapShader(bm, tmx, tmy); |
- paint->setShader(shader)->unref(); |
+ paint->setShader(SkShader::MakeBitmapShader(bm, tmx, tmy)); |
paint->setFilterQuality(filter ? kLow_SkFilterQuality : kNone_SkFilterQuality); |
} |
@@ -156,13 +155,13 @@ private: |
static const int gWidth = 32; |
static const int gHeight = 32; |
-static SkShader* make_bm(SkShader::TileMode tx, SkShader::TileMode ty) { |
+static sk_sp<SkShader> make_bm(SkShader::TileMode tx, SkShader::TileMode ty) { |
SkBitmap bm; |
makebm(&bm, kN32_SkColorType, gWidth, gHeight); |
- return SkShader::CreateBitmapShader(bm, tx, ty); |
+ return SkShader::MakeBitmapShader(bm, tx, ty); |
} |
-static SkShader* make_grad(SkShader::TileMode tx, SkShader::TileMode ty) { |
+static sk_sp<SkShader> make_grad(SkShader::TileMode tx, SkShader::TileMode ty) { |
SkPoint pts[] = { { 0, 0 }, { SkIntToScalar(gWidth), SkIntToScalar(gHeight)} }; |
SkPoint center = { SkIntToScalar(gWidth)/2, SkIntToScalar(gHeight)/2 }; |
SkScalar rad = SkIntToScalar(gWidth)/2; |
@@ -171,17 +170,16 @@ static SkShader* make_grad(SkShader::TileMode tx, SkShader::TileMode ty) { |
int index = (int)ty; |
switch (index % 3) { |
case 0: |
- return SkGradientShader::CreateLinear(pts, colors, nullptr, SK_ARRAY_COUNT(colors), tx); |
+ return SkGradientShader::MakeLinear(pts, colors, nullptr, SK_ARRAY_COUNT(colors), tx); |
case 1: |
- return SkGradientShader::CreateRadial(center, rad, colors, nullptr, SK_ARRAY_COUNT(colors), tx); |
+ return SkGradientShader::MakeRadial(center, rad, colors, nullptr, SK_ARRAY_COUNT(colors), tx); |
case 2: |
- return SkGradientShader::CreateSweep(center.fX, center.fY, colors, nullptr, SK_ARRAY_COUNT(colors)); |
+ return SkGradientShader::MakeSweep(center.fX, center.fY, colors, nullptr, SK_ARRAY_COUNT(colors)); |
} |
- |
return nullptr; |
} |
-typedef SkShader* (*ShaderProc)(SkShader::TileMode, SkShader::TileMode); |
+typedef sk_sp<SkShader> (*ShaderProc)(SkShader::TileMode, SkShader::TileMode); |
class Tiling2GM : public skiagm::GM { |
ShaderProc fProc; |
@@ -239,7 +237,7 @@ protected: |
x += SkIntToScalar(50); |
for (size_t kx = 0; kx < SK_ARRAY_COUNT(gModes); kx++) { |
SkPaint paint; |
- paint.setShader(fProc(gModes[kx], gModes[ky]))->unref(); |
+ paint.setShader(fProc(gModes[kx], gModes[ky])); |
canvas->save(); |
canvas->translate(x, y); |