mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-09-15 23:48:15 +08:00
Introduce gridbox. (#190)
Introduce gridbox. Similar to hbox and vbox, this component combine both into a grid.
This commit is contained in:
@@ -19,6 +19,7 @@ example(color_truecolor_RGB)
|
||||
example(color_truecolor_HSV)
|
||||
example(color_info_palette256)
|
||||
example(style_dim)
|
||||
example(gridbox)
|
||||
example(style_gallery)
|
||||
example(style_inverted)
|
||||
example(style_underlined)
|
||||
|
49
examples/dom/gridbox.cpp
Normal file
49
examples/dom/gridbox.cpp
Normal file
@@ -0,0 +1,49 @@
|
||||
#include <stdio.h> // for getchar
|
||||
#include <ftxui/dom/elements.hpp> // for filler, text, hbox, vbox
|
||||
#include <ftxui/screen/screen.hpp> // for Full, Screen
|
||||
#include <memory> // for allocator
|
||||
|
||||
#include "ftxui/dom/node.hpp" // for Render
|
||||
#include "ftxui/screen/box.hpp" // for ftxui
|
||||
|
||||
int main(int argc, const char* argv[]) {
|
||||
using namespace ftxui;
|
||||
auto cell = [](const char* t) { return text(t) | border; };
|
||||
auto document = //
|
||||
gridbox({
|
||||
{
|
||||
cell("north-west"),
|
||||
cell("north"),
|
||||
cell("north-east"),
|
||||
},
|
||||
{
|
||||
cell("center-west"),
|
||||
gridbox({
|
||||
{
|
||||
cell("center-north-west"),
|
||||
cell("center-north-east"),
|
||||
},
|
||||
{
|
||||
cell("center-south-west"),
|
||||
cell("center-south-east"),
|
||||
},
|
||||
}),
|
||||
cell("center-east"),
|
||||
},
|
||||
{
|
||||
cell("south-west"),
|
||||
cell("south"),
|
||||
cell("south-east"),
|
||||
},
|
||||
});
|
||||
auto screen = Screen::Create(Dimension::Fit(document));
|
||||
Render(screen, document);
|
||||
screen.Print();
|
||||
getchar();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Copyright 2021 Arthur Sonzogni. All rights reserved.
|
||||
// Use of this source code is governed by the MIT license that can be found in
|
||||
// the LICENSE file.
|
Reference in New Issue
Block a user