00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <AknBitmapAnimation.h>
00013 #include <barsread.h>
00014 #include "ThreadAnimation.h"
00015
00016
00017
00018
00019
00020
00021 CThreadAnimation::CThreadAnimation(void): iAnimation(0), iRunning(EFalse)
00022 {
00023 }
00024
00025
00026
00027
00028
00029
00030 CThreadAnimation::~CThreadAnimation(void)
00031 {
00032 delete iAnimation;
00033 }
00034
00035 CThreadAnimation* CThreadAnimation::NewL(TResourceReader& aReader, RWindow& aWindow)
00036 {
00037 CThreadAnimation* self = CThreadAnimation::NewLC(aReader,aWindow);
00038 CleanupStack::Pop(self);
00039 return self;
00040 }
00041
00042 CThreadAnimation* CThreadAnimation::NewLC(TResourceReader& aReader, RWindow& aWindow)
00043 {
00044 CThreadAnimation* self = new (ELeave) CThreadAnimation;
00045 CleanupStack::PushL(self);
00046 self->ConstructL(aReader, aWindow);
00047 return self;
00048 }
00049
00050
00051 void CThreadAnimation::ConstructL(TResourceReader& aReader, RWindow& aWindow)
00052 {
00053
00054 iAnimation = CAknBitmapAnimation::NewL();
00055
00056 iAnimation->ConstructFromResourceL(aReader);
00057
00058 iAnimation->SetContainerWindowL(aWindow);
00059 }
00060
00061
00062
00063
00064
00065
00066 void CThreadAnimation::StopAnimation()
00067 {
00068 if( iAnimation )
00069 {
00070 iRunning = EFalse;
00071 iAnimation->CancelAnimation();
00072 }
00073 }
00074
00075
00076
00077
00078
00079
00080 void CThreadAnimation::StartAnimationL()
00081 {
00082
00083 if ( iRunning )
00084 {
00085 return;
00086 }
00087
00088
00089 iAnimation->StartAnimationL();
00090 iRunning = ETrue;
00091 }