#include <freetype/ftcache.h>
#include "ftcmru.h"
#include "ftcimage.h"
#include "ftcmanag.h"
#include "ftcglyph.h"
#include "ftcsbits.h"
Go to the source code of this file.
|
| FT_BEGIN_HEADER | ftc_inode_free (FTC_Node inode, FTC_Cache cache) |
| |
| | ftc_inode_new (FTC_Node *pinode, FT_Pointer gquery, FTC_Cache cache) |
| |
| | ftc_inode_weight (FTC_Node inode, FTC_Cache cache) |
| |
| | ftc_snode_free (FTC_Node snode, FTC_Cache cache) |
| |
| | ftc_snode_new (FTC_Node *psnode, FT_Pointer gquery, FTC_Cache cache) |
| |
| | ftc_snode_weight (FTC_Node snode, FTC_Cache cache) |
| |
| | ftc_snode_compare (FTC_Node snode, FT_Pointer gquery, FTC_Cache cache, FT_Bool *list_changed) |
| |
| | ftc_gnode_compare (FTC_Node gnode, FT_Pointer gquery, FTC_Cache cache, FT_Bool *list_changed) |
| |
| | ftc_gcache_init (FTC_Cache cache) |
| |
| | ftc_gcache_done (FTC_Cache cache) |
| |
| | ftc_cache_init (FTC_Cache cache) |
| |
| | ftc_cache_done (FTC_Cache cache) |
| |
| | ftc_node_destroy (FTC_Node node, FTC_Manager manager) |
| |
◆ 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_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_gcache_done()
Definition at line 152 of file ftcglyph.c.
153 {
155
156
159 }
FTC_Cache_Done(FTC_Cache cache)
struct FTC_GCacheRec_ * FTC_GCache
FTC_MruList_Done(FTC_MruList list)
◆ ftc_gcache_init()
Definition at line 118 of file ftcglyph.c.
119 {
122
123
126 {
128
131 0,
134 }
135
137 }
FTC_Cache_Init(FTC_Cache cache)
const FTC_GCacheClassRec * FTC_GCacheClass
FTC_MruList_Init(FTC_MruList list, FTC_MruListClass clazz, FT_UInt max_nodes, FT_Pointer data, FT_Memory memory)
FTC_MruListClass family_class
◆ ftc_gnode_compare()
Definition at line 65 of file ftcglyph.c.
69 {
73
74
75 if ( list_changed )
76 *list_changed =
FALSE;
79 }
struct FTC_GNodeRec_ * FTC_GNode
struct FTC_GQueryRec_ * FTC_GQuery
Referenced by FTC_GNode_Compare().
◆ ftc_inode_free()
Definition at line 30 of file ftcimage.c.
32 {
35
36
38 {
41 }
42
45 }
FTC_GNode_Done(FTC_GNode gnode, FTC_Cache cache)
FT_BEGIN_HEADER struct FTC_INodeRec_ * FTC_INode
FT_Done_Glyph(FT_Glyph glyph)
Referenced by FTC_INode_Free().
◆ ftc_inode_new()
Definition at line 94 of file ftcimage.c.
97 {
100
101
103 }
FTC_INode_New(FTC_INode *pinode, FTC_GQuery gquery, FTC_Cache cache)
◆ ftc_inode_weight()
Definition at line 107 of file ftcimage.c.
109 {
113
115
116
118 {
119 case FT_GLYPH_FORMAT_BITMAP:
120 {
122
123
126 sizeof ( *bitg );
127 }
128 break;
129
130 case FT_GLYPH_FORMAT_OUTLINE:
131 {
133
134
139 sizeof ( *outg );
140 }
141 break;
142
143 default:
144 ;
145 }
146
147 size +=
sizeof ( *inode );
149 }
struct FT_BitmapGlyphRec_ * FT_BitmapGlyph
struct FT_OutlineGlyphRec_ * FT_OutlineGlyph
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
◆ 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_mru_unlink(FTC_Node node, FTC_Manager manager)
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_snode_compare()
Definition at line 326 of file ftcsbits.c.
330 {
336
337
338 if (list_changed)
339 *list_changed =
FALSE;
343 {
344
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
381 {
384
385
386 ftcsnode->ref_count++;
387
388
390 {
392 }
394
395 ftcsnode->ref_count--;
396
399 else
401 }
402 }
403
405 }
#define FTC_CACHE_TRYLOOP_END(list_changed)
#define FTC_CACHE_TRYLOOP(cache)
static FT_Error ftc_snode_load(FTC_SNode snode, FTC_Manager manager, FT_UInt gindex, FT_ULong *asize)
struct FTC_SNodeRec_ * FTC_SNode
FT_BEGIN_HEADER typedef unsigned char FT_Bool
FTC_SBitRec sbits[FTC_SBIT_ITEMS_PER_NODE]
Referenced by FTC_SNode_Compare().
◆ ftc_snode_free()
◆ ftc_snode_new()
Definition at line 267 of file ftcsbits.c.
270 {
273
274
276 }
FTC_SNode_New(FTC_SNode *psnode, FTC_GQuery gquery, FTC_Cache cache)
◆ ftc_snode_weight()
Definition at line 280 of file ftcsbits.c.
282 {
288
290
291
293
294
295 size =
sizeof ( *snode );
296
298 {
300 {
302 if ( pitch < 0 )
303 pitch = -pitch;
304
305
307 }
308 }
309
311 }
#define FTC_SBIT_ITEMS_PER_NODE
#define FT_ASSERT(condition)