]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/perf/leperf/FontTableCache.h
ICU-57166.0.1.tar.gz
[apple/icu.git] / icuSources / test / perf / leperf / FontTableCache.h
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