From 8c0326df5f600da43a054dad3b354221dd6b790f Mon Sep 17 00:00:00 2001 From: robertphillips Date: Tue, 5 Apr 2016 12:48:34 -0700 Subject: Update SkXfermodeImageFilter to sk_sp TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852123002 Committed: https://skia.googlesource.com/skia/+/3bc969264d4720d67f0b137552b3777a03b431a8 Review URL: https://codereview.chromium.org/1852123002 --- include/effects/SkXfermodeImageFilter.h | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/effects/SkXfermodeImageFilter.h b/include/effects/SkXfermodeImageFilter.h index f1e5d71070..634422747a 100644 --- a/include/effects/SkXfermodeImageFilter.h +++ b/include/effects/SkXfermodeImageFilter.h @@ -21,19 +21,35 @@ class SK_API SkXfermodeImageFilter : public SkImageFilter { */ public: - static sk_sp Make(sk_sp mode, SkImageFilter* background, - SkImageFilter* foreground, const CropRect* cropRect); - static sk_sp Make(sk_sp mode, SkImageFilter* background) { - return Make(std::move(mode), background, nullptr, nullptr); + static sk_sp Make(sk_sp mode, sk_sp background, + sk_sp foreground, const CropRect* cropRect); + static sk_sp Make(sk_sp mode, sk_sp background) { + return Make(std::move(mode), std::move(background), nullptr, nullptr); } + #ifdef SK_SUPPORT_LEGACY_XFERMODE_PTR static SkImageFilter* Create(SkXfermode* mode, SkImageFilter* background, SkImageFilter* foreground = NULL, const CropRect* cropRect = NULL) { - return Make(sk_ref_sp(mode), background, foreground, cropRect).release(); + return Make(sk_ref_sp(mode), + sk_ref_sp(background), + sk_ref_sp(foreground), + cropRect).release(); } #endif - +#ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR + static sk_sp Make(sk_sp mode, SkImageFilter* background, + SkImageFilter* foreground, const CropRect* cropRect) { + return Make(std::move(mode), + sk_ref_sp(background), + sk_ref_sp(foreground), + cropRect); + } + static sk_sp Make(sk_sp mode, SkImageFilter* background) { + return Make(std::move(mode), sk_ref_sp(background)); + } +#endif + SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkXfermodeImageFilter) @@ -49,7 +65,7 @@ public: #endif protected: - SkXfermodeImageFilter(sk_sp mode, SkImageFilter* inputs[2], + SkXfermodeImageFilter(sk_sp mode, sk_sp inputs[2], const CropRect* cropRect); void flatten(SkWriteBuffer&) const override; -- cgit v1.2.3