ENH: prevent dialog exceeds screen size
jira: NONE Signed-off-by: xun.zhang <xun.zhang@bambulab.com> Change-Id: I1e52efff3d89e4fe13bc6d79c11a6328e391e431
This commit is contained in:
parent
a13c472816
commit
45580a9d75
|
@ -117,12 +117,17 @@ WipingDialog::WipingDialog(wxWindow* parent, const std::vector<std::vector<int>>
|
||||||
wxSize max_scroll_size = { FromDIP(1000),FromDIP(500) };
|
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 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 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,
|
m_webview = wxWebView::New(this, wxID_ANY,
|
||||||
wxEmptyString,
|
wxEmptyString,
|
||||||
wxDefaultPosition,
|
wxDefaultPosition,
|
||||||
appied_size,
|
applied_size,
|
||||||
wxWebViewBackendDefault,
|
wxWebViewBackendDefault,
|
||||||
wxNO_BORDER);
|
wxNO_BORDER);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue