Главный цикл приложения
Вызовите framework::init() до создания GUI, инициализируйте окно, затем вызовите
framework::run(). Для завершения используется framework::stop().
started() сообщает о наличии активного экземпляра framework, get_error() — об ошибке.
Метода framework::end() нет.
| Бэкенд | Обработка событий |
|---|---|
| Windows | Цикл сообщений Win32 |
| Linux | Обработка XCB-событий окон; framework ждёт остановки |
| macOS | Главный цикл AppKit в основном потоке |
| WASM | Asyncify-цикл уступает управление браузеру и возвращается после stop() |
Объекты приложения должны жить всё время работы run(). Закрытие окна и остановка
приложения — разные операции: явно вызывайте stop в callback главного окна, если
нужно завершать приложение. Закрытие вспомогательного окна может не останавливать владельца.
window->init("Application", {-1, -1, 800, 600}, wui::window_style::frame,
[] { wui::framework::stop(); });
wui::framework::run();
См. Hello world и потоки.