diff -r 000000000000 -r 6474c204b198 gfx/skia/trunk/src/animator/SkDisplayApply.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/skia/trunk/src/animator/SkDisplayApply.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,106 @@ + +/* + * Copyright 2006 The Android Open Source Project + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#ifndef SkDisplayApply_DEFINED +#define SkDisplayApply_DEFINED + +#include "SkAnimateBase.h" +#include "SkDrawable.h" +#include "SkIntArray.h" + +class SkActive; + +class SkApply : public SkDrawable { + DECLARE_MEMBER_INFO(Apply); +public: + + SkApply(); + virtual ~SkApply(); + + enum Transition { + kTransition_normal, + kTransition_reverse + }; + + enum Mode { + kMode_create, + kMode_immediate, + //kMode_once + }; + void activate(SkAnimateMaker& ); + void append(SkApply* apply); + void appendActive(SkActive* ); + void applyValues(int animatorIndex, SkOperand* values, int count, + SkDisplayTypes , SkMSec time); + virtual bool contains(SkDisplayable*); +// void createActive(SkAnimateMaker& ); + virtual SkDisplayable* deepCopy(SkAnimateMaker* ); + void disable(); + virtual bool draw(SkAnimateMaker& ); +#ifdef SK_DUMP_ENABLED + virtual void dump(SkAnimateMaker* ); +#endif + virtual bool enable(SkAnimateMaker& ); + void enableCreate(SkAnimateMaker& ); + void enableDynamic(SkAnimateMaker& ); + void endSave(int index); + Mode getMode() { return mode; } + virtual bool getProperty(int index, SkScriptValue* value) const; + SkDrawable* getScope() { return scope; } + void getStep(SkScriptValue* ); + SkDrawable* getTarget(SkAnimateBase* ); + bool hasDelayedAnimator() const; + virtual bool hasEnable() const; + bool inactivate(SkAnimateMaker& maker); + virtual void initialize(); + bool interpolate(SkAnimateMaker& , SkMSec time); + virtual void onEndElement(SkAnimateMaker& ); + virtual const SkMemberInfo* preferredChild(SkDisplayTypes type); + void refresh(SkAnimateMaker& ); + void reset(); + virtual bool resolveIDs(SkAnimateMaker& maker, SkDisplayable* original, SkApply* ); + bool resolveField(SkAnimateMaker& , SkDisplayable* parent, SkString* str); + void save(int index); + void setEmbedded() { fEmbedded = true; } + virtual bool setProperty(int index, SkScriptValue& ); + virtual void setSteps(int _steps); +// virtual void setTime(SkMSec time); +#ifdef SK_DEBUG + virtual void validate(); +#endif +private: + SkMSec begin; + SkBool dontDraw; + SkString dynamicScope; + SkMSec interval; + Mode mode; +#if 0 + SkBool pickup; +#endif + SkBool restore; + SkDrawable* scope; + int32_t steps; + Transition transition; + SkActive* fActive; + SkTDAnimateArray fAnimators; +// SkDrawable* fCurrentScope; + SkMSec fLastTime; // used only to return script property time + SkTDDrawableArray fScopes; + SkBool fAppended : 1; + SkBool fContainsScope : 1; + SkBool fDeleteScope : 1; + SkBool fEmbedded : 1; + SkBool fEnabled : 1; + SkBool fEnabling : 1; // set if calling interpolate from enable + friend class SkActive; + friend class SkDisplayList; + typedef SkDrawable INHERITED; +}; + +#endif // SkDisplayApply_DEFINED