2013-09-05 02:17:46 +02:00
|
|
|
// Copyright 2013 Dolphin Emulator Project
|
|
|
|
// Licensed under GPLv2
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#ifndef _CONSOLELISTENER_H
|
|
|
|
#define _CONSOLELISTENER_H
|
|
|
|
|
|
|
|
#include "log_manager.h"
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
#include <windows.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
class ConsoleListener : public LogListener
|
|
|
|
{
|
|
|
|
public:
|
2014-04-02 00:20:08 +02:00
|
|
|
ConsoleListener();
|
|
|
|
~ConsoleListener();
|
2013-09-05 02:17:46 +02:00
|
|
|
|
2014-04-02 00:20:08 +02:00
|
|
|
void Open(bool Hidden = false, int Width = 100, int Height = 100, const char * Name = "Console");
|
|
|
|
void UpdateHandle();
|
|
|
|
void Close();
|
|
|
|
bool IsOpen();
|
|
|
|
void LetterSpace(int Width, int Height);
|
|
|
|
void BufferWidthHeight(int BufferWidth, int BufferHeight, int ScreenWidth, int ScreenHeight, bool BufferFirst);
|
|
|
|
void PixelSpace(int Left, int Top, int Width, int Height, bool);
|
2013-09-05 02:17:46 +02:00
|
|
|
#ifdef _WIN32
|
2014-04-02 00:20:08 +02:00
|
|
|
COORD GetCoordinates(int BytesRead, int BufferWidth);
|
2013-09-05 02:17:46 +02:00
|
|
|
#endif
|
2014-04-02 00:20:08 +02:00
|
|
|
void Log(LogTypes::LOG_LEVELS, const char *Text);
|
|
|
|
void ClearScreen(bool Cursor = true);
|
2013-09-05 02:17:46 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
#ifdef _WIN32
|
2014-04-02 00:20:08 +02:00
|
|
|
HWND GetHwnd(void);
|
|
|
|
HANDLE hConsole;
|
2013-09-05 02:17:46 +02:00
|
|
|
#endif
|
2014-04-02 00:20:08 +02:00
|
|
|
bool bUseColor;
|
2013-09-05 02:17:46 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CONSOLELISTENER_H
|