diff -r e8c1ea2c6496 -r 8758140453c0 graphics/fntstore/inc/T_TestOpenFont.h --- /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 +#include +#include + +_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__ +