diff options
author | robertphillips <robertphillips@google.com> | 2016-03-31 09:05:49 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-31 09:05:49 -0700 |
commit | 51a315eff9b86bd60e7884240c4efc199129d37a (patch) | |
tree | 4e08f4a93e4359dc808c1302557337dad88bfabc /include/effects | |
parent | 865a289bfec169cb19970c734e9aa855c267f060 (diff) |
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
Diffstat (limited to 'include/effects')
-rw-r--r-- | include/effects/SkOffsetImageFilter.h | 19 |
1 files changed, 14 insertions, 5 deletions
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<SkImageFilter> Make(SkScalar dx, SkScalar dy, + sk_sp<SkImageFilter> input, + const CropRect* cropRect = nullptr) { if (!SkScalarIsFinite(dx) || !SkScalarIsFinite(dy)) { - return NULL; + return nullptr; } - return new SkOffsetImageFilter(dx, dy, input, cropRect); + + return sk_sp<SkImageFilter>(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<SkSpecialImage> 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<SkImageFilter> input, const CropRect*); SkVector fOffset; |