#include // for operator|, text, Element, hcenter, Fit, hbox, size, window, Elements, bold, dim, EQUAL, WIDTH #include // for Screen #include // for allocator, shared_ptr #include // for string, to_string #include // for move #include "ftxui/dom/flexbox_config.hpp" // for ftxui #include "ftxui/dom/node.hpp" // for Render int main(int argc, const char* argv[]) { using namespace ftxui; auto make_box = [](const std::string& title) { return window(text(title) | hcenter | bold, text("content") | hcenter | dim); }; Elements content; for (int x = 3; x < 30; ++x) { content.push_back(make_box(std::to_string(x)) | size(WIDTH, EQUAL, x)); } auto document = hbox(std::move(content)); auto screen = Screen::Create(Dimension::Fit(document)); Render(screen, document); screen.Print(); return 0; } // 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.