ENH: prevent dialog exceeds screen size

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1e52efff3d89e4fe13bc6d79c11a6328e391e431
(cherry picked from commit 45580a9d7511e35316151653666eee481265fce6)
This commit is contained in:
xun.zhang
2025-02-26 12:16:42 +08:00
committed by Noisyfox
parent 8c6e7f3d40
commit 914a2ac443

View File

@@ -298,12 +298,17 @@ WipingDialog::WipingDialog(wxWindow* parent, const std::vector<std::vector<int>>
wxSize max_scroll_size = { FromDIP(1000),FromDIP(500) };
wxSize estimate_size = { (int)(filament_count + 1) * FromDIP(60),(int)(filament_count + 1) * FromDIP(30)+FromDIP(2)};
wxSize scroll_size ={ std::min(max_scroll_size.x,estimate_size.x),std::min(max_scroll_size.y,estimate_size.y) };
wxSize applied_size = scroll_size + extra_size;
wxSize appied_size = scroll_size + extra_size;
wxSize scaled_screen_size = wxGetDisplaySize();
double scale_factor = wxDisplay().GetScaleFactor();
scaled_screen_size = { (int)(scaled_screen_size.x / scale_factor),(int)(scaled_screen_size.y / scale_factor) };
applied_size = { std::min(applied_size.x,scaled_screen_size.x),std::min(applied_size.y,scaled_screen_size.y) };
m_webview = wxWebView::New(this, wxID_ANY,
wxEmptyString,
wxDefaultPosition,
appied_size,
applied_size,
wxWebViewBackendDefault,
wxNO_BORDER);