(root)/
freetype-2.13.2/
src/
sfnt/
ttcolr.h
       1  /****************************************************************************
       2   *
       3   * ttcolr.h
       4   *
       5   *   TrueType and OpenType colored glyph layer support (specification).
       6   *
       7   * Copyright (C) 2018-2023 by
       8   * David Turner, Robert Wilhelm, and Werner Lemberg.
       9   *
      10   * Originally written by Shao Yu Zhang <shaozhang@fb.com>.
      11   *
      12   * This file is part of the FreeType project, and may only be used,
      13   * modified, and distributed under the terms of the FreeType project
      14   * license, LICENSE.TXT.  By continuing to use, modify, or distribute
      15   * this file you indicate that you have read the license and
      16   * understand and accept it fully.
      17   *
      18   */
      19  
      20  
      21  #ifndef __TTCOLR_H__
      22  #define __TTCOLR_H__
      23  
      24  
      25  #include "ttload.h"
      26  
      27  
      28  FT_BEGIN_HEADER
      29  
      30  
      31    FT_LOCAL( FT_Error )
      32    tt_face_load_colr( TT_Face    face,
      33                       FT_Stream  stream );
      34  
      35    FT_LOCAL( void )
      36    tt_face_free_colr( TT_Face  face );
      37  
      38    FT_LOCAL( FT_Bool )
      39    tt_face_get_colr_layer( TT_Face            face,
      40                            FT_UInt            base_glyph,
      41                            FT_UInt           *aglyph_index,
      42                            FT_UInt           *acolor_index,
      43                            FT_LayerIterator*  iterator );
      44  
      45    FT_LOCAL( FT_Bool )
      46    tt_face_get_colr_glyph_paint( TT_Face                  face,
      47                                  FT_UInt                  base_glyph,
      48                                  FT_Color_Root_Transform  root_transform,
      49                                  FT_OpaquePaint*          paint );
      50  
      51    FT_LOCAL( FT_Bool )
      52    tt_face_get_color_glyph_clipbox( TT_Face      face,
      53                                     FT_UInt      base_glyph,
      54                                     FT_ClipBox*  clip_box );
      55  
      56    FT_LOCAL( FT_Bool )
      57    tt_face_get_paint_layers( TT_Face            face,
      58                              FT_LayerIterator*  iterator,
      59                              FT_OpaquePaint*    paint );
      60  
      61    FT_LOCAL( FT_Bool )
      62    tt_face_get_colorline_stops( TT_Face                face,
      63                                 FT_ColorStop*          color_stop,
      64                                 FT_ColorStopIterator*  iterator );
      65  
      66    FT_LOCAL( FT_Bool )
      67    tt_face_get_paint( TT_Face         face,
      68                       FT_OpaquePaint  opaque_paint,
      69                       FT_COLR_Paint*  paint );
      70  
      71    FT_LOCAL( FT_Error )
      72    tt_face_colr_blend_layer( TT_Face       face,
      73                              FT_UInt       color_index,
      74                              FT_GlyphSlot  dstSlot,
      75                              FT_GlyphSlot  srcSlot );
      76  
      77  
      78  FT_END_HEADER
      79  
      80  
      81  #endif /* __TTCOLR_H__ */
      82  
      83  /* END */