mirror of https://github.com/axmolengine/axmol.git
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
|
#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
|