7#include "box_constraints.hpp"
8#include "../geometry/geometry.hpp"
9#include "../utility/utility.hpp"
10#include "../macros.hpp"
14hi_export_module(hikogui.layout.box_shape);
16hi_export
namespace hi {
inline namespace v1 {
20 std::optional<float> baseline = {};
21 std::optional<float> centerline = {};
28 [[nodiscard]]
constexpr friend bool operator==(
box_shape const&,
box_shape const&)
noexcept =
default;
36 float baseline_adjustment) noexcept :
39 constraints.alignment.vertical(),
42 baseline_adjustment)),
44 constraints.alignment.horizontal(),
56 [[nodiscard]]
constexpr float x()
const noexcept
61 [[nodiscard]]
constexpr float y()
const noexcept
66 [[nodiscard]]
constexpr extent2 size()
const noexcept
71 [[nodiscard]]
constexpr float width()
const noexcept
76 [[nodiscard]]
constexpr float height()
const noexcept
constexpr std::optional< float > make_guideline(vertical_alignment alignment, float bottom, float top, float guideline_width)
Create a guideline between two points.
Definition alignment.hpp:61
The HikoGUI namespace.
Definition array_generic.hpp:20
DOXYGEN BUG.
Definition algorithm_misc.hpp:20
Class which represents an axis-aligned rectangle.
Definition aarectangle.hpp:33
A high-level geometric extent.
Definition extent2.hpp:32
A rectangle / parallelogram in 3D space.
Definition rectangle.hpp:25
float height() const noexcept
The height, or length of the up vector.
Definition rectangle.hpp:152
float width() const noexcept
The width, or length of the right vector.
Definition rectangle.hpp:145
constexpr extent2 size() const noexcept
The size, or length of the right and up vectors.
Definition rectangle.hpp:159
2D constraints.
Definition box_constraints.hpp:25
Definition box_shape.hpp:18