docs: add Editor API documentation

This commit is contained in:
2026-03-27 14:40:29 +08:00
parent 3e2608a802
commit 94c56dd279
87 changed files with 3795 additions and 2 deletions

View File

@@ -0,0 +1,38 @@
# ImGuiSession
**命名空间**: `XCEngine::Editor::UI`
**类型**: `class`
**源文件**: `editor/src/UI/ImGuiSession.h`
**描述**: 管理编辑器的 ImGui 上下文、布局 ini 文件位置、基础字体配置和默认主题应用。
## 概述
`ImGuiSession` 负责的是 ImGui 自身的生命周期和持久化布局配置。
它当前主要做三件事:
- 创建/销毁 ImGui context
- 把布局 ini 文件放到 `<project>/.xceditor/imgui_layout.ini`
- 配置默认字体并应用基础主题
## 当前实现说明
- `Initialize(projectPath)` 会开启 `ImGuiConfigFlags_DockingEnable`
- 字体优先尝试加载 `C:/Windows/Fonts/msyh.ttc`,失败时回退到 ImGui 默认字体。
- `Shutdown()` 会先保存设置,再销毁当前 context。
- `SaveSettings()` 只在 context 存在且 ini 路径非空时生效。
## 当前实现边界
- 当前字体路径写死为 Windows 字体目录。
- 当前 ini 文件位置策略是项目局部目录,而不是全局用户目录。
- 当前主要负责会话和基础样式,不处理平台/渲染后端桥接。
## 相关文档
- [UI](../UI.md)
- [Application](../../Application/Application.md)
- [Win32EditorHost](../../Platform/Win32EditorHost/Win32EditorHost.md)