FIX: position of LayersEditing dialog

jira: STUDIO-10706

Change-Id: Ibadeef751ad500f61b9ab20cb7f030c461869399
This commit is contained in:
jun.zhang 2025-03-06 15:00:27 +08:00 committed by lane.wei
parent ca259355bb
commit 38da475197
1 changed files with 13 additions and 1 deletions

View File

@ -275,7 +275,19 @@ void GLCanvas3D::LayersEditing::render_variable_layer_height_dialog(const GLCanv
const Size& cnv_size = canvas.get_canvas_size(); const Size& cnv_size = canvas.get_canvas_size();
float zoom = (float)wxGetApp().plater()->get_camera().get_zoom(); float zoom = (float)wxGetApp().plater()->get_camera().get_zoom();
float left_pos = canvas.m_main_toolbar.get_item("layersediting")->render_left_pos; float left_pos = canvas.m_main_toolbar.get_item("layersediting")->render_left_pos;
const float x = 0.5 * cnv_size.get_width() + left_pos * zoom; float x = 0.5 * cnv_size.get_width() + left_pos * zoom;
const auto canvas_width = cnv_size.get_width();
if (abs(GLCanvas3D::LayersEditing::s_overlay_window_width) > 0.01f) {
if (x + GLCanvas3D::LayersEditing::s_overlay_window_width > canvas_width) {
if (GLCanvas3D::LayersEditing::s_overlay_window_width > canvas_width)
x = 0;
else
x = canvas_width - GLCanvas3D::LayersEditing::s_overlay_window_width;
}
}
x = std::max(x, 0.0f);
imgui.set_next_window_pos(x, canvas.m_main_toolbar.get_height(), ImGuiCond_Always, 0.0f, 0.0f); imgui.set_next_window_pos(x, canvas.m_main_toolbar.get_height(), ImGuiCond_Always, 0.0f, 0.0f);
imgui.push_toolbar_style(canvas.get_scale()); imgui.push_toolbar_style(canvas.get_scale());