20#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_TRANSITIONS_SLIDECHANGEBASE_HXX
21#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_TRANSITIONS_SLIDECHANGEBASE_HXX
63 virtual void end()
override;
76 ::std::optional<SlideSharedPtr> leavingSlide,
82 bool bCreateLeavingSprites =
true,
83 bool bCreateEnteringSprites =
true );
117 const std::optional<SlideSharedPtr>& rSlide_ )
const;
133 const ViewEntry& rViewEntry,
149 const ViewEntry& rViewEntry,
166 const ViewEntry& rViewEntry,
177 double nPrio )
const;
This class multiplexes user-activated and slide-show global events.
Interface defining a number animation.
Base class for all slide change effects.
::std::vector< ViewEntry > ViewsVecT
static void clearViewEntry(ViewEntry &rEntry)
virtual void end() override
Notify that the animation is about to end.
ViewsVecT::const_iterator endViews()
virtual void start(const AnimatableShapeSharedPtr &, const ShapeAttributeLayerSharedPtr &) override
Notify that the animation is about to begin.
cppcanvas::CustomSpriteSharedPtr createSprite(UnoViewSharedPtr const &pView, ::basegfx::B2DSize const &rSpriteSize, double nPrio) const
SoundPlayerSharedPtr mpSoundPlayer
::basegfx::B2ISize getEnteringSlideSizePixel(const UnoViewSharedPtr &pView) const
ScreenUpdater & mrScreenUpdater
SlideChangeBase(const SlideChangeBase &)=delete
virtual void prefetch() override
Notify that the animation going active soon.
SlideSharedPtr mpEnteringSlide
virtual void viewRemoved(const UnoViewSharedPtr &rView) override
Notify removed view.
virtual void viewAdded(const UnoViewSharedPtr &rView) override
Notify new view.
SlideBitmapSharedPtr getEnteringBitmap(const ViewEntry &rViewEntry) const
static void renderBitmap(SlideBitmapSharedPtr const &pSlideBitmap, cppcanvas::CanvasSharedPtr const &pCanvas)
virtual void viewChanged(const UnoViewSharedPtr &rView) override
Notify changed view.
virtual double getUnderlyingValue() const override
Request the underlying value for this animation.
virtual void performIn(const cppcanvas::CustomSpriteSharedPtr &rSprite, const ViewEntry &rViewEntry, const cppcanvas::CanvasSharedPtr &rDestinationCanvas, double t)
Called on derived classes to implement actual slide change.
SlideBitmapSharedPtr createBitmap(const UnoViewSharedPtr &pView, const std::optional< SlideSharedPtr > &rSlide_) const
const bool mbCreateLeavingSprites
EventMultiplexer & mrEventMultiplexer
virtual bool operator()(double x) override
Set the animation to value x.
SlideChangeBase(::std::optional< SlideSharedPtr > leavingSlide, const SlideSharedPtr &pEnteringSlide, SoundPlayerSharedPtr pSoundPlayer, const UnoViewContainer &rViewContainer, ScreenUpdater &rScreenUpdater, EventMultiplexer &rEventMultiplexer, bool bCreateLeavingSprites=true, bool bCreateEnteringSprites=true)
Create a new SlideChanger, for the given leaving and entering slides.
const bool mbCreateEnteringSprites
ScreenUpdater & getScreenUpdater() const
void addSprites(ViewEntry &rEntry)
virtual void performOut(const cppcanvas::CustomSpriteSharedPtr &rSprite, const ViewEntry &rViewEntry, const cppcanvas::CanvasSharedPtr &rDestinationCanvas, double t)
Called on derived classes to implement actual slide change.
SlideBitmapSharedPtr getLeavingBitmap(const ViewEntry &rViewEntry) const
virtual void viewsChanged() override
Notify that all views changed.
const UnoViewContainer & mrViewContainer
SlideChangeBase & operator=(const SlideChangeBase &)=delete
ViewsVecT::const_iterator beginViews()
virtual void prepareForRun(const ViewEntry &rViewEntry, const cppcanvas::CanvasSharedPtr &rDestinationCanvas)
Called on derived classes to perform actions before first run.
::std::optional< SlideSharedPtr > maLeavingSlide
Interface for handling view events.
std::shared_ptr< ::cppcanvas::CustomSprite > CustomSpriteSharedPtr
std::shared_ptr< Canvas > CanvasSharedPtr
::std::shared_ptr< AnimatableShape > AnimatableShapeSharedPtr
::std::shared_ptr< SoundPlayer > SoundPlayerSharedPtr
::std::shared_ptr< SlideBitmap > SlideBitmapSharedPtr
::std::shared_ptr< ShapeAttributeLayer > ShapeAttributeLayerSharedPtr
::std::shared_ptr< Slide > SlideSharedPtr
std::shared_ptr< UnoView > UnoViewSharedPtr
Info on a per-view basis.
const UnoViewSharedPtr & getView() const
std::shared_ptr< cppcanvas::CustomSprite > mpOutSprite
outgoing slide sprite
ViewEntry(UnoViewSharedPtr rView)
UnoViewSharedPtr mpView
The view this entry is for.
std::shared_ptr< cppcanvas::CustomSprite > mpInSprite
incoming slide sprite
SlideBitmapSharedPtr mpLeavingBitmap
outgoing slide bitmap
SlideBitmapSharedPtr mpEnteringBitmap
incoming slide bitmap