From 1f32dfd7955b4e9c1ff914fa85004d31dcd3b7b4 Mon Sep 17 00:00:00 2001 From: Simon Judd Date: Sun, 2 Jun 2024 02:07:21 +0930 Subject: [PATCH] Fix linux build and some scaling issues - Fixed tab and dock icons drawing in the wrong spot - Fixed blurry SToolBarButton icons --- src/MainEditor/UI/MainWindow.cpp | 2 +- src/UI/SAuiTabArt.cpp | 8 ++++---- src/UI/SToolBar/SToolBarButton.cpp | 13 +++++++------ 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/MainEditor/UI/MainWindow.cpp b/src/MainEditor/UI/MainWindow.cpp index 94787d473..d11e3f5bd 100644 --- a/src/MainEditor/UI/MainWindow.cpp +++ b/src/MainEditor/UI/MainWindow.cpp @@ -686,7 +686,7 @@ void MainWindow::onSize(wxSizeEvent& e) // Update toolbar layout (if needed) toolbar_->updateLayout(); #ifndef __WXMSW__ - aui_mgr_->GetPane(toolbar_).MinSize(-1, toolbar_->getBarHeight()); + aui_mgr_->GetPane(toolbar_).MinSize(-1, toolbar_->getBarHeight(this)); aui_mgr_->Update(); #endif diff --git a/src/UI/SAuiTabArt.cpp b/src/UI/SAuiTabArt.cpp index 4a99930f0..3bfa66958 100644 --- a/src/UI/SAuiTabArt.cpp +++ b/src/UI/SAuiTabArt.cpp @@ -372,7 +372,7 @@ void SAuiTabArt::DrawTab( if (page.bitmap.IsOk()) { const auto& bmp = page.bitmap.GetBitmapFor(wnd); - dc.DrawBitmap(bmp, tab_x + padding_, drawn_tab_yoff + drawn_tab_height / 2 - bmp.GetHeight() / 2, true); + dc.DrawBitmap(bmp, tab_x + padding_, drawn_tab_yoff + drawn_tab_height / 2 - bmp.GetLogicalSize().y / 2, true); } // draw tab text @@ -390,8 +390,8 @@ void SAuiTabArt::DrawTab( if (m_flags & wxAUI_NB_BOTTOM) offsetY = 1; - int close_button_width = m_activeCloseBmp.GetPreferredBitmapSizeFor(wnd).x; - int close_button_height = m_activeCloseBmp.GetPreferredBitmapSizeFor(wnd).y; + int close_button_width = m_activeCloseBmp.GetPreferredLogicalSizeFor(wnd).x; + int close_button_height = m_activeCloseBmp.GetPreferredLogicalSizeFor(wnd).y; wxRect rect( tab_x + tab_width - close_button_width - padding_, @@ -647,7 +647,7 @@ void SAuiDockArt::DrawPaneButton( wxRect rect = _rect; int old_y = rect.y; - rect.y = rect.y + rect.height / 2 - bmp.GetPreferredBitmapSizeFor(window).y / 2; + rect.y = rect.y + rect.height / 2 - bmp.GetPreferredLogicalSizeFor(window).y / 2; rect.height = old_y + rect.height - rect.y - 1; diff --git a/src/UI/SToolBar/SToolBarButton.cpp b/src/UI/SToolBar/SToolBarButton.cpp index c908d8588..2d79186a5 100644 --- a/src/UI/SToolBar/SToolBarButton.cpp +++ b/src/UI/SToolBar/SToolBarButton.cpp @@ -396,8 +396,9 @@ void SToolBarButton::onPaint(wxPaintEvent& e) gc->DrawRoundedRectangle(pad_outer_, pad_outer_, width_inner, height_inner, 1); } - auto icon_size = FromDIP(wxSize{ icon_size_, icon_size_ }); - auto icon = icon_.GetBitmap(icon_size); + //auto icon_size = FromDIP(wxSize{ icon_size_, icon_size_ }); + //auto icon = icon_.GetBitmap(icon_size); + auto icon = icon_.GetBitmapFor(this); if (icon.IsOk()) { @@ -418,8 +419,8 @@ void SToolBarButton::onPaint(wxPaintEvent& e) icon.ConvertToDisabled(r), FromDIP(pad_outer_ + pad_inner_), FromDIP(pad_outer_ + pad_inner_), - icon.GetWidth(), - icon.GetHeight()); + FromPhys(icon.GetWidth()), + FromPhys(icon.GetHeight())); } // Otherwise draw normal icon @@ -428,8 +429,8 @@ void SToolBarButton::onPaint(wxPaintEvent& e) icon, FromDIP(pad_outer_ + pad_inner_), FromDIP(pad_outer_ + pad_inner_), - icon.GetWidth(), - icon.GetHeight()); + FromPhys(icon.GetWidth()), + FromPhys(icon.GetHeight())); } if (show_name_)