29#define FT_COMPONENT cache
43#define FTC_BASIC_ATTR_COMPARE( a, b ) \
44 FT_BOOL( FTC_SCALER_COMPARE( &(a)->scaler, &(b)->scaler ) && \
45 (a)->load_flags == (b)->load_flags )
47#define FTC_BASIC_ATTR_HASH( a ) \
48 ( FTC_SCALER_HASH( &(a)->scaler ) + 31 * (a)->load_flags )
112 FT_TRACE1((
"ftc_basic_family_get_count:"
113 " the number of glyphs in this face is %ld,\n"
115 " which is too much and thus truncated\n",
180 if (
face->glyph->format == FT_GLYPH_FORMAT_BITMAP ||
181 face->glyph->format == FT_GLYPH_FORMAT_OUTLINE )
217 *list_changed =
FALSE;
314#if 0xFFFFFFFFUL > FT_UINT_MAX
317 " higher bits in load_flags 0x%x are dropped\n",
321 query.attrs.scaler.face_id =
type->face_id;
323 query.attrs.scaler.height =
type->height;
326 query.attrs.scaler.pixel = 1;
327 query.attrs.scaler.x_res = 0;
328 query.attrs.scaler.y_res = 0;
379 if ( !aglyph || !scaler )
395#if FT_ULONG_MAX > FT_UINT_MAX
397 FT_TRACE1((
"FTC_ImageCache_LookupScaler:"
398 " higher bits in load_flags 0x%lx are dropped\n",
402 query.attrs.scaler = scaler[0];
502 return FT_THROW( Invalid_Argument );
512#if 0xFFFFFFFFUL > FT_UINT_MAX
515 " higher bits in load_flags 0x%x are dropped\n",
519 query.attrs.scaler.face_id =
type->face_id;
521 query.attrs.scaler.height =
type->height;
524 query.attrs.scaler.pixel = 1;
525 query.attrs.scaler.x_res = 0;
526 query.attrs.scaler.y_res = 0;
584 if ( !ansbit || !scaler )
585 return FT_THROW( Invalid_Argument );
595#if FT_ULONG_MAX > FT_UINT_MAX
597 FT_TRACE1((
"FTC_ImageCache_LookupScaler:"
598 " higher bits in load_flags 0x%lx are dropped\n",
602 query.attrs.scaler = scaler[0];
#define FT_CALLBACK_DEF(x)
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)
FT_BEGIN_HEADER 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
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)
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLuint GLuint GLsizei GLenum type
GLenum GLuint GLint GLenum face