00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "BitmapsGraphicsControl.h"
00017
00018 #include <coemain.h>
00019 #include <coeaui.h>
00020
00021 _LIT(KtxtSwiss,"Swiss");
00022
00023 void CGraphicExampleControl::ConstructL(const TRect& aRect, MGraphicsExampleObserver* aGraphObserver, const CCoeControl& aParent)
00024 {
00025
00026 iGraphObserver=aGraphObserver;
00027
00028 CreateWindowL(&aParent);
00029
00030 TFontSpec spec(KtxtSwiss,213);
00031 iMessageFont=iCoeEnv->CreateScreenFontL(spec);
00032
00033 SetRect(aRect);
00034
00035 ActivateL();
00036 UpdateModelL();
00037 }
00038
00039 CGraphicExampleControl::~CGraphicExampleControl()
00040 {
00041 iCoeEnv->ReleaseScreenFont(iMessageFont);
00042 }
00043
00044 void CGraphicExampleControl::Quit()
00045 {
00046 iGraphObserver->NotifyGraphicExampleFinished();
00047 }
00048
00049 void CGraphicExampleControl::NextPhaseL()
00050 {
00051 if (++iPhase >= iMaxPhases)
00052 Quit();
00053 else
00054 {
00055 UpdateModelL();
00056 DrawNow();
00057 }
00058 }
00059
00060 void CGraphicExampleControl::HandlePointerEventL(const TPointerEvent& aPointerEvent)
00061 {
00062 if (aPointerEvent.iType==TPointerEvent::EButton1Down) NextPhaseL();
00063 }
00064
00065 TKeyResponse CGraphicExampleControl::OfferKeyEventL(
00066 const TKeyEvent& aKeyEvent,TEventCode aType
00067 )
00068 {
00069 if (aType!=EEventKey) return EKeyWasNotConsumed;
00070 TInt code=aKeyEvent.iCode;
00071 switch (code)
00072 {
00073 case ' ':
00074 NextPhaseL();
00075 break;
00076 default:
00077 return EKeyWasNotConsumed;
00078 }
00079 return EKeyWasConsumed;
00080 }
00081