iw4x-client/src/Components/Modules/Console.hpp

74 lines
1.7 KiB
C++
Raw Normal View History

2017-01-20 08:36:52 -05:00
#pragma once
2017-01-19 16:23:59 -05:00
#define OUTPUT_HEIGHT 250
#define OUTPUT_MAX_TOP (OUTPUT_HEIGHT - (Console::Height - 2))
namespace Components
{
class Console : public Component
{
public:
Console();
~Console();
static void SetSkipShutdown();
static void FreeNativeConsole();
static HWND GetWindow();
static void ShowAsyncConsole();
2017-01-19 16:23:59 -05:00
private:
// Text-based console stuff
static WINDOW* OutputWindow;
static WINDOW* InputWindow;
static WINDOW* InfoWindow;
static int Width;
static int Height;
static int OutputTop;
static int OutBuffer;
static int LastRefresh;
static char LineBuffer[1024];
static char LineBuffer2[1024];
static int LineBufferIndex;
static bool HasConsole;
static bool SkipShutdown;
static std::thread ConsoleThread;
static Game::SafeArea OriginalSafeArea;
static void ShowPrompt();
static void RefreshStatus();
static void RefreshOutput();
static void ScrollOutput(int amount);
static const char* Input();
static void Print(const char* message);
2022-06-12 17:07:53 -04:00
static void Error(const char* fmt, ...);
2017-01-19 16:23:59 -05:00
static void Create();
static void Destroy();
static void StdOutPrint(const char* message);
2022-06-12 17:07:53 -04:00
static void StdOutError(const char* fmt, ...);
2017-01-19 16:23:59 -05:00
static void ConsoleRunner();
static void DrawSolidConsoleStub();
static void StoreSafeArea();
static void RestoreSafeArea();
static char** GetAutoCompleteFileList(const char *path, const char *extension, Game::FsListBehavior_e behavior, int *numfiles, int allocTrackType);
static void Con_ToggleConsole();
static void AddConsoleCommand();
static Game::dvar_t* RegisterConColor(const char* dvarName, float r, float g, float b, float a, float min, float max, unsigned __int16 flags, const char* description);
2017-01-19 16:23:59 -05:00
};
}