13#include "../macros.hpp"
15namespace hi {
inline namespace v1 {
28 hi_axiom(holds_invariant());
33 hi_axiom(holds_invariant());
44 hi_axiom(holds_invariant());
50 hi_axiom(holds_invariant());
59 hi_axiom(holds_invariant());
62 [[
nodiscard]]
constexpr bool empty()
const noexcept
64 return _v.w() == 0.0f;
72 [[
nodiscard]]
constexpr float radius()
const noexcept
77 [[
nodiscard]]
constexpr float diameter()
const noexcept
79 return radius() * 2.0f;
82 [[
nodiscard]]
constexpr point3 center()
const noexcept
84 return point3{_v.xyz1()};
102 [[
nodiscard]]
constexpr friend point3 midpoint(
circle const& rhs)
noexcept
104 return point3{rhs.center()};
109 hilet p = rhs._v.xyxy();
161 return _v.w() >= 0.0f;
@ middle
Align to the vertical-middle.
@ bottom
Align to the bottom.
@ right
Align the text to the right side.
@ left
Align the text to the left side.
@ center
Align the text in the center.
@ other
The gui_event does not have associated data.
DOXYGEN BUG.
Definition algorithm.hpp:16
geometry/margins.hpp
Definition lookahead_iterator.hpp:5
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:377
Class which represents an axis-aligned rectangle.
Definition aarectangle.hpp:29
Horizontal/Vertical alignment combination.
Definition alignment.hpp:242
A type defining a 2D circle.
Definition circle.hpp:19
friend constexpr circle align(aarectangle haystack, circle needle, alignment alignment) noexcept
Align a rectangle within another rectangle.
Definition circle.hpp:120