45 #include FT_INTERNAL_DEBUG_H 48 #ifdef FT_DEBUG_LEVEL_ERROR 59 OutputDebugStringEx(
const char* str )
61 static WCHAR
buf[8192];
64 int sz = MultiByteToWideChar( CP_ACP, 0, str, -1, buf,
65 sizeof ( buf ) /
sizeof ( *buf ) );
67 lstrcpyW( buf, L
"OutputDebugStringEx: MultiByteToWideChar failed" );
69 OutputDebugStringW( buf );
74 FT_Message(
const char* fmt,
77 static char buf[8192];
84 vsprintf( buf, fmt, ap );
85 OutputDebugStringEx( buf );
91 FT_Panic(
const char* fmt,
94 static char buf[8192];
99 vsprintf( buf, fmt, ap );
100 OutputDebugStringEx( buf );
121 #ifdef FT_DEBUG_LEVEL_TRACE 125 int ft_trace_levels[trace_count];
128 #define FT_TRACE_DEF( x ) #x , 130 static const char* ft_trace_toggles[trace_count + 1] =
132 #include FT_INTERNAL_TRACE_H 167 const char* ft2_debug = 0;
172 const char*
p = ft2_debug;
179 if ( *p ==
' ' || *p ==
'\t' || *p ==
',' || *p ==
';' || *p ==
'=' )
184 while ( *p && *p !=
':' )
187 if ( *p ==
':' && p > q )
190 int level = -1, found = -1;
193 for ( n = 0; n < trace_count; n++ )
195 const char* toggle = ft_trace_toggles[
n];
198 for ( i = 0; i <
len; i++ )
200 if ( toggle[i] != q[i] )
204 if ( i == len && toggle[i] == 0 )
220 if ( found >= 0 && level >= 0 )
222 if ( found == trace_any )
225 for ( n = 0; n < trace_count; n++ )
226 ft_trace_levels[n] = level;
229 ft_trace_levels[found] =
level;
GLdouble GLdouble GLdouble GLdouble q
GLenum GLuint GLenum GLsizei const GLchar * buf