Split Win32 main window session state

This commit is contained in:
2026-06-17 11:17:02 +02:00
parent 81a998436d
commit 949dbf778a
11 changed files with 92 additions and 53 deletions

View File

@@ -1,6 +1,7 @@
#include "pch.h"
#include "platform_windows/windows_bootstrap_helpers.h"
#include "platform_windows/windows_lifecycle_shell.h"
#include "platform_windows/windows_main_window_session.h"
#include "platform_windows/windows_platform_services.h"
#include "platform_windows/windows_runtime_shell.h"
#include "keymap.h"
@@ -40,12 +41,12 @@ HWND pp_windows_main_window_handle();
HWND pp_windows_main_window_handle()
{
return pp::platform::windows::main_window_handle();
return pp::platform::windows::retained_main_window_handle_ref();
}
void destroy_window()
{
pp::platform::windows::enqueue_main_thread_task(std::packaged_task<void()>([hWnd = pp::platform::windows::main_window_handle()] {
pp::platform::windows::enqueue_main_thread_task(std::packaged_task<void()>([hWnd = pp::platform::windows::retained_main_window_handle_ref()] {
pp::platform::windows::request_window_close(hWnd);
}));
}
@@ -78,8 +79,8 @@ void win32_update_stylus(float dt)
void win32_update_fps(int frames)
{
pp::platform::windows::enqueue_main_thread_task(std::packaged_task<void()>([
hWnd = pp::platform::windows::main_window_handle(),
window_title = pp::platform::windows::main_window_title(),
hWnd = pp::platform::windows::retained_main_window_handle_ref(),
window_title = pp::platform::windows::retained_main_window_title(),
vr = &pp::platform::windows::platform_vr_state(),
frames] {
pp::platform::windows::update_window_fps(hWnd, window_title, *vr, frames);
@@ -90,7 +91,7 @@ bool win32_vr_start()
{
return pp::platform::windows::start_window_vr(
pp::platform::windows::platform_vr_state(),
pp::platform::windows::main_window_sandboxed());
pp::platform::windows::retained_main_window_sandboxed());
}
void win32_vr_stop()
@@ -100,7 +101,7 @@ void win32_vr_stop()
void win32_save_window_state()
{
pp::platform::windows::save_window_preferences(pp::platform::windows::main_window_handle());
pp::platform::windows::save_window_preferences(pp::platform::windows::retained_main_window_handle_ref());
}
namespace pp::platform::windows {