20#ifndef INCLUDED_SLIDESHOW_SOURCE_INC_SHAPEMANAGER_HXX
21#define INCLUDED_SLIDESHOW_SOURCE_INC_SHAPEMANAGER_HXX
24#include <com/sun/star/uno/Reference.hxx>
26#include <unordered_map>
36 class AnimatableShape;
38 typedef std::unordered_map<
39 css::uno::Reference< css::drawing::XShape >,
41 hash< css::uno::Reference< css::drawing::XShape > >
98 css::uno::Reference< css::drawing::XShape >
const & xShape )
const = 0;
virtual void enterAnimationMode(const AnimatableShapeSharedPtr &rShape)=0
Notify the ShapeManager that the given Shape starts an animation now.
virtual void leaveAnimationMode(const AnimatableShapeSharedPtr &rShape)=0
Notify the ShapeManager that the given Shape is no longer animated.
virtual ShapeSharedPtr lookupShape(css::uno::Reference< css::drawing::XShape > const &xShape) const =0
Lookup a Shape from an XShape model object.
virtual const XShapeToShapeMap & getXShapeToShapeMap() const =0
Get a map that maps all Shapes with their XShape reference as the key.
virtual void notifyShapeUpdate(const ShapeSharedPtr &rShape)=0
Notify that a shape needs an update.
virtual void addHyperlinkArea(const HyperlinkAreaSharedPtr &rArea)=0
Register given shape as a hyperlink target.
::std::shared_ptr< AnimatableShape > AnimatableShapeSharedPtr
std::shared_ptr< HyperlinkArea > HyperlinkAreaSharedPtr
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< ShapeManager > ShapeManagerSharedPtr
::std::shared_ptr< Shape > ShapeSharedPtr