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 #include "GraphicsControl.h"
00032
00033 #include <coemain.h>
00034 #include <coeaui.h>
00035
00036 _LIT(KtxtSwiss,"Swiss");
00037
00038 void CGraphicExampleControl::ConstructL(const TRect& aRect, MGraphicsExampleObserver* aGraphObserver,
00039 const CCoeControl& aParent)
00040 {
00041
00042 iGraphObserver=aGraphObserver;
00043
00044 CreateWindowL(&aParent);
00045
00046 TFontSpec spec(KtxtSwiss,213);
00047 iMessageFont=iCoeEnv->CreateScreenFontL(spec);
00048
00049 SetRect(aRect);
00050
00051 ActivateL();
00052 UpdateModelL();
00053 }
00054
00055 CGraphicExampleControl::~CGraphicExampleControl()
00056 {
00057 iCoeEnv->ReleaseScreenFont(iMessageFont);
00058 }
00059
00060 void CGraphicExampleControl::Quit()
00061 {
00062 iGraphObserver->NotifyGraphicExampleFinished();
00063 }
00064
00065 void CGraphicExampleControl::NextPhaseL()
00066 {
00067 if (++iPhase >= iMaxPhases)
00068 Quit();
00069 else
00070 {
00071 UpdateModelL();
00072 DrawNow();
00073 }
00074 }
00075
00076 void CGraphicExampleControl::HandlePointerEventL(const TPointerEvent& aPointerEvent)
00077 {
00078 if (aPointerEvent.iType==TPointerEvent::EButton1Down) NextPhaseL();
00079 }
00080
00081 TKeyResponse CGraphicExampleControl::OfferKeyEventL(
00082 const TKeyEvent& aKeyEvent,TEventCode aType
00083 )
00084 {
00085 if (aType!=EEventKey) return EKeyWasNotConsumed;
00086 TInt code=aKeyEvent.iCode;
00087 switch (code)
00088 {
00089 case ' ':
00090 NextPhaseL();
00091 break;
00092 default:
00093 return EKeyWasNotConsumed;
00094 }
00095 return EKeyWasConsumed;
00096 }
00097