完成 StellarX 核心重构、缺陷修复与测试收口
This commit is contained in:
@@ -61,12 +61,12 @@
|
||||
- 内容驱动控件在自身受控路径中刷新运行态尺寸;设计基线不得在普通布局过程中自动漂移。
|
||||
- 托管局部重绘按“脏子树提交 -> 直接分支 coverage -> 传递式 overlay 补画”收口,确保嵌套容器、Tooltip、上层兄弟遮挡链闭合。
|
||||
- 关键对象 / 类关系:
|
||||
- [`Control.h`](D:/programming/imGUI-easyX/imGui-easyX/Control.h):统一布局解算、设计基线提交、托管重绘底座
|
||||
- [`Label.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Label.cpp):内容驱动尺寸刷新前移,`draw()` 只消费运行态矩形
|
||||
- [`Canvas.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Canvas.cpp):直接子树映射、脏子树提交、局部 overlay 补画
|
||||
- [`TabControl.cpp`](D:/programming/imGUI-easyX/imGui-easyX/TabControl.cpp):外层统一布局,内部页签栏/页面区自管,绘制顺序与局部提交顺序统一
|
||||
- [`Table.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Table.cpp):当前版本 `X Stretch / Y Fixed`、分页按钮视觉与页码重绘修复
|
||||
- [`Window.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Window.cpp):顶层托管重绘、传递式 overlay 补画、顶层 coverage 收口
|
||||
- [`Control.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/Control.h):统一布局解算、设计基线提交、托管重绘底座
|
||||
- [`Label.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Label.cpp):内容驱动尺寸刷新前移,`draw()` 只消费运行态矩形
|
||||
- [`Canvas.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Canvas.cpp):直接子树映射、脏子树提交、局部 overlay 补画
|
||||
- [`TabControl.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/TabControl.cpp):外层统一布局,内部页签栏/页面区自管,绘制顺序与局部提交顺序统一
|
||||
- [`Table.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Table.cpp):当前版本 `X Stretch / Y Fixed`、分页按钮视觉与页码重绘修复
|
||||
- [`Window.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Window.cpp):顶层托管重绘、传递式 overlay 补画、顶层 coverage 收口
|
||||
- 生命周期:
|
||||
- 普通 resize / 重排不自动回写 `local*`
|
||||
- 公开 setter 只写运行态,不隐式提交设计基线
|
||||
@@ -94,26 +94,26 @@
|
||||
- 修复 Tab 页签按钮与页面绘制顺序不一致导致 Tooltip 被页面覆盖的问题
|
||||
- 修复重复激活已激活页签时的残影 / 快照链扰动问题
|
||||
- 涉及文件 / 类 / 函数:
|
||||
- [`Control.h`](D:/programming/imGUI-easyX/imGui-easyX/Control.h)
|
||||
- [`Control.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Control.cpp)
|
||||
- [`Label.h`](D:/programming/imGUI-easyX/imGui-easyX/Label.h)
|
||||
- [`Label.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Label.cpp)
|
||||
- [`Button.h`](D:/programming/imGUI-easyX/imGui-easyX/Button.h)
|
||||
- [`Button.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Button.cpp)
|
||||
- [`Canvas.h`](D:/programming/imGUI-easyX/imGui-easyX/Canvas.h)
|
||||
- [`Canvas.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Canvas.cpp)
|
||||
- [`TabControl.h`](D:/programming/imGUI-easyX/imGui-easyX/TabControl.h)
|
||||
- [`TabControl.cpp`](D:/programming/imGUI-easyX/imGui-easyX/TabControl.cpp)
|
||||
- [`Table.h`](D:/programming/imGUI-easyX/imGui-easyX/Table.h)
|
||||
- [`Table.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Table.cpp)
|
||||
- [`TextBox.h`](D:/programming/imGUI-easyX/imGui-easyX/TextBox.h)
|
||||
- [`TextBox.cpp`](D:/programming/imGUI-easyX/imGui-easyX/TextBox.cpp)
|
||||
- [`Dialog.h`](D:/programming/imGUI-easyX/imGui-easyX/Dialog.h)
|
||||
- [`Dialog.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Dialog.cpp)
|
||||
- [`Window.h`](D:/programming/imGUI-easyX/imGui-easyX/Window.h)
|
||||
- [`Window.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Window.cpp)
|
||||
- [`MessageBox.h`](D:/programming/imGUI-easyX/imGui-easyX/MessageBox.h)
|
||||
- [`z-testDome.cpp`](D:/programming/imGUI-easyX/imGui-easyX/z-testDome.cpp)
|
||||
- [`Control.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/Control.h)
|
||||
- [`Control.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Control.cpp)
|
||||
- [`Label.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/Label.h)
|
||||
- [`Label.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Label.cpp)
|
||||
- [`Button.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/Button.h)
|
||||
- [`Button.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Button.cpp)
|
||||
- [`Canvas.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/Canvas.h)
|
||||
- [`Canvas.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Canvas.cpp)
|
||||
- [`TabControl.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/TabControl.h)
|
||||
- [`TabControl.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/TabControl.cpp)
|
||||
- [`Table.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/Table.h)
|
||||
- [`Table.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Table.cpp)
|
||||
- [`TextBox.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/TextBox.h)
|
||||
- [`TextBox.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/TextBox.cpp)
|
||||
- [`Dialog.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/Dialog.h)
|
||||
- [`Dialog.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Dialog.cpp)
|
||||
- [`Window.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/Window.h)
|
||||
- [`Window.cpp`](D:/programming/imGUI-easyX/imGui-easyX/src/StellarX/Window.cpp)
|
||||
- [`MessageBox.h`](D:/programming/imGUI-easyX/imGui-easyX/include/StellarX/MessageBox.h)
|
||||
- [`z-testDome.cpp`](D:/programming/imGUI-easyX/imGui-easyX/app/z-testDome.cpp)
|
||||
- 兼容性影响:
|
||||
- 旧锚点 API 仍可用,内部实现已完全转到新布局模型
|
||||
- `Label::textStyle` 仍为公开字段,但要求样式修改后显式 `setDirty(true)`
|
||||
|
||||
Reference in New Issue
Block a user