image storage More...
#include <ZFUIImage.h>
Public Types | |
enum | |
enum | |
![]() | |
enum | |
![]() | |
enum | |
Public Member Functions | |
virtual const ZFClass * | classData (void) |
get instance's class info | |
virtual zffloat & | imageScale () |
image's scale, 1 by default | |
virtual void | imageScale (zffloat const &propertyValue) |
see imageScale | |
virtual ZFUIMargin & | imageNinePatch () |
nine patch described by a margin value, disabled if zero margin or margin exceeds image size | |
virtual void | imageNinePatch (ZFUIMargin const &propertyValue) |
see imageNinePatch | |
virtual zffloat const & | imageScaleFixed () |
util method to access actual scale | |
virtual const ZFUISize & | imageSize () |
get size of the image | |
virtual const ZFUISize & | imageSizeFixed () |
get raw size of the image without scale (in pixel unit) | |
virtual zfautoT< ZFUIImage > | imageState () |
return current image state | |
virtual zfautoT< ZFUIImage > | imageStateUpdate () |
see imageState | |
virtual void | imageStateAttach (const ZFListener &callback) |
for impl to attach image state update observer | |
virtual void | imageStateDetach (const ZFListener &callback) |
see imageStateAttach | |
virtual void | imageStateImpl (const ZFListener &impl) |
for impl to implement stateful image logic | |
virtual const ZFListener & | imageStateImpl () |
see imageStateImpl | |
virtual void | imageStateImplNotifyUpdate (ZFUIImage *imageState) |
see imageStateImpl | |
virtual void * | nativeImage () |
get native image object | |
virtual void | nativeImage (void *nativeImage, zfbool retainNativeImage=(_ZFT_t_zftrue)) |
internal use only, set the native image | |
virtual void | imageSerializeType (const zfstring &typeName) |
see ZFUIIMAGE_SERIALIZE_TYPE_DEFINE | |
virtual const zfstring & | imageSerializeType () |
see ZFUIIMAGE_SERIALIZE_TYPE_DEFINE | |
virtual void | imageSerializeData (const ZFSerializableData &serializableData) |
see ZFUIIMAGE_SERIALIZE_TYPE_DEFINE | |
virtual const ZFSerializableData & | imageSerializeData () |
see ZFUIIMAGE_SERIALIZE_TYPE_DEFINE | |
virtual void | imageSerializeDataGetter (const ZFListener &impl) |
see ZFUIIMAGE_SERIALIZE_TYPE_DEFINE | |
virtual const ZFListener & | imageSerializeDataGetter () |
see ZFUIIMAGE_SERIALIZE_TYPE_DEFINE | |
virtual void | imageSerializeDisable (zfbool disable) |
see ZFSerializeDisable | |
virtual zfbool | imageSerializeDisable () |
see ZFSerializeDisable | |
![]() | |
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_ImageScaleOnUpdate (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ImageStateOnUpdate (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 ZFStyle | zfsuper |
class ref to super | |
typedef ZFUIImage | 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 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 | styleableOnCopyFrom (ZFObject *anotherStyleable) |
for subclass to achieve custom style copy step, called by styleableCopyFrom, see ZFStyleable | |
virtual void | objectOnInit (void) |
override this to init your object | |
virtual void | objectOnDealloc (void) |
override this to destroy your object | |
virtual void | objectOnInitFinish (void) |
called after objectOnInit, safe to call virtual functions here | |
virtual void | objectOnDeallocPrepare (void) |
called before objectOnDealloc, safe to call virtual functions here | |
virtual ZFCompareResult | objectCompareValueImpl (ZFObject *anotherObj) |
see objectCompareValue | |
virtual void | objectInfoImplAppend (zfstring &ret) |
see objectInfo | |
virtual void | objectPropertyValueOnUpdate (const ZFProperty *property, const void *oldValue) |
see E_ObjectPropertyValueOnUpdate | |
virtual void | imageScaleOnUpdate (void) |
see E_ImageScaleOnUpdate | |
virtual void | imageStateOnUpdate (void) |
see E_ImageStateOnUpdate | |
![]() | |
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 | objectOnRetain (void) |
called to retain object | |
virtual void | objectOnRelease (void) |
called to release object | |
virtual void | objectPropertyValueOnReset (const ZFProperty *property) |
see E_ObjectPropertyValueOnReset | |
![]() | |
virtual void | styleableOnCopyPropertyFrom (ZFObject *anotherStyleable, const ZFProperty *property) |
copy property with styleable logic | |
![]() | |
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 | |
image storage
serializable data:
|
inlinevirtual |
get instance's class info
Reimplemented from ZFStyle.
|
static |
called when imageScaleFixed changed
|
static |
called when imageState changed
|
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.
|
protectedvirtual |
for subclass to achieve custom style copy step, called by styleableCopyFrom, see ZFStyleable
Reimplemented from ZFStyleable.
|
inlinevirtual |
image's scale, 1 by default
we have these image scale settings:
to access pixel size, use imageSizeFixed instead
|
inlinevirtual |
nine patch described by a margin value, disabled if zero margin or margin exceeds image size
|
virtual |
util method to access actual scale
ensured to be (imageScale * ZFUIGlobalStyle::imageScale)
|
virtual |
get size of the image
|
virtual |
get raw size of the image without scale (in pixel unit)
this is the pixel size of the image, not affected by imageScale
return current image state
used to implement stateful image, for example:
how it works:
note: valid only when any observer attached by imageStateAttach, to explicitly obtain latest state, use imageStateUpdate
|
virtual |
for impl to attach image state update observer
callback would be called when first time attached, and each time if imageState updated, sender would be the original owner ZFUIImage
note: when no longer used, impl must call imageStateDetach to cleanup
|
virtual |
for impl to implement stateful image logic
there are different ways to call the impl:
|
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 ZFObject.
|
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 ZFObject.
|
protectedvirtual |
called after objectOnInit, safe to call virtual functions here
usually used to initialize independent resources other than self's internal resources
Reimplemented from ZFObject.
|
protectedvirtual |
called before objectOnDealloc, safe to call virtual functions here
usually used to cleanup resources attached to this object other than self's internal resources
Reimplemented from ZFObject.
|
protectedvirtual |
Reimplemented from ZFObject.
|
protectedvirtual |
see objectInfo
Reimplemented from ZFObject.
|
protectedvirtual |
see E_ObjectPropertyValueOnUpdate
oldValue should be:
Reimplemented from ZFObject.
|
virtual |
internal use only, set the native image
the image would be retained, actual retain logic is depending on the implementation
|
virtual |
see ZFUIIMAGE_SERIALIZE_TYPE_DEFINE
impl should store the result ZFSerializableData to ZFArgs::result, or store a v_zfstring containing error hint