ReactOS 0.4.16-dev-2357-g35d0dfe
ftcglyph.c File Reference
#include <freetype/internal/ftobjs.h>
#include <freetype/ftcache.h>
#include "ftcglyph.h"
#include <freetype/fterrors.h>
#include "ftccback.h"
#include "ftcerror.h"
Include dependency graph for ftcglyph.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 FTC_GNode_Init (FTC_GNode gnode, FT_UInt gindex, FTC_Family family)
 
 FTC_GNode_UnselectFamily (FTC_GNode gnode, FTC_Cache cache)
 
 FTC_GNode_Done (FTC_GNode gnode, FTC_Cache cache)
 
 ftc_gnode_compare (FTC_Node ftcgnode, FT_Pointer ftcgquery, FTC_Cache cache, FT_Bool *list_changed)
 
 FTC_GNode_Compare (FTC_GNode gnode, FTC_GQuery gquery, FTC_Cache cache, FT_Bool *list_changed)
 
 FTC_Family_Init (FTC_Family family, FTC_Cache cache)
 
 ftc_gcache_init (FTC_Cache ftccache)
 
 ftc_gcache_done (FTC_Cache ftccache)
 
 FTC_GCache_New (FTC_Manager manager, FTC_GCacheClass clazz, FTC_GCache *acache)
 

Function Documentation

◆ FTC_Family_Init()

FTC_Family_Init ( FTC_Family  family,
FTC_Cache  cache 
)

Definition at line 105 of file ftcglyph.c.

107 {
109
110
111 family->clazz = clazz->family_class;
112 family->num_nodes = 0;
113 family->cache = cache;
114 }
#define FTC_CACHE_GCACHE_CLASS(x)
Definition: ftcglyph.h:247
FTC_MruListClass family_class
Definition: ftcglyph.h:239
Definition: cache.c:49

Referenced by ftc_basic_family_init().

◆ ftc_gcache_done()

ftc_gcache_done ( FTC_Cache  ftccache)

Definition at line 152 of file ftcglyph.c.

153 {
154 FTC_GCache cache = (FTC_GCache)ftccache;
155
156
158 FTC_MruList_Done( &cache->families );
159 }
FTC_Cache_Done(FTC_Cache cache)
Definition: ftccache.c:408
struct FTC_GCacheRec_ * FTC_GCache
FTC_MruList_Done(FTC_MruList list)
Definition: ftcmru.c:194

◆ ftc_gcache_init()

ftc_gcache_init ( FTC_Cache  ftccache)

Definition at line 118 of file ftcglyph.c.

119 {
120 FTC_GCache cache = (FTC_GCache)ftccache;
122
123
125 if ( !error )
126 {
127 FTC_GCacheClass clazz = (FTC_GCacheClass)FTC_CACHE( cache )->org_class;
128
129 FTC_MruList_Init( &cache->families,
130 clazz->family_class,
131 0, /* no maximum here! */
132 cache,
133 FTC_CACHE( cache )->memory );
134 }
135
136 return error;
137 }
FTC_Cache_Init(FTC_Cache cache)
Definition: ftccache.c:327
#define FTC_CACHE(x)
Definition: ftccache.h:161
const FTC_GCacheClassRec * FTC_GCacheClass
Definition: ftcglyph.h:243
FTC_MruList_Init(FTC_MruList list, FTC_MruListClass clazz, FT_UInt max_nodes, FT_Pointer data, FT_Memory memory)
Definition: ftcmru.c:168
int FT_Error
Definition: fttypes.h:299
#define error(str)
Definition: mkdosfs.c:1605
static char memory[1024 *256]
Definition: process.c:122

◆ FTC_GCache_New()

FTC_GCache_New ( FTC_Manager  manager,
FTC_GCacheClass  clazz,
FTC_GCache acache 
)

Definition at line 174 of file ftcglyph.c.

177 {
178 return FTC_Manager_RegisterCache( manager, (FTC_CacheClass)clazz,
179 (FTC_Cache*)acache );
180 }
FTC_Manager_RegisterCache(FTC_Manager manager, FTC_CacheClass clazz, FTC_Cache *acache)
Definition: ftcmanag.c:575

Referenced by FTC_ImageCache_New(), and FTC_SBitCache_New().

◆ FTC_GNode_Compare()

FTC_GNode_Compare ( FTC_GNode  gnode,
FTC_GQuery  gquery,
FTC_Cache  cache,
FT_Bool list_changed 
)

Definition at line 85 of file ftcglyph.c.

89 {
90 return ftc_gnode_compare( FTC_NODE( gnode ), gquery,
91 cache, list_changed );
92 }
#define FTC_NODE(x)
Definition: ftccache.h:69
ftc_gnode_compare(FTC_Node ftcgnode, FT_Pointer ftcgquery, FTC_Cache cache, FT_Bool *list_changed)
Definition: ftcglyph.c:65

Referenced by FTC_ImageCache_Lookup(), and FTC_ImageCache_LookupScaler().

◆ ftc_gnode_compare()

ftc_gnode_compare ( FTC_Node  ftcgnode,
FT_Pointer  ftcgquery,
FTC_Cache  cache,
FT_Bool list_changed 
)

Definition at line 65 of file ftcglyph.c.

69 {
70 FTC_GNode gnode = (FTC_GNode)ftcgnode;
71 FTC_GQuery gquery = (FTC_GQuery)ftcgquery;
73
74
75 if ( list_changed )
76 *list_changed = FALSE;
77 return FT_BOOL( gnode->family == gquery->family &&
78 gnode->gindex == gquery->gindex );
79 }
#define FALSE
Definition: types.h:117
struct FTC_GNodeRec_ * FTC_GNode
struct FTC_GQueryRec_ * FTC_GQuery
#define FT_BOOL(x)
Definition: fttypes.h:591
#define FT_UNUSED(arg)
FT_UInt gindex
Definition: ftcglyph.h:151
FTC_Family family
Definition: ftcglyph.h:150
FTC_Family family
Definition: ftcglyph.h:162
FT_UInt gindex
Definition: ftcglyph.h:161

Referenced by FTC_GNode_Compare().

◆ FTC_GNode_Done()

FTC_GNode_Done ( FTC_GNode  gnode,
FTC_Cache  cache 
)

Definition at line 54 of file ftcglyph.c.

56 {
57 /* finalize the node */
58 gnode->gindex = 0;
59
61 }
FTC_GNode_UnselectFamily(FTC_GNode gnode, FTC_Cache cache)
Definition: ftcglyph.c:41

Referenced by ftc_inode_free(), and ftc_snode_free().

◆ FTC_GNode_Init()

FTC_GNode_Init ( FTC_GNode  gnode,
FT_UInt  gindex,
FTC_Family  family 
)

Definition at line 30 of file ftcglyph.c.

33 {
34 gnode->family = family;
35 gnode->gindex = gindex;
36 family->num_nodes++;
37 }

Referenced by FTC_INode_New(), and FTC_SNode_New().

◆ FTC_GNode_UnselectFamily()

FTC_GNode_UnselectFamily ( FTC_GNode  gnode,
FTC_Cache  cache 
)

Definition at line 41 of file ftcglyph.c.

43 {
44 FTC_Family family = gnode->family;
45
46
47 gnode->family = NULL;
48 if ( family && --family->num_nodes == 0 )
49 FTC_FAMILY_FREE( family, cache );
50 }
#define NULL
Definition: types.h:112
FT_BEGIN_HEADER struct FTC_FamilyRec_ * FTC_Family
#define FTC_FAMILY_FREE(family, cache)
Definition: ftcglyph.h:272

Referenced by ftc_basic_gnode_compare_faceid(), and FTC_GNode_Done().