8#include "../text/glyph_ids.hpp"
13namespace hi::inline v1 {
23 void set_layout(
widget_layout const &layout)
noexcept override;
24 void draw(
draw_context const &context)
noexcept override;
25 bool handle_event(
gui_event const& event)
noexcept override;
26 [[nodiscard]]
hitbox hitbox_test(
point3 position)
const noexcept override;
29 static constexpr float GLYPH_SIZE = 5.0f;
30 static constexpr float RADIUS = 5.5f;
31 static constexpr float DIAMETER = RADIUS * 2.0f;
32 static constexpr float MARGIN = 10.0f;
33 static constexpr float SPACING = 8.0f;
39 glyph_ids closeWindowGlyph;
40 glyph_ids minimizeWindowGlyph;
41 glyph_ids maximizeWindowGlyph;
42 glyph_ids restoreWindowGlyph;
49 bool hoverClose =
false;
50 bool hoverMinimize =
false;
51 bool hoverMaximize =
false;
53 bool pressedClose =
false;
54 bool pressedMinimize =
false;
55 bool pressedMaximize =
false;
Class which represents an axis-aligned rectangle.
Definition axis_aligned_rectangle.hpp:20
Draw context for drawing using the HikoGUI shaders.
Definition draw_context.hpp:52
A user interface event.
Definition gui_event.hpp:58
Definition gui_window.hpp:39
An interactive graphical object as part of the user-interface.
Definition widget.hpp:39
Definition widget_constraints.hpp:13
Definition widget_layout.hpp:18
Definition window_traffic_lights_widget.hpp:15