22 #include FT_INTERNAL_OBJECTS_H
23 #include FT_INTERNAL_DEBUG_H
30 #define FT_COMPONENT trace_cache
74 for ( ; count > 0; sbit++, count-- )
118 FT_ERROR((
"ftc_snode_load: invalid glyph index" ));
119 return FTC_Err_Invalid_Argument;
135 FT_Pos xadvance, yadvance;
138 if ( slot->
format != FT_GLYPH_FORMAT_BITMAP )
141 " glyph loaded didn't return a bitmap\n" ));
149 #define CHECK_CHAR( d ) ( temp = (FT_Char)d, temp == d )
150 #define CHECK_BYTE( d ) ( temp = (FT_Byte)d, temp == d )
153 xadvance = ( slot->
advance.
x + 32 ) >> 6;
154 yadvance = ( slot->
advance.
y + 32 ) >> 6;
165 " glyph too large for small bitmap cache\n"));
192 if ( error && error != FTC_Err_Out_Of_Memory )
215 FT_UInt gindex = gquery->gindex;
224 if ( total == 0 || gindex >= total )
226 error = FTC_Err_Invalid_Argument;
236 count = total -
start;
243 for ( node_count = 0; node_count <
count; node_count++ )
294 size =
sizeof ( *snode );
296 for ( ; count > 0; count--, sbit++ )
305 size += pitch * sbit->
height;
338 *list_changed =
FALSE;
385 ftcsnode->ref_count++;
394 ftcsnode->ref_count--;
399 cache->manager->cur_weight +=
size;
416 cache, list_changed );
#define FT_ALLOC(ptr, size)
#define FTC_CACHE_TRYLOOP_END(list_changed)
FT_BEGIN_HEADER typedef signed long FT_Pos
#define FTC_SBIT_ITEMS_PER_NODE
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_SNode_New(FTC_SNode *psnode, FTC_GQuery gquery, FTC_Cache cache)
FTC_SFamily_GetCountFunc family_get_count
#define FTC_CACHE_TRYLOOP(cache)
FT_BEGIN_HEADER typedef unsigned char FT_Bool
ftc_snode_new(FTC_Node *psnode, FT_Pointer gquery, FTC_Cache cache)
#define FT_ERROR(varformat)
#define FT_ASSERT(condition)
FTC_GNode_Init(FTC_GNode gnode, FT_UInt gindex, FTC_Family family)
static FT_Error ftc_sbit_copy_bitmap(FTC_SBit sbit, FT_Bitmap *bitmap, FT_Memory memory)
FTC_SFamily_LoadGlyphFunc family_load_glyph
#define FT_TRACE0(varformat)
#define FT_TRACE2(varformat)
const FTC_SFamilyClassRec * FTC_SFamilyClass
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
static FT_Error ftc_snode_load(FTC_SNode snode, FTC_Manager manager, FT_UInt gindex, FT_ULong *asize)
FTC_SBitRec sbits[FTC_SBIT_ITEMS_PER_NODE]
FT_BEGIN_HEADER struct FTC_FamilyRec_ * FTC_Family
FTC_GNode_Done(FTC_GNode gnode, FTC_Cache cache)
FTC_MruListClassRec clazz
FTC_SNode_Compare(FTC_SNode snode, FTC_GQuery gquery, FTC_Cache cache, FT_Bool *list_changed)
FTC_SNode_Free(FTC_SNode snode, FTC_Cache cache)
ftc_snode_free(FTC_Node snode, FTC_Cache cache)
struct FTC_GQueryRec_ * FTC_GQuery
GLsizei GLfixed GLfixed GLfixed GLfixed const GLubyte * bitmap
struct FTC_SNodeRec_ * FTC_SNode
#define FT_MEM_COPY(dest, source, count)
#define FTC_CACHE__SFAMILY_CLASS(x)