diff -r 000000000000 -r 6474c204b198 gfx/skia/trunk/src/animator/SkDisplayEvent.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/skia/trunk/src/animator/SkDisplayEvent.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,66 @@ + +/* + * Copyright 2006 The Android Open Source Project + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#ifndef SkDisplayEvent_DEFINED +#define SkDisplayEvent_DEFINED + +#include "SkDisplayable.h" +#include "SkMemberInfo.h" +#include "SkIntArray.h" +#include "SkKey.h" + +class SkEvent; + +class SkDisplayEvent : public SkDisplayable { + DECLARE_DISPLAY_MEMBER_INFO(Event); + enum Kind { + kNo_kind, + kKeyChar, + kKeyPress, + kKeyPressUp, //i assume the order here is intended to match with skanimatorscript.cpp + kMouseDown, + kMouseDrag, + kMouseMove, + kMouseUp, + kOnEnd, + kOnload, + kUser + }; + SkDisplayEvent(); + virtual ~SkDisplayEvent(); + virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE; + virtual bool contains(SkDisplayable*); + virtual SkDisplayable* contains(const SkString& ); +#ifdef SK_DEBUG + void dumpEvent(SkAnimateMaker* ); +#endif + bool enableEvent(SkAnimateMaker& ); + virtual bool getProperty(int index, SkScriptValue* ) const; + virtual void onEndElement(SkAnimateMaker& maker); + void populateInput(SkAnimateMaker& , const SkEvent& fEvent); + virtual bool setProperty(int index, SkScriptValue& ); +protected: + SkKey code; + SkBool disable; + Kind kind; + SkString target; + SkScalar x; + SkScalar y; + SkTDDisplayableArray fChildren; + mutable SkString fKeyString; + SkKey fLastCode; // last key to trigger this event + SkKey fMax; // if the code expresses a range + SkDisplayable* fTarget; // used by onEnd +private: + void deleteMembers(); + friend class SkEvents; + typedef SkDisplayable INHERITED; +}; + +#endif // SkDisplayEvent_DEFINED