(root)/
freetype-2.13.2/
src/
autofit/
afloader.h
       1  /****************************************************************************
       2   *
       3   * afloader.h
       4   *
       5   *   Auto-fitter glyph loading routines (specification).
       6   *
       7   * Copyright (C) 2003-2023 by
       8   * David Turner, Robert Wilhelm, and Werner Lemberg.
       9   *
      10   * This file is part of the FreeType project, and may only be used,
      11   * modified, and distributed under the terms of the FreeType project
      12   * license, LICENSE.TXT.  By continuing to use, modify, or distribute
      13   * this file you indicate that you have read the license and
      14   * understand and accept it fully.
      15   *
      16   */
      17  
      18  
      19  #ifndef AFLOADER_H_
      20  #define AFLOADER_H_
      21  
      22  #include "afhints.h"
      23  #include "afmodule.h"
      24  #include "afglobal.h"
      25  
      26  
      27  FT_BEGIN_HEADER
      28  
      29    /*
      30     * The autofitter module's (global) data structure to communicate with
      31     * actual fonts.  If necessary, `local' data like the current face, the
      32     * current face's auto-hint data, or the current glyph's parameters
      33     * relevant to auto-hinting are `swapped in'.  Cf. functions like
      34     * `af_loader_reset' and `af_loader_load_g'.
      35     */
      36  
      37    typedef struct  AF_LoaderRec_
      38    {
      39      /* current face data */
      40      FT_Face           face;
      41      AF_FaceGlobals    globals;
      42  
      43      /* current glyph data */
      44      AF_GlyphHints     hints;
      45      AF_StyleMetrics   metrics;
      46      FT_Bool           transformed;
      47      FT_Matrix         trans_matrix;
      48      FT_Vector         trans_delta;
      49      FT_Vector         pp1;
      50      FT_Vector         pp2;
      51      /* we don't handle vertical phantom points */
      52  
      53    } AF_LoaderRec, *AF_Loader;
      54  
      55  
      56    FT_LOCAL( void )
      57    af_loader_init( AF_Loader      loader,
      58                    AF_GlyphHints  hints );
      59  
      60  
      61    FT_LOCAL( FT_Error )
      62    af_loader_reset( AF_Loader  loader,
      63                     AF_Module  module,
      64                     FT_Face    face );
      65  
      66  
      67    FT_LOCAL( void )
      68    af_loader_done( AF_Loader  loader );
      69  
      70  
      71    FT_LOCAL( FT_Error )
      72    af_loader_load_glyph( AF_Loader  loader,
      73                          AF_Module  module,
      74                          FT_Face    face,
      75                          FT_UInt    gindex,
      76                          FT_Int32   load_flags );
      77  
      78    FT_LOCAL( FT_Fixed )
      79    af_loader_compute_darkening( AF_Loader  loader,
      80                                 FT_Face    face,
      81                                 FT_Pos     standard_width );
      82  
      83  /* */
      84  
      85  
      86  FT_END_HEADER
      87  
      88  #endif /* AFLOADER_H_ */
      89  
      90  
      91  /* END */