2022-05-03 04:31:49 +00:00
|
|
|
/***
|
|
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
|
|
|
|
File: ColorConvert.hpp
|
|
|
|
Date: 2022-5-2
|
|
|
|
Author: Reece
|
|
|
|
***/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace Aurora::Console
|
|
|
|
{
|
2022-05-03 06:19:26 +00:00
|
|
|
static const AuArray<const char*, static_cast<AuUInt>(EAnsiColor::eEnumCount)> kAnsiColorForegroundToVirtualEscape =
|
2022-05-03 04:31:49 +00:00
|
|
|
{
|
|
|
|
"\033[0;31m",
|
|
|
|
"\033[1;31m",
|
|
|
|
"\033[0;32m",
|
|
|
|
"\033[1;32m",
|
|
|
|
"\033[0;33m",
|
|
|
|
"\033[1;33m",
|
|
|
|
"\033[0;34m",
|
|
|
|
"\033[1;34m",
|
|
|
|
"\033[0;35m",
|
|
|
|
"\033[1;35m",
|
|
|
|
"\033[0;36m",
|
|
|
|
"\033[1;36m",
|
2022-05-12 07:21:32 +00:00
|
|
|
"\033[0;37m",
|
|
|
|
"\033[0;30m",
|
2022-05-03 04:31:49 +00:00
|
|
|
"\033[0;39m"
|
|
|
|
};
|
|
|
|
|
|
|
|
static const AuArray<AuString, static_cast<AuUInt>(EAnsiColor::eEnumCount)> kAnsiColorBackgroundToVirtualEscape
|
|
|
|
{
|
|
|
|
"\033[0;41m",
|
|
|
|
"\033[1;41m",
|
|
|
|
"\033[0;42m",
|
|
|
|
"\033[1;42m",
|
|
|
|
"\033[0;43m",
|
|
|
|
"\033[1;43m",
|
|
|
|
"\033[0;44m",
|
|
|
|
"\033[1;44m",
|
|
|
|
"\033[0;45m",
|
|
|
|
"\033[1;45m",
|
|
|
|
"\033[0;46m",
|
|
|
|
"\033[1;46m",
|
2022-05-12 07:21:32 +00:00
|
|
|
"\033[0;47m",
|
|
|
|
"\033[0;40m",
|
2022-05-03 04:31:49 +00:00
|
|
|
"\033[0;49m"
|
|
|
|
};
|
|
|
|
|
|
|
|
#if defined(AURORA_IS_MODERNNT_DERIVED)
|
|
|
|
|
2022-05-03 04:54:24 +00:00
|
|
|
#define FOREGROUND_WHITE (FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN)
|
|
|
|
#define FOREGROUND_YELLOW (FOREGROUND_RED | FOREGROUND_GREEN)
|
|
|
|
#define FOREGROUND_CYAN (FOREGROUND_BLUE | FOREGROUND_GREEN)
|
|
|
|
#define FOREGROUND_MAGENTA (FOREGROUND_RED | FOREGROUND_BLUE)
|
|
|
|
#define FOREGROUND_BLACK 0
|
2022-05-03 04:31:49 +00:00
|
|
|
|
2022-05-03 04:54:24 +00:00
|
|
|
#define FOREGROUND_INTENSE_RED (FOREGROUND_RED | FOREGROUND_INTENSITY)
|
|
|
|
#define FOREGROUND_INTENSE_GREEN (FOREGROUND_GREEN | FOREGROUND_INTENSITY)
|
|
|
|
#define FOREGROUND_INTENSE_BLUE (FOREGROUND_BLUE | FOREGROUND_INTENSITY)
|
|
|
|
#define FOREGROUND_INTENSE_WHITE (FOREGROUND_WHITE | FOREGROUND_INTENSITY)
|
|
|
|
#define FOREGROUND_INTENSE_YELLOW (FOREGROUND_YELLOW | FOREGROUND_INTENSITY)
|
|
|
|
#define FOREGROUND_INTENSE_CYAN (FOREGROUND_CYAN | FOREGROUND_INTENSITY)
|
|
|
|
#define FOREGROUND_INTENSE_MAGENTA (FOREGROUND_MAGENTA | FOREGROUND_INTENSITY)
|
2022-05-03 04:31:49 +00:00
|
|
|
|
2022-05-03 04:54:24 +00:00
|
|
|
#define BACKGROUND_WHITE (BACKGROUND_RED | BACKGROUND_BLUE | BACKGROUND_GREEN)
|
|
|
|
#define BACKGROUND_YELLOW (BACKGROUND_RED | BACKGROUND_GREEN)
|
|
|
|
#define BACKGROUND_CYAN (BACKGROUND_BLUE | BACKGROUND_GREEN)
|
|
|
|
#define BACKGROUND_MAGENTA (BACKGROUND_RED | BACKGROUND_BLUE)
|
|
|
|
#define BACKGROUND_BLACK 0
|
2022-05-03 04:31:49 +00:00
|
|
|
|
2022-05-03 04:54:24 +00:00
|
|
|
#define BACKGROUND_INTENSE_RED (BACKGROUND_RED | BACKGROUND_INTENSITY)
|
|
|
|
#define BACKGROUND_INTENSE_GREEN (BACKGROUND_GREEN | BACKGROUND_INTENSITY)
|
|
|
|
#define BACKGROUND_INTENSE_BLUE (BACKGROUND_BLUE | BACKGROUND_INTENSITY)
|
|
|
|
#define BACKGROUND_INTENSE_WHITE (BACKGROUND_WHITE | BACKGROUND_INTENSITY)
|
|
|
|
#define BACKGROUND_INTENSE_YELLOW (BACKGROUND_YELLOW | BACKGROUND_INTENSITY)
|
|
|
|
#define BACKGROUND_INTENSE_CYAN (BACKGROUND_CYAN | BACKGROUND_INTENSITY)
|
|
|
|
#define BACKGROUND_INTENSE_MAGENTA (BACKGROUND_MAGENTA | BACKGROUND_INTENSITY)
|
2022-05-03 04:31:49 +00:00
|
|
|
|
|
|
|
static const AuArray<DWORD, static_cast<AuUInt>(EAnsiColor::eEnumCount)> kAnsiColorForegroundToNT
|
|
|
|
{
|
|
|
|
FOREGROUND_RED,
|
|
|
|
FOREGROUND_INTENSE_RED,
|
|
|
|
FOREGROUND_GREEN,
|
|
|
|
FOREGROUND_INTENSE_GREEN,
|
|
|
|
FOREGROUND_YELLOW,
|
|
|
|
FOREGROUND_INTENSE_YELLOW,
|
|
|
|
FOREGROUND_BLUE,
|
|
|
|
FOREGROUND_INTENSE_BLUE,
|
|
|
|
FOREGROUND_MAGENTA,
|
|
|
|
FOREGROUND_INTENSE_MAGENTA,
|
|
|
|
FOREGROUND_CYAN,
|
|
|
|
FOREGROUND_INTENSE_CYAN,
|
|
|
|
FOREGROUND_WHITE,
|
2022-05-12 07:21:32 +00:00
|
|
|
FOREGROUND_BLACK,
|
|
|
|
FOREGROUND_WHITE
|
2022-05-03 04:31:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static const AuArray<DWORD, static_cast<AuUInt>(EAnsiColor::eEnumCount)> kAnsiColorBackgroundToNT
|
|
|
|
{
|
|
|
|
BACKGROUND_RED,
|
|
|
|
BACKGROUND_INTENSE_RED,
|
|
|
|
BACKGROUND_GREEN,
|
|
|
|
BACKGROUND_INTENSE_GREEN,
|
|
|
|
BACKGROUND_YELLOW,
|
|
|
|
BACKGROUND_INTENSE_YELLOW,
|
|
|
|
BACKGROUND_BLUE,
|
|
|
|
BACKGROUND_INTENSE_BLUE,
|
|
|
|
BACKGROUND_MAGENTA,
|
|
|
|
BACKGROUND_INTENSE_MAGENTA,
|
|
|
|
BACKGROUND_CYAN,
|
|
|
|
BACKGROUND_INTENSE_CYAN,
|
2022-05-12 07:21:32 +00:00
|
|
|
BACKGROUND_WHITE,
|
|
|
|
BACKGROUND_BLACK,
|
|
|
|
BACKGROUND_BLACK
|
2022-05-03 04:31:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
}
|