Generic animation of a standard object. More...
#include <GUIAnimationStdGUIObject.h>
Public Member Functions | |
CGUIAnimationStdGUIObject (CGUIObject *pAnimatedObject, const CGUIEasing::EasingType_t &eEasingX, const CGUIEasing::EasingType_t &eEasingY, const CGUIEasing::EasingType_t &eEasingWidth, const CGUIEasing::EasingType_t &eEasingHeight, const CGUIEasing::EasingType_t &eEasingAlpha, const eC_UInt &uiDuration=1000, const eC_UInt &uiStepTime=25) | |
CGUIAnimationStdGUIObject (CGUIObject *pkAnimatedObject, const CGUIEasing::EasingType_t &eEasing, const eC_UInt &uiDuration=1000, const eC_UInt &uiStepTime=25) | |
virtual void | ApplyAnimation (eC_UInt uiElapsedTime) |
eC_Value | GetAnimatedObjectNthAttribute (const eC_UInt &uiN) const |
CGUIEasing::EasingType_t | GetEasingForNthAttribute (const eC_UInt &uiN) const |
eC_Bool | GetEnabledNthAttribute (const eC_UInt &uiN) const |
eC_Value | GetStartValueForNthAttribute (const eC_UInt &uiN) const |
eC_Value | GetTargetValueForNthAttribute (const eC_UInt &uiN) const |
virtual void | ReadFromStream () |
void | SetAnimatedObjectNthAttribute (const eC_UInt &uiN, const eC_Value &vValue) |
void | SetEasingForNthAttribute (const eC_UInt &uiN, const CGUIEasing::EasingType_t &eEasingType) |
void | SetEnabledNthAttribute (const eC_UInt &uiN, const eC_Bool &bEnabled) |
void | SetStartValueForNthAttribute (const eC_UInt &uiN, const eC_Value &vStart) |
void | SetStartValues (const CGUIObject *pObj) |
void | SetTargetValueForNthAttribute (const eC_UInt &uiN, const eC_Value &vTarget) |
void | SetTargetValues (const CGUIObject *pObj) |
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
![]() | |
virtual | ~CGUIAnimation () |
void | AddAnimationObserver (CGUIAnimationObserver *pkObserver) |
virtual void | ApplyAnimation (eC_UInt uiElapsedTime)=0 |
void | ContinueAnimation () |
virtual void | DoAnimate (const eC_Value &vTimes=eC_FromInt(1)) |
eC_TListDoubleLinked< CGUIAnimatedAttribute > * | GetAnimatedAttributes () |
CGUIObject * | GetAnimatedObject () const |
ObjectHandle_t | GetAnimatedObjectID () const |
eC_UInt | GetDuration () const |
eC_UInt | GetID () const |
eC_UInt | GetStepTime () const |
virtual void | InitAttributes () |
eC_Bool | IsDeletedAfterFinish () const |
eC_Bool | IsPaused () const |
void | PauseAnimation () |
void | ReadFromStream () |
void | RemoveAnimationObserver (CGUIAnimationObserver *pkObserver) |
void | SetAnimatedObject (CGUIObject *pkObject) |
void | SetAnimatedObjectID (const ObjectHandle_t &eObject) |
void | SetAnimationObserver (CGUIAnimationObserver *pkObserver) |
void | SetDeletedAfterFinish (const eC_Bool bDeletedAfterFinish) |
void | SetDuration (eC_UInt uiDuration) |
void | StartAnimation () |
void | StopAnimation () |
void | UpdateAnimatedObjectPointer () |
void | WriteToStream (const eC_Bool bWriteClassID=false) |
![]() | |
virtual | ~CGUIAnimatable () |
Destructor. Removes all existing animation callbacks. | |
virtual void | DoAnimate (const eC_Value &vTimes=eC_FromInt(1)) |
virtual eC_Bool | IsAnimating () const |
virtual void | StartAnimation () |
virtual void | StopAnimation () |
![]() | |
const eC_String & | GetXMLTag () const |
virtual void | ReadFromStream () |
void | SetXMLTag (const eC_String &kXMLTag) |
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
Static Public Attributes | |
static const eC_UInt | STDGUIOBJECT_ANIMATION_CLASS_VERSION |
class-version string | |
static const eC_String | XMLTAG_ATTRIBUTES [] |
attributes-string | |
![]() | |
static const eC_Char | XMLTAG_ANIMATIONCLASSID [] |
XML tag to be used when writing a animation class ID into a stream. | |
static const eC_Char | XMLTAG_ANIMATIONENDTAG [] |
XML tag to be used when finish writing CGUIAnimation information into the stream. | |
static const eC_Char | XMLTAG_ANIMATIONID [] |
XML tag to be used when writing a animation ID into a stream. | |
static const eC_Char | XMLTAG_ANIMATIONSTARTTAG [] |
XML tag to be used when start writing CGUIAnimation information into the stream. | |
![]() | |
static const eC_Char | XMLTAG_CLASSVERSION [] |
Additional Inherited Members | |
![]() | |
enum | AnimationStatus_t { ANIMATION_RUNNING , ANIMATION_PAUSED , ANIMATION_STOPPED , ANIMATION_FINISHED , ANIMATION_DELETED } |
![]() | |
static UUID_t | GenerateUUID () |
![]() | |
CGUIAnimation () | |
CGUIAnimation (CGUIObject *pkAnimatedObject, eC_UInt uiDuration, eC_UInt uiStepTime=25, eC_Bool bDeletedAfterFinish=false) | |
void | AddAnimatedAttribute (CGUIAnimatedAttribute kAnimatedAttribute) |
CGUIAnimatedAttribute & | GetAnimatedAttribute (const eC_UInt &uiAttributeIndex) const |
virtual void | OnStatusChanged (AnimationStatus_t eStatus) |
void | RemoveAnimatedAttributes () |
![]() | |
eC_UInt | ReadStreamingHeader (const eC_UInt &uiClassVersion, const eC_UInt &uiClassMinVersion=0) const |
void | WriteStreamingFooter (const eC_Bool &bWriteClassID) const |
void | WriteStreamingHeader (const eC_Bool &bWriteClassID, const eC_Char *const pkClassIDTag, const eC_Int &iClassID, const eC_UInt &uiClassVersion) const |
![]() | |
eC_TListDoubleLinked< CGUIAnimatedAttribute > * | m_pkAnimatedAttributes |
available animated attributes | |
Generic animation of a standard object.
This animation animates a standard CGUIObject object through giving access to all important object attributes which are x position, y position, width, height and alpha value. For all of these attributes a separate CGUIEasing functions is used.
This example moves and changes the size of an object using CGUIEasing functions.
CGUIAnimationStdGUIObject::CGUIAnimationStdGUIObject | ( | CGUIObject * | pAnimatedObject, |
const CGUIEasing::EasingType_t & | eEasingX, | ||
const CGUIEasing::EasingType_t & | eEasingY, | ||
const CGUIEasing::EasingType_t & | eEasingWidth, | ||
const CGUIEasing::EasingType_t & | eEasingHeight, | ||
const CGUIEasing::EasingType_t & | eEasingAlpha, | ||
const eC_UInt & | uiDuration = 1000 , |
||
const eC_UInt & | uiStepTime = 25 |
||
) |
Constructor
pAnimatedObject | The GUIObject that will be moved. |
eEasingX | The easing type that is used for the XPos of the object. |
eEasingY | The easing type that is used for the YPos of the object. |
eEasingWidth | The easing type that is used for the width of the object. |
eEasingHeight | The easing type that is used for the height of the object. |
eEasingAlpha | The easing type that is used for the alpha of the object. |
uiDuration | The total duration of the animation in milliseconds. Based on the distance the duration determines the animation speed. |
uiStepTime | The time between two animation steps in milliseconds. |
CGUIAnimationStdGUIObject::CGUIAnimationStdGUIObject | ( | CGUIObject * | pkAnimatedObject, |
const CGUIEasing::EasingType_t & | eEasing, | ||
const eC_UInt & | uiDuration = 1000 , |
||
const eC_UInt & | uiStepTime = 25 |
||
) |
Constructor
pkAnimatedObject | The GUIObject that will be moved. |
eEasing | The easing type that is used for all attributes. |
uiDuration | The total duration of the animation in milliseconds. Based on the distance the duration determines the animation speed. |
uiStepTime | The time between two animation steps in milliseconds. |
|
virtual |
This function contains the animation logic. It typically accesses the animation's CGUIEasing functions to get the current values and sets these values in the animated object. This function is called by DoAnimate()
uiElapsedTime | Time elapsed (in ms) since start of animation. |
Implements CGUIAnimation.
eC_Value CGUIAnimationStdGUIObject::GetAnimatedObjectNthAttribute | ( | const eC_UInt & | uiN | ) | const |
Get the nth attribute
uiN | index |
CGUIEasing::EasingType_t CGUIAnimationStdGUIObject::GetEasingForNthAttribute | ( | const eC_UInt & | uiN | ) | const |
Get the easing type for the nth attribute
uiN | index |
eC_Bool CGUIAnimationStdGUIObject::GetEnabledNthAttribute | ( | const eC_UInt & | uiN | ) | const |
Get the nth attribute enabled
uiN | index |
eC_Value CGUIAnimationStdGUIObject::GetStartValueForNthAttribute | ( | const eC_UInt & | uiN | ) | const |
Get the start value type for the nth attribute
uiN | index |
eC_Value CGUIAnimationStdGUIObject::GetTargetValueForNthAttribute | ( | const eC_UInt & | uiN | ) | const |
Get the target value type for the nth attribute
uiN | index |
|
virtual |
Reads attributes from the streaming file. Only for use with GUIFactoryManager.
Reimplemented from CGUIAnimation.
void CGUIAnimationStdGUIObject::SetAnimatedObjectNthAttribute | ( | const eC_UInt & | uiN, |
const eC_Value & | vValue | ||
) |
Set the nth attribute
uiN | index |
vValue | attribute |
void CGUIAnimationStdGUIObject::SetEasingForNthAttribute | ( | const eC_UInt & | uiN, |
const CGUIEasing::EasingType_t & | eEasingType | ||
) |
Set the easing type type for the nth attribute
uiN | index |
eEasingType | easing type |
void CGUIAnimationStdGUIObject::SetEnabledNthAttribute | ( | const eC_UInt & | uiN, |
const eC_Bool & | bEnabled | ||
) |
Set the nth attribute to enabled
uiN | index |
bEnabled |
void CGUIAnimationStdGUIObject::SetStartValueForNthAttribute | ( | const eC_UInt & | uiN, |
const eC_Value & | vStart | ||
) |
Set the start value type for the nth attribute
uiN | index |
vStart | start value |
void CGUIAnimationStdGUIObject::SetStartValues | ( | const CGUIObject * | pObj | ) |
Retrieves the start values for this animation from the current status of the supplied GUIObject.
pObj | Object whose current attributes will serve as the start values for this animation |
void CGUIAnimationStdGUIObject::SetTargetValueForNthAttribute | ( | const eC_UInt & | uiN, |
const eC_Value & | vTarget | ||
) |
Set the start value type for the nth attribute
uiN | index |
vTarget | target value |
void CGUIAnimationStdGUIObject::SetTargetValues | ( | const CGUIObject * | pObj | ) |
Retrieves the target values for this animation from the current status of the supplied GUIObject.
pObj | Object whose current attributes will serve as the new target values for this animation |
|
virtual |
Writes attributes to the streaming file. A CGUIStreamWriter has to be initialized.
bWriteClassID | This flag is used to switch writing of the class ID, leading and trailing tags. When implementing a new streamable object, check this flag. If it is true, first write the class ID, then continue with this object's attributes, and finally call the base class implementation with this flag set to false (this is the default). |
Reimplemented from CGUIAnimation.