Refactor new editor host orchestration

This commit is contained in:
2026-04-13 19:37:10 +08:00
parent d2140bf5cc
commit f3fc34898a
9 changed files with 648 additions and 223 deletions

View File

@@ -0,0 +1,34 @@
#pragma once
#ifndef NOMINMAX
#define NOMINMAX
#endif
#include <windows.h>
namespace XCEngine::UI::Editor {
class Application;
}
namespace XCEngine::UI::Editor::Host {
class WindowMessageDispatcher {
public:
static Application* GetApplicationFromWindow(HWND hwnd);
static bool TryHandleNonClientCreate(
HWND hwnd,
UINT message,
LPARAM lParam,
LRESULT& outResult);
static bool TryDispatch(
Application& application,
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT& outResult);
private:
static void RequestDeferredRenderFrame(Application& application);
};
} // namespace XCEngine::UI::Editor::Host