1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* 2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ********************************************************************** 359d709d503bab6e2b61931737e662dd293b40578ccornelius * Copyright (C) 2003-2013, 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 2559d709d503bab6e2b61931737e662dd293b40578ccornelius const void *find(LETag tableTag, size_t &length) const; 26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruprotected: 2859d709d503bab6e2b61931737e662dd293b40578ccornelius virtual const void *readFontTable(LETag tableTag, size_t &length) const = 0; 2985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho virtual void freeFontTable(const void *table) const; 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruprivate: 32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 3359d709d503bab6e2b61931737e662dd293b40578ccornelius void add(LETag tableTag, const void *table, size_t length); 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