19#ifndef INCLUDED_SLIDESHOW_SOURCE_INC_EVENTMULTIPLEXER_HXX
20#define INCLUDED_SLIDESHOW_SOURCE_INC_EVENTMULTIPLEXER_HXX
30#include <com/sun/star/uno/Reference.hxx>
34namespace basegfx {
class B2DPoint; }
41class UnoViewContainer;
44struct EventMultiplexerImpl;
490 void notifyViewClobbered(
const css::uno::Reference<css::presentation::XSlideShowView>& xView );
660 std::unique_ptr<EventMultiplexerImpl>
mpImpl;
This class multiplexes user-activated and slide-show global events.
void removeClickHandler(const MouseEventHandlerSharedPtr &rHandler)
void setAutomaticTimeout(double nTimeout)
Set the timeout for automatic mode.
void notifyViewChanged(const UnoViewSharedPtr &rView)
View changed.
void addAnimationStartHandler(const AnimationEventHandlerSharedPtr &rHandler)
Register an event handler that will be called when an XAnimationNode starts its active duration.
void addHyperlinkHandler(const HyperlinkHandlerSharedPtr &rHandler, double nPriority)
Registers a hyperlink click handler.
bool notifyAudioStopped(const AnimationNodeSharedPtr &rNode)
Notify that for the given node, audio output has stopped.
void removeMouseMoveHandler(const MouseEventHandlerSharedPtr &rHandler)
void notifyViewRemoved(const UnoViewSharedPtr &rView)
View removed.
double getAutomaticTimeout() const
Get automatic mode timeout value.
void addClickHandler(const MouseEventHandlerSharedPtr &rHandler, double nPriority)
Register a mouse handler that is called on mouse click.
void addMouseMoveHandler(const MouseEventHandlerSharedPtr &rHandler, double nPriority)
Register a mouse handler that is called for mouse moves.
void removeSlideAnimationsEndHandler(const EventHandlerSharedPtr &rHandler)
void addCommandStopAudioHandler(const AnimationEventHandlerSharedPtr &rHandler)
Register an event handler that will be called when an XCommand node's with the command STOPAUDIO is a...
void removeAnimationEndHandler(const AnimationEventHandlerSharedPtr &rHandler)
EventMultiplexer(EventQueue &rEventQueue, UnoViewContainer const &rViewContainer)
Create an event multiplexer.
void notifyUserPaintStrokeWidth(double rUserStrokeWidth)
Notify a new user paint width.
void clear()
Clear all registered handlers.
void removeSlideEndHandler(const EventHandlerSharedPtr &rHandler)
void removeViewRepaintHandler(const ViewRepaintHandlerSharedPtr &rHandler)
void removeViewHandler(const ViewEventHandlerWeakPtr &rHandler)
void removePauseHandler(const PauseEventHandlerSharedPtr &rHandler)
void addSlideEndHandler(const EventHandlerSharedPtr &rHandler)
Register an event handler that will be called when the slide is about to vanish.
void notifyUserPaintColor(RGBColor const &rUserColor)
Notify a new user paint color.
void addSlideStartHandler(const EventHandlerSharedPtr &rHandler)
Register an event handler that will be called when the slide is just shown.
void notifyEraseAllInk(bool bEraseAllInk)
Notify a new user paint erase all ink mode.
basegfx::B2DPoint toNormalPoint(css::uno::Reference< css::uno::XInterface > xInterface, basegfx::B2DPoint pnt)
void addSlideAnimationsEndHandler(const EventHandlerSharedPtr &rHandler)
Register an event handler that will be called when the main animation sequence of a slide ends its ac...
void removeAudioStoppedHandler(const AnimationEventHandlerSharedPtr &rHandler)
bool notifyAnimationStart(const AnimationNodeSharedPtr &rNode)
Notify that the given node enters its active duration.
void notifyPauseMode(bool bPauseShow)
Notify that the show has entered or exited pause mode.
void notifySwitchEraserMode()
void notifyUserPaintDisabled()
Notify that user paint is disabled.
void removeDoubleClickHandler(const MouseEventHandlerSharedPtr &rHandler)
void notifyViewAdded(const UnoViewSharedPtr &rView)
View added.
bool notifyCommandStopAudio(const AnimationNodeSharedPtr &rNode)
Notify that all audio has to be stopped.
bool getAutomaticMode() const
Get automatic mode setting.
bool notifySlideEndEvent()
Notify that a slide has ended.
void notifySlideStartEvent()
Notify that a new slide has started.
void notifyViewChanged(const css::uno::Reference< css::presentation::XSlideShowView > &xView)
View changed.
void addViewHandler(const ViewEventHandlerWeakPtr &rHandler)
Register an event handler that will be called when views are changed.
EventMultiplexer(const EventMultiplexer &)=delete
std::unique_ptr< EventMultiplexerImpl > mpImpl
void addNextEffectHandler(const EventHandlerSharedPtr &rHandler, double nPriority)
Register an event handler that will be called when the user requests the next effect.
bool notifyNextEffect()
Notify that the user requested the next effect.
void notifyViewClobbered(const css::uno::Reference< css::presentation::XSlideShowView > &xView)
View clobbered.
void addPauseHandler(const PauseEventHandlerSharedPtr &rHandler)
Register a handler that is called when the show enters or exits pause mode.
void notifyViewsChanged()
All Views changed.
void addDoubleClickHandler(const MouseEventHandlerSharedPtr &rHandler, double nPriority)
Register a mouse handler that is called on a double mouse click.
void removeSlideStartHandler(const EventHandlerSharedPtr &rHandler)
basegfx::B2DPoint toMatrixPoint(css::uno::Reference< css::uno::XInterface > xInterface, basegfx::B2DPoint pnt)
void removeNextEffectHandler(const EventHandlerSharedPtr &rHandler)
void addViewRepaintHandler(const ViewRepaintHandlerSharedPtr &rHandler)
Register an event handler that will be called when a view gets clobbered.
void addAnimationEndHandler(const AnimationEventHandlerSharedPtr &rHandler)
Register an event handler that will be called when an XAnimationNode ends its active duration.
void notifyEraseInkWidth(sal_Int32 rEraseInkSize)
void notifyShapeListenerAdded(const css::uno::Reference< css::drawing::XShape > &xShape)
New shape event listener added.
bool notifySlideAnimationsEnd()
Notify that the slide animations sequence leaves its active duration.
void addShapeListenerHandler(const ShapeListenerEventHandlerSharedPtr &rHandler)
Register an event handler that will be called when XShapeListeners are changed.
void removeHyperlinkHandler(const HyperlinkHandlerSharedPtr &rHandler)
void notifyShapeListenerRemoved(const css::uno::Reference< css::drawing::XShape > &xShape)
A shape event listener was removed.
void removeShapeListenerHandler(const ShapeListenerEventHandlerSharedPtr &rHandler)
void setAutomaticMode(bool bIsAuto)
Change automatic mode.
void removeAnimationStartHandler(const AnimationEventHandlerSharedPtr &rHandler)
EventMultiplexer & operator=(const EventMultiplexer &)=delete
void removeCommandStopAudioHandler(const AnimationEventHandlerSharedPtr &rHandler)
void addAudioStoppedHandler(const AnimationEventHandlerSharedPtr &rHandler)
Register an event handler that will be called when an XAudio node's sound stops playing.
void notifyHyperlinkClicked(OUString const &hyperLink)
Notifies that a hyperlink has been clicked.
bool notifyAnimationEnd(const AnimationNodeSharedPtr &rNode)
Notify that the given node leaves its active duration.
void addUserPaintHandler(const UserPaintEventHandlerSharedPtr &rHandler)
Register an event handler that will be called when user paint parameters change.
void notifySwitchPenMode()
This class handles events in a presentation.
Interface for handling hyperlink clicks.
virtual bool handleHyperlink(OUString const &rLink)=0
Handle the event.
Interface for handling user paint state changes.
virtual bool eraseAllInkChanged(bool bEraseAllInk)=0
virtual bool switchEraserMode()=0
virtual bool widthChanged(double nUserStrokeWidth)=0
virtual bool colorChanged(RGBColor const &rUserColor)=0
virtual bool eraseInkWidthChanged(sal_Int32 rEraseInkSize)=0
virtual bool switchPenMode()=0
virtual ~UserPaintEventHandler()
Interface for handling view repaint events.
virtual ~ViewRepaintHandler()
virtual void viewClobbered(const UnoViewSharedPtr &rView)=0
Notify clobbered view.
::std::weak_ptr< ViewEventHandler > ViewEventHandlerWeakPtr
::std::shared_ptr< EventHandler > EventHandlerSharedPtr
::std::shared_ptr< MouseEventHandler > MouseEventHandlerSharedPtr
::std::shared_ptr< PauseEventHandler > PauseEventHandlerSharedPtr
::std::shared_ptr< ShapeListenerEventHandler > ShapeListenerEventHandlerSharedPtr
::std::shared_ptr< HyperlinkHandler > HyperlinkHandlerSharedPtr
::std::shared_ptr< UserPaintEventHandler > UserPaintEventHandlerSharedPtr
::std::shared_ptr< AnimationNode > AnimationNodeSharedPtr
::std::shared_ptr< ViewRepaintHandler > ViewRepaintHandlerSharedPtr
::std::shared_ptr< AnimationEventHandler > AnimationEventHandlerSharedPtr
std::shared_ptr< UnoView > UnoViewSharedPtr