tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

ttcolr.h (2526B)


      1 /****************************************************************************
      2 *
      3 * ttcolr.h
      4 *
      5 *   TrueType and OpenType colored glyph layer support (specification).
      6 *
      7 * Copyright (C) 2018-2025 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 */