--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicstest/uibench/src/tfbsfonthandleperf.h Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,101 @@
+// Copyright (c) 2005-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:
+// fbsfonthandleperf.h
+//
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code
+*/
+
+#ifndef __TFBSFONTHANDLEPERF_H__
+#define __TFBSFONTHANDLEPERF_H__
+
+#include "te_graphicsperformanceSuiteStepBase.h"
+#include <test/ttmsgraphicsstep.h>
+#include <graphics/openfontrasterizer.h>
+
+//******** CDummyFontFile **********//
+
+class CDummyFontFile: public COpenFontFile
+ {
+public:
+ static CDummyFontFile* NewL(TInt aUid,const TDesC& aFileName);
+private:
+ CDummyFontFile(TInt aUid,const TDesC& aFileName);
+ ~CDummyFontFile();
+ void ConstructL();
+ void GetNearestFontInPixelsL(RHeap* aHeap,COpenFontSessionCacheList* aSessionCacheList,
+ const TOpenFontSpec& aDesiredFontSpec,TInt aPixelWidth,TInt aPixelHeight,
+ COpenFont*& aFont,TOpenFontSpec& aActualFontSpec);
+ TBool HasUnicodeCharacterL(TInt /*aFaceIndex*/,TInt /*aCode*/) const;
+private:
+ RFs iFs;
+ RFile iFile;
+ };
+
+//********** CDummyRasterizer **********//
+
+class CDummyRasterizer: public COpenFontRasterizer
+ {
+public:
+ static CDummyRasterizer* NewL();
+ // virtual function from COpenFontRasterizer
+ COpenFontFile* NewFontFileL(TInt aUid,const TDesC& aFileName,RFs& aFileSession);
+ };
+
+//*********** CDummy Font **********************//
+class CDummyFont: public COpenFont
+ {
+public:
+ static CDummyFont* NewL(RHeap* aHeap,COpenFontSessionCacheList* aSessionCacheList,CDummyFontFile* aFontFile,TInt aSizeInPixels);
+private:
+ CDummyFont(RHeap* aHeap,COpenFontSessionCacheList* aSessionCacheList,CDummyFontFile* aFontFile,TInt aSizeInPixels);
+ // From COpenFont
+ virtual void RasterizeL(TInt aCode,TOpenFontGlyphData* aGlyphData);
+ inline void operator delete (TAny *){} //to avoid warning
+ inline void operator delete (TAny *, TAny* ){} //to avoid warning
+ };
+
+
+class CTFbsFontHandlePerf : public CTe_graphicsperformanceSuiteStepBase
+ {
+public:
+ CTFbsFontHandlePerf();
+
+private:
+ void FontDuplicateL();
+ void FontGetNearestFontToDesignHeightInPixelsL(const TDesC& aFontName, const TDesC& aTestName);
+ void AddAndRemoveFilesL(TBool aTestOpenFont);
+ void AddingOpenedFontFilesL(TBool aTestOpenFont);
+ void FontDrawTextGlyphCacheL(const TDesC& aFontName, const TDesC& aTestName, const TDesC& aOutputText);
+ void FontDrawStringWithoutGlyphCacheL(const TDesC& aFontName, const TDesC& aTestName, TInt aFontHeight,const TDesC& aOutputString);
+ void FindFontSizeL();
+ void NonAliasedFontCreationL();
+ void AliasedFontCreationL();
+ void FontCreationPerformanceL(CFbsTypefaceStore* aTs, const TDesC& aFontName, const TDesC& aTestDescription);
+
+ // From CStepStep
+ virtual TVerdict doTestStepPreambleL();
+ virtual TVerdict doTestStepL();
+
+private:
+ CBitmapDevice* iDevice;
+ };
+
+_LIT(KTFbsFontHandlePerfName,"tfbsfonthandleperf");
+
+#endif