| /* | |
| ************************************************************************* | |
| * © 2016 and later: Unicode, Inc. and others. | |
| * License & terms of use: http://www.unicode.org/copyright.html | |
| ************************************************************************* | |
| ********************************************************************** | |
| * Copyright (C) 2003-2008, International Business Machines | |
| * Corporation and others. All Rights Reserved. | |
| ********************************************************************** | |
| */ | |
| #ifndef __FONTTABLECACHE_H | |
| #define __FONTTABLECACHE_H | |
| #include "layout/LETypes.h" | |
| struct FontTableCacheEntry; | |
| class FontTableCache | |
| { | |
| public: | |
| FontTableCache(); | |
| virtual ~FontTableCache(); | |
| const void *find(LETag tableTag) const; | |
| protected: | |
| virtual const void *readFontTable(LETag tableTag) const = 0; | |
| virtual void freeFontTable(const void *table) const; | |
| private: | |
| void add(LETag tableTag, const void *table); | |
| FontTableCacheEntry *fTableCache; | |
| le_int32 fTableCacheCurr; | |
| le_int32 fTableCacheSize; | |
| }; | |
| #endif | |