7#include "gui_window.hpp"
8#include "gui_window_win32.hpp"
9#include "gui_system_delegate.hpp"
10#include "widget_intf.hpp"
11#include "../unicode/module.hpp"
12#include "../GFX/module.hpp"
13#include "../utility/module.hpp"
14#include "../observer/module.hpp"
23namespace hi::inline
v1 {
27class keyboard_bindings;
33 static inline os_handle instance;
39 thread_id
const thread_id;
65 virtual void init() noexcept
67 if (
auto delegate = _delegate.lock()) {
68 delegate->init(*
this);
72 virtual void deinit() noexcept
74 if (
auto delegate = _delegate.lock()) {
75 delegate->deinit(*
this);
97 return add_window(std::make_shared<gui_window_win32>(*
this,
std::move(widget)));
108 template<std::derived_from<w
idget_
intf> W
idget,
typename... Args>
111 auto widget = std::make_unique<Widget>(std::forward<Args>(args)...);
112 auto& widget_ref = *widget;
114 return {make_window_with_widget(
std::move(widget)), widget_ref};
134 hi::theme
const *_theme =
nullptr;
#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:31
std::pair< std::shared_ptr< gui_window >, Widget & > make_window(Args &&...args)
Create a new window.
Definition gui_system.hpp:109
static std::unique_ptr< gui_system > make_unique(std::weak_ptr< gui_system_delegate > delegate={}) noexcept
Make a gui_system instance.
std::shared_ptr< gui_window > make_window_with_widget(std::unique_ptr< widget_intf > widget)
Create a new window with the specified managing widget.
Definition gui_system.hpp:92
virtual void init() noexcept
Initialize after construction.
Definition gui_system.hpp:65
void request_reconstrain() noexcept
Request all windows to constrain.
Definition gui_system_delegate.hpp:12
Definition keyboard_bindings.hpp:16
theme_book keeps track of multiple themes.
Definition theme_book.hpp:20
A observer pointing to the whole or part of a observable.
Definition observer.hpp:22