17class DBox :
public Node {
19 explicit DBox(
Elements children) : Node(std::move(children)) {}
21 void ComputeRequirement()
override {
22 requirement_ = Requirement{};
23 for (
auto& child : children_) {
24 child->ComputeRequirement();
28 std::max(requirement_.min_x, child->requirement().min_x);
30 std::max(requirement_.min_y, child->requirement().min_y);
37 for (
auto it = children_.rbegin(); it != children_.rend(); ++it) {
39 if (requirement_.focused.Prefer(child->requirement().focused)) {
40 requirement_.focused = child->requirement().focused;
45 void SetBox(Box box)
override {
48 for (
auto& child : children_) {
60 return std::make_shared<DBox>(std::move(children_));
virtual void SetBox(Box box)
Assign a position and a dimension to an element for drawing.
Element dbox(Elements)
Stack several element on top of each other.
The FTXUI ftxui:: namespace.
std::shared_ptr< Node > Element
std::vector< Element > Elements