15class Unselectable :
public NodeDecorator {
19 void Select(Selection& ignored)
override {
20 std::ignore = ignored;
40 std::min(start_x, end_x),
41 std::max(start_x, end_x),
42 std::min(start_y, end_y),
43 std::max(start_y, end_y),
57 std::min(start_x, end_x),
58 std::max(start_x, end_x),
59 std::min(start_y, end_y),
60 std::max(start_y, end_y),
76 int start_x = start_x_;
77 int start_y = start_y_;
81 const bool start_outside = !box.
Contain(start_x, start_y);
82 const bool end_outside = !box.
Contain(end_x, end_y);
83 const bool properly_ordered =
84 start_y < end_y || (start_y == end_y && start_x <= end_x);
85 if (properly_ordered) {
105 start_x, start_y, end_x, end_y, parent_,
114 int start_x = start_x_;
115 int start_y = start_y_;
119 const bool start_outside = !box.
Contain(start_x, start_y);
120 const bool end_outside = !box.
Contain(end_x, end_y);
121 const bool properly_ordered =
122 start_y < end_y || (start_y == end_y && start_x <= end_x);
124 if (properly_ordered) {
143 return {start_x, start_y, end_x, end_y, parent_};
147 if (parent_ !=
this) {
152 if (parts_.str().empty()) {
158 parts_ <<
'\n' << part;
162 if (x_ ==
left + 1) {
NodeDecorator(Element child)
const Box & GetBox() const
Get the box of the selection.
void AddPart(const std::string &part, int y, int left, int right)
Selection SaturateVertical(Box box)
Saturate the selection to be inside the box. This is called by vbox to propagate the selection to its...
Selection()
Create an empty selection.
Selection SaturateHorizontal(Box box)
Saturate the selection to be inside the box. This is called by hbox to propagate the selection to its...
Represents a selection in a terminal user interface.
bool Contain(int x, int y) const
Box is a structure that represents a rectangular area in a 2D space.
The FTXUI ftxui:: namespace.