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

📄 ttdebug.h

📁 神龙卡开发原代码
💻 H
字号:
/******************************************************************* * *  ttdebug.h * *    Debugging and Logging component (specification) * *  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. * * *  This component contains various macros and functions used to *  ease the debugging of the FreeType engine. Its main purpose *  is in assertion checking, tracing, and error detection. * *  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. * ******************************************************************/#ifndef TTDEBUG_H#define TTDEBUG_H#include "ttconfig.h"#include "tttypes.h"#ifdef __cplusplus  extern "C" {#endif#if defined( DEBUG_LEVEL_TRACE )  typedef enum Trace_Component_  {    trace_any = 0,    trace_api,    trace_interp,    trace_load,    trace_gload,    trace_memory,    trace_file,    trace_mutex,    trace_cache,    trace_calc,    trace_cmap,    trace_extend,    trace_objs,    trace_raster,    trace_bitmap,    trace_max  } Trace_Component;  /* Here we define an array to hold the trace levels per component. */  /* Since it is globally defined, all array members are set to 0.   */  /* You should set the values in this array either in your program  */  /* or with your debugger.                                          */  /*                                                                 */  /* Currently, up to eight levels (PTRACE0-PTRACE7, see below) are  */  /* used in some parts of the engine.                               */  /*                                                                 */  /* For example, to have all tracing messages in the raster         */  /* component, say                                                  */  /*                                                                 */  /*   #define DEBUG_LEVEL_TRACE                                     */  /*   #include "ttdebug.h"                                          */  /*                                                                 */  /*   ...                                                           */  /*   set_tt_trace_levels( trace_raster, 7 )                        */  /*                                                                 */  /* in your code before initializing the FreeType engine.           */  /*                                                                 */  /* Maybe it is better to define DEBUG_LEVEL_TRACE in ttconfig.h... */  extern char  tt_trace_levels[trace_max];  /* IMPORTANT:                                                 */  /*                                                            */  /*  Each component must define the macro TT_COMPONENT         */  /*  to a valid Trace_Component value before using any         */  /*  PTRACEx macro.                                            */  /*                                                            */#define  PTRACE( level, varformat )  \         if ( tt_trace_levels[TT_COMPONENT] >= level ) TT_Message##varformat#elif defined( DEBUG_LEVEL_ERROR )#define  PTRACE( level, varformat )  /* nothing */#else  /* RELEASE MODE */#define TT_Assert( condition, action )  /* nothing */#define PTRACE( level, varformat )      /* nothing */#define PERROR( varformat )             /* nothing */#define PANIC( varformat )              /* nothing */#endif/************************************************************************//*                                                                      *//*  Define macros and fuctions that are common to the debug and trace   *//*  modes.                                                              *//*                                                                      */#if defined( DEBUG_LEVEL_TRACE ) || defined( DEBUG_LEVEL_ERROR )#define TT_Assert( condition, action )  if ( !(condition) ) ( action )  void  TT_Message( const String*  fmt, ... );  void  TT_Panic  ( const String*  fmt, ... );  /* print a message and exit */  const String*  Cur_U_Line( void*  exec );#define PERROR( varformat )  TT_Message##varformat#define PANIC( varformat )   TT_Panic##varformat#endif#if defined( DEBUG_LEVEL_TRACE )  void  set_tt_trace_levels( int  index, char  value );#endif#define  PTRACE0( varformat )  PTRACE( 0, varformat )#define  PTRACE1( varformat )  PTRACE( 1, varformat )#define  PTRACE2( varformat )  PTRACE( 2, varformat )#define  PTRACE3( varformat )  PTRACE( 3, varformat )#define  PTRACE4( varformat )  PTRACE( 4, varformat )#define  PTRACE5( varformat )  PTRACE( 5, varformat )#define  PTRACE6( varformat )  PTRACE( 6, varformat )#define  PTRACE7( varformat )  PTRACE( 7, varformat )#ifdef __cplusplus  }#endif#endif /* TTDEBUG_H */

⌨️ 快捷键说明

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