00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "moveball.h"
00020
00021 const TInt KGenerationInterval = 10000;
00022
00023
00024 CMoveBall* CMoveBall::NewL(MUpdateContainer& aUpdater)
00025 {
00026 CMoveBall* self = new (ELeave) CMoveBall(aUpdater);
00027 CleanupStack::PushL(self);
00028 self->ConstructL();
00029 CleanupStack::Pop();
00030 return self;
00031 }
00032
00033 CMoveBall::CMoveBall(MUpdateContainer& aUpdater) :
00034 CTimer(CActive::EPriorityStandard),
00035 iUpdater(aUpdater)
00036 {
00037 }
00038
00039 CMoveBall::~CMoveBall()
00040 {
00041 if(IsActive())
00042 Cancel();
00043 }
00044
00045 void CMoveBall::ConstructL()
00046 {
00047
00048
00049 CTimer::ConstructL();
00050 CActiveScheduler::Add(this);
00051 }
00052
00056 void CMoveBall::StartMovingBall()
00057 {
00058
00059 After(TTimeIntervalMicroSeconds32(0));
00060 }
00061
00065 void CMoveBall::StopMoveBall()
00066 {
00067
00068 if(IsActive())
00069 {
00070 CTimer::Cancel();
00071 Cancel();
00072 }
00073 }
00074
00075 void CMoveBall::RunL()
00076 {
00077
00078 After(TTimeIntervalMicroSeconds32(KGenerationInterval));
00079
00080 iUpdater.UpdateScreen();
00081 }
00082
00083 void CMoveBall::DoCancel()
00084 {
00085 CTimer::DoCancel();
00086 }