18 std::function<
void()> exit) {
19 auto component = Container::Vertical({
26 text(
"Main component"),
40 std::function<
void()> hide_modal) {
41 auto component = Container::Vertical({
48 text(
"Modal component "),
58int main(
int argc,
const char* argv[]) {
62 bool modal_shown =
false;
65 auto show_modal = [&] { modal_shown =
true; };
66 auto hide_modal = [&] { modal_shown =
false; };
67 auto exit = screen.ExitLoopClosure();
68 auto do_nothing = [&] {};
76 main_component |=
Modal(modal_component, &modal_shown);
78 screen.Loop(main_component);
static ButtonOption Animated()
创建一个使用动画颜色的ButtonOption。
static ScreenInteractive TerminalOutput()
Component Button(ButtonOption options)
绘制一个按钮。点击时执行一个函数。
Component Modal(Component main, Component modal, const bool *show_modal)
Component Renderer(Component child, std::function< Element()>)
返回一个新组件,类似于 |child|,但使用 |render| 作为 Component::Render() 事件。
Decorator size(WidthOrHeight, Constraint, int value)
对元素大小应用约束。
Element center(Element)
水平并垂直居中一个元素。
Element text(std::wstring text)
显示一段Unicode文本。
Element separator()
在两个其他元素之间绘制垂直或水平分隔线。
Element vbox(Elements)
垂直一个接一个显示元素的容器。
Component ModalComponent(std::function< void()> do_nothing, std::function< void()> hide_modal)
Component MainComponent(std::function< void()> show_modal, std::function< void()> exit)
#include "ftxui/component/component_base.hpp" // 用于 ComponentBase
std::shared_ptr< Node > Element
std::shared_ptr< ComponentBase > Component