Base interface for anything that can go on a Timeline. More...
#include <TimelineItem.h>
Public Member Functions | |
TimelineItem (class Timeline *parent=0) | |
TimelineItem (class Timeline *parent, void *target, float startTime, float duration) | |
virtual | ~TimelineItem () |
void * | getTarget () const |
Returns the item's target pointer. More... | |
float | getStartTime () const |
Returns the item's start time. More... | |
void | setStartTime (float newTime) |
Set the items's start time to newTime. More... | |
float | getDuration () const |
Returns the item's duration. More... | |
void | setDuration (float newDuration) |
Sets the item's duration to newDuration. More... | |
bool | getLoop () const |
Returns whether the item starts over when it is complete. More... | |
void | setLoop (bool doLoop=true) |
Sets whether the item starts over when it is complete. More... | |
bool | getPingPong () const |
Returns whether the item alternates between forward and reverse. Overrides loop when true. More... | |
void | setPingPong (bool pingPong=true) |
Sets whether the item alternates between forward and reverse. Overrides loop when true. More... | |
bool | getInfinite () const |
Returns whether the item ever is marked as complete. More... | |
void | setInfinite (bool infinite=true) |
Sets whether the item ever is marked as complete. More... | |
float | getEndTime () const |
Returns the time of the item's competion, equivalent to getStartTime() + getDuration(). More... | |
class Timeline * | getParent () const |
Returns a pointer to the item's parent Timeline. More... | |
void | removeSelf () |
Removes the item from its parent Timeline. More... | |
virtual void | reset (bool unsetStarted=false) |
Marks the item as not completed, and if unsetStarted, marks the item as not started. More... | |
bool | hasStarted () const |
Returns whether the item has started. More... | |
bool | isComplete () |
Returns whether the item has completed. More... | |
bool | getAutoRemove () const |
Should the item remove itself from the Timeline when it is complete. More... | |
void | setAutoRemove (bool autoRemove=true) |
Sets whether the item will remove itself from the Timeline when it is complete. More... | |
virtual void | start (bool reverse)=0 |
virtual void | loopStart () |
virtual void | update (float relativeTime)=0 |
virtual void | complete (bool reverse)=0 |
virtual bool | updateAtLoopStart () |
Call update() only at the beginning of each loop (for example Cues exhibit require this behavior) More... | |
virtual float | calcDuration () const |
virtual void | reverse ()=0 |
virtual TimelineItemRef | clone () const =0 |
Creates a clone of the item. More... | |
virtual TimelineItemRef | cloneReverse () const =0 |
Creates a cloned item which runs in reverse relative to a timeline of duration timelineDuration. More... | |
void | 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. More... | |
TimelineItemRef | thisRef () |
Protected Member Functions | |
void | setDurationDirty () |
void | updateDuration () const |
float | loopTime (float absTime) |
Converts time from absolute to absolute based on item's looping attributes. More... | |
void | setTarget (void *target) |
Protected Attributes | |
class Timeline * | mParent |
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 |
Base interface for anything that can go on a Timeline.
cinder::TimelineItem::TimelineItem | ( | class Timeline * | parent = 0 | ) |
cinder::TimelineItem::TimelineItem | ( | class Timeline * | parent, |
void * | target, | ||
float | startTime, | ||
float | duration | ||
) |
|
virtual |
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.
|
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.
|
pure virtual |
Implemented in cinder::Tween< T >, cinder::Cue, and cinder::Timeline.
|
virtual |
Reimplemented in cinder::Cue, and cinder::Timeline.
|
pure virtual |
Implemented in cinder::FnTween< T >, cinder::Tween< T >, cinder::Cue, and cinder::Timeline.
|
pure virtual |
Implemented in cinder::Cue, cinder::Timeline, and cinder::TweenBase.
|
virtual |
Call update() only at the beginning of each loop (for example Cues exhibit require this behavior)
Reimplemented in cinder::Cue.
|
virtual |
Reimplemented in cinder::Timeline.
|
pure virtual |
Implemented in cinder::Cue, cinder::Tween< T >, and cinder::Timeline.
|
pure virtual |
Creates a clone of the item.
Implemented in cinder::Cue, cinder::Tween< T >, and cinder::Timeline.
|
pure virtual |
Creates a cloned item which runs in reverse relative to a timeline of duration timelineDuration.
Implemented in cinder::Cue, cinder::Tween< T >, 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 | ( | ) |
|
protected |
|
protected |
|
protected |
Converts time from absolute to absolute based on item's looping attributes.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |