diff options
author | Kurt Zenker <kz@openoffice.org> | 2006-12-13 14:18:27 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2006-12-13 14:18:27 +0000 |
commit | 9f3f2ace3310ba4f8dc2c66321adc3c373c8cfb3 (patch) | |
tree | 24b528219457e874fb97820bebe5b3de720db66e | |
parent | bae860d99ebd8748e48b5a00b7bf50bb9cba78d2 (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.hxx | 85 |
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 |