fbs/fontandbitmapserver/inc/FBS.H
changeset 187 9f66f99ee56f
parent 36 01a6848ebfd7
child 160 969102054596
equal deleted inserted replaced
103:2717213c588a 187:9f66f99ee56f
     1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    38 @publishedAll
    38 @publishedAll
    39 @released
    39 @released
    40 */
    40 */
    41 #define SYMBIAN_FBSERV_V2
    41 #define SYMBIAN_FBSERV_V2
    42 
    42 
       
    43 /**
       
    44 Indicates version of FBS that provides the CFbsFont extension 
       
    45 interfaces RFbsGlyphDataIterator for using hardware glyphs, and
       
    46 RFbsGlyphMetricsArray.
       
    47 @publishedAll
       
    48 @prototype
       
    49 */
       
    50 //#define SYMBIAN_FBSERV_GLYPHDATA
       
    51 
    43 /** 
    52 /** 
    44 Character width and adjustment information. 
    53 Character width and adjustment information. 
    45 @publishedAll
    54 @publishedAll
    46 @released
    55 @released
    47 */
    56 */
    59 	};
    68 	};
    60 
    69 
    61 class CFbsRalCache;
    70 class CFbsRalCache;
    62 class CFbsSessionHelper;
    71 class CFbsSessionHelper;
    63 class CFbsRasterizer;
    72 class CFbsRasterizer;
       
    73 class TGlyphCacheMetrics;
       
    74 class TFbsOogmMessage;
    64 
    75 
    65 /** 
    76 /** 
    66 A session with the font and bitmap server. 
    77 A session with the font and bitmap server. 
    67 @publishedAll 
    78 @publishedAll 
    68 @released
    79 @released
    99 	HBufC8* GetScanLineBuffer();
   110 	HBufC8* GetScanLineBuffer();
   100 	void SetCallBackPtr(TInt* aBitmapHandle)const;
   111 	void SetCallBackPtr(TInt* aBitmapHandle)const;
   101 	HBufC8* GetDecompressionBuffer(TInt aSize);
   112 	HBufC8* GetDecompressionBuffer(TInt aSize);
   102 	HBufC8* GetExtraBuffer(TInt aSize);
   113 	HBufC8* GetExtraBuffer(TInt aSize);
   103     TInt ServerSessionHandle() const;
   114     TInt ServerSessionHandle() const;
       
   115     IMPORT_C TInt GetGlyphCacheMetrics(TGlyphCacheMetrics& aGlyphCacheMetrics);
       
   116     IMPORT_C TInt ConveyOogmMessage( TFbsOogmMessage& aOogmMessage );
       
   117 
   104 public:
   118 public:
   105 	/** WARNING: For internal use ONLY.  Compatibility is not guaranteed in future releases.	 
   119 	/** WARNING: For internal use ONLY.  Compatibility is not guaranteed in future releases.	 
   106 	Used for testing server side out of memory failures.	
   120 	Used for testing server side out of memory failures.	
   107 	@test
   121 	@test
   108 	*/
   122 	*/
   147 @released
   161 @released
   148 */
   162 */
   149 class CFbsFont: public CFont
   163 class CFbsFont: public CFont
   150 	{
   164 	{
   151 	friend class CFbsTypefaceStore;
   165 	friend class CFbsTypefaceStore;
       
   166 	friend class RFbsGlyphDataIterator;
       
   167 	friend class RFbsGlyphMetricsArray;
   152 
   168 
   153 private:
   169 private:
   154 	// From CFont
   170 	// From CFont
   155 	/** Gets the font's UID. 
   171 	/** Gets the font's UID. 
   156 	All CFbsFont objects have the constant UID KCFbsFontUid. It is safe to cast 
   172 	All CFbsFont objects have the constant UID KCFbsFontUid. It is safe to cast 
   206 
   222 
   207 protected:
   223 protected:
   208 	RFbsSession* iFbs;
   224 	RFbsSession* iFbs;
   209 	CBitmapFont* iAddressPointer;
   225 	CBitmapFont* iAddressPointer;
   210 	TInt iHandle;
   226 	TInt iHandle;
   211 	TInt iServerHandle;
   227     TInt iServerHandle;
   212 	};
   228 	};
   213 
   229 
   214 /**
   230 /**
   215 An interface for initialization of extended bitmaps. By implementing this interface, 
   231 An interface for initialization of extended bitmaps. By implementing this interface, 
   216 creators of extended bitmaps can set the contents of an extended bitmap without 
   232 creators of extended bitmaps can set the contents of an extended bitmap without 
   503 private:
   519 private:
   504 	TColor256Util* iColor256Util;
   520 	TColor256Util* iColor256Util;
   505 	CDitherColor256* iDither;
   521 	CDitherColor256* iDither;
   506 	};
   522 	};
   507 
   523 
   508 #endif
   524 
       
   525 /**
       
   526  A class encapsulating the current state of the glyph cache.
       
   527 
       
   528  @publishedAll
       
   529  @released
       
   530 */
       
   531 class TGlyphCacheMetrics
       
   532     {
       
   533 public:
       
   534     TInt iMaxCacheSizeInBytes;
       
   535     TInt iMaxCacheSizeHigh;
       
   536     TInt iMaxCacheSizeLow;
       
   537     TInt iCacheSizeInBytes;
       
   538     TBool iGpuCacheSizeLimitIsMax;
       
   539     };
       
   540 
       
   541 #endif // __FBS_H__
       
   542