Chromium Code Reviews| Index: include/effects/SkOffsetImageFilter.h |
| diff --git a/include/effects/SkOffsetImageFilter.h b/include/effects/SkOffsetImageFilter.h |
| index 908f20b67a87f82a63af73ff5d8a114b26b34aba..b842a82be84c19efa9987e438d5a05ac702591a9 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, input, cropRect)); |
|
f(malita)
2016/03/31 13:39:02
move input
robertphillips
2016/03/31 14:56:15
Done.
|
| } |
| 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; |