Checkpoint current new editor host iteration

This commit is contained in:
2026-04-13 18:52:30 +08:00
parent a0d5e84516
commit d2140bf5cc
11 changed files with 243 additions and 184 deletions

View File

@@ -37,8 +37,15 @@ private:
bool Initialize(HINSTANCE hInstance, int nCmdShow);
void Shutdown();
void RenderFrame();
void OnResize(UINT width, UINT height);
void OnResize();
void OnEnterSizeMove();
void OnExitSizeMove();
void OnDpiChanged(UINT dpi, const RECT& suggestedRect);
void QueueWindowResize(UINT width, UINT height);
void QueueCurrentClientResize();
bool ApplyPendingWindowResize();
void RequestDeferredRenderFrame();
bool QueryCurrentClientPixelSize(UINT& outWidth, UINT& outHeight) const;
bool IsPointerInsideClientArea() const;
bool ApplyCurrentCursor() const;
LPCWSTR ResolveCurrentCursorResource() const;
@@ -64,6 +71,7 @@ private:
void QueueWindowFocusEvent(::XCEngine::UI::UIInputEventType type);
static std::filesystem::path ResolveRepoRootPath();
static LONG WINAPI HandleUnhandledException(EXCEPTION_POINTERS* exceptionInfo);
static bool IsVerboseRuntimeTraceEnabled();
HWND m_hwnd = nullptr;
HINSTANCE m_hInstance = nullptr;
@@ -78,6 +86,11 @@ private:
bool m_trackingMouseLeave = false;
UINT m_windowDpi = 96u;
float m_dpiScale = 1.0f;
bool m_inInteractiveResize = false;
bool m_renderFrameQueued = false;
bool m_hasPendingWindowResize = false;
UINT m_pendingWindowResizeWidth = 0u;
UINT m_pendingWindowResizeHeight = 0u;
};
int RunXCUIEditorApp(HINSTANCE hInstance, int nCmdShow);