Thin Windows runtime globals and legacy GLFW hooks

This commit is contained in:
2026-06-17 09:51:25 +02:00
parent 25eff166f6
commit 4c91701e11
9 changed files with 43 additions and 54 deletions

View File

@@ -3,7 +3,6 @@
#include "platform_windows/windows_runtime_shell.h"
#include "app.h"
#include "app_runtime.h"
#include "log.h"
#include "platform_windows/windows_bootstrap_helpers.h"
#include "platform_windows/windows_lifecycle_shell.h"
@@ -20,7 +19,6 @@ namespace {
struct RetainedWindowsRuntimeState final {
std::unique_ptr<App> owned_app;
App* app = nullptr;
AppRuntime* runtime = nullptr;
WacomTablet* tablet = nullptr;
};
@@ -42,10 +40,9 @@ void register_touch_window(HWND hWnd)
void initialize_runtime_threads()
{
auto* app = bound_app();
auto* runtime = bound_runtime();
mark_lifecycle_running();
runtime->render_thread_start(*app);
runtime->ui_thread_start(*app);
app->runtime().render_thread_start(*app);
app->runtime().ui_thread_start(*app);
}
void install_debug_gl_callbacks()
@@ -136,21 +133,10 @@ App* bound_app() noexcept
void release_bound_app() noexcept
{
auto& state = retained_runtime_state();
bind_runtime(nullptr);
bind_app(nullptr);
state.owned_app.reset();
}
void bind_runtime(AppRuntime* runtime) noexcept
{
retained_runtime_state().runtime = runtime;
}
AppRuntime* bound_runtime() noexcept
{
return retained_runtime_state().runtime;
}
void bind_wacom_tablet(WacomTablet* tablet) noexcept
{
retained_runtime_state().tablet = tablet;
@@ -190,7 +176,6 @@ int run_main_application(int argc, char** argv)
runtime_state.owned_app = std::make_unique<App>();
auto* app = runtime_state.owned_app.get();
bind_app(app);
bind_runtime(&app->runtime());
bind_wacom_tablet(&WacomTablet::I);
app->set_platform_services(&pp::platform::windows::platform_services());
app->initLog();