src/java.desktop/share/native/libfreetype/src/sfnt/sfntpic.h
changeset 54876 da3834261f0c
parent 54875 bcfedddcf4ce
child 54877 dde07ac16610
equal deleted inserted replaced
54875:bcfedddcf4ce 54876:da3834261f0c
     1 /***************************************************************************/
       
     2 /*                                                                         */
       
     3 /*  sfntpic.h                                                              */
       
     4 /*                                                                         */
       
     5 /*    The FreeType position independent code services for sfnt module.     */
       
     6 /*                                                                         */
       
     7 /*  Copyright 2009-2018 by                                                 */
       
     8 /*  Oran Agra and Mickey Gabel.                                            */
       
     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 SFNTPIC_H_
       
    20 #define SFNTPIC_H_
       
    21 
       
    22 
       
    23 #include FT_INTERNAL_PIC_H
       
    24 
       
    25 
       
    26 #ifndef FT_CONFIG_OPTION_PIC
       
    27 
       
    28 #define SFNT_SERVICES_GET            sfnt_services
       
    29 #define SFNT_SERVICE_GLYPH_DICT_GET  sfnt_service_glyph_dict
       
    30 #define SFNT_SERVICE_PS_NAME_GET     sfnt_service_ps_name
       
    31 #define TT_SERVICE_CMAP_INFO_GET     tt_service_get_cmap_info
       
    32 #define TT_CMAP_CLASSES_GET          tt_cmap_classes
       
    33 #define SFNT_SERVICE_SFNT_TABLE_GET  sfnt_service_sfnt_table
       
    34 #define SFNT_SERVICE_BDF_GET         sfnt_service_bdf
       
    35 #define SFNT_INTERFACE_GET           sfnt_interface
       
    36 
       
    37 #else /* FT_CONFIG_OPTION_PIC */
       
    38 
       
    39   /* some include files required for members of sfntModulePIC */
       
    40 #include FT_SERVICE_GLYPH_DICT_H
       
    41 #include FT_SERVICE_POSTSCRIPT_NAME_H
       
    42 #include FT_SERVICE_SFNT_H
       
    43 #include FT_SERVICE_TT_CMAP_H
       
    44 
       
    45 #ifdef TT_CONFIG_OPTION_BDF
       
    46 #include "ttbdf.h"
       
    47 #include FT_SERVICE_BDF_H
       
    48 #endif
       
    49 
       
    50 #include FT_INTERNAL_DEBUG_H
       
    51 #include FT_INTERNAL_STREAM_H
       
    52 #include FT_INTERNAL_SFNT_H
       
    53 #include "ttcmap.h"
       
    54 
       
    55 
       
    56 FT_BEGIN_HEADER
       
    57 
       
    58   typedef struct  sfntModulePIC_
       
    59   {
       
    60     FT_ServiceDescRec*        sfnt_services;
       
    61     FT_Service_GlyphDictRec   sfnt_service_glyph_dict;
       
    62     FT_Service_PsFontNameRec  sfnt_service_ps_name;
       
    63     FT_Service_TTCMapsRec     tt_service_get_cmap_info;
       
    64     TT_CMap_Class*            tt_cmap_classes;
       
    65     FT_Service_SFNT_TableRec  sfnt_service_sfnt_table;
       
    66 #ifdef TT_CONFIG_OPTION_BDF
       
    67     FT_Service_BDFRec         sfnt_service_bdf;
       
    68 #endif
       
    69     SFNT_Interface            sfnt_interface;
       
    70 
       
    71   } sfntModulePIC;
       
    72 
       
    73 
       
    74 #define GET_PIC( lib )                                      \
       
    75           ( (sfntModulePIC*)( (lib)->pic_container.sfnt ) )
       
    76 
       
    77 #define SFNT_SERVICES_GET                       \
       
    78           ( GET_PIC( library )->sfnt_services )
       
    79 #define SFNT_SERVICE_GLYPH_DICT_GET                       \
       
    80           ( GET_PIC( library )->sfnt_service_glyph_dict )
       
    81 #define SFNT_SERVICE_PS_NAME_GET                       \
       
    82           ( GET_PIC( library )->sfnt_service_ps_name )
       
    83 #define TT_SERVICE_CMAP_INFO_GET                           \
       
    84           ( GET_PIC( library )->tt_service_get_cmap_info )
       
    85 #define TT_CMAP_CLASSES_GET                       \
       
    86           ( GET_PIC( library )->tt_cmap_classes )
       
    87 #define SFNT_SERVICE_SFNT_TABLE_GET                       \
       
    88           ( GET_PIC( library )->sfnt_service_sfnt_table )
       
    89 #define SFNT_SERVICE_BDF_GET                       \
       
    90           ( GET_PIC( library )->sfnt_service_bdf )
       
    91 #define SFNT_INTERFACE_GET                       \
       
    92           ( GET_PIC( library )->sfnt_interface )
       
    93 
       
    94 
       
    95   /* see sfntpic.c for the implementation */
       
    96   void
       
    97   sfnt_module_class_pic_free( FT_Library  library );
       
    98 
       
    99   FT_Error
       
   100   sfnt_module_class_pic_init( FT_Library  library );
       
   101 
       
   102 
       
   103 FT_END_HEADER
       
   104 
       
   105 #endif /* FT_CONFIG_OPTION_PIC */
       
   106 
       
   107   /* */
       
   108 
       
   109 #endif /* SFNTPIC_H_ */
       
   110 
       
   111 
       
   112 /* END */