--- 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);
- }
-