LibreOffice Module slideshow (master) 1
Public Member Functions | Private Types | Private Attributes | List of all members
slideshow::internal::ActivitiesQueue Class Reference

This class handles the XSprite updates needed for animations, such as moves, scales etc. More...

#include <activitiesqueue.hxx>

Public Member Functions

 ActivitiesQueue (std::shared_ptr< ::canvas::tools::ElapsedTime > pPresTimer)
 Create an ActivitiesQueue. More...
 
 ~ActivitiesQueue ()
 
 ActivitiesQueue (const ActivitiesQueue &)=delete
 
ActivitiesQueueoperator= (const ActivitiesQueue &)=delete
 
bool addActivity (const ActivitySharedPtr &pActivity)
 Add the given activity to the queue. More...
 
bool addTailActivity (const ActivitySharedPtr &pActivity)
 Add the given activity prioritized last in the queue. More...
 
void process ()
 Process the activities queue. More...
 
void processDequeued ()
 Call all dequeued activities' dequeued() method. More...
 
bool isEmpty () const
 Query state of the queue. More...
 
void clear ()
 Remove all pending activities from the queue. More...
 
std::shared_ptr< ::canvas::tools::ElapsedTime > const & getTimer () const
 Gets the queue's timer object. More...
 

Private Types

typedef ::std::deque< ActivitySharedPtrActivityQueue
 

Private Attributes

std::shared_ptr< ::canvas::tools::ElapsedTimempTimer
 
ActivityQueue maCurrentActivitiesWaiting
 
ActivityQueue maCurrentTailActivitiesWaiting
 
ActivityQueue maCurrentActivitiesReinsert
 
ActivityQueue maDequeuedActivities
 

Detailed Description

This class handles the XSprite updates needed for animations, such as moves, scales etc.

You can add activity objects to this class, which are called in a round-robin fashion.

Definition at line 41 of file activitiesqueue.hxx.

Member Typedef Documentation

◆ ActivityQueue

Definition at line 94 of file activitiesqueue.hxx.

Constructor & Destructor Documentation

◆ ActivitiesQueue() [1/2]

slideshow::internal::ActivitiesQueue::ActivitiesQueue ( std::shared_ptr< ::canvas::tools::ElapsedTime pPresTimer)
explicit

Create an ActivitiesQueue.

Parameters
pPresTimerPointer to global presentation timer. Used for adjusting and holding global presentation time.

Definition at line 38 of file activitiesqueue.cxx.

◆ ~ActivitiesQueue()

slideshow::internal::ActivitiesQueue::~ActivitiesQueue ( )

◆ ActivitiesQueue() [2/2]

slideshow::internal::ActivitiesQueue::ActivitiesQueue ( const ActivitiesQueue )
delete

Member Function Documentation

◆ addActivity()

bool slideshow::internal::ActivitiesQueue::addActivity ( const ActivitySharedPtr pActivity)

◆ addTailActivity()

bool slideshow::internal::ActivitiesQueue::addTailActivity ( const ActivitySharedPtr pActivity)

Add the given activity prioritized last in the queue.

Definition at line 78 of file activitiesqueue.cxx.

References maCurrentTailActivitiesWaiting.

Referenced by slideshow::internal::AnimationPhysicsNode::enqueueActivity().

◆ clear()

void slideshow::internal::ActivitiesQueue::clear ( )

Remove all pending activities from the queue.

Definition at line 192 of file activitiesqueue.cxx.

References maCurrentActivitiesReinsert, and maCurrentActivitiesWaiting.

◆ getTimer()

std::shared_ptr< ::canvas::tools::ElapsedTime > const & slideshow::internal::ActivitiesQueue::getTimer ( ) const
inline

Gets the queue's timer object.

Definition at line 89 of file activitiesqueue.hxx.

References mpTimer.

◆ isEmpty()

bool slideshow::internal::ActivitiesQueue::isEmpty ( ) const

Query state of the queue.

Returns
false, if queue is empty, true otherwise

Definition at line 187 of file activitiesqueue.cxx.

References maCurrentActivitiesReinsert, and maCurrentActivitiesWaiting.

◆ operator=()

ActivitiesQueue & slideshow::internal::ActivitiesQueue::operator= ( const ActivitiesQueue )
delete

◆ process()

void slideshow::internal::ActivitiesQueue::process ( )

Process the activities queue.

This method performs the smallest atomic processing possible on the queue (typically, this means one activity get processed).

Definition at line 93 of file activitiesqueue.cxx.

References maCurrentActivitiesReinsert, maCurrentActivitiesWaiting, maCurrentTailActivitiesWaiting, maDequeuedActivities, mpTimer, SAL_INFO, SAL_WARN, and TOOLS_WARN_EXCEPTION.

◆ processDequeued()

void slideshow::internal::ActivitiesQueue::processDequeued ( )

Call all dequeued activities' dequeued() method.

Definition at line 179 of file activitiesqueue.cxx.

References maDequeuedActivities.

Member Data Documentation

◆ maCurrentActivitiesReinsert

ActivityQueue slideshow::internal::ActivitiesQueue::maCurrentActivitiesReinsert
private

Definition at line 104 of file activitiesqueue.hxx.

Referenced by clear(), isEmpty(), process(), and ~ActivitiesQueue().

◆ maCurrentActivitiesWaiting

ActivityQueue slideshow::internal::ActivitiesQueue::maCurrentActivitiesWaiting
private

Definition at line 96 of file activitiesqueue.hxx.

Referenced by addActivity(), clear(), isEmpty(), process(), and ~ActivitiesQueue().

◆ maCurrentTailActivitiesWaiting

ActivityQueue slideshow::internal::ActivitiesQueue::maCurrentTailActivitiesWaiting
private

Definition at line 101 of file activitiesqueue.hxx.

Referenced by addTailActivity(), process(), and ~ActivitiesQueue().

◆ maDequeuedActivities

ActivityQueue slideshow::internal::ActivitiesQueue::maDequeuedActivities
private

Definition at line 111 of file activitiesqueue.hxx.

Referenced by process(), and processDequeued().

◆ mpTimer

std::shared_ptr< ::canvas::tools::ElapsedTime > slideshow::internal::ActivitiesQueue::mpTimer
private

Definition at line 92 of file activitiesqueue.hxx.

Referenced by getTimer(), and process().


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