• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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