FTXUI  6.1.9
C++ functional terminal UI.
Loading...
Searching...
No Matches
examples/dom/color_truecolor_HSV.cpp
// Copyright 2020 Arthur Sonzogni. All rights reserved.
// Use of this source code is governed by the MIT license that can be found in
// the LICENSE file.
#include <ftxui/dom/elements.hpp> // for operator|, Elements, Fit, bgcolor, color, hbox, text, vbox, Element
#include <ftxui/screen/screen.hpp> // for Full, Screen
#include <memory> // for allocator
#include <utility> // for move
#include "ftxui/dom/node.hpp" // for Render
#include "ftxui/screen/color.hpp" // for Color, ftxui
int main() {
using namespace ftxui;
int saturation = 255;
Elements array;
for (int value = 0; value < 255; value += 20) {
Elements line;
for (int hue = 0; hue < 255; hue += 2) {
line.push_back(text("▀") //
| color(Color::HSV(hue, saturation, value)) //
| bgcolor(Color::HSV(hue, saturation, value + 10)));
}
array.push_back(hbox(std::move(line)));
}
auto document = vbox(std::move(array));
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document);
screen.Print();
return 0;
}
static Color HSV(uint8_t hue, uint8_t saturation, uint8_t value)
Build a Color from its HSV representation. https://en.wikipedia.org/wiki/HSL_and_HSV.
Definition color.cpp:207
static Screen Create(Dimensions dimension)
Create a screen with the given dimension.
Definition screen.cpp:394
Dimensions Fit(Element &, bool extend_beyond_screen=false)
Definition util.cpp:93
Dimensions Full()
Definition screen.cpp:382
Decorator bgcolor(Color)
Decorate using a background color.
Definition color.cpp:124
Element hbox(Elements)
A container displaying elements horizontally one by one.
Definition hbox.cpp:94
std::vector< Element > Elements
Definition elements.hpp:23
Element text(std::wstring text)
Display a piece of unicode text.
Definition text.cpp:160
void Render(Screen &screen, const Element &element)
Display an element on a ftxui::Screen.
Definition node.cpp:88
Decorator color(Color)
Decorate using a foreground color.
Definition color.cpp:110
Element vbox(Elements)
A container displaying elements vertically one by one.
Definition vbox.cpp:96