docs: add Editor API documentation
This commit is contained in:
35
docs/api/XCEngine/Editor/UI/DockHostStyle/DockHostStyle.md
Normal file
35
docs/api/XCEngine/Editor/UI/DockHostStyle/DockHostStyle.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# DockHostStyle
|
||||
|
||||
**命名空间**: `XCEngine::Editor::UI`
|
||||
|
||||
**类型**: `class`
|
||||
|
||||
**源文件**: `editor/src/UI/DockHostStyle.h`
|
||||
|
||||
**描述**: 为主 DockSpace 应用一组临时样式覆盖的 RAII scope。
|
||||
|
||||
## 概述
|
||||
|
||||
`DockHostStyleScope` 的角色很单一:在进入主 DockSpace 绘制前压入一组 docking 相关样式,在离开时自动恢复。
|
||||
|
||||
它主要服务于 [`DockLayoutController`](../../Layout/DockLayoutController/DockLayoutController.md)。
|
||||
|
||||
## 当前实现
|
||||
|
||||
- 构造时 `PushStyleVar` 5 次,`PushStyleColor` 7 次
|
||||
- 覆盖内容主要是:
|
||||
- Dock tab padding
|
||||
- Tab 边框与 overline
|
||||
- Tab 的普通 / hover / selected / dimmed 颜色
|
||||
- 析构时自动对称 `Pop`
|
||||
|
||||
## 设计说明
|
||||
|
||||
这是一种标准 RAII UI 封装。
|
||||
对于 ImGui 这种依赖成对 push/pop 的库,scope 包装几乎是最稳妥的工程化手段之一,能显著减少忘记恢复样式导致的串色问题。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [UI](../UI.md)
|
||||
- [StyleTokens](../StyleTokens/StyleTokens.md)
|
||||
- [DockLayoutController](../../Layout/DockLayoutController/DockLayoutController.md)
|
||||
Reference in New Issue
Block a user