Rename SkImageSource to SkImageImageFilter
Also deletes the unnecessary old header file.
Bug: skia:11230
Change-Id: Ie7c3926fe635a37e617e5e1fcac7c05eb576bbf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368617
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/gn/effects_imagefilters.gni b/gn/effects_imagefilters.gni
index 0077f7e..5a90ef4 100644
--- a/gn/effects_imagefilters.gni
+++ b/gn/effects_imagefilters.gni
@@ -19,8 +19,7 @@
"$_src/effects/imagefilters/SkDisplacementMapImageFilter.cpp",
"$_src/effects/imagefilters/SkDropShadowImageFilter.cpp",
"$_src/effects/imagefilters/SkImageFilters.cpp",
- "$_src/effects/imagefilters/SkImageSource.cpp",
- "$_src/effects/imagefilters/SkImageSource.h",
+ "$_src/effects/imagefilters/SkImageImageFilter.cpp",
"$_src/effects/imagefilters/SkLightingImageFilter.cpp",
"$_src/effects/imagefilters/SkLightingImageFilter.h",
"$_src/effects/imagefilters/SkMagnifierImageFilter.cpp",
diff --git a/include/effects/SkImageFilters.h b/include/effects/SkImageFilters.h
index cadcfbf..42f3f0e 100644
--- a/include/effects/SkImageFilters.h
+++ b/include/effects/SkImageFilters.h
@@ -199,7 +199,14 @@
* @param image The image that is output by the filter.
* @param sampling The sampling to use when drawing the image.
*/
- static sk_sp<SkImageFilter> Image(sk_sp<SkImage> image, const SkSamplingOptions& sampling);
+ static sk_sp<SkImageFilter> Image(sk_sp<SkImage> image, const SkSamplingOptions& sampling) {
+ if (image) {
+ SkRect r = SkRect::Make(image->bounds());
+ return Image(std::move(image), r, r, sampling);
+ } else {
+ return nullptr;
+ }
+ }
/**
* Create a filter that draws the image using Mitchel cubic resampling.
diff --git a/src/core/SkImageFilter_Base.h b/src/core/SkImageFilter_Base.h
index 55b003b..a2ce56a 100644
--- a/src/core/SkImageFilter_Base.h
+++ b/src/core/SkImageFilter_Base.h
@@ -491,5 +491,6 @@
void SkRegisterComposeImageFilterFlattenable();
void SkRegisterDisplacementMapImageFilterFlattenable();
void SkRegisterDropShadowImageFilterFlattenable();
+void SkRegisterImageImageFilterFlattenable();
#endif // SkImageFilter_Base_DEFINED
diff --git a/src/effects/imagefilters/SkImageFilters.cpp b/src/effects/imagefilters/SkImageFilters.cpp
index c215745..56f4262 100644
--- a/src/effects/imagefilters/SkImageFilters.cpp
+++ b/src/effects/imagefilters/SkImageFilters.cpp
@@ -9,7 +9,6 @@
#include "include/core/SkPaint.h"
-#include "src/effects/imagefilters/SkImageSource.h"
#include "src/effects/imagefilters/SkLightingImageFilter.h"
#include "src/effects/imagefilters/SkMagnifierImageFilter.h"
#include "src/effects/imagefilters/SkMatrixConvolutionImageFilter.h"
@@ -26,7 +25,6 @@
void SkImageFilters::RegisterFlattenables() {
SkDilateImageFilter::RegisterFlattenables();
- SkImageSource::RegisterFlattenables();
SkLightingImageFilter::RegisterFlattenables();
SkMagnifierImageFilter::RegisterFlattenables();
SkMatrixConvolutionImageFilter::RegisterFlattenables();
@@ -39,21 +37,6 @@
///////////////////////////////////////////////////////////////////////////////////////////////////
-sk_sp<SkImageFilter> SkImageFilters::Image(
- sk_sp<SkImage> image, const SkRect& srcRect, const SkRect& dstRect,
- const SkSamplingOptions& sampling) {
- return SkImageSource::Make(std::move(image), srcRect, dstRect, sampling);
-}
-
-sk_sp<SkImageFilter> SkImageFilters::Image(sk_sp<SkImage> image,
- const SkSamplingOptions& sampling) {
- if (image) {
- auto r = SkRect::MakeIWH(image->width(), image->height());
- return Image(std::move(image), r, r, sampling);
- }
- return nullptr;
-}
-
sk_sp<SkImageFilter> SkImageFilters::Magnifier(
const SkRect& srcRect, SkScalar inset, sk_sp<SkImageFilter> input,
const CropRect& cropRect) {
diff --git a/src/effects/imagefilters/SkImageSource.cpp b/src/effects/imagefilters/SkImageImageFilter.cpp
similarity index 74%
rename from src/effects/imagefilters/SkImageSource.cpp
rename to src/effects/imagefilters/SkImageImageFilter.cpp
index d5eeef2..a6aa38a 100644
--- a/src/effects/imagefilters/SkImageSource.cpp
+++ b/src/effects/imagefilters/SkImageImageFilter.cpp
@@ -5,11 +5,10 @@
* found in the LICENSE file.
*/
-#include "src/effects/imagefilters/SkImageSource.h"
-
#include "include/core/SkCanvas.h"
#include "include/core/SkImage.h"
#include "include/core/SkString.h"
+#include "include/effects/SkImageFilters.h"
#include "src/core/SkImageFilter_Base.h"
#include "src/core/SkReadBuffer.h"
#include "src/core/SkSamplingPriv.h"
@@ -19,10 +18,10 @@
namespace {
-class SkImageSourceImpl final : public SkImageFilter_Base {
+class SkImageImageFilter final : public SkImageFilter_Base {
public:
- SkImageSourceImpl(sk_sp<SkImage> image, const SkRect& srcRect, const SkRect& dstRect,
- const SkSamplingOptions& sampling)
+ SkImageImageFilter(sk_sp<SkImage> image, const SkRect& srcRect, const SkRect& dstRect,
+ const SkSamplingOptions& sampling)
: INHERITED(nullptr, 0, nullptr)
, fImage(std::move(image))
, fSrcRect(srcRect)
@@ -40,8 +39,8 @@
MapDirection, const SkIRect* inputRect) const override;
private:
- friend void SkImageSource::RegisterFlattenables();
- SK_FLATTENABLE_HOOKS(SkImageSourceImpl)
+ friend void ::SkRegisterImageImageFilterFlattenable();
+ SK_FLATTENABLE_HOOKS(SkImageImageFilter)
sk_sp<SkImage> fImage;
SkRect fSrcRect, fDstRect;
@@ -52,27 +51,25 @@
} // end namespace
-sk_sp<SkImageFilter> SkImageSource::Make(sk_sp<SkImage> image,
- const SkRect& srcRect,
- const SkRect& dstRect,
- const SkSamplingOptions& sampling) {
+sk_sp<SkImageFilter> SkImageFilters::Image(sk_sp<SkImage> image,
+ const SkRect& srcRect,
+ const SkRect& dstRect,
+ const SkSamplingOptions& sampling) {
if (!image || srcRect.width() <= 0.0f || srcRect.height() <= 0.0f) {
return nullptr;
}
- return sk_sp<SkImageFilter>(new SkImageSourceImpl(
+ return sk_sp<SkImageFilter>(new SkImageImageFilter(
std::move(image), srcRect, dstRect, sampling));
}
-void SkImageSource::RegisterFlattenables() {
- SK_REGISTER_FLATTENABLE(SkImageSourceImpl);
+void SkRegisterImageImageFilterFlattenable() {
+ SK_REGISTER_FLATTENABLE(SkImageImageFilter);
// TODO (michaelludwig) - Remove after grace period for SKPs to stop using old name
- SkFlattenable::Register("SkImageSourceImpl", SkImageSourceImpl::CreateProc);
+ SkFlattenable::Register("SkImageSourceImpl", SkImageImageFilter::CreateProc);
}
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-sk_sp<SkFlattenable> SkImageSourceImpl::CreateProc(SkReadBuffer& buffer) {
+sk_sp<SkFlattenable> SkImageImageFilter::CreateProc(SkReadBuffer& buffer) {
SkSamplingOptions sampling;
if (buffer.isVersionLT(SkPicturePriv::kImageFilterImageSampling_Version)) {
sampling = SkSamplingOptions(buffer.checkFilterQuality(),
@@ -90,18 +87,20 @@
return nullptr;
}
- return SkImageSource::Make(std::move(image), src, dst, sampling);
+ return SkImageFilters::Image(std::move(image), src, dst, sampling);
}
-void SkImageSourceImpl::flatten(SkWriteBuffer& buffer) const {
+void SkImageImageFilter::flatten(SkWriteBuffer& buffer) const {
SkSamplingPriv::Write(buffer, fSampling);
buffer.writeRect(fSrcRect);
buffer.writeRect(fDstRect);
buffer.writeImage(fImage.get());
}
-sk_sp<SkSpecialImage> SkImageSourceImpl::onFilterImage(const Context& ctx,
- SkIPoint* offset) const {
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+sk_sp<SkSpecialImage> SkImageImageFilter::onFilterImage(const Context& ctx,
+ SkIPoint* offset) const {
SkRect dstRect;
ctx.ctm().mapRect(&dstRect, fDstRect);
@@ -156,13 +155,13 @@
return surf->makeImageSnapshot();
}
-SkRect SkImageSourceImpl::computeFastBounds(const SkRect& src) const {
+SkRect SkImageImageFilter::computeFastBounds(const SkRect& src) const {
return fDstRect;
}
-SkIRect SkImageSourceImpl::onFilterNodeBounds(const SkIRect& src, const SkMatrix& ctm,
- MapDirection direction,
- const SkIRect* inputRect) const {
+SkIRect SkImageImageFilter::onFilterNodeBounds(const SkIRect& src, const SkMatrix& ctm,
+ MapDirection direction,
+ const SkIRect* inputRect) const {
if (kReverse_MapDirection == direction) {
return INHERITED::onFilterNodeBounds(src, ctm, direction, inputRect);
}
diff --git a/src/effects/imagefilters/SkImageSource.h b/src/effects/imagefilters/SkImageSource.h
deleted file mode 100644
index c2f2d03..0000000
--- a/src/effects/imagefilters/SkImageSource.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2015 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkImageSource_DEFINED
-#define SkImageSource_DEFINED
-
-#include "include/core/SkImage.h"
-#include "include/core/SkImageFilter.h"
-
-class SkImageSource {
-public:
- static sk_sp<SkImageFilter> Make(sk_sp<SkImage> image,
- const SkRect& srcRect,
- const SkRect& dstRect,
- const SkSamplingOptions& sampling);
-
- static void RegisterFlattenables();
-
-private:
- SkImageSource() = delete;
-};
-
-#endif
diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp
index 3049b10..24f0e35 100644
--- a/src/ports/SkGlobalInitialization_default.cpp
+++ b/src/ports/SkGlobalInitialization_default.cpp
@@ -124,6 +124,7 @@
SkRegisterComposeImageFilterFlattenable();
SkRegisterDisplacementMapImageFilterFlattenable();
SkRegisterDropShadowImageFilterFlattenable();
+ SkRegisterImageImageFilterFlattenable();
SK_REGISTER_FLATTENABLE(SkLocalMatrixImageFilter);
SK_REGISTER_FLATTENABLE(SkMatrixImageFilter);
}