diff -r 000000000000 -r 5d03bc08d59c graphicsapitest/graphicssvs/fntstore/inc/T_TestOpenFont.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graphicsapitest/graphicssvs/fntstore/inc/T_TestOpenFont.h Tue Feb 02 01:47:50 2010 +0200 @@ -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 "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: +// 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__ +