From 5a91ab92f75b8641c869390820a49fe276afe6fe Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 23 Sep 2021 22:49:45 +0100 Subject: [PATCH] Use high quality in wxBitmap::Rescale() This function is currently used for relatively small icons in wxArtProvider and wxSearchCtrl, so it shouldn't be a problem to use wxIMAGE_QUALITY_HIGH from performance point of view and if it ever does become a problem, the application could easily use wxImage::Rescale() with a different option directly instead. --- interface/wx/bitmap.h | 9 +++++++-- src/common/bmpbase.cpp | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/interface/wx/bitmap.h b/interface/wx/bitmap.h index 68c92102ff..734605e350 100644 --- a/interface/wx/bitmap.h +++ b/interface/wx/bitmap.h @@ -685,8 +685,13 @@ public: /** Rescale the given bitmap to the requested size. - This function uses wxImage::Rescale() to resize the given @a bmp to the - requested size. Both the bitmap itself and size must be valid. + This function is just a convenient wrapper for wxImage::Rescale() used + to resize the given @a bmp to the requested size. If you need more + control over resizing, e.g. to specify the quality option different + from ::wxIMAGE_QUALITY_HIGH used by default, please use wxImage + function directly instead. + + Both the bitmap itself and size must be valid. @since 3.1.6 */ diff --git a/src/common/bmpbase.cpp b/src/common/bmpbase.cpp index 786f9c5e26..7634981844 100644 --- a/src/common/bmpbase.cpp +++ b/src/common/bmpbase.cpp @@ -71,7 +71,7 @@ void wxBitmapHelpers::Rescale(wxBitmap& bmp, const wxSize& sizeNeeded) #if wxUSE_IMAGE wxImage img = bmp.ConvertToImage(); - img.Rescale(sizeNeeded.x, sizeNeeded.y); + img.Rescale(sizeNeeded.x, sizeNeeded.y, wxIMAGE_QUALITY_HIGH); bmp = wxBitmap(img); #else // !wxUSE_IMAGE // Fallback method of scaling the bitmap