#include "wx/intl.h"
#endif
+#include "wx/image.h"
+
#include "wx/propgrid/propgrid.h"
if ( imSz.y != maxSz.y )
{
- // Create a memory DC
+ #if wxUSE_IMAGE
+ // Here we use high-quality wxImage scaling functions available
+ wxImage img = bmp.ConvertToImage();
+ double scaleY = (double)maxSz.y / (double)imSz.y;
+ img.Rescale(((double)bmp.GetWidth())*scaleY,
+ ((double)bmp.GetHeight())*scaleY,
+ wxIMAGE_QUALITY_HIGH);
+ wxBitmap* bmpNew = new wxBitmap(img, 32);
+ #else
+ // This is the old, deprecated method of scaling the image
wxBitmap* bmpNew = new wxBitmap(maxSz.x,maxSz.y,bmp.GetDepth());
-
wxMemoryDC dc;
dc.SelectObject(*bmpNew);
-
- // Scale
- // FIXME: This is ugly - use image or wait for scaling patch.
double scaleY = (double)maxSz.y / (double)imSz.y;
-
dc.SetUserScale(scaleY, scaleY);
-
dc.DrawBitmap(bmp, 0, 0);
+ #endif
m_valueBitmap = bmpNew;
}