diff options
Diffstat (limited to 'gm/shallowgradient.cpp')
-rw-r--r-- | gm/shallowgradient.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/gm/shallowgradient.cpp b/gm/shallowgradient.cpp index 6990ba7c93..764b1a5034 100644 --- a/gm/shallowgradient.cpp +++ b/gm/shallowgradient.cpp @@ -8,27 +8,31 @@ #include "gm.h" #include "SkGradientShader.h" -typedef sk_sp<SkShader> (*MakeShaderProc)(const SkColor[], int count, const SkSize&); +typedef SkShader* (*MakeShaderProc)(const SkColor[], int count, const SkSize&); -static sk_sp<SkShader> shader_linear(const SkColor colors[], int count, const SkSize& size) { +static SkShader* shader_linear(const SkColor colors[], int count, const SkSize& size) { SkPoint pts[] = { { 0, 0 }, { size.width(), size.height() } }; - return SkGradientShader::MakeLinear(pts, colors, nullptr, count, SkShader::kClamp_TileMode); + return SkGradientShader::CreateLinear(pts, colors, nullptr, count, + SkShader::kClamp_TileMode); } -static sk_sp<SkShader> shader_radial(const SkColor colors[], int count, const SkSize& size) { +static SkShader* shader_radial(const SkColor colors[], int count, const SkSize& size) { SkPoint center = { size.width()/2, size.height()/2 }; - return SkGradientShader::MakeRadial(center, size.width()/2, colors, nullptr, count, - SkShader::kClamp_TileMode); + return SkGradientShader::CreateRadial(center, size.width()/2, colors, nullptr, count, + SkShader::kClamp_TileMode); } -static sk_sp<SkShader> shader_conical(const SkColor colors[], int count, const SkSize& size) { +static SkShader* shader_conical(const SkColor colors[], int count, const SkSize& size) { SkPoint center = { size.width()/2, size.height()/2 }; - return SkGradientShader::MakeTwoPointConical(center, size.width()/64, center, size.width()/2, - colors, nullptr, count, SkShader::kClamp_TileMode); + return SkGradientShader::CreateTwoPointConical(center, size.width()/64, + center, size.width()/2, + colors, nullptr, count, + SkShader::kClamp_TileMode); } -static sk_sp<SkShader> shader_sweep(const SkColor colors[], int count, const SkSize& size) { - return SkGradientShader::MakeSweep(size.width()/2, size.height()/2, colors, nullptr, count); +static SkShader* shader_sweep(const SkColor colors[], int count, const SkSize& size) { + return SkGradientShader::CreateSweep(size.width()/2, size.height()/2, + colors, nullptr, count); } class ShallowGradientGM : public skiagm::GM { @@ -58,7 +62,7 @@ protected: SkSize size = SkSize::Make(r.width(), r.height()); SkPaint paint; - paint.setShader(fProc(colors, colorCount, size)); + paint.setShader(fProc(colors, colorCount, size))->unref(); paint.setDither(fDither); canvas->drawRect(r, paint); } |