FTXUI
6.1.9
C++ functional terminal UI.
Toggle main menu visibility
Loading...
Searching...
No Matches
examples/dom/vflow.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 <stdio.h>
// for getchar
#include <
ftxui/dom/elements.hpp
>
// for operator|, Element, size, text, hcenter, Fit, vflow, window, EQUAL, bold, border, dim, HEIGHT, WIDTH
#include <
ftxui/screen/screen.hpp
>
// for Full, Screen
#include <string>
// for allocator, char_traits, operator+, to_string, string
#include "
ftxui/dom/node.hpp
"
// for Render
#include "
ftxui/screen/color.hpp
"
// for ftxui
int
main() {
using namespace
ftxui
;
auto
make_box = [](
int
dimx,
int
dimy) {
std::string title = std::to_string(dimx) +
"x"
+ std::to_string(dimy);
return
window
(
text
(title) |
hcenter
|
bold
,
text
(
"content"
) |
hcenter
|
dim
) |
size
(
WIDTH
,
EQUAL
, dimx) |
size
(
HEIGHT
,
EQUAL
, dimy);
};
auto
document =
vflow
({
make_box(7, 7),
make_box(7, 5),
make_box(5, 7),
make_box(10, 4),
make_box(10, 4),
make_box(10, 4),
make_box(10, 4),
make_box(11, 4),
make_box(11, 4),
make_box(11, 4),
make_box(11, 4),
make_box(12, 4),
make_box(12, 5),
make_box(12, 4),
make_box(13, 4),
make_box(13, 3),
make_box(13, 3),
make_box(10, 3),
}) |
border
;
auto
screen =
Screen::Create
(
Dimension::Full
(),
Dimension::Fit
(document));
Render
(screen, document);
screen.Print();
getchar();
return
0;
}
ftxui::Screen::Create
static Screen Create(Dimensions dimension)
Create a screen with the given dimension.
Definition
screen.cpp:394
color.hpp
elements.hpp
ftxui::Dimension::Fit
Dimensions Fit(Element &, bool extend_beyond_screen=false)
Definition
util.cpp:93
ftxui::Dimension::Full
Dimensions Full()
Definition
screen.cpp:382
ftxui
Definition
animation.hpp:10
ftxui::window
Element window(Element title, Element content, BorderStyle border=ROUNDED)
Draw window with a title and a border around the element.
Definition
border.cpp:507
ftxui::HEIGHT
@ HEIGHT
Definition
elements.hpp:153
ftxui::WIDTH
@ WIDTH
Definition
elements.hpp:153
ftxui::size
Decorator size(WidthOrHeight, Constraint, int value)
Apply a constraint on the size of an element.
Definition
size.cpp:89
ftxui::bold
Element bold(Element)
Use a bold font, for elements with more emphasis.
Definition
bold.cpp:33
ftxui::text
Element text(std::wstring text)
Display a piece of unicode text.
Definition
text.cpp:160
ftxui::dim
Element dim(Element)
Use a light font, for elements with less emphasis.
Definition
dim.cpp:33
ftxui::Render
void Render(Screen &screen, const Element &element)
Display an element on a ftxui::Screen.
Definition
node.cpp:88
ftxui::EQUAL
@ EQUAL
Definition
elements.hpp:154
ftxui::vflow
Element vflow(Elements)
A container displaying elements in rows from top to bottom. When filled, it starts on a new columns o...
Definition
flexbox.cpp:289
ftxui::border
Element border(Element)
Draw a border around the element.
Definition
border.cpp:227
ftxui::hcenter
Element hcenter(Element)
Center an element horizontally.
Definition
composite_decorator.cpp:15
node.hpp
screen.hpp