Remove deprecated tile filter header
Also removes the now-empty SkImageFilters::RegisterFlattenables()
function (was public, but is private-use only, so no one should be using
it anyways).
The remainder of SkImageFilters.cpp will be cleaned up in a follow-up CL
Bug: skia:11230
Change-Id: Ibdccff70d37e78e935cadcaff2ac90384e27c990
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372120
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/gn/effects_imagefilters.gni b/gn/effects_imagefilters.gni
index 8efe7b8..c58ba16 100644
--- a/gn/effects_imagefilters.gni
+++ b/gn/effects_imagefilters.gni
@@ -29,5 +29,4 @@
"$_src/effects/imagefilters/SkPictureImageFilter.cpp",
"$_src/effects/imagefilters/SkShaderImageFilter.cpp",
"$_src/effects/imagefilters/SkTileImageFilter.cpp",
- "$_src/effects/imagefilters/SkTileImageFilter.h",
]
diff --git a/include/effects/SkImageFilters.h b/include/effects/SkImageFilters.h
index 42f3f0e..4db545b 100644
--- a/include/effects/SkImageFilters.h
+++ b/include/effects/SkImageFilters.h
@@ -505,8 +505,6 @@
sk_sp<SkImageFilter> input,
const CropRect& cropRect = {});
- static void RegisterFlattenables();
-
private:
SkImageFilters() = delete;
};
diff --git a/src/core/SkImageFilter_Base.h b/src/core/SkImageFilter_Base.h
index 20ecca9..428ae00 100644
--- a/src/core/SkImageFilter_Base.h
+++ b/src/core/SkImageFilter_Base.h
@@ -500,5 +500,6 @@
void SkRegisterOffsetImageFilterFlattenable();
void SkRegisterPictureImageFilterFlattenable();
void SkRegisterShaderImageFilterFlattenable();
+void SkRegisterTileImageFilterFlattenable();
#endif // SkImageFilter_Base_DEFINED
diff --git a/src/effects/imagefilters/SkImageFilters.cpp b/src/effects/imagefilters/SkImageFilters.cpp
index b06ae60..71adc3d 100644
--- a/src/effects/imagefilters/SkImageFilters.cpp
+++ b/src/effects/imagefilters/SkImageFilters.cpp
@@ -9,16 +9,10 @@
#include "include/core/SkPaint.h"
-#include "src/effects/imagefilters/SkTileImageFilter.h"
-
// TODO (michaelludwig) - Once SkCanvas can draw the results of a filter with any transform, this
// filter can be moved out of core
#include "src/core/SkMatrixImageFilter.h"
-void SkImageFilters::RegisterFlattenables() {
- SkTileImageFilter::RegisterFlattenables();
-}
-
///////////////////////////////////////////////////////////////////////////////////////////////////
sk_sp<SkImageFilter> SkImageFilters::MatrixTransform(
@@ -34,8 +28,3 @@
return SkMatrixImageFilter::Make(transform, sampling, std::move(input));
}
#endif
-
-sk_sp<SkImageFilter> SkImageFilters::Tile(
- const SkRect& src, const SkRect& dst, sk_sp<SkImageFilter> input) {
- return SkTileImageFilter::Make(src, dst, std::move(input));
-}
diff --git a/src/effects/imagefilters/SkTileImageFilter.cpp b/src/effects/imagefilters/SkTileImageFilter.cpp
index 0c2dea2..cbf46cb 100644
--- a/src/effects/imagefilters/SkTileImageFilter.cpp
+++ b/src/effects/imagefilters/SkTileImageFilter.cpp
@@ -5,8 +5,6 @@
* found in the LICENSE file.
*/
-#include "src/effects/imagefilters/SkTileImageFilter.h"
-
#include "include/core/SkCanvas.h"
#include "include/core/SkImage.h"
#include "include/core/SkMatrix.h"
@@ -23,9 +21,9 @@
namespace {
-class SkTileImageFilterImpl final : public SkImageFilter_Base {
+class SkTileImageFilter final : public SkImageFilter_Base {
public:
- SkTileImageFilterImpl(const SkRect& srcRect, const SkRect& dstRect, sk_sp<SkImageFilter> input)
+ SkTileImageFilter(const SkRect& srcRect, const SkRect& dstRect, sk_sp<SkImageFilter> input)
: INHERITED(&input, 1, nullptr)
, fSrcRect(srcRect)
, fDstRect(dstRect) {}
@@ -42,8 +40,8 @@
sk_sp<SkSpecialImage> onFilterImage(const Context&, SkIPoint* offset) const override;
private:
- friend void SkTileImageFilter::RegisterFlattenables();
- SK_FLATTENABLE_HOOKS(SkTileImageFilterImpl)
+ friend void ::SkRegisterTileImageFilterFlattenable();
+ SK_FLATTENABLE_HOOKS(SkTileImageFilter)
SkRect fSrcRect;
SkRect fDstRect;
@@ -53,46 +51,48 @@
} // end namespace
-sk_sp<SkImageFilter> SkTileImageFilter::Make(const SkRect& srcRect, const SkRect& dstRect,
- sk_sp<SkImageFilter> input) {
- if (!SkIsValidRect(srcRect) || !SkIsValidRect(dstRect)) {
+
+sk_sp<SkImageFilter> SkImageFilters::Tile(const SkRect& src,
+ const SkRect& dst,
+ sk_sp<SkImageFilter> input) {
+ if (!SkIsValidRect(src) || !SkIsValidRect(dst)) {
return nullptr;
}
- if (srcRect.width() == dstRect.width() && srcRect.height() == dstRect.height()) {
- SkRect ir = dstRect;
- if (!ir.intersect(srcRect)) {
+ if (src.width() == dst.width() && src.height() == dst.height()) {
+ SkRect ir = dst;
+ if (!ir.intersect(src)) {
return input;
}
- return SkImageFilters::Offset(dstRect.x() - srcRect.x(), dstRect.y() - srcRect.y(),
+ return SkImageFilters::Offset(dst.x() - src.x(), dst.y() - src.y(),
std::move(input), &ir);
}
- return sk_sp<SkImageFilter>(new SkTileImageFilterImpl(srcRect, dstRect, std::move(input)));
+ return sk_sp<SkImageFilter>(new SkTileImageFilter(src, dst, std::move(input)));
}
-void SkTileImageFilter::RegisterFlattenables() {
- SK_REGISTER_FLATTENABLE(SkTileImageFilterImpl);
+void SkRegisterTileImageFilterFlattenable() {
+ SK_REGISTER_FLATTENABLE(SkTileImageFilter);
// TODO (michaelludwig) - Remove after grace period for SKPs to stop using old name
- SkFlattenable::Register("SkTileImageFilter", SkTileImageFilterImpl::CreateProc);
+ SkFlattenable::Register("SkTileImageFilterImpl", SkTileImageFilter::CreateProc);
}
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-sk_sp<SkFlattenable> SkTileImageFilterImpl::CreateProc(SkReadBuffer& buffer) {
+sk_sp<SkFlattenable> SkTileImageFilter::CreateProc(SkReadBuffer& buffer) {
SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1);
SkRect src, dst;
buffer.readRect(&src);
buffer.readRect(&dst);
- return SkTileImageFilter::Make(src, dst, common.getInput(0));
+ return SkImageFilters::Tile(src, dst, common.getInput(0));
}
-void SkTileImageFilterImpl::flatten(SkWriteBuffer& buffer) const {
+void SkTileImageFilter::flatten(SkWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeRect(fSrcRect);
buffer.writeRect(fDstRect);
}
-sk_sp<SkSpecialImage> SkTileImageFilterImpl::onFilterImage(const Context& ctx,
- SkIPoint* offset) const {
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+sk_sp<SkSpecialImage> SkTileImageFilter::onFilterImage(const Context& ctx,
+ SkIPoint* offset) const {
SkIPoint inputOffset = SkIPoint::Make(0, 0);
sk_sp<SkSpecialImage> input(this->filterInput(0, ctx, &inputOffset));
if (!input) {
@@ -169,19 +169,19 @@
return surf->makeImageSnapshot();
}
-SkIRect SkTileImageFilterImpl::onFilterNodeBounds(
+SkIRect SkTileImageFilter::onFilterNodeBounds(
const SkIRect& src, const SkMatrix& ctm, MapDirection dir, const SkIRect* inputRect) const {
SkRect rect = kReverse_MapDirection == dir ? fSrcRect : fDstRect;
ctm.mapRect(&rect);
return rect.roundOut();
}
-SkIRect SkTileImageFilterImpl::onFilterBounds(const SkIRect& src, const SkMatrix&,
- MapDirection, const SkIRect* inputRect) const {
+SkIRect SkTileImageFilter::onFilterBounds(const SkIRect& src, const SkMatrix&,
+ MapDirection, const SkIRect* inputRect) const {
// Don't recurse into inputs.
return src;
}
-SkRect SkTileImageFilterImpl::computeFastBounds(const SkRect& src) const {
+SkRect SkTileImageFilter::computeFastBounds(const SkRect& src) const {
return fDstRect;
}
diff --git a/src/effects/imagefilters/SkTileImageFilter.h b/src/effects/imagefilters/SkTileImageFilter.h
deleted file mode 100644
index 348e4f1..0000000
--- a/src/effects/imagefilters/SkTileImageFilter.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkTileImageFilter_DEFINED
-#define SkTileImageFilter_DEFINED
-
-#include "include/core/SkImageFilter.h"
-
-// DEPRECATED: Use include/effects/SkImageFilters::Tile
-class SK_API SkTileImageFilter {
-public:
- /** Create a tile image filter
- @param src Defines the pixels to tile
- @param dst Defines the pixels where tiles are drawn
- @param input Input from which the subregion defined by srcRect will be tiled
- */
- static sk_sp<SkImageFilter> Make(const SkRect& src,
- const SkRect& dst,
- sk_sp<SkImageFilter> input);
-
- static void RegisterFlattenables();
-
-private:
- SkTileImageFilter() = delete;
-};
-
-#endif
diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp
index 777d1a9..e521462 100644
--- a/src/ports/SkGlobalInitialization_default.cpp
+++ b/src/ports/SkGlobalInitialization_default.cpp
@@ -115,7 +115,6 @@
* SK_DISABLE_EFFECT_SERIALIZATION, or modify/replace this file as needed.
*/
void SkFlattenable::PrivateInitializer::InitImageFilters() {
- SkImageFilters::RegisterFlattenables();
SkRegisterAlphaThresholdImageFilterFlattenable();
SkRegisterArithmeticImageFilterFlattenable();
SkRegisterBlendImageFilterFlattenable();
@@ -133,6 +132,7 @@
SkRegisterOffsetImageFilterFlattenable();
SkRegisterPictureImageFilterFlattenable();
SkRegisterShaderImageFilterFlattenable();
+ SkRegisterTileImageFilterFlattenable();
SK_REGISTER_FLATTENABLE(SkLocalMatrixImageFilter);
SK_REGISTER_FLATTENABLE(SkMatrixImageFilter);
}