parent
76ca167b28
commit
2c4a21d3e3
2 changed files with 0 additions and 176 deletions
@ -1,56 +0,0 @@ |
||||
/***************************************************************************/ |
||||
/* */ |
||||
/* ftcmanag.h */ |
||||
/* */ |
||||
/* FreeType Cache Manager (specification). */ |
||||
/* */ |
||||
/* Copyright 2000 by */ |
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
||||
/* */ |
||||
/* This file is part of the FreeType project, and may only be used, */ |
||||
/* modified, and distributed under the terms of the FreeType project */ |
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
||||
/* this file you indicate that you have read the license and */ |
||||
/* understand and accept it fully. */ |
||||
/* */ |
||||
/***************************************************************************/ |
||||
|
||||
|
||||
#ifndef FTCMANAG_H |
||||
#define FTCMANAG_H |
||||
|
||||
#include <freetype/ftcache.h> |
||||
#include <cache/ftlru.h> |
||||
|
||||
|
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
|
||||
|
||||
#define FTC_MAX_FACES 4 |
||||
#define FTC_MAX_SIZES 8 |
||||
|
||||
|
||||
typedef struct FTC_ManagerRec_ |
||||
{ |
||||
FT_Library library; |
||||
FT_Lru faces_lru; |
||||
FT_Lru sizes_lru; |
||||
|
||||
FT_Pointer request_data; |
||||
FTC_Face_Requester request_face; |
||||
|
||||
} FTC_ManagerRec; |
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus |
||||
} |
||||
#endif |
||||
|
||||
|
||||
#endif /* FTCMANAG_H */ |
||||
|
||||
|
||||
/* END */ |
@ -1,120 +0,0 @@ |
||||
/***************************************************************************/ |
||||
/* */ |
||||
/* ftlru.h */ |
||||
/* */ |
||||
/* Simple LRU list-cache (specification). */ |
||||
/* */ |
||||
/* Copyright 2000 by */ |
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
||||
/* */ |
||||
/* This file is part of the FreeType project, and may only be used, */ |
||||
/* modified, and distributed under the terms of the FreeType project */ |
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
||||
/* this file you indicate that you have read the license and */ |
||||
/* understand and accept it fully. */ |
||||
/* */ |
||||
/***************************************************************************/ |
||||
|
||||
|
||||
#ifndef FTLRU_H |
||||
#define FTLRU_H |
||||
|
||||
#include <freetype/freetype.h> |
||||
|
||||
|
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
|
||||
|
||||
typedef FT_Pointer FT_LruKey; |
||||
|
||||
|
||||
typedef struct FT_LruNodeRec_ |
||||
{ |
||||
FT_ListNodeRec root; |
||||
FT_LruKey key; |
||||
|
||||
} FT_LruNodeRec, *FT_LruNode; |
||||
|
||||
|
||||
typedef struct FT_LruRec_* FT_Lru; |
||||
|
||||
|
||||
typedef struct FT_Lru_Class_ |
||||
{ |
||||
FT_UInt lru_size; /* object size in bytes */ |
||||
|
||||
FT_Error (*init_element)( FT_Lru lru, |
||||
FT_LruNode node ); |
||||
|
||||
void (*done_element)( FT_Lru lru, |
||||
FT_LruNode node ); |
||||
|
||||
FT_Error (*flush_element)( FT_Lru lru, |
||||
FT_LruNode node, |
||||
FT_LruKey new_key );
|
||||
|
||||
FT_Bool (*compare_element)( FT_LruNode node, |
||||
FT_LruKey key ); |
||||
|
||||
} FT_Lru_Class; |
||||
|
||||
|
||||
typedef FT_Bool (*FT_Lru_Selector)( FT_Lru lru, |
||||
FT_LruNode node, |
||||
FT_Pointer data ); |
||||
|
||||
|
||||
typedef struct FT_LruRec_ |
||||
{ |
||||
FT_Lru_Class* clazz; |
||||
FT_UInt max_elements; |
||||
FT_UInt num_elements; |
||||
FT_ListRec elements; |
||||
FT_Memory memory; |
||||
FT_Pointer user_data; |
||||
|
||||
/* the following fields are only meaningful for static lru containers */ |
||||
FT_ListRec free_nodes; |
||||
FT_LruNode nodes; |
||||
|
||||
} FT_LruRec; |
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Lru_New( const FT_Lru_Class* clazz, |
||||
FT_UInt max_elements, |
||||
FT_Pointer user_data, |
||||
FT_Memory memory, |
||||
FT_Bool pre_alloc, |
||||
FT_Lru* alru ); |
||||
|
||||
FT_EXPORT_DEF( void ) FT_Lru_Reset( FT_Lru lru );
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Lru_Done( FT_Lru lru );
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Lru_Lookup_Node( FT_Lru lru, |
||||
FT_LruKey key, |
||||
FT_LruNode* anode ); |
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Lru_Lookup( FT_Lru lru, |
||||
FT_LruKey key, |
||||
FT_Pointer* aobject ); |
||||
|
||||
FT_EXPORT_DEF( void ) FT_Lru_Remove_Node( FT_Lru lru, |
||||
FT_LruNode node );
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Lru_Remove_Selection( FT_Lru lru, |
||||
FT_Lru_Selector selector, |
||||
FT_Pointer data ); |
||||
|
||||
|
||||
#ifdef __cplusplus |
||||
} |
||||
#endif |
||||
|
||||
|
||||
#endif /* FTLRU_H */ |
||||
|
||||
|
||||
/* END */ |
Loading…
Reference in new issue