examples/AppFramework/AnimExample/AnimExample.h

00001 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
00002 // All rights reserved.
00003 // This component and the accompanying materials are made available
00004 // under the terms of "Eclipse Public License v1.0"
00005 // which accompanies this distribution, and is available
00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
00007 //
00008 // Initial Contributors:
00009 // Nokia Corporation - initial contribution.
00010 //
00011 // Contributors:
00012 //
00013 // Description:
00014 //
00015 
00016 
00017 #ifndef __ANIMEXAMPLE_H
00018 #define __ANIMEXAMPLE_H
00019 
00020 #include <coeccntx.h>
00021 
00022 #include <eikenv.h>
00023 #include <eikappui.h>
00024 #include <eikapp.h>
00025 #include <eikdoc.h>
00026 #include <eikmenup.h>
00027 #include <eikstart.h> 
00028 #include <eikon.hrh>
00029 #include <gdi.h>
00030 
00031 #include <spriteanimation.h>
00032 #include <iclanimationdataprovider.h>
00033 #include <basicanimation.h>
00034 #include "animMover.h"
00035 #include <animexample.rsg>
00036 #include "AnimExample.hrh"
00037 
00038 _LIT(KAnimExStopWatch,"Z:\\resource\\apps\\AnimExample\\stopwatch.gif");
00039 
00040 _LIT( KAnimExSpriteLabel, "Sprite Animation" );
00041 _LIT( KAnimExBasicLabel, "Basic Animation" );
00042 
00043 const TInt KBasicOffset = 135;
00044 const TInt KSpriteOffset = 25;
00045 
00046 const TInt KspriteInterval = 10000;  //Microseconds
00047 const TInt KBasicInterval = 99999; //Microseconds
00048 
00049 const TInt KAnimExBasicPositionX = 300;
00050 const TInt KAnimExBasicPositionY = 100;
00051 const TInt KAnimExSpritePositionX = 60;
00052 const TInt KAnimExSpritePositionY = 70; 
00053 
00054 
00055 enum TAnimOperation
00056         {
00057         EAnimPause,
00058         EAnimResume,    
00059         EAnimHold,
00060         EAnimUnhold,
00061         EAnimFreeze,
00062         EAnimUnfreeze,
00063         EAnimStart,
00064         EAnimStop               
00065         };
00066 
00067 
00068 class CAnimationApplication : public CEikApplication
00069         {
00070 private: 
00071         // Inherited from class CApaApplication
00072         CApaDocument* CreateDocumentL();
00073         TUid AppDllUid() const;
00074         };
00075 
00076 class CAnimationAppView : public CCoeControl
00077     {
00078 public:
00079         static CAnimationAppView* NewL( const TRect& aRect );
00080         CAnimationAppView();
00081         ~CAnimationAppView();
00082     void ConstructL( const TRect& aRect );
00083     
00084     void ProduceSpriteAnimL();
00085     void ProduceBasicAnimL();
00086     void MoveAnimsL();
00087     void DoSpriteAnimOperationL( TAnimOperation aOperation );
00088     void DoBasicAnimOperationL( TAnimOperation aOperation );
00089     void ResetSpriteAnimAndMover();
00090     void ResetBasicAnimAndMover();
00091 
00092     CSpriteAnimation* iSpriteAnim;
00093         CBasicAnimation* iBasicAnim;
00094         
00095 private:
00096         // From CCoeControl
00097         void Draw(const TRect& /*aRect*/) const;
00098 
00099 private:
00100         HBufC*  iAnimTestText;
00101         CSpriteAnimMover* iSpriteAnimMover;
00102         CBasicAnimMover* iBasicAnimMover;
00103         
00104     };
00105 
00106 class CAnimationAppUi : public CEikAppUi
00107     {
00108 public:
00109     void ConstructL();
00110         ~CAnimationAppUi();
00111 
00112 private:
00113     // Inherited from class CEikAppUi
00114         void HandleCommandL(TInt aCommand);
00115 
00116 private:
00117         CAnimationAppView* iAppView;
00118         };
00119 
00120 
00121 class CAnimationDocument : public CEikDocument
00122         {
00123 public:
00124         static CAnimationDocument* NewL(CEikApplication& aApp);
00125         CAnimationDocument(CEikApplication& aApp);
00126         void ConstructL();
00127 
00128 private: 
00129         // Inherited from CEikDocument
00130         CEikAppUi* CreateAppUiL();
00131         };
00132 
00133 
00134 #endif
00135 
00136 

Generated by  doxygen 1.6.2