sl@0: /* sl@0: * Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: #ifndef __FNTBODY_OLD_H__ sl@0: #define __FNTBODY_OLD_H__ sl@0: sl@0: #include sl@0: #include "FNTSTD.H" sl@0: #include "FNTBODY.H" sl@0: sl@0: class TBitmapCodeSectionOld : public TCodeSection sl@0: { sl@0: public: sl@0: TBitmapCodeSectionOld(RHeap* aHeap); sl@0: void InternalizeL(RReadStream& aStream); sl@0: void RestoreComponentsL(const CStreamStore& aStreamStore); sl@0: void FixUpComponents(TInt aFileAddress); sl@0: void DeleteComponents(); sl@0: void operator delete(TAny*); sl@0: void operator delete(TAny*,TAny*) {} // To prevent compiler warning sl@0: TBitmapFontCharacterOffset* CharacterOffsetsList() const; sl@0: TUint8* Bitmap() const; sl@0: sl@0: private: sl@0: void InternalizeOffsetsL(RReadStream& aStream); sl@0: void InternalizeBitmapL(RReadStream& aStream); sl@0: sl@0: RHeap* iHeap; sl@0: TStreamId iOffsetsId; sl@0: TInt iCharacterOffsetsListOffset; sl@0: TStreamId iBitmapId; sl@0: TInt iBitmapOffset; sl@0: }; sl@0: sl@0: class CFontBitmapOld : public CBase sl@0: { sl@0: public: sl@0: CFontBitmapOld(RHeap* aHeap,CFontStoreFile* aFontStoreFile); sl@0: void InternalizeL(RReadStream &aStream); sl@0: void UseL(); sl@0: void Release(); sl@0: TBitmapFontCharacterMetrics CharacterMetrics(TInt aCode,const TUint8*& aBytes) const; sl@0: void operator delete(TAny*); sl@0: void operator delete(TAny*,TAny*) {} // To prevent compiler warning sl@0: void SetPosture(TFontPosture aPosture); sl@0: TFontPosture Posture(); sl@0: void SetStrokeWeight(TFontStrokeWeight aStrokeWeight); sl@0: TFontStrokeWeight StrokeWeight(); sl@0: void SetIsProportional(TBool aIsProportional); sl@0: TBool IsProportional(); sl@0: CFontStoreFile* FontStoreFile() const; sl@0: protected: sl@0: ~CFontBitmapOld(); sl@0: void RestoreComponentsL(); // Has reference to FontStoreFile sl@0: void DeleteComponents(); sl@0: TBitmapCodeSectionOld* CodeSectionList() const; sl@0: TCharacterMetricsTable* MetricsTable() const; sl@0: public: sl@0: RHeap* iHeap; sl@0: TInt iFontStoreFileOffset; sl@0: TUid iUid; sl@0: protected: sl@0: TInt8 iPosture; sl@0: TInt8 iStrokeWeight; sl@0: TInt8 iIsProportional; sl@0: TBool iIsInRAM; sl@0: TInt iUsageCount; sl@0: public: sl@0: TInt8 iCellHeightInPixels; sl@0: TInt8 iAscentInPixels; sl@0: TInt8 iMaxCharWidthInPixels; sl@0: TInt8 iMaxNormalCharWidthInPixels; sl@0: TInt iBitmapEncoding; sl@0: TInt iNumCodeSections; sl@0: TInt iCodeSectionListOffset; sl@0: private: sl@0: TCharacterMetricsTable iCharacterMetricsTable; sl@0: }; sl@0: sl@0: #endif // __FNTBODY_OLD_H__