Skip to content

FreeType » Docs » Support API » External Debugging APIs


External Debugging APIs

Synopsis

This section contains the declarations of public functions that enables fine control of what the FT_DEBUG_LOGGING macro outputs.

FT_Trace_Set_Level

  FT_EXPORT( void )
  FT_Trace_Set_Level( const char*  tracing_level );

Change the levels of tracing components of FreeType at run time.

input

tracing_level

New tracing value.

example

The following call makes FreeType trace everything but the ‘memory’ component.

FT_Trace_Set_Level( "any:7 memory:0 );

note

This function does nothing if compilation option FT_DEBUG_LOGGING isn't set.

since

2.11


FT_Trace_Set_Default_Level

  FT_EXPORT( void )
  FT_Trace_Set_Default_Level( void );

Reset tracing value of FreeType's components to the default value (i.e., to the value of the FT2_DEBUG environment value or to NULL if FT2_DEBUG is not set).

note

This function does nothing if compilation option FT_DEBUG_LOGGING isn't set.

since

2.11


FT_Custom_Log_Handler

  typedef void
  (*FT_Custom_Log_Handler)( const char*  ft_component,
                            const char*  fmt,
                            va_list      args );

A function typedef that is used to handle the logging of tracing and debug messages on a file system.

input

ft_component

The name of FT_COMPONENT from which the current debug or error message is produced.

fmt

Actual debug or tracing message.

args

Arguments of debug or tracing messages.

since

2.11


FT_Set_Log_Handler

  FT_EXPORT( void )
  FT_Set_Log_Handler( FT_Custom_Log_Handler  handler );

A function to set a custom log handler.

input

handler

New logging function.

note

This function does nothing if compilation option FT_DEBUG_LOGGING isn't set.

since

2.11


FT_Set_Default_Log_Handler

  FT_EXPORT( void )
  FT_Set_Default_Log_Handler( void );

A function to undo the effect of FT_Set_Log_Handler, resetting the log handler to FreeType's built-in version.

note

This function does nothing if compilation option FT_DEBUG_LOGGING isn't set.

since

2.11