1
/***************************************************************************/
5
/* A small-bitmap cache (specification). */
7
/* Copyright 2000-2001, 2002, 2003 by */
8
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16
/***************************************************************************/
19
#ifndef __FTCSBITS_H__
20
#define __FTCSBITS_H__
25
#include FT_CACHE_INTERNAL_GLYPH_H
30
#define FTC_SBIT_ITEMS_PER_NODE 16
32
typedef struct FTC_SNodeRec_
36
FTC_SBitRec sbits[FTC_SBIT_ITEMS_PER_NODE];
38
} FTC_SNodeRec, *FTC_SNode;
41
#define FTC_SNODE( x ) ( (FTC_SNode)( x ) )
42
#define FTC_SNODE_GINDEX( x ) FTC_GNODE( x )->gindex
43
#define FTC_SNODE_FAMILY( x ) FTC_GNODE( x )->family
46
(*FTC_SFamily_GetCountFunc)( FTC_Family family,
47
FTC_Manager manager );
50
(*FTC_SFamily_LoadGlyphFunc)( FTC_Family family,
55
typedef struct FTC_SFamilyClassRec_
57
FTC_MruListClassRec clazz;
58
FTC_SFamily_GetCountFunc family_get_count;
59
FTC_SFamily_LoadGlyphFunc family_load_glyph;
61
} FTC_SFamilyClassRec;
63
typedef const FTC_SFamilyClassRec* FTC_SFamilyClass;
65
#define FTC_SFAMILY_CLASS( x ) ((FTC_SFamilyClass)(x))
67
#define FTC_CACHE__SFAMILY_CLASS( x ) \
68
FTC_SFAMILY_CLASS( FTC_CACHE__GCACHE_CLASS( x )->family_class )
72
FTC_SNode_Free( FTC_SNode snode,
76
FTC_SNode_New( FTC_SNode *psnode,
81
FTC_SNode_Weight( FTC_SNode inode );
85
FTC_SNode_Compare( FTC_SNode snode,
93
#endif /* __FTCSBITS_H__ */