summaryrefslogtreecommitdiff
path: root/src/cache/ftcglyph.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cache/ftcglyph.c')
-rw-r--r--src/cache/ftcglyph.c305
1 files changed, 152 insertions, 153 deletions
diff --git a/src/cache/ftcglyph.c b/src/cache/ftcglyph.c
index d0a3777c9..a09d81549 100644
--- a/src/cache/ftcglyph.c
+++ b/src/cache/ftcglyph.c
@@ -1,153 +1,152 @@
-/***************************************************************************/
-/* */
-/* ftcglyph.c */
-/* */
-/* FreeType Glyph Image (FT_Glyph) cache (body). */
-/* */
-/* Copyright 2000-2001 by */
-/* David Turner, Robert Wilhelm, and Werner Lemberg. */
-/* */
-/* This file is part of the FreeType project, and may only be used, */
-/* modified, and distributed under the terms of the FreeType project */
-/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
-/* this file you indicate that you have read the license and */
-/* understand and accept it fully. */
-/* */
-/***************************************************************************/
-
-
-#include <ft2build.h>
-#include FT_CACHE_H
-#include FT_CACHE_INTERNAL_GLYPH_H
-#include FT_ERRORS_H
-#include FT_INTERNAL_OBJECTS_H
-#include FT_INTERNAL_DEBUG_H
-
-#include "ftcerror.h"
-
-
- /* create a new chunk node, setting its cache index and ref count */
- FT_EXPORT_DEF( void )
- FTC_GNode_Init( FTC_GNode gnode,
- FT_UInt gindex,
- FTC_Family family )
- {
- gnode->family = family;
- gnode->gindex = gindex;
- family->num_nodes++;
- }
-
-
- FT_EXPORT_DEF( void )
- FTC_GNode_UnselectFamily( FTC_GNode gnode,
- FTC_Cache cache )
- {
- FTC_Family family = gnode->family;
-
- gnode->family = NULL;
- if ( family && --family->num_nodes <= 0 )
- {
- FTC_MruList_Remove( & FTC_GCACHE(cache)->families, (FTC_MruNode)family );
- }
- }
-
-
- FT_EXPORT_DEF( void )
- FTC_GNode_Done( FTC_GNode gnode,
- FTC_Cache cache )
- {
- /* finalize the node */
- gnode->gindex = 0;
-
- FTC_GNode_UnselectFamily( gnode, cache );
- }
-
-
- FT_EXPORT_DEF( FT_Bool )
- FTC_GNode_Compare( FTC_GNode gnode,
- FTC_GQuery gquery )
- {
- return FT_BOOL( gnode->family == gquery->family &&
- gnode->gindex == gquery->gindex );
- }
-
-
- /*************************************************************************/
- /*************************************************************************/
- /***** *****/
- /***** CHUNK SETS *****/
- /***** *****/
- /*************************************************************************/
- /*************************************************************************/
-
- FT_EXPORT_DEF( void )
- FTC_Family_Init( FTC_Family family,
- FTC_Cache cache )
- {
- FTC_GCacheClass clazz = FTC_CACHE__GCACHE_CLASS(cache);
-
- family->clazz = clazz->family_class;
- family->num_nodes = 0;
- family->cache = cache;
- }
-
-
- FT_EXPORT_DEF( FT_Error )
- FTC_GCache_Init( FTC_GCache cache )
- {
- FT_Error error;
-
- error = FTC_Cache_Init( FTC_CACHE(cache) );
- if ( !error )
- {
- FTC_GCacheClass clazz = (FTC_GCacheClass) FTC_CACHE(cache)->org_class;
-
- FTC_MruList_Init( &cache->families,
- clazz->family_class,
- 0, /* no maximum here !! */
- cache,
- FTC_CACHE(cache)->memory );
- }
- return error;
- }
-
-
- FT_EXPORT_DEF( void )
- FTC_GCache_Done( FTC_GCache cache )
- {
- FTC_Cache_Done( (FTC_Cache)cache );
- FTC_MruList_Done( &cache->families );
- }
-
-
- FT_EXPORT_DEF( FT_Error )
- FTC_GCache_New( FTC_Manager manager,
- FTC_GCacheClass clazz,
- FTC_GCache *acache )
- {
- return FTC_Manager_RegisterCache( manager, (FTC_CacheClass) clazz,
- (FTC_Cache*) acache );
- }
-
-
- FT_EXPORT_DEF( FT_Error )
- FTC_GCache_Lookup( FTC_GCache cache,
- FT_UInt32 hash,
- FT_UInt gindex,
- FTC_GQuery query,
- FTC_Node *anode )
- {
- FT_Error error;
-
- query->gindex = gindex;
-
- error = FTC_MruList_Lookup( &cache->families, query,
- (FTC_MruNode*) &query->family );
- if ( !error )
- error = FTC_Cache_Lookup( FTC_CACHE(cache), hash, query, anode );
-
- return error;
- }
-
-
-/* END */
+/***************************************************************************/
+/* */
+/* ftcglyph.c */
+/* */
+/* FreeType Glyph Image (FT_Glyph) cache (body). */
+/* */
+/* Copyright 2000-2001 by */
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+
+#include <ft2build.h>
+#include FT_CACHE_H
+#include FT_CACHE_INTERNAL_GLYPH_H
+#include FT_ERRORS_H
+#include FT_INTERNAL_OBJECTS_H
+#include FT_INTERNAL_DEBUG_H
+
+#include "ftcerror.h"
+
+
+ /* create a new chunk node, setting its cache index and ref count */
+ FT_EXPORT_DEF( void )
+ FTC_GNode_Init( FTC_GNode gnode,
+ FT_UInt gindex,
+ FTC_Family family )
+ {
+ gnode->family = family;
+ gnode->gindex = gindex;
+ family->num_nodes++;
+ }
+
+
+ FT_EXPORT_DEF( void )
+ FTC_GNode_UnselectFamily( FTC_GNode gnode,
+ FTC_Cache cache )
+ {
+ FTC_Family family = gnode->family;
+
+ gnode->family = NULL;
+ if ( family && --family->num_nodes <= 0 )
+ {
+ FTC_MruList_Remove( & FTC_GCACHE(cache)->families, (FTC_MruNode)family );
+ }
+ }
+
+
+ FT_EXPORT_DEF( void )
+ FTC_GNode_Done( FTC_GNode gnode,
+ FTC_Cache cache )
+ {
+ /* finalize the node */
+ gnode->gindex = 0;
+
+ FTC_GNode_UnselectFamily( gnode, cache );
+ }
+
+
+ FT_EXPORT_DEF( FT_Bool )
+ FTC_GNode_Compare( FTC_GNode gnode,
+ FTC_GQuery gquery )
+ {
+ return FT_BOOL( gnode->family == gquery->family &&
+ gnode->gindex == gquery->gindex );
+ }
+
+
+ /*************************************************************************/
+ /*************************************************************************/
+ /***** *****/
+ /***** CHUNK SETS *****/
+ /***** *****/
+ /*************************************************************************/
+ /*************************************************************************/
+
+ FT_EXPORT_DEF( void )
+ FTC_Family_Init( FTC_Family family,
+ FTC_Cache cache )
+ {
+ FTC_GCacheClass clazz = FTC_CACHE__GCACHE_CLASS(cache);
+
+ family->clazz = clazz->family_class;
+ family->num_nodes = 0;
+ family->cache = cache;
+ }
+
+
+ FT_EXPORT_DEF( FT_Error )
+ FTC_GCache_Init( FTC_GCache cache )
+ {
+ FT_Error error;
+
+ error = FTC_Cache_Init( FTC_CACHE(cache) );
+ if ( !error )
+ {
+ FTC_GCacheClass clazz = (FTC_GCacheClass) FTC_CACHE(cache)->org_class;
+
+ FTC_MruList_Init( &cache->families,
+ clazz->family_class,
+ 0, /* no maximum here !! */
+ cache,
+ FTC_CACHE(cache)->memory );
+ }
+ return error;
+ }
+
+
+ FT_EXPORT_DEF( void )
+ FTC_GCache_Done( FTC_GCache cache )
+ {
+ FTC_Cache_Done( (FTC_Cache)cache );
+ FTC_MruList_Done( &cache->families );
+ }
+
+
+ FT_EXPORT_DEF( FT_Error )
+ FTC_GCache_New( FTC_Manager manager,
+ FTC_GCacheClass clazz,
+ FTC_GCache *acache )
+ {
+ return FTC_Manager_RegisterCache( manager, (FTC_CacheClass) clazz,
+ (FTC_Cache*) acache );
+ }
+
+
+ FT_EXPORT_DEF( FT_Error )
+ FTC_GCache_Lookup( FTC_GCache cache,
+ FT_UInt32 hash,
+ FT_UInt gindex,
+ FTC_GQuery query,
+ FTC_Node *anode )
+ {
+ FT_Error error;
+
+ query->gindex = gindex;
+
+ FTC_MRULIST_LOOKUP( &cache->families, query, query->family, error );
+ if ( !error )
+ error = FTC_Cache_Lookup( FTC_CACHE(cache), hash, query, anode );
+
+ return error;
+ }
+
+
+/* END */