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 14 U_NAMESPACE_USE 15 16 struct FontTableCacheEntry; 17 18 class FontTableCache 19 { 20 public: 21 FontTableCache(); 22 23 virtual ~FontTableCache(); 24 25 const void *find(LETag tableTag, size_t &length) const; 26 27 protected: 28 virtual const void *readFontTable(LETag tableTag, size_t &length) const = 0; 29 virtual void freeFontTable(const void *table) const; 30 31 private: 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