LibreOffice Module slideshow (master) 1
|
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 | |
ActivitiesQueue & | operator= (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< ActivitySharedPtr > | ActivityQueue |
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.
|
private |
Definition at line 94 of file activitiesqueue.hxx.
|
explicit |
Create an ActivitiesQueue.
pPresTimer | Pointer to global presentation timer. Used for adjusting and holding global presentation time. |
Definition at line 38 of file activitiesqueue.cxx.
slideshow::internal::ActivitiesQueue::~ActivitiesQueue | ( | ) |
Definition at line 47 of file activitiesqueue.cxx.
References maCurrentActivitiesReinsert, maCurrentActivitiesWaiting, maCurrentTailActivitiesWaiting, and TOOLS_WARN_EXCEPTION.
|
delete |
bool slideshow::internal::ActivitiesQueue::addActivity | ( | const ActivitySharedPtr & | pActivity | ) |
Add the given activity to the queue.
Definition at line 65 of file activitiesqueue.cxx.
References maCurrentActivitiesWaiting.
Referenced by slideshow::internal::AnimationBaseNode::enqueueActivity(), slideshow::internal::RehearseTimingsActivity::WakeupEvent::fire(), and slideshow::internal::RehearseTimingsActivity::start().
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().
void slideshow::internal::ActivitiesQueue::clear | ( | ) |
Remove all pending activities from the queue.
Definition at line 192 of file activitiesqueue.cxx.
References maCurrentActivitiesReinsert, and maCurrentActivitiesWaiting.
|
inline |
Gets the queue's timer object.
Definition at line 89 of file activitiesqueue.hxx.
References mpTimer.
bool slideshow::internal::ActivitiesQueue::isEmpty | ( | ) | const |
Query state of the queue.
Definition at line 187 of file activitiesqueue.cxx.
References maCurrentActivitiesReinsert, and maCurrentActivitiesWaiting.
|
delete |
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.
void slideshow::internal::ActivitiesQueue::processDequeued | ( | ) |
Call all dequeued activities' dequeued() method.
Definition at line 179 of file activitiesqueue.cxx.
References maDequeuedActivities.
|
private |
Definition at line 104 of file activitiesqueue.hxx.
Referenced by clear(), isEmpty(), process(), and ~ActivitiesQueue().
|
private |
Definition at line 96 of file activitiesqueue.hxx.
Referenced by addActivity(), clear(), isEmpty(), process(), and ~ActivitiesQueue().
|
private |
Definition at line 101 of file activitiesqueue.hxx.
Referenced by addTailActivity(), process(), and ~ActivitiesQueue().
|
private |
Definition at line 111 of file activitiesqueue.hxx.
Referenced by process(), and processDequeued().
|
private |
Definition at line 92 of file activitiesqueue.hxx.
Referenced by getTimer(), and process().