Seal editor Win32 platform boundary

This commit is contained in:
2026-04-26 23:30:29 +08:00
parent de64d9a698
commit 09b1289338
22 changed files with 410 additions and 249 deletions

View File

@@ -49,6 +49,16 @@ std::string DescribeHostWindows(
return stream.str();
}
DWORD ResolveExtendedWindowStyle(const EditorWindowNativeHostPolicy& policy) {
switch (policy.shellRole) {
case EditorWindowNativeShellRole::ToolWindow:
return WS_EX_TOOLWINDOW;
case EditorWindowNativeShellRole::AppWindow:
default:
return WS_EX_APPWINDOW;
}
}
} // namespace
EditorWindowHostRuntime::EditorWindowHostRuntime(
@@ -91,13 +101,8 @@ bool EditorWindowHostRuntime::CreateHostWindow(
};
m_pendingCreateWindow = rawWindow;
const DWORD windowStyle = params.nativeStylePolicy.useHostWindowStyle
? m_hostConfig.windowStyle
: static_cast<DWORD>(params.nativeStylePolicy.windowStyle);
const DWORD extendedWindowStyle =
params.nativeStylePolicy.extendedWindowStyle != 0u
? static_cast<DWORD>(params.nativeStylePolicy.extendedWindowStyle)
: WS_EX_APPWINDOW;
const DWORD windowStyle = m_hostConfig.windowStyle;
const DWORD extendedWindowStyle = ResolveExtendedWindowStyle(params.nativeHostPolicy);
const int initialX = params.initialX == kEditorWindowDefaultPosition
? CW_USEDEFAULT
: params.initialX;