examples/AppFramework/AnimExample/animMover.h

00001 /*
00002 Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
00003 
00004 Redistribution and use in source and binary forms, with or without
00005 modification, are permitted provided that the following conditions are met:
00006 
00007 * Redistributions of source code must retain the above copyright notice, this
00008   list of conditions and the following disclaimer.
00009 * Redistributions in binary form must reproduce the above copyright notice,
00010   this list of conditions and the following disclaimer in the documentation
00011   and/or other materials provided with the distribution.
00012 * Neither the name of Nokia Corporation nor the names of its contributors
00013   may be used to endorse or promote products derived from this software
00014   without specific prior written permission.
00015 
00016 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00017 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00018 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00019 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00020 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00021 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00022 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00023 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00024 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00025 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00026 
00027 Description:  
00028 */
00029 
00030 
00031 
00032 #ifndef __ANIMMOVER_H__
00033 #define __ANIMMOVER_H__
00034 
00035 #include <e32std.h>
00036 #include <spriteanimation.h>
00037 #include <basicanimation.h>
00038 #include <math.h>
00039 
00040 const TInt KXDeflectionIncrement = 5;
00041 const TInt KXDeflectionTerminalValue = 475;
00042 const TInt KYDeflectionOffset = 125;
00043 const TInt KYDeflectionMultiplier = 12;
00044 
00045 const TInt KAnimExBasicInitPosX = 300;
00046 const TInt KAnimExBasicInitPosY = 100;
00047 const TInt KAnimExSpriteInitPosX = 60;
00048 const TInt KAnimExSpriteInitPosY = 70;  
00049         
00050 
00051 // Basic Animation Mover
00052 class CSpriteAnimMover : public CActive
00053         {
00054 public:
00055         CSpriteAnimMover( TInt aPriority, TInt aMicroSeconds, CSpriteAnimation* aSpriteAnim );
00056         ~CSpriteAnimMover();
00057         
00058         
00059         
00060 protected:              
00061         void DoCancel();        
00062         void RunL();
00063                 
00064 private:
00065         RTimer iTimer;
00066         TInt iMicroSeconds;
00067         CSpriteAnimation* iSpriteAnim; // Caller owns.
00068         TInt iX;
00069         TInt iY;        
00070         
00071         };
00072 
00073 
00074 // Sprite Animation Mover
00075 class CBasicAnimMover : public CActive
00076         {
00077 public:
00078         CBasicAnimMover( TInt aPriority, TInt aMicroSeconds, CBasicAnimation* aBasicAnim );
00079         ~CBasicAnimMover();
00080                 
00081 protected:              
00082         void DoCancel();        
00083         void RunL();
00084                 
00085 private:
00086         RTimer iTimer;
00087         TInt iMicroSeconds;
00088         CBasicAnimation* iBasicAnim; // Caller owns.
00089         TInt iX;
00090         TInt iY;
00091         };
00092         
00093 #endif // __ANIMMOVER_H__

Generated by  doxygen 1.6.2