animation based on user specified frame duration More...
#include <ZFAniForFrame.h>
Public Types | |
enum | |
![]() | |
enum | |
![]() | |
enum | |
![]() | |
enum | |
Public Member Functions | |
virtual const ZFClass * | classData (void) |
get instance's class info | |
virtual void | frame (zftimet duration) |
add a frame | |
virtual void | frames (const ZFCoreArray< zftimet > &frames) |
add multiple frames | |
virtual zfindex | frameCount () |
return frame count | |
virtual zftimet | frameAt (zfindex index) |
return frame duration at index | |
virtual void | frameRemoveAt (zfindex index) |
remove frame at index | |
virtual void | frameRemoveAll () |
remove all frame | |
virtual zfindex | frameIndex () |
current frame index, or zfindexMax if stopped | |
virtual zfbool & | useGlobalTimer () |
whether use global timer to update frame, true by default | |
virtual void | useGlobalTimer (zfbool const &propertyValue) |
see useGlobalTimer | |
virtual zftimet | durationFixed (void) |
util method to duration | |
![]() | |
virtual zftimet & | duration () |
animation's duration in miliseconds, 0 to use ZFAniDuration, 0 by default | |
virtual void | duration (zftimet const &propertyValue) |
see duration | |
virtual zfindex & | loop () |
loop count, 0 by default | |
virtual void | loop (zfindex const &propertyValue) |
see loop | |
virtual zfanyT< ZFCurve > const & | curve () |
curve for animation, null to use linear curve, null by default | |
virtual void | curve (zfanyT< ZFCurve > const &propertyValue) |
see curve | |
virtual void | target (ZFObject *target) |
animation's target, assign only, but would be retain automatically while animation is running | |
virtual zfany | target () |
animation's target | |
virtual void | start (const ZFListener &onStop=(zft_zfnull)) |
start the animation | |
virtual zfbool | started () |
true if the animation is running | |
virtual void | stop () |
stop the animation or do nothing if not started | |
virtual zfbool | stoppedByUser () |
true if the animation is stopped by calling stop | |
virtual zfidentity | aniId () |
get current animation's id | |
virtual zfbool | valid () |
check whether animation is valid, see aniImplCheckValid | |
virtual zfindex | loopCur () |
current loop count, 0 for first time | |
virtual void | aniOnStart (const ZFListener &cb) |
util to attach observer | |
virtual void | aniOnLoop (const ZFListener &cb) |
util to attach observer | |
virtual void | aniOnStop (const ZFListener &cb) |
util to attach observer | |
void | aniImplNotifyStop (ZFResultType resultType=v_ZFResultType::e_Success) |
subclass must notify after the animation stop | |
![]() | |
zfindex | objectRetainCount (void) |
return the object's retain count | |
void | objectInfoOfInstanceT (zfstring &ret) |
see objectInfoOfInstance | |
zfstring | objectInfoOfInstance (void) |
return a short string describe the object instance | |
void | objectInfoT (zfstring &ret) |
see objectInfo | |
zfstring | objectInfo (void) |
return object info | |
zfidentity | objectHash (void) |
get hash of this object | |
ZFCompareResult | objectCompare (ZFObject *anotherObj) |
compare with anotherObj | |
ZFCompareResult | objectCompareValue (ZFObject *anotherObj) |
explicitly compare object by logical value, see objectCompare | |
virtual zfauto | invoke (const zfstring &methodName) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfauto | invoke (const zfstring &methodName, ZFObject *param0, ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF)) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfbool | invokeT (zfauto &ret, zfstring *errorHint, const zfstring &methodName, ZFObject *param0=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF)) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfauto | invokeDetail (const zfstring &methodName, const ZFCoreArray< zfauto > ¶ms, zfbool *success=zft_zfnull, zfstring *errorHint=zft_zfnull) |
util method to perform ZFDI_invoke, do nothing if fail | |
zfbool | objectTagExist (void) |
see objectTag, true if this object has tag, and tag can be checked by objectTagGetAllKeyValue | |
void | objectTag (const zfstring &key, ZFObject *tag) |
used to hold a object for app's use, auto retained | |
zfany | objectTag (const zfstring &key) |
see objectTag | |
void | objectTagGetAllKeyValue (ZFCoreArray< zfstring > &allKey, ZFCoreArray< zfauto > &allValue) |
get all key value | |
void | objectTagRemove (const zfstring &key) |
remove tag, same as set tag to null | |
zfauto | objectTagRemoveAndGet (const zfstring &key) |
remove tag, return removed tag or null if not exist | |
void | objectTagRemoveAll (void) |
remove all tag | |
void | observerAdd (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
see observerNotify | |
void | observerAddForOnce (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
see observerNotify | |
void | observerRemove (zfidentity eventId, const ZFListener &callback) |
see observerNotify | |
void | observerRemoveAll (zfidentity eventId) |
see observerNotify | |
void | observerRemoveAll (void) |
see observerNotify | |
zfbool | observerHasAdd (void) |
true if any observer has been added | |
zfbool | observerHasAdd (zfidentity eventId) |
true if any observer with eventId has been added | |
void | observerNotify (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
notify the observer with eventId | |
void | observerNotifyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
void | observerNotifyReversely (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
void | observerNotifyReverselyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
ZFObserver & | observerHolder (void) |
access the internal observer holder | |
void | on (const zfstring &eventName, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
util to observerAdd | |
void | on (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
util to observerAdd | |
void | onInit (const ZFListener &impl) |
util for script to achieve chained call | |
void | onDealloc (const ZFListener &impl) |
util for script to achieve chained call | |
zfbool | objectInstanceStateCheck (ZFObjectInstanceState state) |
object instance's state | |
zfbool | objectInitRunning (void) |
util method to check whether ZFObjectInstanceStateOnInit or ZFObjectInstanceStateOnInitFinish running | |
zfbool | objectDeallocRunning (void) |
util method to check whether ZFObjectInstanceStateOnDeallocPrepare or ZFObjectInstanceStateOnDealloc running | |
virtual zfbool | objectIsInternal (void) |
whether this object is internal object or its class is ZFClass::classIsInternal | |
virtual zfbool | objectIsInternalPrivate (void) |
whether this object is internal private object or its class is ZFClass::classIsInternalPrivate | |
![]() | |
virtual zfanyT< ZFStyleable > | defaultStyle (void) |
return default style of this instance | |
void | styleableCopyFrom (ZFObject *anotherStyleable) |
copy style from another styleable, see ZFStyleable | |
virtual zfbool | styleableIsDefaultStyle (void) |
true if this object is defaultStyle | |
void | styleablePropertyGetAllT (ZFCoreArray< const ZFProperty * > &ret) |
return a list of styleable property, for debug use only | |
ZFCoreArray< const ZFProperty * > | styleablePropertyGetAll (void) |
return a list of styleable property, for debug use only | |
void | styleKey (const zfstring &styleKey) |
see ZFStyleSet | |
const zfstring & | styleKey (void) |
see ZFStyleSet | |
void | propStyle (const zfstring &propertyName, const zfstring &styleKey) |
see ZFStyleSet | |
const zfstring & | propStyle (const zfstring &propertyName) |
see ZFStyleSet | |
![]() | |
virtual ZFObject * | toObject (void)=0 |
convert to ZFObject type | |
![]() | |
zfbool | serializable (void) |
true if object is currently serializable, see ZFSerializable | |
zfbool | serializeFromData (const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
serialize from data, see ZFSerializable | |
zfbool | serializeToData (ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
serialize to data, see ZFSerializable | |
zfbool | serializeFromString (const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull) |
serialize from string, return false by default | |
zfbool | serializeToString (zfstring &ret, zfstring *errorHint=zft_zfnull) |
see serializeFromString | |
void | serializablePropertyTypeGetAll (ZFCoreArray< const ZFProperty * > ¬SerializableProperty, ZFCoreArray< const ZFProperty * > &serializableProperty, ZFCoreArray< const ZFProperty * > &embededProperty) |
return a list of each type of property, for debug use only | |
zfstring | serializablePropertyTypeInfo (void) |
return info of serializablePropertyTypeGetAll, for debug use only | |
void | serializableGetAllSerializablePropertyT (ZFCoreArray< const ZFProperty * > &ret) |
see serializableGetAllSerializableProperty | |
ZFCoreArray< const ZFProperty * > | serializableGetAllSerializableProperty (void) |
get all serializable property, usually for debug only, see serializableOnCheckPropertyType | |
void | serializableGetAllSerializableEmbededPropertyT (ZFCoreArray< const ZFProperty * > &ret) |
see serializableGetAllSerializableEmbededProperty | |
ZFCoreArray< const ZFProperty * > | serializableGetAllSerializableEmbededProperty (void) |
get all serializable embeded property, usually for debug only, see serializableOnCheckPropertyType | |
virtual void | serializableInfoT (zfstring &ret) |
get info as a serializable | |
virtual zfstring | serializableInfo (void) |
see serializableInfoT | |
![]() | |
zfautoT< ZFCopyable > | copy (void) |
return a copy of this object | |
void | copyFrom (ZFObject *anotherObj) |
see copy, anotherObj must be same type as this object (by classData), otherwise, do nothing | |
Static Public Member Functions | |
static const ZFClass * | ClassData (void) |
get class info | |
static zfidentity | E_AniFrameOnUpdate (void) |
see ZFObject::observerNotify | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
static zfidentity | E_AniOnStart (void) |
see ZFObject::observerNotify | |
static zfidentity | E_AniOnLoop (void) |
see ZFObject::observerNotify | |
static zfidentity | E_AniOnStop (void) |
see ZFObject::observerNotify | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
static zfidentity | E_ObjectBeforeAlloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectAfterAlloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectBeforeDealloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectPropertyValueOnUpdate (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectPropertyValueOnReset (void) |
see ZFObject::observerNotify | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
Protected Types | |
typedef ZFAnimation | zfsuper |
class ref to super | |
typedef ZFAniForFrame | zfself |
class ref to self | |
![]() | |
typedef ZFStyle | zfsuper |
class ref to super | |
typedef ZFAnimation | zfself |
class ref to self | |
![]() | |
typedef ZFObject | zfsuper |
class ref to super | |
typedef ZFStyle | zfself |
class ref to self | |
![]() | |
typedef _ZFP_Obj_Base | zfsuper |
class ref to super | |
typedef ZFObject | zfself |
class ref to self | |
![]() | |
typedef ZFInterface | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFStyleable | zfself |
typedef for self | |
![]() | |
typedef _ZFP_ObjI_Base | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFInterface | zfself |
typedef for self | |
![]() | |
typedef ZFInterface | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFSerializable | zfself |
typedef for self | |
![]() | |
typedef ZFInterface | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFCopyable | zfself |
typedef for self | |
Protected Member Functions | |
virtual void | objectOnInit (void) |
override this to init your object | |
virtual void | objectOnDealloc (void) |
override this to destroy your object | |
virtual ZFCompareResult | objectCompareValueImpl (ZFObject *anotherObj) |
see objectCompareValue | |
virtual zfbool | serializableOnSerializeFromData (const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
for serializable data that has "category" attribute, ZFSerializable would ignore it and leave it to subclass to resolve, see ZFSerializable | |
virtual zfbool | serializableOnSerializeToData (ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
corresponding to serializableOnSerializeFromData, return whether the task is success, see ZFSerializable | |
virtual void | aniImplStart (void) |
for subclass to achieve actual animation | |
virtual void | aniImplStop (void) |
for subclass to stop actual animation | |
virtual void | aniFrameOnUpdate (zfindex frameIndex) |
called to do the actual update | |
![]() | |
virtual void | aniImplTargetOnUpdate (ZFObject *targetOld) |
called when target changed | |
virtual zfbool | aniImplCheckValid (void) |
called to check whether the animation is currently valid, an invalid animation is ensured can't be started | |
virtual void | aniOnStart (void) |
see E_AniOnStart | |
virtual void | aniOnLoop (void) |
see E_AniOnLoop | |
virtual void | aniOnStop (ZFResultType resultType) |
see E_AniOnStop | |
virtual void | objectOnInit (ZFObject *target) |
init with target | |
virtual void | objectOnDeallocPrepare (void) |
called before objectOnDealloc, safe to call virtual functions here | |
virtual void | objectInfoImplAppend (zfstring &ret) |
see objectInfo | |
![]() | |
virtual void | copyableOnCopyFrom (ZFObject *anotherObj) |
called by copy to copy contents from anotherObj | |
![]() | |
virtual void | objectInfoImpl (zfstring &ret) |
see objectInfo | |
virtual zfidentity | objectHashImpl (void) |
see objectHash | |
virtual ZFCompareResult | objectCompareImpl (ZFObject *anotherObj) |
see objectCompare | |
virtual void | observerOnAdd (zfidentity eventId) |
called when add first observer | |
virtual void | observerOnRemove (zfidentity eventId) |
called when remove last observer | |
virtual void | observerOnEvent (const ZFArgs &zfargs) |
notified when observerNotify | |
virtual void | objectOnInitFinish (void) |
called after objectOnInit, safe to call virtual functions here | |
virtual void | objectOnRetain (void) |
called to retain object | |
virtual void | objectOnRelease (void) |
called to release object | |
virtual void | objectPropertyValueOnUpdate (const ZFProperty *property, const void *oldValue) |
see E_ObjectPropertyValueOnUpdate | |
virtual void | objectPropertyValueOnReset (const ZFProperty *property) |
see E_ObjectPropertyValueOnReset | |
![]() | |
virtual void | styleableOnCopyPropertyFrom (ZFObject *anotherStyleable, const ZFProperty *property) |
copy property with styleable logic | |
virtual void | styleableOnCopyFrom (ZFObject *anotherStyleable) |
for subclass to achieve custom style copy step, called by styleableCopyFrom, see ZFStyleable | |
![]() | |
virtual ZFSerializablePropertyType | serializableOnCheckPropertyType (const ZFProperty *property) |
check the property type that serializable should do what while serializing | |
virtual zfbool | serializableOnCheck (void) |
see serializable | |
virtual zfbool | serializableOnSerializePropertyFromData (const ZFSerializableData &propertyData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
virtual zfbool | serializableOnSerializePropertyToData (ZFSerializableData &ownerData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
virtual zfbool | serializableOnSerializeEmbededPropertyFromData (const ZFSerializableData &propertyData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
virtual zfbool | serializableOnSerializeEmbededPropertyToData (ZFSerializableData &ownerData, const ZFProperty *property, ZFSerializable *refOwner, zfstring *outErrorHint=zft_zfnull) |
see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
virtual zfbool | serializableOnSerializeFromString (const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull) |
see serializeFromString | |
virtual zfbool | serializableOnSerializeToString (zfstring &ret, zfstring *errorHint=zft_zfnull) |
see serializeFromString | |
animation based on user specified frame duration
this is a dummy animation holder which do nothing by default, you should either:
serializable data:
|
inlinevirtual |
get instance's class info
Reimplemented from ZFAnimation.
|
static |
param0 is a v_zfindex containing current frame index
|
inlinevirtual |
whether use global timer to update frame, true by default
when true, we would use special logic to achieve global timer control:
for example, if you increace ZFGlobalTimerInterval, the animation would looks slower
this is useful to achieve accurate timer control
|
protectedvirtual |
override this to init your object
subclass must call superclass's objectOnInit before any other code if override
you may also declare objectOnInit with params like this:
Reimplemented from ZFAnimation.
|
protectedvirtual |
override this to destroy your object
subclass must call superclass's objectOnDealloc after any other code if override
see objectOnInit for more info
Reimplemented from ZFAnimation.
|
inlineprotectedvirtual |
Reimplemented from ZFObject.
|
protectedvirtual |
for serializable data that has "category" attribute, ZFSerializable would ignore it and leave it to subclass to resolve, see ZFSerializable
while overriding this method, you should call super first, and then check whether super has resolved the data
if subclass should resolve the category, you should mark data as resolved and return whether resolve success
if not, subclass should leave the data unresoved and return true
Reimplemented from ZFSerializable.
|
protectedvirtual |
corresponding to serializableOnSerializeFromData, return whether the task is success, see ZFSerializable
Reimplemented from ZFSerializable.
|
virtual |
util method to duration
Reimplemented from ZFAnimation.
|
protectedvirtual |
for subclass to achieve actual animation
Reimplemented from ZFAnimation.
|
protectedvirtual |
for subclass to stop actual animation
Reimplemented from ZFAnimation.
|
protectedvirtual |
called to do the actual update
this method would be called: