LibreOffice Module slideshow (master) 1
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
slideshow::internal::DiscreteActivityBase Class Referenceabstract

Specialization of ActivityBase for discrete time activities. More...

#include <discreteactivitybase.hxx>

Inheritance diagram for slideshow::internal::DiscreteActivityBase:
[legend]
Collaboration diagram for slideshow::internal::DiscreteActivityBase:
[legend]

Public Member Functions

 DiscreteActivityBase (const ActivityParameters &rParms)
 
virtual void perform (sal_uInt32 nFrame, sal_uInt32 nRepeatCount) const =0
 Hook for derived classes. More...
 
virtual void dispose () override
 From Disposable interface. More...
 
virtual bool perform () override
 From Activity interface. More...
 
- Public Member Functions inherited from slideshow::internal::ActivityBase
 ActivityBase (const ActivityParameters &rParms)
 
virtual void dispose () override
 From Disposable interface. More...
 
virtual void setTargets (const AnimatableShapeSharedPtr &rShape, const ShapeAttributeLayerSharedPtr &rAttrLayer)=0
 Sets targets (shape and attributeLayer) More...
 
virtual bool perform ()=0
 Perform the activity associated with this interface's implementation. More...
 
virtual double calcTimeLag () const =0
 Calculates whether the activity lags time. More...
 
virtual bool isActive () const =0
 Query whether this activity is still continuing. More...
 
virtual void dequeued ()=0
 Notifies the Activity that it has now left the ActivitiesQueue. More...
 
virtual void end ()=0
 Forces this activity deactivate and get to its end state (if possible), but does not dispose. More...
 
- Public Member Functions inherited from slideshow::internal::Disposable
virtual ~Disposable ()
 
virtual void dispose ()=0
 Dispose all object references. More...
 
- Public Member Functions inherited from slideshow::internal::SharedPtrAble
virtual ~SharedPtrAble ()
 

Protected Member Functions

virtual void startAnimation () override
 Hook for derived classes. More...
 
sal_uInt32 calcFrameIndex (sal_uInt32 nCurrCalls, ::std::size_t nVectorSize) const
 
sal_uInt32 calcRepeatCount (sal_uInt32 nCurrCalls, ::std::size_t nVectorSize) const
 
::std::size_t getNumberOfKeyTimes () const
 
- Protected Member Functions inherited from slideshow::internal::ActivityBase
virtual bool perform () override
 From Activity interface. More...
 
virtual double calcTimeLag () const override
 Calculates whether the activity lags time. More...
 
virtual bool isActive () const override
 Query whether this activity is still continuing. More...
 
void endActivity ()
 End this activity, in a regular way. More...
 
double calcAcceleratedTime (double nT) const
 Modify fractional time. More...
 
bool isDisposed () const
 
EventQueuegetEventQueue () const
 
const AnimatableShapeSharedPtrgetShape () const
 
const ShapeAttributeLayerSharedPtrgetShapeAttributeLayer () const
 
bool isRepeatCountValid () const
 
double getRepeatCount () const
 
bool isAutoReverse () const
 

Private Attributes

WakeupEventSharedPtr mpWakeupEvent
 
const ::std::vector< double > maDiscreteTimes
 
const double mnSimpleDuration
 
sal_uInt32 mnCurrPerformCalls
 

Detailed Description

Specialization of ActivityBase for discrete time activities.

A discrete time activity is one where time proceeds in discrete steps, i.e. at given time instants.

Definition at line 36 of file discreteactivitybase.hxx.

Constructor & Destructor Documentation

◆ DiscreteActivityBase()

slideshow::internal::DiscreteActivityBase::DiscreteActivityBase ( const ActivityParameters rParms)
explicit

Definition at line 28 of file discreteactivitybase.cxx.

References ENSURE_OR_THROW, i, maDiscreteTimes, and mpWakeupEvent.

Member Function Documentation

◆ calcFrameIndex()

sal_uInt32 slideshow::internal::DiscreteActivityBase::calcFrameIndex ( sal_uInt32  nCurrCalls,
::std::size_t  nVectorSize 
) const
protected

Definition at line 69 of file discreteactivitybase.cxx.

References slideshow::internal::ActivityBase::isAutoReverse().

Referenced by perform().

◆ calcRepeatCount()

sal_uInt32 slideshow::internal::DiscreteActivityBase::calcRepeatCount ( sal_uInt32  nCurrCalls,
::std::size_t  nVectorSize 
) const
protected

Definition at line 91 of file discreteactivitybase.cxx.

References slideshow::internal::ActivityBase::isAutoReverse().

Referenced by perform().

◆ dispose()

void slideshow::internal::DiscreteActivityBase::dispose ( void  )
overridevirtual

From Disposable interface.

Reimplemented from slideshow::internal::ActivityBase.

Definition at line 179 of file discreteactivitybase.cxx.

References slideshow::internal::ActivityBase::dispose(), and mpWakeupEvent.

◆ getNumberOfKeyTimes()

::std::size_t slideshow::internal::DiscreteActivityBase::getNumberOfKeyTimes ( ) const
inlineprotected

Definition at line 66 of file discreteactivitybase.hxx.

References maDiscreteTimes.

◆ perform() [1/2]

bool slideshow::internal::DiscreteActivityBase::perform ( )
overridevirtual

◆ perform() [2/2]

virtual void slideshow::internal::DiscreteActivityBase::perform ( sal_uInt32  nFrame,
sal_uInt32  nRepeatCount 
) const
pure virtual

Hook for derived classes.

This method is called for each discrete time instant, with nFrame denoting the frame number (starting with 0)

Parameters
nFrameCurrent frame number.
nRepeatCountNumber of full repeats already performed

◆ startAnimation()

void slideshow::internal::DiscreteActivityBase::startAnimation ( )
overrideprotectedvirtual

Hook for derived classes.

This method will be called from the first perform() invocation, to signal the start of the activity.

Implements slideshow::internal::ActivityBase.

Definition at line 63 of file discreteactivitybase.cxx.

References mpWakeupEvent.

Member Data Documentation

◆ maDiscreteTimes

const ::std::vector< double > slideshow::internal::DiscreteActivityBase::maDiscreteTimes
private

Definition at line 70 of file discreteactivitybase.hxx.

Referenced by DiscreteActivityBase(), getNumberOfKeyTimes(), and perform().

◆ mnCurrPerformCalls

sal_uInt32 slideshow::internal::DiscreteActivityBase::mnCurrPerformCalls
private

Definition at line 72 of file discreteactivitybase.hxx.

Referenced by perform().

◆ mnSimpleDuration

const double slideshow::internal::DiscreteActivityBase::mnSimpleDuration
private

Definition at line 71 of file discreteactivitybase.hxx.

Referenced by perform().

◆ mpWakeupEvent

WakeupEventSharedPtr slideshow::internal::DiscreteActivityBase::mpWakeupEvent
private

Definition at line 69 of file discreteactivitybase.hxx.

Referenced by DiscreteActivityBase(), dispose(), perform(), and startAnimation().


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