Home | History | Annotate | Download | only in animator
      1 
      2 /*
      3  * Copyright 2006 The Android Open Source Project
      4  *
      5  * Use of this source code is governed by a BSD-style license that can be
      6  * found in the LICENSE file.
      7  */
      8 
      9 
     10 #ifndef SkDisplayPost_DEFINED
     11 #define SkDisplayPost_DEFINED
     12 
     13 #include "SkDisplayable.h"
     14 #include "SkEvent.h"
     15 #include "SkEventSink.h"
     16 #include "SkMemberInfo.h"
     17 #include "SkIntArray.h"
     18 
     19 class SkDataInput;
     20 class SkAnimateMaker;
     21 
     22 class SkPost : public SkDisplayable {
     23     DECLARE_MEMBER_INFO(Post);
     24     enum Mode {
     25         kDeferred,
     26         kImmediate
     27     };
     28     SkPost();
     29     virtual ~SkPost();
     30     virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE;
     31     virtual bool childrenNeedDisposing() const;
     32     virtual void dirty();
     33 #ifdef SK_DUMP_ENABLED
     34     virtual void dump(SkAnimateMaker* );
     35 #endif
     36     virtual bool enable(SkAnimateMaker& );
     37     virtual bool hasEnable() const;
     38     virtual void onEndElement(SkAnimateMaker& );
     39     virtual void setChildHasID();
     40     virtual bool setProperty(int index, SkScriptValue& );
     41 protected:
     42     SkMSec delay;
     43     SkString sink;
     44 //  SkBool initialized;
     45     Mode mode;
     46     SkEvent fEvent;
     47     SkAnimateMaker* fMaker;
     48     SkTDDataArray fParts;
     49     SkEventSinkID fSinkID;
     50     SkAnimateMaker* fTargetMaker;
     51     SkBool8 fChildHasID;
     52     SkBool8 fDirty;
     53 private:
     54     void findSinkID();
     55     friend class SkDataInput;
     56     typedef SkDisplayable INHERITED;
     57 };
     58 
     59 #endif //SkDisplayPost_DEFINED
     60