1.4 KiB
1.4 KiB
BaseTheme
命名空间: XCEngine::Editor::UI
类型: header-helper
源文件: editor/src/UI/BaseTheme.h
描述: 定义编辑器默认 Dear ImGui 主题的颜色与尺寸指标。
概述
BaseTheme.h 把编辑器默认外观拆成三层函数:
ApplyBaseThemeColorsApplyBaseThemeMetricsApplyBaseTheme
这让主题既能整体应用,也能在需要时分别覆盖颜色或间距。
当前实现
- 主题整体是偏中性、低饱和的灰色编辑器风格
- Docking 标签、按钮、工具栏、表格、滚动条等颜色都在这里集中定义
- 圆角、边框、间距和 padding 也都由这里设置
ImGuiSession和Theme.cpp会使用这组 helper
设计说明
商业编辑器通常不会把颜色和 spacing 散落在所有面板里,而是会先建立一套基础主题。
这样做的好处是:
- 新面板默认继承统一视觉语言
- 后续品牌化或皮肤切换时有一个集中入口
- 设计 token 和实际 ImGui style 之间的边界更清楚
当前实现已经具备这个方向,虽然还不是完整可换肤系统。
当前限制
- 主题参数主要是硬编码值
- 没有亮色主题或用户配置
- 主题切换和局部覆盖机制尚未成体系