fbs/fontandbitmapserver/sfbs/UTILS.H
branchRCL_3
changeset 164 25ffed67c7ef
parent 163 bbf46f59e123
--- a/fbs/fontandbitmapserver/sfbs/UTILS.H	Tue Aug 31 16:31:06 2010 +0300
+++ b/fbs/fontandbitmapserver/sfbs/UTILS.H	Wed Sep 01 12:39:21 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 1998-2010 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1998-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"
@@ -20,9 +20,8 @@
 #include <gdi.h>
 #include <fntstore.h>
 #include <bitmap.h>
-#include <sgresource/sgimage.h>
 
-class RFbsSession;
+
 
 /**
 @internalComponent
@@ -44,43 +43,35 @@
 */
 enum TFbsPanic
 	{
-	EFbsPanicNoConnection = 1,
-	EFbsPanicBadConnection = 2,
-	EFbsPanicUnknownMessage = 3,
-	EFbsPanicActiveSchedulerError = 4,
-	EFbsPanicStartupFailed = 5,
-	EFbsTypefaceStoreError = 6,
-	EFbsFontCreateFailed = 7,
-	EFbsFontAddressViolation = 8,
-	EFbsBitmapInvalidFormat = 9,
-	EFbsBitmapInvalidMode = 10,
-	EFbsBitmapInvalidCompression = 11,
-	EFbsBitmapDecompressionError = 12,
-	EFbsPanicChunkError = 13,
-	EFbsColor256UtilError = 14,
-	EFbsHardwareBitmapError = 15,
-	EFbsNotSupportedForCompression = 16,
-	EFbsBitmapAlignment = 17,
-	EFbsBitmapInvalidScanLinePtr = 18,
-	EFbsBitmapInvalidMode2 = 19,
-	EFbsBitmapInvalidMode3 = 20,
-	EFbsBitmapSwappingImpossible = 21,
-	EFbsPanicBadHeapLock = 22,
-	EFbsShaperNotYetCalled = 23,
-	EFbsShaperInvalidArguments = 24,
-	EFbsInvalidCompressionThreshold = 25,
-	EFbsTypefaceIndexOutOfRange = 26,
-	EFbsPanicBitmapDataCopy = 27,
-	EFbsPanicBitmapReadOnly = 28,
-	EFbsPanicFontNullHandle = 29,
-    EFbsPanicGlyphDataIteratorClosed = 31,
-	EFbsPanicGlyphMetricsArrayOutOfBounds = 32,
-	EFbsPanicGlyphDataIteratorIndexOutOfRange = 33,
-	EFbsPanicInvalidBitmapType = 35,
-	EFbsPanicGlyphAtlasInconsistentState = 36,
-	EFbsPanicGlyphDataIteratorFailedToOpenImage = 37,
-	EFbsPanicGlyphDataIteratorInvalidState = 39,
-	EFbsPanicGlyphMetricsArrayInvalidState = 40,
+	EFbsPanicNoConnection=1,
+	EFbsPanicBadConnection,
+	EFbsPanicUnknownMessage,
+	EFbsPanicActiveSchedulerError,
+	EFbsPanicStartupFailed,
+	EFbsTypefaceStoreError,
+	EFbsFontCreateFailed,
+	EFbsFontAddressViolation,
+	EFbsBitmapInvalidFormat,
+	EFbsBitmapInvalidMode,
+	EFbsBitmapInvalidCompression,
+	EFbsBitmapDecompressionError,
+	EFbsPanicChunkError,
+	EFbsColor256UtilError,
+	EFbsHardwareBitmapError,
+	EFbsNotSupportedForCompression,
+	EFbsBitmapAlignment,
+	EFbsBitmapInvalidScanLinePtr,
+	EFbsBitmapInvalidMode2,
+	EFbsBitmapInvalidMode3,
+	EFbsBitmapSwappingImpossible,
+	EFbsPanicBadHeapLock,
+	EFbsShaperNotYetCalled,
+	EFbsShaperInvalidArguments,
+	EFbsInvalidCompressionThreshold,
+	EFbsTypefaceIndexOutOfRange,
+	EFbsPanicBitmapDataCopy,
+	EFbsPanicBitmapReadOnly,
+	EFbsPanicInvalidBitmapType
 	};
 
 class TScanLine
@@ -134,9 +125,9 @@
 @internalComponent
 */
 	{
-public:
-	TSizeInfo(){}
-	TSizeInfo(TInt aMaxHeight,TSize aDevSize):iMaxHeight(aMaxHeight),iDevSize(aDevSize) {}
+	public:
+		TSizeInfo(){}
+		TSizeInfo(TInt aMaxHeight,TSize aDevSize):iMaxHeight(aMaxHeight),iDevSize(aDevSize) {}
 
 	TInt iMaxHeight;
 	TSize iDevSize;
@@ -191,8 +182,7 @@
 	void ShrinkSmallSection(TInt aShrinkBy);
 private:
 	RChunk iChunk;
-	TInt iPageSize;
-	TInt iPageMask;
+	TInt iPageSize, iPageMask;
 	RPointerArray<TUint8> iSmallCells; // last address is not a cell but the top of the small section
 	RArray<TInt> iFreeSmallCellLinks; // index of Nth free small cell is element 0 + element 1 + ... + element N-1
 	TInt iLargeSectionBottom; // boundary between small & large sections
@@ -248,100 +238,6 @@
 	EFbsWdpPageBitmapDataAndSharedHeapChunksOnly=0x04, //SYMBIAN_GRAPHICS_FBSERV_PAGE_BITMAP_DATA_AND_SHARED_HEAP_ONLY was specified.
 	};
 
-
-/*
-Structure used to pass parameters from FBS client to FBS server.
-Used when opening/closing an outline iterator.
-@internalTechnology
-*/
-class TFBSGlyphOutlineParam 
-    {
-public:
-    TInt iHandle;
-    TInt iCount;
-    TBool iHinted;
-    };
-
-/*
-Structure used to pass font table/glyph outlines from FBS to FBS client.
-Used when opening an font table or an outline iterator.
-@internalTechnology
-*/
-class TOffsetLen 
-    {
-public:
-    TInt iOffset;
-    TInt iLen;
-    };
-
-/**
-Maximum number of glyphs to be sent to server/received from client at a time, 
-when retrieval of glyphs is necessary for implementation of RFbsGlyphDataIterator.
-*/
-const TInt KMaxGlyphBatchSize = 8;
-
-/**
-Maximum number of TOpenFontCharMetrics structures to be sent to server/received
-from client at a time, when retrieval of glyph metrics is necessary for
-implementation of RFbsGlyphMetricsArray.
-*/
-const TInt KMaxMetricsBatchSize = 16;
+#endif
 
-/**
-Used by RFbsGlyphDataIterator for client/server communication of glyph info.
-Contains all the data necessary to retrieve a glyph from server and recreate
-glyph in client process.
-@internalComponent 
- */
-class TGlyphImageInfo
-    {
-public:
-    inline TGlyphImageInfo() : iImageId(KSgNullDrawableId), iPosX(0), iPosY(0) {}
-public:
-    TSgDrawableId iImageId;
-    TInt16 iPosX;
-    TInt16 iPosY;
-    TOpenFontCharMetrics iMetrics;
-    };
 
-/**
-Used by CGlyphDataIteratorImpl. It is a container to group the 
-metadata and the image data of an individual glyph recevied from the
-server, all together. A collection of these is stored in the font,
-received from the server in batches.
-@internalComponent 
-*/
-struct TGlyphBatchItem
-    {
-    TSglQueLink iLink;
-    RSgImage iImage;
-    TGlyphImageInfo iInfo;
-    };
-
-/**
-Implementor class of RFbsGlyphDataIterator. This class contains all
-state information and contains much of the implementation of the
-behaviour.
-@internalComponent 
- */
-NONSHARABLE_CLASS(CGlyphDataIteratorImpl) : public CBase
-    {
-public:
-    CGlyphDataIteratorImpl(TInt aFbsFontHandle, const TUint* aGlyphCodes, TInt aCount);
-    ~CGlyphDataIteratorImpl();
-    TInt Initialise();
-    TInt Next();
-    void UpdateGlyphRect();
-    TInt UpdateGlyphBatch(TInt aIndex);
-    
-public:    
-    TSglQue<TGlyphBatchItem> iGlyphBatch;   // Linked-list of the current batch of received glyphs.
-    const TUint* iGlyphDataIterCodes;       // An array of glyph codes
-    TInt  iGlyphDataIterCodeCount;          // The number of glyph codes in the array
-    TInt  iGlyphDataIterCodeIndex;          // The index of the current glyph code in the array
-    TRect iGlyphDataIterRect;               // The current glyph rectangle.
-    TInt  iFbsFontHandle;                   // The Font Handle the iterator was opened with  
-    RFbsSession* iFbs;
-    };
-
-#endif