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];
struct FTC_BasicAttrRec_ FTC_BasicAttrRec
ftc_gnode_compare(FTC_Node gnode, FT_Pointer gquery, FTC_Cache cache, FT_Bool *list_changed)
struct FTC_BasicAttrRec_ * FTC_BasicAttrs
struct FTC_BasicQueryRec_ FTC_BasicQueryRec
FTC_ImageCache_Lookup(FTC_ImageCache cache, FTC_ImageType type, FT_UInt gindex, FT_Glyph *aglyph, FTC_Node *anode)
static const FTC_GCacheClassRec ftc_basic_image_cache_class
FTC_GNode_UnselectFamily(FTC_GNode gnode, FTC_Cache cache)
#define FTC_SBIT_ITEMS_PER_NODE
struct FTC_GCacheRec_ FTC_GCacheRec
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_inode_free(FTC_Node inode, FTC_Cache cache)
static const FTC_IFamilyClassRec ftc_basic_image_family_class
typedefFT_BEGIN_HEADER struct FTC_MruNodeRec_ * FTC_MruNode
FTC_SBitCache_New(FTC_Manager manager, FTC_SBitCache *acache)
struct FTC_BasicFamilyRec_ * FTC_BasicFamily
FT_BEGIN_HEADER typedef FT_Pointer FTC_FaceID
FT_BEGIN_HEADER typedef unsigned char FT_Bool
ftc_basic_family_get_count(FTC_Family ftcfamily, FTC_Manager manager)
#define FT_TRACE1(varformat)
ftc_basic_family_load_bitmap(FTC_Family ftcfamily, FT_UInt gindex, FTC_Manager manager, FT_Face *aface)
ftc_snode_new(FTC_Node *psnode, FT_Pointer gquery, FTC_Cache cache)
static const FTC_SFamilyClassRec ftc_basic_sbit_family_class
FT_Load_Glyph(FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags)
FT_BEGIN_HEADER struct FTC_FamilyRec_ FTC_FamilyRec
FTC_Family_Init(FTC_Family family, FTC_Cache cache)
struct FTC_ImageCacheRec_ * FTC_ImageCache
ftc_inode_weight(FTC_Node inode, FTC_Cache cache)
ftc_basic_family_compare(FTC_MruNode ftcfamily, FT_Pointer ftcquery)
ftc_basic_gnode_compare_faceid(FTC_Node ftcgnode, FT_Pointer ftcface_id, FTC_Cache cache, FT_Bool *list_changed)
struct FTC_GNodeRec_ * FTC_GNode
FTC_SBitCache_Lookup(FTC_SBitCache cache, FTC_ImageType type, FT_UInt gindex, FTC_SBit *ansbit, FTC_Node *anode)
smooth FT_Module_Constructor FT_Module_Destructor FT_Module_Requester FT_GLYPH_FORMAT_OUTLINE
ftc_inode_new(FTC_Node *pinode, FT_Pointer gquery, FTC_Cache cache)
struct FTC_CacheRec_ * FTC_Cache
FTC_ImageCache_New(FTC_Manager manager, FTC_ImageCache *acache)
ftc_gcache_done(FTC_Cache cache)
#define FT_CALLBACK_DEF(x)
struct FTC_BasicFamilyRec_ FTC_BasicFamilyRec
FT_Get_Glyph(FT_GlyphSlot slot, FT_Glyph *aglyph)
FT_BEGIN_HEADER struct FTC_FamilyRec_ * FTC_Family
FTC_SNode_Compare(FTC_SNode snode, FTC_GQuery gquery, FTC_Cache cache, FT_Bool *list_changed)
FTC_GNode_Compare(FTC_GNode gnode, FTC_GQuery gquery, FTC_Cache cache, FT_Bool *list_changed)
#define FTC_BASIC_ATTR_COMPARE(a, b)
#define FTC_GCACHE_LOOKUP_CMP(cache, famcmp, nodecmp, hash, gindex, query, node, error)
ftc_basic_family_init(FTC_MruNode ftcfamily, FT_Pointer ftcquery, FT_Pointer ftccache)
ftc_snode_free(FTC_Node snode, FTC_Cache cache)
ftc_gcache_init(FTC_Cache cache)
static const FTC_GCacheClassRec ftc_basic_sbit_cache_class
ftc_basic_family_load_glyph(FTC_Family ftcfamily, FT_UInt gindex, FTC_Cache cache, FT_Glyph *aglyph)
FTC_Manager_LookupSize(FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize)
FTC_ImageCache_LookupScaler(FTC_ImageCache cache, FTC_Scaler scaler, FT_ULong load_flags, FT_UInt gindex, FT_Glyph *aglyph, FTC_Node *anode)
struct FTC_MruListClassRec_ const * FTC_MruListClass
FTC_SBitCache_LookupScaler(FTC_SBitCache cache, FTC_Scaler scaler, FT_ULong load_flags, FT_UInt gindex, FTC_SBit *ansbit, FTC_Node *anode)
GLuint GLuint GLsizei GLenum type
struct FTC_BasicQueryRec_ * FTC_BasicQuery
FTC_GCache_New(FTC_Manager manager, FTC_GCacheClass clazz, FTC_GCache *acache)
struct FTC_SBitCacheRec_ * FTC_SBitCache
#define FTC_BASIC_ATTR_HASH(a)
GLenum GLuint GLint GLenum face
FTC_Manager_LookupFace(FTC_Manager manager, FTC_FaceID face_id, FT_Face *aface)