00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef __CLOCKEXAMPLE_H__
00032 #define __CLOCKEXAMPLE_H__
00033
00034
00035 #include <coeccntx.h>
00036
00037 #include <eikenv.h>
00038 #include <eikappui.h>
00039 #include <eikapp.h>
00040 #include <eikdoc.h>
00041 #include <eikmenup.h>
00042
00043 #include <eikstart.h>
00044
00045 #include <clock.h>
00046
00047 #include <clockexample.rsg>
00048 #include "ClockExample.hrh"
00049
00050 #include <mymbs0.mbg>
00051
00052 _LIT(KMyMBS,"z:\\system\\data\\MYMBS0.MBM");
00053
00054 #define CLOCK 0
00055 #define CLOCKMSK 1
00056
00057 enum TTimezoneOffset
00058 {
00059 EUTOffsetOneHour = ( 60 * 60 ),
00060 EUTOffsetHalfHour = ( 30 * 60 ),
00061 EUTOffsetQuarterHour = ( 15 * 60 ),
00062 EUTOffsetTenMinutes = ( 10 * 60 ),
00063 EUTOffsetFiveMinutes = ( 5 * 60 ),
00064 EUTOffsetOneMinute = ( 1 * 60 ),
00065 EUTOffsetThirtySeconds = ( 30 ),
00066 EUTOffsetFifteenSeconds = ( 15 ),
00067 EUTOffsetTenSeconds = ( 10 ),
00068 EUTOffsetFiveSeconds = ( 5 ),
00069 EUTOffsetOneSecond = ( 1 ),
00070
00071 EUTOffsetLondon = 0,
00072 EUTOffsetLondonSummer = EUTOffsetLondon + EUTOffsetOneHour,
00073 EUTOffsetBangalore = 5 * EUTOffsetOneHour + EUTOffsetHalfHour
00074 };
00075
00076
00077 class CDestructableFont : public CBase
00078 {
00079 public:
00080 CDestructableFont(CWsScreenDevice* aScreenDevice);
00081 void ConstructL(const TFontSpec& aFontSpec);
00082 virtual ~CDestructableFont();
00083 TInt Handle() const;
00084 private:
00085 CWsScreenDevice* iScreenDevice;
00086 CFbsFont* iFont;
00087 };
00088
00089
00090
00091 class CExampleApplication : public CEikApplication
00092 {
00093 private:
00094 CApaDocument* CreateDocumentL();
00095 TUid AppDllUid() const;
00096 };
00097
00098
00099 class CExampleAppView : public CCoeControl
00100 {
00101 public:
00102 static CExampleAppView* NewL( const TRect& aRect );
00103 CExampleAppView();
00104 ~CExampleAppView();
00105 void ConstructL( const TRect& aRect );
00106
00107 void DoExperimentL( TInt aCommand );
00108 void ConstructAnalogClockL();
00109 void ConstructDigitalClockL();
00110
00111 private:
00112 void Draw(const TRect& ) const;
00113
00114 private:
00115 HBufC* iTextBuffer;
00116 RAnalogClock* iAnalogClock;
00117 RDigitalClock* iDigitalClock;
00118 TPoint iDigitalClockPosition;
00119 TPoint iAnalogClockPosition;
00120 TSize iDigitalClockSize;
00121 TSize iAnalogClockSize;
00122 TInt iDigitalClockUniversalTimeOffset;
00123 TInt iAnalogClockUniversalTimeOffset;
00124 RAnimDll iAnimDll;
00125
00126 TRgb iBackgroundColor;
00127 CFbsFont* iFont;
00128 };
00129
00130
00131 class CExampleAppUi : public CEikAppUi
00132 {
00133 public:
00134 void ConstructL();
00135 ~CExampleAppUi();
00136
00137 private:
00138 void HandleCommandL(TInt aCommand);
00139
00140 private:
00141 CExampleAppView* iAppView;
00142 };
00143
00144
00145 class CExampleDocument : public CEikDocument
00146 {
00147 public:
00148 static CExampleDocument* NewL(CEikApplication& aApp);
00149 CExampleDocument(CEikApplication& aApp);
00150 void ConstructL();
00151 private:
00152 CEikAppUi* CreateAppUiL();
00153 };
00154
00155 #endif // __CLOCKEXAMPLE_H__