Go to the source code of this file.
|
| static void | ftc_node_mru_link (FTC_Node node, FTC_Manager manager) |
| |
| static void | ftc_node_mru_unlink (FTC_Node node, FTC_Manager manager) |
| |
| static void | ftc_cache_resize (FTC_Cache cache) |
| |
| static void | ftc_node_hash_unlink (FTC_Node node0, FTC_Cache cache) |
| |
| static void | ftc_node_hash_link (FTC_Node node, FTC_Cache cache) |
| |
| | ftc_node_destroy (FTC_Node node, FTC_Manager manager) |
| |
| | FTC_Cache_Init (FTC_Cache cache) |
| |
| | ftc_cache_init (FTC_Cache cache) |
| |
| static void | FTC_Cache_Clear (FTC_Cache cache) |
| |
| | ftc_cache_done (FTC_Cache cache) |
| |
| | FTC_Cache_Done (FTC_Cache cache) |
| |
| static void | ftc_cache_add (FTC_Cache cache, FT_Offset hash, FTC_Node node) |
| |
| | FTC_Cache_NewNode (FTC_Cache cache, FT_Offset hash, FT_Pointer query, FTC_Node *anode) |
| |
| | FTC_Cache_RemoveFaceID (FTC_Cache cache, FTC_FaceID face_id) |
| |
◆ FT_COMPONENT
◆ FTC_HASH_INITIAL_SIZE
| #define FTC_HASH_INITIAL_SIZE 8 |
◆ FTC_HASH_MAX_LOAD
◆ FTC_HASH_MIN_LOAD
◆ FTC_HASH_SUB_LOAD
◆ ftc_cache_add()
Definition at line 415 of file ftccache.c.
418 {
422
425
426 {
428
429
431
433 {
437 }
438 }
439 }
static void ftc_node_mru_link(FTC_Node node, FTC_Manager manager)
static void ftc_node_hash_link(FTC_Node node, FTC_Cache cache)
FTC_Manager_Compress(FTC_Manager manager)
Referenced by FTC_Cache_NewNode().
◆ FTC_Cache_Clear()
Definition at line 350 of file ftccache.c.
351 {
353 {
357
358
360
362 {
364
365
367 {
370
371
373
374
376
379 }
381 }
383 }
384 }
static void ftc_cache_resize(FTC_Cache cache)
static void ftc_node_mru_unlink(FTC_Node node, FTC_Manager manager)
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static unsigned __int64 next
Referenced by ftc_cache_done().
◆ ftc_cache_done()
Definition at line 388 of file ftccache.c.
389 {
391 {
393
394
396
401
403 }
404 }
static void FTC_Cache_Clear(FTC_Cache cache)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
static char memory[1024 *256]
Referenced by FTC_Cache_Done().
◆ FTC_Cache_Done()
◆ FTC_Cache_Init()
◆ ftc_cache_init()
Definition at line 334 of file ftccache.c.
335 {
338
339
343
346 }
#define FTC_HASH_INITIAL_SIZE
#define FTC_HASH_MAX_LOAD
#define FT_NEW_ARRAY(ptr, count)
Referenced by FTC_Cache_Init().
◆ FTC_Cache_NewNode()
Definition at line 443 of file ftccache.c.
447 {
450
451
452
453
454
455
456
457
459 {
461 }
463
466 else
467 {
468
469
470
472 }
473
476 }
static void ftc_cache_add(FTC_Cache cache, FT_Offset hash, FTC_Node node)
#define FTC_CACHE_TRYLOOP_END(list_changed)
#define FTC_CACHE_TRYLOOP(cache)
◆ FTC_Cache_RemoveFaceID()
Definition at line 563 of file ftccache.c.
565 {
569
570
573 {
576
577
578 for (;;)
579 {
582
583
585 break;
586
587 if (
cache->clazz.node_remove_faceid(
node, face_id,
588 cache, &list_changed ) )
589 {
593 }
594 else
596 }
597 }
598
599
600 while ( frees )
601 {
603
604
607
610
612
614 }
615
617 }
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Referenced by FTC_Manager_RemoveFaceID().
◆ ftc_cache_resize()
Definition at line 112 of file ftccache.c.
113 {
114 for (;;)
115 {
120
121
122
123 if (
cache->slack < 0 )
124 {
126
127
128
129
130
132 {
135
136
137
139 (
mask + 1 ) * 2, (
mask + 1 ) * 4 ) )
140 break;
141 }
142
143
144 pnode =
cache->buckets +
p;
145
146 for (;;)
147 {
150 break;
151
153 {
155 node->link = new_list;
157 }
158 else
160 }
161
163
165
167 {
170 }
171 else
173 }
174
175
177 {
178 FT_UFast old_index =
p +
mask;
180
181
183 break;
184
186 {
189
190
191
194 break;
195
198 }
199 else
201
202 pnode =
cache->buckets +
p;
203 while ( *pnode )
204 pnode = &(*pnode)->
link;
205
206 pold =
cache->buckets + old_index;
207 *pnode = *pold;
209
212 }
213
214
215 else
216 break;
217 }
218 }
#define FTC_HASH_SUB_LOAD
#define FT_RENEW_ARRAY(ptr, curcnt, newcnt)
Referenced by FTC_Cache_Clear(), FTC_Cache_RemoveFaceID(), ftc_node_hash_link(), and ftc_node_hash_unlink().
◆ ftc_node_destroy()
Definition at line 272 of file ftccache.c.
274 {
276
277
278#ifdef FT_DEBUG_ERROR
279
281 {
282 FT_TRACE0((
"ftc_node_destroy: invalid node handle\n" ));
283 return;
284 }
285#endif
286
288
289#ifdef FT_DEBUG_ERROR
291 {
292 FT_TRACE0((
"ftc_node_destroy: invalid node handle\n" ));
293 return;
294 }
295#endif
296
298
299
301
302
304
305
307
308#if 0
309
311 FT_TRACE0((
"ftc_node_destroy: invalid cache node count (%d)\n",
313#endif
314 }
static void ftc_node_hash_unlink(FTC_Node node0, FTC_Cache cache)
#define FT_TRACE0(varformat)
FTC_Cache caches[FTC_MAX_CACHES]
Referenced by FTC_Manager_Compress(), and FTC_Manager_FlushN().
◆ ftc_node_hash_link()
Definition at line 256 of file ftccache.c.
258 {
260
261
264
267 }
#define FTC_NODE_TOP_FOR_HASH(cache, hash)
Referenced by ftc_cache_add().
◆ ftc_node_hash_unlink()
Definition at line 223 of file ftccache.c.
225 {
227
228
229 for (;;)
230 {
232
233
235 {
236 FT_TRACE0((
"ftc_node_hash_unlink: unknown node\n" ));
237 return;
238 }
239
241 break;
242
243 pnode = &(*pnode)->
link;
244 }
245
246 *pnode = node0->
link;
248
251 }
Referenced by ftc_node_destroy().
◆ ftc_node_mru_link()
Definition at line 48 of file ftccache.c.
50 {
52
53
57 }
FTC_MruNode_Prepend(FTC_MruNode *plist, FTC_MruNode node)
typedefFT_BEGIN_HEADER struct FTC_MruNodeRec_ * FTC_MruNode
Referenced by ftc_cache_add().
◆ ftc_node_mru_unlink()