imageeditor/plugins/DrawPlugin/src/RollAO.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 "RollAO.h"
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    12
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    13
// CRollAO()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    14
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    15
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    16
CRollAO::CRollAO() :
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
CRollAO* CRollAO::NewLC()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    25
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    26
	CRollAO* self = new (ELeave) CRollAO();
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
CRollAO* CRollAO::NewL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    36
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    37
	CRollAO* self = CRollAO::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 CRollAO::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
// ~CRollAO()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    52
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    53
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    54
CRollAO::~CRollAO()
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
	// Delete instance variables if any
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    59
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    60
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    61
// DoCancel()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    62
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    63
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    64
void CRollAO::DoCancel()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    65
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    66
	iTimer.Cancel();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    67
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    68
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    69
// StartL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    70
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    71
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    72
void CRollAO::StartL(TTimeIntervalMicroSeconds32 aDelay)
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    73
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    74
	Cancel(); // Cancel any request, just to be sure
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    75
	iTimer.After(iStatus, aDelay); // Set for later
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    76
	SetActive(); // Tell scheduler a request is active
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    77
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    78
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    79
// RunL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    80
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    81
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    82
void CRollAO::RunL()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    83
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    84
	iTimer.After(iStatus, 300); // Set for 1 sec later
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    85
	SetActive(); 
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    86
	iObserver->Roll();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    87
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    88
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    89
// RunError()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    90
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    91
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    92
TInt CRollAO::RunError(TInt aError)
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    93
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    94
	return aError;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    95
	}
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    96
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    97
// SetObserver()
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    98
// ---------------------------------------------------------------------------
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    99
//
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
   100
void CRollAO::SetObserver(MRollObserver *aObserver)
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
   101
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
   102
	iObserver = aObserver;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
   103
	}