Index: include/effects/SkTestImageFilters.h |
diff --git a/include/effects/SkTestImageFilters.h b/include/effects/SkTestImageFilters.h |
index 943bb533562d03cbbfb2cee9151e69ef1a73985a..0f89759c1c8dd141d059945b5097046f52c45230 100644 |
--- a/include/effects/SkTestImageFilters.h |
+++ b/include/effects/SkTestImageFilters.h |
@@ -14,20 +14,26 @@ |
// Fun mode that scales down (only) and then scales back up to look pixelated |
class SK_API SkDownSampleImageFilter : public SkImageFilter { |
public: |
- static SkImageFilter* Create(SkScalar scale, SkImageFilter* input = NULL) { |
+ static sk_sp<SkImageFilter> Make(SkScalar scale, sk_sp<SkImageFilter> input) { |
if (!SkScalarIsFinite(scale)) { |
- return NULL; |
+ return nullptr; |
} |
// we don't support scale in this range |
if (scale > SK_Scalar1 || scale <= 0) { |
- return NULL; |
+ return nullptr; |
} |
- return new SkDownSampleImageFilter(scale, input); |
+ return sk_sp<SkImageFilter>(new SkDownSampleImageFilter(scale, std::move(input))); |
} |
SK_TO_STRING_OVERRIDE() |
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter) |
+#ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR |
+ static SkImageFilter* Create(SkScalar scale, SkImageFilter* input = nullptr) { |
+ return Make(scale, sk_ref_sp<SkImageFilter>(input)).release(); |
+ } |
+#endif |
+ |
protected: |
void flatten(SkWriteBuffer&) const override; |
@@ -35,8 +41,8 @@ protected: |
SkIPoint* offset) const override; |
private: |
- SkDownSampleImageFilter(SkScalar scale, SkImageFilter* input) |
- : INHERITED(1, &input), fScale(scale) {} |
+ SkDownSampleImageFilter(SkScalar scale, sk_sp<SkImageFilter> input) |
+ : INHERITED(&input, 1, nullptr), fScale(scale) {} |
SkScalar fScale; |