blob: cd22306840ca788c61eac72a3a6de2ffa10b0b90 [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
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
reed@android.com8a1c16f2008-12-17 15:59:43 +00009
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
reed@google.com8d0b5772011-06-24 13:07:31 +000019class SkDataInput;
reed@android.com8a1c16f2008-12-17 15:59:43 +000020class SkAnimateMaker;
21
22class SkPost : public SkDisplayable {
23 DECLARE_MEMBER_INFO(Post);
24 enum Mode {
25 kDeferred,
26 kImmediate
27 };
28 SkPost();
29 virtual ~SkPost();
tfarina@chromium.org1d3c4112012-12-03 14:38:08 +000030 virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE;
reed@android.com8a1c16f2008-12-17 15:59:43 +000031 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& );
41protected:
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;
53private:
54 void findSinkID();
reed@google.com8d0b5772011-06-24 13:07:31 +000055 friend class SkDataInput;
reed@android.com8a1c16f2008-12-17 15:59:43 +000056 typedef SkDisplayable INHERITED;
57};
58
59#endif //SkDisplayPost_DEFINED