14 static std::string charset[] =
15 #if defined(FTXUI_MICROSOFT_TERMINAL_FALLBACK)
18 {
" ",
" ",
"█",
" ",
"█",
"█",
"█",
"█",
"█"};
20 {
" ",
"▗",
"▐",
"▖",
"▄",
"▟",
"▌",
"▙",
"█"};
23 class Graph :
public Node {
25 Graph(
GraphFunction graph_function) : graph_function_(graph_function) {}
27 void ComputeRequirement()
override {
36 void Render(Screen& screen)
override {
39 auto data = graph_function_(width, height);
42 int height_1 = 2 *
box_.
y_max - data[i++];
43 int height_2 = 2 *
box_.
y_max - data[i++];
46 int i_1 = yy < height_1 ? 0 : yy == height_1 ? 3 : 6;
47 int i_2 = yy < height_2 ? 0 : yy == height_2 ? 1 : 2;
48 screen.at(x, y) = charset[i_1 + i_2];
60 return std::make_shared<Graph>(graph_function);