31 maDiscreteTimes( rParms.maDiscreteTimes ),
32 mnSimpleDuration( rParms.mnMinDuration ),
33 mnCurrPerformCalls( 0 )
36 "DiscreteActivityBase::DiscreteActivityBase(): Invalid wakeup event" );
39 "DiscreteActivityBase::DiscreteActivityBase(): time vector is empty, why do you create me?" );
52 ENSURE_OR_THROW(
false,
"DiscreteActivityBase::DiscreteActivityBase(): time values not within [0,1] range!" );
56 ENSURE_OR_THROW(
false,
"DiscreteActivityBase::DiscreteActivityBase(): time vector is not sorted in ascending order!" );
70 ::std::size_t nVectorSize )
const
76 sal_uInt32 nFrameIndex( nCurrCalls % (2*nVectorSize) );
80 if( nFrameIndex >= nVectorSize )
81 nFrameIndex = 2*nVectorSize - nFrameIndex;
87 return nCurrCalls % nVectorSize ;
92 ::std::size_t nVectorSize )
const
95 return nCurrCalls / (2*nVectorSize);
97 return nCurrCalls / nVectorSize;
162 nVectorSize ) ] ) ) );
Base class for animation activities.
virtual bool perform() override
From Activity interface.
double getRepeatCount() const
EventQueue & getEventQueue() const
bool isAutoReverse() const
virtual void dispose() override
From Disposable interface.
bool isRepeatCountValid() const
void endActivity()
End this activity, in a regular way.
double calcAcceleratedTime(double nT) const
Modify fractional time.
sal_uInt32 mnCurrPerformCalls
sal_uInt32 calcFrameIndex(sal_uInt32 nCurrCalls, ::std::size_t nVectorSize) const
virtual void dispose() override
From Disposable interface.
virtual void startAnimation() override
Hook for derived classes.
const double mnSimpleDuration
const ::std::vector< double > maDiscreteTimes
DiscreteActivityBase(const ActivityParameters &rParms)
virtual bool perform() override
From Activity interface.
sal_uInt32 calcRepeatCount(sal_uInt32 nCurrCalls, ::std::size_t nVectorSize) const
WakeupEventSharedPtr mpWakeupEvent
bool addEvent(const EventSharedPtr &event)
Add the given event to the queue.
#define ENSURE_OR_THROW(c, m)
WakeupEventSharedPtr mpWakeupEvent
Parameter struct for animation activities.