diff options
author | robertphillips <robertphillips@google.com> | 2016-03-30 12:32:58 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-30 12:32:58 -0700 |
commit | 491fb17cab07574a9d5656c1c97ad0acc3af5c70 (patch) | |
tree | 7e6577620cf303677ba308a2590b4a1d1938d24e /include | |
parent | d632bb4dfc184d7c523bb436940c182ed42551ea (diff) |
Update SkComposeImageFilter to sk_sp
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1841233002
Review URL: https://codereview.chromium.org/1841233002
Diffstat (limited to 'include')
-rw-r--r-- | include/effects/SkComposeImageFilter.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/include/effects/SkComposeImageFilter.h b/include/effects/SkComposeImageFilter.h index cf73a001c8..49c7685415 100644 --- a/include/effects/SkComposeImageFilter.h +++ b/include/effects/SkComposeImageFilter.h @@ -12,25 +12,32 @@ class SK_API SkComposeImageFilter : public SkImageFilter { public: - static SkImageFilter* Create(SkImageFilter* outer, SkImageFilter* inner) { + static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> outer, sk_sp<SkImageFilter> inner) { if (!outer) { - return SkSafeRef(inner); + return inner; } if (!inner) { - return SkRef(outer); + return outer; } - SkImageFilter* inputs[2] = { outer, inner }; - return new SkComposeImageFilter(inputs); + sk_sp<SkImageFilter> inputs[2] = { std::move(outer), std::move(inner) }; + return sk_sp<SkImageFilter>(new SkComposeImageFilter(inputs)); } SkRect computeFastBounds(const SkRect& src) const override; SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeImageFilter) +#ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR + static SkImageFilter* Create(SkImageFilter* outer, SkImageFilter* inner) { + return Make(sk_ref_sp<SkImageFilter>(outer), + sk_ref_sp<SkImageFilter>(inner)).release(); + } +#endif + protected: - explicit SkComposeImageFilter(SkImageFilter* inputs[2]) : INHERITED(2, inputs) { - SkASSERT(inputs[0]); - SkASSERT(inputs[1]); + explicit SkComposeImageFilter(sk_sp<SkImageFilter> inputs[2]) : INHERITED(inputs, 2, nullptr) { + SkASSERT(inputs[0].get()); + SkASSERT(inputs[1].get()); } sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&, SkIPoint* offset) const override; |