13 static std::string charset[11] = {
14 #if defined(FTXUI_MICROSOFT_TERMINAL_FALLBACK)
17 " ",
" ",
" ",
" ",
"▌",
"▌",
"▌",
"█",
"█",
"█",
19 " ",
" ",
"▏",
"▎",
"▍",
"▌",
"▋",
"▊",
"▉",
"█",
25 class Gauge :
public Node {
27 Gauge(
float progress) : progress_(std::min(std::max(progress, 0.f), 1.f)) {}
29 void ComputeRequirement()
override {
38 void Render(Screen& screen)
override {
44 int limit_int = limit;
47 screen.at(x++, y) = charset[9];
48 screen.at(x++, y) = charset[int(9 * (limit - limit_int))];
50 screen.at(x++, y) = charset[0];
76 return std::make_shared<Gauge>(progress);