You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
3.2 KiB

#ifndef COLORS_HPP
#define COLRS_HPP
// http://www.linux.gr/cgi-bin/man2html?console_codes+4
/// Formatters:
/// 1 set bold
#define F_BOLD "1"
/// 2 set half-bright (simulated with color on a color display)
#define F_HALF_BRIGHT "2"
/// 4 set underscore (simulated with color on a color display)
/// (the colors used to simulate dim or underline are set using ESC ] ...)
#define F_UNDERSCORE "4"
/// 5 set blink
#define F_BLINK "5"
/// 7 set reverse video
#define F_REVERSE_COLORS "7"
/// 10 reset selected mapping, display control flag, and toggle meta flag
/// (ECMA-48 says "primary font").
#define F_PRIMARY_FONT "10"
/// 11 select null mapping, set display control flag, reset toggle meta flag
/// (ECMA-48 says "first alternate font").
#define F_FIRST_ALTERNATE_FONT "11"
/// 12 select null mapping, set display control flag, set toggle meta flag
/// (ECMA-48 says "second alternate font").
/// The toggle meta flag causes the high bit of a byte to be toggled
/// before the mapping table translation is done.
#define F_SECOND_ALTERNATE_FONT "12"
/// 21 set normal intensity (ECMA-48 says "doubly underlined")
#define F_DOUBLY_UNDERLINED "21"
/// 22 set normal intensity
#define F_NORMAL_INTENSITY "22"
/// 24 underline off
#define F_UNDERLINE_OFF "24"
/// 25 blink off
#define F_BLINK_OFF "25"
/// 27 reverse video off
#define F_REVERSE_VIDEO_OFF "27"
/// Foregrounds:
/// 30 set black foreground
#define FG_BLACK "30"
/// 31 set red foreground
#define FG_RED "31"
/// 32 set green foreground
#define FG_GREEN "32"
/// 33 set brown foreground
#define FG_BROWN "33"
/// 34 set blue foreground
#define FG_BLUE "34"
/// 35 set magenta foreground
#define FG_MAGENTA "35"
/// 36 set cyan foreground
#define FG_CYAN "36"
/// 37 set white foreground
#define FG_WHITE "37"
/// 38 set underscore on, set default foreground color
#define FG_UNDERSCORE_ON "38"
/// 39 set underscore off, set default foreground color
#define FG_UNDERSCORE_OFF "39"
/// Backgronds:
/// 40 set black background
#define BG_BLACK "40"
/// 41 set red background
#define BG_RED "41"
/// 42 set green background
#define BG_GREEN "42"
/// 43 set brown background
#define BG_BROWN "43"
/// 44 set blue background
#define BG_BLUE "44"
/// 45 set magenta background
#define BG_MAGENTA "45"
/// 46 set cyan background
#define BG_CYNA "46"
/// 47 set white background
#define BG_WHITE "47"
/// 49 set default background color
#define BG_DEFAULT "49"
#ifndef NOCOLOR
#define COLOR(x) COLOR_FG(x)
#define COLOR_FG(x) "\33[0;" x "m"
#define COLOR_BG(x) "\33[0;" FG_UNDERSCORE_OFF ";" x "m"
#define COLOR_FG_BG(x,y) "\33[0;" x ";" y "m"
#define COLOR_F(x) "\33[" x ";" FG_UNDERSCORE_OFF "m"
#define COLOR_F_FG(x,y) "\33[" x ";" y ";" BG_DEFAULT "m"
#define COLOR_F_FG_BG(x,y,z) "\33[" x ";" y ";" z "m"
#define COLOR_RESET "\33[0m"
#else
#define COLOR(x) ""
#define COLOR_FG(x) ""
#define COLOR_BG(x) ""
#define COLOR_FG_BG(x,y) ""
#define COLOR_F(x) ""
#define COLOR_F_FG(x,y) ""
#define COLOR_F_FG_BG(x,y,z) ""
#define COLOR_RESET ""
#endif
// #define REMOVE_PREV_LINE "\b"
#endif // COLORS_HPP