mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-05-05 22:01:13 +08:00

Instead of two levels of focus with `focus` and `selected`, use a recursive level. The components set the one "active" and hbox/vbox/dbox Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
27 lines
640 B
C++
27 lines
640 B
C++
// Copyright 2020 Arthur Sonzogni. All rights reserved.
|
|
// Use of this source code is governed by the MIT license that can be found in
|
|
// the LICENSE file.
|
|
#ifndef FTXUI_SCREEN_BOX_HPP
|
|
#define FTXUI_SCREEN_BOX_HPP
|
|
|
|
namespace ftxui {
|
|
|
|
struct Box {
|
|
int x_min = 0;
|
|
int x_max = 0;
|
|
int y_min = 0;
|
|
int y_max = 0;
|
|
|
|
static auto Intersection(Box a, Box b) -> Box;
|
|
static auto Union(Box a, Box b) -> Box;
|
|
void Shift(int x, int y);
|
|
bool Contain(int x, int y) const;
|
|
bool IsEmpty() const;
|
|
bool operator==(const Box& other) const;
|
|
bool operator!=(const Box& other) const;
|
|
};
|
|
|
|
} // namespace ftxui
|
|
|
|
#endif // FTXUI_SCREEN_BOX_HPP
|