| Index: gm/gradient_matrix.cpp
|
| diff --git a/gm/gradient_matrix.cpp b/gm/gradient_matrix.cpp
|
| index 816891847ddf4a521898028a27b89c9349bc74a3..8f665a1b945eb0db671f44840a92d6b27734a0b7 100644
|
| --- a/gm/gradient_matrix.cpp
|
| +++ b/gm/gradient_matrix.cpp
|
| @@ -61,22 +61,22 @@
|
|
|
| static const int IMAGES_X = 4; // number of images per row
|
|
|
| -static sk_sp<SkShader> make_linear_gradient(const SkPoint pts[2], const SkMatrix& localMatrix) {
|
| - return SkGradientShader::MakeLinear(pts, gColors, nullptr, SK_ARRAY_COUNT(gColors),
|
| - SkShader::kClamp_TileMode, 0, &localMatrix);
|
| +static SkShader* make_linear_gradient(const SkPoint pts[2], const SkMatrix& localMatrix) {
|
| + return SkGradientShader::CreateLinear(pts, gColors, nullptr, SK_ARRAY_COUNT(gColors),
|
| + SkShader::kClamp_TileMode, 0, &localMatrix);
|
| }
|
|
|
| -static sk_sp<SkShader> make_radial_gradient(const SkPoint pts[2], const SkMatrix& localMatrix) {
|
| +static SkShader* make_radial_gradient(const SkPoint pts[2], const SkMatrix& localMatrix) {
|
| SkPoint center;
|
| center.set(SkScalarAve(pts[0].fX, pts[1].fX),
|
| SkScalarAve(pts[0].fY, pts[1].fY));
|
| float radius = (center - pts[0]).length();
|
| - return SkGradientShader::MakeRadial(center, radius, gColors, nullptr, SK_ARRAY_COUNT(gColors),
|
| - SkShader::kClamp_TileMode, 0, &localMatrix);
|
| + return SkGradientShader::CreateRadial(center, radius, gColors, nullptr, SK_ARRAY_COUNT(gColors),
|
| + SkShader::kClamp_TileMode, 0, &localMatrix);
|
| }
|
|
|
| static void draw_gradients(SkCanvas* canvas,
|
| - sk_sp<SkShader> (*makeShader)(const SkPoint[2], const SkMatrix&),
|
| + SkShader* (*makeShader)(const SkPoint[2], const SkMatrix&),
|
| const SkPoint ptsArray[][2], int numImages) {
|
| // Use some nice prime numbers for the rectangle and matrix with
|
| // different scaling along the x and y axes (which is the bug this
|
| @@ -97,8 +97,11 @@
|
| canvas->save();
|
| }
|
|
|
| + // Setup shader and draw.
|
| + SkAutoTUnref<SkShader> shader(makeShader(*ptsArray, shaderMat));
|
| +
|
| SkPaint paint;
|
| - paint.setShader(makeShader(*ptsArray, shaderMat));
|
| + paint.setShader(shader);
|
| canvas->drawRect(rectGrad, paint);
|
|
|
| // Advance to next position.
|
|
|