INTEGRATION: CWS presfixes01 (1.2.6); FILE MERGED

2005/03/03 14:17:29 thb 1.2.6.2: #i43927# Slightly changed the way updateScreen() is handled: since just lately, there were several places introduced which had to call View::updateScreen() manually (RehearsetimtinActivity, WaitSymbol, etc.). Together with the recent change regarding #i42499#, this resulted in the unfortunate situation that LayerManager::update() was not called before updateScreen(). Now, the view update is centrally handled by the EventMultiplexer (which also knows the LayerManager), I've therefore changed all direct calls to View::updateScreen() to EventMultiplexer::updateScreenContent()
2005/02/15 12:45:10 thb 1.2.6.1: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
This commit is contained in:
Vladimir Glazounov
2005-03-10 12:54:25 +00:00
parent d71cd2b035
commit b4433c8266

View File

@@ -2,9 +2,9 @@
*
* $RCSfile: eventmultiplexer.hxx,v $
*
* $Revision: 1.2 $
* $Revision: 1.3 $
*
* last change: $Author: rt $ $Date: 2004-11-26 19:15:59 $
* last change: $Author: vg $ $Date: 2005-03-10 13:54:25 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -90,10 +90,12 @@
#include <animationeventhandler.hxx>
#include <pauseeventhandler.hxx>
#include <layermanager.hxx>
#include <animationnode.hxx>
#include <eventqueue.hxx>
#include <unoview.hxx>
#include <boost/weak_ptr.hpp>
#include <vector>
@@ -182,6 +184,31 @@ namespace presentation
*/
void setVolatileMouseCursor( sal_Int16 );
/** Set a LayerManager for update() calls.
A LayerManager set via this method will receive an
update() call whenever updateScreen() is called on the
EventMultiplexer. This is handy to avoid multiple
redraws. Note that every setLayerManager() call will
overwrite any previously set.
*/
void setLayerManager( const LayerManagerSharedPtr& rMgr );
/** Update screen content
This method updates the screen content, by first
updating all layers (if setLayerManager() was called
with a valid layer manager previously), and then
calling updateScreen() on all registered views.
@param bForceUpdate
Force updateScreen() call, even if layer manager has
no updates pending. Set this parameter to true, if you
changed screen content or sprites and bypassed the
layer manager.
*/
void updateScreenContent( bool bForceUpdate );
// Automatic mode methods
// =========================================================
@@ -503,6 +530,9 @@ namespace presentation
void setMouseCursor( sal_Int16 );
void setVolatileMouseCursor( sal_Int16 );
void setLayerManager( const LayerManagerSharedPtr& rMgr );
void updateScreenContent( bool bForceUpdate );
void setAutomaticMode( bool bIsAuto );
bool getAutomaticMode() const;
void setAutomaticTimeout( double nTimeout );
@@ -641,28 +671,38 @@ namespace presentation
void implSetMouseCursor( sal_Int16 ) const;
EventQueue& mrEventQueue;
UnoViewVector maViews;
EventQueue& mrEventQueue;
UnoViewVector maViews;
ImplEventHandlers maNextEffectHandlers;
ImplEventHandlers maSlideStartHandlers;
ImplEventHandlers maSlideEndHandlers;
ImplAnimationHandlers maAnimationStartHandlers;
ImplAnimationHandlers maAnimationEndHandlers;
ImplEventHandlers maSlideAnimationsEndHandlers;
ImplAnimationHandlers maAudioStoppedHandlers;
ImplPauseHandlers maPauseHandlers;
ImplMouseHandlers maMouseClickHandlers;
ImplMouseHandlers maMouseDoubleClickHandlers;
ImplMouseHandlers maMouseMoveHandlers;
ImplEventHandlers maNextEffectHandlers;
ImplEventHandlers maSlideStartHandlers;
ImplEventHandlers maSlideEndHandlers;
ImplAnimationHandlers maAnimationStartHandlers;
ImplAnimationHandlers maAnimationEndHandlers;
ImplEventHandlers maSlideAnimationsEndHandlers;
ImplAnimationHandlers maAudioStoppedHandlers;
ImplPauseHandlers maPauseHandlers;
ImplMouseHandlers maMouseClickHandlers;
ImplMouseHandlers maMouseDoubleClickHandlers;
ImplMouseHandlers maMouseMoveHandlers;
double mnTimeout;
LayerManagerSharedPtr mpLayerManager; // for screen updates
sal_Int16 mnMouseCursor;
sal_Int16 mnVolatileMouseCursor;
sal_Int16 mnLastVolatileMouseCursor;
double mnTimeout;
bool mbIsAutoMode;
/** Holds ptr to optional tick event weakly
When event queue is cleansed, the next
setAutomaticMode(true) call is then able to
regenerate the event.
*/
::boost::weak_ptr< Event > mpTickEvent;
sal_Int16 mnMouseCursor;
sal_Int16 mnVolatileMouseCursor;
sal_Int16 mnLastVolatileMouseCursor;
bool mbIsAutoMode;
};