ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
display.h
Go to the documentation of this file.
1
27
28#ifndef DISPLAY_H
29#define DISPLAY_H
30
31#include <QGraphicsRectItem>
32#include <QGraphicsScene>
33#include <QGraphicsView>
34#include <QMouseEvent>
35#include <QPainter>
36#include <QRect>
37
38#include <cstdint>
39
40
41class CustomDisplay;
42
43
44class CustomGraphicsScene : public QGraphicsScene
45{
46 Q_OBJECT
47
48public:
49 explicit CustomGraphicsScene(CustomDisplay* pParent);
51
52 void setImage(QImage image);
53 QRectF getImageRect();
54
55private:
57 QImage m_image;
58
59 virtual void drawBackground(QPainter* painter, const QRectF& rect);
60};
61
62
63class CustomDisplay : public QGraphicsView
64{
65 Q_OBJECT
66
67public:
68 explicit CustomDisplay(QWidget* parent);
69 ~CustomDisplay() = default;
70
71 QRectF getImageRect();
72 void toggleDrawROI();
73
74protected:
75 void mouseMoveEvent(QMouseEvent* event) override;
76 void mouseReleaseEvent(QMouseEvent* event) override;
77
78private:
80 bool m_drawROI = false;
81 QGraphicsRectItem* m_dragRect{};
82
83public slots:
84 void onImageReceived(QImage image);
85
86signals:
87 void newROI(QRectF roi);
88};
89
90#endif // DISPLAY_H
Definition display.h:64
void toggleDrawROI()
Definition display.cpp:115
bool m_drawROI
Definition display.h:80
CustomGraphicsScene * m_scene
Definition display.h:79
void onImageReceived(QImage image)
Definition display.cpp:46
void mouseReleaseEvent(QMouseEvent *event) override
Definition display.cpp:101
QRectF getImageRect()
Definition display.cpp:59
CustomDisplay(QWidget *parent)
Definition display.cpp:38
~CustomDisplay()=default
void newROI(QRectF roi)
void mouseMoveEvent(QMouseEvent *event) override
Definition display.cpp:64
QGraphicsRectItem * m_dragRect
Definition display.h:81
Definition display.h:45
CustomDisplay * m_parent
Definition display.h:56
QRectF getImageRect()
Definition display.cpp:133
virtual void drawBackground(QPainter *painter, const QRectF &rect)
Definition display.cpp:173
QImage m_image
Definition display.h:57
void setImage(QImage image)
Definition display.cpp:126
~CustomGraphicsScene()=default
CustomGraphicsScene(CustomDisplay *pParent)
Definition display.cpp:120