1 /***************************************************************************/
2 /*                                                                         */
3 /*  ftccback.h                                                             */
4 /*                                                                         */
5 /*    Callback functions of the caching sub-system (specification only).   */
6 /*                                                                         */
7 /*  Copyright 2004-2015 by                                                 */
8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9 /*                                                                         */
10 /*  This file is part of the FreeType project, and may only be used,       */
11 /*  modified, and distributed under the terms of the FreeType project      */
12 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13 /*  this file you indicate that you have read the license and              */
14 /*  understand and accept it fully.                                        */
15 /*                                                                         */
16 /***************************************************************************/
17 
18 #ifndef __FTCCBACK_H__
19 #define __FTCCBACK_H__
20 
21 #include <ft2build.h>
22 #include FT_CACHE_H
23 #include "ftcmru.h"
24 #include "ftcimage.h"
25 #include "ftcmanag.h"
26 #include "ftcglyph.h"
27 #include "ftcsbits.h"
28 
29 
30   FT_LOCAL( void )
31   ftc_inode_free( FTC_Node   inode,
32                   FTC_Cache  cache );
33 
34   FT_LOCAL( FT_Error )
35   ftc_inode_new( FTC_Node   *pinode,
36                  FT_Pointer  gquery,
37                  FTC_Cache   cache );
38 
39   FT_LOCAL( FT_Offset )
40   ftc_inode_weight( FTC_Node   inode,
41                     FTC_Cache  cache );
42 
43 
44   FT_LOCAL( void )
45   ftc_snode_free( FTC_Node   snode,
46                   FTC_Cache  cache );
47 
48   FT_LOCAL( FT_Error )
49   ftc_snode_new( FTC_Node   *psnode,
50                  FT_Pointer  gquery,
51                  FTC_Cache   cache );
52 
53   FT_LOCAL( FT_Offset )
54   ftc_snode_weight( FTC_Node   snode,
55                     FTC_Cache  cache );
56 
57   FT_LOCAL( FT_Bool )
58   ftc_snode_compare( FTC_Node    snode,
59                      FT_Pointer  gquery,
60                      FTC_Cache   cache,
61                      FT_Bool*    list_changed );
62 
63 
64   FT_LOCAL( FT_Bool )
65   ftc_gnode_compare( FTC_Node    gnode,
66                      FT_Pointer  gquery,
67                      FTC_Cache   cache,
68                      FT_Bool*    list_changed );
69 
70 
71   FT_LOCAL( FT_Error )
72   ftc_gcache_init( FTC_Cache  cache );
73 
74   FT_LOCAL( void )
75   ftc_gcache_done( FTC_Cache  cache );
76 
77 
78   FT_LOCAL( FT_Error )
79   ftc_cache_init( FTC_Cache  cache );
80 
81   FT_LOCAL( void )
82   ftc_cache_done( FTC_Cache  cache );
83 
84   FT_LOCAL( void )
85   ftc_node_destroy( FTC_Node     node,
86                     FTC_Manager  manager );
87 
88 
89 #endif /* __FTCCBACK_H__ */
90 
91 /* END */
92