| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2011 The Android Open Source Project | 2  * Copyright 2011 The Android Open Source Project | 
| 3  * | 3  * | 
| 4  * Use of this source code is governed by a BSD-style license that can be | 4  * Use of this source code is governed by a BSD-style license that can be | 
| 5  * found in the LICENSE file. | 5  * found in the LICENSE file. | 
| 6  */ | 6  */ | 
| 7 | 7 | 
| 8 #ifndef SkBlurImageFilter_DEFINED | 8 #ifndef SkBlurImageFilter_DEFINED | 
| 9 #define SkBlurImageFilter_DEFINED | 9 #define SkBlurImageFilter_DEFINED | 
| 10 | 10 | 
| 11 #include "SkImageFilter.h" | 11 #include "SkImageFilter.h" | 
| 12 #include "SkSize.h" | 12 #include "SkSize.h" | 
| 13 | 13 | 
| 14 class SK_API SkBlurImageFilter : public SkImageFilter { | 14 class SK_API SkBlurImageFilter : public SkImageFilter { | 
| 15 public: | 15 public: | 
| 16     static SkImageFilter* Create(SkScalar sigmaX, SkScalar sigmaY, SkImageFilter
    * input = NULL, | 16     static sk_sp<SkImageFilter> Make(SkScalar sigmaX, SkScalar sigmaY, sk_sp<SkI
    mageFilter> input, | 
| 17                                  const CropRect* cropRect = NULL) { | 17                                      const CropRect* cropRect = nullptr) { | 
| 18         if (0 == sigmaX && 0 == sigmaY && nullptr == cropRect) { | 18         if (0 == sigmaX && 0 == sigmaY && nullptr == cropRect) { | 
| 19             return SkSafeRef(input); | 19             return input; | 
| 20         } | 20         } | 
| 21         return new SkBlurImageFilter(sigmaX, sigmaY, input, cropRect); | 21         return sk_sp<SkImageFilter>(new SkBlurImageFilter(sigmaX, sigmaY, input,
     cropRect)); | 
| 22     } | 22     } | 
| 23 | 23 | 
| 24     SkRect computeFastBounds(const SkRect&) const override; | 24     SkRect computeFastBounds(const SkRect&) const override; | 
| 25 | 25 | 
| 26     SK_TO_STRING_OVERRIDE() | 26     SK_TO_STRING_OVERRIDE() | 
| 27     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurImageFilter) | 27     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurImageFilter) | 
| 28 | 28 | 
|  | 29 #ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR | 
|  | 30     static SkImageFilter* Create(SkScalar sigmaX, SkScalar sigmaY, SkImageFilter
    * input = nullptr, | 
|  | 31                                  const CropRect* cropRect = nullptr) { | 
|  | 32         return Make(sigmaX, sigmaY, sk_ref_sp<SkImageFilter>(input), cropRect).r
    elease(); | 
|  | 33     } | 
|  | 34 #endif | 
|  | 35 | 
| 29 protected: | 36 protected: | 
| 30     void flatten(SkWriteBuffer&) const override; | 37     void flatten(SkWriteBuffer&) const override; | 
| 31     sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&, | 38     sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&, | 
| 32                                         SkIPoint* offset) const override; | 39                                         SkIPoint* offset) const override; | 
| 33     SkIRect onFilterNodeBounds(const SkIRect& src, const SkMatrix&, MapDirection
    ) const override; | 40     SkIRect onFilterNodeBounds(const SkIRect& src, const SkMatrix&, MapDirection
    ) const override; | 
| 34 | 41 | 
| 35 private: | 42 private: | 
| 36     SkBlurImageFilter(SkScalar sigmaX, | 43     SkBlurImageFilter(SkScalar sigmaX, | 
| 37                       SkScalar sigmaY, | 44                       SkScalar sigmaY, | 
| 38                       SkImageFilter* input, | 45                       sk_sp<SkImageFilter> input, | 
| 39                       const CropRect* cropRect); | 46                       const CropRect* cropRect); | 
| 40 | 47 | 
| 41     SkSize   fSigma; | 48     SkSize   fSigma; | 
| 42     typedef SkImageFilter INHERITED; | 49     typedef SkImageFilter INHERITED; | 
| 43 }; | 50 }; | 
| 44 | 51 | 
| 45 #endif | 52 #endif | 
| OLD | NEW | 
|---|