windowing/windowserver/tman/TTEXT.CPP
changeset 110 7f25ef56562d
parent 98 bf7481649c98
child 111 29ddb8a72f0e
--- a/windowing/windowserver/tman/TTEXT.CPP	Fri Jun 11 14:58:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-// Copyright (c) 1995-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:
-// Print some text, to be checked by eye
-// 
-//
-
-#include <e32std.h>
-#include <e32svr.h>
-#include "W32STD.H"
-#include "../tlib/testbase.h"
-#include "TMAN.H"
-
-class TTextTest;
-
-enum {EDrawModeFonts,EDrawModeCharJust,EDrawModeWordJust};
-
-_LIT(KTestFontTypefaceName,"DejaVu Sans Condensed");
-
-class CTextWindow : public CTWin
-	{
-public:
-	CTextWindow(TTextTest *aTest);
-	void SetUpLD(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc);
-	void Draw();
-	void WinKeyL(const TKeyEvent &aKey,const TTime &aTime);
-	void ResetPrintLine();
-	void Print(const CFont *aFont, const TDesC &aText);
-	void PrintLine(const CFont *aFont, const TDesC &aText);
-	void PrintDivider();
-	void PrintStylesL(const TDesC &aText, TFontSpec &aFontSpec, const TFontStyle &aFontStyle);
-	void DrawCharJustified(const TDesC &aText);
-	void DrawWordJustified(const TDesC &aText);
-	TBool NextPage();
-	void SetDrawMode(TInt aMode);
-private:
-	TInt iDrawMode;
-	TTextTest *iTest;
-	CFbsFont *iTmpFont;
-	TInt iNumTypeFaces;
-	TInt iTypeFaceIndex;
-	TInt iXStartPos;
-	TInt iYpos;
-	TInt iXpos;
-	};
-
-class TTextTest : public CTestBase
-	{
-public:
-	TTextTest();
-	~TTextTest();
-	TestState DoTestL();
-	void ConstructL();
-private:
-	CTextWindow *iWin;
-	TSize iWinSize;
-	TInt iState;
-	};
-
-GLDEF_C CTestBase *CreateTextTest()
-	{
-	return(new(ELeave) TTextTest());
-	}
-
-CTextWindow::CTextWindow(TTextTest *aTest) : CTWin(), iDrawMode(EDrawModeWordJust), iTest(aTest)
-	{}
-
-void CTextWindow::SetUpLD(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc)
-	{
-	ConstructExtLD(*parent,pos,size);
-	Activate();
-	AssignGC(aGc);
-	iNumTypeFaces=Client()->iScreen->NumTypefaces();
-	}
-
-void CTextWindow::ResetPrintLine()
-	{
-	iXpos=iXStartPos=5;
-	iYpos=2;
-	}
-
-void CTextWindow::PrintDivider()
-	{
-	iGc->DrawLine(TPoint(0,iYpos+5),TPoint(Size().iWidth,iYpos+5));
-	iYpos+=10;
-	}
-
-void CTextWindow::Print(const CFont *aFont, const TDesC &aText)
-	{
-	iGc->DrawText(aText, TPoint(iXpos, iYpos+aFont->AscentInPixels()));
-	iXpos+=aFont->TextWidthInPixels(aText);
-	}
-
-void CTextWindow::PrintLine(const CFont *aFont, const TDesC &aText)
-	{
-	iGc->DrawText(aText, TPoint(iXpos, iYpos+aFont->AscentInPixels()));
-	iXpos=iXStartPos;
-	iYpos+=aFont->HeightInPixels()+2;
-	}
-
-TBool CTextWindow::NextPage()
-	{
-	if (iTypeFaceIndex==(iNumTypeFaces-1))
-		return(ETrue);
-	++iTypeFaceIndex;
-	return(EFalse);
-	}
-
-void CTextWindow::PrintStylesL(const TDesC &aText, TFontSpec &aFontSpec, const TFontStyle &aFontStyle)
-	{
-	aFontSpec.iFontStyle=aFontStyle;
-	User::LeaveIfError(Client()->iScreen->GetNearestFontToDesignHeightInTwips((CFont *&)iTmpFont, aFontSpec));
-	iGc->UseFont(iTmpFont);
-	Print(iTmpFont,aText);
-	iGc->SetUnderlineStyle(EUnderlineOn);
-	Print(iTmpFont,_L("Underline, "));
-	iGc->SetStrikethroughStyle(EStrikethroughOn);
-	Print(iTmpFont,_L("Strikethrough/underline, "));
-	iGc->SetUnderlineStyle(EUnderlineOff);
-	PrintLine(iTmpFont,_L("Strikethrough"));
-	iGc->SetStrikethroughStyle(EStrikethroughOff);
-	Client()->iScreen->ReleaseFont(iTmpFont);
-	iTmpFont=NULL;
-	}
-
-void CTextWindow::DrawCharJustified(const TDesC &aText)
-	{
-	iGc->SetCharJustification(Size().iWidth-10-iTmpFont->TextWidthInPixels(aText),aText.Length()-1);
-	PrintLine(iTmpFont, aText);
-	}
-
-void CTextWindow::DrawWordJustified(const TDesC &aText)
-	{
-	TInt count=0;
-	for(TInt index=0;index<aText.Length();index++)
-		if (aText[index]==' ')
-			count++;
-	iGc->SetWordJustification(Size().iWidth-10-iTmpFont->TextWidthInPixels(aText),count);
-	PrintLine(iTmpFont, aText);
-	}
-
-void CTextWindow::Draw()
-//This function is virtual and so cannot have an 'L' at the end of it's name
-	{
-	iGc->Clear();
-	ResetPrintLine();
-	switch(iDrawMode)
-		{
-	case EDrawModeWordJust:
-		User::LeaveIfError(Client()->iScreen->GetNearestFontToDesignHeightInTwips((CFont *&)iTmpFont, TFontSpec(KTestFontTypefaceName,200)));
-		iGc->UseFont(iTmpFont);
-		DrawWordJustified(_L("Hello World"));
-		DrawWordJustified(_L("One Two Three Four Five Six Seven"));
-		DrawWordJustified(_L("AA    B        CC D"));
-		DrawWordJustified(_L("ONEWORD"));
-		iGc->DiscardFont();
-		Client()->iScreen->ReleaseFont(iTmpFont);
-		iTmpFont=NULL;
-		break;
-	case EDrawModeCharJust:
-		User::LeaveIfError(Client()->iScreen->GetNearestFontToDesignHeightInTwips((CFont *&)iTmpFont, TFontSpec(KTestFontTypefaceName,200)));
-		iGc->UseFont(iTmpFont);
-		DrawCharJustified(_L("Hello World"));
-		DrawCharJustified(_L("One Two Three Four Five Six Seven"));
-		DrawCharJustified(_L("AA    B        CC D"));
-		DrawCharJustified(_L("ONEWORD"));
-		iGc->DiscardFont();
-		Client()->iScreen->ReleaseFont(iTmpFont);
-		iTmpFont=NULL;
-		break;
-	case EDrawModeFonts:
-		{
-		TTypefaceSupport typefaceSupport;
-		Client()->iScreen->TypefaceSupport(typefaceSupport,iTypeFaceIndex);
-		TBuf<0x40> title;
-		TBuf16<KMaxTypefaceNameLength> tmpBuf;
-		tmpBuf.Copy(typefaceSupport.iTypeface.iName);
-		title.Append(tmpBuf);
-		title.AppendFormat(TRefByValue<const TDesC>(_L(", Heights (Min=%d, Max=%d, Num=%d)")),typefaceSupport.iMinHeightInTwips,typefaceSupport.iMaxHeightInTwips,typefaceSupport.iNumHeights);
-		PrintLine(iFont,title);
-		PrintDivider();
-		for (TInt tfHeight=0;tfHeight<typefaceSupport.iNumHeights;tfHeight++)
-			{
-			TFontSpec fspec(typefaceSupport.iTypeface.iName,Client()->iScreen->FontHeightInTwips(iTypeFaceIndex,tfHeight));
-			PrintStylesL(_L("Normal, "), fspec, TFontStyle());
-			PrintStylesL(_L("Bold, "), fspec, TFontStyle(EPostureUpright,EStrokeWeightBold,EPrintPosNormal));
-			PrintStylesL(_L("Italic, "), fspec, TFontStyle(EPostureItalic,EStrokeWeightNormal,EPrintPosNormal));
-			PrintStylesL(_L("Bold/italic, "), fspec, TFontStyle(EPostureItalic,EStrokeWeightBold,EPrintPosNormal));
-			if (iYpos>Size().iHeight)
-				break;
-			}
-		}
-		break;
-		}
-	}
-
-void CTextWindow::WinKeyL(const TKeyEvent &aKey,const TTime &)
-	{
-	if (iDrawMode!=EDrawModeFonts || (aKey.iCode==EKeyEscape || NextPage()))
-		CActiveScheduler::Stop();
-	else
-		iWin.Invalidate();
-	}
-
-void CTextWindow::SetDrawMode(TInt aDrawMode)
-	{
-	iDrawMode=aDrawMode;
-	iWin.Invalidate();
-	}
-
-TTextTest::TTextTest() : CTestBase(_L("Text"))
-	{}
-
-TTextTest::~TTextTest()
-	{
-	CTWin::Delete(iWin);
-	}
-
-void TTextTest::ConstructL()
-	{
-	CTextWindow *win=new(ELeave) CTextWindow(this);
-	win->SetUpLD(TPoint(0,0),Client()->iScreen->SizeInPixels(),Client()->iGroup,*Client()->iGc);
-	iWin=win;
-	Client()->iGroup->SetCurrentWindow(iWin);
-	Client()->iGroup->GroupWin()->SetOrdinalPosition(0);
-	}
-
-TestState TTextTest::DoTestL()
-	{
-	switch(iState)
-		{
-		case 0:
-			LogSubTest(_L("SetWordJustification"),1);
-			iWin->SetDrawMode(EDrawModeWordJust);
- 			CActiveScheduler::Start();
-			iState++;
-			break;
-		case 1:
-			LogSubTest(_L("SetCharJustification"),2);
-			iWin->SetDrawMode(EDrawModeCharJust);
-			CActiveScheduler::Start();
-			iState++;
-			break;
-		case 2:
-			LogSubTest(_L("Text 1"),3);
-			iWin->SetDrawMode(EDrawModeFonts);
-			CActiveScheduler::Start();
-			iState++;
-			break;
-		default:
-			return(EFinished);
-		}
-	return(ENext);
-	}
-