Save pre-batched-redraw snapshot

This commit is contained in:
Codex
2026-04-07 16:23:40 +08:00
parent 7f8431a18c
commit b07a4ec370
8 changed files with 142 additions and 54 deletions
+4 -3
View File
@@ -40,7 +40,6 @@ class Dialog : public Canvas
StellarX::MessageBoxType type = StellarX::MessageBoxType::OK; //对话框类型
std::string titleText = "提示"; //标题文本
Label* title = nullptr; //标题标签(由 controls 持有)
std::string message; //提示信息
std::vector<std::string> lines; //消息内容按行分割
@@ -105,14 +104,14 @@ public:
void Close();
//初始化
void setInitialization(bool init);
// 宿主窗口变化时仅重新居中,不拉伸 Dialog 自身
void recenterInHostWindow();
private:
// 初始化按钮
void initButtons();
// 初始化关闭按钮
void initCloseButton();
// 初始化标题
void initTitle();
// 按行分割消息内容
void splitMessageLines();
// 获取文本大小
@@ -121,6 +120,8 @@ private:
void invalidateLayout(bool clearChildren);
//初始化对话框尺寸
void initDialogSize();
// 依据当前 Dialog 的 x/y/width/height 重新创建标题和按钮
void rebuildChrome();
void addControl(std::unique_ptr<Control> control);
// 清除所有控件