1/* 2 ********************************************************************** 3 * Copyright (C) 2003-2013, International Business Machines 4 * Corporation and others. All Rights Reserved. 5 ********************************************************************** 6 */ 7 8#ifndef __FONTTABLECACHE_H 9 10#define __FONTTABLECACHE_H 11 12#include "layout/LETypes.h" 13 14U_NAMESPACE_USE 15 16struct FontTableCacheEntry; 17 18class FontTableCache 19{ 20public: 21 FontTableCache(); 22 23 virtual ~FontTableCache(); 24 25 const void *find(LETag tableTag, size_t &length) const; 26 27protected: 28 virtual const void *readFontTable(LETag tableTag, size_t &length) const = 0; 29 virtual void freeFontTable(const void *table) const; 30 31private: 32 33 void add(LETag tableTag, const void *table, size_t length); 34 35 FontTableCacheEntry *fTableCache; 36 le_int32 fTableCacheCurr; 37 le_int32 fTableCacheSize; 38}; 39 40#endif 41 42