< prev index next >

src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svsfnt.h

Print this page


   1 /***************************************************************************/
   2 /*                                                                         */
   3 /*  svsfnt.h                                                               */
   4 /*                                                                         */
   5 /*    The FreeType SFNT table loading service (specification).             */
   6 /*                                                                         */
   7 /*  Copyright 2003-2018 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 SVSFNT_H_
  20 #define SVSFNT_H_
  21 
  22 #include FT_INTERNAL_SERVICE_H
  23 #include FT_TRUETYPE_TABLES_H
  24 
  25 
  26 FT_BEGIN_HEADER
  27 
  28 
  29   /*
  30    *  SFNT table loading service.
  31    */
  32 
  33 #define FT_SERVICE_ID_SFNT_TABLE  "sfnt-table"
  34 
  35 
  36   /*


  53 
  54   /*
  55    * Used to implement FT_Sfnt_Table_Info().
  56    */
  57   typedef FT_Error
  58   (*FT_SFNT_TableInfoFunc)( FT_Face    face,
  59                             FT_UInt    idx,
  60                             FT_ULong  *tag,
  61                             FT_ULong  *offset,
  62                             FT_ULong  *length );
  63 
  64 
  65   FT_DEFINE_SERVICE( SFNT_Table )
  66   {
  67     FT_SFNT_TableLoadFunc  load_table;
  68     FT_SFNT_TableGetFunc   get_table;
  69     FT_SFNT_TableInfoFunc  table_info;
  70   };
  71 
  72 
  73 #ifndef FT_CONFIG_OPTION_PIC
  74 
  75 #define FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ )  \
  76   static const FT_Service_SFNT_TableRec  class_ =                      \
  77   {                                                                    \
  78     load_, get_, info_                                                 \
  79   };
  80 
  81 #else /* FT_CONFIG_OPTION_PIC */
  82 
  83 #define FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ ) \
  84   void                                                                \
  85   FT_Init_Class_ ## class_( FT_Service_SFNT_TableRec*  clazz )        \
  86   {                                                                   \
  87     clazz->load_table = load_;                                        \
  88     clazz->get_table  = get_;                                         \
  89     clazz->table_info = info_;                                        \
  90   }
  91 
  92 #endif /* FT_CONFIG_OPTION_PIC */
  93 
  94   /* */
  95 
  96 
  97 FT_END_HEADER
  98 
  99 
 100 #endif /* SVSFNT_H_ */
 101 
 102 
 103 /* END */
   1 /****************************************************************************
   2  *
   3  * svsfnt.h
   4  *
   5  *   The FreeType SFNT table loading service (specification).
   6  *
   7  * Copyright (C) 2003-2019 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 SVSFNT_H_
  20 #define SVSFNT_H_
  21 
  22 #include FT_INTERNAL_SERVICE_H
  23 #include FT_TRUETYPE_TABLES_H
  24 
  25 
  26 FT_BEGIN_HEADER
  27 
  28 
  29   /*
  30    * SFNT table loading service.
  31    */
  32 
  33 #define FT_SERVICE_ID_SFNT_TABLE  "sfnt-table"
  34 
  35 
  36   /*


  53 
  54   /*
  55    * Used to implement FT_Sfnt_Table_Info().
  56    */
  57   typedef FT_Error
  58   (*FT_SFNT_TableInfoFunc)( FT_Face    face,
  59                             FT_UInt    idx,
  60                             FT_ULong  *tag,
  61                             FT_ULong  *offset,
  62                             FT_ULong  *length );
  63 
  64 
  65   FT_DEFINE_SERVICE( SFNT_Table )
  66   {
  67     FT_SFNT_TableLoadFunc  load_table;
  68     FT_SFNT_TableGetFunc   get_table;
  69     FT_SFNT_TableInfoFunc  table_info;
  70   };
  71 
  72 


  73 #define FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ )  \
  74   static const FT_Service_SFNT_TableRec  class_ =                      \
  75   {                                                                    \
  76     load_, get_, info_                                                 \
  77   };













  78 
  79   /* */
  80 
  81 
  82 FT_END_HEADER
  83 
  84 
  85 #endif /* SVSFNT_H_ */
  86 
  87 
  88 /* END */
< prev index next >