7#include "gui_window.hpp"
8#include "gui_window_win32.hpp"
9#include "gui_system_delegate.hpp"
10#include "../unicode/module.hpp"
11#include "../GFX/module.hpp"
12#include "../utility/module.hpp"
13#include "../observer.hpp"
20namespace hi::inline
v1 {
23class keyboard_bindings;
29 static inline os_handle instance;
34 thread_id
const thread_id;
73 template<
typename WidgetType,
typename... Args>
78 auto widget = std::make_unique<WidgetType>(
label, std::forward<Args>(args)...);
79 auto widget_ptr = widget.get();
81#if HI_OPERATING_SYSTEM == HI_OS_WINDOWS
82 auto window = std::make_shared<gui_window_win32>(*
this,
std::move(widget),
label);
84#error "Not implemented"
86 widget_ptr->set_window(*window);
88 return {add_window(
std::move(window)), *widget_ptr};
104 decltype(selected_theme)::callback_token _selected_theme_cbt;
105 os_settings::callback_token _os_settings_cbt;
#define hi_axiom(expression,...)
Specify an axiom; an expression that is true.
Definition assert.hpp:253
DOXYGEN BUG.
Definition algorithm.hpp:13
geometry/margins.hpp
Definition cache.hpp:11
Graphics system.
Definition gfx_system.hpp:20
Graphics system.
Definition gui_system.hpp:27
std::pair< std::shared_ptr< gui_window >, WidgetType & > make_window(hi::label const &label, Args &&...args)
Create a new window with an embedded widget.
Definition gui_system.hpp:74
static std::unique_ptr< gui_system > make_unique(std::weak_ptr< gui_system_delegate > delegate={}) noexcept
Make a gui_system instance.
void request_reconstrain() noexcept
Request all windows to constrain.
Definition gui_system_delegate.hpp:12
Definition keyboard_bindings.hpp:16
A label consisting of localizable text and an icon.
Definition label.hpp:114
A observer pointing to the whole or part of a observable.
Definition observer.hpp:22