summaryrefslogtreecommitdiffstats
path: root/src/cache/ftcsbits.h
diff options
context:
space:
mode:
authorGeremy Condra <gcondra@google.com>2011-11-17 14:08:04 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-11-17 14:08:04 -0800
commita56904260208e9306d661349cc2bddfad8f29019 (patch)
tree720489aa1d9176e568acf0f8cb441a3f8cb0663f /src/cache/ftcsbits.h
parentec53de77a7ec24f862372a39333f8e91708a806d (diff)
parentbff90fb5ec88ad7fdfb6d1d2f5a5719c20a2c5dc (diff)
downloadandroid_external_freetype-a56904260208e9306d661349cc2bddfad8f29019.tar.gz
android_external_freetype-a56904260208e9306d661349cc2bddfad8f29019.tar.bz2
android_external_freetype-a56904260208e9306d661349cc2bddfad8f29019.zip
Merge "DO NOT MERGE Update FreeType library to 2.4.7"
Diffstat (limited to 'src/cache/ftcsbits.h')
-rw-r--r--src/cache/ftcsbits.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/cache/ftcsbits.h b/src/cache/ftcsbits.h
new file mode 100644
index 0000000..df55dca
--- /dev/null
+++ b/src/cache/ftcsbits.h
@@ -0,0 +1,103 @@
+/***************************************************************************/
+/* */
+/* ftcsbits.h */
+/* */
+/* A small-bitmap cache (specification). */
+/* */
+/* Copyright 2000-2001, 2002, 2003, 2006, 2011 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. */
+/* */
+/***************************************************************************/
+
+
+#ifndef __FTCSBITS_H__
+#define __FTCSBITS_H__
+
+
+#include <ft2build.h>
+#include FT_CACHE_H
+#include "ftcglyph.h"
+
+
+FT_BEGIN_HEADER
+
+#define FTC_SBIT_ITEMS_PER_NODE 16
+
+ typedef struct FTC_SNodeRec_
+ {
+ FTC_GNodeRec gnode;
+ FT_UInt count;
+ FTC_SBitRec sbits[FTC_SBIT_ITEMS_PER_NODE];
+
+ } FTC_SNodeRec, *FTC_SNode;
+
+
+#define FTC_SNODE( x ) ( (FTC_SNode)( x ) )
+#define FTC_SNODE_GINDEX( x ) FTC_GNODE( x )->gindex
+#define FTC_SNODE_FAMILY( x ) FTC_GNODE( x )->family
+
+ typedef FT_UInt
+ (*FTC_SFamily_GetCountFunc)( FTC_Family family,
+ FTC_Manager manager );
+
+ typedef FT_Error
+ (*FTC_SFamily_LoadGlyphFunc)( FTC_Family family,
+ FT_UInt gindex,
+ FTC_Manager manager,
+ FT_Face *aface );
+
+ typedef struct FTC_SFamilyClassRec_
+ {
+ FTC_MruListClassRec clazz;
+ FTC_SFamily_GetCountFunc family_get_count;
+ FTC_SFamily_LoadGlyphFunc family_load_glyph;
+
+ } FTC_SFamilyClassRec;
+
+ typedef const FTC_SFamilyClassRec* FTC_SFamilyClass;
+
+#define FTC_SFAMILY_CLASS( x ) ((FTC_SFamilyClass)(x))
+
+#define FTC_CACHE__SFAMILY_CLASS( x ) \
+ FTC_SFAMILY_CLASS( FTC_CACHE__GCACHE_CLASS( x )->family_class )
+
+
+ FT_LOCAL( void )
+ FTC_SNode_Free( FTC_SNode snode,
+ FTC_Cache cache );
+
+ FT_LOCAL( FT_Error )
+ FTC_SNode_New( FTC_SNode *psnode,
+ FTC_GQuery gquery,
+ FTC_Cache cache );
+
+#if 0
+ FT_LOCAL( FT_ULong )
+ FTC_SNode_Weight( FTC_SNode inode );
+#endif
+
+
+#ifdef FTC_INLINE
+
+ FT_LOCAL( FT_Bool )
+ FTC_SNode_Compare( FTC_SNode snode,
+ FTC_GQuery gquery,
+ FTC_Cache cache,
+ FT_Bool* list_changed);
+
+#endif
+
+ /* */
+
+FT_END_HEADER
+
+#endif /* __FTCSBITS_H__ */
+
+
+/* END */