Align SRP boundaries and editor windowing

This commit is contained in:
2026-04-26 17:14:32 +08:00
parent a8256b05cd
commit b8599a8aff
38 changed files with 696 additions and 650 deletions

View File

@@ -4,8 +4,7 @@
#include "Platform/Win32/Chrome/EditorWindowChromeController.h"
#include "Platform/Win32/Runtime/EditorWindowInputController.h"
#include "Platform/Win32/Windowing/EditorWindow.h"
#include "Platform/Win32/Runtime/EditorWindowFrameDriver.h"
#include "Platform/Win32/Runtime/EditorWindowRuntimeController.h"
#include "Windowing/Runtime/EditorWindowRuntimeController.h"
#include "Platform/Win32/Windowing/EditorWindowPointerCapture.h"
#include "Windowing/Host/EditorWindowHostCoordinator.h"
@@ -61,10 +60,7 @@ void EditorWindowMessageDispatcher::FlushQueuedCompletedImmediateFrame(
void EditorWindowMessageDispatcher::RenderAndHandleWindowFrame(const DispatchContext& context) {
FinalizeImmediateFrame(
context,
EditorWindowFrameDriver::DriveImmediateFrame(
context.window,
context.hostCoordinator.GetEditorContext(),
context.hostCoordinator.IsGlobalTabDragActive()));
context.hostCoordinator.DriveImmediateWindowFrame(context.window));
}
bool EditorWindowMessageDispatcher::EnsureTrackingMouseLeave(const DispatchContext& context) {
@@ -152,8 +148,7 @@ bool EditorWindowMessageDispatcher::TryDispatchWindowPointerMessage(
inputController.GetPointerCaptureOwner()) &&
chromeController.HandleResizePointerMove(
context.window,
context.hostCoordinator.GetEditorContext(),
context.hostCoordinator.IsGlobalTabDragActive())) {
context.hostCoordinator)) {
outResult = 0;
return true;
}
@@ -161,8 +156,7 @@ bool EditorWindowMessageDispatcher::TryDispatchWindowPointerMessage(
inputController.GetPointerCaptureOwner()) &&
chromeController.HandleChromeDragRestorePointerMove(
context.window,
context.hostCoordinator.GetEditorContext(),
context.hostCoordinator.IsGlobalTabDragActive())) {
context.hostCoordinator)) {
outResult = 0;
return true;
}
@@ -247,8 +241,7 @@ bool EditorWindowMessageDispatcher::TryDispatchWindowPointerMessage(
inputController.GetPointerCaptureOwner()) &&
chromeController.HandleChromeButtonUp(
context.window,
context.hostCoordinator.GetEditorContext(),
context.hostCoordinator.IsGlobalTabDragActive(),
context.hostCoordinator,
lParam)) {
outResult = 0;
return true;
@@ -279,8 +272,7 @@ bool EditorWindowMessageDispatcher::TryDispatchWindowPointerMessage(
case WM_LBUTTONDBLCLK:
if (chromeController.HandleChromeDoubleClick(
context.window,
context.hostCoordinator.GetEditorContext(),
context.hostCoordinator.IsGlobalTabDragActive(),
context.hostCoordinator,
lParam)) {
outResult = 0;
return true;
@@ -437,13 +429,16 @@ bool EditorWindowMessageDispatcher::TryDispatchWindowLifecycleMessage(
outResult = 0;
return true;
case WM_PAINT:
FinalizeImmediateFrame(
context,
context.window.OnPaintMessage(
context.hostCoordinator.GetEditorContext(),
context.hostCoordinator.IsGlobalTabDragActive()));
{
PAINTSTRUCT paintStruct = {};
BeginPaint(context.hwnd, &paintStruct);
const EditorWindowFrameTransferRequests transferRequests =
context.hostCoordinator.DriveImmediateWindowFrame(context.window);
EndPaint(context.hwnd, &paintStruct);
FinalizeImmediateFrame(context, transferRequests);
outResult = 0;
return true;
}
case WM_ERASEBKGND:
outResult = 1;
return true;
@@ -488,8 +483,7 @@ bool EditorWindowMessageDispatcher::TryDispatchWindowChromeMessage(
case WM_SYSCOMMAND:
if (chromeController.HandleSystemCommand(
context.window,
context.hostCoordinator.GetEditorContext(),
context.hostCoordinator.IsGlobalTabDragActive(),
context.hostCoordinator,
wParam)) {
outResult = 0;
return true;