| Index: gm/imagefiltersbase.cpp
|
| diff --git a/gm/imagefiltersbase.cpp b/gm/imagefiltersbase.cpp
|
| index bbcb7ce2b567a6dc7e370c8de77d4c55da6963ca..5472f2d98a2c2fcd1ef01dc8ac65ec724f6c82c3 100644
|
| --- a/gm/imagefiltersbase.cpp
|
| +++ b/gm/imagefiltersbase.cpp
|
| @@ -23,24 +23,34 @@ public:
|
| }
|
|
|
| SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(FailImageFilter)
|
| +
|
| protected:
|
| - FailImageFilter() : INHERITED(0, NULL) {}
|
| + FailImageFilter() : INHERITED(0, NULL) {
|
| + static bool gOnce;
|
| + if (!gOnce) {
|
| + gOnce = true;
|
| + SkFlattenable::Register("FailImageFilter", this->getFactory(),
|
| + this->GetFlattenableType());
|
| + }
|
| + }
|
| +
|
| virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
|
| SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE {
|
| return false;
|
| }
|
|
|
| - FailImageFilter(SkReadBuffer& buffer)
|
| - : INHERITED(0, buffer) {}
|
| +#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
|
| + FailImageFilter(SkReadBuffer& buffer) : INHERITED(0, buffer) {}
|
| +#endif
|
|
|
| private:
|
| typedef SkImageFilter INHERITED;
|
| };
|
|
|
| -// register the filter with the flattenable registry
|
| -static SkFlattenable::Registrar gFailImageFilterReg("FailImageFilter",
|
| - FailImageFilter::CreateProc,
|
| - FailImageFilter::GetFlattenableType());
|
| +SkFlattenable* FailImageFilter::CreateProc(SkReadBuffer& buffer) {
|
| + SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 0);
|
| + return FailImageFilter::Create();
|
| +}
|
|
|
| class IdentityImageFilter : public SkImageFilter {
|
| public:
|
| @@ -50,7 +60,15 @@ public:
|
|
|
| SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(IdentityImageFilter)
|
| protected:
|
| - IdentityImageFilter(SkImageFilter* input) : INHERITED(1, &input) {}
|
| + IdentityImageFilter(SkImageFilter* input) : INHERITED(1, &input) {
|
| + static bool gOnce;
|
| + if (!gOnce) {
|
| + gOnce = true;
|
| + SkFlattenable::Register("IdentityImageFilter", this->getFactory(),
|
| + this->GetFlattenableType());
|
| + }
|
| + }
|
| +
|
| virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
|
| SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE {
|
| *result = src;
|
| @@ -58,18 +76,18 @@ protected:
|
| return true;
|
| }
|
|
|
| - IdentityImageFilter(SkReadBuffer& buffer)
|
| - : INHERITED(1, buffer) {}
|
| +#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
|
| + IdentityImageFilter(SkReadBuffer& buffer) : INHERITED(1, buffer) {}
|
| +#endif
|
|
|
| private:
|
| typedef SkImageFilter INHERITED;
|
| };
|
|
|
| -// register the filter with the flattenable registry
|
| -static SkFlattenable::Registrar gIdentityImageFilterReg("IdentityImageFilter",
|
| - IdentityImageFilter::CreateProc,
|
| - IdentityImageFilter::GetFlattenableType());
|
| -
|
| +SkFlattenable* IdentityImageFilter::CreateProc(SkReadBuffer& buffer) {
|
| + SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1);
|
| + return IdentityImageFilter::Create(common.getInput(0));
|
| +}
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|