Subversion Repositories Code-Repo

Rev

Rev 287 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
287 Kevin 1
#include "ImageWidget.h"
2
 
3
ImageWidget::ImageWidget(QWidget *parent)
4
: QWidget(parent) {
5
 
6
	pixmapOffset = QPoint();
7
	setBackgroundRole(QPalette::Base);
8
	setAutoFillBackground(true);
9
}
10
 
11
ImageWidget::~ImageWidget() {
12
 
13
}
14
 
15
void ImageWidget::setSize(int x, int y) {
16
	widgetSize = QSize(x, y);
17
}
18
 
19
void ImageWidget::setText(QString str) {
20
	initText = str;
21
}
22
 
23
QSize ImageWidget::minimumSizeHint() const {
24
	return widgetSize;
25
}
26
 
27
QSize ImageWidget::sizeHint() const {
28
	return widgetSize;
29
}
30
 
31
void ImageWidget::paintEvent(QPaintEvent *) {
32
	QPainter painter(this);
33
	painter.setRenderHint(QPainter::Antialiasing, true);
34
 
35
	// Draw a border around this widget
36
	painter.save();
37
	painter.setRenderHint(QPainter::Antialiasing, false);
38
	painter.setPen(palette().dark().color());
39
	painter.setBrush(Qt::NoBrush);
40
	painter.drawRect(QRect(0, 0, width() - 1, height() - 1));
41
	painter.restore();
42
 
43
	// Set default image
44
	if (pixmap.isNull()) {
45
		painter.setPen(Qt::black);
46
		painter.drawText(rect(), Qt::AlignCenter, initText);
47
		return;
48
	}
49
 
50
	// Display the saved image
51
	painter.drawPixmap(pixmapOffset, pixmap);
52
}
53
 
54
void ImageWidget::updateImage(const QImage &image) {
55
	if (&image == NULL)
56
		pixmap = QPixmap(0, 0);
57
	else {
58
		// Save the received image as a QPixmap
59
		pixmap = QPixmap::fromImage(image);
60
		update();
61
	}
62
}