aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects')
-rw-r--r--src/effects/SkDisplacementMapEffect.cpp27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/effects/SkDisplacementMapEffect.cpp b/src/effects/SkDisplacementMapEffect.cpp
index b715f6a4f3..aee15ef753 100644
--- a/src/effects/SkDisplacementMapEffect.cpp
+++ b/src/effects/SkDisplacementMapEffect.cpp
@@ -163,29 +163,27 @@ bool channel_selector_type_is_valid(SkDisplacementMapEffect::ChannelSelectorType
///////////////////////////////////////////////////////////////////////////////
-sk_sp<SkImageFilter> SkDisplacementMapEffect::Make(ChannelSelectorType xChannelSelector,
- ChannelSelectorType yChannelSelector,
- SkScalar scale,
- sk_sp<SkImageFilter> displacement,
- sk_sp<SkImageFilter> color,
- const CropRect* cropRect) {
+SkImageFilter* SkDisplacementMapEffect::Create(ChannelSelectorType xChannelSelector,
+ ChannelSelectorType yChannelSelector,
+ SkScalar scale,
+ SkImageFilter* displacement,
+ SkImageFilter* color,
+ const CropRect* cropRect) {
if (!channel_selector_type_is_valid(xChannelSelector) ||
!channel_selector_type_is_valid(yChannelSelector)) {
return nullptr;
}
- sk_sp<SkImageFilter> inputs[2] = { std::move(displacement), std::move(color) };
- return sk_sp<SkImageFilter>(new SkDisplacementMapEffect(xChannelSelector,
- yChannelSelector,
- scale, inputs, cropRect));
+ SkImageFilter* inputs[2] = { displacement, color };
+ return new SkDisplacementMapEffect(xChannelSelector, yChannelSelector, scale, inputs, cropRect);
}
SkDisplacementMapEffect::SkDisplacementMapEffect(ChannelSelectorType xChannelSelector,
ChannelSelectorType yChannelSelector,
SkScalar scale,
- sk_sp<SkImageFilter> inputs[2],
+ SkImageFilter* inputs[2],
const CropRect* cropRect)
- : INHERITED(inputs, 2, cropRect)
+ : INHERITED(2, inputs, cropRect)
, fXChannelSelector(xChannelSelector)
, fYChannelSelector(yChannelSelector)
, fScale(scale) {
@@ -199,9 +197,8 @@ sk_sp<SkFlattenable> SkDisplacementMapEffect::CreateProc(SkReadBuffer& buffer) {
ChannelSelectorType xsel = (ChannelSelectorType)buffer.readInt();
ChannelSelectorType ysel = (ChannelSelectorType)buffer.readInt();
SkScalar scale = buffer.readScalar();
- return Make(xsel, ysel, scale,
- common.getInput(0), common.getInput(1),
- &common.cropRect());
+ return sk_sp<SkFlattenable>(Create(xsel, ysel, scale, common.getInput(0).get(),
+ common.getInput(1).get(), &common.cropRect()));
}
void SkDisplacementMapEffect::flatten(SkWriteBuffer& buffer) const {