1/***************************************************************************/
2/*                                                                         */
3/*  ftccback.h                                                             */
4/*                                                                         */
5/*    Callback functions of the caching sub-system (specification only).   */
6/*                                                                         */
7/*  Copyright 2004-2006, 2011, 2013 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