HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
spacer_widget.hpp
Go to the documentation of this file.
1// Copyright Take Vos 2022.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
9#pragma once
10
11#include "widget.hpp"
12#include "../macros.hpp"
13
14namespace hi { inline namespace v1 {
15
20class spacer_widget final : public widget {
21public:
22 using super = widget;
23
25
27 {
28 co_return;
29 }
30
32 {
33 _layout = {};
34
35 auto r = box_constraints{};
36 r.maximum = extent2::large();
37 return r;
38 }
39
40 void set_layout(widget_layout const& context) noexcept override
41 {
42 _layout = context;
43 }
44
45 void draw(draw_context const& context) noexcept override {}
46
47 [[nodiscard]] hitbox hitbox_test(point2 position) const noexcept override
48 {
49 return hitbox{};
50 }
51};
52
53}} // namespace hi::v1
Defines widget.
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
Draw context for drawing using the HikoGUI shaders.
Definition draw_context.hpp:208
widget_intf * parent
Pointer to the parent widget.
Definition widget_intf.hpp:28
The layout of a widget.
Definition widget_layout.hpp:38
2D constraints.
Definition box_constraints.hpp:25
This GUI widget is used as a spacer between other widget for layout purposes.
Definition spacer_widget.hpp:20
hitbox hitbox_test(point2 position) const noexcept override
Find the widget that is under the mouse cursor.
Definition spacer_widget.hpp:47
void draw(draw_context const &context) noexcept override
Draw the widget.
Definition spacer_widget.hpp:45
generator< widget_intf & > children(bool include_invisible) noexcept override
Get a list of child widgets.
Definition spacer_widget.hpp:26
void set_layout(widget_layout const &context) noexcept override
Update the internal layout of the widget.
Definition spacer_widget.hpp:40
box_constraints update_constraints() noexcept override
Update the constraints of the widget.
Definition spacer_widget.hpp:31
An interactive graphical object as part of the user-interface.
Definition widget.hpp:37
widget(widget *parent) noexcept
Definition widget.hpp:87