Index: src/gpu/effects/GrOvalEffect.cpp |
diff --git a/src/gpu/effects/GrOvalEffect.cpp b/src/gpu/effects/GrOvalEffect.cpp |
index 3e6287bbd2f24a1d2609ef6ada84a336ea172a5f..a288537d508665061739dcd2d251ada9cc064a81 100644 |
--- a/src/gpu/effects/GrOvalEffect.cpp |
+++ b/src/gpu/effects/GrOvalEffect.cpp |
@@ -19,7 +19,8 @@ |
class CircleEffect : public GrFragmentProcessor { |
public: |
- static GrFragmentProcessor* Create(GrPrimitiveEdgeType, const SkPoint& center, SkScalar radius); |
+ static sk_sp<GrFragmentProcessor> Make(GrPrimitiveEdgeType, const SkPoint& center, |
+ SkScalar radius); |
virtual ~CircleEffect() {}; |
@@ -50,10 +51,10 @@ private: |
typedef GrFragmentProcessor INHERITED; |
}; |
-GrFragmentProcessor* CircleEffect::Create(GrPrimitiveEdgeType edgeType, const SkPoint& center, |
- SkScalar radius) { |
+sk_sp<GrFragmentProcessor> CircleEffect::Make(GrPrimitiveEdgeType edgeType, const SkPoint& center, |
+ SkScalar radius) { |
SkASSERT(radius >= 0); |
- return new CircleEffect(edgeType, center, radius); |
+ return sk_sp<GrFragmentProcessor>(new CircleEffect(edgeType, center, radius)); |
} |
void CircleEffect::onComputeInvariantOutput(GrInvariantOutput* inout) const { |
@@ -77,7 +78,7 @@ bool CircleEffect::onIsEqual(const GrFragmentProcessor& other) const { |
GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleEffect); |
-const GrFragmentProcessor* CircleEffect::TestCreate(GrProcessorTestData* d) { |
+sk_sp<GrFragmentProcessor> CircleEffect::TestCreate(GrProcessorTestData* d) { |
SkPoint center; |
center.fX = d->fRandom->nextRangeScalar(0.f, 1000.f); |
center.fY = d->fRandom->nextRangeScalar(0.f, 1000.f); |
@@ -86,7 +87,7 @@ const GrFragmentProcessor* CircleEffect::TestCreate(GrProcessorTestData* d) { |
do { |
et = (GrPrimitiveEdgeType)d->fRandom->nextULessThan(kGrProcessorEdgeTypeCnt); |
} while (kHairlineAA_GrProcessorEdgeType == et); |
- return CircleEffect::Create(et, center, radius); |
+ return CircleEffect::Make(et, center, radius); |
} |
////////////////////////////////////////////////////////////////////////////// |
@@ -183,8 +184,8 @@ GrGLSLFragmentProcessor* CircleEffect::onCreateGLSLInstance() const { |
class EllipseEffect : public GrFragmentProcessor { |
public: |
- static GrFragmentProcessor* Create(GrPrimitiveEdgeType, const SkPoint& center, SkScalar rx, |
- SkScalar ry); |
+ static sk_sp<GrFragmentProcessor> Make(GrPrimitiveEdgeType, const SkPoint& center, |
+ SkScalar rx, SkScalar ry); |
virtual ~EllipseEffect() {}; |
@@ -215,12 +216,12 @@ private: |
typedef GrFragmentProcessor INHERITED; |
}; |
-GrFragmentProcessor* EllipseEffect::Create(GrPrimitiveEdgeType edgeType, |
- const SkPoint& center, |
- SkScalar rx, |
- SkScalar ry) { |
+sk_sp<GrFragmentProcessor> EllipseEffect::Make(GrPrimitiveEdgeType edgeType, |
+ const SkPoint& center, |
+ SkScalar rx, |
+ SkScalar ry) { |
SkASSERT(rx >= 0 && ry >= 0); |
- return new EllipseEffect(edgeType, center, rx, ry); |
+ return sk_sp<GrFragmentProcessor>(new EllipseEffect(edgeType, center, rx, ry)); |
} |
void EllipseEffect::onComputeInvariantOutput(GrInvariantOutput* inout) const { |
@@ -244,7 +245,7 @@ bool EllipseEffect::onIsEqual(const GrFragmentProcessor& other) const { |
GR_DEFINE_FRAGMENT_PROCESSOR_TEST(EllipseEffect); |
-const GrFragmentProcessor* EllipseEffect::TestCreate(GrProcessorTestData* d) { |
+sk_sp<GrFragmentProcessor> EllipseEffect::TestCreate(GrProcessorTestData* d) { |
SkPoint center; |
center.fX = d->fRandom->nextRangeScalar(0.f, 1000.f); |
center.fY = d->fRandom->nextRangeScalar(0.f, 1000.f); |
@@ -254,7 +255,7 @@ const GrFragmentProcessor* EllipseEffect::TestCreate(GrProcessorTestData* d) { |
do { |
et = (GrPrimitiveEdgeType)d->fRandom->nextULessThan(kGrProcessorEdgeTypeCnt); |
} while (kHairlineAA_GrProcessorEdgeType == et); |
- return EllipseEffect::Create(et, center, rx, ry); |
+ return EllipseEffect::Make(et, center, rx, ry); |
} |
////////////////////////////////////////////////////////////////////////////// |
@@ -391,7 +392,7 @@ GrGLSLFragmentProcessor* EllipseEffect::onCreateGLSLInstance() const { |
////////////////////////////////////////////////////////////////////////////// |
-GrFragmentProcessor* GrOvalEffect::Create(GrPrimitiveEdgeType edgeType, const SkRect& oval) { |
+sk_sp<GrFragmentProcessor> GrOvalEffect::Make(GrPrimitiveEdgeType edgeType, const SkRect& oval) { |
if (kHairlineAA_GrProcessorEdgeType == edgeType) { |
return nullptr; |
} |
@@ -399,11 +400,11 @@ GrFragmentProcessor* GrOvalEffect::Create(GrPrimitiveEdgeType edgeType, const Sk |
SkScalar h = oval.height(); |
if (SkScalarNearlyEqual(w, h)) { |
w /= 2; |
- return CircleEffect::Create(edgeType, SkPoint::Make(oval.fLeft + w, oval.fTop + w), w); |
+ return CircleEffect::Make(edgeType, SkPoint::Make(oval.fLeft + w, oval.fTop + w), w); |
} else { |
w /= 2; |
h /= 2; |
- return EllipseEffect::Create(edgeType, SkPoint::Make(oval.fLeft + w, oval.fTop + h), w, h); |
+ return EllipseEffect::Make(edgeType, SkPoint::Make(oval.fLeft + w, oval.fTop + h), w, h); |
} |
return nullptr; |