equal
deleted
inserted
replaced
1 // Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 1995-2009 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 |
|
52 /** |
43 /** |
53 Character width and adjustment information. |
44 Character width and adjustment information. |
54 @publishedAll |
45 @publishedAll |
55 @released |
46 @released |
56 */ |
47 */ |
68 }; |
59 }; |
69 |
60 |
70 class CFbsRalCache; |
61 class CFbsRalCache; |
71 class CFbsSessionHelper; |
62 class CFbsSessionHelper; |
72 class CFbsRasterizer; |
63 class CFbsRasterizer; |
73 class TGlyphCacheMetrics; |
|
74 class TFbsOogmMessage; |
|
75 |
64 |
76 /** |
65 /** |
77 A session with the font and bitmap server. |
66 A session with the font and bitmap server. |
78 @publishedAll |
67 @publishedAll |
79 @released |
68 @released |
110 HBufC8* GetScanLineBuffer(); |
99 HBufC8* GetScanLineBuffer(); |
111 void SetCallBackPtr(TInt* aBitmapHandle)const; |
100 void SetCallBackPtr(TInt* aBitmapHandle)const; |
112 HBufC8* GetDecompressionBuffer(TInt aSize); |
101 HBufC8* GetDecompressionBuffer(TInt aSize); |
113 HBufC8* GetExtraBuffer(TInt aSize); |
102 HBufC8* GetExtraBuffer(TInt aSize); |
114 TInt ServerSessionHandle() const; |
103 TInt ServerSessionHandle() const; |
115 IMPORT_C TInt GetGlyphCacheMetrics(TGlyphCacheMetrics& aGlyphCacheMetrics); |
|
116 IMPORT_C TInt ConveyOogmMessage( TFbsOogmMessage& aOogmMessage ); |
|
117 |
|
118 public: |
104 public: |
119 /** WARNING: For internal use ONLY. Compatibility is not guaranteed in future releases. |
105 /** WARNING: For internal use ONLY. Compatibility is not guaranteed in future releases. |
120 Used for testing server side out of memory failures. |
106 Used for testing server side out of memory failures. |
121 @test |
107 @test |
122 */ |
108 */ |
141 HBufC8* iDecompressionBuffer; |
127 HBufC8* iDecompressionBuffer; |
142 HBufC8* iScanLineBuffer; |
128 HBufC8* iScanLineBuffer; |
143 TUint32* iSpare; |
129 TUint32* iSpare; |
144 }; |
130 }; |
145 |
131 |
146 /** forward declaration of some private classes. */ |
|
147 class TGetFontTableParam; |
|
148 class TReleaseGlyphOutlineParam; |
|
149 class TGetGlyphOutlineParam; |
|
150 |
|
151 |
|
152 /** |
132 /** |
153 Font managed by the font and bitmap server. |
133 Font managed by the font and bitmap server. |
154 CFbsFont objects are used for screen and off-screen bitmap fonts. They are |
134 CFbsFont objects are used for screen and off-screen bitmap fonts. They are |
155 usually obtained by calls to the CBitmapDevice::GetNearestFontInPixels() and |
135 usually obtained by calls to the CBitmapDevice::GetNearestFontInPixels() and |
156 MGraphicsDeviceMap::GetNearestFontInTwips() functions. |
136 MGraphicsDeviceMap::GetNearestFontInTwips() functions. |
161 @released |
141 @released |
162 */ |
142 */ |
163 class CFbsFont: public CFont |
143 class CFbsFont: public CFont |
164 { |
144 { |
165 friend class CFbsTypefaceStore; |
145 friend class CFbsTypefaceStore; |
166 friend class RFbsGlyphDataIterator; |
|
167 friend class RFbsGlyphMetricsArray; |
|
168 |
146 |
169 private: |
147 private: |
170 // From CFont |
148 // From CFont |
171 /** Gets the font's UID. |
149 /** Gets the font's UID. |
172 All CFbsFont objects have the constant UID KCFbsFontUid. It is safe to cast |
150 All CFbsFont objects have the constant UID KCFbsFontUid. It is safe to cast |
213 |
191 |
214 private: |
192 private: |
215 TInt DoFontGetShaping(TFontShapeFunctionParameters* aParam) const; |
193 TInt DoFontGetShaping(TFontShapeFunctionParameters* aParam) const; |
216 TInt DoFontDeleteShaping(TFontShapeDeleteFunctionParameters* aParam) const; |
194 TInt DoFontDeleteShaping(TFontShapeDeleteFunctionParameters* aParam) const; |
217 TInt DoTextWidthInPixels(const TDesC& aText,const TMeasureTextInput* aParam) const; |
195 TInt DoTextWidthInPixels(const TDesC& aText,const TMeasureTextInput* aParam) const; |
218 TInt DoGetFontTable(TGetFontTableParam * aParam) const; |
|
219 TInt DoGetGlyphOutline(TGetGlyphOutlineParam *aParam) const; |
|
220 TInt DoReleaseGlyphOutline(TReleaseGlyphOutlineParam *aParam) const; |
|
221 TInt DoReleaseFontTable(TUint32 *aParam) const; |
|
222 |
196 |
223 protected: |
197 protected: |
224 RFbsSession* iFbs; |
198 RFbsSession* iFbs; |
225 CBitmapFont* iAddressPointer; |
199 CBitmapFont* iAddressPointer; |
226 TInt iHandle; |
200 TInt iHandle; |
227 TInt iServerHandle; |
201 TInt iServerHandle; |
228 }; |
202 }; |
229 |
203 |
230 /** |
204 /** |
231 An interface for initialization of extended bitmaps. By implementing this interface, |
205 An interface for initialization of extended bitmaps. By implementing this interface, |
232 creators of extended bitmaps can set the contents of an extended bitmap without |
206 creators of extended bitmaps can set the contents of an extended bitmap without |
521 private: |
495 private: |
522 TColor256Util* iColor256Util; |
496 TColor256Util* iColor256Util; |
523 CDitherColor256* iDither; |
497 CDitherColor256* iDither; |
524 }; |
498 }; |
525 |
499 |
526 |
500 #endif |
527 /** |
|
528 A class encapsulating the current state of the glyph cache. |
|
529 |
|
530 @publishedAll |
|
531 @released |
|
532 */ |
|
533 class TGlyphCacheMetrics |
|
534 { |
|
535 public: |
|
536 TInt iMaxCacheSizeInBytes; |
|
537 TInt iMaxCacheSizeHigh; |
|
538 TInt iMaxCacheSizeLow; |
|
539 TInt iCacheSizeInBytes; |
|
540 TBool iGpuCacheSizeLimitIsMax; |
|
541 }; |
|
542 |
|
543 #endif // __FBS_H__ |
|
544 |
|