From 51a315eff9b86bd60e7884240c4efc199129d37a Mon Sep 17 00:00:00 2001 From: robertphillips Date: Thu, 31 Mar 2016 09:05:49 -0700 Subject: Update SkOffsetImageFilter to sk_sp TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842193002 Review URL: https://codereview.chromium.org/1842193002 --- include/effects/SkOffsetImageFilter.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'include/effects') diff --git a/include/effects/SkOffsetImageFilter.h b/include/effects/SkOffsetImageFilter.h index 908f20b67a..cf2ff96ada 100644 --- a/include/effects/SkOffsetImageFilter.h +++ b/include/effects/SkOffsetImageFilter.h @@ -13,12 +13,14 @@ class SK_API SkOffsetImageFilter : public SkImageFilter { public: - static SkImageFilter* Create(SkScalar dx, SkScalar dy, SkImageFilter* input = NULL, - const CropRect* cropRect = NULL) { + static sk_sp Make(SkScalar dx, SkScalar dy, + sk_sp input, + const CropRect* cropRect = nullptr) { if (!SkScalarIsFinite(dx) || !SkScalarIsFinite(dy)) { - return NULL; + return nullptr; } - return new SkOffsetImageFilter(dx, dy, input, cropRect); + + return sk_sp(new SkOffsetImageFilter(dx, dy, std::move(input), cropRect)); } SkRect computeFastBounds(const SkRect& src) const override; @@ -26,6 +28,13 @@ public: SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkOffsetImageFilter) +#ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR + static SkImageFilter* Create(SkScalar dx, SkScalar dy, SkImageFilter* input = nullptr, + const CropRect* cropRect = nullptr) { + return Make(dx, dy, sk_ref_sp(input), cropRect).release(); + } +#endif + protected: void flatten(SkWriteBuffer&) const override; sk_sp onFilterImage(SkSpecialImage* source, const Context&, @@ -33,7 +42,7 @@ protected: SkIRect onFilterNodeBounds(const SkIRect&, const SkMatrix&, MapDirection) const override; private: - SkOffsetImageFilter(SkScalar dx, SkScalar dy, SkImageFilter* input, const CropRect*); + SkOffsetImageFilter(SkScalar dx, SkScalar dy, sk_sp input, const CropRect*); SkVector fOffset; -- cgit v1.2.3