epoc32/include/animation.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef __ANIMATION_H__
    17 #define __ANIMATION_H__
    18 
    19 #include <animationmixins.h>
    20 
    21 class TAnimationConfig;
    22 
    23 /** Pure virtual base class for animations.
    24 
    25 This defines an abstracted interface between a client application and an
    26 animation.  Most of the implementation details are handled by an animator
    27 plugin.  The source of the animation data and its interpretation are usually
    28 handled by a data provider.
    29 
    30 @see CAnimationDataProvider
    31 @see CAnimator
    32 @see MAnimationObserver
    33 @publishedAll
    34 @released*/
    35 class CAnimation : public CBase
    36 	{
    37 public:
    38 	/** Causes the animation to start, at the first time step or logical
    39 	equivalent.  If the animation is already running, it rewinds.
    40 	@see TAnimationConfig
    41 	@param aConfig Specifies run time attributes of the animation.*/
    42 	virtual void Start(const TAnimationConfig& aConfig) = 0;
    43 	/** Causes the animation to stop, and rewinds to the first frame.*/
    44 	virtual void Stop() = 0;
    45 	/** Causes the animation to stop, but without rewinding.*/
    46 	virtual void Pause() = 0;
    47 	/** Causes a paused animation to continue from where it left off.*/
    48 	virtual void Resume() = 0;
    49 	/** Puts an animation on hold, which is similar to pause, but keeps
    50 	track of the time steps passing and catches up when resumed.  This
    51 	can be used to temporarily cease processing an animation without it
    52 	getting out of step with others.*/
    53 	virtual void Hold() = 0;
    54 	/** Resumes a held animation.*/
    55 	virtual void Unhold() = 0;
    56 	/** Sets the coordinates of the animation.  This generally refers
    57 	to the top left corner of the total area the animation covers.
    58 	@param aPoint The new coordinates of the animation (usually the top left
    59 	corner)*/
    60 	virtual void SetPosition(const TPoint& aPoint) = 0;
    61 	/** Causes whatever ticker this animation provides to its animator to
    62 	be frozen untill a corresponding call to unfreeze.
    63 	
    64 	You should not normally need to call this function.
    65 	@see Unfreeze()*/
    66 	virtual void Freeze() = 0;
    67 	/** Causes whatever ticker this animation provides to its animator to
    68 	be unfrozen.
    69 	
    70 	You should not normally need to call this function.
    71 	@see Freeze()*/	
    72 	virtual void Unfreeze() = 0;
    73 	};
    74 
    75 #endif //__ANIMATION_H__