From b712cc040f9c440d7060a848bd768e598809af68 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 29 Jun 2013 12:51:47 +0000 Subject: [PATCH] Fix wxIMAGE_QUALITY_HIGH definition. Embarrassingly, wxIMAGE_QUALITY_HIGH was never used as it had the same value as wxIMAGE_QUALITY_BILINEAR due to the changes to these constants in r67203. After fixing its value in the enum, also change the switch on this enum elements to avoid g++ warnings about unhandled enum values. See #12845, #15281. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/image.h | 2 +- src/common/image.cpp | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/include/wx/image.h b/include/wx/image.h index 4ca8379f80..575b96b362 100644 --- a/include/wx/image.h +++ b/include/wx/image.h @@ -71,7 +71,7 @@ enum wxImageResizeQuality wxIMAGE_QUALITY_NORMAL = wxIMAGE_QUALITY_NEAREST, // highest (but best) quality - wxIMAGE_QUALITY_HIGH + wxIMAGE_QUALITY_HIGH = 4 }; // alpha channel values: fully transparent, default threshold separating diff --git a/src/common/image.cpp b/src/common/image.cpp index 66caa08174..5131342a36 100644 --- a/src/common/image.cpp +++ b/src/common/image.cpp @@ -443,13 +443,6 @@ wxImage::Scale( int width, int height, wxImageResizeQuality quality ) const if ( old_width == width && old_height == height ) return *this; - if (quality == wxIMAGE_QUALITY_HIGH) - { - quality = (width < old_width && height < old_height) - ? wxIMAGE_QUALITY_BOX_AVERAGE - : wxIMAGE_QUALITY_BICUBIC; - } - // Resample the image using the method as specified. switch ( quality ) { @@ -474,6 +467,12 @@ wxImage::Scale( int width, int height, wxImageResizeQuality quality ) const case wxIMAGE_QUALITY_BOX_AVERAGE: image = ResampleBox(width, height); break; + + case wxIMAGE_QUALITY_HIGH: + image = width < old_width && height < old_height + ? ResampleBox(width, height) + : ResampleBicubic(width, height); + break; } // If the original image has a mask, apply the mask to the new image