7#include "box_constraints.hpp"
8#include "../geometry/module.hpp"
9#include "../utility/module.hpp"
13namespace hi {
inline namespace v1 {
17 std::optional<float> baseline = {};
18 std::optional<float> centerline = {};
25 [[nodiscard]]
constexpr friend bool operator==(
box_shape const&,
box_shape const&)
noexcept =
default;
33 float baseline_adjustment) noexcept :
36 constraints.alignment.vertical(),
39 constraints.padding.bottom(),
40 constraints.padding.top(),
41 baseline_adjustment)),
43 constraints.alignment.horizontal(),
46 constraints.padding.left(),
47 constraints.padding.right()))
57 [[nodiscard]]
constexpr float x()
const noexcept
62 [[nodiscard]]
constexpr float y()
const noexcept
67 [[nodiscard]]
constexpr extent2 size()
const noexcept
72 [[nodiscard]]
constexpr float width()
const noexcept
77 [[nodiscard]]
constexpr float height()
const noexcept
#define hi_axiom(expression,...)
Specify an axiom; an expression that is true.
Definition assert.hpp:253
constexpr std::optional< float > make_guideline(vertical_alignment alignment, float bottom, float top, float padding_bottom, float padding_top, float guideline_width)
Create a guideline between two points.
Definition alignment.hpp:57
DOXYGEN BUG.
Definition algorithm.hpp:13
geometry/margins.hpp
Definition cache.hpp:11
Class which represents an axis-aligned rectangle.
Definition aarectangle.hpp:26
A high-level geometric extent.
Definition extent2.hpp:26
A rectangle / parallelogram in 3D space.
Definition rectangle.hpp:20
float height() const noexcept
The height, or length of the up vector.
Definition rectangle.hpp:147
float width() const noexcept
The width, or length of the right vector.
Definition rectangle.hpp:140
constexpr extent2 size() const noexcept
The size, or length of the right and up vectors.
Definition rectangle.hpp:154
2D constraints.
Definition box_constraints.hpp:22
Definition box_shape.hpp:15
Tag used for special functions or constructions to do a override compared to another function of the ...
Definition utility.hpp:223