|
terminalgui
0.1.0
Widgets for your terminal, powered by Qt! Create textual GUI (TUI) in your console easily.
|
Represents colors in a terminal. More...
#include <tgcolor.h>
Public Types | |
| enum | Predefined { Predefined::Invalid = -1, Predefined::Empty = 0, Predefined::Black = 30, Predefined::Red = 31, Predefined::Green = 32, Predefined::Yellow = 33, Predefined::Blue = 34, Predefined::Magenta = 35, Predefined::Cyan = 36, Predefined::White = 37, Predefined::Gray = 90, Predefined::Pink = 91, LightRed = Pink, Predefined::LightGreen = 92, Predefined::LightYellow = 93, Predefined::LightBlue = 94, Predefined::LightMagenta = 95, Predefined::LightCyan = 96, Predefined::LightWhite = 97 } |
| Contains predefined colors supported by all terminals, including the oldest ones. More... | |
Public Member Functions | |
| Color () | |
| Constructs a color of type Predefined (it's set to Predefined::Invalid). | |
| Color (const Predefined predefined) | |
| Constructs a Color with one of the predefined colors. More... | |
| Color (const quint8 red, const quint8 green, const quint8 blue) | |
| Constructs a 24 bit color using red, green and blue components. More... | |
| QString | rgb () const |
| Returns 24 bit color information in a format understood by the terminal. More... | |
| quint8 | red () const |
| Returns intensity of red color. More... | |
| quint8 | green () const |
| Returns intensity of green color. More... | |
| quint8 | blue () const |
| Returns intensity of blue color. More... | |
| Predefined | predefined () const |
| Returns a Predefined color value if Color is not 24 bit, or Predefined::Invalid otherwise. | |
| bool | isEmpty () const |
| Returns true if a Predefined color is Predefined::Empty. More... | |
| bool | isPredefined () const |
| Returns true is Color type is Predefined (as opposed to 24 bit color). More... | |
| bool | isTrueColor () const |
| Returns true if Color is 24 bit (as opposed to Predefined). More... | |
| bool | operator== (const Color &other) const |
| Returns true is other is the same. | |
| bool | operator!= (const Color &other) const |
| Returns true if other is different. | |
Static Public Member Functions | |
| static QString | code (const Color &foreground, const Color &background=Color::Predefined::Empty) |
| Returns ANSI-coded sequence, as understood by terminal, for given foreground color and background color. More... | |
| static QString | code (const Color &color, const bool isBackground, const bool forceTrueColor) |
| Returns ANSI-coded sequence, as understood by terminal, for given color. More... | |
| static QString | end () |
| Returns ANSI sequence which ends color definition. | |
Represents colors in a terminal.
In terminals, color is used mainly in 2 places:
Each character ("pixel") inside the terminal can have these 2 colors set completely independently. Use Color::code() to get a ready-made
Terminal GUI supports 2 color schemes: Predefined and 24 bit (true color). Currently Color class does not convert colors of one type to another.
|
strong |
Contains predefined colors supported by all terminals, including the oldest ones.
A terminal emulator can override these colors based on user-chosen profile (TODO: verify this...).
| Enumerator | |
|---|---|
| Invalid | Color is not defined and cannot be drawn. Used to indicate unset colors. |
| Empty | Color is defined as empty - default terminal color will be used. |
| Black | Default black color, depends on terminal settings. |
| Red | Default red color, depends on terminal settings. |
| Green | Default green color, depends on terminal settings. |
| Yellow | Default yellow color, depends on terminal settings. |
| Blue | Default blue color, depends on terminal settings. |
| Magenta | Default magenta color, depends on terminal settings. |
| Cyan | Default cyan color, depends on terminal settings. |
| White | Default white color, depends on terminal settings. |
| Gray | Default gray color, depends on terminal settings. |
| Pink | Default pink color, depends on terminal settings. |
| LightGreen | Default lighter green color, depends on terminal settings. |
| LightYellow | Default lighter yellow color, depends on terminal settings. |
| LightBlue | Default lighter blue color, depends on terminal settings. |
| LightMagenta | Default lighter magenta color, depends on terminal settings. |
| LightCyan | Default lighter cyan color, depends on terminal settings. |
| LightWhite | Default lighter white color, depends on terminal settings. How can white be any lighter? It's usually ligter than Predefined::Gray, but not as white as Predefined::White. It's weird |
| Tg::Color::Color | ( | const Predefined | predefined | ) |
Constructs a Color with one of the predefined colors.
| Tg::Color::Color | ( | const quint8 | red, |
| const quint8 | green, | ||
| const quint8 | blue | ||
| ) |
Constructs a 24 bit color using red, green and blue components.
Each variable should be a number between 0 and 255.
| quint8 Tg::Color::blue | ( | ) | const |
Returns intensity of blue color.
|
static |
Returns ANSI-coded sequence, as understood by terminal, for given color.
Depending on isBackground, color will be encoded as background or foreground color (this is important only for Color::Predefined colors).
If forceTrueColor is true, returned sequence will use 24-bit color.
|
static |
Returns ANSI-coded sequence, as understood by terminal, for given foreground color and background color.
For best results, it is recommended for both colors to be of the same type (either Color::Predefined or 24-bit color).
| quint8 Tg::Color::green | ( | ) | const |
Returns intensity of green color.
| bool Tg::Color::isEmpty | ( | ) | const |
Returns true if a Predefined color is Predefined::Empty.
In such case, the terminal will provide a default color.
| bool Tg::Color::isPredefined | ( | ) | const |
Returns true is Color type is Predefined (as opposed to 24 bit color).
| bool Tg::Color::isTrueColor | ( | ) | const |
Returns true if Color is 24 bit (as opposed to Predefined).
| quint8 Tg::Color::red | ( | ) | const |
Returns intensity of red color.
| QString Tg::Color::rgb | ( | ) | const |
Returns 24 bit color information in a format understood by the terminal.
Resulting string looks like this:
0;0;0 when Color type is Predefined.
1.8.18