Index: include/core/SkPathEffect.h |
diff --git a/include/core/SkPathEffect.h b/include/core/SkPathEffect.h |
index 405a504774b227c0559c8c9673287dd29b48daa1..a77b9467e42fda294329976e6fddf6f2ce436fe6 100644 |
--- a/include/core/SkPathEffect.h |
+++ b/include/core/SkPathEffect.h |
@@ -17,10 +17,6 @@ |
class SkPath; |
class SkStrokeRec; |
- |
-#ifndef SK_SUPPORT_LEGACY_PATHEFFECT_PTR |
- #define SK_SUPPORT_LEGACY_PATHEFFECT_PTR |
-#endif |
/** \class SkPathEffect |
@@ -158,14 +154,16 @@ |
for managing the lifetimes of its two arguments. |
*/ |
class SkPairPathEffect : public SkPathEffect { |
-protected: |
- SkPairPathEffect(sk_sp<SkPathEffect> pe0, sk_sp<SkPathEffect> pe1); |
+public: |
+ virtual ~SkPairPathEffect(); |
+ |
+protected: |
+ SkPairPathEffect(SkPathEffect* pe0, SkPathEffect* pe1); |
void flatten(SkWriteBuffer&) const override; |
// these are visible to our subclasses |
- sk_sp<SkPathEffect> fPE0; |
- sk_sp<SkPathEffect> fPE1; |
+ SkPathEffect* fPE0, *fPE1; |
SK_TO_STRING_OVERRIDE() |
@@ -185,21 +183,15 @@ |
The reference counts for outer and inner are both incremented in the constructor, |
and decremented in the destructor. |
*/ |
- static sk_sp<SkPathEffect> Make(sk_sp<SkPathEffect> outer, sk_sp<SkPathEffect> inner) { |
+ static SkPathEffect* Create(SkPathEffect* outer, SkPathEffect* inner) { |
if (!outer) { |
- return inner; |
+ return SkSafeRef(inner); |
} |
if (!inner) { |
- return outer; |
- } |
- return sk_sp<SkPathEffect>(new SkComposePathEffect(outer, inner)); |
+ return SkSafeRef(outer); |
+ } |
+ return new SkComposePathEffect(outer, inner); |
} |
- |
-#ifdef SK_SUPPORT_LEGACY_PATHEFFECT_PTR |
- static SkPathEffect* Create(SkPathEffect* outer, SkPathEffect* inner) { |
- return Make(sk_ref_sp(outer), sk_ref_sp(inner)).release(); |
- } |
-#endif |
virtual bool filterPath(SkPath* dst, const SkPath& src, |
SkStrokeRec*, const SkRect*) const override; |
@@ -212,8 +204,7 @@ |
#endif |
protected: |
- SkComposePathEffect(sk_sp<SkPathEffect> outer, sk_sp<SkPathEffect> inner) |
- : INHERITED(outer, inner) {} |
+ SkComposePathEffect(SkPathEffect* outer, SkPathEffect* inner) : INHERITED(outer, inner) {} |
private: |
// illegal |
@@ -235,21 +226,16 @@ |
The reference counts for first and second are both incremented in the constructor, |
and decremented in the destructor. |
*/ |
- static sk_sp<SkPathEffect> Make(sk_sp<SkPathEffect> first, sk_sp<SkPathEffect> second) { |
+ static SkPathEffect* Create(SkPathEffect* first, SkPathEffect* second) { |
if (!first) { |
- return second; |
+ return SkSafeRef(second); |
} |
if (!second) { |
- return first; |
- } |
- return sk_sp<SkPathEffect>(new SkSumPathEffect(first, second)); |
+ return SkSafeRef(first); |
+ } |
+ return new SkSumPathEffect(first, second); |
} |
-#ifdef SK_SUPPORT_LEGACY_PATHEFFECT_PTR |
- static SkPathEffect* Create(SkPathEffect* first, SkPathEffect* second) { |
- return Make(sk_ref_sp(first), sk_ref_sp(second)).release(); |
- } |
-#endif |
virtual bool filterPath(SkPath* dst, const SkPath& src, |
SkStrokeRec*, const SkRect*) const override; |
@@ -261,8 +247,7 @@ |
#endif |
protected: |
- SkSumPathEffect(sk_sp<SkPathEffect> first, sk_sp<SkPathEffect> second) |
- : INHERITED(first, second) {} |
+ SkSumPathEffect(SkPathEffect* first, SkPathEffect* second) : INHERITED(first, second) {} |
private: |
// illegal |