diff -r bf7481649c98 -r 7f25ef56562d windowing/windowserver/tman/TMSCRMOD.CPP --- a/windowing/windowserver/tman/TMSCRMOD.CPP Fri Jun 11 14:58:47 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,226 +0,0 @@ -// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// Screen mode changing tests -// -// - -#include -#include "W32STD.H" -#include "../tlib/testbase.h" -#include "TMAN.H" - -class CScreenModeTest; - -class CScreenModeWindow : public CTWin - { -public: - CScreenModeWindow(); - void SetUpLD(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc); - void WinKeyL(const TKeyEvent &aKey,const TTime &aTime); - void Draw(); - void ScreenDeviceChanged(); -private: - TInt iSubState; - }; - -class CScreenModeGroup : public CTWindowGroup - { -public: - ~CScreenModeGroup(); - CScreenModeGroup(CTClient *aClient); - void ConstructL(); - void ScreenDeviceChanged(); -private: - CScreenModeWindow *iWindow; - }; - -class CScreenModeTest : public CTestBase - { -public: - CScreenModeTest(); - ~CScreenModeTest(); - TestState DoTestL(); - void ConstructL(); -private: - CScreenModeGroup *iScreenModeGroup; - TSize iWinSize; - TInt iState; - }; - -GLDEF_C CTestBase *CreateScreenModeTest() - { - return(new(ELeave) CScreenModeTest()); - } - -// -// CScreenModeWindow -// - -CScreenModeWindow::CScreenModeWindow() : CTWin() - {} - -void CScreenModeWindow::WinKeyL(const TKeyEvent &aKey,const TTime &) - { - if (aKey.iCode==EKeyEscape || aKey.iCode==EKeyEnter) - { - if (iSubState==0) - { - iSubState=1; - ScreenDeviceChanged(); - Invalidate(); - } - else - CActiveScheduler::Stop(); - } - } - -void CScreenModeWindow::SetUpLD(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc) - { - ConstructExtLD(*parent,pos,size); - Activate(); - AssignGC(aGc); - } - -void CScreenModeWindow::Draw() - { - iGc->Clear(); - TSize winSize(Win()->Size()); - iGc->DrawRect(winSize); - iGc->DrawLine(TPoint(0,0),TPoint(winSize.iWidth,winSize.iHeight)); - iGc->DrawLine(TPoint(0,winSize.iHeight),TPoint(winSize.iWidth,0)); - TInt xpos=winSize.iWidth/2-100; - iGc->DrawText(iSubState==0?_L("Twips not adjusted,"): - _L("Twips adjusted,"),TPoint(xpos,20)); - iGc->DrawText(_L("Cycle through all screen modes,"),TPoint(xpos,40)); - iGc->DrawText(_L("Check the window is resized and rotated correctly,"),TPoint(xpos,60)); - iGc->DrawText(_L("Then press when finished"),TPoint(xpos,80)); -// - TSize twips=Client()->iScreen->SizeInTwips(); - TSize pixels=Client()->iScreen->SizeInPixels(); -// Horizontal line - TInt inches=twips.iWidth/KTwipsPerInch-1; - TInt lineLen=Client()->iScreen->HorizontalTwipsToPixels(inches*KTwipsPerInch); - TPoint linePos=TPoint((pixels.iWidth-lineLen)/2,pixels.iHeight/2); - iGc->DrawLine(linePos,linePos+TPoint(lineLen,0)); - TBuf<0x20> buf; - buf.Format(TRefByValue(_L("Width %d\"")),inches); - iGc->DrawText(buf,TPoint((pixels.iWidth-iFont->TextWidthInPixels(buf))/2,linePos.iY-iFont->HeightInPixels()+iFont->AscentInPixels()-2)); - TInt index; - for(index=0;index<=inches;index++) - { - TInt dx=Client()->iScreen->HorizontalTwipsToPixels(index*KTwipsPerInch); - TInt dy=Client()->iScreen->VerticalTwipsToPixels(KTwipsPerInch/(index==0 || index==inches ? 8 : 16)); - iGc->DrawLine(linePos+TPoint(dx,1), linePos+TPoint(dx,dy)); - } -// Vertical line - inches=twips.iHeight/KTwipsPerInch; - lineLen=Client()->iScreen->VerticalTwipsToPixels(inches*KTwipsPerInch); - linePos.iY=(pixels.iHeight-lineLen)/2; - iGc->DrawLine(linePos,linePos+TPoint(0,lineLen)); - buf.Format(TRefByValue(_L("Height %d\"")),inches); - iGc->DrawText(buf,TPoint(linePos.iX+10, pixels.iHeight/4)); - for(index=0;index<=inches;index++) - { - TInt dx=Client()->iScreen->HorizontalTwipsToPixels(KTwipsPerInch/(index==0 || index==inches ? 8 : 16)); - TInt dy=Client()->iScreen->VerticalTwipsToPixels(index*KTwipsPerInch); - iGc->DrawLine(linePos+TPoint(1,dy), linePos+TPoint(dx,dy)); - } - - } - -void CScreenModeWindow::ScreenDeviceChanged() - { - if (iSubState==0) - { - TPixelsAndRotation sizeAndRotation; - Client()->iScreen->GetDefaultScreenSizeAndRotation(sizeAndRotation); - Client()->iScreen->SetScreenSizeAndRotation(sizeAndRotation); - } - else - { - TPixelsTwipsAndRotation sizeAndRotation; - Client()->iScreen->GetDefaultScreenSizeAndRotation(sizeAndRotation); - Client()->iScreen->SetScreenSizeAndRotation(sizeAndRotation); - } - SetSize(Client()->iScreen->SizeInPixels()); - } - -// -// CScreenModeGroup -// - -CScreenModeGroup::~CScreenModeGroup() - { - GroupWin()->EnableReceiptOfFocus(EFalse); - ClearCurrentWindow(); - Client()->iGroup->SetCurrentWindow(NULL); - CTWin::Delete(iWindow); - } - -CScreenModeGroup::CScreenModeGroup(CTClient *aClient) : CTWindowGroup(aClient) - {} - -void CScreenModeGroup::ConstructL() - { - CTWindowGroup::ConstructL(); - iWindow=new(ELeave) CScreenModeWindow; - iWindow->SetUpLD(TPoint(0,0),Client()->iScreen->SizeInPixels(),this,*Client()->iGc); - SetCurrentWindow(iWindow); - GroupWin()->EnableScreenChangeEvents(); - GroupWin()->SetOrdinalPosition(0); - } - -void CScreenModeGroup::ScreenDeviceChanged() - { - iWindow->ScreenDeviceChanged(); - } - -// -// CScreenModeTest -// - -CScreenModeTest::CScreenModeTest() : CTestBase(_L("Screen mode")) - {} - -CScreenModeTest::~CScreenModeTest() - { - Client()->iGroup->GroupWin()->EnableScreenChangeEvents(); - Client()->iScreen->SetScreenMode(0); - delete iScreenModeGroup; - } - -void CScreenModeTest::ConstructL() - { - Client()->iGroup->GroupWin()->SetOrdinalPosition(0); - Client()->iGroup->GroupWin()->DisableScreenChangeEvents(); -// - iScreenModeGroup=new(ELeave) CScreenModeGroup(Client()); - iScreenModeGroup->ConstructL(); - } - -TestState CScreenModeTest::DoTestL() - { - switch(iState) - { - case 0: - LogSubTest(_L("Screen mode 1"),1); - CActiveScheduler::Start(); - iState++; - break; - default: - return(EFinished); - } - return(ENext); - } -