fontservices/fontstore/inc/openfontsprivate.h
branchRCL_3
changeset 18 dd58c6eee052
parent 17 336bee5c2d35
equal deleted inserted replaced
17:336bee5c2d35 18:dd58c6eee052
   131 	inline const COpenFont* Font()const;
   131 	inline const COpenFont* Font()const;
   132 
   132 
   133 private:
   133 private:
   134 	inline COpenFontSessionCacheEntry(const COpenFont* aFont, TInt aCode, TInt aGlyphIndex, const TOpenFontCharMetrics& aMetrics);
   134 	inline COpenFontSessionCacheEntry(const COpenFont* aFont, TInt aCode, TInt aGlyphIndex, const TOpenFontCharMetrics& aMetrics);
   135 	~COpenFontSessionCacheEntry();
   135 	~COpenFontSessionCacheEntry();
   136 public:
       
   137     TInt iLastAccess;               // serial number of the last access to the glyph
       
   138 
   136 
   139 private: 
   137 private: 
   140     TInt iFontOffset;          // offset of the font that contains this glyph, (not owned by this class!)    
   138     TInt iFontOffset;          // offset of the font that contains this glyph, (not owned by this class!)    
   141 	};
   139 	};
   142 
   140 
   146 
   144 
   147  @internalComponent
   145  @internalComponent
   148  */
   146  */
   149 class COpenFontSessionCache
   147 class COpenFontSessionCache
   150     {
   148     {
       
   149 	friend class COpenFontSessionCacheList;
   151 public:
   150 public:
   152     static COpenFontSessionCache* NewL(RHeap* aHeap, TInt aSessionHandle, TInt aEntries);
   151     static COpenFontSessionCache* NewL(RHeap* aHeap, TInt aSessionHandle, TInt aEntries);
   153     void Delete(RHeap* aHeap);
   152     void Delete(RHeap* aHeap);
   154     
   153     
   155     TInt SessionHandle() { return iSessionHandle; }
   154     TInt SessionHandle() { return iSessionHandle; }
   156     const COpenFontGlyph* Glyph(const COpenFont* aFont, TInt aCode, TInt& aIndex);
   155     const COpenFontGlyph* Glyph(const COpenFont* aFont, TInt aCode, TInt& aIndex) const;
   157     void Insert(RHeap* aHeap, COpenFontSessionCacheEntry* aEntry, TInt aIndex);
   156     void Insert(RHeap* aHeap, COpenFontSessionCacheEntry* aEntry, TInt aIndex);
   158     
   157     
   159 private:
   158 private:
   160     COpenFontSessionCache(TInt aSessionHandle);
   159     COpenFontSessionCache(TInt aSessionHandle);
   161     ~COpenFontSessionCache();
   160     ~COpenFontSessionCache();
   162 public:
   161 private:
   163     TInt iSessionHandle;    
   162     TInt iSessionHandle;
   164     TInt iLastAccess;
   163     TInt64 iRandomSeed;
   165     ROffsetArray<COpenFontSessionCacheEntry> iEntryArray;
   164     ROffsetArray<COpenFontSessionCacheEntry> iEntryArray;
   166     };
   165     };
   167 
   166 
   168 
   167 
   169 // inline functions
   168 // inline functions