summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2007-07-17 14:01:06 +0000
committerOliver Bolte <obo@openoffice.org>2007-07-17 14:01:06 +0000
commit9d51c382bf3f861d724f3e750a899be6a2365f72 (patch)
tree1e6d69b09bf41535b9c44255034f826274a0d32c
parent556059fca1aebbcdb4c48ded69f92dd382a6484a (diff)
INTEGRATION: CWS presfixes12 (1.7.12); FILE MERGED
2007/01/29 14:02:18 thb 1.7.12.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
-rw-r--r--slideshow/source/inc/activitiesqueue.hxx31
1 files changed, 15 insertions, 16 deletions
diff --git a/slideshow/source/inc/activitiesqueue.hxx b/slideshow/source/inc/activitiesqueue.hxx
index 46822175e..9db223119 100644
--- a/slideshow/source/inc/activitiesqueue.hxx
+++ b/slideshow/source/inc/activitiesqueue.hxx
@@ -4,9 +4,9 @@
*
* $RCSfile: activitiesqueue.hxx,v $
*
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
*
- * last change: $Author: kz $ $Date: 2006-12-13 15:50:23 $
+ * last change: $Author: obo $ $Date: 2007-07-17 15:01:06 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -33,14 +33,13 @@
*
************************************************************************/
-#ifndef _SLIDESHOW_ACTIVITIESQUEUE_HXX
-#define _SLIDESHOW_ACTIVITIESQUEUE_HXX
+#ifndef INCLUDED_SLIDESHOW_ACTIVITIESQUEUE_HXX
+#define INCLUDED_SLIDESHOW_ACTIVITIESQUEUE_HXX
#include <deque>
#include "activity.hxx"
#include "unoviewcontainer.hxx"
-#include "eventmultiplexer.hxx"
#include <canvas/elapsedtime.hxx>
@@ -67,15 +66,9 @@ namespace slideshow
@param pPresTimer
Pointer to global presentation timer. Used for
adjusting and holding global presentation time.
-
- @param rEventMultiplexer
- Handles screen updates for us, when a full round of
- activities has been performed.
*/
ActivitiesQueue(
- const ::boost::shared_ptr< ::canvas::tools::ElapsedTime >& pPresTimer,
- EventMultiplexer& rEventMultiplexer );
-
+ const ::boost::shared_ptr< ::canvas::tools::ElapsedTime >& pPresTimer );
~ActivitiesQueue();
/** Add the given activity to the queue.
@@ -90,6 +83,10 @@ namespace slideshow
*/
void process();
+ /** Call all dequeued activities' dequeued() method
+ */
+ void processDequeued();
+
/** Query state of the queue
@return false, if queue is empty, true otherwise
@@ -122,11 +119,13 @@ namespace slideshow
// to be reinserted next
// round
- EventMultiplexer& mrEventMultiplexer;
-
- bool mbCurrentRoundNeedsScreenUpdate;
+ ActivityQueue maDequeuedActivities; // This list collects all activities which did not request
+ // a reinsertion. After the screen update has been
+ // performed, those are notified via dequeued(). This
+ // facilitates cleanup actions taking place _after_ the
+ // current frame has been displayed.
};
}
}
-#endif /* _SLIDESHOW_ACTIVITIESQUEUE_HXX */
+#endif /* INCLUDED_SLIDESHOW_ACTIVITIESQUEUE_HXX */