1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/* 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2006 The Android Open Source Project 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file. 7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */ 8ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 98a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifndef SkDisplayPost_DEFINED 118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define SkDisplayPost_DEFINED 128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkDisplayable.h" 148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkEvent.h" 158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkEventSink.h" 168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkMemberInfo.h" 178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkIntArray.h" 188a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 198d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.comclass SkDataInput; 208a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comclass SkAnimateMaker; 218a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comclass SkPost : public SkDisplayable { 238a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com DECLARE_MEMBER_INFO(Post); 248a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com enum Mode { 258a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kDeferred, 268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kImmediate 278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com }; 288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkPost(); 298a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual ~SkPost(); 301d3c411f5e4d2ad31bc92b3a85957004329ac00dtfarina@chromium.org virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE; 318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual bool childrenNeedDisposing() const; 328a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void dirty(); 338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifdef SK_DUMP_ENABLED 348a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void dump(SkAnimateMaker* ); 358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif 368a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual bool enable(SkAnimateMaker& ); 378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual bool hasEnable() const; 388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void onEndElement(SkAnimateMaker& ); 398a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void setChildHasID(); 408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual bool setProperty(int index, SkScriptValue& ); 418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprotected: 428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkMSec delay; 438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkString sink; 448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com// SkBool initialized; 458a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com Mode mode; 468a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkEvent fEvent; 478a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkAnimateMaker* fMaker; 488a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkTDDataArray fParts; 498a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkEventSinkID fSinkID; 508a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkAnimateMaker* fTargetMaker; 518a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkBool8 fChildHasID; 528a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkBool8 fDirty; 538a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprivate: 548a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com void findSinkID(); 558d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.com friend class SkDataInput; 568a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com typedef SkDisplayable INHERITED; 578a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}; 588a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 598a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif //SkDisplayPost_DEFINED 60