diff options
Diffstat (limited to 'libs/graphics/animator/SkAnimatorScript2.h')
-rwxr-xr-x | libs/graphics/animator/SkAnimatorScript2.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/libs/graphics/animator/SkAnimatorScript2.h b/libs/graphics/animator/SkAnimatorScript2.h new file mode 100755 index 0000000000..61261e91eb --- /dev/null +++ b/libs/graphics/animator/SkAnimatorScript2.h @@ -0,0 +1,43 @@ +#ifndef SkAnimatorScript2_DEFINED +#define SkAnimatorScript2_DEFINED + +#include "SkDisplayable.h" +#include "SkScript2.h" +#include "SkTypedArray.h" + +class SkAnimateMaker; +struct SkMemberInfo; + +#ifndef SkAnimatorScript_DEFINED +struct SkDisplayEnumMap { + SkDisplayTypes fType; + const char* fValues; +}; +#endif + +class SkAnimatorScript2 : public SkScriptEngine2 { +public: + SkAnimatorScript2(SkAnimateMaker& , SkDisplayable* working, SkDisplayTypes type); + ~SkAnimatorScript2(); + bool evalMemberCommon(const SkMemberInfo* info, + SkDisplayable* displayable, SkOperand2* value); + SkAnimateMaker& getMaker() { return fMaker; } + SkDisplayable* getWorking() { return fWorking; } + static bool MapEnums(const char* ptr, const char* match, size_t len, int* value); + static const SkDisplayEnumMap& GetEnumValues(SkDisplayTypes type); + static SkDisplayTypes ToDisplayType(SkOperand2::OpType type); + static SkOperand2::OpType ToOpType(SkDisplayTypes type); +private: + SkAnimateMaker& fMaker; + SkDisplayable* fWorking; + friend class SkDump; + friend struct SkScriptNAnswer; + // illegal + SkAnimatorScript2& operator=(const SkAnimatorScript2&); +#ifdef SK_DEBUG +public: + static void UnitTest(); +#endif +}; + +#endif // SkAnimatorScript2_DEFINED |