--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fontservices/fontstore/tfs/T_FSOPEN.H Tue Feb 02 02:02:46 2010 +0200
@@ -0,0 +1,127 @@
+/*
+* 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:
+* Tests FNTSTORE with respect to the Open Font system.
+* Creates a dummy rasterizer and tests font file loading and unloading and
+* font creation. This just exercises the way the Open Font system connects to the
+* 'classic' bitmap-font-only font system.
+*
+*/
+
+
+#ifndef __T_FSOPEN_H__
+#define __T_FSOPEN_H__
+
+#include <fntstore.h>
+#include <openfont.h>
+#include <e32base.h>
+#include "TGraphicsHarness.h"
+#include <graphics/openfontrasterizer.h>
+
+class CTFsOpen : public CTGraphicsBase
+ {
+public:
+ CTFsOpen(CTestStep* aStep);
+ ~CTFsOpen();
+protected:
+//from CTGraphicsStep
+ virtual void RunTestCaseL(TInt aCurTestCase);
+ virtual void ConstructL();
+private:
+ void TestFont(const TFontSpec& aSpec);
+ void AddAndRemoveFilesL();
+ void CreateAndReleaseFontsL();
+ void CreateShaperL();
+#ifdef _DEBUG
+ void TestGetNearestFontHelperL();
+#endif //_DEBUG
+private:
+ RHeap* iHeap;
+ CFontStore* iFontStore;
+ RFs iFilesys;
+ };
+
+class CTFsOpenStep : public CTGraphicsStep
+ {
+public:
+ CTFsOpenStep();
+protected:
+ //from CTGraphicsStep
+ virtual CTGraphicsBase* CreateTestL();
+ virtual void TestSetupL();
+ };
+
+_LIT(KTFsOpenStep,"TFsOpen");
+
+
+// make dummy font rasterizer available to t_fntmem
+
+class CDummyRasterizer: public COpenFontRasterizer
+ {
+public:
+ static CDummyRasterizer* NewL();
+ // virtual function from COpenFontRasterizer
+ COpenFontFile* NewFontFileL(TInt aUid,const TDesC& aFileName,RFs& aFileSession);
+ };
+
+// dummy shaper factory to create dummy shaper
+
+class CDummyShaperFactory: public CShaperFactory
+ {
+public:
+ static CDummyShaperFactory* NewL();
+ virtual ~CDummyShaperFactory();
+ virtual CShaper* NewShaperL(CBitmapFont* aBitmapfont, TInt aScript, TInt aLanguage, RHeap* aHeap);
+
+private:
+ CDummyShaperFactory();
+
+ };
+
+// dummy shaper
+
+class CDummyShaper : public CShaper
+ {
+public:
+
+ static CShaper* NewL(CBitmapFont* aBitmapfont, TInt aScript, TInt aLanguage, RHeap* aHeap);
+ ~CDummyShaper();
+
+ virtual TInt ShapeText(TShapeHeader*& aOutput, const TInput& aInput, RHeap* aHeapForOutput);
+
+private:
+ CDummyShaper();
+ TInt ConstructL(CBitmapFont* aBitmapfont, TInt aScript, TInt aLanguage, RHeap* iHeap);
+
+ // leaving version of shaping method
+ TInt DummyShapeTextL(TShapeHeader*& aOutput, const TInput& aInput, RHeap* aHeapForOutput);
+
+ // the client heap pointer passed in during construction
+ RHeap* iClientHeap;
+
+ // the private heap used by the shaper
+ RHeap* iHeap;
+
+ // memory allocated for the private heap
+ TAny* iHeapMemory;
+
+ // buffers used to hold results from the Icu Layout engine
+ TInt32* iGlyphs;
+ TInt32* iIndices;
+ TInt32* iPositions;
+
+ };
+
+#endif
+