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.
This commit is contained in:
Vadim Zeitlin 2021-09-23 22:49:45 +01:00
parent 024c231624
commit 5a91ab92f7
2 changed files with 8 additions and 3 deletions

View File

@ -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
*/

View File

@ -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