|
|
|
@ -397,6 +397,14 @@ FT_BEGIN_HEADER |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Use FT_LOCAL and FT_LOCAL_DEF to declare and define, respectively, */ |
|
|
|
|
/* a function that gets used only within the scope of a module. */ |
|
|
|
|
/* Normally, both the header and source code files for such a */ |
|
|
|
|
/* function are within a single module directory. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Intra-module arrays should be tagged with FT_LOCAL_ARRAY and */ |
|
|
|
|
/* FT_LOCAL_ARRAY_DEF. */ |
|
|
|
|
/* */ |
|
|
|
|
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT |
|
|
|
|
|
|
|
|
|
#define FT_LOCAL( x ) static x |
|
|
|
@ -418,6 +426,12 @@ FT_BEGIN_HEADER |
|
|
|
|
#define FT_LOCAL_ARRAY_DEF( x ) const x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Use FT_BASE and FT_BASE_DEF to declare and define, respectively, */ |
|
|
|
|
/* functions that are used in more than a single module. In the */ |
|
|
|
|
/* current setup this implies that the declaration is in a header */ |
|
|
|
|
/* file in the `include/freetype/internal' directory, and the */ |
|
|
|
|
/* function body is in a file in `src/base'. */ |
|
|
|
|
/* */ |
|
|
|
|
#ifndef FT_BASE |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
@ -440,6 +454,37 @@ FT_BEGIN_HEADER |
|
|
|
|
#endif /* !FT_BASE_DEF */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* When compiling FreeType as a DLL, some systems/compilers need a */ |
|
|
|
|
/* special attribute in front OR after the return type of function */ |
|
|
|
|
/* declarations. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Two macros are used within the FreeType source code to define */ |
|
|
|
|
/* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */ |
|
|
|
|
/* */ |
|
|
|
|
/* FT_EXPORT( return_type ) */ |
|
|
|
|
/* */ |
|
|
|
|
/* is used in a function declaration, as in */ |
|
|
|
|
/* */ |
|
|
|
|
/* FT_EXPORT( FT_Error ) */ |
|
|
|
|
/* FT_Init_FreeType( FT_Library* alibrary ); */ |
|
|
|
|
/* */ |
|
|
|
|
/* */ |
|
|
|
|
/* FT_EXPORT_DEF( return_type ) */ |
|
|
|
|
/* */ |
|
|
|
|
/* is used in a function definition, as in */ |
|
|
|
|
/* */ |
|
|
|
|
/* FT_EXPORT_DEF( FT_Error ) */ |
|
|
|
|
/* FT_Init_FreeType( FT_Library* alibrary ) */ |
|
|
|
|
/* { */ |
|
|
|
|
/* ... some code ... */ |
|
|
|
|
/* return FT_Err_Ok; */ |
|
|
|
|
/* } */ |
|
|
|
|
/* */ |
|
|
|
|
/* You can provide your own implementation of FT_EXPORT and */ |
|
|
|
|
/* FT_EXPORT_DEF here if you want. */ |
|
|
|
|
/* */ |
|
|
|
|
/* To export a variable, use FT_EXPORT_VAR. */ |
|
|
|
|
/* */ |
|
|
|
|
#ifndef FT_EXPORT |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
@ -483,7 +528,13 @@ FT_BEGIN_HEADER |
|
|
|
|
/* functions which are accessed by (global) function pointers. */ |
|
|
|
|
/* */ |
|
|
|
|
/* */ |
|
|
|
|
/* FT_CALLBACK_DEF is used to _define_ a callback function. */ |
|
|
|
|
/* FT_CALLBACK_DEF is used to _define_ a callback function, */ |
|
|
|
|
/* located in the same source code file as the structure that uses */ |
|
|
|
|
/* it. */ |
|
|
|
|
/* */ |
|
|
|
|
/* FT_BASE_CALLBACK and FT_BASE_CALLBACK_DEF are used to declare */ |
|
|
|
|
/* and define a callback function, respectively, in a similar way */ |
|
|
|
|
/* as FT_BASE and FT_BASE_DEF work. */ |
|
|
|
|
/* */ |
|
|
|
|
/* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */ |
|
|
|
|
/* contains pointers to callback functions. */ |
|
|
|
@ -503,6 +554,16 @@ FT_BEGIN_HEADER |
|
|
|
|
#endif |
|
|
|
|
#endif /* FT_CALLBACK_DEF */ |
|
|
|
|
|
|
|
|
|
#ifndef FT_BASE_CALLBACK |
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
#define FT_BASE_CALLBACK( x ) extern "C" x |
|
|
|
|
#define FT_BASE_CALLBACK_DEF( x ) extern "C" x |
|
|
|
|
#else |
|
|
|
|
#define FT_BASE_CALLBACK( x ) extern x |
|
|
|
|
#define FT_BASE_CALLBACK_DEF( x ) x |
|
|
|
|
#endif |
|
|
|
|
#endif /* FT_BASE_CALLBACK */ |
|
|
|
|
|
|
|
|
|
#ifndef FT_CALLBACK_TABLE |
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
#define FT_CALLBACK_TABLE extern "C" |
|
|
|
|