diff options
Diffstat (limited to 'libs/graphics/animator/SkDisplayEvents.h')
-rw-r--r-- | libs/graphics/animator/SkDisplayEvents.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libs/graphics/animator/SkDisplayEvents.h b/libs/graphics/animator/SkDisplayEvents.h new file mode 100644 index 0000000000..7000b672f3 --- /dev/null +++ b/libs/graphics/animator/SkDisplayEvents.h @@ -0,0 +1,34 @@ +#ifndef SkDisplayEvents_DEFINED +#define SkDisplayEvents_DEFINED + +#include "SkEvent.h" +#include "SkDisplayEvent.h" + +struct SkEventState { + SkEventState(); + int fCode; + SkBool fDisable; + SkDisplayable* fDisplayable; + SkScalar fX; + SkScalar fY; +}; + +class SkEvents { +public: + SkEvents(); + ~SkEvents(); + void addEvent(SkDisplayEvent* evt) { *fEvents.append() = evt; } + bool doEvent(SkAnimateMaker& , SkDisplayEvent::Kind , SkEventState* ); +#ifdef SK_DUMP_ENABLED + void dump(SkAnimateMaker& ); +#endif + void reset() { fEvents.reset(); } + void removeEvent(SkDisplayEvent::Kind kind, SkEventState* ); +private: + SkTDDisplayEventArray fEvents; + SkBool fError; + friend class SkDisplayXMLParser; +}; + +#endif // SkDisplayEvents_DEFINED + |