diff --git a/src/slic3r/GUI/DoubleSlider.cpp b/src/slic3r/GUI/DoubleSlider.cpp index 8a2257274..7ee5579e7 100644 --- a/src/slic3r/GUI/DoubleSlider.cpp +++ b/src/slic3r/GUI/DoubleSlider.cpp @@ -160,6 +160,26 @@ void Control::msw_rescale() GetParent()->Layout(); } +void Control::sys_color_changed() +{ + m_bmp_add_tick_on .msw_rescale(); + m_bmp_add_tick_off.msw_rescale(); + m_bmp_del_tick_on .msw_rescale(); + m_bmp_del_tick_off.msw_rescale(); + m_tick_icon_dim = m_bmp_add_tick_on.GetBmpWidth(); + + m_bmp_one_layer_lock_on .msw_rescale(); + m_bmp_one_layer_lock_off .msw_rescale(); + m_bmp_one_layer_unlock_on .msw_rescale(); + m_bmp_one_layer_unlock_off.msw_rescale(); + m_lock_icon_dim = m_bmp_one_layer_lock_on.GetBmpWidth(); + + m_bmp_revert.msw_rescale(); + m_revert_icon_dim = m_bmp_revert.GetBmpWidth(); + m_bmp_cog.msw_rescale(); + m_cog_icon_dim = m_bmp_cog.GetBmpWidth(); +} + int Control::GetActiveValue() const { return m_selection == ssLower ? diff --git a/src/slic3r/GUI/DoubleSlider.hpp b/src/slic3r/GUI/DoubleSlider.hpp index 56baef6cf..0d90367c0 100644 --- a/src/slic3r/GUI/DoubleSlider.hpp +++ b/src/slic3r/GUI/DoubleSlider.hpp @@ -192,6 +192,7 @@ public: ~Control() {} void msw_rescale(); + void sys_color_changed(); int GetMinValue() const { return m_min_value; } int GetMaxValue() const { return m_max_value; } diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index 36c1960d3..71b1aa9ba 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -410,6 +410,12 @@ void Preview::msw_rescale() refresh_print(); } +void Preview::sys_color_changed() +{ + if (m_layers_slider != nullptr) + m_layers_slider->sys_color_changed(); +} + void Preview::jump_layers_slider(wxKeyEvent& evt) { if (m_layers_slider) m_layers_slider->OnChar(evt); diff --git a/src/slic3r/GUI/GUI_Preview.hpp b/src/slic3r/GUI/GUI_Preview.hpp index 0060bfcff..372d44fa3 100644 --- a/src/slic3r/GUI/GUI_Preview.hpp +++ b/src/slic3r/GUI/GUI_Preview.hpp @@ -150,6 +150,7 @@ public: void refresh_print(); void msw_rescale(); + void sys_color_changed(); void jump_layers_slider(wxKeyEvent& evt); void move_layers_slider(wxKeyEvent& evt); void edit_layers_slider(wxKeyEvent& evt); diff --git a/src/slic3r/GUI/GUI_Utils.hpp b/src/slic3r/GUI/GUI_Utils.hpp index 3235d6e9e..dbb200f83 100644 --- a/src/slic3r/GUI/GUI_Utils.hpp +++ b/src/slic3r/GUI/GUI_Utils.hpp @@ -108,6 +108,7 @@ public: // recalc_font(); +#ifndef __WXOSX__ #if wxVERSION_EQUAL_OR_GREATER_THAN(3,1,3) this->Bind(wxEVT_DPI_CHANGED, [this](wxDPIChangedEvent& evt) { m_scale_factor = (float)evt.GetNewDPI().x / (float)DPI_DEFAULT; @@ -128,6 +129,7 @@ public: rescale(evt.rect); }); #endif // wxVERSION_EQUAL_OR_GREATER_THAN +#endif // no __WXOSX__ this->Bind(wxEVT_MOVE_START, [this](wxMoveEvent& event) { diff --git a/src/slic3r/GUI/OG_CustomCtrl.cpp b/src/slic3r/GUI/OG_CustomCtrl.cpp index 07b96755d..1e581e70b 100644 --- a/src/slic3r/GUI/OG_CustomCtrl.cpp +++ b/src/slic3r/GUI/OG_CustomCtrl.cpp @@ -360,6 +360,9 @@ void OG_CustomCtrl::correct_widgets_position(wxSizer* widget, const Line& line, void OG_CustomCtrl::msw_rescale() { +#ifdef __WXOSX__ + return; +#endif m_font = wxGetApp().normal_font(); m_em_unit = em_unit(m_parent); m_v_gap = lround(1.0 * m_em_unit); @@ -381,7 +384,6 @@ void OG_CustomCtrl::msw_rescale() void OG_CustomCtrl::sys_color_changed() { - msw_rescale(); } OG_CustomCtrl::CtrlLine::CtrlLine( wxCoord height, diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 41e9c8ff5..f7f56f570 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -6209,6 +6209,7 @@ void Plater::msw_rescale() void Plater::sys_color_changed() { + p->preview->sys_color_changed(); p->sidebar->sys_color_changed(); // msw_rescale_menu updates just icons, so use it