imageeditor/plugins/DrawPlugin/src/AnimationAO.cpp
author qifeima <>
Thu, 03 Jun 2010 18:57:10 +0800
changeset 8 18b321db4884
permissions -rw-r--r--
*m enhance
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     1
/*
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     2
 ============================================================================
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     3
 Name		: AnimationAO.cpp
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     4
 Author	  : 
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     5
 Version	 : 1.0
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     6
 Copyright   : Your copyright notice
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     7
 Description : CAnimationAO implementation
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     8
 ============================================================================
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     9
 */
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    10
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    11
#include "AnimationAO.h"
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    12
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    13
// CAnimationAO()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    14
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    15
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    16
CAnimationAO::CAnimationAO() :
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    17
	CActive(EPriorityStandard) // Standard priority
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    18
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    19
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    20
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    21
// NewLC()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    22
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    23
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    24
CAnimationAO* CAnimationAO::NewLC()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    25
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    26
	CAnimationAO* self = new (ELeave) CAnimationAO();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    27
	CleanupStack::PushL(self);
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    28
	self->ConstructL();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    29
	return self;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    30
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    31
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    32
// NewL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    33
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    34
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    35
CAnimationAO* CAnimationAO::NewL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    36
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    37
	CAnimationAO* self = CAnimationAO::NewLC();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    38
	CleanupStack::Pop(); // self;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    39
	return self;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    40
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    41
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    42
// ConstructL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    43
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    44
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    45
void CAnimationAO::ConstructL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    46
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    47
	User::LeaveIfError(iTimer.CreateLocal()); // Initialize timer
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    48
	CActiveScheduler::Add(this); // Add to scheduler
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    49
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    50
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    51
// CAnimationAO()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    52
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    53
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    54
CAnimationAO::~CAnimationAO()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    55
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    56
	Cancel(); // Cancel any request, if outstanding
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    57
	iTimer.Close(); // Destroy the RTimer object
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    58
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    59
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    60
// DoCancel()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    61
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    62
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    63
void CAnimationAO::DoCancel()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    64
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    65
	iTimer.Cancel();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    66
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    67
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    68
// StartL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    69
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    70
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    71
void CAnimationAO::StartL(TTimeIntervalMicroSeconds32 aDelay)
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    72
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    73
	Cancel(); // Cancel any request, just to be sure
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    74
	iTimer.After(iStatus, aDelay); // Set for later
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    75
	SetActive(); // Tell scheduler a request is active
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    76
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    77
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    78
// RunL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    79
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    80
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    81
void CAnimationAO::RunL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    82
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    83
	iTimer.After(iStatus, 33333); // Set for 1 sec later
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    84
	SetActive(); 
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    85
	iObserver->Notify();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    86
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    87
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    88
// RunError()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    89
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    90
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    91
TInt CAnimationAO::RunError(TInt aError)
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    92
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    93
	return aError;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    94
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    95
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    96
// SetObserver()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    97
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    98
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    99
void CAnimationAO::SetObserver(MAnimationObserver *aObserver)
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
   100
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
   101
	iObserver = aObserver;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
   102
	}