move setshader to sk_sp, re-using SK_SUPPORT_LEGACY_CREATESHADER_PTR
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1829303002
Review URL: https://codereview.chromium.org/1829303002
diff --git a/samplecode/SampleCamera.cpp b/samplecode/SampleCamera.cpp
index ed6cc52..85b854e 100644
--- a/samplecode/SampleCamera.cpp
+++ b/samplecode/SampleCamera.cpp
@@ -20,7 +20,7 @@
#include "SkRandom.h"
class CameraView : public SampleView {
- SkTDArray<SkShader*> fShaders;
+ SkTArray<sk_sp<SkShader>> fShaders;
int fShaderIndex;
bool fFrontFace;
public:
@@ -39,11 +39,10 @@
SkMatrix matrix;
matrix.setRectToRect(src, dst, SkMatrix::kFill_ScaleToFit);
- SkShader* s = SkShader::MakeBitmapShader(bm,
+ fShaders.push_back(SkShader::MakeBitmapShader(bm,
SkShader::kClamp_TileMode,
SkShader::kClamp_TileMode,
- &matrix).release();
- *fShaders.append() = s;
+ &matrix));
} else {
break;
}
@@ -51,10 +50,6 @@
this->setBGColor(0xFFDDDDDD);
}
- virtual ~CameraView() {
- fShaders.unrefAll();
- }
-
protected:
// overrides from SkEventSink
bool onQuery(SkEvent* evt) override {
diff --git a/samplecode/SampleEmboss.cpp b/samplecode/SampleEmboss.cpp
index 6e33e05..215a1e0 100644
--- a/samplecode/SampleEmboss.cpp
+++ b/samplecode/SampleEmboss.cpp
@@ -9,7 +9,6 @@
#include "SkBlurMask.h"
#include "SkView.h"
#include "SkCanvas.h"
-#include "SkColorShader.h"
#include "SkEmbossMaskFilter.h"
#include "SkGradientShader.h"
#include "SkGraphics.h"
@@ -53,7 +52,7 @@
paint.setStrokeWidth(SkIntToScalar(10));
paint.setMaskFilter(SkEmbossMaskFilter::Create(
SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(4)), fLight))->unref();
- paint.setShader(new SkColorShader(SK_ColorBLUE))->unref();
+ paint.setShader(SkShader::MakeColorShader(SK_ColorBLUE));
paint.setDither(true);
canvas->drawCircle(SkIntToScalar(50), SkIntToScalar(50),
diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp
index 82934ea..dd72d12 100644
--- a/samplecode/SampleFilterFuzz.cpp
+++ b/samplecode/SampleFilterFuzz.cpp
@@ -648,10 +648,10 @@
break;
case NOISE:
{
- SkAutoTUnref<SkShader> shader((R(2) == 1) ?
- SkPerlinNoiseShader::CreateFractalNoise(
+ sk_sp<SkShader> shader((R(2) == 1) ?
+ SkPerlinNoiseShader::MakeFractalNoise(
make_scalar(true), make_scalar(true), R(10.0f), make_scalar()) :
- SkPerlinNoiseShader::CreateTurbulence(
+ SkPerlinNoiseShader::MakeTurbulence(
make_scalar(true), make_scalar(true), R(10.0f), make_scalar()));
SkPaint paint;
paint.setShader(shader);
diff --git a/samplecode/SampleLighting.cpp b/samplecode/SampleLighting.cpp
index fa88e3e..1da888f 100755
--- a/samplecode/SampleLighting.cpp
+++ b/samplecode/SampleLighting.cpp
@@ -31,11 +31,10 @@
class LightingView : public SampleView {
public:
- SkAutoTUnref<SkShader> fShader;
- SkBitmap fDiffuseBitmap;
- SkBitmap fNormalBitmap;
- SkScalar fLightAngle;
- SkScalar fColorFactor;
+ SkBitmap fDiffuseBitmap;
+ SkBitmap fNormalBitmap;
+ SkScalar fLightAngle;
+ SkScalar fColorFactor;
LightingView() {
SkString diffusePath = GetResourcePath("brickwork-texture.jpg");
@@ -45,16 +44,8 @@
fLightAngle = 0.0f;
fColorFactor = 0.0f;
-
- SkAutoTUnref<const SkLightingShader::Lights> lights(create_lights(fLightAngle, 1.0f));
-
- fShader.reset(SkLightingShader::Create(fDiffuseBitmap, fNormalBitmap,
- lights, SkVector::Make(1.0f, 0.0f),
- nullptr, nullptr));
}
- virtual ~LightingView() {}
-
protected:
// overrides from SkEventSink
bool onQuery(SkEvent* evt) override {
@@ -74,13 +65,10 @@
SkAutoTUnref<const SkLightingShader::Lights> lights(create_lights(fLightAngle,
fColorFactor));
-
- fShader.reset(SkLightingShader::Create(fDiffuseBitmap, fNormalBitmap,
+ SkPaint paint;
+ paint.setShader(SkLightingShader::Make(fDiffuseBitmap, fNormalBitmap,
lights, SkVector::Make(1.0f, 0.0f),
nullptr, nullptr));
-
- SkPaint paint;
- paint.setShader(fShader);
paint.setColor(SK_ColorBLACK);
SkRect r = SkRect::MakeWH((SkScalar)fDiffuseBitmap.width(),