00001
00002
00003
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
00019
00020 #ifdef __WINS__
00021
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
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