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

@@ -11,8 +11,8 @@ class UIDrawList;
namespace XCEngine::UI::Editor::App {
class EditorContext;
class EditorWindow;
class EditorWindowHostCoordinator;
} // namespace XCEngine::UI::Editor::App
@@ -78,8 +78,7 @@ public:
bool HandleSystemCommand(
EditorWindow& window,
EditorContext& editorContext,
bool globalTabDragActive,
EditorWindowHostCoordinator& hostCoordinator,
WPARAM wParam);
bool HandleGetMinMaxInfo(const EditorWindow& window, LPARAM lParam) const;
LRESULT HandleNcCalcSize(const EditorWindow& window, WPARAM wParam, LPARAM lParam) const;
@@ -89,8 +88,7 @@ public:
bool HandleResizeButtonUp(EditorWindow& window);
bool HandleResizePointerMove(
EditorWindow& window,
EditorContext& editorContext,
bool globalTabDragActive);
EditorWindowHostCoordinator& hostCoordinator);
void ClearResizeState(EditorWindow& window);
void ForceClearResizeState(EditorWindow& window);
Host::BorderlessWindowResizeEdge HitTestResizeEdge(
@@ -101,18 +99,15 @@ public:
bool HandleChromeButtonDown(EditorWindow& window, LPARAM lParam);
bool HandleChromeButtonUp(
EditorWindow& window,
EditorContext& editorContext,
bool globalTabDragActive,
EditorWindowHostCoordinator& hostCoordinator,
LPARAM lParam);
bool HandleChromeDoubleClick(
EditorWindow& window,
EditorContext& editorContext,
bool globalTabDragActive,
EditorWindowHostCoordinator& hostCoordinator,
LPARAM lParam);
bool HandleChromeDragRestorePointerMove(
EditorWindow& window,
EditorContext& editorContext,
bool globalTabDragActive);
EditorWindowHostCoordinator& hostCoordinator);
void ClearChromeDragRestoreState(EditorWindow& window);
void ClearChromeState(EditorWindow& window);
Host::BorderlessWindowChromeHitTarget HitTestChrome(
@@ -131,20 +126,17 @@ public:
bool QueryBorderlessWindowWorkAreaRect(const EditorWindow& window, RECT& outRect) const;
bool ApplyPredictedWindowRectTransition(
EditorWindow& window,
EditorContext& editorContext,
bool globalTabDragActive,
EditorWindowHostCoordinator& hostCoordinator,
const RECT& targetRect);
void SetWindowTopmost(bool topmost);
bool IsWindowTopmost() const;
bool ApplyWindowTopmost(EditorWindow& window, bool topmost);
void ToggleMaximizeRestore(
EditorWindow& window,
EditorContext& editorContext,
bool globalTabDragActive);
EditorWindowHostCoordinator& hostCoordinator);
void ExecuteChromeAction(
EditorWindow& window,
EditorContext& editorContext,
bool globalTabDragActive,
EditorWindowHostCoordinator& hostCoordinator,
Host::BorderlessWindowChromeHitTarget target);
private: