10#if !defined GUIANIMATION_CHAIN__H_
11#define GUIANIMATION_CHAIN__H_
14#include "GUIAnimatable.h"
15#include "GUIAnimationObserver.h"
16#include "GUIStreamableObject.h"
17#include "eC_TList_doubleLinked.h"
173 virtual void DoAnimate(
const eC_Value& vTimes = eC_FromInt(1));
218#if defined(GUILIANI_STREAM_GUI) || defined(GUILIANI_WRITE_GUI)
222#ifdef GUILIANI_STREAM_GUI
231#ifdef GUILIANI_WRITE_GUI
240 void StartNextAnimation();
246 eC_Bool GetNextAnimationStartOffset(eC_UInt& uiNextStartOfset);
248 eC_Bool GetNextAnimationsForOffset(
const eC_UInt& uiOffset);
250 eC_UInt GetDuration();
252 void GetNextParallelAnimation();
254 void ResetAnimation();
256 void SetID(
const eC_UInt& uiID);
272 eC_UInt m_uiStartTime;
275 eC_UInt m_uiExpiredTime;
278 eC_UInt m_uiOffsetSave;
281 eC_UInt m_uiOffsetRemaining;
283 eC_UInt m_uiCurrentStartOffset;
291 eC_Bool m_bLastAnimationOfChain;
Base interface for animation callbacks.
Definition: GUIAnimatable.h:51
An AnimationChain is a combination of several independent animations.
Definition: GUIAnimationChain.h:66
eC_TListDoubleLinked< AnimationInfo_t > AnimationList_t
The animation list is a double-linked list of animation info structs.
Definition: GUIAnimationChain.h:100
void AddAnimation(CGUIAnimation *pkAnimation, eC_UInt uiTimeOffset=0)
const CGUIAnimation * GetAnimation(eC_UInt uiID)
virtual void DoAnimate(const eC_Value &vTimes=eC_FromInt(1))
void WriteToStream(const eC_Bool bWriteClassID=false)
CGUIAnimationChain(const AnimationChain_t eType, const eC_Bool bCyclic=false)
virtual eC_Bool IsAnimating() const
void OnStatusChanged(CGUIAnimation::AnimationStatus_t eStatus, CGUIAnimation *pAnimation)
eC_UInt GetID()
Definition: GUIAnimationChain.h:200
AnimationChain_t
Defines the chain type.
Definition: GUIAnimationChain.h:71
@ PARALLEL_ANIMATION
Each animation is started based on its offset relative to the start of the animation chain.
Definition: GUIAnimationChain.h:72
@ CHAINED_ANIMATION
The animations are started one after the other. The offset is used as time between the animations.
Definition: GUIAnimationChain.h:73
eC_Bool GetCyclicAnimation() const
Definition: GUIAnimationChain.h:185
virtual ~CGUIAnimationChain()
Destructor.
void RemoveAnimation(CGUIAnimation *pkAnimation)
void RemoveAllAnimations()
static const eC_UInt ANIMATION_CHAIN_CLASS_VERSION
The class version of the animation chain class.
Definition: GUIAnimationChain.h:219
AnimationChain_t GetChainType()
Definition: GUIAnimationChain.h:205
const AnimationList_t * GetAnimations()
Definition: GUIAnimationChain.h:216
void SetCyclicAnimation(const eC_Bool bCyclicAnimation)
Definition: GUIAnimationChain.h:180
The AnimationHandler is the management class for animations.
Definition: GUIAnimationHandler.h:70
Base class for modular Guiliani animations.
Definition: GUIAnimation.h:75
AnimationStatus_t
Definition: GUIAnimation.h:83
This interface is used to observe the status of an animation.
Definition: GUIAnimationObserver.h:28
Base class for streamable objects.
Definition: GUIStreamableObject.h:46
Holds the animation id and the offset for each animation.
Definition: GUIAnimationChain.h:80
bool operator==(const AnimationInfo_t &rhs) const
Definition: GUIAnimationChain.h:90
CGUIAnimation * m_pkAnimation
animation
Definition: GUIAnimationChain.h:95
eC_UInt m_uiOffset
offset of animation
Definition: GUIAnimationChain.h:96