]> git.sesse.net Git - nageru/blob - analyzer.h
Fix issues with shutdown happening without a context.
[nageru] / analyzer.h
1 #ifndef _ANALYZER_H
2 #define _ANALYZER_H 1
3
4 #include <QImage>
5 #include <QMainWindow>
6 #include <QString>
7
8 #include <epoxy/gl.h>
9
10 class QObject;
11 class QOpenGLContext;
12 class QSurface;
13
14 namespace Ui {
15 class Analyzer;
16 }  // namespace Ui
17
18 namespace movit {
19 class ResourcePool;
20 }  // namespace movit
21
22 class Analyzer : public QMainWindow
23 {
24         Q_OBJECT
25
26 public:
27         Analyzer();
28         ~Analyzer();
29         void mixer_shutting_down();
30
31 private:
32         void grab_clicked();
33         void signal_changed();
34         bool eventFilter(QObject *watched, QEvent *event) override;
35
36         Ui::Analyzer *ui;
37         QSurface *surface;
38         QOpenGLContext *context;
39         GLuint pbo;
40         movit::ResourcePool *resource_pool = nullptr;
41         QImage grabbed_image;
42 };
43
44 #endif  // !defined(_ANALYZER_H)