2#ifndef LIBSBX_UI_LAYOUT_HPP_
3#define LIBSBX_UI_LAYOUT_HPP_
9#include <libsbx/math/vector2.hpp>
18 std::float_t width{0.0f};
19 std::float_t height{0.0f};
21 [[nodiscard]]
auto contains(
const math::vector2& point)
const -> bool;
26 std::float_t top{0.0f};
27 std::float_t right{0.0f};
28 std::float_t bottom{0.0f};
29 std::float_t left{0.0f};
35 math::vector2 max{std::numeric_limits<std::float_t>::max(), std::numeric_limits<std::float_t>::max()};
36 std::float_t flex{0.0f};
49 virtual auto arrange(
const rectangle& bounds, std::vector<std::unique_ptr<element>>& children) ->
void = 0;
A vector in two-dimensional space.
Definition: vector2.hpp:28
Definition: layout.hpp:39
Definition: layout.hpp:25
Definition: layout.hpp:15
Definition: layout.hpp:32