Move more virtuals into ...Base to hide them from public api
Bug: skia:12111
Change-Id: I35601e0504e8e1186314e19bf53f01274bfc0ae0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419357
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/include/core/SkColorFilter.h b/include/core/SkColorFilter.h
index 0ef3f89..89e60f53 100644
--- a/include/core/SkColorFilter.h
+++ b/include/core/SkColorFilter.h
@@ -55,10 +55,6 @@
*/
sk_sp<SkColorFilter> makeComposed(sk_sp<SkColorFilter> inner) const;
- static SkFlattenable::Type GetFlattenableType() {
- return kSkColorFilter_Type;
- }
-
static sk_sp<SkColorFilter> Deserialize(const void* data, size_t size,
const SkDeserialProcs* procs = nullptr);
diff --git a/include/core/SkImageFilter.h b/include/core/SkImageFilter.h
index 17eb826..e224091 100644
--- a/include/core/SkImageFilter.h
+++ b/include/core/SkImageFilter.h
@@ -93,14 +93,6 @@
*/
sk_sp<SkImageFilter> makeWithLocalMatrix(const SkMatrix& matrix) const;
- static SkFlattenable::Type GetFlattenableType() {
- return kSkImageFilter_Type;
- }
-
- SkFlattenable::Type getFlattenableType() const override {
- return kSkImageFilter_Type;
- }
-
static sk_sp<SkImageFilter> Deserialize(const void* data, size_t size,
const SkDeserialProcs* procs = nullptr) {
return sk_sp<SkImageFilter>(static_cast<SkImageFilter*>(
diff --git a/include/core/SkMaskFilter.h b/include/core/SkMaskFilter.h
index abf65c0..3fde51b 100644
--- a/include/core/SkMaskFilter.h
+++ b/include/core/SkMaskFilter.h
@@ -32,14 +32,6 @@
static sk_sp<SkMaskFilter> MakeBlur(SkBlurStyle style, SkScalar sigma,
bool respectCTM = true);
- static SkFlattenable::Type GetFlattenableType() {
- return kSkMaskFilter_Type;
- }
-
- SkFlattenable::Type getFlattenableType() const override {
- return kSkMaskFilter_Type;
- }
-
/**
* Returns the approximate bounds that would result from filtering the src rect.
* The actual result may be different, but it should be contained within the
diff --git a/src/core/SkImageFilter_Base.h b/src/core/SkImageFilter_Base.h
index 1c91d2c..cba26a8 100644
--- a/src/core/SkImageFilter_Base.h
+++ b/src/core/SkImageFilter_Base.h
@@ -121,6 +121,14 @@
uint32_t uniqueID() const { return fUniqueID; }
+ static SkFlattenable::Type GetFlattenableType() {
+ return kSkImageFilter_Type;
+ }
+
+ SkFlattenable::Type getFlattenableType() const override {
+ return kSkImageFilter_Type;
+ }
+
protected:
// DEPRECATED: Will be removed once cropping is handled by a standalone image filter
class CropRect {
diff --git a/src/core/SkMaskFilterBase.h b/src/core/SkMaskFilterBase.h
index 4b895b8..69ad38e 100644
--- a/src/core/SkMaskFilterBase.h
+++ b/src/core/SkMaskFilterBase.h
@@ -159,6 +159,14 @@
*/
virtual bool asABlur(BlurRec*) const;
+ static SkFlattenable::Type GetFlattenableType() {
+ return kSkMaskFilter_Type;
+ }
+
+ SkFlattenable::Type getFlattenableType() const override {
+ return kSkMaskFilter_Type;
+ }
+
protected:
SkMaskFilterBase() {}
diff --git a/src/core/SkReadBuffer.h b/src/core/SkReadBuffer.h
index df0ec16..e436d63 100644
--- a/src/core/SkReadBuffer.h
+++ b/src/core/SkReadBuffer.h
@@ -18,6 +18,7 @@
#include "include/core/SkSerialProcs.h"
#include "src/core/SkBlenderBase.h"
#include "src/core/SkColorFilterBase.h"
+#include "src/core/SkImageFilter_Base.h"
#include "src/core/SkMaskFilterBase.h"
#include "src/core/SkPaintPriv.h"
#include "src/core/SkPicturePriv.h"
@@ -118,7 +119,7 @@
#ifdef SK_SUPPORT_LEGACY_DRAWLOOPER
sk_sp<SkDrawLooper> readDrawLooper() { return this->readFlattenable<SkDrawLooper>(); }
#endif
- sk_sp<SkImageFilter> readImageFilter() { return this->readFlattenable<SkImageFilter>(); }
+ sk_sp<SkImageFilter> readImageFilter() { return this->readFlattenable<SkImageFilter_Base>(); }
sk_sp<SkBlender> readBlender() { return this->readFlattenable<SkBlenderBase>(); }
sk_sp<SkMaskFilter> readMaskFilter() { return this->readFlattenable<SkMaskFilterBase>(); }
sk_sp<SkPathEffect> readPathEffect() { return this->readFlattenable<SkPathEffect>(); }
diff --git a/tests/SerializationTest.cpp b/tests/SerializationTest.cpp
index 9980a33..97616b3 100644
--- a/tests/SerializationTest.cpp
+++ b/tests/SerializationTest.cpp
@@ -281,8 +281,8 @@
std::move(validBitmapSource), nullptr));
sk_sp<SkImageFilter> deserializedFilter(
- TestFlattenableSerialization<SkImageFilter>(
- xfermodeImageFilter.get(), shouldSucceed, reporter));
+ TestFlattenableSerialization<SkImageFilter_Base>(
+ (SkImageFilter_Base*)xfermodeImageFilter.get(), shouldSucceed, reporter));
// Try to render a small bitmap using the invalid deserialized filter
// to make sure we don't crash while trying to render it