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

* Remove @ingroup from class member definitions * Add the documentation for every public classes.
34 lines
946 B
C++
34 lines
946 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 {
|
|
|
|
/// @brief Box is a structure that represents a rectangular area in a 2D space.
|
|
///
|
|
/// It is defined by its minimum and maximum coordinates along the x and y axes.
|
|
/// Note that the coordinates are inclusive, meaning that the box includes both
|
|
/// the minimum and maximum values.
|
|
///
|
|
/// @ingroup screen
|
|
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
|