16class BgColor :
public NodeDecorator {
18 BgColor(
Element child, Color color)
19 : NodeDecorator(std::move(child)),
color_(color) {}
23 for (
int y = box_.y_min; y <= box_.y_max; ++y) {
24 for (
int x = box_.x_min; x <= box_.x_max; ++x) {
29 for (
int y = box_.y_min; y <= box_.y_max; ++y) {
30 for (
int x = box_.x_min; x <= box_.x_max; ++x) {
31 Color& color =
screen.PixelAt(x, y).background_color;
42class FgColor :
public NodeDecorator {
45 : NodeDecorator(std::move(child)),
color_(color) {}
49 for (
int y = box_.y_min; y <= box_.y_max; ++y) {
50 for (
int x = box_.x_min; x <= box_.x_max; ++x) {
55 for (
int y = box_.y_min; y <= box_.y_max; ++y) {
56 for (
int x = box_.x_min; x <= box_.x_max; ++x) {
57 Color& color =
screen.PixelAt(x, y).foreground_color;
82 return std::make_shared<FgColor>(std::move(child), color);
97 return std::make_shared<BgColor>(std::move(child), color);
111 return [c](
Element child) {
return color(c, std::move(child)); };
friend void Render(Screen &screen, Node *node, Selection &selection)
Decorator bgcolor(Color)
Décore en utilisant une couleur d'arrière-plan.
Decorator color(Color)
Décore en utilisant une couleur de premier plan.
static Color Blend(const Color &lhs, const Color &rhs)
Mélange deux couleurs en utilisant le canal alpha.
Color est une classe qui représente une couleur dans l'interface utilisateur du terminal.
Color
Color est une énumération qui représente le support des couleurs du terminal.
L'espace de noms FTXUI ftxui::
std::function< Element(Element)> Decorator
std::shared_ptr< Node > Element
void Render(Screen &screen, const Element &element)