aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/effects
diff options
context:
space:
mode:
authorGravatar Cary Clark <caryclark@skia.org>2018-05-21 11:56:57 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-21 17:33:39 +0000
commit4dc5a454052e64227ecbfadd903f590d9361be08 (patch)
tree7d22319f9e739fdc12490ad124d3e19bed5bb2bd /include/effects
parent435282162ed6f69f86f8ec2c83ea9b4439a7a7d4 (diff)
remove defines and add commas
Preparation for generating bookmaker files for all remaining interfaces Standardize enum and enum classes by including a comma after the last entry. Replace flatten-related #define in public interfaces with their equivalent. The motivation is to give documentation something to refer to. An alternative would be to move part or all of this out of the public interface; something I can work on in a follow-up CL. R=reed@google.com,bsalomon@google.com Bug: skia:6898 Change-Id: I4b865f6ec3d8f5d31e50448fef7d2714510302f0 Reviewed-on: https://skia-review.googlesource.com/129312 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'include/effects')
-rw-r--r--include/effects/Sk1DPathEffect.h7
-rw-r--r--include/effects/Sk2DPathEffect.h13
-rw-r--r--include/effects/SkAlphaThresholdFilter.h2
-rw-r--r--include/effects/SkArithmeticImageFilter.h2
-rw-r--r--include/effects/SkColorFilterImageFilter.h6
-rw-r--r--include/effects/SkComposeImageFilter.h7
-rw-r--r--include/effects/SkCornerPathEffect.h6
-rw-r--r--include/effects/SkDiscretePathEffect.h7
-rw-r--r--include/effects/SkDisplacementMapEffect.h7
-rw-r--r--include/effects/SkDropShadowImageFilter.h6
-rw-r--r--include/effects/SkGradientShader.h2
-rw-r--r--include/effects/SkHighContrastFilter.h3
-rw-r--r--include/effects/SkImageSource.h6
-rw-r--r--include/effects/SkLightingImageFilter.h2
-rw-r--r--include/effects/SkLumaColorFilter.h8
-rw-r--r--include/effects/SkMagnifierImageFilter.h6
-rw-r--r--include/effects/SkMatrixConvolutionImageFilter.h7
-rw-r--r--include/effects/SkMergeImageFilter.h6
-rw-r--r--include/effects/SkMorphologyImageFilter.h11
-rw-r--r--include/effects/SkOffsetImageFilter.h6
-rw-r--r--include/effects/SkOverdrawColorFilter.h2
-rw-r--r--include/effects/SkPaintImageFilter.h6
-rw-r--r--include/effects/SkPerlinNoiseShader.h2
-rw-r--r--include/effects/SkPictureImageFilter.h6
-rw-r--r--include/effects/SkTableColorFilter.h2
-rw-r--r--include/effects/SkTileImageFilter.h6
-rw-r--r--include/effects/SkToSRGBColorFilter.h6
-rw-r--r--include/effects/SkXfermodeImageFilter.h2
28 files changed, 121 insertions, 31 deletions
diff --git a/include/effects/Sk1DPathEffect.h b/include/effects/Sk1DPathEffect.h
index 88a36ff7c6..a78aded601 100644
--- a/include/effects/Sk1DPathEffect.h
+++ b/include/effects/Sk1DPathEffect.h
@@ -8,6 +8,7 @@
#ifndef Sk1DPathEffect_DEFINED
#define Sk1DPathEffect_DEFINED
+#include "SkFlattenable.h"
#include "SkPathEffect.h"
#include "SkPath.h"
@@ -62,7 +63,8 @@ public:
SkStrokeRec*, const SkRect*) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPath1DPathEffect)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
SkPath1DPathEffect(const SkPath& path, SkScalar advance, SkScalar phase, Style);
@@ -73,6 +75,9 @@ protected:
SkScalar next(SkPath*, SkScalar, SkPathMeasure&) const override;
private:
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
+
SkPath fPath; // copied from constructor
SkScalar fAdvance; // copied from constructor
SkScalar fInitialOffset; // computed from phase
diff --git a/include/effects/Sk2DPathEffect.h b/include/effects/Sk2DPathEffect.h
index 5ebadab0d5..841e5b8ab2 100644
--- a/include/effects/Sk2DPathEffect.h
+++ b/include/effects/Sk2DPathEffect.h
@@ -8,6 +8,7 @@
#ifndef Sk2DPathEffect_DEFINED
#define Sk2DPathEffect_DEFINED
+#include "SkFlattenable.h"
#include "SkPath.h"
#include "SkPathEffect.h"
#include "SkMatrix.h"
@@ -66,7 +67,8 @@ public:
SkStrokeRec*, const SkRect*) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLine2DPathEffect)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
SkLine2DPathEffect(SkScalar width, const SkMatrix& matrix)
@@ -78,6 +80,9 @@ protected:
void nextSpan(int u, int v, int ucount, SkPath*) const override;
private:
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
+
SkScalar fWidth;
typedef Sk2DPathEffect INHERITED;
@@ -94,7 +99,8 @@ public:
}
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPath2DPathEffect)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
SkPath2DPathEffect(const SkMatrix&, const SkPath&);
@@ -103,6 +109,9 @@ protected:
void next(const SkPoint&, int u, int v, SkPath*) const override;
private:
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
+
SkPath fPath;
typedef Sk2DPathEffect INHERITED;
diff --git a/include/effects/SkAlphaThresholdFilter.h b/include/effects/SkAlphaThresholdFilter.h
index 9bb69f004d..884efff389 100644
--- a/include/effects/SkAlphaThresholdFilter.h
+++ b/include/effects/SkAlphaThresholdFilter.h
@@ -26,7 +26,7 @@ public:
const SkImageFilter::CropRect* cropRect = nullptr);
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP();
+ static void InitializeFlattenables();
};
#endif
diff --git a/include/effects/SkArithmeticImageFilter.h b/include/effects/SkArithmeticImageFilter.h
index a8b7100abb..40b91e8fd6 100644
--- a/include/effects/SkArithmeticImageFilter.h
+++ b/include/effects/SkArithmeticImageFilter.h
@@ -17,7 +17,7 @@ public:
sk_sp<SkImageFilter> foreground,
const SkImageFilter::CropRect* cropRect);
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP();
+ static void InitializeFlattenables();
private:
SkArithmeticImageFilter(); // can't instantiate
diff --git a/include/effects/SkColorFilterImageFilter.h b/include/effects/SkColorFilterImageFilter.h
index 491a2b05b0..f422b0901a 100644
--- a/include/effects/SkColorFilterImageFilter.h
+++ b/include/effects/SkColorFilterImageFilter.h
@@ -8,6 +8,7 @@
#ifndef SkColorFilterImageFilter_DEFINED
#define SkColorFilterImageFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
class SkColorFilter;
@@ -19,7 +20,8 @@ public:
const CropRect* cropRect = nullptr);
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorFilterImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
void flatten(SkWriteBuffer&) const override;
@@ -34,6 +36,8 @@ private:
SkColorFilterImageFilter(sk_sp<SkColorFilter> cf,
sk_sp<SkImageFilter> input,
const CropRect* cropRect);
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
sk_sp<SkColorFilter> fColorFilter;
diff --git a/include/effects/SkComposeImageFilter.h b/include/effects/SkComposeImageFilter.h
index 0bfb7d8c5c..7c86126638 100644
--- a/include/effects/SkComposeImageFilter.h
+++ b/include/effects/SkComposeImageFilter.h
@@ -8,6 +8,7 @@
#ifndef SkComposeImageFilter_DEFINED
#define SkComposeImageFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
class SK_API SkComposeImageFilter : public SkImageFilter {
@@ -17,7 +18,8 @@ public:
SkRect computeFastBounds(const SkRect& src) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
explicit SkComposeImageFilter(sk_sp<SkImageFilter> inputs[2]) : INHERITED(inputs, 2, nullptr) {
@@ -32,6 +34,9 @@ protected:
bool onCanHandleComplexCTM() const override { return true; }
private:
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
+
typedef SkImageFilter INHERITED;
};
diff --git a/include/effects/SkCornerPathEffect.h b/include/effects/SkCornerPathEffect.h
index ac9401a7bc..0f052b880d 100644
--- a/include/effects/SkCornerPathEffect.h
+++ b/include/effects/SkCornerPathEffect.h
@@ -8,6 +8,7 @@
#ifndef SkCornerPathEffect_DEFINED
#define SkCornerPathEffect_DEFINED
+#include "SkFlattenable.h"
#include "SkPathEffect.h"
/** \class SkCornerPathEffect
@@ -28,7 +29,8 @@ public:
SkStrokeRec*, const SkRect*) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkCornerPathEffect)
+
+ Factory getFactory() const override { return CreateProc; }
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
bool exposedInAndroidJavaAPI() const override { return true; }
@@ -36,6 +38,8 @@ public:
protected:
~SkCornerPathEffect() override;
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
explicit SkCornerPathEffect(SkScalar radius);
void flatten(SkWriteBuffer&) const override;
diff --git a/include/effects/SkDiscretePathEffect.h b/include/effects/SkDiscretePathEffect.h
index eb2a994982..252e6de8a3 100644
--- a/include/effects/SkDiscretePathEffect.h
+++ b/include/effects/SkDiscretePathEffect.h
@@ -8,6 +8,7 @@
#ifndef SkDiscretePathEffect_DEFINED
#define SkDiscretePathEffect_DEFINED
+#include "SkFlattenable.h"
#include "SkPathEffect.h"
/** \class SkDiscretePathEffect
@@ -35,7 +36,8 @@ public:
SkStrokeRec*, const SkRect*) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiscretePathEffect)
+
+ Factory getFactory() const override { return CreateProc; }
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
bool exposedInAndroidJavaAPI() const override { return true; }
@@ -48,6 +50,9 @@ protected:
void flatten(SkWriteBuffer&) const override;
private:
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
+
SkScalar fSegLength, fPerterb;
/* Caller-supplied 32 bit seed assist */
diff --git a/include/effects/SkDisplacementMapEffect.h b/include/effects/SkDisplacementMapEffect.h
index daf03d742c..929086cabd 100644
--- a/include/effects/SkDisplacementMapEffect.h
+++ b/include/effects/SkDisplacementMapEffect.h
@@ -31,8 +31,6 @@ public:
sk_sp<SkImageFilter> color,
const CropRect* cropRect = nullptr);
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDisplacementMapEffect)
-
SkRect computeFastBounds(const SkRect& src) const override;
virtual SkIRect onFilterBounds(const SkIRect& src, const SkMatrix& ctm,
@@ -43,6 +41,8 @@ public:
void toString(SkString* str) const override;
+ Factory getFactory() const override { return CreateProc; }
+
protected:
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
@@ -54,6 +54,9 @@ protected:
void flatten(SkWriteBuffer&) const override;
private:
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
+
ChannelSelectorType fXChannelSelector;
ChannelSelectorType fYChannelSelector;
SkScalar fScale;
diff --git a/include/effects/SkDropShadowImageFilter.h b/include/effects/SkDropShadowImageFilter.h
index d1ee44c168..e8c5740f9d 100644
--- a/include/effects/SkDropShadowImageFilter.h
+++ b/include/effects/SkDropShadowImageFilter.h
@@ -9,6 +9,7 @@
#define SkDropShadowImageFilter_DEFINED
#include "SkColor.h"
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
#include "SkScalar.h"
@@ -30,7 +31,8 @@ public:
SkRect computeFastBounds(const SkRect&) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDropShadowImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
void flatten(SkWriteBuffer&) const override;
@@ -44,6 +46,8 @@ private:
SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor,
ShadowMode shadowMode, sk_sp<SkImageFilter> input,
const CropRect* cropRect);
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
SkScalar fDx, fDy, fSigmaX, fSigmaY;
SkColor fColor;
diff --git a/include/effects/SkGradientShader.h b/include/effects/SkGradientShader.h
index 9821c4be82..278fc25735 100644
--- a/include/effects/SkGradientShader.h
+++ b/include/effects/SkGradientShader.h
@@ -224,7 +224,7 @@ public:
return MakeSweep(cx, cy, colors, std::move(colorSpace), pos, count, 0, nullptr);
}
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
+ static void InitializeFlattenables();
};
#endif
diff --git a/include/effects/SkHighContrastFilter.h b/include/effects/SkHighContrastFilter.h
index fd97c7d48d..ed33576bb4 100644
--- a/include/effects/SkHighContrastFilter.h
+++ b/include/effects/SkHighContrastFilter.h
@@ -72,12 +72,13 @@ struct SkHighContrastConfig {
* not valid, e.g. if you try to call it with a contrast outside the range of
* -1.0 to 1.0.
*/
+
class SK_API SkHighContrastFilter {
public:
// Returns the filter, or nullptr if the config is invalid.
static sk_sp<SkColorFilter> Make(const SkHighContrastConfig& config);
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
+ static void InitializeFlattenables();
};
#endif
diff --git a/include/effects/SkImageSource.h b/include/effects/SkImageSource.h
index 6ef855ab93..d25cb6dc36 100644
--- a/include/effects/SkImageSource.h
+++ b/include/effects/SkImageSource.h
@@ -8,6 +8,7 @@
#ifndef SkImageSource_DEFINED
#define SkImageSource_DEFINED
+#include "SkFlattenable.h"
#include "SkImage.h"
#include "SkImageFilter.h"
@@ -22,7 +23,8 @@ public:
SkRect computeFastBounds(const SkRect& src) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkImageSource)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
void flatten(SkWriteBuffer&) const override;
@@ -40,6 +42,8 @@ private:
const SkRect& srcRect,
const SkRect& dstRect,
SkFilterQuality);
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
sk_sp<SkImage> fImage;
SkRect fSrcRect, fDstRect;
diff --git a/include/effects/SkLightingImageFilter.h b/include/effects/SkLightingImageFilter.h
index ce941bc124..5c25020637 100644
--- a/include/effects/SkLightingImageFilter.h
+++ b/include/effects/SkLightingImageFilter.h
@@ -39,7 +39,7 @@ public:
SkScalar shininess, sk_sp<SkImageFilter> input, const CropRect* cropRect = nullptr);
~SkLightingImageFilter() override;
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
+ static void InitializeFlattenables();
protected:
SkLightingImageFilter(sk_sp<SkImageFilterLight> light,
diff --git a/include/effects/SkLumaColorFilter.h b/include/effects/SkLumaColorFilter.h
index bdf02d322e..14f2d4f773 100644
--- a/include/effects/SkLumaColorFilter.h
+++ b/include/effects/SkLumaColorFilter.h
@@ -24,6 +24,9 @@ class SkRasterPipeline;
* C' = [ Lum * a, 0, 0, 0 ]
*
*/
+
+ #include "SkFlattenable.h"
+
class SK_API SkLumaColorFilter : public SkColorFilter {
public:
static sk_sp<SkColorFilter> Make();
@@ -34,7 +37,8 @@ public:
#endif
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLumaColorFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
void flatten(SkWriteBuffer&) const override;
@@ -43,6 +47,8 @@ private:
SkLumaColorFilter();
void onAppendStages(SkRasterPipeline*, SkColorSpace*, SkArenaAlloc*,
bool shaderIsOpaque) const override;
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
typedef SkColorFilter INHERITED;
};
diff --git a/include/effects/SkMagnifierImageFilter.h b/include/effects/SkMagnifierImageFilter.h
index dda4190322..382f62bc52 100644
--- a/include/effects/SkMagnifierImageFilter.h
+++ b/include/effects/SkMagnifierImageFilter.h
@@ -19,7 +19,8 @@ public:
const CropRect* cropRect = nullptr);
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMagnifierImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
SkMagnifierImageFilter(const SkRect& srcRect,
@@ -33,6 +34,9 @@ protected:
sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
private:
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
+
SkRect fSrcRect;
SkScalar fInset;
diff --git a/include/effects/SkMatrixConvolutionImageFilter.h b/include/effects/SkMatrixConvolutionImageFilter.h
index 5361fef928..cb4f087a75 100644
--- a/include/effects/SkMatrixConvolutionImageFilter.h
+++ b/include/effects/SkMatrixConvolutionImageFilter.h
@@ -8,6 +8,7 @@
#ifndef SkMatrixConvolutionImageFilter_DEFINED
#define SkMatrixConvolutionImageFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
#include "SkScalar.h"
#include "SkSize.h"
@@ -68,7 +69,8 @@ public:
const CropRect* cropRect = nullptr);
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMatrixConvolutionImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
SkMatrixConvolutionImageFilter(const SkISize& kernelSize,
@@ -90,6 +92,9 @@ protected:
bool affectsTransparentBlack() const override;
private:
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
+
SkISize fKernelSize;
SkScalar* fKernel;
SkScalar fGain;
diff --git a/include/effects/SkMergeImageFilter.h b/include/effects/SkMergeImageFilter.h
index b1a85d5c74..5fc6bcb010 100644
--- a/include/effects/SkMergeImageFilter.h
+++ b/include/effects/SkMergeImageFilter.h
@@ -8,6 +8,7 @@
#ifndef SkMergeImageFilter_DEFINED
#define SkMergeImageFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
class SK_API SkMergeImageFilter : public SkImageFilter {
@@ -25,7 +26,8 @@ public:
}
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMergeImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
void flatten(SkWriteBuffer&) const override;
@@ -36,6 +38,8 @@ protected:
private:
SkMergeImageFilter(sk_sp<SkImageFilter>* const filters, int count, const CropRect* cropRect);
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
typedef SkImageFilter INHERITED;
};
diff --git a/include/effects/SkMorphologyImageFilter.h b/include/effects/SkMorphologyImageFilter.h
index d88a31dc65..ceb4867a79 100644
--- a/include/effects/SkMorphologyImageFilter.h
+++ b/include/effects/SkMorphologyImageFilter.h
@@ -9,6 +9,7 @@
#define SkMorphologyImageFilter_DEFINED
#include "SkColor.h"
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
#include "SkSize.h"
@@ -62,7 +63,8 @@ public:
const CropRect* cropRect = nullptr);
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDilateImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
Op op() const override { return kDilate_Op; }
@@ -72,6 +74,8 @@ private:
sk_sp<SkImageFilter> input,
const CropRect* cropRect)
: INHERITED(radiusX, radiusY, input, cropRect) {}
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
typedef SkMorphologyImageFilter INHERITED;
};
@@ -84,7 +88,8 @@ public:
const CropRect* cropRect = nullptr);
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkErodeImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
Op op() const override { return kErode_Op; }
@@ -93,6 +98,8 @@ private:
SkErodeImageFilter(int radiusX, int radiusY,
sk_sp<SkImageFilter> input, const CropRect* cropRect)
: INHERITED(radiusX, radiusY, input, cropRect) {}
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
typedef SkMorphologyImageFilter INHERITED;
};
diff --git a/include/effects/SkOffsetImageFilter.h b/include/effects/SkOffsetImageFilter.h
index 2d7b14f652..f352a76e07 100644
--- a/include/effects/SkOffsetImageFilter.h
+++ b/include/effects/SkOffsetImageFilter.h
@@ -8,6 +8,7 @@
#ifndef SkOffsetImageFilter_DEFINED
#define SkOffsetImageFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
#include "SkPoint.h"
@@ -20,7 +21,8 @@ public:
SkRect computeFastBounds(const SkRect& src) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkOffsetImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
void flatten(SkWriteBuffer&) const override;
@@ -32,6 +34,8 @@ protected:
private:
SkOffsetImageFilter(SkScalar dx, SkScalar dy, sk_sp<SkImageFilter> input, const CropRect*);
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
SkVector fOffset;
diff --git a/include/effects/SkOverdrawColorFilter.h b/include/effects/SkOverdrawColorFilter.h
index 63f636a0cc..33eb27fcc2 100644
--- a/include/effects/SkOverdrawColorFilter.h
+++ b/include/effects/SkOverdrawColorFilter.h
@@ -36,7 +36,7 @@ public:
static sk_sp<SkFlattenable> CreateProc(SkReadBuffer& buffer);
Factory getFactory() const override { return CreateProc; }
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
+ static void InitializeFlattenables();
protected:
void flatten(SkWriteBuffer& buffer) const override;
diff --git a/include/effects/SkPaintImageFilter.h b/include/effects/SkPaintImageFilter.h
index b27c2624b1..bf7c51b50e 100644
--- a/include/effects/SkPaintImageFilter.h
+++ b/include/effects/SkPaintImageFilter.h
@@ -8,6 +8,7 @@
#ifndef SkPaintImageFilter_DEFINED
#define SkPaintImageFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
#include "SkPaint.h"
@@ -27,7 +28,8 @@ public:
bool affectsTransparentBlack() const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPaintImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
void flatten(SkWriteBuffer&) const override;
@@ -37,6 +39,8 @@ protected:
private:
SkPaintImageFilter(const SkPaint& paint, const CropRect* rect);
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
SkPaint fPaint;
diff --git a/include/effects/SkPerlinNoiseShader.h b/include/effects/SkPerlinNoiseShader.h
index 6b9bcd86d1..1623520cd6 100644
--- a/include/effects/SkPerlinNoiseShader.h
+++ b/include/effects/SkPerlinNoiseShader.h
@@ -51,7 +51,7 @@ public:
static sk_sp<SkShader> MakeImprovedNoise(SkScalar baseFrequencyX, SkScalar baseFrequencyY,
int numOctaves, SkScalar z);
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
+ static void InitializeFlattenables();
private:
SkPerlinNoiseShader() = delete;
diff --git a/include/effects/SkPictureImageFilter.h b/include/effects/SkPictureImageFilter.h
index 1885cfe6ae..0cde3988c5 100644
--- a/include/effects/SkPictureImageFilter.h
+++ b/include/effects/SkPictureImageFilter.h
@@ -8,6 +8,7 @@
#ifndef SkPictureImageFilter_DEFINED
#define SkPictureImageFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
#include "SkPicture.h"
@@ -25,7 +26,8 @@ public:
static sk_sp<SkImageFilter> Make(sk_sp<SkPicture> picture, const SkRect& cropRect);
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPictureImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
/* Constructs an SkPictureImageFilter object from an SkReadBuffer.
@@ -42,6 +44,8 @@ protected:
private:
explicit SkPictureImageFilter(sk_sp<SkPicture> picture);
SkPictureImageFilter(sk_sp<SkPicture> picture, const SkRect& cropRect, sk_sp<SkColorSpace>);
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
sk_sp<SkPicture> fPicture;
SkRect fCropRect;
diff --git a/include/effects/SkTableColorFilter.h b/include/effects/SkTableColorFilter.h
index 2695f42357..3989b5ac2d 100644
--- a/include/effects/SkTableColorFilter.h
+++ b/include/effects/SkTableColorFilter.h
@@ -36,7 +36,7 @@ public:
const uint8_t tableG[256],
const uint8_t tableB[256]);
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
+ static void InitializeFlattenables();
};
#endif
diff --git a/include/effects/SkTileImageFilter.h b/include/effects/SkTileImageFilter.h
index f62d8a02d4..c2e38823d0 100644
--- a/include/effects/SkTileImageFilter.h
+++ b/include/effects/SkTileImageFilter.h
@@ -8,6 +8,7 @@
#ifndef SkTileImageFilter_DEFINED
#define SkTileImageFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkImageFilter.h"
class SK_API SkTileImageFilter : public SkImageFilter {
@@ -28,7 +29,8 @@ public:
SkRect computeFastBounds(const SkRect& src) const override;
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTileImageFilter)
+
+ Factory getFactory() const override { return CreateProc; }
protected:
void flatten(SkWriteBuffer& buffer) const override;
@@ -40,6 +42,8 @@ protected:
private:
SkTileImageFilter(const SkRect& srcRect, const SkRect& dstRect, sk_sp<SkImageFilter> input)
: INHERITED(&input, 1, nullptr), fSrcRect(srcRect), fDstRect(dstRect) {}
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
SkRect fSrcRect;
SkRect fDstRect;
diff --git a/include/effects/SkToSRGBColorFilter.h b/include/effects/SkToSRGBColorFilter.h
index 03bb37b172..797e9d81dc 100644
--- a/include/effects/SkToSRGBColorFilter.h
+++ b/include/effects/SkToSRGBColorFilter.h
@@ -8,6 +8,7 @@
#ifndef SkToSRGBColorFilter_DEFINED
#define SkToSRGBColorFilter_DEFINED
+#include "SkFlattenable.h"
#include "SkColorFilter.h"
#include "SkRefCnt.h"
@@ -27,13 +28,16 @@ public:
#endif
void toString(SkString* str) const override;
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkToSRGBColorFilter)
+
+ Factory getFactory() const override { return CreateProc; }
private:
void flatten(SkWriteBuffer&) const override;
SkToSRGBColorFilter(sk_sp<SkColorSpace>);
void onAppendStages(SkRasterPipeline*, SkColorSpace*, SkArenaAlloc*,
bool shaderIsOpaque) const override;
+ static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
+ friend class SkFlattenable::PrivateInitializer;
sk_sp<SkColorSpace> fSrcColorSpace;
diff --git a/include/effects/SkXfermodeImageFilter.h b/include/effects/SkXfermodeImageFilter.h
index e677813288..c403d2fbe6 100644
--- a/include/effects/SkXfermodeImageFilter.h
+++ b/include/effects/SkXfermodeImageFilter.h
@@ -25,7 +25,7 @@ public:
return Make(mode, std::move(background), nullptr, nullptr);
}
- SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP();
+ static void InitializeFlattenables();
private:
SkXfermodeImageFilter(); // can't instantiate