You.i Engine
YiTimelineGroup.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_TIMELINE_GROUP_H_
3 #define _YI_TIMELINE_GROUP_H_
4 
6 
7 class CYITimelineGroupPriv;
8 
26 {
27 public:
28  virtual ~CYITimelineGroup();
29 
34  void AddTimeline(CYIAbstractTimeline *pTimeline);
39  void AddTimelineWithOffset(CYIAbstractTimeline *pTimeline, uint64_t uMillis);
40 
44  uint32_t GetTimelineCount() const;
45 
49  std::vector<CYIAbstractTimeline*> GetTimelines() const;
50 
56  std::vector<std::pair<CYIAbstractTimeline *, uint64_t>> GetTimelinesWithOffsets(CYIAbstractTimeline::DIRECTION eDirection = CYIAbstractTimeline::FORWARD) const;
57 
66 
70  void RemoveTimeline(CYIAbstractTimeline *pTimeline);
71  void RemoveAllTimelines();
72 
76  void RemoveTimelinesIf(const std::function<bool(CYIAbstractTimeline *)> &predicate);
77 
82  void UpdateOffsetOfTimeline(const CYIAbstractTimeline *pTimeline, uint64_t uMillis);
83 
85 
86 protected:
87  CYITimelineGroup(CYITimelineGroupPriv *pPriv);
88 
89 private:
91  CYITimelineGroup &operator =(const CYITimelineGroup &);
92 
94 };
95 
100 #endif /*_YI_TIMELINE_GROUP_H_*/
The base class for the timeline framework.
Definition: YiAbstractTimeline.h:29
void RemoveTimeline(CYIAbstractTimeline *pTimeline)
DIRECTION
Definition: YiAbstractTimeline.h:64
Definition: YiAbstractTimeline.h:66
virtual ~CYITimelineGroup()
void AddTimelineWithOffset(CYIAbstractTimeline *pTimeline, uint64_t uMillis)
void RemoveAllTimelines()
The base class for types of timeline groups.
Definition: YiTimelineGroup.h:25
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
CYISignal< CYIAbstractTimeline * > ChildTimelineCompleted
called whenever execution of one of the contained timelines completes normally
Definition: YiTimelineGroup.h:84
void UpdateOffsetOfTimeline(const CYIAbstractTimeline *pTimeline, uint64_t uMillis)
uint64_t GetTimelineOffset(CYIAbstractTimeline *pTimeline, CYIAbstractTimeline::DIRECTION eDirection=CYIAbstractTimeline::FORWARD) const
std::vector< std::pair< CYIAbstractTimeline *, uint64_t > > GetTimelinesWithOffsets(CYIAbstractTimeline::DIRECTION eDirection=CYIAbstractTimeline::FORWARD) const
std::vector< CYIAbstractTimeline * > GetTimelines() const
void RemoveTimelinesIf(const std::function< bool(CYIAbstractTimeline *)> &predicate)
uint32_t GetTimelineCount() const
CYITimelineGroup(CYITimelineGroupPriv *pPriv)
void AddTimeline(CYIAbstractTimeline *pTimeline)