Skip to content

Commit

Permalink
Revert "fix gizmo bar wobbling (#6230)"
Browse files Browse the repository at this point in the history
This reverts commit 9ff0e93.
  • Loading branch information
SoftFever committed Aug 4, 2024
1 parent 8ed2911 commit 6195261
Showing 1 changed file with 27 additions and 21 deletions.
48 changes: 27 additions & 21 deletions src/slic3r/GUI/GLCanvas3D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7400,21 +7400,37 @@ void GLCanvas3D::_check_and_update_toolbar_icon_scale()
return;
}

float scale = wxGetApp().toolbar_icon_scale();
Size cnv_size = get_canvas_size();

// Orca: Toolbar scale is a constant value which depends on display resolution and OS.
// Icon size is the only variable we change to scale the toolbars.
const float sc = get_scale();
//BBS: GUI refactor: GLToolbar
int size_i = int(GLToolbar::Default_Icons_Size * scale);
// force even size
if (size_i % 2 != 0)
size_i -= 1;
float size = size_i;

// Set current size for all top toolbars. It will be used for next calculations
#if ENABLE_RETINA_GL
const float sc = m_retina_helper->get_scale_factor() * scale;
//BBS: GUI refactor: GLToolbar
m_main_toolbar.set_scale(sc);
m_assemble_view_toolbar.set_scale(sc);
m_separator_toolbar.set_scale(sc);
collapse_toolbar.set_scale(sc);
collapse_toolbar.set_scale(sc / 2.0);
size *= m_retina_helper->get_scale_factor();

auto* m_notification = wxGetApp().plater()->get_notification_manager();
m_notification->set_scale(sc);
m_gizmos.set_overlay_scale(sc);

float size = m_main_toolbar.get_icons_size();
#else
//BBS: GUI refactor: GLToolbar
m_main_toolbar.set_icons_size(size);
m_assemble_view_toolbar.set_icons_size(size);
m_separator_toolbar.set_icons_size(size);
collapse_toolbar.set_icons_size(size / 2.0);
m_gizmos.set_overlay_icon_size(size);
#endif // ENABLE_RETINA_GL

//BBS: GUI refactor: GLToolbar
#if BBS_TOOLBAR_ON_TOP
Expand Down Expand Up @@ -7451,21 +7467,11 @@ void GLCanvas3D::_check_and_update_toolbar_icon_scale()

// set minimum scale as a auto scale for the toolbars
float new_scale = std::min(new_h_scale, new_v_scale);
new_scale = std::min(new_scale, 1.f);

//BBS: GUI refactor: GLToolbar
int size_i = int(GLToolbar::Default_Icons_Size * new_scale);
// Orca: force even size
if (size_i % 2 != 0)
size_i -= 1;
size = size_i;

// Orca: set toolbar icon size regardless of platform
m_main_toolbar.set_icons_size(size);
m_assemble_view_toolbar.set_icons_size(size);
m_separator_toolbar.set_icons_size(size);
collapse_toolbar.set_icons_size(size / 2.0);
m_gizmos.set_overlay_icon_size(size);
#if ENABLE_RETINA_GL
new_scale /= m_retina_helper->get_scale_factor();
#endif
if (fabs(new_scale - scale) > 0.01) // scale is changed by 1% and more
wxGetApp().set_auto_toolbar_icon_scale(new_scale);
}

void GLCanvas3D::_render_overlays()
Expand Down

0 comments on commit 6195261

Please sign in to comment.