25 child->ComputeRequirement();
32 for (
size_t i = 1; i <
children_.size(); ++i) {
34 children_[i]->requirement().focused.enabled) {
54 child->Select(selection);
61 child->Render(screen);
76 content += child->GetSelectedContent(selection);
86 Render(screen, element.get(), selection);
93 Render(screen, node, selection);
104 node->
Check(&status);
105 const int max_iterations = 20;
116 node->
Check(&status);
125#
if defined(FTXUI_MICROSOFT_TERMINAL_FALLBACK)
177 node->
Check(&status);
178 const int max_iterations = 20;
189 node->
Check(&status);
const Box & GetBox() const
選択範囲のボックスを取得します。
virtual void Select(Selection &selection)
要素の選択を計算します。
virtual std::string GetSelectedContent(Selection &selection)
virtual void SetBox(Box box)
描画のために要素に位置と次元を割り当てます。
Requirement requirement()
virtual void ComputeRequirement()
要素が必要とするスペースを計算します。
virtual void Check(Status *status)
virtual void Render(Screen &screen)
要素をftxui::Screenに表示します。
friend void Render(Screen &screen, Node *node, Selection &selection)
NodeはDOMツリー内のすべての要素の基底クラスです。
ターミナルユーザーインターフェースにおける選択範囲を表します。
void Render(Screen &screen, const Element &element)
要素をftxui::Screenに表示します。
void SetCursor(Cursor cursor)
static auto Intersection(Box a, Box b) -> Box
Boxは、2D空間における矩形領域を表す構造体です。
std::string GetNodeSelectedContent(Screen &screen, Node *node, Selection &selection)
std::shared_ptr< Node > Element
std::vector< Element > Elements
Screen::Cursor::Shape cursor_shape