xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/imxx11/camera/imagewidget.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #include "imagewidget.h"
2 #include <QtCore>
3 #include <QtDebug>
4 #include <QDesktopWidget>
5 #include <QPainter>
6 
ImageWidget(QWidget * parent)7 ImageWidget::ImageWidget(QWidget *parent)
8         : QWidget(parent)
9 {
10         QDesktopWidget desktop;
11         pixmap = QPixmap(desktop.width(), desktop.height());
12 
13         bFit = true;
14 
15         setAcceptDrops(true);
16 }
17 
paintEvent(QPaintEvent * event)18 void ImageWidget::paintEvent(QPaintEvent *event)
19 {
20     Q_UNUSED(event)
21         QPainter painter(this);
22         if(bFit)
23         {
24                 QPixmap fitPixmap = pixmap.scaled(width(),height(), Qt::KeepAspectRatio);
25                 painter.drawPixmap(0, 0, fitPixmap);
26         }
27         else
28                 painter.drawPixmap(0, 0, pixmap);
29 
30 }
31 
setPixmap(QString fileName)32 void ImageWidget::setPixmap(QString fileName)
33 {
34         pixmap.load(fileName);
35 
36         update();
37 }
38 
setPixmap(QByteArray & bytes)39 void ImageWidget::setPixmap(QByteArray& bytes)
40 {
41         pixmap.loadFromData(bytes, "bmp", NULL);
42         update();
43 }
44 
setPixmap(const uchar * buf)45 void ImageWidget::setPixmap(const uchar* buf)
46 {
47         pixmap.loadFromData(buf, 800*480*4+54, "bmp", NULL);
48         update();
49 }
50