graphics/fntstore/inc/T_TestOpenFont.h
branchSymbian2
changeset 1 8758140453c0
child 6 c108117318cb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/fntstore/inc/T_TestOpenFont.h	Thu Jan 21 12:53:44 2010 +0000
@@ -0,0 +1,106 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Creates a dummy rasterizer and a dummy shaper for FontStore APIs testing.
+// 
+//
+
+#ifndef __T_TESTOPENFONT_H__
+#define __T_TESTOPENFONT_H__
+
+#include <fntstore.h>
+#include <openfont.h>
+#include <e32base.h>
+
+_LIT(KTestFont1, "dummy");
+_LIT(KTestFont2, "dummy_2");
+
+
+class CTestRasterizer : public COpenFontRasterizer
+	{
+public:
+	static CTestRasterizer* NewL();
+	COpenFontFile* NewFontFileL(TInt aUid, const TDesC& aFileName, RFs& aFileSession);
+	};
+	
+
+class CTestFontFile: public COpenFontFile
+	{
+public:
+	static CTestFontFile* NewL(TInt aUid,const TDesC& aFileName);
+
+	TBool GetNearestFontHelper(const TOpenFontSpec& aDesiredFontSpec, TInt aPixelWidth, TInt aPixelHeight,
+										TInt& aFaceIndex, TOpenFontSpec& aActualFontSpec) const;
+	void GetNearestFontInPixelsL(RHeap* aHeap, COpenFontSessionCacheList* aSessionCacheList,
+								 const TOpenFontSpec& aDesiredFontSpec, TInt aPixelWidth, TInt aPixelHeight,
+								 COpenFont*& aFont,TOpenFontSpec& aActualFontSpec);
+	void GetNearestFontToDesignHeightInPixelsL(RHeap* aHeap,COpenFontSessionCacheList* aSessionCacheList,
+								 const TOpenFontSpec& aDesiredFontSpec,TInt aPixelWidth,TInt aPixelHeight,
+								 COpenFont*& aFont,TOpenFontSpec& aActualFontSpec);
+	void GetNearestFontToMaxHeightInPixelsL(RHeap* aHeap,COpenFontSessionCacheList* aSessionCacheList,
+								 const TOpenFontSpec& aDesiredFontSpec,TInt aPixelWidth,TInt aPixelHeight,
+								 COpenFont*& aFont,TOpenFontSpec& aActualFontSpec, TInt aMaxHeight);
+	virtual TBool HasUnicodeCharacterL(TInt aFaceIndex,TInt aCode) const;
+
+private:
+	CTestFontFile(TInt aUid,const TDesC& aFileName);
+	void ConstructL();
+	};
+
+
+class CTestFont: public COpenFont
+	{
+public:
+	static CTestFont* NewL(RHeap* aHeap,COpenFontSessionCacheList* aSessionCacheList,CTestFontFile* aFontFile,TInt aSizeInPixels);
+private:
+	CTestFont(RHeap* aHeap,COpenFontSessionCacheList* aSessionCacheList,CTestFontFile* aFontFile,TInt aSizeInPixels);
+	virtual void RasterizeL(TInt aCode,TOpenFontGlyphData* aGlyphData);
+	};
+
+
+class CTestShaperFactory: public CShaperFactory
+	{
+public:
+	static CTestShaperFactory* NewL();
+	virtual ~CTestShaperFactory();
+	virtual CShaper* NewShaperL(CBitmapFont* aBitmapfont, TInt aScript, TInt aLanguage, RHeap* aHeap);
+
+private:
+	CTestShaperFactory();
+	};
+	
+
+class CTestShaper : public CShaper
+	{
+public:
+
+	static CShaper* NewL(CBitmapFont* aBitmapfont, TInt aScript, TInt aLanguage, RHeap* aHeap);
+	~CTestShaper();	
+	virtual TInt ShapeText(TShapeHeader*& aOutput, const TInput& aInput, RHeap* aHeapForOutput);
+		
+private:
+	CTestShaper();
+	TInt ConstructL(CBitmapFont* aBitmapfont, TInt aScript, TInt aLanguage, RHeap* iHeap);
+	TInt TestShapeTextL(TShapeHeader*& aOutput, const TInput& aInput, RHeap* aHeapForOutput);
+	
+private:	
+	RHeap* iClientHeap;
+	RHeap* iHeap;
+	TAny* iHeapMemory;
+ 	TInt32* iGlyphs;
+    TInt32* iIndices;
+    TInt32* iPositions;    
+    };
+
+#endif // __T_TESTOPENFONT_H__
+