32 maTimer( rParms.mrActivitiesQueue.getTimer() ),
33 mnMinSimpleDuration( rParms.mnMinDuration ),
34 mnMinNumberOfFrames( rParms.mnMinNumberOfFrames ),
35 mnCurrPerformCalls( 0 )
56 SAL_INFO(
"slideshow.verbose",
"SimpleContinuousActivityBase::calcTimeLag(): "
57 "next step is based on time: " << nCurrElapsedTime );
68 const double nFractionElapsedTime(
74 const double nFractionRequiredCalls(
91 if( nFractionElapsedTime < nFractionRequiredCalls )
93 SAL_INFO(
"slideshow.verbose",
"SimpleContinuousActivityBase::calcTimeLag(): t=" <<
94 nFractionElapsedTime <<
100 SAL_INFO(
"slideshow.verbose",
"SimpleContinuousActivityBase::perform(): t=" <<
101 nFractionRequiredCalls <<
102 " is based on number of calls");
105 return ((nFractionElapsedTime - nFractionRequiredCalls)
132 bool bActivityEnding(
false );
147 if( nEffectiveRepeat <= nT )
152 bActivityEnding =
true;
155 nT = nEffectiveRepeat;
164 double nRelativeSimpleTime;
171 const double nFractionalActiveDuration( modf(nT, &nRepeats) );
175 if(
static_cast<int>(nRepeats) % 2 )
178 nRelativeSimpleTime = 1.0 - nFractionalActiveDuration;
183 nRelativeSimpleTime = nFractionalActiveDuration;
200 nRelativeSimpleTime = modf(nT, &nRepeats);
225 nRelativeSimpleTime = 1.0;
235 static_cast<sal_uInt32
>( nRepeats ) );
243 if( bActivityEnding )
Base class for animation activities.
virtual bool perform() override
From Activity interface.
double getRepeatCount() const
virtual bool isActive() const override
Query whether this activity is still continuing.
bool isAutoReverse() const
bool isRepeatCountValid() const
virtual double calcTimeLag() const override
Calculates whether the activity lags time.
void endActivity()
End this activity, in a regular way.
const double mnMinSimpleDuration
Simple duration of activity.
const sal_uInt32 mnMinNumberOfFrames
Minimal number of frames to show (see ActivityParameters)
sal_uInt32 mnCurrPerformCalls
Actual number of frames shown until now.
virtual void startAnimation() override
Hook for derived classes.
virtual void simplePerform(double nSimpleTime, sal_uInt32 nRepeatCount) const =0
Hook for derived classes.
virtual bool perform() override
From Activity interface.
virtual double calcTimeLag() const override
Calculates whether the activity lags time.
SimpleContinuousActivityBase(const ActivityParameters &rParms)
::canvas::tools::ElapsedTime maTimer
Time elapsed since activity started.
#define SAL_INFO(area, stream)
Parameter struct for animation activities.