00001 // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). 00002 // All rights reserved. 00003 // This component and the accompanying materials are made available 00004 // under the terms of "Eclipse Public License v1.0" 00005 // which accompanies this distribution, and is available 00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html". 00007 // 00008 // Initial Contributors: 00009 // Nokia Corporation - initial contribution. 00010 // 00011 // Contributors: 00012 // 00013 // Description: 00014 // 00015 00016 #include "EmbeddingGraphicsControl.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 // remember the graphics observer 00026 iGraphObserver=aGraphObserver; 00027 // create window 00028 CreateWindowL(&aParent); 00029 // construct font for messages 00030 TFontSpec spec(KtxtSwiss,213); 00031 iMessageFont=iCoeEnv->CreateScreenFontL(spec); 00032 // set rectangle to prescription 00033 SetRect(aRect); 00034 // go for it 00035 ActivateL(); 00036 UpdateModelL(); // phase 0 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
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.