aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2016-04-15 04:37:07 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-15 04:37:07 -0700
commita53011ef44705a091a8e24f7ea289a3f9ad759f2 (patch)
treeb3cca836becb797f55d0caacb3f4cca0bf4e910e /include
parent834d9e109298ae704043128005f8c1bc622350f4 (diff)
Update DisplacementMapEffect to sk_sp
Diffstat (limited to 'include')
-rw-r--r--include/effects/SkDisplacementMapEffect.h28
1 files changed, 21 insertions, 7 deletions
diff --git a/include/effects/SkDisplacementMapEffect.h b/include/effects/SkDisplacementMapEffect.h
index 4b6f321a22..f93f2c4454 100644
--- a/include/effects/SkDisplacementMapEffect.h
+++ b/include/effects/SkDisplacementMapEffect.h
@@ -20,13 +20,14 @@ public:
kA_ChannelSelectorType
};
- ~SkDisplacementMapEffect();
+ ~SkDisplacementMapEffect() override;
- static SkImageFilter* Create(ChannelSelectorType xChannelSelector,
- ChannelSelectorType yChannelSelector,
- SkScalar scale, SkImageFilter* displacement,
- SkImageFilter* color = NULL,
- const CropRect* cropRect = NULL);
+ static sk_sp<SkImageFilter> Make(ChannelSelectorType xChannelSelector,
+ ChannelSelectorType yChannelSelector,
+ SkScalar scale,
+ sk_sp<SkImageFilter> displacement,
+ sk_sp<SkImageFilter> color,
+ const CropRect* cropRect = nullptr);
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDisplacementMapEffect)
@@ -38,13 +39,26 @@ public:
SK_TO_STRING_OVERRIDE()
+#ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR
+ static SkImageFilter* Create(ChannelSelectorType xChannelSelector,
+ ChannelSelectorType yChannelSelector,
+ SkScalar scale, SkImageFilter* displacement,
+ SkImageFilter* color = nullptr,
+ const CropRect* cropRect = nullptr) {
+ return Make(xChannelSelector, yChannelSelector, scale,
+ sk_ref_sp<SkImageFilter>(displacement),
+ sk_ref_sp<SkImageFilter>(color),
+ cropRect).release();
+ }
+#endif
+
protected:
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
SkDisplacementMapEffect(ChannelSelectorType xChannelSelector,
ChannelSelectorType yChannelSelector,
- SkScalar scale, SkImageFilter* inputs[2],
+ SkScalar scale, sk_sp<SkImageFilter> inputs[2],
const CropRect* cropRect);
void flatten(SkWriteBuffer&) const override;