19#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_SLIDE_SHAPEMANAGERIMPL_HXX
20#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_SLIDE_SHAPEMANAGERIMPL_HXX
22#include <com/sun/star/drawing/XDrawPage.hpp>
23#include <com/sun/star/uno/Reference.hxx>
54 public std::enable_shared_from_this<ShapeManagerImpl>
65 CursorManager& rCursorManager,
68 const css::uno::Reference<css::drawing::XDrawPage>& xDrawPage);
91 virtual void dispose()
override;
99 css::awt::MouseEvent
const& evt )
override;
101 css::awt::MouseEvent
const& evt )
override;
103 css::awt::MouseEvent
const& evt )
override;
105 css::awt::MouseEvent
const& evt )
override;
111 virtual bool update()
override;
122 css::uno::Reference< css::drawing::XShape >
const & xShape )
const override;
148 virtual bool listenerAdded(
const css::uno::Reference< css::drawing::XShape>& xShape )
override;
150 virtual bool listenerRemoved(
const css::uno::Reference< css::drawing::XShape>& xShape )
override;
152 void cursorChanged(
const css::uno::Reference< css::drawing::XShape>& xShape,
161 std::shared_ptr< ::comphelper::OInterfaceContainerHelper3<css::presentation::XShapeEventListener> >,
182 const css::uno::Reference<css::drawing::XDrawPage>
mxDrawPage;
This class represents kind of a DOM tree node for shape text.
This class multiplexes user-activated and slide-show global events.
Interface for handling mouse events.
Interface for handling view events.
Listener class for shape events.
virtual void addHyperlinkArea(const HyperlinkAreaSharedPtr &rArea) override
Register given shape as a hyperlink target.
virtual bool handleMousePressed(css::awt::MouseEvent const &evt) override
Handle a mouse button pressed event.
ShapeManagerImpl & operator=(const ShapeManagerImpl &)=delete
Forbid copy assignment.
virtual bool update() override
Perform the update action on all views.
std::set< HyperlinkAreaSharedPtr, HyperlinkArea::lessThanArea > AreaSet
virtual bool handleMouseMoved(css::awt::MouseEvent const &evt) override
Handle a mouse was moved event.
LayerManagerSharedPtr mpLayerManager
const ShapeEventListenerMap & mrGlobalListenersMap
ShapeToCursorMap maShapeCursorMap
virtual void notifyIntrinsicAnimationsEnabled() override
Notify that shape-intrinsic animations are now enabled.
AreaSet maHyperlinkShapes
void cursorChanged(const css::uno::Reference< css::drawing::XShape > &xShape, sal_Int16 nCursor)
ImplIntrinsicAnimationEventHandlers maIntrinsicAnimationEventHandlers
virtual void enterAnimationMode(const AnimatableShapeSharedPtr &rShape) override
Notify the ShapeManager that the given Shape starts an animation now.
virtual bool handleMouseDragged(css::awt::MouseEvent const &evt) override
Handle a mouse was moved with a pressed button event.
CursorManager & mrCursorManager
OUString checkForImageMap(css::awt::MouseEvent const &evt) const
void deactivate()
Disables event listening.
const ShapeCursorMap & mrGlobalCursorMap
const css::uno::Reference< css::drawing::XDrawPage > mxDrawPage
virtual void notifyShapeUpdate(const ShapeSharedPtr &rShape) override
Notify that a shape needs an update.
void activate()
Enables event listening.
virtual AttributableShapeSharedPtr getSubsetShape(const AttributableShapeSharedPtr &rOrigShape, const DocTreeNode &rTreeNode) override
Query a subset of the given original shape.
virtual bool listenerAdded(const css::uno::Reference< css::drawing::XShape > &xShape) override
virtual bool listenerRemoved(const css::uno::Reference< css::drawing::XShape > &xShape) override
virtual bool handleMouseReleased(css::awt::MouseEvent const &evt) override
Handle a mouse button released event.
virtual bool needsUpdate() const override
Query whether updates are pending.
virtual void addIntrinsicAnimationHandler(const IntrinsicAnimationEventHandlerSharedPtr &rHandler) override
Register an event handler that will be called when user paint parameters change.
virtual ShapeSharedPtr lookupShape(css::uno::Reference< css::drawing::XShape > const &xShape) const override
Lookup a Shape from an XShape model object.
virtual void dispose() override
Dispose all object references.
virtual void revokeSubset(const AttributableShapeSharedPtr &rOrigShape, const AttributableShapeSharedPtr &rSubsetShape) override
Revoke a previously queried subset shape.
ShapeManagerImpl(EventMultiplexer &rMultiplexer, LayerManagerSharedPtr xLayerManager, CursorManager &rCursorManager, const ShapeEventListenerMap &rGlobalListenersMap, const ShapeCursorMap &rGlobalCursorMap, const css::uno::Reference< css::drawing::XDrawPage > &xDrawPage)
Create a shape event broadcaster.
std::map< ShapeSharedPtr, sal_Int16, Shape::lessThanShape > ShapeToCursorMap
OUString checkForHyperlink(::basegfx::B2DPoint const &hitPos) const
ShapeToListenersMap maShapeListenerMap
std::map< ShapeSharedPtr, std::shared_ptr< ::comphelper::OInterfaceContainerHelper3< css::presentation::XShapeEventListener > >, Shape::lessThanShape > ShapeToListenersMap
ThreadUnsafeListenerContainer< IntrinsicAnimationEventHandlerSharedPtr, std::vector< IntrinsicAnimationEventHandlerSharedPtr > > ImplIntrinsicAnimationEventHandlers
ShapeManagerImpl(const ShapeManagerImpl &)=delete
Forbid copy construction.
virtual const XShapeToShapeMap & getXShapeToShapeMap() const override
Get a map that maps all Shapes with their XShape reference as the key.
EventMultiplexer & mrMultiplexer
virtual void leaveAnimationMode(const AnimatableShapeSharedPtr &rShape) override
Notify the ShapeManager that the given Shape is no longer animated.
virtual void notifyIntrinsicAnimationsDisabled() override
Notify that shape-intrinsic animations are now disabled.
virtual void removeIntrinsicAnimationHandler(const IntrinsicAnimationEventHandlerSharedPtr &rHandler) override
SubsettableShapeManager interface.
ListenerContainer variant that does not serialize access.
Interface for something that can perform view updates.
::std::shared_ptr< AnimatableShape > AnimatableShapeSharedPtr
std::shared_ptr< HyperlinkArea > HyperlinkAreaSharedPtr
::std::shared_ptr< LayerManager > LayerManagerSharedPtr
::std::map< css::uno::Reference< css::drawing::XShape >, sal_Int16 > ShapeCursorMap
Maps XShape to mouse cursor.
::std::shared_ptr< IntrinsicAnimationEventHandler > IntrinsicAnimationEventHandlerSharedPtr
::std::map< css::uno::Reference< css::drawing::XShape >, std::shared_ptr< ::comphelper::OInterfaceContainerHelper3< css::presentation::XShapeEventListener > > > ShapeEventListenerMap
Maps XShape to shape listener.
::std::shared_ptr< AttributableShape > AttributableShapeSharedPtr
std::unordered_map< css::uno::Reference< css::drawing::XShape >, ShapeSharedPtr, hash< css::uno::Reference< css::drawing::XShape > > > XShapeToShapeMap
A hash map which maps the XShape to the corresponding Shape object.
::std::shared_ptr< Shape > ShapeSharedPtr
Functor struct, for area ordering.
Functor struct, for shape ordering.