michael@0: michael@0: /* michael@0: * Copyright 2006 The Android Open Source Project michael@0: * michael@0: * Use of this source code is governed by a BSD-style license that can be michael@0: * found in the LICENSE file. michael@0: */ michael@0: michael@0: michael@0: #ifndef SkDisplayPost_DEFINED michael@0: #define SkDisplayPost_DEFINED michael@0: michael@0: #include "SkDisplayable.h" michael@0: #include "SkEvent.h" michael@0: #include "SkEventSink.h" michael@0: #include "SkMemberInfo.h" michael@0: #include "SkIntArray.h" michael@0: michael@0: class SkDataInput; michael@0: class SkAnimateMaker; michael@0: michael@0: class SkPost : public SkDisplayable { michael@0: DECLARE_MEMBER_INFO(Post); michael@0: enum Mode { michael@0: kDeferred, michael@0: kImmediate michael@0: }; michael@0: SkPost(); michael@0: virtual ~SkPost(); michael@0: virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE; michael@0: virtual bool childrenNeedDisposing() const; michael@0: virtual void dirty(); michael@0: #ifdef SK_DUMP_ENABLED michael@0: virtual void dump(SkAnimateMaker* ); michael@0: #endif michael@0: virtual bool enable(SkAnimateMaker& ); michael@0: virtual bool hasEnable() const; michael@0: virtual void onEndElement(SkAnimateMaker& ); michael@0: virtual void setChildHasID(); michael@0: virtual bool setProperty(int index, SkScriptValue& ); michael@0: protected: michael@0: SkMSec delay; michael@0: SkString sink; michael@0: // SkBool initialized; michael@0: Mode mode; michael@0: SkEvent fEvent; michael@0: SkAnimateMaker* fMaker; michael@0: SkTDDataArray fParts; michael@0: SkEventSinkID fSinkID; michael@0: SkAnimateMaker* fTargetMaker; michael@0: SkBool8 fChildHasID; michael@0: SkBool8 fDirty; michael@0: private: michael@0: void findSinkID(); michael@0: friend class SkDataInput; michael@0: typedef SkDisplayable INHERITED; michael@0: }; michael@0: michael@0: #endif //SkDisplayPost_DEFINED