Index: gm/imagefiltersbase.cpp |
diff --git a/gm/imagefiltersbase.cpp b/gm/imagefiltersbase.cpp |
index 5472f2d98a2c2fcd1ef01dc8ac65ec724f6c82c3..d1bd5a72df80c1cafdae882ba79f44c9815c91b9 100644 |
--- a/gm/imagefiltersbase.cpp |
+++ b/gm/imagefiltersbase.cpp |
@@ -18,6 +18,18 @@ |
class FailImageFilter : public SkImageFilter { |
public: |
+ class Registrar { |
+ public: |
+ Registrar() { |
+ SkFlattenable::Register("FailImageFilter", |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
+ FailImageFilter::DeepCreateProc, |
+#else |
+ FailImageFilter::CreateProc, |
+#endif |
+ FailImageFilter::GetFlattenableType()); |
+ } |
+ }; |
static FailImageFilter* Create() { |
return SkNEW(FailImageFilter); |
} |
@@ -25,14 +37,7 @@ public: |
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(FailImageFilter) |
protected: |
- FailImageFilter() : INHERITED(0, NULL) { |
- static bool gOnce; |
- if (!gOnce) { |
- gOnce = true; |
- SkFlattenable::Register("FailImageFilter", this->getFactory(), |
- this->GetFlattenableType()); |
- } |
- } |
+ FailImageFilter() : INHERITED(0, NULL) {} |
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, |
SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE { |
@@ -47,6 +52,8 @@ private: |
typedef SkImageFilter INHERITED; |
}; |
+static FailImageFilter::Registrar gReg0; |
+ |
SkFlattenable* FailImageFilter::CreateProc(SkReadBuffer& buffer) { |
SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 0); |
return FailImageFilter::Create(); |
@@ -54,20 +61,25 @@ SkFlattenable* FailImageFilter::CreateProc(SkReadBuffer& buffer) { |
class IdentityImageFilter : public SkImageFilter { |
public: |
+ class Registrar { |
+ public: |
+ Registrar() { |
+ SkFlattenable::Register("IdentityImageFilter", |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
+ IdentityImageFilter::DeepCreateProc, |
+#else |
+ IdentityImageFilter::CreateProc, |
+#endif |
+ IdentityImageFilter::GetFlattenableType()); |
+ } |
+ }; |
static IdentityImageFilter* Create(SkImageFilter* input = NULL) { |
return SkNEW_ARGS(IdentityImageFilter, (input)); |
} |
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(IdentityImageFilter) |
protected: |
- IdentityImageFilter(SkImageFilter* input) : INHERITED(1, &input) { |
- static bool gOnce; |
- if (!gOnce) { |
- gOnce = true; |
- SkFlattenable::Register("IdentityImageFilter", this->getFactory(), |
- this->GetFlattenableType()); |
- } |
- } |
+ IdentityImageFilter(SkImageFilter* input) : INHERITED(1, &input) {} |
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, |
SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE { |
@@ -84,6 +96,8 @@ private: |
typedef SkImageFilter INHERITED; |
}; |
+static IdentityImageFilter::Registrar gReg1; |
+ |
SkFlattenable* IdentityImageFilter::CreateProc(SkReadBuffer& buffer) { |
SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1); |
return IdentityImageFilter::Create(common.getInput(0)); |