blob: 80fdcfcdd8309ecb1650eb62b007b141057425cf [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();
mtklein36352bf2015-03-25 18:17:31 -070030 bool addChild(SkAnimateMaker& , SkDisplayable* child) override;
31 bool childrenNeedDisposing() const override;
32 void dirty() override;
reed@android.com8a1c16f2008-12-17 15:59:43 +000033#ifdef SK_DUMP_ENABLED
mtklein36352bf2015-03-25 18:17:31 -070034 void dump(SkAnimateMaker* ) override;
reed@android.com8a1c16f2008-12-17 15:59:43 +000035#endif
mtklein36352bf2015-03-25 18:17:31 -070036 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;
reed@android.com8a1c16f2008-12-17 15:59:43 +000041protected:
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