LibreOffice Module slideshow (master) 1
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
slideshow::internal::BaseContainerNode Class Referenceabstract

This interface extends BaseNode with child handling methods. More...

#include <basecontainernode.hxx>

Inheritance diagram for slideshow::internal::BaseContainerNode:
[legend]
Collaboration diagram for slideshow::internal::BaseContainerNode:
[legend]

Public Member Functions

 BaseContainerNode (css::uno::Reference< css::animations::XAnimationNode > const &xNode, BaseContainerNodeSharedPtr const &pParent, NodeContext const &rContext)
 
void appendChildNode (AnimationNodeSharedPtr const &pNode)
 Add given child node to this container. More...
 
virtual void showState () const override
 
virtual const char * getDescription () const override
 
- Public Member Functions inherited from slideshow::internal::BaseNode
 BaseNode (css::uno::Reference< css::animations::XAnimationNode > const &xNode, BaseContainerNodeSharedPtr pParent, NodeContext const &rContext)
 
 BaseNode (const BaseNode &)=delete
 
BaseNodeoperator= (const BaseNode &)=delete
 
void setSelf (const BaseNodeSharedPtr &rSelf)
 Provide the node with a shared_ptr to itself. More...
 
virtual void showState () const
 
virtual const char * getDescription () const
 
const ::std::shared_ptr< BaseContainerNode > & getParentNode () const
 
virtual void dispose () override
 Dispose all object references. More...
 
virtual bool init () override
 Init this node. More...
 
virtual bool resolve () override
 Resolve node start time. More...
 
virtual void activate () override
 Immediately start this node. More...
 
virtual void deactivate () override
 Immediately stop this node. More...
 
virtual void end () override
 End the animation on this node. More...
 
virtual css::uno::Reference< css::animations::XAnimationNode > getXAnimationNode () const override
 Query the corresponding XAnimationNode. More...
 
virtual NodeState getState () const override
 Query node state. More...
 
virtual bool registerDeactivatingListener (const AnimationNodeSharedPtr &rNotifee) override
 Register a deactivating listener. More...
 
virtual void notifyDeactivating (const AnimationNodeSharedPtr &rNotifier) override
 Called to notify another AnimationNode's deactivation. More...
 
bool isMainSequenceRootNode () const
 
sal_Int16 getFillMode ()
 Get the node's fill mode. More...
 
virtual void removeEffect () override
 Called by the container to remove the animation effect to make the painted shape correct if it restart because of repeat or rewind ( fill mode is AnimationFill::REMOVE ) to start state. More...
 
virtual css::uno::Reference< css::animations::XAnimationNode > getXAnimationNode () const =0
 Query the corresponding XAnimationNode. More...
 
virtual bool init ()=0
 Init this node. More...
 
virtual bool resolve ()=0
 Resolve node start time. More...
 
virtual void activate ()=0
 Immediately start this node. More...
 
virtual void deactivate ()=0
 Immediately stop this node. More...
 
virtual void end ()=0
 End the animation on this node. More...
 
virtual NodeState getState () const =0
 Query node state. More...
 
virtual bool registerDeactivatingListener (const AnimationNodeSharedPtr &rNotifee)=0
 Register a deactivating listener. More...
 
virtual void notifyDeactivating (const AnimationNodeSharedPtr &rNotifier)=0
 Called to notify another AnimationNode's deactivation. More...
 
virtual void removeEffect ()=0
 Called by the container to remove the animation effect to make the painted shape correct if it restart because of repeat or rewind ( fill mode is AnimationFill::REMOVE ) to start state. More...
 
virtual bool hasPendingAnimation () const =0
 Query node whether it has an animation pending. More...
 
- Public Member Functions inherited from slideshow::internal::Disposable
virtual ~Disposable ()
 
virtual void dispose ()=0
 Dispose all object references. More...
 

Protected Types

typedef ::std::vector< AnimationNodeSharedPtrVectorOfNodes
 

Protected Member Functions

virtual void dispose () override
 Dispose all object references. More...
 
bool isDurationIndefinite () const
 
bool isChildNode (AnimationNodeSharedPtr const &pNode) const
 
bool notifyDeactivatedChild (AnimationNodeSharedPtr const &pChildNode)
 
void repeat ()
 
template<typename FuncT >
void forEachChildNode (FuncT func, int nodeStateMask) const
 
- Protected Member Functions inherited from slideshow::internal::BaseNode
void scheduleDeactivationEvent (EventSharedPtr const &pEvent=EventSharedPtr())
 
SlideShowContext const & getContext () const
 
::std::shared_ptr< BaseNode > const & getSelf () const
 
bool checkValidNode () const
 

Protected Attributes

VectorOfNodes maChildren
 
::std::size_t mnFinishedChildren
 
double mnLeftIterations
 

Private Member Functions

virtual bool init_st () override
 
bool init_children ()
 
virtual void deactivate_st (NodeState eDestState) override
 
virtual bool hasPendingAnimation () const override
 Query node whether it has an animation pending. More...
 
virtual void activate_st () override=0
 
virtual void notifyDeactivating (AnimationNodeSharedPtr const &rNotifier) override=0
 Called to notify another AnimationNode's deactivation. More...
 

Private Attributes

const bool mbRepeatIndefinite
 
const bool mbRestart
 
const bool mbDurationIndefinite
 

Additional Inherited Members

- Public Types inherited from slideshow::internal::AnimationNode
enum  NodeState {
  INVALID = 0 ,
  UNRESOLVED = 1 ,
  RESOLVED = 2 ,
  ACTIVE = 4 ,
  FROZEN = 8 ,
  ENDED = 16
}
 The current state of this AnimationNode. More...
 

Detailed Description

This interface extends BaseNode with child handling methods.

Used for XAnimationNode objects which have children

Definition at line 33 of file basecontainernode.hxx.

Member Typedef Documentation

◆ VectorOfNodes

Definition at line 85 of file basecontainernode.hxx.

Constructor & Destructor Documentation

◆ BaseContainerNode()

slideshow::internal::BaseContainerNode::BaseContainerNode ( css::uno::Reference< css::animations::XAnimationNode > const &  xNode,
BaseContainerNodeSharedPtr const &  pParent,
NodeContext const &  rContext 
)

Definition at line 50 of file basecontainernode.cxx.

References maChildren.

Member Function Documentation

◆ activate_st()

virtual void slideshow::internal::BaseContainerNode::activate_st ( )
overrideprivatepure virtual

◆ appendChildNode()

void slideshow::internal::BaseContainerNode::appendChildNode ( AnimationNodeSharedPtr const &  pNode)

Add given child node to this container.

Definition at line 114 of file basecontainernode.cxx.

References slideshow::internal::BaseNode::checkValidNode(), slideshow::internal::BaseNode::getSelf(), and maChildren.

◆ deactivate_st()

void slideshow::internal::BaseContainerNode::deactivate_st ( NodeState  eDestState)
overrideprivatevirtual

◆ dispose()

void slideshow::internal::BaseContainerNode::dispose ( )
overrideprotectedvirtual

Dispose all object references.

An implementor of this method must first call dispose() on any of its external references, and release them after that.

Reimplemented from slideshow::internal::BaseNode.

Reimplemented in slideshow::internal::SequentialTimeContainer.

Definition at line 65 of file basecontainernode.cxx.

References slideshow::internal::BaseNode::dispose(), slideshow::internal::Disposable::dispose(), forEachChildNode(), and maChildren.

Referenced by slideshow::internal::SequentialTimeContainer::dispose().

◆ forEachChildNode()

template<typename FuncT >
void slideshow::internal::BaseContainerNode::forEachChildNode ( FuncT  func,
int  nodeStateMask 
) const
inlineprotected

Definition at line 75 of file basecontainernode.hxx.

References maChildren.

Referenced by deactivate_st(), dispose(), notifyDeactivatedChild(), and repeat().

◆ getDescription()

virtual const char * slideshow::internal::BaseContainerNode::getDescription ( ) const
inlineoverridevirtual

◆ hasPendingAnimation()

bool slideshow::internal::BaseContainerNode::hasPendingAnimation ( ) const
overrideprivatevirtual

Query node whether it has an animation pending.

Returns
true, if this node (or at least one of its children) has an animation pending. Used to determine if the main sequence is actually empty, or contains effects

Implements slideshow::internal::AnimationNode.

Definition at line 104 of file basecontainernode.cxx.

References slideshow::internal::AnimationNode::hasPendingAnimation(), and maChildren.

◆ init_children()

bool slideshow::internal::BaseContainerNode::init_children ( )
private

◆ init_st()

bool slideshow::internal::BaseContainerNode::init_st ( )
overrideprivatevirtual

◆ isChildNode()

bool slideshow::internal::BaseContainerNode::isChildNode ( AnimationNodeSharedPtr const &  pNode) const
protected

◆ isDurationIndefinite()

bool slideshow::internal::BaseContainerNode::isDurationIndefinite ( ) const
inlineprotected

◆ notifyDeactivatedChild()

bool slideshow::internal::BaseContainerNode::notifyDeactivatedChild ( AnimationNodeSharedPtr const &  pChildNode)
protected

◆ notifyDeactivating()

virtual void slideshow::internal::BaseContainerNode::notifyDeactivating ( AnimationNodeSharedPtr const &  rNotifier)
overrideprivatepure virtual

Called to notify another AnimationNode's deactivation.

Parameters
rNotifierThe instance who calls this method.

Reimplemented from slideshow::internal::BaseNode.

Implemented in slideshow::internal::ParallelTimeContainer, and slideshow::internal::SequentialTimeContainer.

◆ repeat()

void slideshow::internal::BaseContainerNode::repeat ( )
protected

◆ showState()

void slideshow::internal::BaseContainerNode::showState ( ) const
overridevirtual

Member Data Documentation

◆ maChildren

VectorOfNodes slideshow::internal::BaseContainerNode::maChildren
protected

◆ mbDurationIndefinite

const bool slideshow::internal::BaseContainerNode::mbDurationIndefinite
private

Definition at line 93 of file basecontainernode.hxx.

Referenced by isDurationIndefinite().

◆ mbRepeatIndefinite

const bool slideshow::internal::BaseContainerNode::mbRepeatIndefinite
private

Definition at line 91 of file basecontainernode.hxx.

Referenced by notifyDeactivatedChild().

◆ mbRestart

const bool slideshow::internal::BaseContainerNode::mbRestart
private

Definition at line 92 of file basecontainernode.hxx.

Referenced by notifyDeactivatedChild().

◆ mnFinishedChildren

::std::size_t slideshow::internal::BaseContainerNode::mnFinishedChildren
protected

◆ mnLeftIterations

double slideshow::internal::BaseContainerNode::mnLeftIterations
protected

Definition at line 88 of file basecontainernode.hxx.

Referenced by deactivate_st(), init_st(), and notifyDeactivatedChild().


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