misc/libfreetype/src/sfnt/sfntpic.h
changeset 9431 0f5961910e27
parent 9357 a501f5ec7b34
parent 9429 7a97a554ac80
child 9433 f0a8ac191839
equal deleted inserted replaced
9357:a501f5ec7b34 9431:0f5961910e27
     1 /***************************************************************************/
       
     2 /*                                                                         */
       
     3 /*  sfntpic.h                                                              */
       
     4 /*                                                                         */
       
     5 /*    The FreeType position independent code services for sfnt module.     */
       
     6 /*                                                                         */
       
     7 /*  Copyright 2009 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 FT_BEGIN_HEADER
       
    24 
       
    25 #include FT_INTERNAL_PIC_H
       
    26 
       
    27  #ifndef FT_CONFIG_OPTION_PIC
       
    28 #define FT_SFNT_SERVICES_GET             sfnt_services
       
    29 #define FT_SFNT_SERVICE_GLYPH_DICT_GET   sfnt_service_glyph_dict
       
    30 #define FT_SFNT_SERVICE_PS_NAME_GET      sfnt_service_ps_name
       
    31 #define FT_TT_SERVICE_GET_CMAP_INFO_GET  tt_service_get_cmap_info
       
    32 #define FT_SFNT_SERVICES_GET             sfnt_services
       
    33 #define FT_TT_CMAP_CLASSES_GET           tt_cmap_classes
       
    34 #define FT_SFNT_SERVICE_SFNT_TABLE_GET   sfnt_service_sfnt_table
       
    35 #define FT_SFNT_SERVICE_BDF_GET          sfnt_service_bdf
       
    36 #define FT_SFNT_INTERFACE_GET            sfnt_interface
       
    37 
       
    38 #else /* FT_CONFIG_OPTION_PIC */
       
    39 
       
    40 /* some include files required for members of sfntModulePIC */
       
    41 #include FT_SERVICE_GLYPH_DICT_H
       
    42 #include FT_SERVICE_POSTSCRIPT_NAME_H
       
    43 #include FT_SERVICE_SFNT_H
       
    44 #include FT_SERVICE_TT_CMAP_H
       
    45 #ifdef TT_CONFIG_OPTION_BDF
       
    46 #include "ttbdf.h"
       
    47 #include FT_SERVICE_BDF_H
       
    48 #endif
       
    49 #include FT_INTERNAL_DEBUG_H
       
    50 #include FT_INTERNAL_STREAM_H
       
    51 #include FT_INTERNAL_SFNT_H
       
    52 #include "ttcmap.h"
       
    53 
       
    54 typedef struct sfntModulePIC_
       
    55   {
       
    56     FT_ServiceDescRec* sfnt_services;
       
    57     FT_Service_GlyphDictRec sfnt_service_glyph_dict;
       
    58     FT_Service_PsFontNameRec  sfnt_service_ps_name;
       
    59     FT_Service_TTCMapsRec  tt_service_get_cmap_info;
       
    60     TT_CMap_Class* tt_cmap_classes;
       
    61     FT_Service_SFNT_TableRec sfnt_service_sfnt_table;
       
    62 #ifdef TT_CONFIG_OPTION_BDF
       
    63     FT_Service_BDFRec sfnt_service_bdf;
       
    64 #endif
       
    65     SFNT_Interface sfnt_interface;
       
    66   } sfntModulePIC;
       
    67 
       
    68 #define GET_PIC(lib)                      ((sfntModulePIC*)((lib)->pic_container.sfnt))
       
    69 #define FT_SFNT_SERVICES_GET              (GET_PIC(library)->sfnt_services)
       
    70 #define FT_SFNT_SERVICE_GLYPH_DICT_GET    (GET_PIC(library)->sfnt_service_glyph_dict)
       
    71 #define FT_SFNT_SERVICE_PS_NAME_GET       (GET_PIC(library)->sfnt_service_ps_name)
       
    72 #define FT_TT_SERVICE_GET_CMAP_INFO_GET   (GET_PIC(library)->tt_service_get_cmap_info)
       
    73 #define FT_SFNT_SERVICES_GET              (GET_PIC(library)->sfnt_services)
       
    74 #define FT_TT_CMAP_CLASSES_GET            (GET_PIC(library)->tt_cmap_classes)
       
    75 #define FT_SFNT_SERVICE_SFNT_TABLE_GET    (GET_PIC(library)->sfnt_service_sfnt_table)
       
    76 #define FT_SFNT_SERVICE_BDF_GET           (GET_PIC(library)->sfnt_service_bdf)
       
    77 #define FT_SFNT_INTERFACE_GET             (GET_PIC(library)->sfnt_interface)
       
    78 
       
    79 #endif /* FT_CONFIG_OPTION_PIC */
       
    80 
       
    81 /* */
       
    82 
       
    83 FT_END_HEADER
       
    84 
       
    85 #endif /* __SFNTPIC_H__ */
       
    86 
       
    87 
       
    88 /* END */