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     bool addChild(SkAnimateMaker& , SkDisplayable* child) override;
     31     bool childrenNeedDisposing() const override;
     32     void dirty() override;
     33 #ifdef SK_DUMP_ENABLED
     34     void dump(SkAnimateMaker* ) override;
     35 #endif
     36     bool enable(SkAnimateMaker& ) override;
     37     bool hasEnable() const override;
     38     void onEndElement(SkAnimateMaker& ) override;
     39     void setChildHasID() override;
     40     bool setProperty(int index, SkScriptValue& ) override;
     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