mirror of
https://github.com/leozide/leocad
synced 2024-11-17 07:47:55 +01:00
43 lines
914 B
C
43 lines
914 B
C
|
#ifndef _CONSOLE_H_
|
||
|
#define _CONSOLE_H_
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
LC_CONSOLE_ERROR,
|
||
|
LC_CONSOLE_WARNING,
|
||
|
LC_CONSOLE_DEBUG,
|
||
|
LC_CONSOLE_MISC
|
||
|
} LC_CONSOLE_LEVEL;
|
||
|
|
||
|
typedef void (*CONSOLECALLBACK) (LC_CONSOLE_LEVEL level, const char* text, void* user_data);
|
||
|
|
||
|
class Console
|
||
|
{
|
||
|
public:
|
||
|
Console ();
|
||
|
virtual ~Console ();
|
||
|
|
||
|
void Print (LC_CONSOLE_LEVEL level, const char* format, ...);
|
||
|
void PrintMisc (const char* format, ...);
|
||
|
void PrintDebug (const char* format, ...);
|
||
|
void PrintWarning (const char* format, ...);
|
||
|
void PrintError (const char* format, ...);
|
||
|
|
||
|
void SetWindowCallback (CONSOLECALLBACK func, void* data)
|
||
|
{ m_pWindowFunc = func; m_pWindowFuncData = data; };
|
||
|
|
||
|
protected:
|
||
|
void InternalPrint (LC_CONSOLE_LEVEL level, const char* text);
|
||
|
|
||
|
CONSOLECALLBACK m_pWindowFunc;
|
||
|
void* m_pWindowFuncData;
|
||
|
|
||
|
// variables
|
||
|
bool use_tty;
|
||
|
bool use_file;
|
||
|
};
|
||
|
|
||
|
extern Console console;
|
||
|
|
||
|
#endif // _CONSOLE_H_
|