92#define HIDE_CURSOR "\x1b[?25l"
103#define SHOW_CURSOR "\x1b[?25h"
187 std::bitset<10> bits;
188 for (
auto attr : attrs) {
189 bits.set(
static_cast<int>(attr));
213 RGBColor(
unsigned char,
unsigned char,
unsigned char);
406 std::string
fgColorStr(
unsigned char,
unsigned char,
unsigned char);
419 std::string
bgColorStr(
unsigned char,
unsigned char,
unsigned char);
619 const std::variant<BackgroundColor, RGBColor>&,
620 const std::variant<
Attribute, std::bitset<10>>&);
Sista library namespace.
Definition ansi.cpp:31
void resetAnsi()
Resets all ANSI settings to default values.
Definition ansi.cpp:52
void resetAttribute(Attribute attribute)
Resets a text attribute using a predefined Attribute enum.
Definition ansi.cpp:44
std::bitset< 10 > make_attr_bitset(std::initializer_list< Attribute > attrs)
Helper function to create a bitset from an initializer list of Attributes.
Definition ansi.hpp:186
void printHyperlink(std::string text, std::string url)
Prints text as a hyperlink.
Definition ansi.cpp:126
Attribute
Enumeration of text attributes for ANSI escape codes.
Definition ansi.hpp:164
std::string attrStr(Attribute attribute)
Converts an Attribute enum to its corresponding ANSI escape code string.
Definition ansi.cpp:87
ForegroundColor
Enumeration of foreground colors for ANSI escape codes.
Definition ansi.hpp:127
ScreenMode
Represents various ANSI screen modes.
Definition ansi.hpp:429
@ COLOR_16_COLORS_GRAPHICS_640_350
@ COLOR_16_COLORS_GRAPHICS_640_480
@ MONOCROME_GRAPHICS_640_200
@ MONOCROME_GRAPHICS_320_200
@ MONOCROME_2_COLORS_GRAPHICS_640_480
@ MONOCROME_2_COLORS_GRAPHICS_640_350
@ COLOR_256_COLORS_GRAPHICS_320_200
@ FOUR_COLORS_GRAPHICS_320_200
@ COLOR_16_COLORS_GRAPHICS_640_200
std::string bgColorStr(BackgroundColor color)
Converts a BackgroundColor enum to its corresponding ANSI escape code string.
Definition ansi.cpp:84
void unsetScreenMode(ScreenMode mode)
Unsets a specific screen mode.
Definition ansi.cpp:122
void setBackgroundColor(BackgroundColor color)
Sets the background color using a predefined BackgroundColor enum.
Definition ansi.cpp:38
std::string fgColorStr(ForegroundColor color)
Converts a ForegroundColor enum to its corresponding ANSI escape code string.
Definition ansi.cpp:81
void setForegroundColor(ForegroundColor color)
Sets the foreground color using a predefined ForegroundColor enum.
Definition ansi.cpp:35
BackgroundColor
Enumeration of background colors for ANSI escape codes.
Definition ansi.hpp:145
void setScreenMode(ScreenMode mode)
Sets a specific screen mode.
Definition ansi.cpp:119
void setAttribute(Attribute attribute)
Sets a text attribute using a predefined Attribute enum.
Definition ansi.cpp:41
Represents a set of ANSI settings including colors and attributes.
Definition ansi.hpp:492
ANSISettings(const std::variant< ForegroundColor, RGBColor > &, const std::variant< BackgroundColor, RGBColor > &, const std::variant< Attribute, std::bitset< 10 > > &)
Parametrized constructor with all variants.
void apply() const
Applies the ANSI settings to the terminal.
Definition ansi.cpp:161
std::variant< ForegroundColor, RGBColor > foregroundColor
Foreground color, can be ForegroundColor or RGBColor.
Definition ansi.hpp:502
std::variant< BackgroundColor, RGBColor > backgroundColor
Background color, can be BackgroundColor or RGBColor.
Definition ansi.hpp:512
ANSISettings()
Definition ansi.cpp:131
void reset() const
Resets all ANSI settings to default values.
Definition ansi.cpp:184
std::variant< Attribute, std::bitset< 10 > > attribute
Text attribute setting.
Definition ansi.hpp:537
Represents an RGB color with red, green, and blue components in True Color (24-bit).
Definition ansi.hpp:201
unsigned char green
Definition ansi.hpp:203
RGBColor()
Default constructor initializing color to black (0,0,0).
Definition ansi.cpp:32
unsigned char red
Definition ansi.hpp:202
unsigned char blue
Definition ansi.hpp:204