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 "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __AnimationGroup_H__
17 #define __AnimationGroup_H__
19 #include <animation.h>
24 Handles groups of other animations.
26 When it is appropriate to have several animations starting and stopping
27 together, add them all to an animation group and control them through that.
29 In addition to making the code easier to both read and write, the animation
30 group handles synchronisation issues which can occur when issuing a sequence
31 of asynchronous requests.
33 Care must be taken to remove an animation from any groups it may have been
34 added to before deleting it.
39 class CAnimationGroup : public CAnimation
42 static CAnimationGroup* NewL();
44 IMPORT_C const RPointerArray<CAnimation>& Animations() const;
45 IMPORT_C RPointerArray<CAnimation>& Animations();
47 virtual void Start(const TAnimationConfig& aConfig);
50 virtual void Resume();
52 virtual void Unhold();
53 virtual void Freeze();
54 virtual void Unfreeze();
55 virtual void SetPosition(const TPoint& aPoint);
57 IMPORT_C virtual void CAnimationGroup_Reserved1();
58 IMPORT_C virtual void CAnimationGroup_Reserved2();
60 TInt iCAnimationGroup_Reserved;
64 CAnimationGroup(const CAnimationGroup&); // no implementation
65 CAnimationGroup& operator=(const CAnimationGroup&); // no implementation
69 RPointerArray<CAnimation> iAnimations;
72 #endif //__AnimationGroup_H__