summary refs log tree commit diff
path: root/src/freetype/afloader.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/freetype/afloader.h')
-rw-r--r--src/freetype/afloader.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/freetype/afloader.h b/src/freetype/afloader.h
new file mode 100644
index 0000000..d4d72d1
--- /dev/null
+++ b/src/freetype/afloader.h
@@ -0,0 +1,91 @@
+/***************************************************************************/
+/*                                                                         */
+/*  afloader.h                                                             */
+/*                                                                         */
+/*    Auto-fitter glyph loading routines (specification).                  */
+/*                                                                         */
+/*  Copyright 2003-2018 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 AFLOADER_H_
+#define AFLOADER_H_
+
+#include "afhints.h"
+#include "afmodule.h"
+#include "afglobal.h"
+
+
+FT_BEGIN_HEADER
+
+  /*
+   *  The autofitter module's (global) data structure to communicate with
+   *  actual fonts.  If necessary, `local' data like the current face, the
+   *  current face's auto-hint data, or the current glyph's parameters
+   *  relevant to auto-hinting are `swapped in'.  Cf. functions like
+   *  `af_loader_reset' and `af_loader_load_g'.
+   */
+
+  typedef struct  AF_LoaderRec_
+  {
+    /* current face data */
+    FT_Face           face;
+    AF_FaceGlobals    globals;
+
+    /* current glyph data */
+    AF_GlyphHints     hints;
+    AF_StyleMetrics   metrics;
+    FT_Bool           transformed;
+    FT_Matrix         trans_matrix;
+    FT_Vector         trans_delta;
+    FT_Vector         pp1;
+    FT_Vector         pp2;
+    /* we don't handle vertical phantom points */
+
+  } AF_LoaderRec, *AF_Loader;
+
+
+  FT_LOCAL( void )
+  af_loader_init( AF_Loader      loader,
+                  AF_GlyphHints  hints );
+
+
+  FT_LOCAL( FT_Error )
+  af_loader_reset( AF_Loader  loader,
+                   AF_Module  module,
+                   FT_Face    face );
+
+
+  FT_LOCAL( void )
+  af_loader_done( AF_Loader  loader );
+
+
+  FT_LOCAL( FT_Error )
+  af_loader_load_glyph( AF_Loader  loader,
+                        AF_Module  module,
+                        FT_Face    face,
+                        FT_UInt    gindex,
+                        FT_Int32   load_flags );
+
+  FT_LOCAL_DEF( FT_Int32 )
+  af_loader_compute_darkening( AF_Loader  loader,
+                               FT_Face    face,
+                               FT_Pos     standard_width );
+
+/* */
+
+
+FT_END_HEADER
+
+#endif /* AFLOADER_H_ */
+
+
+/* END */