#include <ft2build.h>
#include "ftcglyph.h"
#include "ftcimage.h"
#include "ftcsbits.h"
#include "ftccback.h"
#include "ftcerror.h"
Go to the source code of this file.
|
| ftc_basic_family_compare (FTC_MruNode ftcfamily, FT_Pointer ftcquery) |
|
| ftc_basic_family_init (FTC_MruNode ftcfamily, FT_Pointer ftcquery, FT_Pointer ftccache) |
|
| ftc_basic_family_get_count (FTC_Family ftcfamily, FTC_Manager manager) |
|
| ftc_basic_family_load_bitmap (FTC_Family ftcfamily, FT_UInt gindex, FTC_Manager manager, FT_Face *aface) |
|
| ftc_basic_family_load_glyph (FTC_Family ftcfamily, FT_UInt gindex, FTC_Cache cache, FT_Glyph *aglyph) |
|
| 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_ImageCache_Lookup (FTC_ImageCache cache, FTC_ImageType type, FT_UInt gindex, FT_Glyph *aglyph, FTC_Node *anode) |
|
| FTC_ImageCache_LookupScaler (FTC_ImageCache cache, FTC_Scaler scaler, FT_ULong load_flags, FT_UInt gindex, FT_Glyph *aglyph, FTC_Node *anode) |
|
| FTC_SBitCache_New (FTC_Manager manager, FTC_SBitCache *acache) |
|
| FTC_SBitCache_Lookup (FTC_SBitCache cache, FTC_ImageType type, FT_UInt gindex, FTC_SBit *ansbit, FTC_Node *anode) |
|
| FTC_SBitCache_LookupScaler (FTC_SBitCache cache, FTC_Scaler scaler, FT_ULong load_flags, FT_UInt gindex, FTC_SBit *ansbit, FTC_Node *anode) |
|
◆ FT_COMPONENT
◆ FTC_BASIC_ATTR_COMPARE
Value:
(
a)->load_flags == (
b)->load_flags )
#define FTC_SCALER_COMPARE(a, b)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
Definition at line 44 of file ftcbasic.c.
◆ FTC_BASIC_ATTR_HASH
◆ FTC_BasicAttrRec
◆ FTC_BasicAttrs
◆ FTC_BasicFamily
◆ FTC_BasicFamilyRec
◆ FTC_BasicQuery
◆ FTC_BasicQueryRec
◆ ftc_basic_family_compare()
◆ ftc_basic_family_get_count()
Definition at line 97 of file ftcbasic.c.
99 {
104
105
108
111
113 FT_TRACE1((
"ftc_basic_family_get_count:"
114 " too large number of glyphs in this face, truncated\n",
116
119
121 }
FTC_Manager_LookupFace(FTC_Manager manager, FTC_FaceID face_id, FT_Face *aface)
#define FT_TRACE1(varformat)
GLenum GLuint GLint GLenum face
◆ ftc_basic_family_init()
Definition at line 81 of file ftcbasic.c.
84 {
88
89
92 return 0;
93 }
struct FTC_CacheRec_ * FTC_Cache
FTC_Family_Init(FTC_Family family, FTC_Cache cache)
◆ ftc_basic_family_load_bitmap()
Definition at line 125 of file ftcbasic.c.
129 {
133
134
137 {
139
140
143 gindex,
147 }
148
150 }
FT_Load_Glyph(FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags)
FTC_Manager_LookupSize(FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize)
◆ ftc_basic_family_load_glyph()
Definition at line 154 of file ftcbasic.c.
158 {
164
165
166
168 scaler,
171 {
173
175 gindex,
178 {
179 if (
face->glyph->format == FT_GLYPH_FORMAT_BITMAP ||
181 {
182
184
185
188 {
189 *aglyph = glyph;
191 }
192 }
193 else
195 }
196 }
197
200 }
FT_Get_Glyph(FT_GlyphSlot slot, FT_Glyph *aglyph)
smooth FT_Module_Constructor FT_Module_Destructor FT_Module_Requester FT_GLYPH_FORMAT_OUTLINE
◆ ftc_basic_gnode_compare_faceid()
Definition at line 204 of file ftcbasic.c.
208 {
213
214
216 *list_changed =
FALSE;
219 {
220
221
222
224 }
226 }
FT_BEGIN_HEADER typedef FT_Pointer FTC_FaceID
FTC_GNode_UnselectFamily(FTC_GNode gnode, FTC_Cache cache)
struct FTC_GNodeRec_ * FTC_GNode
FT_BEGIN_HEADER typedef unsigned char FT_Bool
◆ FTC_ImageCache_Lookup()
Definition at line 284 of file ftcbasic.c.
289 {
294
295
296
297 if ( !aglyph )
298 {
301 }
302
304 if ( anode )
306
307
308
309
310
311
312
313#if 0xFFFFFFFFUL > FT_UINT_MAX
316 " higher bits in load_flags 0x%x are dropped\n",
318#endif
319
320 query.attrs.scaler.face_id =
type->face_id;
322 query.attrs.scaler.height =
type->height;
324
325 query.attrs.scaler.pixel = 1;
326 query.attrs.scaler.x_res = 0;
327 query.attrs.scaler.y_res = 0;
328
330
331#if 1
339#else
344#endif
346 {
348
349 if ( anode )
350 {
353 }
354 }
355
358 }
ftc_basic_family_compare(FTC_MruNode ftcfamily, FT_Pointer ftcquery)
#define FTC_BASIC_ATTR_HASH(a)
FTC_GNode_Compare(FTC_GNode gnode, FTC_GQuery gquery, FTC_Cache cache, FT_Bool *list_changed)
#define FTC_GCACHE_LOOKUP_CMP(cache, famcmp, nodecmp, hash, gindex, query, node, error)
GLuint GLuint GLsizei GLenum type
◆ FTC_ImageCache_LookupScaler()
Definition at line 364 of file ftcbasic.c.
370 {
375
376
377
378 if ( !aglyph || !scaler )
379 {
382 }
383
385 if ( anode )
387
388
389
390
391
392
393
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",
399#endif
400
401 query.attrs.scaler = scaler[0];
403
405
414 {
416
417 if ( anode )
418 {
421 }
422 }
423
426 }
◆ FTC_ImageCache_New()
Definition at line 273 of file ftcbasic.c.
275 {
278 }
static const FTC_GCacheClassRec ftc_basic_image_cache_class
FTC_GCache_New(FTC_Manager manager, FTC_GCacheClass clazz, FTC_GCache *acache)
◆ FTC_SBitCache_Lookup()
Definition at line 484 of file ftcbasic.c.
489 {
494
495
496 if ( anode )
498
499
500 if ( !ansbit )
501 return FT_THROW( Invalid_Argument );
502
504
505
506
507
508
509
510
511#if 0xFFFFFFFFUL > FT_UINT_MAX
514 " higher bits in load_flags 0x%x are dropped\n",
516#endif
517
518 query.attrs.scaler.face_id =
type->face_id;
520 query.attrs.scaler.height =
type->height;
522
523 query.attrs.scaler.pixel = 1;
524 query.attrs.scaler.x_res = 0;
525 query.attrs.scaler.y_res = 0;
526
527
530
531#if 1
539#else
542 gindex,
545#endif
548
551
552 if ( anode )
553 {
556 }
557
560 }
FTC_SNode_Compare(FTC_SNode snode, FTC_GQuery gquery, FTC_Cache cache, FT_Bool *list_changed)
#define FTC_SBIT_ITEMS_PER_NODE
◆ FTC_SBitCache_LookupScaler()
Definition at line 566 of file ftcbasic.c.
572 {
577
578
579 if ( anode )
581
582
583 if ( !ansbit || !scaler )
584 return FT_THROW( Invalid_Argument );
585
587
588
589
590
591
592
593
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",
599#endif
600
601 query.attrs.scaler = scaler[0];
603
604
607
617
620
621 if ( anode )
622 {
625 }
626
629 }
◆ FTC_SBitCache_New()
Definition at line 473 of file ftcbasic.c.
475 {
478 }
static const FTC_GCacheClassRec ftc_basic_sbit_cache_class
◆ ftc_basic_image_cache_class
Initial value:=
{
{
},
}
static const FTC_IFamilyClassRec ftc_basic_image_family_class
ftc_basic_gnode_compare_faceid(FTC_Node ftcgnode, FT_Pointer ftcface_id, FTC_Cache cache, FT_Bool *list_changed)
ftc_gcache_done(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)
struct FTC_GCacheRec_ FTC_GCacheRec
struct FTC_MruListClassRec_ const * FTC_MruListClass
Definition at line 252 of file ftcbasic.c.
Referenced by FTC_ImageCache_New().
◆ ftc_basic_image_family_class
Initial value:=
{
{
},
}
ftc_basic_family_load_glyph(FTC_Family ftcfamily, FT_UInt gindex, FTC_Cache cache, FT_Glyph *aglyph)
struct FTC_BasicFamilyRec_ FTC_BasicFamilyRec
ftc_basic_family_init(FTC_MruNode ftcfamily, FT_Pointer ftcquery, FT_Pointer ftccache)
Definition at line 236 of file ftcbasic.c.
◆ ftc_basic_sbit_cache_class
Initial value:=
{
{
},
}
static const FTC_SFamilyClassRec ftc_basic_sbit_family_class
ftc_snode_weight(FTC_Node snode, FTC_Cache cache)
ftc_snode_new(FTC_Node *psnode, FT_Pointer gquery, FTC_Cache cache)
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)
Definition at line 452 of file ftcbasic.c.
Referenced by FTC_SBitCache_New().
◆ ftc_basic_sbit_family_class
Initial value:=
{
{
},
}
ftc_basic_family_get_count(FTC_Family ftcfamily, FTC_Manager manager)
ftc_basic_family_load_bitmap(FTC_Family ftcfamily, FT_UInt gindex, FTC_Manager manager, FT_Face *aface)
Definition at line 436 of file ftcbasic.c.