misc/libfreetype/include/freetype/ftmoderr.h
changeset 5172 88f2e05288ba
equal deleted inserted replaced
5171:f9283dc4860d 5172:88f2e05288ba
       
     1 /***************************************************************************/
       
     2 /*                                                                         */
       
     3 /*  ftmoderr.h                                                             */
       
     4 /*                                                                         */
       
     5 /*    FreeType module error offsets (specification).                       */
       
     6 /*                                                                         */
       
     7 /*  Copyright 2001, 2002, 2003, 2004, 2005, 2010 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   /*************************************************************************/
       
    20   /*                                                                       */
       
    21   /* This file is used to define the FreeType module error offsets.        */
       
    22   /*                                                                       */
       
    23   /* The lower byte gives the error code, the higher byte gives the        */
       
    24   /* module.  The base module has error offset 0.  For example, the error  */
       
    25   /* `FT_Err_Invalid_File_Format' has value 0x003, the error               */
       
    26   /* `TT_Err_Invalid_File_Format' has value 0x1103, the error              */
       
    27   /* `T1_Err_Invalid_File_Format' has value 0x1203, etc.                   */
       
    28   /*                                                                       */
       
    29   /* Undefine the macro FT_CONFIG_OPTION_USE_MODULE_ERRORS in ftoption.h   */
       
    30   /* to make the higher byte always zero (disabling the module error       */
       
    31   /* mechanism).                                                           */
       
    32   /*                                                                       */
       
    33   /* It can also be used to create a module error message table easily     */
       
    34   /* with something like                                                   */
       
    35   /*                                                                       */
       
    36   /*   {                                                                   */
       
    37   /*     #undef __FTMODERR_H__                                             */
       
    38   /*     #define FT_MODERRDEF( e, v, s )  { FT_Mod_Err_ ## e, s },         */
       
    39   /*     #define FT_MODERR_START_LIST     {                                */
       
    40   /*     #define FT_MODERR_END_LIST       { 0, 0 } };                      */
       
    41   /*                                                                       */
       
    42   /*     const struct                                                      */
       
    43   /*     {                                                                 */
       
    44   /*       int          mod_err_offset;                                    */
       
    45   /*       const char*  mod_err_msg                                        */
       
    46   /*     } ft_mod_errors[] =                                               */
       
    47   /*                                                                       */
       
    48   /*     #include FT_MODULE_ERRORS_H                                       */
       
    49   /*   }                                                                   */
       
    50   /*                                                                       */
       
    51   /* To use such a table, all errors must be ANDed with 0xFF00 to remove   */
       
    52   /* the error code.                                                       */
       
    53   /*                                                                       */
       
    54   /*************************************************************************/
       
    55 
       
    56 
       
    57 #ifndef __FTMODERR_H__
       
    58 #define __FTMODERR_H__
       
    59 
       
    60 
       
    61   /*******************************************************************/
       
    62   /*******************************************************************/
       
    63   /*****                                                         *****/
       
    64   /*****                       SETUP MACROS                      *****/
       
    65   /*****                                                         *****/
       
    66   /*******************************************************************/
       
    67   /*******************************************************************/
       
    68 
       
    69 
       
    70 #undef  FT_NEED_EXTERN_C
       
    71 
       
    72 #ifndef FT_MODERRDEF
       
    73 
       
    74 #ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
       
    75 #define FT_MODERRDEF( e, v, s )  FT_Mod_Err_ ## e = v,
       
    76 #else
       
    77 #define FT_MODERRDEF( e, v, s )  FT_Mod_Err_ ## e = 0,
       
    78 #endif
       
    79 
       
    80 #define FT_MODERR_START_LIST  enum {
       
    81 #define FT_MODERR_END_LIST    FT_Mod_Err_Max };
       
    82 
       
    83 #ifdef __cplusplus
       
    84 #define FT_NEED_EXTERN_C
       
    85   extern "C" {
       
    86 #endif
       
    87 
       
    88 #endif /* !FT_MODERRDEF */
       
    89 
       
    90 
       
    91   /*******************************************************************/
       
    92   /*******************************************************************/
       
    93   /*****                                                         *****/
       
    94   /*****               LIST MODULE ERROR BASES                   *****/
       
    95   /*****                                                         *****/
       
    96   /*******************************************************************/
       
    97   /*******************************************************************/
       
    98 
       
    99 
       
   100 #ifdef FT_MODERR_START_LIST
       
   101   FT_MODERR_START_LIST
       
   102 #endif
       
   103 
       
   104 
       
   105   FT_MODERRDEF( Base,      0x000, "base module" )
       
   106   FT_MODERRDEF( Autofit,   0x100, "autofitter module" )
       
   107   FT_MODERRDEF( BDF,       0x200, "BDF module" )
       
   108   FT_MODERRDEF( Bzip2,     0x300, "Bzip2 module" )
       
   109   FT_MODERRDEF( Cache,     0x400, "cache module" )
       
   110   FT_MODERRDEF( CFF,       0x500, "CFF module" )
       
   111   FT_MODERRDEF( CID,       0x600, "CID module" )
       
   112   FT_MODERRDEF( Gzip,      0x700, "Gzip module" )
       
   113   FT_MODERRDEF( LZW,       0x800, "LZW module" )
       
   114   FT_MODERRDEF( OTvalid,   0x900, "OpenType validation module" )
       
   115   FT_MODERRDEF( PCF,       0xA00, "PCF module" )
       
   116   FT_MODERRDEF( PFR,       0xB00, "PFR module" )
       
   117   FT_MODERRDEF( PSaux,     0xC00, "PS auxiliary module" )
       
   118   FT_MODERRDEF( PShinter,  0xD00, "PS hinter module" )
       
   119   FT_MODERRDEF( PSnames,   0xE00, "PS names module" )
       
   120   FT_MODERRDEF( Raster,    0xF00, "raster module" )
       
   121   FT_MODERRDEF( SFNT,     0x1000, "SFNT module" )
       
   122   FT_MODERRDEF( Smooth,   0x1100, "smooth raster module" )
       
   123   FT_MODERRDEF( TrueType, 0x1200, "TrueType module" )
       
   124   FT_MODERRDEF( Type1,    0x1300, "Type 1 module" )
       
   125   FT_MODERRDEF( Type42,   0x1400, "Type 42 module" )
       
   126   FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
       
   127 
       
   128 
       
   129 #ifdef FT_MODERR_END_LIST
       
   130   FT_MODERR_END_LIST
       
   131 #endif
       
   132 
       
   133 
       
   134   /*******************************************************************/
       
   135   /*******************************************************************/
       
   136   /*****                                                         *****/
       
   137   /*****                      CLEANUP                            *****/
       
   138   /*****                                                         *****/
       
   139   /*******************************************************************/
       
   140   /*******************************************************************/
       
   141 
       
   142 
       
   143 #ifdef FT_NEED_EXTERN_C
       
   144   }
       
   145 #endif
       
   146 
       
   147 #undef FT_MODERR_START_LIST
       
   148 #undef FT_MODERR_END_LIST
       
   149 #undef FT_MODERRDEF
       
   150 #undef FT_NEED_EXTERN_C
       
   151 
       
   152 
       
   153 #endif /* __FTMODERR_H__ */
       
   154 
       
   155 
       
   156 /* END */