]>
Commit | Line | Data |
---|---|---|
57a6839d | 1 | /* |
f3c0d7a5 A |
2 | ********************************************************************** |
3 | * © 2016 and later: Unicode, Inc. and others. | |
4 | * License & terms of use: http://www.unicode.org/copyright.html#License | |
5 | ********************************************************************** | |
57a6839d A |
6 | ********************************************************************** |
7 | * Copyright (C) 2003-2013, International Business Machines | |
8 | * Corporation and others. All Rights Reserved. | |
9 | ********************************************************************** | |
10 | */ | |
11 | ||
12 | #ifndef __FONTTABLECACHE_H | |
13 | ||
14 | #define __FONTTABLECACHE_H | |
15 | ||
16 | #include "layout/LETypes.h" | |
17 | ||
18 | U_NAMESPACE_USE | |
19 | ||
20 | struct FontTableCacheEntry; | |
21 | ||
22 | class FontTableCache | |
23 | { | |
24 | public: | |
25 | FontTableCache(); | |
26 | ||
27 | virtual ~FontTableCache(); | |
28 | ||
29 | const void *find(LETag tableTag, size_t &length) const; | |
30 | ||
31 | protected: | |
32 | virtual const void *readFontTable(LETag tableTag, size_t &length) const = 0; | |
33 | virtual void freeFontTable(const void *table) const; | |
34 | ||
35 | private: | |
36 | ||
37 | void add(LETag tableTag, const void *table, size_t length); | |
38 | ||
39 | FontTableCacheEntry *fTableCache; | |
40 | le_int32 fTableCacheCurr; | |
41 | le_int32 fTableCacheSize; | |
42 | }; | |
43 | ||
44 | #endif | |
45 |