QTfrontend/SquareLabel.cpp
changeset 2948 3f21a9dc93d0
parent 2098 c977d7f2aa09
child 3236 4ab3917d7d44
equal deleted inserted replaced
2947:803b277e4894 2948:3f21a9dc93d0
    20 #include <QPainter>
    20 #include <QPainter>
    21 #include "SquareLabel.h"
    21 #include "SquareLabel.h"
    22 #include "hwform.h"
    22 #include "hwform.h"
    23 
    23 
    24 SquareLabel::SquareLabel(QWidget * parent) :
    24 SquareLabel::SquareLabel(QWidget * parent) :
    25 	QWidget(parent)
    25     QWidget(parent)
    26 {
    26 {
    27     if(frontendEffects) setAttribute(Qt::WA_PaintOnScreen, true);
    27     if(frontendEffects) setAttribute(Qt::WA_PaintOnScreen, true);
    28 }
    28 }
    29 
    29 
    30 void SquareLabel::paintEvent(QPaintEvent * event)
    30 void SquareLabel::paintEvent(QPaintEvent * event)
    31 {
    31 {
    32 	QPainter painter(this);
    32     QPainter painter(this);
    33 	int pixsize;
    33     int pixsize;
    34 	if (width() > height()) {
    34     if (width() > height()) {
    35 		pixsize = height();
    35         pixsize = height();
    36 		painter.translate((width() - pixsize) / 2, 0);
    36         painter.translate((width() - pixsize) / 2, 0);
    37 	} else {
    37     } else {
    38 		pixsize = width();
    38         pixsize = width();
    39 		painter.translate(0, (height() - pixsize) / 2);
    39         painter.translate(0, (height() - pixsize) / 2);
    40 	}
    40     }
    41 	painter.drawPixmap(0, 0, pixsize, pixsize, pixmap.scaled(pixsize, pixsize, Qt::KeepAspectRatio));
    41     painter.drawPixmap(0, 0, pixsize, pixsize, pixmap.scaled(pixsize, pixsize, Qt::KeepAspectRatio));
    42 }
    42 }
    43 
    43 
    44 void SquareLabel::setPixmap(const QPixmap & pixmap)
    44 void SquareLabel::setPixmap(const QPixmap & pixmap)
    45 {
    45 {
    46 	this->pixmap = pixmap;
    46     this->pixmap = pixmap;
    47 	repaint();
    47     repaint();
    48 }
    48 }