OSX specific, related to the wxWidgets 3.1.4: Fixed wrong UI-scaling
(wxWidgets 3.1.4 can binding of wxEVT_DPI_CHANGED now, so it was called msw_rescale() for most of the controls redundantly) + Fixed update of the DoubleSlider after changing of the system color
This commit is contained in:
parent
eef800b5c4
commit
79b7ccbb79
@ -160,6 +160,26 @@ void Control::msw_rescale()
|
|||||||
GetParent()->Layout();
|
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
|
int Control::GetActiveValue() const
|
||||||
{
|
{
|
||||||
return m_selection == ssLower ?
|
return m_selection == ssLower ?
|
||||||
|
@ -192,6 +192,7 @@ public:
|
|||||||
~Control() {}
|
~Control() {}
|
||||||
|
|
||||||
void msw_rescale();
|
void msw_rescale();
|
||||||
|
void sys_color_changed();
|
||||||
|
|
||||||
int GetMinValue() const { return m_min_value; }
|
int GetMinValue() const { return m_min_value; }
|
||||||
int GetMaxValue() const { return m_max_value; }
|
int GetMaxValue() const { return m_max_value; }
|
||||||
|
@ -410,6 +410,12 @@ void Preview::msw_rescale()
|
|||||||
refresh_print();
|
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)
|
void Preview::jump_layers_slider(wxKeyEvent& evt)
|
||||||
{
|
{
|
||||||
if (m_layers_slider) m_layers_slider->OnChar(evt);
|
if (m_layers_slider) m_layers_slider->OnChar(evt);
|
||||||
|
@ -150,6 +150,7 @@ public:
|
|||||||
void refresh_print();
|
void refresh_print();
|
||||||
|
|
||||||
void msw_rescale();
|
void msw_rescale();
|
||||||
|
void sys_color_changed();
|
||||||
void jump_layers_slider(wxKeyEvent& evt);
|
void jump_layers_slider(wxKeyEvent& evt);
|
||||||
void move_layers_slider(wxKeyEvent& evt);
|
void move_layers_slider(wxKeyEvent& evt);
|
||||||
void edit_layers_slider(wxKeyEvent& evt);
|
void edit_layers_slider(wxKeyEvent& evt);
|
||||||
|
@ -108,6 +108,7 @@ public:
|
|||||||
|
|
||||||
// recalc_font();
|
// recalc_font();
|
||||||
|
|
||||||
|
#ifndef __WXOSX__
|
||||||
#if wxVERSION_EQUAL_OR_GREATER_THAN(3,1,3)
|
#if wxVERSION_EQUAL_OR_GREATER_THAN(3,1,3)
|
||||||
this->Bind(wxEVT_DPI_CHANGED, [this](wxDPIChangedEvent& evt) {
|
this->Bind(wxEVT_DPI_CHANGED, [this](wxDPIChangedEvent& evt) {
|
||||||
m_scale_factor = (float)evt.GetNewDPI().x / (float)DPI_DEFAULT;
|
m_scale_factor = (float)evt.GetNewDPI().x / (float)DPI_DEFAULT;
|
||||||
@ -128,6 +129,7 @@ public:
|
|||||||
rescale(evt.rect);
|
rescale(evt.rect);
|
||||||
});
|
});
|
||||||
#endif // wxVERSION_EQUAL_OR_GREATER_THAN
|
#endif // wxVERSION_EQUAL_OR_GREATER_THAN
|
||||||
|
#endif // no __WXOSX__
|
||||||
|
|
||||||
this->Bind(wxEVT_MOVE_START, [this](wxMoveEvent& event)
|
this->Bind(wxEVT_MOVE_START, [this](wxMoveEvent& event)
|
||||||
{
|
{
|
||||||
|
@ -360,6 +360,9 @@ void OG_CustomCtrl::correct_widgets_position(wxSizer* widget, const Line& line,
|
|||||||
|
|
||||||
void OG_CustomCtrl::msw_rescale()
|
void OG_CustomCtrl::msw_rescale()
|
||||||
{
|
{
|
||||||
|
#ifdef __WXOSX__
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
m_font = wxGetApp().normal_font();
|
m_font = wxGetApp().normal_font();
|
||||||
m_em_unit = em_unit(m_parent);
|
m_em_unit = em_unit(m_parent);
|
||||||
m_v_gap = lround(1.0 * m_em_unit);
|
m_v_gap = lround(1.0 * m_em_unit);
|
||||||
@ -381,7 +384,6 @@ void OG_CustomCtrl::msw_rescale()
|
|||||||
|
|
||||||
void OG_CustomCtrl::sys_color_changed()
|
void OG_CustomCtrl::sys_color_changed()
|
||||||
{
|
{
|
||||||
msw_rescale();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OG_CustomCtrl::CtrlLine::CtrlLine( wxCoord height,
|
OG_CustomCtrl::CtrlLine::CtrlLine( wxCoord height,
|
||||||
|
@ -6209,6 +6209,7 @@ void Plater::msw_rescale()
|
|||||||
|
|
||||||
void Plater::sys_color_changed()
|
void Plater::sys_color_changed()
|
||||||
{
|
{
|
||||||
|
p->preview->sys_color_changed();
|
||||||
p->sidebar->sys_color_changed();
|
p->sidebar->sys_color_changed();
|
||||||
|
|
||||||
// msw_rescale_menu updates just icons, so use it
|
// msw_rescale_menu updates just icons, so use it
|
||||||
|
Loading…
Reference in New Issue
Block a user