Trim Win32 runtime and VR retained state
This commit is contained in:
@@ -70,6 +70,12 @@ What is already real:
|
|||||||
- `pp_app_core`
|
- `pp_app_core`
|
||||||
|
|
||||||
Latest slice:
|
Latest slice:
|
||||||
|
- `src/platform_windows/windows_runtime_shell.cpp` no longer keeps a second
|
||||||
|
retained `App*` copy alongside `App::I`; the runtime shell now reads the
|
||||||
|
bound app directly from the singleton composition edge.
|
||||||
|
- `src/platform_windows/windows_window_shell.*` and
|
||||||
|
`src/platform_windows/windows_platform_services.cpp` now keep Win32 VR state
|
||||||
|
outside the generic retained input-state bundle.
|
||||||
- `src/platform_legacy/legacy_platform_state.*` no longer carries the dead
|
- `src/platform_legacy/legacy_platform_state.*` no longer carries the dead
|
||||||
generic storage-path singleton for the current runtime matrix.
|
generic storage-path singleton for the current runtime matrix.
|
||||||
- `src/platform_legacy/legacy_platform_services.cpp` now drops the dead generic
|
- `src/platform_legacy/legacy_platform_services.cpp` now drops the dead generic
|
||||||
|
|||||||
@@ -78,6 +78,11 @@ Completed, blocked, and superseded task history moved to
|
|||||||
the queue is now ordered by code movement instead.
|
the queue is now ordered by code movement instead.
|
||||||
|
|
||||||
Current slice:
|
Current slice:
|
||||||
|
- `src/platform_windows/windows_runtime_shell.cpp` no longer stores a second
|
||||||
|
retained `App*` alongside `App::I`.
|
||||||
|
- `src/platform_windows/windows_window_shell.*` plus
|
||||||
|
`src/platform_windows/windows_platform_services.cpp` now separate Win32 VR
|
||||||
|
state from the generic retained input-state bundle.
|
||||||
- `src/platform_legacy/legacy_platform_state.*` no longer keeps the dead
|
- `src/platform_legacy/legacy_platform_state.*` no longer keeps the dead
|
||||||
generic storage-path singleton for the current platform matrix.
|
generic storage-path singleton for the current platform matrix.
|
||||||
- `src/platform_legacy/legacy_platform_services.cpp` now returns only
|
- `src/platform_legacy/legacy_platform_services.cpp` now returns only
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ namespace pp::platform::windows {
|
|||||||
|
|
||||||
VrShellState& platform_vr_state() noexcept
|
VrShellState& platform_vr_state() noexcept
|
||||||
{
|
{
|
||||||
return retained_state().vr;
|
return retained_vr_shell_state();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ struct RetainedMainWindowSessionState final {
|
|||||||
|
|
||||||
struct RetainedWindowsRuntimeState final {
|
struct RetainedWindowsRuntimeState final {
|
||||||
std::unique_ptr<App> owned_app;
|
std::unique_ptr<App> owned_app;
|
||||||
App* app = nullptr;
|
|
||||||
WacomTablet tablet;
|
WacomTablet tablet;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -131,20 +130,18 @@ void shutdown_main_window_runtime(const MainWindowStartupState& startup, HINSTAN
|
|||||||
|
|
||||||
void bind_app(App* app) noexcept
|
void bind_app(App* app) noexcept
|
||||||
{
|
{
|
||||||
retained_runtime_state().app = app;
|
|
||||||
App::I = app;
|
App::I = app;
|
||||||
}
|
}
|
||||||
|
|
||||||
App* bound_app() noexcept
|
App* bound_app() noexcept
|
||||||
{
|
{
|
||||||
return retained_runtime_state().app;
|
return App::I;
|
||||||
}
|
}
|
||||||
|
|
||||||
void release_bound_app() noexcept
|
void release_bound_app() noexcept
|
||||||
{
|
{
|
||||||
auto& state = retained_runtime_state();
|
|
||||||
bind_app(nullptr);
|
bind_app(nullptr);
|
||||||
state.owned_app.reset();
|
retained_runtime_state().owned_app.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
WacomTablet* bound_wacom_tablet() noexcept
|
WacomTablet* bound_wacom_tablet() noexcept
|
||||||
|
|||||||
@@ -39,11 +39,6 @@ namespace {
|
|||||||
return retained_state().vkey_map;
|
return retained_state().vkey_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] pp::platform::windows::VrShellState& retained_vr_shell_state()
|
|
||||||
{
|
|
||||||
return retained_state().vr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void synchronize_app_key_state_from_keyboard(App& app)
|
void synchronize_app_key_state_from_keyboard(App& app)
|
||||||
{
|
{
|
||||||
static BYTE keys[256];
|
static BYTE keys[256];
|
||||||
@@ -98,6 +93,12 @@ RetainedState& retained_state()
|
|||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pp::platform::windows::VrShellState& pp::platform::windows::retained_vr_shell_state() noexcept
|
||||||
|
{
|
||||||
|
static pp::platform::windows::VrShellState state;
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
LRESULT CALLBACK main_window_proc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
|
LRESULT CALLBACK main_window_proc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
|
||||||
{
|
{
|
||||||
auto* app = bound_app();
|
auto* app = bound_app();
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ struct RetainedState
|
|||||||
{
|
{
|
||||||
bool keys[256]{};
|
bool keys[256]{};
|
||||||
std::map<kKey, int> vkey_map;
|
std::map<kKey, int> vkey_map;
|
||||||
pp::platform::windows::VrShellState vr;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace pp::platform::windows {
|
namespace pp::platform::windows {
|
||||||
|
|
||||||
void initialize_retained_input_state();
|
void initialize_retained_input_state();
|
||||||
RetainedState& retained_state();
|
RetainedState& retained_state();
|
||||||
|
pp::platform::windows::VrShellState& retained_vr_shell_state() noexcept;
|
||||||
LRESULT CALLBACK main_window_proc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
|
LRESULT CALLBACK main_window_proc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user