diff options
Diffstat (limited to 'include/effects')
-rw-r--r-- | include/effects/SkBlurImageFilter.h | 10 | ||||
-rw-r--r-- | include/effects/SkComposeImageFilter.h | 12 | ||||
-rw-r--r-- | include/effects/SkDropShadowImageFilter.h | 7 | ||||
-rw-r--r-- | include/effects/SkImageSource.h | 18 | ||||
-rw-r--r-- | include/effects/SkMergeImageFilter.h | 11 | ||||
-rw-r--r-- | include/effects/SkMorphologyImageFilter.h | 18 | ||||
-rw-r--r-- | include/effects/SkOffsetImageFilter.h | 8 | ||||
-rw-r--r-- | include/effects/SkPaintImageFilter.h | 4 | ||||
-rw-r--r-- | include/effects/SkPictureImageFilter.h | 18 | ||||
-rw-r--r-- | include/effects/SkTestImageFilters.h | 11 |
10 files changed, 18 insertions, 99 deletions
diff --git a/include/effects/SkBlurImageFilter.h b/include/effects/SkBlurImageFilter.h index 607e76de51..9bfa19b875 100644 --- a/include/effects/SkBlurImageFilter.h +++ b/include/effects/SkBlurImageFilter.h @@ -13,13 +13,9 @@ class SK_API SkBlurImageFilter : public SkImageFilter { public: - static sk_sp<SkImageFilter> Make(SkScalar sigmaX, SkScalar sigmaY, sk_sp<SkImageFilter> input, - const CropRect* cropRect = nullptr) { - if (0 == sigmaX && 0 == sigmaY && nullptr == cropRect) { - return input; - } - return sk_sp<SkImageFilter>(new SkBlurImageFilter(sigmaX, sigmaY, input, cropRect)); - } + static sk_sp<SkImageFilter> Make(SkScalar sigmaX, SkScalar sigmaY, + sk_sp<SkImageFilter> input, + const CropRect* cropRect = nullptr); SkRect computeFastBounds(const SkRect&) const override; diff --git a/include/effects/SkComposeImageFilter.h b/include/effects/SkComposeImageFilter.h index 49c7685415..fe0814af23 100644 --- a/include/effects/SkComposeImageFilter.h +++ b/include/effects/SkComposeImageFilter.h @@ -12,16 +12,8 @@ class SK_API SkComposeImageFilter : public SkImageFilter { public: - static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> outer, sk_sp<SkImageFilter> inner) { - if (!outer) { - return inner; - } - if (!inner) { - return outer; - } - sk_sp<SkImageFilter> inputs[2] = { std::move(outer), std::move(inner) }; - return sk_sp<SkImageFilter>(new SkComposeImageFilter(inputs)); - } + static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> outer, sk_sp<SkImageFilter> inner); + SkRect computeFastBounds(const SkRect& src) const override; SK_TO_STRING_OVERRIDE() diff --git a/include/effects/SkDropShadowImageFilter.h b/include/effects/SkDropShadowImageFilter.h index a4726f3247..87e7406829 100644 --- a/include/effects/SkDropShadowImageFilter.h +++ b/include/effects/SkDropShadowImageFilter.h @@ -26,12 +26,7 @@ public: static sk_sp<SkImageFilter> Make(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor color, ShadowMode shadowMode, sk_sp<SkImageFilter> input, - const CropRect* cropRect = nullptr) { - return sk_sp<SkImageFilter>(new SkDropShadowImageFilter(dx, dy, sigmaX, sigmaY, - color, shadowMode, - std::move(input), - cropRect)); - } + const CropRect* cropRect = nullptr); SkRect computeFastBounds(const SkRect&) const override; SK_TO_STRING_OVERRIDE() diff --git a/include/effects/SkImageSource.h b/include/effects/SkImageSource.h index 0b4fecd776..4ceff95668 100644 --- a/include/effects/SkImageSource.h +++ b/include/effects/SkImageSource.h @@ -13,25 +13,11 @@ class SK_API SkImageSource : public SkImageFilter { public: - static sk_sp<SkImageFilter> Make(sk_sp<SkImage> image) { - if (!image) { - return nullptr; - } - - return sk_sp<SkImageFilter>(new SkImageSource(std::move(image))); - } + static sk_sp<SkImageFilter> Make(sk_sp<SkImage> image); static sk_sp<SkImageFilter> Make(sk_sp<SkImage> image, const SkRect& srcRect, const SkRect& dstRect, - SkFilterQuality filterQuality) { - if (!image) { - return nullptr; - } - - return sk_sp<SkImageFilter>(new SkImageSource(std::move(image), - srcRect, dstRect, - filterQuality)); - } + SkFilterQuality filterQuality); SkRect computeFastBounds(const SkRect& src) const override; diff --git a/include/effects/SkMergeImageFilter.h b/include/effects/SkMergeImageFilter.h index e85cc1f97f..3bab08b2a1 100644 --- a/include/effects/SkMergeImageFilter.h +++ b/include/effects/SkMergeImageFilter.h @@ -18,18 +18,11 @@ public: static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> first, sk_sp<SkImageFilter> second, SkXfermode::Mode mode = SkXfermode::kSrcOver_Mode, - const CropRect* cropRect = nullptr) { - sk_sp<SkImageFilter> inputs[2] = { first, second }; - SkXfermode::Mode modes[2] = { mode, mode }; - return sk_sp<SkImageFilter>(new SkMergeImageFilter(inputs, 2, modes, cropRect)); - } - + const CropRect* cropRect = nullptr); static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> filters[], int count, const SkXfermode::Mode modes[] = nullptr, - const CropRect* cropRect = nullptr) { - return sk_sp<SkImageFilter>(new SkMergeImageFilter(filters, count, modes, cropRect)); - } + const CropRect* cropRect = nullptr); SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMergeImageFilter) diff --git a/include/effects/SkMorphologyImageFilter.h b/include/effects/SkMorphologyImageFilter.h index 27608ecd07..fbbbe207ab 100644 --- a/include/effects/SkMorphologyImageFilter.h +++ b/include/effects/SkMorphologyImageFilter.h @@ -57,14 +57,7 @@ class SK_API SkDilateImageFilter : public SkMorphologyImageFilter { public: static sk_sp<SkImageFilter> Make(int radiusX, int radiusY, sk_sp<SkImageFilter> input, - const CropRect* cropRect = nullptr) { - if (radiusX < 0 || radiusY < 0) { - return nullptr; - } - return sk_sp<SkImageFilter>(new SkDilateImageFilter(radiusX, radiusY, - std::move(input), - cropRect)); - } + const CropRect* cropRect = nullptr); SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDilateImageFilter) @@ -96,14 +89,7 @@ class SK_API SkErodeImageFilter : public SkMorphologyImageFilter { public: static sk_sp<SkImageFilter> Make(int radiusX, int radiusY, sk_sp<SkImageFilter> input, - const CropRect* cropRect = nullptr) { - if (radiusX < 0 || radiusY < 0) { - return nullptr; - } - return sk_sp<SkImageFilter>(new SkErodeImageFilter(radiusX, radiusY, - std::move(input), - cropRect)); - } + const CropRect* cropRect = nullptr); SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkErodeImageFilter) diff --git a/include/effects/SkOffsetImageFilter.h b/include/effects/SkOffsetImageFilter.h index cf2ff96ada..c1005ef780 100644 --- a/include/effects/SkOffsetImageFilter.h +++ b/include/effects/SkOffsetImageFilter.h @@ -15,13 +15,7 @@ class SK_API SkOffsetImageFilter : public SkImageFilter { public: static sk_sp<SkImageFilter> Make(SkScalar dx, SkScalar dy, sk_sp<SkImageFilter> input, - const CropRect* cropRect = nullptr) { - if (!SkScalarIsFinite(dx) || !SkScalarIsFinite(dy)) { - return nullptr; - } - - return sk_sp<SkImageFilter>(new SkOffsetImageFilter(dx, dy, std::move(input), cropRect)); - } + const CropRect* cropRect = nullptr); SkRect computeFastBounds(const SkRect& src) const override; diff --git a/include/effects/SkPaintImageFilter.h b/include/effects/SkPaintImageFilter.h index 35a76b80fb..8a59da6c66 100644 --- a/include/effects/SkPaintImageFilter.h +++ b/include/effects/SkPaintImageFilter.h @@ -22,9 +22,7 @@ public: * not specified, the source primitive's bounds are used * instead. */ - static sk_sp<SkImageFilter> Make(const SkPaint& paint, const CropRect* cropRect = nullptr) { - return sk_sp<SkImageFilter>(new SkPaintImageFilter(paint, cropRect)); - } + static sk_sp<SkImageFilter> Make(const SkPaint& paint, const CropRect* cropRect = nullptr); bool affectsTransparentBlack() const override; diff --git a/include/effects/SkPictureImageFilter.h b/include/effects/SkPictureImageFilter.h index c3f9435d61..2ca1c5b4fd 100644 --- a/include/effects/SkPictureImageFilter.h +++ b/include/effects/SkPictureImageFilter.h @@ -16,20 +16,13 @@ public: /** * Refs the passed-in picture. */ - static sk_sp<SkImageFilter> Make(sk_sp<SkPicture> picture) { - return sk_sp<SkImageFilter>(new SkPictureImageFilter(std::move(picture))); - } + static sk_sp<SkImageFilter> Make(sk_sp<SkPicture> picture); /** * Refs the passed-in picture. cropRect can be used to crop or expand the destination rect when * the picture is drawn. (No scaling is implied by the dest rect; only the CTM is applied.) */ - static sk_sp<SkImageFilter> Make(sk_sp<SkPicture> picture, const SkRect& cropRect) { - return sk_sp<SkImageFilter>(new SkPictureImageFilter(std::move(picture), - cropRect, - kDeviceSpace_PictureResolution, - kLow_SkFilterQuality)); - } + static sk_sp<SkImageFilter> Make(sk_sp<SkPicture> picture, const SkRect& cropRect); /** * Refs the passed-in picture. The picture is rasterized at a resolution that matches the @@ -40,12 +33,7 @@ public: */ static sk_sp<SkImageFilter> MakeForLocalSpace(sk_sp<SkPicture> picture, const SkRect& cropRect, - SkFilterQuality filterQuality) { - return sk_sp<SkImageFilter>(new SkPictureImageFilter(std::move(picture), - cropRect, - kLocalSpace_PictureResolution, - filterQuality)); - } + SkFilterQuality filterQuality); #ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR static SkImageFilter* Create(const SkPicture* picture) { diff --git a/include/effects/SkTestImageFilters.h b/include/effects/SkTestImageFilters.h index 0f89759c1c..4aa30083dd 100644 --- a/include/effects/SkTestImageFilters.h +++ b/include/effects/SkTestImageFilters.h @@ -14,16 +14,7 @@ // Fun mode that scales down (only) and then scales back up to look pixelated class SK_API SkDownSampleImageFilter : public SkImageFilter { public: - static sk_sp<SkImageFilter> Make(SkScalar scale, sk_sp<SkImageFilter> input) { - if (!SkScalarIsFinite(scale)) { - return nullptr; - } - // we don't support scale in this range - if (scale > SK_Scalar1 || scale <= 0) { - return nullptr; - } - return sk_sp<SkImageFilter>(new SkDownSampleImageFilter(scale, std::move(input))); - } + static sk_sp<SkImageFilter> Make(SkScalar scale, sk_sp<SkImageFilter> input); SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter) |