- if (m_oldPixmap.width() > m_pixmap.width()) {
- painter.drawPixmap(x, y, m_oldPixmap.scaled(scaledWidth, scaledHeight));
- } else {
- painter.drawPixmap(x, y, m_pixmap.scaled(scaledWidth, scaledHeight));
- }
+ const bool useOldPixmap = (m_transition == SizeTransition) &&
+ (m_oldPixmap.width() > m_pixmap.width());
+ const QPixmap& largePixmap = useOldPixmap ? m_oldPixmap : m_pixmap;
+ const QPixmap scaledPixmap = largePixmap.scaled(scaledWidth,
+ scaledHeight,
+ Qt::IgnoreAspectRatio,
+ Qt::SmoothTransformation);
+ painter.drawPixmap(x, y, scaledPixmap);