Added windows build howto into README
[imgsort.git] / pixmapviewer.cpp
1 #include "pixmapviewer.h"
2
3 PixmapViewer::PixmapViewer(const QPixmap & p) : original_pixmap(p) {
4   setAlignment(Qt::AlignCenter);
5
6   update_pixmap();
7 }
8
9 void PixmapViewer::update_pixmap() {
10   QSize mySize = size(), opSize = original_pixmap.size();
11   if (mySize.width() == opSize.width() || mySize.height() == opSize.height()) { // no need to rescale
12     rescaled_pixmap = original_pixmap;
13   }
14   else if (mySize.width() >= opSize.width() && mySize.height() >= opSize.height()) { // keep smaller pixmaps
15     rescaled_pixmap = original_pixmap;
16   }
17   else {
18     rescaled_pixmap = original_pixmap.scaled(mySize, Qt::KeepAspectRatio, Qt::FastTransformation);
19   }
20   setPixmap(rescaled_pixmap);
21   setMinimumSize(QSize(10,10));
22 }
23
24 void PixmapViewer::resizeEvent(QResizeEvent* event) {
25   QLabel::resizeEvent(event);
26   update_pixmap();
27 }
28
29 void PixmapViewer::changePixmap(const QPixmap & p) {
30   original_pixmap = p;
31   update_pixmap();
32   qDebug() << "PixmapViewer pixmap changed (" << size2string(p.size()) << ")";
33 }
34
35