examples/Graphics/coverflow/inc/dialogbox.h

Go to the documentation of this file.
00001 // dialogbox.h
00002 //
00003 // Copyright (c) 2005-2008 Symbian Ltd.  All rights reserved.
00004 //
00009 #ifndef __DIALOGBOX_H__
00010 #define __DIALOGBOX_H__
00011 
00012 #include <e32std.h>
00013 #include <e32base.h>
00014 #include <w32std.h>
00015 #include <gdi.h>
00016 #include <e32math.h>
00017 
00018 // Location of the bitmap images for
00019 // incoming call animation.
00020 #ifdef __WINS__
00021 // Location of images for the emulator build.
00022         _LIT(KCallBitmaps1,"z:\\resource\\apps\\incoming1.mbm");
00023         _LIT(KCallBitmaps2,"z:\\resource\\apps\\incoming2.mbm");
00024         _LIT(KCallBitmaps3,"z:\\resource\\apps\\incoming3.mbm");
00025         _LIT(KCallBitmaps4,"z:\\resource\\apps\\incoming4.mbm");
00026         _LIT(KCallBitmaps5,"z:\\resource\\apps\\incoming5.mbm");
00027         _LIT(KCallBitmaps6,"z:\\resource\\apps\\incoming6.mbm");
00028 #else
00029 // Location of images for the hardware build.
00030         _LIT(KCallBitmaps1,"e:\\resource\\apps\\incoming1.mbm");
00031         _LIT(KCallBitmaps2,"e:\\resource\\apps\\incoming2.mbm");
00032         _LIT(KCallBitmaps3,"e:\\resource\\apps\\incoming3.mbm");
00033         _LIT(KCallBitmaps4,"e:\\resource\\apps\\incoming4.mbm");
00034         _LIT(KCallBitmaps5,"e:\\resource\\apps\\incoming5.mbm");
00035         _LIT(KCallBitmaps6,"e:\\resource\\apps\\incoming6.mbm");
00036 #endif
00037 
00038 class CLoader;
00046 class CDialogBox : public CBase
00047         {
00048 public:
00049         static CDialogBox* NewL(const TRect&);
00050         ~CDialogBox();
00051 
00052         void Start();
00053         void Stop();
00054 
00055         void SetSemiTransparency();
00056         void RemoveSemiTransparency();
00057         TBool IsSemiTransparent() { return iSemiTransFlag;}
00058 
00059 private:
00060         CDialogBox(const TRect&);
00061         void ConstructL();
00062         static TInt OnTick(TAny*);
00063         TBool Draw();
00064 
00065 private:
00069         RWsSession iWs;
00073         RWindowGroup iGrp;
00078         RWindow iWin;
00082         CWsScreenDevice* iScr;
00086         CWindowGc* iGc;
00090         TRect iRect;
00094         TInt iImageCounter;
00098         TBool iSemiTransFlag;
00102         CFbsBitmap* iCallFrame;
00106         CFbsBitmap* iCallMaskFrame;
00110         RPointerArray<CFbsBitmap> iCallBuffer;
00115         RPointerArray<CLoader> iLoaders;
00121         CPeriodic* iTimer;
00122         };
00123 
00127 class CLoader: public CBase
00128         {
00129 public:
00130         static CLoader* NewL(const TDesC& aFn);
00131         ~CLoader();
00132         void Decode();
00133 
00134 private:
00135         CLoader();
00136         void ConstructL(const TDesC& aFn);
00137 
00138 #ifdef PORTRAIT_MODE
00139         void RotateL(CFbsBitmap& aBitmap);
00140 #endif
00141 
00142 public:
00146         CFbsBitmap* iMask;
00150         CFbsBitmap* iBitmap;
00151         };
00152 
00153 #endif
00154 

Generated by  doxygen 1.6.2