LibreOffice Module slideshow (master) 1
Public Member Functions | Private Attributes | List of all members
slideshow::internal::SlideAnimations Class Reference

This class generates and manages all animations of a slide. More...

#include <slideanimations.hxx>

Collaboration diagram for slideshow::internal::SlideAnimations:
[legend]

Public Member Functions

 SlideAnimations (SlideShowContext aContext, const ::basegfx::B2DVector &rSlideSize)
 Create an animation generator. More...
 
 ~SlideAnimations () COVERITY_NOEXCEPT_FALSE
 
bool importAnimations (const css::uno::Reference< css::animations::XAnimationNode > &xRootAnimationNode)
 Import animations from a SMIL root animation node. More...
 
bool isAnimated () const
 Check, whether imported animations actually contain any effects. More...
 
bool start ()
 Start the animations. More...
 
void end ()
 End all animations. More...
 

Private Attributes

SlideShowContext maContext
 
const basegfx::B2DVector maSlideSize
 
AnimationNodeSharedPtr mpRootNode
 

Detailed Description

This class generates and manages all animations of a slide.

Provided with the root animation node, this class imports the effect information and builds the event tree for all of the slide's animations.

Definition at line 42 of file slideanimations.hxx.

Constructor & Destructor Documentation

◆ SlideAnimations()

slideshow::internal::SlideAnimations::SlideAnimations ( SlideShowContext  aContext,
const ::basegfx::B2DVector rSlideSize 
)

Create an animation generator.

Parameters
rContextSlide show context, passing on common parameters

Definition at line 31 of file slideanimations.cxx.

References ENSURE_OR_THROW, maContext, and slideshow::internal::SlideShowContext::mpSubsettableShapeManager.

◆ ~SlideAnimations()

slideshow::internal::SlideAnimations::~SlideAnimations ( )

Definition at line 41 of file slideanimations.cxx.

References mpRootNode, SHOW_NODE_TREE, and TOOLS_WARN_EXCEPTION.

Member Function Documentation

◆ end()

void slideshow::internal::SlideAnimations::end ( )

End all animations.

This method force-ends all animations. If a slide end event has been registered, that is fired, too.

Definition at line 95 of file slideanimations.cxx.

References mpRootNode.

◆ importAnimations()

bool slideshow::internal::SlideAnimations::importAnimations ( const css::uno::Reference< css::animations::XAnimationNode > &  xRootAnimationNode)

Import animations from a SMIL root animation node.

This method might take some time, depending on the complexity of the SMIL animation network to be imported.

Parameters
xRootAnimationNodeRoot animation node for the effects to be generated. This is typically obtained from the XDrawPage's XAnimationNodeSupplier.

Definition at line 58 of file slideanimations.cxx.

References slideshow::internal::AnimationNodeFactory::createAnimationNode(), maContext, maSlideSize, mpRootNode, and SHOW_NODE_TREE.

◆ isAnimated()

bool slideshow::internal::SlideAnimations::isAnimated ( ) const

Check, whether imported animations actually contain any effects.

Returns
true, if there are actual animations in the imported node tree.

Definition at line 70 of file slideanimations.cxx.

References mpRootNode.

◆ start()

bool slideshow::internal::SlideAnimations::start ( )

Start the animations.

This method creates the network of events and activities for all animations. The events and activities are inserted into the constructor-provided queues. These queues are not explicitly cleared, if you rely on this object's effects to run without interference, you should clear the queues by yourself.

Returns
true, if all events have been successfully created.

Definition at line 79 of file slideanimations.cxx.

References mpRootNode.

Member Data Documentation

◆ maContext

SlideShowContext slideshow::internal::SlideAnimations::maContext
private

Definition at line 98 of file slideanimations.hxx.

Referenced by importAnimations(), and SlideAnimations().

◆ maSlideSize

const basegfx::B2DVector slideshow::internal::SlideAnimations::maSlideSize
private

Definition at line 99 of file slideanimations.hxx.

Referenced by importAnimations().

◆ mpRootNode

AnimationNodeSharedPtr slideshow::internal::SlideAnimations::mpRootNode
private

Definition at line 100 of file slideanimations.hxx.

Referenced by end(), importAnimations(), isAnimated(), start(), and ~SlideAnimations().


The documentation for this class was generated from the following files: