20#include FT_INTERNAL_OBJECTS_H
21#include FT_INTERNAL_DEBUG_H
30#define FT_COMPONENT trace_cache
44#define FTC_BASIC_ATTR_COMPARE( a, b ) \
45 FT_BOOL( FTC_SCALER_COMPARE( &(a)->scaler, &(b)->scaler ) && \
46 (a)->load_flags == (b)->load_flags )
48#define FTC_BASIC_ATTR_HASH( a ) \
49 ( FTC_SCALER_HASH( &(a)->scaler ) + 31 * (a)->load_flags )
113 FT_TRACE1((
"ftc_basic_family_get_count:"
114 " too large number of glyphs in this face, truncated\n",
179 if (
face->glyph->format == FT_GLYPH_FORMAT_BITMAP ||
216 *list_changed =
FALSE;
313#if 0xFFFFFFFFUL > FT_UINT_MAX
316 " higher bits in load_flags 0x%x are dropped\n",
320 query.attrs.scaler.face_id =
type->face_id;
322 query.attrs.scaler.height =
type->height;
325 query.attrs.scaler.pixel = 1;
326 query.attrs.scaler.x_res = 0;
327 query.attrs.scaler.y_res = 0;
378 if ( !aglyph || !scaler )
394#if FT_ULONG_MAX > FT_UINT_MAX
396 FT_TRACE1((
"FTC_ImageCache_LookupScaler:"
397 " higher bits in load_flags 0x%x are dropped\n",
401 query.attrs.scaler = scaler[0];
501 return FT_THROW( Invalid_Argument );
511#if 0xFFFFFFFFUL > FT_UINT_MAX
514 " higher bits in load_flags 0x%x are dropped\n",
518 query.attrs.scaler.face_id =
type->face_id;
520 query.attrs.scaler.height =
type->height;
523 query.attrs.scaler.pixel = 1;
524 query.attrs.scaler.x_res = 0;
525 query.attrs.scaler.y_res = 0;
583 if ( !ansbit || !scaler )
584 return FT_THROW( Invalid_Argument );
594#if FT_ULONG_MAX > FT_UINT_MAX
596 FT_TRACE1((
"FTC_ImageCache_LookupScaler:"
597 " higher bits in load_flags 0x%x are dropped\n",
601 query.attrs.scaler = scaler[0];
FT_Load_Glyph(FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags)
struct FTC_ImageCacheRec_ * FTC_ImageCache
struct FTC_SBitCacheRec_ * FTC_SBitCache
FT_BEGIN_HEADER typedef FT_Pointer FTC_FaceID
FTC_Manager_LookupFace(FTC_Manager manager, FTC_FaceID face_id, FT_Face *aface)
FTC_Manager_LookupSize(FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize)
#define FTC_BASIC_ATTR_COMPARE(a, b)
struct FTC_BasicQueryRec_ FTC_BasicQueryRec
struct FTC_BasicQueryRec_ * FTC_BasicQuery
static const FTC_SFamilyClassRec ftc_basic_sbit_family_class
FTC_SBitCache_Lookup(FTC_SBitCache cache, FTC_ImageType type, FT_UInt gindex, FTC_SBit *ansbit, FTC_Node *anode)
struct FTC_BasicFamilyRec_ * FTC_BasicFamily
ftc_basic_family_load_glyph(FTC_Family ftcfamily, FT_UInt gindex, FTC_Cache cache, FT_Glyph *aglyph)
FTC_SBitCache_LookupScaler(FTC_SBitCache cache, FTC_Scaler scaler, FT_ULong load_flags, FT_UInt gindex, FTC_SBit *ansbit, FTC_Node *anode)
FTC_ImageCache_Lookup(FTC_ImageCache cache, FTC_ImageType type, FT_UInt gindex, FT_Glyph *aglyph, FTC_Node *anode)
ftc_basic_family_compare(FTC_MruNode ftcfamily, FT_Pointer ftcquery)
#define FTC_BASIC_ATTR_HASH(a)
struct FTC_BasicAttrRec_ * FTC_BasicAttrs
struct FTC_BasicFamilyRec_ FTC_BasicFamilyRec
ftc_basic_family_get_count(FTC_Family ftcfamily, FTC_Manager manager)
FTC_SBitCache_New(FTC_Manager manager, FTC_SBitCache *acache)
static const FTC_GCacheClassRec ftc_basic_sbit_cache_class
ftc_basic_family_load_bitmap(FTC_Family ftcfamily, FT_UInt gindex, FTC_Manager manager, FT_Face *aface)
static const FTC_IFamilyClassRec ftc_basic_image_family_class
static const FTC_GCacheClassRec ftc_basic_image_cache_class
struct FTC_BasicAttrRec_ FTC_BasicAttrRec
FTC_ImageCache_LookupScaler(FTC_ImageCache cache, FTC_Scaler scaler, FT_ULong load_flags, FT_UInt gindex, FT_Glyph *aglyph, FTC_Node *anode)
ftc_basic_gnode_compare_faceid(FTC_Node ftcgnode, FT_Pointer ftcface_id, FTC_Cache cache, FT_Bool *list_changed)
FTC_ImageCache_New(FTC_Manager manager, FTC_ImageCache *acache)
ftc_basic_family_init(FTC_MruNode ftcfamily, FT_Pointer ftcquery, FT_Pointer ftccache)
struct FTC_CacheRec_ * FTC_Cache
ftc_snode_weight(FTC_Node snode, FTC_Cache cache)
ftc_gcache_done(FTC_Cache cache)
ftc_snode_new(FTC_Node *psnode, FT_Pointer gquery, FTC_Cache cache)
ftc_inode_free(FTC_Node inode, FTC_Cache cache)
ftc_inode_weight(FTC_Node inode, FTC_Cache cache)
ftc_inode_new(FTC_Node *pinode, FT_Pointer gquery, FTC_Cache cache)
ftc_gcache_init(FTC_Cache cache)
ftc_gnode_compare(FTC_Node gnode, FT_Pointer gquery, FTC_Cache cache, FT_Bool *list_changed)
ftc_snode_compare(FTC_Node snode, FT_Pointer gquery, FTC_Cache cache, FT_Bool *list_changed)
ftc_snode_free(FTC_Node snode, FTC_Cache cache)
FTC_GNode_Compare(FTC_GNode gnode, FTC_GQuery gquery, FTC_Cache cache, FT_Bool *list_changed)
FTC_GCache_New(FTC_Manager manager, FTC_GCacheClass clazz, FTC_GCache *acache)
FTC_Family_Init(FTC_Family family, FTC_Cache cache)
FTC_GNode_UnselectFamily(FTC_GNode gnode, FTC_Cache cache)
struct FTC_GNodeRec_ * FTC_GNode
FT_BEGIN_HEADER struct FTC_FamilyRec_ * FTC_Family
#define FTC_GCACHE_LOOKUP_CMP(cache, famcmp, nodecmp, hash, gindex, query, node, error)
FT_BEGIN_HEADER struct FTC_FamilyRec_ FTC_FamilyRec
struct FTC_GCacheRec_ FTC_GCacheRec
struct FTC_MruListClassRec_ const * FTC_MruListClass
typedefFT_BEGIN_HEADER struct FTC_MruNodeRec_ * FTC_MruNode
#define FT_CALLBACK_DEF(x)
FTC_SNode_Compare(FTC_SNode snode, FTC_GQuery gquery, FTC_Cache cache, FT_Bool *list_changed)
#define FTC_SBIT_ITEMS_PER_NODE
#define FT_TRACE1(varformat)
FT_Get_Glyph(FT_GlyphSlot slot, FT_Glyph *aglyph)
smooth FT_Module_Constructor FT_Module_Destructor FT_Module_Requester FT_GLYPH_FORMAT_OUTLINE
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLuint GLuint GLsizei GLenum type
GLenum GLuint GLint GLenum face