src/java.desktop/share/native/libfreetype/include/freetype/fterrors.h
author prr
Thu, 09 May 2019 16:09:39 -0700
changeset 54876 da3834261f0c
parent 49234 3375a8039fde
permissions -rw-r--r--
8222362: Upgrade to Freetype 2.10.0 Reviewed-by: serb, erikj
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     1
/****************************************************************************
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     2
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     3
 * fterrors.h
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     4
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     5
 *   FreeType error code handling (specification).
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     6
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     7
 * Copyright (C) 1996-2019 by
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     8
 * David Turner, Robert Wilhelm, and Werner Lemberg.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     9
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    10
 * This file is part of the FreeType project, and may only be used,
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    11
 * modified, and distributed under the terms of the FreeType project
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    12
 * license, LICENSE.TXT.  By continuing to use, modify, or distribute
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    13
 * this file you indicate that you have read the license and
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    14
 * understand and accept it fully.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    15
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    16
 */
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    17
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    18
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    19
  /**************************************************************************
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    20
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    21
   * @section:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    22
   *   error_enumerations
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    23
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    24
   * @title:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    25
   *   Error Enumerations
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    26
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    27
   * @abstract:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    28
   *   How to handle errors and error strings.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    29
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    30
   * @description:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    31
   *   The header file `fterrors.h` (which is automatically included by
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    32
   *   `freetype.h` defines the handling of FreeType's enumeration
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    33
   *   constants.  It can also be used to generate error message strings
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    34
   *   with a small macro trick explained below.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    35
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    36
   *   **Error Formats**
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    37
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    38
   *   The configuration macro `FT_CONFIG_OPTION_USE_MODULE_ERRORS` can be
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    39
   *   defined in `ftoption.h` in order to make the higher byte indicate the
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    40
   *   module where the error has happened (this is not compatible with
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    41
   *   standard builds of FreeType~2, however).  See the file `ftmoderr.h`
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    42
   *   for more details.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    43
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    44
   *   **Error Message Strings**
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    45
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    46
   *   Error definitions are set up with special macros that allow client
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    47
   *   applications to build a table of error message strings.  The strings
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    48
   *   are not included in a normal build of FreeType~2 to save space (most
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    49
   *   client applications do not use them).
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    50
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    51
   *   To do so, you have to define the following macros before including
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    52
   *   this file.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    53
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    54
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    55
   *     FT_ERROR_START_LIST
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    56
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    57
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    58
   *   This macro is called before anything else to define the start of the
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    59
   *   error list.  It is followed by several `FT_ERROR_DEF` calls.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    60
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    61
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    62
   *     FT_ERROR_DEF( e, v, s )
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    63
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    64
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    65
   *   This macro is called to define one single error.  'e' is the error
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    66
   *   code identifier (e.g., `Invalid_Argument`), 'v' is the error's
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    67
   *   numerical value, and 's' is the corresponding error string.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    68
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    69
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    70
   *     FT_ERROR_END_LIST
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    71
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    72
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    73
   *   This macro ends the list.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    74
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    75
   *   Additionally, you have to undefine `FTERRORS_H_` before #including
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    76
   *   this file.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    77
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    78
   *   Here is a simple example.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    79
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    80
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    81
   *     #undef FTERRORS_H_
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    82
   *     #define FT_ERRORDEF( e, v, s )  { e, s },
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    83
   *     #define FT_ERROR_START_LIST     {
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    84
   *     #define FT_ERROR_END_LIST       { 0, NULL } };
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    85
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    86
   *     const struct
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    87
   *     {
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    88
   *       int          err_code;
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    89
   *       const char*  err_msg;
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    90
   *     } ft_errors[] =
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    91
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    92
   *     #include FT_ERRORS_H
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    93
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    94
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    95
   *   An alternative to using an array is a switch statement.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    96
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    97
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    98
   *     #undef FTERRORS_H_
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    99
   *     #define FT_ERROR_START_LIST     switch ( error_code ) {
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   100
   *     #define FT_ERRORDEF( e, v, s )    case v: return s;
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   101
   *     #define FT_ERROR_END_LIST       }
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   102
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   103
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   104
   *   If you use `FT_CONFIG_OPTION_USE_MODULE_ERRORS`, `error_code` should
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   105
   *   be replaced with `FT_ERROR_BASE(error_code)` in the last example.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   106
   */
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   107
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   108
  /* */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   109
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   110
  /* In previous FreeType versions we used `__FTERRORS_H__`.  However, */
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   111
  /* using two successive underscores in a non-system symbol name      */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   112
  /* violates the C (and C++) standard, so it was changed to the       */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   113
  /* current form.  In spite of this, we have to make                  */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   114
  /*                                                                   */
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   115
  /* ```                                                               */
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   116
  /*   #undefine __FTERRORS_H__                                        */
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   117
  /* ```                                                               */
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   118
  /*                                                                   */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   119
  /* work for backward compatibility.                                  */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   120
  /*                                                                   */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   121
#if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) )
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   122
#define FTERRORS_H_
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   123
#define __FTERRORS_H__
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   124
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   125
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   126
  /* include module base error codes */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   127
#include FT_MODULE_ERRORS_H
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   128
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   129
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   130
  /*******************************************************************/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   131
  /*******************************************************************/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   132
  /*****                                                         *****/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   133
  /*****                       SETUP MACROS                      *****/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   134
  /*****                                                         *****/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   135
  /*******************************************************************/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   136
  /*******************************************************************/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   137
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   138
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   139
#undef  FT_NEED_EXTERN_C
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   140
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   141
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   142
  /* FT_ERR_PREFIX is used as a prefix for error identifiers. */
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   143
  /* By default, we use `FT_Err_`.                            */
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   144
  /*                                                          */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   145
#ifndef FT_ERR_PREFIX
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   146
#define FT_ERR_PREFIX  FT_Err_
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   147
#endif
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   148
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   149
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   150
  /* FT_ERR_BASE is used as the base for module-specific errors. */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   151
  /*                                                             */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   152
#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   153
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   154
#ifndef FT_ERR_BASE
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   155
#define FT_ERR_BASE  FT_Mod_Err_Base
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   156
#endif
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   157
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   158
#else
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   159
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   160
#undef FT_ERR_BASE
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   161
#define FT_ERR_BASE  0
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   162
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   163
#endif /* FT_CONFIG_OPTION_USE_MODULE_ERRORS */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   164
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   165
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   166
  /* If FT_ERRORDEF is not defined, we need to define a simple */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   167
  /* enumeration type.                                         */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   168
  /*                                                           */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   169
#ifndef FT_ERRORDEF
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   170
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   171
#define FT_INCLUDE_ERR_PROTOS
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   172
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   173
#define FT_ERRORDEF( e, v, s )  e = v,
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   174
#define FT_ERROR_START_LIST     enum {
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   175
#define FT_ERROR_END_LIST       FT_ERR_CAT( FT_ERR_PREFIX, Max ) };
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   176
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   177
#ifdef __cplusplus
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   178
#define FT_NEED_EXTERN_C
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   179
  extern "C" {
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   180
#endif
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   181
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   182
#endif /* !FT_ERRORDEF */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   183
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   184
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   185
  /* this macro is used to define an error */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   186
#define FT_ERRORDEF_( e, v, s )                                             \
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   187
          FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s )
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   188
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   189
  /* this is only used for <module>_Err_Ok, which must be 0! */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   190
#define FT_NOERRORDEF_( e, v, s )                             \
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   191
          FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   192
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   193
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   194
#ifdef FT_ERROR_START_LIST
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   195
  FT_ERROR_START_LIST
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   196
#endif
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   197
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   198
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   199
  /* now include the error codes */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   200
#include FT_ERROR_DEFINITIONS_H
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   201
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   202
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   203
#ifdef FT_ERROR_END_LIST
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   204
  FT_ERROR_END_LIST
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   205
#endif
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   206
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   207
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   208
  /*******************************************************************/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   209
  /*******************************************************************/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   210
  /*****                                                         *****/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   211
  /*****                      SIMPLE CLEANUP                     *****/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   212
  /*****                                                         *****/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   213
  /*******************************************************************/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   214
  /*******************************************************************/
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   215
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   216
#ifdef FT_NEED_EXTERN_C
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   217
  }
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   218
#endif
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   219
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   220
#undef FT_ERROR_START_LIST
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   221
#undef FT_ERROR_END_LIST
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   222
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   223
#undef FT_ERRORDEF
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   224
#undef FT_ERRORDEF_
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   225
#undef FT_NOERRORDEF_
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   226
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   227
#undef FT_NEED_EXTERN_C
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   228
#undef FT_ERR_BASE
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   229
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   230
  /* FT_ERR_PREFIX is needed internally */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   231
#ifndef FT2_BUILD_LIBRARY
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   232
#undef FT_ERR_PREFIX
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   233
#endif
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   234
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   235
  /* FT_INCLUDE_ERR_PROTOS:  Control if function prototypes should be       */
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   236
  /*                         included with `#include FT_ERRORS_H'.  This is */
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   237
  /*                         only true where `FT_ERRORDEF` is undefined.    */
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   238
  /* FT_ERR_PROTOS_DEFINED:  Actual multiple-inclusion protection of        */
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   239
  /*                         `fterrors.h`.                                  */
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   240
#ifdef FT_INCLUDE_ERR_PROTOS
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   241
#undef FT_INCLUDE_ERR_PROTOS
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   242
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   243
#ifndef FT_ERR_PROTOS_DEFINED
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   244
#define FT_ERR_PROTOS_DEFINED
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   245
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   246
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   247
  /**************************************************************************
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   248
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   249
   * @function:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   250
   *   FT_Error_String
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   251
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   252
   * @description:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   253
   *   Retrieve the description of a valid FreeType error code.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   254
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   255
   * @input:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   256
   *   error_code ::
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   257
   *     A valid FreeType error code.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   258
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   259
   * @return:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   260
   *   A C~string or `NULL`, if any error occurred.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   261
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   262
   * @note:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   263
   *   FreeType has to be compiled with `FT_CONFIG_OPTION_ERROR_STRINGS` or
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   264
   *   `FT_DEBUG_LEVEL_ERROR` to get meaningful descriptions.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   265
   *   'error_string' will be `NULL` otherwise.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   266
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   267
   *   Module identification will be ignored:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   268
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   269
   *   ```c
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   270
   *     strcmp( FT_Error_String(  FT_Err_Unknown_File_Format ),
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   271
   *             FT_Error_String( BDF_Err_Unknown_File_Format ) ) == 0;
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   272
   *   ```
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   273
   */
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   274
  FT_EXPORT( const char* )
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   275
  FT_Error_String( FT_Error  error_code );
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   276
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   277
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   278
#endif /* FT_ERR_PROTOS_DEFINED */
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   279
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   280
#endif /* FT_INCLUDE_ERR_PROTOS */
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   281
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   282
#endif /* !(FTERRORS_H_ && __FTERRORS_H__) */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   283
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   284
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   285
/* END */