blob: d5d83a43e8c3efdd250dc9ebdcbbb6677f0ae2ec [file] [log] [blame]
Jose Fonseca9653f952015-05-19 16:32:43 +01001#pragma once
Zack Rusin5cb6b872011-04-10 02:19:59 -04002
3#include "ui_imageviewer.h"
4#include <QDialog>
5
Zack Rusin66ce10a2013-09-10 20:30:59 -04006class PixelWidget;
7class QLabel;
8
Zack Rusina69f0de2013-09-12 17:21:51 -04009namespace image {
10 class Image;
11}
12
Zack Rusin5cb6b872011-04-10 02:19:59 -040013class ImageViewer : public QDialog, public Ui_ImageViewer
14{
15 Q_OBJECT
16public:
17 ImageViewer(QWidget *parent = 0);
Zack Rusina69f0de2013-09-12 17:21:51 -040018 ~ImageViewer();
Zack Rusin5cb6b872011-04-10 02:19:59 -040019
Jose Fonseca93a7c0c2015-05-27 20:52:51 +010020 void setData(const QByteArray &data);
Zack Rusin2ffe9f82011-09-23 20:25:47 -040021
Jose Fonseca010f9962016-03-05 14:45:41 +000022 QSize sizeHint() const override;
José Fonsecad562b8e2011-11-25 15:51:09 +000023
Zack Rusin66ce10a2013-09-10 20:30:59 -040024protected:
Jose Fonseca010f9962016-03-05 14:45:41 +000025 void resizeEvent(QResizeEvent *event) override;
Zack Rusin66ce10a2013-09-10 20:30:59 -040026
José Fonsecad562b8e2011-11-25 15:51:09 +000027private slots:
28 void slotUpdate();
Zack Rusin66ce10a2013-09-10 20:30:59 -040029 void showPixel(int, int);
30 void showGrid(const QRect &rect);
José Fonsecad562b8e2011-11-25 15:51:09 +000031
Zack Rusin2ffe9f82011-09-23 20:25:47 -040032private:
Zack Rusina69f0de2013-09-12 17:21:51 -040033 image::Image *m_image;
34 QImage m_convertedImage;
Zack Rusin66ce10a2013-09-10 20:30:59 -040035 PixelWidget *m_pixelWidget;
Zack Rusin5cb6b872011-04-10 02:19:59 -040036};