Create macro for registering classes for deserialization
Review URL: https://codereview.appspot.com/5909063
git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/imagefiltersbase.cpp b/gm/imagefiltersbase.cpp
index bde26121..130ba5b 100644
--- a/gm/imagefiltersbase.cpp
+++ b/gm/imagefiltersbase.cpp
@@ -17,8 +17,8 @@
class FailImageFilter : public SkImageFilter {
public:
FailImageFilter() {}
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; };
-
+
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(FailImageFilter)
protected:
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&,
SkBitmap* result, SkIPoint* offset) {
@@ -28,18 +28,18 @@
FailImageFilter(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
private:
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return new FailImageFilter(buffer);
- }
-
typedef SkImageFilter INHERITED;
};
+// register the filter with the flattenable registry
+static SkFlattenable::Registrar gFailImageFilterReg("FailImageFilter",
+ FailImageFilter::CreateProc);
+
class IdentityImageFilter : public SkImageFilter {
public:
IdentityImageFilter() {}
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; };
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(IdentityImageFilter)
protected:
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&,
SkBitmap* result, SkIPoint* offset) {
@@ -50,13 +50,14 @@
IdentityImageFilter(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
private:
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return new IdentityImageFilter(buffer);
- }
-
typedef SkImageFilter INHERITED;
};
+// register the filter with the flattenable registry
+static SkFlattenable::Registrar gIdentityImageFilterReg("IdentityImageFilter",
+ IdentityImageFilter::CreateProc);
+
+
///////////////////////////////////////////////////////////////////////////////
static void draw_paint(SkCanvas* canvas, const SkRect& r, SkImageFilter* imf) {
diff --git a/include/core/SkColorFilter.h b/include/core/SkColorFilter.h
index 2151106..2a886bc 100644
--- a/include/core/SkColorFilter.h
+++ b/include/core/SkColorFilter.h
@@ -143,13 +143,13 @@
virtual void beginSession();
virtual void endSession();
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkFilterShader)
+
protected:
SkFilterShader(SkFlattenableReadBuffer& );
virtual void flatten(SkFlattenableWriteBuffer& ) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
+
private:
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkFilterShader, (buffer)); }
SkShader* fShader;
SkColorFilter* fFilter;
diff --git a/include/core/SkColorShader.h b/include/core/SkColorShader.h
index 6c6e11d..356e87a 100644
--- a/include/core/SkColorShader.h
+++ b/include/core/SkColorShader.h
@@ -49,13 +49,11 @@
virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorShader)
protected:
SkColorShader(SkFlattenableReadBuffer&);
-
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
private:
diff --git a/include/core/SkComposeShader.h b/include/core/SkComposeShader.h
index f243954..2fc1239 100644
--- a/include/core/SkComposeShader.h
+++ b/include/core/SkComposeShader.h
@@ -40,14 +40,13 @@
virtual void beginSession();
virtual void endSession();
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeShader)
+
protected:
SkComposeShader(SkFlattenableReadBuffer& );
virtual void flatten(SkFlattenableWriteBuffer& );
- virtual Factory getFactory() { return CreateProc; }
private:
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkComposeShader, (buffer)); }
SkShader* fShaderA;
SkShader* fShaderB;
diff --git a/include/core/SkEmptyShader.h b/include/core/SkEmptyShader.h
index 1541c89..53e3d2b 100644
--- a/include/core/SkEmptyShader.h
+++ b/include/core/SkEmptyShader.h
@@ -30,14 +30,10 @@
virtual void shadeSpan16(int x, int y, uint16_t span[], int count) SK_OVERRIDE;
virtual void shadeSpanAlpha(int x, int y, uint8_t alpha[], int count) SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkEmptyShader, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkEmptyShader)
protected:
SkEmptyShader(SkFlattenableReadBuffer&);
-
- virtual Factory getFactory() SK_OVERRIDE;
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
private:
diff --git a/include/core/SkFlattenable.h b/include/core/SkFlattenable.h
index 4170e26..554ffc0 100644
--- a/include/core/SkFlattenable.h
+++ b/include/core/SkFlattenable.h
@@ -49,6 +49,15 @@
#endif
+#define SK_DECLARE_UNFLATTENABLE_OBJECT() \
+ virtual Factory getFactory() SK_OVERRIDE { return NULL; }; \
+
+#define SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(flattenable) \
+ virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }; \
+ static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) { \
+ return SkNEW_ARGS(flattenable, (buffer)); \
+ }
+
/** \class SkFlattenable
SkFlattenable is the base class for objects that need to be flattened
diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h
index 26c4e6a..4d4fbc6 100644
--- a/include/core/SkPaint.h
+++ b/include/core/SkPaint.h
@@ -943,9 +943,7 @@
// overrides for SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer&);
- virtual Factory getFactory();
-
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkStrokePathEffect)
private:
SkScalar fWidth, fMiter;
diff --git a/include/core/SkPathEffect.h b/include/core/SkPathEffect.h
index 880219f..48181ee 100644
--- a/include/core/SkPathEffect.h
+++ b/include/core/SkPathEffect.h
@@ -34,10 +34,15 @@
*/
virtual bool filterPath(SkPath* dst, const SkPath& src, SkScalar* width) = 0;
+protected:
+ SkPathEffect(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
+
private:
// illegal
SkPathEffect(const SkPathEffect&);
SkPathEffect& operator=(const SkPathEffect&);
+
+ typedef SkFlattenable INHERITED;
};
/** \class SkPairPathEffect
@@ -80,12 +85,7 @@
virtual bool filterPath(SkPath* dst, const SkPath& src, SkScalar* width);
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkComposePathEffect, (buffer));
- }
-
-protected:
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposePathEffect)
private:
SkComposePathEffect(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
@@ -115,12 +115,7 @@
// overrides
virtual bool filterPath(SkPath* dst, const SkPath& src, SkScalar* width);
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkSumPathEffect, (buffer));
- }
-
-protected:
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSumPathEffect)
private:
SkSumPathEffect(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
diff --git a/include/core/SkShape.h b/include/core/SkShape.h
index b40d886..3968fce 100644
--- a/include/core/SkShape.h
+++ b/include/core/SkShape.h
@@ -32,11 +32,8 @@
void drawMatrix(SkCanvas*, const SkMatrix&);
// overrides
- virtual Factory getFactory();
virtual void flatten(SkFlattenableWriteBuffer&);
-
- // public for Registrar
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkShape)
protected:
virtual void onDraw(SkCanvas*);
diff --git a/include/core/SkXfermode.h b/include/core/SkXfermode.h
index 4f28bb2..65e0f0d 100644
--- a/include/core/SkXfermode.h
+++ b/include/core/SkXfermode.h
@@ -215,8 +215,8 @@
const SkAlpha aa[]) SK_OVERRIDE;
// overrides from SkFlattenable
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkProcXfermode)
protected:
SkProcXfermode(SkFlattenableReadBuffer&);
@@ -229,9 +229,6 @@
private:
SkXfermodeProc fProc;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkProcXfermode, (buffer)); }
-
typedef SkXfermode INHERITED;
};
diff --git a/include/effects/Sk1DPathEffect.h b/include/effects/Sk1DPathEffect.h
index 51a5a78..53126f2 100644
--- a/include/effects/Sk1DPathEffect.h
+++ b/include/effects/Sk1DPathEffect.h
@@ -59,9 +59,7 @@
// override from SkPathEffect
virtual bool filterPath(SkPath*, const SkPath&, SkScalar* width) SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkPath1DPathEffect, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPath1DPathEffect)
protected:
SkPath1DPathEffect(SkFlattenableReadBuffer& buffer);
@@ -71,7 +69,6 @@
virtual SkScalar next(SkPath*, SkScalar distance, SkPathMeasure&) SK_OVERRIDE;
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
private:
SkPath fPath; // copied from constructor
diff --git a/include/effects/Sk2DPathEffect.h b/include/effects/Sk2DPathEffect.h
index f0d60ca..28c5aea 100644
--- a/include/effects/Sk2DPathEffect.h
+++ b/include/effects/Sk2DPathEffect.h
@@ -23,7 +23,7 @@
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Sk2DPathEffect)
protected:
/** New virtual, to be overridden by subclasses.
@@ -53,8 +53,6 @@
Sk2DPathEffect(const Sk2DPathEffect&);
Sk2DPathEffect& operator=(const Sk2DPathEffect&);
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
-
friend class Sk2DPathEffectBlitter;
typedef SkPathEffect INHERITED;
};
@@ -67,13 +65,12 @@
*/
SkPath2DPathEffect(const SkMatrix&, const SkPath&);
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPath2DPathEffect)
protected:
SkPath2DPathEffect(SkFlattenableReadBuffer& buffer);
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
virtual void next(const SkPoint&, int u, int v, SkPath* dst) SK_OVERRIDE;
private:
diff --git a/include/effects/SkAvoidXfermode.h b/include/effects/SkAvoidXfermode.h
index 8497265..db14f25 100644
--- a/include/effects/SkAvoidXfermode.h
+++ b/include/effects/SkAvoidXfermode.h
@@ -52,12 +52,8 @@
const SkAlpha aa[]) SK_OVERRIDE;
// overrides from SkFlattenable
- virtual Factory getFactory() SK_OVERRIDE;
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
-
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkAvoidXfermode, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkAvoidXfermode)
protected:
SkAvoidXfermode(SkFlattenableReadBuffer&);
@@ -67,8 +63,6 @@
uint32_t fDistMul; // x.14
Mode fMode;
- static SkFlattenable* Create(SkFlattenableReadBuffer&);
-
typedef SkXfermode INHERITED;
};
diff --git a/include/effects/SkBlurDrawLooper.h b/include/effects/SkBlurDrawLooper.h
index 46f72b9..453a618 100644
--- a/include/effects/SkBlurDrawLooper.h
+++ b/include/effects/SkBlurDrawLooper.h
@@ -44,15 +44,12 @@
virtual void init(SkCanvas*);
virtual bool next(SkCanvas*, SkPaint* paint);
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkBlurDrawLooper, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurDrawLooper)
protected:
SkBlurDrawLooper(SkFlattenableReadBuffer&);
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer& );
- virtual Factory getFactory() { return CreateProc; }
private:
SkMaskFilter* fBlur;
diff --git a/include/effects/SkBlurImageFilter.h b/include/effects/SkBlurImageFilter.h
index 2af31e8..846b900 100644
--- a/include/effects/SkBlurImageFilter.h
+++ b/include/effects/SkBlurImageFilter.h
@@ -17,9 +17,7 @@
virtual bool asABlur(SkSize* sigma) const SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkBlurImageFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurImageFilter)
protected:
explicit SkBlurImageFilter(SkFlattenableReadBuffer& buffer);
@@ -27,7 +25,6 @@
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&,
SkBitmap* result, SkIPoint* offset) SK_OVERRIDE;
virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
private:
SkSize fSigma;
diff --git a/include/effects/SkColorMatrixFilter.h b/include/effects/SkColorMatrixFilter.h
index 62e8d3d..abfd95d 100644
--- a/include/effects/SkColorMatrixFilter.h
+++ b/include/effects/SkColorMatrixFilter.h
@@ -37,12 +37,9 @@
int32_t fResult[4];
};
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorMatrixFilter)
protected:
- // overrides for SkFlattenable
- virtual Factory getFactory();
-
SkColorMatrixFilter(SkFlattenableReadBuffer& buffer);
private:
diff --git a/include/effects/SkCornerPathEffect.h b/include/effects/SkCornerPathEffect.h
index b4d7f86..8c58476 100644
--- a/include/effects/SkCornerPathEffect.h
+++ b/include/effects/SkCornerPathEffect.h
@@ -31,11 +31,8 @@
// overrides for SkFlattenable
// This method is not exported to java.
- virtual Factory getFactory();
- // This method is not exported to java.
virtual void flatten(SkFlattenableWriteBuffer&);
-
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkCornerPathEffect)
protected:
SkCornerPathEffect(SkFlattenableReadBuffer&);
diff --git a/include/effects/SkDiscretePathEffect.h b/include/effects/SkDiscretePathEffect.h
index 02ef391..76a3523 100644
--- a/include/effects/SkDiscretePathEffect.h
+++ b/include/effects/SkDiscretePathEffect.h
@@ -30,11 +30,8 @@
// overrides for SkFlattenable
// This method is not exported to java.
- virtual Factory getFactory();
- // This method is not exported to java.
virtual void flatten(SkFlattenableWriteBuffer&);
-
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiscretePathEffect)
protected:
SkDiscretePathEffect(SkFlattenableReadBuffer&);
diff --git a/include/effects/SkEmbossMaskFilter.h b/include/effects/SkEmbossMaskFilter.h
index c0e6b7e..a03a283 100644
--- a/include/effects/SkEmbossMaskFilter.h
+++ b/include/effects/SkEmbossMaskFilter.h
@@ -35,11 +35,10 @@
SkIPoint* margin);
// overrides from SkFlattenable
-
- // This method is not exported to java.
- virtual Factory getFactory();
// This method is not exported to java.
virtual void flatten(SkFlattenableWriteBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkEmbossMaskFilter)
+
protected:
SkEmbossMaskFilter(SkFlattenableReadBuffer&);
@@ -47,8 +46,6 @@
private:
Light fLight;
SkScalar fBlurRadius;
-
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
typedef SkMaskFilter INHERITED;
};
diff --git a/include/effects/SkGroupShape.h b/include/effects/SkGroupShape.h
index 76dd13d..56e9d32 100644
--- a/include/effects/SkGroupShape.h
+++ b/include/effects/SkGroupShape.h
@@ -132,11 +132,9 @@
void removeAllShapes();
// overrides
- virtual Factory getFactory();
virtual void flatten(SkFlattenableWriteBuffer&);
- // public for Registrar
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkGroupShape)
protected:
// overrides
diff --git a/include/effects/SkKernel33MaskFilter.h b/include/effects/SkKernel33MaskFilter.h
index 2b9e6d4..9c43629 100644
--- a/include/effects/SkKernel33MaskFilter.h
+++ b/include/effects/SkKernel33MaskFilter.h
@@ -50,14 +50,13 @@
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer& wb);
- virtual Factory getFactory();
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkKernel33MaskFilter)
private:
int fKernel[3][3];
int fShift;
SkKernel33MaskFilter(SkFlattenableReadBuffer& rb);
- static SkFlattenable* Create(SkFlattenableReadBuffer& rb);
typedef SkKernel33ProcMaskFilter INHERITED;
};
diff --git a/include/effects/SkLayerDrawLooper.h b/include/effects/SkLayerDrawLooper.h
index b9b0802..3e7306f 100644
--- a/include/effects/SkLayerDrawLooper.h
+++ b/include/effects/SkLayerDrawLooper.h
@@ -101,17 +101,13 @@
virtual void init(SkCanvas*);
virtual bool next(SkCanvas*, SkPaint* paint);
- // must be public for Registrar :(
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkLayerDrawLooper, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLayerDrawLooper)
protected:
SkLayerDrawLooper(SkFlattenableReadBuffer&);
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer& );
- virtual Factory getFactory() { return CreateProc; }
private:
struct Rec {
diff --git a/include/effects/SkLayerRasterizer.h b/include/effects/SkLayerRasterizer.h
index 50758b1..e31ed33 100644
--- a/include/effects/SkLayerRasterizer.h
+++ b/include/effects/SkLayerRasterizer.h
@@ -33,10 +33,9 @@
void addLayer(const SkPaint& paint, SkScalar dx, SkScalar dy);
// overrides from SkFlattenable
- virtual Factory getFactory();
virtual void flatten(SkFlattenableWriteBuffer&);
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLayerRasterizer)
protected:
SkLayerRasterizer(SkFlattenableReadBuffer&);
diff --git a/include/effects/SkMorphologyImageFilter.h b/include/effects/SkMorphologyImageFilter.h
index 8d9f453..368d17b 100644
--- a/include/effects/SkMorphologyImageFilter.h
+++ b/include/effects/SkMorphologyImageFilter.h
@@ -33,10 +33,8 @@
virtual bool asADilate(SkISize* radius) const SK_OVERRIDE;
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&,
SkBitmap* result, SkIPoint* offset) SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkDilateImageFilter, (buffer));
- }
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
+
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDilateImageFilter)
typedef SkMorphologyImageFilter INHERITED;
};
@@ -50,10 +48,7 @@
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&,
SkBitmap* result, SkIPoint* offset) SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkErodeImageFilter, (buffer));
- }
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkErodeImageFilter)
private:
typedef SkMorphologyImageFilter INHERITED;
diff --git a/include/effects/SkPixelXorXfermode.h b/include/effects/SkPixelXorXfermode.h
index b9975cf..fe0536d 100644
--- a/include/effects/SkPixelXorXfermode.h
+++ b/include/effects/SkPixelXorXfermode.h
@@ -22,12 +22,9 @@
SkPixelXorXfermode(SkColor opColor) : fOpColor(opColor) {}
// override from SkFlattenable
- virtual Factory getFactory();
virtual void flatten(SkFlattenableWriteBuffer&);
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkPixelXorXfermode, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPixelXorXfermode)
protected:
// override from SkXfermode
@@ -37,8 +34,6 @@
SkColor fOpColor;
SkPixelXorXfermode(SkFlattenableReadBuffer& rb);
- // our private factory
- static SkFlattenable* Create(SkFlattenableReadBuffer&);
typedef SkXfermode INHERITED;
};
diff --git a/include/effects/SkRectShape.h b/include/effects/SkRectShape.h
index b521846..b0efc28 100644
--- a/include/effects/SkRectShape.h
+++ b/include/effects/SkRectShape.h
@@ -41,11 +41,9 @@
void setRRect(const SkRect&, SkScalar rx, SkScalar ry);
// overrides
- virtual Factory getFactory();
virtual void flatten(SkFlattenableWriteBuffer&);
- // public for Registrar
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkRectShape)
protected:
SkRectShape(SkFlattenableReadBuffer&);
diff --git a/include/effects/SkTableMaskFilter.h b/include/effects/SkTableMaskFilter.h
index f213de7..15bb930 100644
--- a/include/effects/SkTableMaskFilter.h
+++ b/include/effects/SkTableMaskFilter.h
@@ -53,11 +53,10 @@
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer& wb);
- virtual Factory getFactory();
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTableMaskFilter)
protected:
SkTableMaskFilter(SkFlattenableReadBuffer& rb);
- static SkFlattenable* Factory(SkFlattenableReadBuffer&);
private:
uint8_t fTable[256];
diff --git a/include/effects/SkTestImageFilters.h b/include/effects/SkTestImageFilters.h
index 55522c1..e2c9cf4 100755
--- a/include/effects/SkTestImageFilters.h
+++ b/include/effects/SkTestImageFilters.h
@@ -11,9 +11,7 @@
fOffset.set(dx, dy);
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkOffsetImageFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkOffsetImageFilter)
protected:
SkOffsetImageFilter(SkFlattenableReadBuffer& buffer);
@@ -23,7 +21,6 @@
virtual bool onFilterBounds(const SkIRect&, const SkMatrix&, SkIRect*) SK_OVERRIDE;
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
private:
SkVector fOffset;
@@ -41,9 +38,7 @@
}
virtual ~SkComposeImageFilter();
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkComposeImageFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeImageFilter)
protected:
SkComposeImageFilter(SkFlattenableReadBuffer& buffer);
@@ -53,7 +48,6 @@
virtual bool onFilterBounds(const SkIRect&, const SkMatrix&, SkIRect*) SK_OVERRIDE;
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
private:
SkImageFilter* fOuter;
@@ -72,9 +66,7 @@
const SkXfermode::Mode modes[] = NULL);
virtual ~SkMergeImageFilter();
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkMergeImageFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMergeImageFilter)
protected:
SkMergeImageFilter(SkFlattenableReadBuffer& buffer);
@@ -84,7 +76,6 @@
virtual bool onFilterBounds(const SkIRect&, const SkMatrix&, SkIRect*) SK_OVERRIDE;
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
private:
SkImageFilter** fFilters;
@@ -108,9 +99,7 @@
}
virtual ~SkColorFilterImageFilter();
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkColorFilterImageFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorFilterImageFilter)
protected:
SkColorFilterImageFilter(SkFlattenableReadBuffer& buffer);
@@ -119,7 +108,6 @@
SkBitmap* result, SkIPoint* loc) SK_OVERRIDE;
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
private:
SkColorFilter* fColorFilter;
@@ -134,9 +122,7 @@
public:
SkDownSampleImageFilter(SkScalar scale) : fScale(scale) {}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkDownSampleImageFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter)
protected:
SkDownSampleImageFilter(SkFlattenableReadBuffer& buffer);
@@ -145,7 +131,6 @@
SkBitmap* result, SkIPoint* loc) SK_OVERRIDE;
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
private:
SkScalar fScale;
diff --git a/include/effects/SkTransparentShader.h b/include/effects/SkTransparentShader.h
index e951bba..0aa9192 100644
--- a/include/effects/SkTransparentShader.h
+++ b/include/effects/SkTransparentShader.h
@@ -24,8 +24,8 @@
virtual void shadeSpan16(int x, int y, uint16_t span[], int count) SK_OVERRIDE;
// overrides for SkFlattenable
- virtual Factory getFactory() SK_OVERRIDE;
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTransparentShader)
private:
// these are a cache from the call to setContext()
@@ -34,10 +34,6 @@
SkTransparentShader(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
- static SkFlattenable* Create(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkTransparentShader, (buffer));
- }
-
typedef SkShader INHERITED;
};
diff --git a/include/utils/SkUnitMappers.h b/include/utils/SkUnitMappers.h
index a14f1af..d8856ae 100644
--- a/include/utils/SkUnitMappers.h
+++ b/include/utils/SkUnitMappers.h
@@ -20,17 +20,17 @@
// override from SkUnitMapper
virtual uint16_t mapUnit16(uint16_t x);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiscreteMapper)
+
protected:
SkDiscreteMapper(SkFlattenableReadBuffer& );
// overrides from SkFlattenable
virtual void flatten(SkFlattenableWriteBuffer& );
- virtual Factory getFactory();
+
private:
int fSegments;
SkFract fScale; // computed from fSegments
- static SkFlattenable* Create(SkFlattenableReadBuffer& buffer);
-
typedef SkUnitMapper INHERITED;
};
@@ -43,13 +43,12 @@
// override from SkUnitMapper
virtual uint16_t mapUnit16(uint16_t x);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkCosineMapper)
+
protected:
SkCosineMapper(SkFlattenableReadBuffer&);
- // overrides from SkFlattenable
- virtual Factory getFactory();
private:
- static SkFlattenable* Create(SkFlattenableReadBuffer&);
typedef SkUnitMapper INHERITED;
};
diff --git a/samplecode/ClockFaceView.cpp b/samplecode/ClockFaceView.cpp
index a479d9c..fe7bb90 100644
--- a/samplecode/ClockFaceView.cpp
+++ b/samplecode/ClockFaceView.cpp
@@ -76,7 +76,8 @@
buffer.writeScalar(fRadius);
}
- virtual Factory getFactory() { return CreateProc; }
+
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Dot2DPathEffect)
protected:
virtual void begin(const SkIRect& uvBounds, SkPath* dst) {
@@ -103,11 +104,6 @@
SkScalar fRadius;
SkTDArray<SkPoint>* fPts;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer)
- {
- return new Dot2DPathEffect(buffer);
- }
-
typedef Sk2DPathEffect INHERITED;
};
@@ -119,13 +115,12 @@
dst->setFillType(SkPath::kInverseWinding_FillType);
return true;
}
- virtual Factory getFactory() { return Factory; }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(InverseFillPE)
+
protected:
-// InverseFillPE(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
+ InverseFillPE(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
private:
- static SkFlattenable* Factory(SkFlattenableReadBuffer& buffer) {
- return new InverseFillPE;
- }
+
typedef SkPathEffect INHERITED;
};
diff --git a/samplecode/SampleAll.cpp b/samplecode/SampleAll.cpp
index 4321532..8d2157f 100644
--- a/samplecode/SampleAll.cpp
+++ b/samplecode/SampleAll.cpp
@@ -164,7 +164,7 @@
buffer.writeScalar(fRadius);
}
- virtual Factory getFactory() { return CreateProc; }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Dot2DPathEffect)
protected:
virtual void next(const SkPoint& loc, int u, int v, SkPath* dst) {
@@ -177,10 +177,6 @@
private:
SkScalar fRadius;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return new Dot2DPathEffect(buffer);
- }
-
typedef Sk2DPathEffect INHERITED;
};
@@ -222,11 +218,13 @@
return false;
}
- virtual Factory getFactory() { return CreateProc; }
virtual void flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fWidth);
}
+
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Line2DPathEffect)
+
protected:
virtual void nextSpan(int u, int v, int ucount, SkPath* dst) {
if (ucount > 1) {
@@ -250,8 +248,6 @@
private:
SkScalar fWidth;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) { return new Line2DPathEffect(buffer); }
-
typedef Sk2DPathEffect INHERITED;
};
diff --git a/samplecode/SampleSlides.cpp b/samplecode/SampleSlides.cpp
index 9b72afb..3c656e9 100644
--- a/samplecode/SampleSlides.cpp
+++ b/samplecode/SampleSlides.cpp
@@ -612,12 +612,13 @@
return false;
}
- virtual Factory getFactory() { return CreateProc; }
virtual void flatten(SkFlattenableWriteBuffer& buffer)
{
this->INHERITED::flatten(buffer);
buffer.writeScalar(fWidth);
}
+
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Line2DPathEffect)
protected:
virtual void nextSpan(int u, int v, int ucount, SkPath* dst)
{
@@ -644,11 +645,6 @@
private:
SkScalar fWidth;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer)
- {
- return new Line2DPathEffect(buffer);
- }
-
typedef Sk2DPathEffect INHERITED;
};
diff --git a/samplecode/SampleText.cpp b/samplecode/SampleText.cpp
index 6a0eba8..7ce1abe 100644
--- a/samplecode/SampleText.cpp
+++ b/samplecode/SampleText.cpp
@@ -54,12 +54,10 @@
// if (c < min) c = min;
return c;
}
- virtual Factory getFactory() { return Create; }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(ReduceNoise)
+
private:
ReduceNoise(SkFlattenableReadBuffer& rb) : SkKernel33ProcMaskFilter(rb) {}
- static SkFlattenable* Create(SkFlattenableReadBuffer& rb) {
- return new ReduceNoise(rb);
- }
};
class Darken : public SkKernel33ProcMaskFilter {
@@ -78,12 +76,10 @@
SkASSERT(f >= 0 && f <= 1);
return (int)(f * 255);
}
- virtual Factory getFactory() { return Create; }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Darken)
+
private:
Darken(SkFlattenableReadBuffer& rb) : SkKernel33ProcMaskFilter(rb) {}
- static SkFlattenable* Create(SkFlattenableReadBuffer& rb) {
- return new Darken(rb);
- }
};
static SkMaskFilter* makemf() { return new Darken(0x30); }
@@ -136,11 +132,11 @@
typedef SkFlattenable* (*Factory)(SkFlattenableReadBuffer&);
// overrides for SkFlattenable
- virtual Factory getFactory() { return Create; }
virtual void flatten(SkFlattenableWriteBuffer& b) {
// this->INHERITED::flatten(b); How can we know if this is legal????
b.write32(SkScalarToFixed(fExp));
}
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPowerMode)
private:
SkScalar fExp; // user's value
@@ -151,9 +147,6 @@
// read the exponent
this->init(SkFixedToScalar(b.readS32()));
}
- static SkFlattenable* Create(SkFlattenableReadBuffer& b) {
- return SkNEW_ARGS(SkPowerMode, (b));
- }
typedef SkXfermode INHERITED;
};
diff --git a/samplecode/SampleTextEffects.cpp b/samplecode/SampleTextEffects.cpp
index 6eadffd..e6bca82 100644
--- a/samplecode/SampleTextEffects.cpp
+++ b/samplecode/SampleTextEffects.cpp
@@ -189,11 +189,11 @@
return false;
}
- virtual Factory getFactory() { return CreateProc; }
virtual void flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fWidth);
}
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Line2DPathEffect)
protected:
virtual void nextSpan(int u, int v, int ucount, SkPath* dst) {
@@ -218,10 +218,6 @@
private:
SkScalar fWidth;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return new Line2DPathEffect(buffer);
- }
-
typedef Sk2DPathEffect INHERITED;
};
diff --git a/src/animator/SkDrawExtraPathEffect.cpp b/src/animator/SkDrawExtraPathEffect.cpp
index 12e0368..c901df3 100644
--- a/src/animator/SkDrawExtraPathEffect.cpp
+++ b/src/animator/SkDrawExtraPathEffect.cpp
@@ -91,6 +91,8 @@
fDraw(draw), fMaker(maker) {
}
+ SK_DECLARE_UNFLATTENABLE_OBJECT()
+
protected:
virtual SkScalar begin(SkScalar contourLength)
{
@@ -139,7 +141,6 @@
private:
virtual void flatten(SkFlattenableWriteBuffer& ) {}
- virtual Factory getFactory() { return NULL; }
static bool GetContourLength(const char* token, size_t len, void* clen, SkScriptValue* value) {
if (SK_LITERAL_STR_EQUAL("contourLength", token, len)) {
diff --git a/src/animator/SkDrawGradient.cpp b/src/animator/SkDrawGradient.cpp
index 37fc7e8..2cad722 100644
--- a/src/animator/SkDrawGradient.cpp
+++ b/src/animator/SkDrawGradient.cpp
@@ -35,8 +35,7 @@
SkGradientUnitMapper(SkAnimateMaker* maker, const char* script) : fMaker(maker), fScript(script) {
}
- // overrides for SkFlattenable
- virtual Factory getFactory() { return NULL; }
+ SK_DECLARE_UNFLATTENABLE_OBJECT()
protected:
virtual uint16_t mapUnit16(uint16_t x) {
diff --git a/src/core/SkBitmapProcShader.h b/src/core/SkBitmapProcShader.h
index cd70279..6140259 100644
--- a/src/core/SkBitmapProcShader.h
+++ b/src/core/SkBitmapProcShader.h
@@ -30,17 +30,13 @@
static bool CanDo(const SkBitmap&, TileMode tx, TileMode ty);
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkBitmapProcShader, (buffer));
- }
-
// override from flattenable
virtual bool toDumpString(SkString* str) const;
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBitmapProcShader)
protected:
SkBitmapProcShader(SkFlattenableReadBuffer& );
virtual void flatten(SkFlattenableWriteBuffer& );
- virtual Factory getFactory() { return CreateProc; }
SkBitmap fRawBitmap; // experimental for RLE encoding
SkBitmapProcState fState;
diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp
index df25b7c..2ce0197 100644
--- a/src/core/SkBlitter.cpp
+++ b/src/core/SkBlitter.cpp
@@ -656,6 +656,8 @@
this->INHERITED::endSession();
}
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Sk3DShader)
+
protected:
Sk3DShader(SkFlattenableReadBuffer& buffer) :
INHERITED(buffer) {
@@ -670,15 +672,7 @@
buffer.write32(fPMColor);
}
- virtual Factory getFactory() {
- return CreateProc;
- }
-
private:
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(Sk3DShader, (buffer));
- }
-
SkShader* fProxy;
SkPMColor fPMColor;
const SkMask* fMask;
diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp
index c118d1e..74d10b6 100644
--- a/src/core/SkDraw.cpp
+++ b/src/core/SkDraw.cpp
@@ -2212,18 +2212,15 @@
virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTriColorShader)
+
protected:
SkTriColorShader(SkFlattenableReadBuffer& buffer) : SkShader(buffer) {}
- virtual Factory getFactory() { return CreateProc; }
-
private:
SkMatrix fDstToUnit;
SkPMColor fColors[3];
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkTriColorShader, (buffer));
- }
typedef SkShader INHERITED;
};
diff --git a/src/core/SkPathEffect.cpp b/src/core/SkPathEffect.cpp
index 852c25f..0c0143d 100644
--- a/src/core/SkPathEffect.cpp
+++ b/src/core/SkPathEffect.cpp
@@ -108,14 +108,6 @@
return true;
}
-SkFlattenable::Factory SkStrokePathEffect::getFactory() {
- return CreateProc;
-}
-
-SkFlattenable* SkStrokePathEffect::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkStrokePathEffect, (buffer));
-}
-
void SkStrokePathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
buffer.writeScalar(fWidth);
buffer.writeScalar(fMiter);
diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp
index 618b8d2..a3b3b6a 100644
--- a/src/core/SkShader.cpp
+++ b/src/core/SkShader.cpp
@@ -247,14 +247,6 @@
buffer.write32(fColor);
}
-SkFlattenable* SkColorShader::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkColorShader, (buffer));
-}
-
-SkFlattenable::Factory SkColorShader::getFactory() {
- return CreateProc;
-}
-
uint32_t SkColorShader::getFlags() {
return fFlags;
}
@@ -359,8 +351,6 @@
SkDEBUGFAIL("should never get called, since setContext() returned false");
}
-SkFlattenable::Factory SkEmptyShader::getFactory() { return NULL; }
-
void SkEmptyShader::flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
}
diff --git a/src/core/SkShape.cpp b/src/core/SkShape.cpp
index 339601a..0c4907e 100644
--- a/src/core/SkShape.cpp
+++ b/src/core/SkShape.cpp
@@ -60,14 +60,6 @@
inc_shape(this);
}
-SkFlattenable* SkShape::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkShape, (buffer));
-}
-
-SkFlattenable::Factory SkShape::getFactory() {
- return CreateProc;
-}
-
void SkShape::flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
}
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp
index 952e0f2..bcb721d 100644
--- a/src/core/SkXfermode.cpp
+++ b/src/core/SkXfermode.cpp
@@ -729,15 +729,12 @@
return true;
}
- virtual Factory getFactory() { return CreateProc; }
virtual void flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
buffer.write32(fMode);
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkProcCoeffXfermode, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkProcCoeffXfermode)
protected:
SkProcCoeffXfermode(SkFlattenableReadBuffer& buffer)
@@ -768,11 +765,8 @@
virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) SK_OVERRIDE;
virtual void xferA8(SkAlpha*, const SkPMColor*, int, const SkAlpha*) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkClearXfermode, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkClearXfermode)
private:
SkClearXfermode(SkFlattenableReadBuffer& buffer)
@@ -825,11 +819,8 @@
virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) SK_OVERRIDE;
virtual void xferA8(SkAlpha*, const SkPMColor*, int, const SkAlpha*) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkSrcXfermode, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSrcXfermode)
private:
SkSrcXfermode(SkFlattenableReadBuffer& buffer)
@@ -887,11 +878,8 @@
SkDstInXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kDstIn_Mode) {}
virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkDstInXfermode, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDstInXfermode)
private:
SkDstInXfermode(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
@@ -926,11 +914,8 @@
SkDstOutXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kDstOut_Mode) {}
virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkDstOutXfermode, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDstOutXfermode)
private:
SkDstOutXfermode(SkFlattenableReadBuffer& buffer)
diff --git a/src/effects/Sk2DPathEffect.cpp b/src/effects/Sk2DPathEffect.cpp
index 23037f7..60ec257 100644
--- a/src/effects/Sk2DPathEffect.cpp
+++ b/src/effects/Sk2DPathEffect.cpp
@@ -80,14 +80,6 @@
fMatrix.invert(&fInverse);
}
-SkFlattenable::Factory Sk2DPathEffect::getFactory() {
- return CreateProc;
-}
-
-SkFlattenable* Sk2DPathEffect::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(Sk2DPathEffect, (buffer));
-}
-
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
@@ -100,19 +92,11 @@
fPath.unflatten(buffer);
}
-SkFlattenable* SkPath2DPathEffect::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkPath2DPathEffect, (buffer));
-}
-
void SkPath2DPathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
fPath.flatten(buffer);
}
-SkFlattenable::Factory SkPath2DPathEffect::getFactory() {
- return CreateProc;
-}
-
void SkPath2DPathEffect::next(const SkPoint& loc, int u, int v, SkPath* dst) {
dst->addPath(fPath, loc.fX, loc.fY);
}
diff --git a/src/effects/SkArithmeticMode.cpp b/src/effects/SkArithmeticMode.cpp
index 8190b39..cf651e1 100644
--- a/src/effects/SkArithmeticMode.cpp
+++ b/src/effects/SkArithmeticMode.cpp
@@ -13,20 +13,13 @@
virtual void xfer32(SkPMColor dst[], const SkPMColor src[], int count,
const SkAlpha aa[]) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
- static SkFlattenable* Create(SkFlattenableReadBuffer& buffer) {
- return NULL;
- }
+ SK_DECLARE_UNFLATTENABLE_OBJECT()
private:
SkScalar fK[4];
};
-SkFlattenable::Factory SkArithmeticMode_scalar::getFactory() {
- return Create;
-}
-
static int pinToByte(int value) {
if (value < 0) {
value = 0;
diff --git a/src/effects/SkAvoidXfermode.cpp b/src/effects/SkAvoidXfermode.cpp
index d198884..d668222 100644
--- a/src/effects/SkAvoidXfermode.cpp
+++ b/src/effects/SkAvoidXfermode.cpp
@@ -38,16 +38,6 @@
buffer.write8(fMode);
}
-SkFlattenable* SkAvoidXfermode::Create(SkFlattenableReadBuffer& rb)
-{
- return SkNEW_ARGS(SkAvoidXfermode, (rb));
-}
-
-SkFlattenable::Factory SkAvoidXfermode::getFactory()
-{
- return Create;
-}
-
// returns 0..31
static unsigned color_dist16(uint16_t c, unsigned r, unsigned g, unsigned b)
{
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp
index fe428d9..eb64000 100644
--- a/src/effects/SkBlurMaskFilter.cpp
+++ b/src/effects/SkBlurMaskFilter.cpp
@@ -25,10 +25,9 @@
virtual void computeFastBounds(const SkRect& src, SkRect* dst) SK_OVERRIDE;
// overrides from SkFlattenable
- virtual Factory getFactory() SK_OVERRIDE;
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurMaskFilterImpl)
private:
SkScalar fRadius;
@@ -104,14 +103,6 @@
src.fRight + fRadius, src.fBottom + fRadius);
}
-SkFlattenable* SkBlurMaskFilterImpl::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkBlurMaskFilterImpl, (buffer));
-}
-
-SkFlattenable::Factory SkBlurMaskFilterImpl::getFactory() {
- return CreateProc;
-}
-
SkBlurMaskFilterImpl::SkBlurMaskFilterImpl(SkFlattenableReadBuffer& buffer)
: SkMaskFilter(buffer) {
fRadius = buffer.readScalar();
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp
index e6262c1..2970c7c 100644
--- a/src/effects/SkColorFilters.cpp
+++ b/src/effects/SkColorFilters.cpp
@@ -96,13 +96,9 @@
sk_memset16(result, SkPixel32ToPixel16(fPMColor), count);
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(Src_SkModeColorFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Src_SkModeColorFilter)
protected:
- virtual Factory getFactory() { return CreateProc; }
-
Src_SkModeColorFilter(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer) {}
@@ -139,13 +135,9 @@
sk_memset16(result, SkPixel32ToPixel16(fPMColor), count);
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SrcOver_SkModeColorFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SrcOver_SkModeColorFilter)
protected:
- virtual Factory getFactory() { return CreateProc; }
-
SrcOver_SkModeColorFilter(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer), fColor32Proc(NULL) {}
@@ -198,9 +190,7 @@
}
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(Proc_SkModeColorFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Proc_SkModeColorFilter)
protected:
virtual void flatten(SkFlattenableWriteBuffer& buffer) {
@@ -209,10 +199,6 @@
buffer.writeFunctionPtr((void*)fProc16);
}
- virtual Factory getFactory() {
- return CreateProc;
- }
-
Proc_SkModeColorFilter(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {
fProc = (SkXfermodeProc) buffer.readFunctionPtr();
fProc16 = (SkXfermodeProc16) buffer.readFunctionPtr();
@@ -323,9 +309,7 @@
}
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkLightingColorFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter)
protected:
virtual void flatten(SkFlattenableWriteBuffer& buffer) {
@@ -334,10 +318,6 @@
buffer.write32(fAdd);
}
- virtual Factory getFactory() {
- return CreateProc;
- }
-
SkLightingColorFilter(SkFlattenableReadBuffer& buffer) {
fMul = buffer.readU32();
fAdd = buffer.readU32();
@@ -374,13 +354,9 @@
}
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkLightingColorFilter_JustAdd, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_JustAdd)
protected:
- virtual Factory getFactory() { return CreateProc; }
-
SkLightingColorFilter_JustAdd(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer) {}
@@ -412,13 +388,9 @@
}
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkLightingColorFilter_JustMul, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_JustMul)
protected:
- virtual Factory getFactory() { return CreateProc; }
-
SkLightingColorFilter_JustMul(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer) {}
@@ -453,13 +425,9 @@
}
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkLightingColorFilter_SingleMul, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_SingleMul)
protected:
- virtual Factory getFactory() { return CreateProc; }
-
SkLightingColorFilter_SingleMul(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer) {}
@@ -496,13 +464,9 @@
}
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkLightingColorFilter_NoPin, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_NoPin)
protected:
- virtual Factory getFactory() { return CreateProc; }
-
SkLightingColorFilter_NoPin(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer) {}
diff --git a/src/effects/SkColorMatrixFilter.cpp b/src/effects/SkColorMatrixFilter.cpp
index 79fbea5..47ff8ad 100644
--- a/src/effects/SkColorMatrixFilter.cpp
+++ b/src/effects/SkColorMatrixFilter.cpp
@@ -318,8 +318,6 @@
buffer.write32(fFlags);
}
-SkFlattenable::Factory SkColorMatrixFilter::getFactory() { return CreateProc; }
-
SkColorMatrixFilter::SkColorMatrixFilter(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer) {
fProc = (Proc)buffer.readFunctionPtr();
@@ -344,10 +342,6 @@
return true;
}
-SkFlattenable* SkColorMatrixFilter::CreateProc(SkFlattenableReadBuffer& buf) {
- return SkNEW_ARGS(SkColorMatrixFilter, (buf));
-}
-
void SkColorMatrixFilter::setMatrix(const SkColorMatrix& matrix) {
setup(matrix.fMat);
}
diff --git a/src/effects/SkCornerPathEffect.cpp b/src/effects/SkCornerPathEffect.cpp
index 4da31ab..5eb94a4 100644
--- a/src/effects/SkCornerPathEffect.cpp
+++ b/src/effects/SkCornerPathEffect.cpp
@@ -129,18 +129,10 @@
return true;
}
-SkFlattenable::Factory SkCornerPathEffect::getFactory() {
- return CreateProc;
-}
-
void SkCornerPathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
buffer.writeScalar(fRadius);
}
-SkFlattenable* SkCornerPathEffect::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkCornerPathEffect, (buffer));
-}
-
SkCornerPathEffect::SkCornerPathEffect(SkFlattenableReadBuffer& buffer) {
fRadius = buffer.readScalar();
}
diff --git a/src/effects/SkDiscretePathEffect.cpp b/src/effects/SkDiscretePathEffect.cpp
index a438859..089bed6 100644
--- a/src/effects/SkDiscretePathEffect.cpp
+++ b/src/effects/SkDiscretePathEffect.cpp
@@ -67,14 +67,6 @@
return true;
}
-SkFlattenable::Factory SkDiscretePathEffect::getFactory() {
- return CreateProc;
-}
-
-SkFlattenable* SkDiscretePathEffect::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkDiscretePathEffect, (buffer));
-}
-
void SkDiscretePathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
buffer.writeScalar(fSegLength);
buffer.writeScalar(fPerterb);
diff --git a/src/effects/SkEmbossMaskFilter.cpp b/src/effects/SkEmbossMaskFilter.cpp
index ce37718..26a5e2e 100644
--- a/src/effects/SkEmbossMaskFilter.cpp
+++ b/src/effects/SkEmbossMaskFilter.cpp
@@ -115,14 +115,6 @@
return true;
}
-SkFlattenable* SkEmbossMaskFilter::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkEmbossMaskFilter, (buffer));
-}
-
-SkFlattenable::Factory SkEmbossMaskFilter::getFactory() {
- return CreateProc;
-}
-
SkEmbossMaskFilter::SkEmbossMaskFilter(SkFlattenableReadBuffer& buffer)
: SkMaskFilter(buffer) {
buffer.read(&fLight, sizeof(fLight));
diff --git a/src/effects/SkGradientShader.cpp b/src/effects/SkGradientShader.cpp
index c9929b4..0fcb514 100644
--- a/src/effects/SkGradientShader.cpp
+++ b/src/effects/SkGradientShader.cpp
@@ -849,10 +849,6 @@
SkScalar* twoPointRadialParams) const SK_OVERRIDE;
virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(Linear_Gradient, (buffer));
- }
-
virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fStart.fX);
@@ -861,13 +857,14 @@
buffer.writeScalar(fEnd.fY);
}
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Linear_Gradient)
+
protected:
Linear_Gradient(SkFlattenableReadBuffer& buffer)
: Gradient_Shader(buffer),
fStart(unflatten_point(buffer)),
fEnd(unflatten_point(buffer)) {
}
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
private:
typedef Gradient_Shader INHERITED;
@@ -1510,10 +1507,6 @@
return kRadial_GradientType;
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(Radial_Gradient, (buffer));
- }
-
virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fCenter.fX);
@@ -1521,13 +1514,14 @@
buffer.writeScalar(fRadius);
}
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Radial_Gradient)
+
protected:
Radial_Gradient(SkFlattenableReadBuffer& buffer)
: Gradient_Shader(buffer),
fCenter(unflatten_point(buffer)),
fRadius(buffer.readScalar()) {
}
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
private:
typedef Gradient_Shader INHERITED;
@@ -2045,10 +2039,6 @@
return true;
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(Two_Point_Radial_Gradient, (buffer));
- }
-
virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fCenter1.fX);
@@ -2059,6 +2049,8 @@
buffer.writeScalar(fRadius2);
}
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Two_Point_Radial_Gradient)
+
protected:
Two_Point_Radial_Gradient(SkFlattenableReadBuffer& buffer)
: Gradient_Shader(buffer),
@@ -2068,7 +2060,6 @@
fRadius2(buffer.readScalar()) {
init();
};
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
private:
typedef Gradient_Shader INHERITED;
@@ -2134,24 +2125,20 @@
return kSweep_GradientType;
}
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(Sweep_Gradient, (buffer));
- }
-
virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fCenter.fX);
buffer.writeScalar(fCenter.fY);
}
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Sweep_Gradient)
+
protected:
Sweep_Gradient(SkFlattenableReadBuffer& buffer)
: Gradient_Shader(buffer),
fCenter(unflatten_point(buffer)) {
}
- virtual Factory getFactory() SK_OVERRIDE { return CreateProc; }
-
private:
typedef Gradient_Shader INHERITED;
const SkPoint fCenter;
diff --git a/src/effects/SkGroupShape.cpp b/src/effects/SkGroupShape.cpp
index fd741ee..b27026e 100644
--- a/src/effects/SkGroupShape.cpp
+++ b/src/effects/SkGroupShape.cpp
@@ -83,10 +83,6 @@
}
}
-SkFlattenable::Factory SkGroupShape::getFactory() {
- return CreateProc;
-}
-
void SkGroupShape::flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
@@ -127,9 +123,5 @@
}
}
-SkFlattenable* SkGroupShape::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkGroupShape, (buffer));
-}
-
SK_DEFINE_FLATTENABLE_REGISTRAR(SkGroupShape)
diff --git a/src/effects/SkKernel33MaskFilter.cpp b/src/effects/SkKernel33MaskFilter.cpp
index 852168c..f01451c 100644
--- a/src/effects/SkKernel33MaskFilter.cpp
+++ b/src/effects/SkKernel33MaskFilter.cpp
@@ -110,14 +110,6 @@
wb.write32(fShift);
}
-SkFlattenable::Factory SkKernel33MaskFilter::getFactory() {
- return Create;
-}
-
-SkFlattenable* SkKernel33MaskFilter::Create(SkFlattenableReadBuffer& rb) {
- return new SkKernel33MaskFilter(rb);
-}
-
SkKernel33MaskFilter::SkKernel33MaskFilter(SkFlattenableReadBuffer& rb)
: SkKernel33ProcMaskFilter(rb) {
rb.read(fKernel, 9 * sizeof(int));
diff --git a/src/effects/SkLayerRasterizer.cpp b/src/effects/SkLayerRasterizer.cpp
index 9b29550..ae4eb2e 100644
--- a/src/effects/SkLayerRasterizer.cpp
+++ b/src/effects/SkLayerRasterizer.cpp
@@ -216,13 +216,5 @@
}
}
-SkFlattenable* SkLayerRasterizer::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkLayerRasterizer, (buffer));
-}
-
-SkFlattenable::Factory SkLayerRasterizer::getFactory() {
- return CreateProc;
-}
-
SK_DEFINE_FLATTENABLE_REGISTRAR(SkLayerRasterizer)
diff --git a/src/effects/SkPixelXorXfermode.cpp b/src/effects/SkPixelXorXfermode.cpp
index 935a475..b4bbaf9 100644
--- a/src/effects/SkPixelXorXfermode.cpp
+++ b/src/effects/SkPixelXorXfermode.cpp
@@ -28,12 +28,4 @@
fOpColor = rb.readU32();
}
-SkFlattenable::Factory SkPixelXorXfermode::getFactory() {
- return Create;
-}
-
-SkFlattenable* SkPixelXorXfermode::Create(SkFlattenableReadBuffer& rb) {
- return SkNEW_ARGS(SkPixelXorXfermode, (rb));
-}
-
SK_DEFINE_FLATTENABLE_REGISTRAR(SkPixelXorXfermode)
diff --git a/src/effects/SkRectShape.cpp b/src/effects/SkRectShape.cpp
index 3e37072..d7e2628 100644
--- a/src/effects/SkRectShape.cpp
+++ b/src/effects/SkRectShape.cpp
@@ -60,10 +60,6 @@
}
}
-SkFlattenable::Factory SkRectShape::getFactory() {
- return CreateProc;
-}
-
void SkRectShape::flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
@@ -76,10 +72,6 @@
buffer.read(&fRadii, sizeof(fRadii));
}
-SkFlattenable* SkRectShape::CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkRectShape, (buffer));
-}
-
///////////////////////////////////////////////////////////////////////////////
void SkPaintShape::flatten(SkFlattenableWriteBuffer& buffer) {
diff --git a/src/effects/SkTableColorFilter.cpp b/src/effects/SkTableColorFilter.cpp
index 5d71e23..8b60326 100644
--- a/src/effects/SkTableColorFilter.cpp
+++ b/src/effects/SkTableColorFilter.cpp
@@ -36,11 +36,8 @@
virtual void filterSpan(const SkPMColor src[], int count,
SkPMColor dst[]) SK_OVERRIDE;
virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
- virtual Factory getFactory() SK_OVERRIDE;
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkTable_ColorFilter, (buffer));
- }
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTable_ColorFilter)
protected:
SkTable_ColorFilter(SkFlattenableReadBuffer& buffer);
@@ -139,10 +136,6 @@
}
}
-SkFlattenable::Factory SkTable_ColorFilter::getFactory() {
- return CreateProc;
-}
-
static const uint8_t gCountNibBits[] = {
0, 1, 1, 2,
1, 2, 2, 3,
diff --git a/src/effects/SkTableMaskFilter.cpp b/src/effects/SkTableMaskFilter.cpp
index 4024372..3a3d0e5 100644
--- a/src/effects/SkTableMaskFilter.cpp
+++ b/src/effects/SkTableMaskFilter.cpp
@@ -81,14 +81,6 @@
rb.read(fTable, 256);
}
-SkFlattenable* SkTableMaskFilter::Factory(SkFlattenableReadBuffer& rb) {
- return SkNEW_ARGS(SkTableMaskFilter, (rb));
-}
-
-SkFlattenable::Factory SkTableMaskFilter::getFactory() {
- return SkTableMaskFilter::Factory;
-}
-
///////////////////////////////////////////////////////////////////////////////
void SkTableMaskFilter::MakeGammaTable(uint8_t table[256], SkScalar gamma) {
diff --git a/src/effects/SkTestImageFilters.cpp b/src/effects/SkTestImageFilters.cpp
index 6378bc6..688e298 100755
--- a/src/effects/SkTestImageFilters.cpp
+++ b/src/effects/SkTestImageFilters.cpp
@@ -43,10 +43,6 @@
fOffset.fY = buffer.readScalar();
}
-SkFlattenable::Factory SkOffsetImageFilter::getFactory() {
- return CreateProc;
-}
-
///////////////////////////////////////////////////////////////////////////////
SkComposeImageFilter::~SkComposeImageFilter() {
@@ -100,10 +96,6 @@
fInner = (SkImageFilter*)buffer.readFlattenable();
}
-SkFlattenable::Factory SkComposeImageFilter::getFactory() {
- return CreateProc;
-}
-
///////////////////////////////////////////////////////////////////////////////
template <typename T> T* SkSafeRefReturn(T* obj) {
@@ -282,10 +274,6 @@
}
}
-SkFlattenable::Factory SkMergeImageFilter::getFactory() {
- return CreateProc;
-}
-
///////////////////////////////////////////////////////////////////////////////
#include "SkColorFilter.h"
@@ -329,10 +317,6 @@
fColorFilter = (SkColorFilter*)buffer.readFlattenable();
}
-SkFlattenable::Factory SkColorFilterImageFilter::getFactory() {
- return CreateProc;
-}
-
///////////////////////////////////////////////////////////////////////////////
bool SkDownSampleImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& src,
@@ -395,10 +379,6 @@
fScale = buffer.readScalar();
}
-SkFlattenable::Factory SkDownSampleImageFilter::getFactory() {
- return CreateProc;
-}
-
SK_DEFINE_FLATTENABLE_REGISTRAR(SkOffsetImageFilter)
SK_DEFINE_FLATTENABLE_REGISTRAR(SkComposeImageFilter)
SK_DEFINE_FLATTENABLE_REGISTRAR(SkMergeImageFilter)
diff --git a/src/effects/SkTransparentShader.cpp b/src/effects/SkTransparentShader.cpp
index 486fc89..c827c11 100644
--- a/src/effects/SkTransparentShader.cpp
+++ b/src/effects/SkTransparentShader.cpp
@@ -126,10 +126,6 @@
}
}
-SkFlattenable::Factory SkTransparentShader::getFactory() {
- return Create;
-}
-
void SkTransparentShader::flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
}
diff --git a/src/utils/SkUnitMappers.cpp b/src/utils/SkUnitMappers.cpp
index 583d091..dd23880 100644
--- a/src/utils/SkUnitMappers.cpp
+++ b/src/utils/SkUnitMappers.cpp
@@ -33,14 +33,6 @@
fScale = rb.readU32();
}
-SkFlattenable::Factory SkDiscreteMapper::getFactory() {
- return Create;
-}
-
-SkFlattenable* SkDiscreteMapper::Create(SkFlattenableReadBuffer& rb) {
- return SkNEW_ARGS(SkDiscreteMapper, (rb));
-}
-
void SkDiscreteMapper::flatten(SkFlattenableWriteBuffer& wb) {
this->INHERITED::flatten(wb);
@@ -65,11 +57,3 @@
SkCosineMapper::SkCosineMapper(SkFlattenableReadBuffer& rb)
: SkUnitMapper(rb) {}
-SkFlattenable::Factory SkCosineMapper::getFactory() {
- return Create;
-}
-
-SkFlattenable* SkCosineMapper::Create(SkFlattenableReadBuffer& rb) {
- return SkNEW_ARGS(SkCosineMapper, (rb));
-}
-
diff --git a/tests/QuickRejectTest.cpp b/tests/QuickRejectTest.cpp
index 8cde327..b8fb989 100644
--- a/tests/QuickRejectTest.cpp
+++ b/tests/QuickRejectTest.cpp
@@ -29,9 +29,7 @@
return false;
}
- virtual Factory getFactory() SK_OVERRIDE {
- return NULL;
- }
+ SK_DECLARE_UNFLATTENABLE_OBJECT()
};
static void test_drawBitmap(skiatest::Reporter* reporter) {