summaryrefslogtreecommitdiff
path: root/src/cache/ftcint.h
blob: 3e3f2564cf5c6efb64743e91468c31dee01c5fab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef __FT_CACHE_INTERNALS_H__
#define __FT_CACHE_INTERNALS_H__

#include <ft2build.h>
#include FT_CACHE_H

#define FTC_MAX_FACES_DEFAULT  2
#define FTC_MAX_SIZES_DEFAULT  4
#define FTC_MAX_BYTES_DEFAULT  200000L  /* ~200kByte by default */

/* maximum number of caches registered in a single manager
 */
#define FTC_MAX_CACHES         16


/* internal fields of the @FTC_ManagerRec structure
 */
#define  FTC_MANAGER_PRIVATE                         \
    FTC_Node            nodes_list;                  \
    FT_ULong            max_weight;                  \
                                                     \
    FTC_Cache           caches[FTC_MAX_CACHES];      \
    FT_UInt             num_caches;                  \
                                                     \
    FTC_MruListRec      faces;                       \
    FTC_MruListRec      sizes;                       \
                                                     \
    FT_Pointer          request_data;                \
    FTC_Face_Requester  request_face;                \
                                                     \
    FT_UInt             retry_depth;                 \
    FT_UInt             retry_num_nodes;             \
    FT_UInt             retry_num_faces;             \
    FT_UInt             retry_overflow;

#include FT_CACHE_INTERNAL_MANAGER_H

  FT_LOCAL( void )
  ftc_node_destroy( FTC_Node     node,
                    FTC_Manager  manager );

/* */

#endif /* __FT_CACHE_INTERNALS_H__ */