1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/*
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru **********************************************************************
385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho *   Copyright (C) 2003-2008, International Business Machines
4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *   Corporation and others.  All Rights Reserved.
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru **********************************************************************
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef __FONTTABLECACHE_H
9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define __FONTTABLECACHE_H
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "layout/LETypes.h"
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_USE
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct FontTableCacheEntry;
17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass FontTableCache
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querupublic:
21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    FontTableCache();
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    virtual ~FontTableCache();
24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    const void *find(LETag tableTag) const;
26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruprotected:
28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    virtual const void *readFontTable(LETag tableTag) const = 0;
2985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho    virtual void freeFontTable(const void *table) const;
30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruprivate:
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void add(LETag tableTag, const void *table);
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    FontTableCacheEntry *fTableCache;
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_int32 fTableCacheCurr;
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_int32 fTableCacheSize;
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
42