diff options
Diffstat (limited to 'src/base/ftdebug.c')
-rw-r--r-- | src/base/ftdebug.c | 52 |
1 files changed, 43 insertions, 9 deletions
diff --git a/src/base/ftdebug.c b/src/base/ftdebug.c index 7b2550e66..544749040 100644 --- a/src/base/ftdebug.c +++ b/src/base/ftdebug.c @@ -193,9 +193,9 @@ * runtime errors), and 7 means _very_ verbose. */ FT_BASE_DEF( void ) - ft_debug_init( void ) + ft_debug_init( const char* level ) { - const char* ft2_debug = ft_getenv( "FT2_DEBUG" ); + const char* ft2_debug = level; if ( ft2_debug ) @@ -274,7 +274,7 @@ FT_BASE_DEF( void ) - ft_debug_init( void ) + ft_debug_init( const char* level ) { /* nothing */ } @@ -337,10 +337,10 @@ ft_logging_init( void ) { fileptr = fopen( "freetype2.log", "w" ); - ft_debug_init(); + FT_Trace_Set_Default_Level(); /* We need to set the default FreeType specific dlg's output handler */ - dlg_set_handler( &ft_freetype_output_handler, NULL ); + dlg_set_handler( &ft_default_output_handler, NULL ); } FT_BASE_DEF( void ) @@ -349,15 +349,14 @@ fclose( fileptr ); } - FT_BASE_DEF( void ) - /************************************************************************* * * TODO: * 1. Add support for priniting FT_COMPONENT * - */ - ft_freetype_output_handler( const struct dlg_origin* origin, + */ + FT_BASE_DEF( void ) + ft_default_output_handler( const struct dlg_origin* origin, const char* string, void* data ) { unsigned int features = dlg_output_threadsafe /*| dlg_output_tags*/ ; @@ -365,6 +364,41 @@ dlg_default_output_styles ); } + /************************************************************************** + * + * + * + */ + FT_EXPORT_DEF( void ) + FT_Trace_Set_Level( const char* level ) + { + ft_debug_init( level ); + } + + FT_EXPORT_DEF( void ) + FT_Trace_Set_Default_Level( void ) + { + ft_debug_init( ft_getenv( "FT2_DEBUG" ) ); + } + +/**************************************************************************** + * + * + * + */ + + FT_EXPORT_DEF( void ) + FT_Trace_Set_Output( ft_ouput_handler handler ) + { + freetype_output_handler = handler; + } + + FT_EXPORT_DEF( void ) + FT_Trace_Set_Default_Output() + { + freetype_output_handler = NULL; + } + #endif /* FT_LOGGING */ /* END */ |