Cinder  0.9.1
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
cinder::TimelineItem Class Referenceabstract

#include <TimelineItem.h>

Inherits enable_shared_from_this< TimelineItem >.

Inherited by cinder::Cue, cinder::Timeline, and cinder::TweenBase.

Public Member Functions

 TimelineItem (class Timeline *parent=0)
 
 TimelineItem (class Timeline *parent, void *target, float startTime, float duration)
 
virtual ~TimelineItem ()
 
void * getTarget () const
 
float getStartTime () const
 
void setStartTime (float newTime)
 
float getDuration () const
 
void setDuration (float newDuration)
 
bool getLoop () const
 
void setLoop (bool doLoop=true)
 
bool getPingPong () const
 
void setPingPong (bool pingPong=true)
 
bool getInfinite () const
 
void setInfinite (bool infinite=true)
 
float getEndTime () const
 
class TimelinegetParent () const
 
void removeSelf ()
 
virtual void reset (bool unsetStarted=false)
 
bool hasStarted () const
 
bool isComplete ()
 
bool getAutoRemove () const
 
void setAutoRemove (bool autoRemove=true)
 
virtual void start (bool reverse)=0
 
virtual void loopStart ()
 
virtual void update (float relativeTime)=0
 
virtual void complete (bool reverse)=0
 
virtual bool updateAtLoopStart ()
 
virtual float calcDuration () const
 
virtual void reverse ()=0
 
virtual TimelineItemRef clone () const =0
 
virtual TimelineItemRef cloneReverse () const =0
 
void stepTo (float time, bool reverse)
 
TimelineItemRef thisRef ()
 

Protected Member Functions

void setDurationDirty ()
 
void updateDuration () const
 
float loopTime (float absTime)
 
void setTarget (void *target)
 

Protected Attributes

class TimelinemParent
 
void * mTarget
 
float mStartTime
 
bool mHasStarted
 
bool mHasReverseStarted
 
bool mComplete
 
bool mReverseComplete
 
bool mMarkedForRemoval
 
bool mInfinite
 
bool mLoop
 
bool mPingPong
 
bool mUseAbsoluteTime
 
bool mAutoRemove
 
int32_t mLastLoopIteration
 

Friends

class Timeline
 

Detailed Description

Base interface for anything that can go on a Timeline.

Constructor & Destructor Documentation

cinder::TimelineItem::TimelineItem ( class Timeline parent = 0)
cinder::TimelineItem::TimelineItem ( class Timeline parent,
void *  target,
float  startTime,
float  duration 
)
virtual cinder::TimelineItem::~TimelineItem ( )
virtual

Member Function Documentation

void* cinder::TimelineItem::getTarget ( ) const

Returns the item's target pointer.

float cinder::TimelineItem::getStartTime ( ) const

Returns the item's start time.

void cinder::TimelineItem::setStartTime ( float  newTime)

Set the items's start time to newTime.

float cinder::TimelineItem::getDuration ( ) const

Returns the item's duration.

void cinder::TimelineItem::setDuration ( float  newDuration)

Sets the item's duration to newDuration.

bool cinder::TimelineItem::getLoop ( ) const

Returns whether the item starts over when it is complete.

void cinder::TimelineItem::setLoop ( bool  doLoop = true)

Sets whether the item starts over when it is complete.

bool cinder::TimelineItem::getPingPong ( ) const

Returns whether the item alternates between forward and reverse. Overrides loop when true.

void cinder::TimelineItem::setPingPong ( bool  pingPong = true)

Sets whether the item alternates between forward and reverse. Overrides loop when true.

bool cinder::TimelineItem::getInfinite ( ) const

Returns whether the item ever is marked as complete.

void cinder::TimelineItem::setInfinite ( bool  infinite = true)

Sets whether the item ever is marked as complete.

float cinder::TimelineItem::getEndTime ( ) const

Returns the time of the item's competion, equivalent to getStartTime() + getDuration().

class Timeline* cinder::TimelineItem::getParent ( ) const

Returns a pointer to the item's parent Timeline.

void cinder::TimelineItem::removeSelf ( )

Removes the item from its parent Timeline.

virtual void cinder::TimelineItem::reset ( bool  unsetStarted = false)
virtual

Marks the item as not completed, and if unsetStarted, marks the item as not started.

Reimplemented in cinder::Timeline, and cinder::TweenBase.

bool cinder::TimelineItem::hasStarted ( ) const

Returns whether the item has started.

bool cinder::TimelineItem::isComplete ( )

Returns whether the item has completed.

bool cinder::TimelineItem::getAutoRemove ( ) const

Should the item remove itself from the Timeline when it is complete.

void cinder::TimelineItem::setAutoRemove ( bool  autoRemove = true)

Sets whether the item will remove itself from the Timeline when it is complete.

virtual void cinder::TimelineItem::start ( bool  reverse)
pure virtual
virtual void cinder::TimelineItem::loopStart ( )
virtual

Reimplemented in cinder::Cue, and cinder::Timeline.

virtual void cinder::TimelineItem::update ( float  relativeTime)
pure virtual
virtual void cinder::TimelineItem::complete ( bool  reverse)
pure virtual
virtual bool cinder::TimelineItem::updateAtLoopStart ( )
virtual

Call update() only at the beginning of each loop (for example Cues exhibit require this behavior)

Reimplemented in cinder::Cue.

virtual float cinder::TimelineItem::calcDuration ( ) const
virtual

Reimplemented in cinder::Timeline.

virtual void cinder::TimelineItem::reverse ( )
pure virtual
virtual TimelineItemRef cinder::TimelineItem::clone ( ) const
pure virtual

Creates a clone of the item.

Implemented in cinder::Cue, cinder::Tween< T >, and cinder::Timeline.

virtual TimelineItemRef cinder::TimelineItem::cloneReverse ( ) const
pure virtual

Creates a cloned item which runs in reverse relative to a timeline of duration timelineDuration.

Implemented in cinder::Tween< T >, cinder::Cue, and cinder::Timeline.

void cinder::TimelineItem::stepTo ( float  time,
bool  reverse 
)

go to a specific time, generally called by the parent Timeline only. If reverse then playhead is interpreted as retreating rather than advancing.

TimelineItemRef cinder::TimelineItem::thisRef ( )
void cinder::TimelineItem::setDurationDirty ( )
protected
void cinder::TimelineItem::updateDuration ( ) const
protected
float cinder::TimelineItem::loopTime ( float  absTime)
protected

Converts time from absolute to absolute based on item's looping attributes.

void cinder::TimelineItem::setTarget ( void *  target)
protected

Friends And Related Function Documentation

friend class Timeline
friend

Member Data Documentation

class Timeline* cinder::TimelineItem::mParent
protected
void* cinder::TimelineItem::mTarget
protected
float cinder::TimelineItem::mStartTime
protected
bool cinder::TimelineItem::mHasStarted
protected
bool cinder::TimelineItem::mHasReverseStarted
protected
bool cinder::TimelineItem::mComplete
protected
bool cinder::TimelineItem::mReverseComplete
protected
bool cinder::TimelineItem::mMarkedForRemoval
protected
bool cinder::TimelineItem::mInfinite
protected
bool cinder::TimelineItem::mLoop
protected
bool cinder::TimelineItem::mPingPong
protected
bool cinder::TimelineItem::mUseAbsoluteTime
protected
bool cinder::TimelineItem::mAutoRemove
protected
int32_t cinder::TimelineItem::mLastLoopIteration
protected

The documentation for this class was generated from the following files: