| Index: include/core/SkFlattenable.h
|
| diff --git a/include/core/SkFlattenable.h b/include/core/SkFlattenable.h
|
| index 0b21abcc764c7aed2bd67f9a83c5162df3e222a9..181d2857e858ef7be55b1d16af827f168f0debec 100644
|
| --- a/include/core/SkFlattenable.h
|
| +++ b/include/core/SkFlattenable.h
|
| @@ -27,7 +27,7 @@ class SkFlattenableWriteBuffer;
|
| }
|
|
|
| #define SK_DECLARE_UNFLATTENABLE_OBJECT() \
|
| - virtual Factory getFactory() SK_OVERRIDE { return NULL; }; \
|
| + virtual Factory getFactory() SK_OVERRIDE { return NULL; }
|
|
|
| #define SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(flattenable) \
|
| virtual Factory getFactory() SK_OVERRIDE { return CreateProc; } \
|
| @@ -45,6 +45,8 @@ class SK_API SkFlattenable : public SkRefCnt {
|
| public:
|
| SK_DECLARE_INST_COUNT(SkFlattenable)
|
|
|
| + enum Type { FLATTENABLE, IMAGE_FILTER };
|
| +
|
| typedef SkFlattenable* (*Factory)(SkFlattenableReadBuffer&);
|
|
|
| SkFlattenable() {}
|
| @@ -54,6 +56,7 @@ public:
|
| override of flatten().
|
| */
|
| virtual Factory getFactory() = 0;
|
| + virtual bool isA(Type type) const { return FLATTENABLE == type; }
|
|
|
| static Factory NameToFactory(const char name[]);
|
| static const char* FactoryToName(Factory);
|
|
|