summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2006-12-13 14:18:27 +0000
committerKurt Zenker <kz@openoffice.org>2006-12-13 14:18:27 +0000
commit9f3f2ace3310ba4f8dc2c66321adc3c373c8cfb3 (patch)
tree24b528219457e874fb97820bebe5b3de720db66e
parentbae860d99ebd8748e48b5a00b7bf50bb9cba78d2 (diff)
INTEGRATION: CWS presfixes09 (1.7.16); FILE MERGED
2006/04/24 13:25:25 thb 1.7.16.3: #i53194# Unified include statements (local headers always have double quotes; external headers angle brackets); reverted EventMultiplexer pause events to shared_ptr; removed EventMultiplexer::removeViewHandler(), since the handler is held weakly, anyway. 2006/04/03 16:18:57 thb 1.7.16.2: #i37778# Now passing down ComponentContext to all interested parties; building a second, all-exports version of the slideshow component (to facilitate unit testing also for internal classes) - this made necessary renaming ImportFailedException to ShapeLoadFailedException (because of silly i63703); applied relevant parts of #i63770# (const-correctness); reworked view handling in such a way that views are now kept in one central repository (and are not duplicated across all interested objects); moved code from namespace presentation to namespace slideshow 2006/03/24 18:23:09 thb 1.7.16.1: #i37778# Moved whole slideshow engine from namespace presentation (which conflicts with one of the UNO subnamespaces) to slideshow
-rw-r--r--slideshow/source/engine/rehearsetimingsactivity.hxx85
1 files changed, 46 insertions, 39 deletions
diff --git a/slideshow/source/engine/rehearsetimingsactivity.hxx b/slideshow/source/engine/rehearsetimingsactivity.hxx
index a6ae42e98bbf..6567e1a1d73e 100644
--- a/slideshow/source/engine/rehearsetimingsactivity.hxx
+++ b/slideshow/source/engine/rehearsetimingsactivity.hxx
@@ -4,9 +4,9 @@
*
* $RCSfile: rehearsetimingsactivity.hxx,v $
*
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
*
- * last change: $Author: obo $ $Date: 2005-10-11 08:34:59 $
+ * last change: $Author: kz $ $Date: 2006-12-13 15:18:27 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -36,34 +36,42 @@
#if ! defined(REHEARSETIMINGSACTIVITY_HXX_INCLUDED)
#define REHEARSETIMINGSACTIVITY_HXX_INCLUDED
+#include <canvas/elapsedtime.hxx>
+#include <cppcanvas/customsprite.hxx>
+#include <basegfx/range/b2drectangle.hxx>
+#include <basegfx/vector/b2isize.hxx>
+#include <vcl/font.hxx>
+
#include "activity.hxx"
#include "wakeupevent.hxx"
-#include "canvas/elapsedtime.hxx"
-#include "cppcanvas/customsprite.hxx"
-#include "basegfx/range/b2drectangle.hxx"
-#include "vcl/font.hxx"
-#include "boost/shared_ptr.hpp"
-#include "boost/bind.hpp"
-#include "boost/utility.hpp" // for noncopyable
+
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/bind.hpp>
+#include <boost/utility.hpp>
#include <vector>
#include <algorithm>
-namespace presentation {
+namespace slideshow {
namespace internal {
class EventQueue;
class ActivitiesQueue;
class EventMultiplexer;
-class RehearseTimingsActivity : public Activity, private ::boost::noncopyable
+class RehearseTimingsActivity : public Activity,
+ public ViewEventHandler,
+ public boost::enable_shared_from_this<RehearseTimingsActivity>,
+ private ::boost::noncopyable
{
public:
/** Creates the activity.
*/
static boost::shared_ptr<RehearseTimingsActivity> create(
- EventQueue & rEventQueue,
- EventMultiplexer & rEventMultiplexer,
- ActivitiesQueue & rActivitiesQueue );
+ EventQueue& rEventQueue,
+ EventMultiplexer& rEventMultiplexer,
+ ActivitiesQueue& rActivitiesQueue,
+ const UnoViewContainer& rViewContainer );
/** Starts and shows the timer; adds to activity queue.
*/
@@ -78,13 +86,10 @@ public:
*/
bool hasBeenClicked() const;
- /** Adds a view for timer display.
- */
- void addView( UnoViewSharedPtr const & rView );
-
- void removeView( UnoViewSharedPtr const & rView );
-
- void notifyViewChange();
+ // ViewEventHandler interface
+ virtual void viewAdded( const UnoViewSharedPtr& rView );
+ virtual void viewRemoved( const UnoViewSharedPtr& rView );
+ virtual void viewChanged( const UnoViewSharedPtr& rView );
// Disposable:
virtual void dispose();
@@ -97,10 +102,10 @@ public:
virtual void end();
private:
- RehearseTimingsActivity(
- EventQueue & rEventQueue,
- EventMultiplexer & rEventMultiplexer,
- ActivitiesQueue & rActivitiesQueue );
+ RehearseTimingsActivity( EventQueue& rEventQueue,
+ EventMultiplexer& rEventMultiplexer,
+ ActivitiesQueue& rActivitiesQueue,
+ const UnoViewContainer& rViewContainer );
void paint( ::cppcanvas::CanvasSharedPtr const & canvas ) const;
void paintAllSprites() const;
@@ -108,16 +113,9 @@ private:
class MouseHandler;
friend class MouseHandler;
- EventQueue & m_rEventQueue;
- EventMultiplexer & m_rEventMultiplexer;
- ActivitiesQueue & m_rActivitiesQueue;
- boost::shared_ptr<RehearseTimingsActivity> m_this;
- canvas::tools::ElapsedTime m_elapsedTime;
-
typedef ::std::vector<
::std::pair<UnoViewSharedPtr,
cppcanvas::CustomSpriteSharedPtr> > ViewsVecT;
- ViewsVecT m_views;
template <typename func_type>
void for_each_sprite( func_type const & func ) const
@@ -128,17 +126,26 @@ private:
func( iPos->second );
}
- ::basegfx::B2DRectangle m_spriteRectangle;
::basegfx::B2DRectangle calcSpriteRectangle(
UnoViewSharedPtr const & rView ) const;
- Font m_font;
- WakeupEventSharedPtr m_wakeUpEvent;
+ EventQueue& m_rEventQueue;
+ EventMultiplexer& m_rEventMultiplexer;
+ ActivitiesQueue& m_rActivitiesQueue;
+ canvas::tools::ElapsedTime m_elapsedTime;
+
+ ViewsVecT m_views;
+
+ /// screen rect of sprite (in view coordinates!)
+ ::basegfx::B2DRectangle m_spriteRectangle;
+
+ Font m_font;
+ WakeupEventSharedPtr m_wakeUpEvent;
boost::shared_ptr<MouseHandler> m_mouseHandler;
- long m_nYOffset;
- Size m_spriteSizePixel;
- bool m_bActive;
- bool m_drawPressed;
+ ::basegfx::B2ISize m_spriteSizePixel;
+ sal_Int32 m_nYOffset;
+ bool m_bActive;
+ bool m_drawPressed;
};
} // namespace internal