diff options
author | Oliver Bolte <obo@openoffice.org> | 2005-10-11 07:47:58 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2005-10-11 07:47:58 +0000 |
commit | a23a2963bfd0b705c8f04101d584a16d4e03e778 (patch) | |
tree | 4a842b4b25bd5c01e3d634e6d10655263dd5a509 /slideshow/source | |
parent | 7b05e3720787305bd7f503b4a1dc9fd4be3b7cd8 (diff) |
INTEGRATION: CWS presfixes08 (1.2.36); FILE MERGED
2005/08/02 11:30:09 dbo 1.2.36.1: #i45197# cleanup
Issue number:
Submitted by:
Reviewed by:
Diffstat (limited to 'slideshow/source')
-rw-r--r-- | slideshow/source/inc/animationnode.hxx | 274 |
1 files changed, 131 insertions, 143 deletions
diff --git a/slideshow/source/inc/animationnode.hxx b/slideshow/source/inc/animationnode.hxx index 3c35b1273b63..0d1d603bdd1b 100644 --- a/slideshow/source/inc/animationnode.hxx +++ b/slideshow/source/inc/animationnode.hxx @@ -4,9 +4,9 @@ * * $RCSfile: animationnode.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: rt $ $Date: 2005-09-07 21:06:27 $ + * last change: $Author: obo $ $Date: 2005-10-11 08:47:58 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -32,150 +32,138 @@ * MA 02111-1307 USA * ************************************************************************/ +#ifndef INCLUDED_SLIDESHOW_ANIMATIONNODE_HXX +#define INCLUDED_SLIDESHOW_ANIMATIONNODE_HXX -#ifndef _SLIDESHOW_ANIMATIONNODE_HXX -#define _SLIDESHOW_ANIMATIONNODE_HXX +#include "disposable.hxx" +#include "com/sun/star/animations/XAnimationNode.hpp" +#include "boost/shared_ptr.hpp" -#include <disposable.hxx> +namespace presentation { +namespace internal { -#ifndef _COM_SUN_STAR_UNO_REFERENCE_HXX_ -#include <com/sun/star/uno/Reference.hxx> -#endif -#ifndef _COM_SUN_STAR_ANIMATIONS_XANIMATIONNODE_HPP_ -#include <com/sun/star/animations/XAnimationNode.hpp> -#endif +/** This interface is used to mirror every XAnimateNode object + in the presentation core. +*/ +class AnimationNode : public Disposable +{ +public: + /** The current state of this AnimationNode + */ + enum NodeState { + /// Invalid state, node is disposed or otherwise invalid + INVALID =0, + /// Unresolved start time + UNRESOLVED =1, + /// Resolved start time, node will start eventually + RESOLVED =2, + /// Node is active + ACTIVE =4, + /// Node is frozen (no longer active, but changes remain in place) + FROZEN =8, + /// Node has completed an active lifecycle, + /// and any effect is removed from the document + ENDED =16 + }; + + /** Query the corresponding XAnimationNode. + */ + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::animations::XAnimationNode > + getXAnimationNode() const = 0; + + /** Init this node + + If this node is not in state INVALID, init() sets up the + node state and schedules necessary events. + If this node has children, they have their init() called, too. + You will call this method whenever a slide is going to be + shown. + + @return true, if init was successful; state has changed to UNRESOLVED + */ + virtual bool init() = 0; + + /** Resolve node start time + + Nodes can have unresolved start times, i.e. indefinite + start time for container nodes, or child nodes whose + parent has not yet started. Calling this method fixes + the node's start time. This does not mean that this + node immediately starts its animations, that is only + the case for begin=0.0. The node will change its state + to RESOLVED. + + @return true, if a start event was successfully scheduled. + */ + virtual bool resolve() = 0; + + /** Immediately start this node + + This method starts the animation on this node, without + begin timeout. The node will change its state to ACTIVE. + + @return true, if start was successful. This method + might return false, if e.g. a restart is not permitted + on this node. + */ + virtual bool activate() = 0; + + /** Immediately stop this node + + This method stops the animation on this node. The node + will change its state to either ENDED or FROZEN, + depending on XAnimationNode attributes. + */ + virtual void deactivate() = 0; + + /** End the animation on this node + + This method force-ends animation on this node. Parents + may call this for their children, if their active + duration ends. An ended animation will no longer have + any effect on the shape attributes. The node will + change its state to ENDED. + */ + virtual void end() = 0; + + /** Query node state + + @return the current state of this animation node. + */ + virtual NodeState getState() const = 0; + + /** Register a deactivating listener + + This method registers another AnimationNode as an + deactivating listener, which gets notified via a + notifyDeactivating() call. The node calls all + registered listener, when it leaves the ACTIVE state. + + @param rNotifee AnimationNode to notify + */ + virtual bool registerDeactivatingListener( + const ::boost::shared_ptr< AnimationNode >& rNotifee ) = 0; + + /** Called to notify another AnimationNode's deactivation + + @param rNotifier The instance who calls this method. + */ + virtual void notifyDeactivating( + const ::boost::shared_ptr< AnimationNode >& rNotifier ) = 0; + + /** Query node whether it has an animation pending. + + @return true, if this node (or at least one of its + children) has an animation pending. + */ + virtual bool hasPendingAnimation() const = 0; +}; -#ifndef BOOST_SHARED_PTR_HPP_INCLUDED -#include <boost/shared_ptr.hpp> -#endif +typedef ::boost::shared_ptr< AnimationNode > AnimationNodeSharedPtr; -namespace presentation -{ - namespace internal - { - /* Definition of AnimationNode interface */ - - /** This interface is used to mirror every XAnimateNode object - in the presentation core. - */ - class AnimationNode : public Disposable - { - public: - /** The current state of this AnimationNode - */ - enum NodeState - { - /// Invalid state, node is disposed or otherwise invalid - INVALID =0, - /// Unresolved start time - UNRESOLVED =1, - /// Resolved start time, node will start eventually - RESOLVED =2, - /// Node is active - ACTIVE =4, - /// Node is frozen (no longer active, but changes remain in place) - FROZEN =8, - /// Node has completed an active lifecycle, and any effect is removed from the document - ENDED =16 - }; - - /** Query the corresponding XAnimationNode. - */ - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::animations::XAnimationNode > getXAnimationNode() const = 0; - - /** Init this node - - If this node is not in state INVALID, init() sets up the - node state and schedules necessary events. If this - node has children, they have their init() called, too. - You will call this method whenever a slide is going to be - shown. - - @return true, if init was successful - */ - virtual bool init() = 0; - - /** Resolve node start time - - Nodes can have unresolved start times, i.e. indefinite - start time for container nodes, or child nodes whose - parent has not yet started. Calling this method fixes - the node's start time. This does not mean that this - node immediately starts its animations, that is only - the case for begin=0.0. The node will change its state - to RESOLVED. - - @return true, if a start event was successfully - scheduled. - */ - virtual bool resolve() = 0; - - /** Immediately start this node - - This method starts the animation on this node, without - begin timeout. The node will change its state to ACTIVE. - - @return true, if start was successful. This method - might return false, if e.g. a restart is not permitted - on this node. - */ - virtual bool activate() = 0; - - /** Immediately stop this node - - This method stops the animation on this node. The node - will change its state to either ENDED or FROZEN, - depending on XAnimationNode attributes. - */ - virtual void deactivate() = 0; - - /** End the animation on this node - - This method force-ends animation on this node. Parents - may call this for their children, if their active - duration ends. An ended animation will no longer have - any effect on the shape attributes. The node will - change its state to ENDED. - */ - virtual void end() = 0; - - /** Query node state - - This methods returns the current state of this - animation node. - */ - virtual NodeState getState() const = 0; - - /** Register a deactivating listener - - This method registers another AnimationNode as an - deactivating listener, which gets notified via a - notifyDeactivating() call. The node calls all - registered listener, when it leaves the ACTIVE state. - - @param rNotifee - AnimationNode to notify - */ - virtual bool registerDeactivatingListener( const ::boost::shared_ptr< AnimationNode >& rNotifee ) = 0; - - /** Called to notify another AnimationNode's deactivation - - @param rNotifier - The instance who calls this method. - */ - virtual void notifyDeactivating( const ::boost::shared_ptr< AnimationNode >& rNotifier ) = 0; - - /** Query node whether it has an animation pending. - - @return true, if this node (or at least one of its - children) has an animation pending. - */ - virtual bool hasPendingAnimation() const = 0; - }; - - typedef ::boost::shared_ptr< AnimationNode > AnimationNodeSharedPtr; - } -} +} // namespace internal +} // namespace presentation + +#endif /* INCLUDED_SLIDESHOW_ANIMATIONNODE_HXX */ -#endif /* _SLIDESHOW_ANIMATIONNODE_HXX */ |