4#ifndef FTXUI_DOM_NODE_HPP
5#define FTXUI_DOM_NODE_HPP
20using Element = std::shared_ptr<Node>;
21using Elements = std::vector<Element>;
virtual void Select(Selection &selection)
Compute the selection of an element.
virtual std::string GetSelectedContent(Selection &selection)
virtual void SetBox(Box box)
Assign a position and a dimension to an element for drawing.
Requirement requirement()
virtual void ComputeRequirement()
Compute how much space an elements needs.
virtual void Check(Status *status)
Node & operator=(const Node &)=delete
Node(const Node &)=delete
friend void Render(Screen &screen, Node *node, Selection &selection)
Node & operator=(const Node &&)=delete
Node(const Node &&)=delete
A rectangular grid of Pixel.
Represent a selection in the terminal.
std::string GetNodeSelectedContent(Screen &screen, Node *node, Selection &selection)
std::shared_ptr< Node > Element
std::shared_ptr< T > Make(Args &&... args)
std::vector< Element > Elements
void Render(Screen &screen, const Element &element)
Display an element on a ftxui::Screen.