⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ttconfig.h

📁 神龙卡开发原代码
💻 H
字号:
/******************************************************************* * *  ttconfig.h                                                1.0 * *    Configuration settings header file (spec only). * *  Copyright 1996-1999 by *  David Turner, Robert Wilhelm, and Werner Lemberg. * *  This file is part of the FreeType project, and may only be used *  modified and distributed under the terms of the FreeType project *  license, LICENSE.TXT.  By continuing to use, modify, or distribute *  this file you indicate that you have read the license and *  understand and accept it fully. * *  Notes: * *    All the configuration #define statements have been gathered in *    this file to allow easy check and modification. * ******************************************************************/#ifndef TTCONFIG_H#define TTCONFIG_H/* ------------ auto configuration ------------------------------------- *//*************************************************************************//* Here we include the file ft_conf.h for system dependent stuff.        *//* The specific makefile is responsible for providing the right path to  *//* this file.                                                            */#include "ft_conf.h"/**************************************************************************//* Define TT_CONFIG_THREAD_SAFE if you want to build a thread-safe        *//* version of the library.                                                *//* #define TT_CONFIG_OPTION_THREAD_SAFE *//* ------------ general debugging -------------------------------------- *//************************************************************************* * *  There are now three debugging modes: * *  - trace mode: * *       Error and trace messages are sent to the log file *       (which can be the standard error output).  Define *       DEBUG_LEVEL_TRACE to enable this mode. * *  - error mode: * *       Only error messages are generated.  Define *       DEBUG_LEVEL_ERROR to enable this mode. * *  - release mode: * *       Error messages are neither sent nor generated. The code is *       free from any debugging parts. * * * Note that you should link the engine with the 'ttdebug' component. * in case either DEBUG_LEVEL_TRACE or DEBUG_LEVEL_ERROR is defined. * * Please consult ttdebug.h for more details.                           *//* #define DEBUG_LEVEL_TRACE *//* #define DEBUG_LEVEL_ERROR *//* ------------ special debugging -------------------------------------- *//*************************************************************************//* Define this if you want to generate a special debug version of the    *//* rasterizer.  This will progressively draw the glyphs while the        *//* computations are done directly on the graphics screen... (with        *//* inverted glyphs).                                                     *//*                                                                       *//* Use it at your own risk!  It is not maintained currently.             *//*                                                                       *//* IMPORTANT: This is reserved to developers willing to debug the        *//*            rasterizer, which seems working very well in its           *//*            current state...                                           *//* #define DEBUG_RASTER *//*************************************************************************//* Define this to have a simple debugger version of RunIns().            *//*                                                                       *//* Use it at your own risk!  It is not maintained currently.             *//* #define DEBUG_INTERPRETER *//*************************************************************************//* Define this to have some housekeeping of allocation and deallocation. *//*                                                                       *//* Please note that probably not all OS-specific versions of ttmemory.c  *//* provide this functionality.                                           *//* #define DEBUG_MEMORY *//*************************************************************************//* Define this to have bounds checking for file buffer frames.           *//*                                                                       *//* Please note that probably not all OS-specific versions of ttfile.c    *//* provide this functionality.                                           *//* #define DEBUG_FILE *//* ------------ arithmetic and processor support ----------------------- *//*************************************************************************//* Define TT_USE_LONG_LONG if you want to enable the use of the          *//* 'long long' 64-bit type provided by gcc and other compilers. Note     *//* that :                                                                *//*                                                                       *//*   1. The type isn't ANSI, and thus will produce many warnings         *//*      during library compilation.                                      *//*                                                                       *//*   2. Though the generated object files are slightly smaller, the      *//*      resulting executables are bigger of about 4Kb! gcc must be       *//*      linking some extra code in there!                                *//*                                                                       *//*   3. There is really no speed gain in doing so (but it may help       *//*      debug the ttcalc component).                                     *//*                                                                       *//* IMPORTANT NOTE: You don't need to define it on 64-bits machines!      *//*                                                                       *//* NOTE 2 : This flag used to be _GNUC_LONG64_                           *//* #define TT_USE_LONG_LONG *//*************************************************************************//* define ALIGNMENT to your processor/environment preferred alignment    *//* size. A value of 8 should work on all current processors, even        *//* 64-bits ones.                                                         */#define ALIGNMENT 8/* --------------- miscellaneous ----------------------------------- *//*********************************************************************//* The number of extensions available.  Don't change this value      *//* except if you add new extensions to the engine.                   */#define TT_MAX_EXTENSIONS  8/* --------------- automatic setup -- don't touch ------------------ *//*********************************************************************//* If HAVE_TT_TEXT is defined we don't provide a default typedef for *//* defining TT_Text.                                                 */#ifndef HAVE_TT_TEXT#define HAVE_TT_TEXT  typedef char  TT_Text;#endif/*********************************************************************//* We define NULL in case it's not defined yet.  The default         *//* location is stdlib.h.                                             */#ifdef HAVE_STDLIB_H#include <stdlib.h>#endif/*********************************************************************//* Some systems can't use vfprintf for error messages on stderr; if  *//* HAVE_PRINT_FUNCTION is defined, the Print macro must be supplied  *//* externally (having the same parameters).                          *//*                                                                   *//* This is only used by the "ttdebug" component, which should be     *//* linked to the engine only in debug mode.                          */#if defined( DEBUG_LEVEL_TRACE ) || defined( DEBUG_LEVEL_ERROR )#ifndef HAVE_PRINT_FUNCTION#define Print( format, ap )  vfprintf( stderr, (format), (ap) )#endif#endif/********************************************************************//*                                                                  *//* I have added the ability to compile the library into a single    *//* object file. This gets rids of all the external symbols defined  *//* in each  component interface, and de-pollutes the name-space.    *//*                                                                  *//* I use two macros, namely LOCAL_FUNC and LOCAL_DEF, which only    *//* apply to functions that are internal to the engine, and          *//* should never be seen or linked by a client application.          *//*                                                                  *//*  LOCAL_DEF   used in header (.h) files, to define a function     *//*              that will be seen by other components. This         *//*              translates to "extern" in normal mode, and to       *//*              "static" in single-object mode.                     *//*                                                                  *//*  LOCAL_FUNC  used in implementation (.c) files, just before      *//*              the function body. This translates to nothing       *//*              in normal mode, and to "static" in single-object    *//*              mode.                                               *//*                                                                  *//*  Getting rid of un-necessary symbols makes the "ttcommon"        *//*  renaming macros hack unnecessary. Moreover, the stripped        *//*  single object file (freetype.o) is 52 Kb, instead of the        *//*  previous 57 Kb (size of all combined .o files), and gives       *//*  a better idea of the engine's real code size.                   *//*                                                                  *//*  It is called a "MAKE_OPTION" because the macro must be          *//*  defined in the Makefile, rather than this one. It allows        *//*  any developer to quickly switch from one mode to the other      *//*  without messing with "ttconfig.h" each time.                    *//*                                                                  */#ifndef TT_MAKE_OPTION_SINGLE_OBJECT#define LOCAL_FUNC  /* void */#define LOCAL_DEF   extern#else#define LOCAL_FUNC  static#define LOCAL_DEF   static#endif/*************************************************************************//* Define EXPORT_DEF and EXPORT_FUNC as needed to build e.g. a DLL.  All *//* variables and functions visible from outside have these prefixes.     */#ifndef EXPORT_DEF#define EXPORT_DEF  extern#endif#ifndef EXPORT_FUNC#define EXPORT_FUNC  /* void */#endif/* -------------- internal (developer) configuration toggles ------------ */#undef TT_STATIC_INTERPRETER/* Do not undefine this configuration macro. It is now a default that *//* must be kept in all release builds.                                */#undef TT_STATIC_RASTER/* Define this if you want to generate a static raster.  This makes *//* a non re-entrant version of the scan-line converter, which is    *//* about 10% faster and 50% bigger than an indirect one!            */#endif /* TTCONFIG_H *//* END */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -