]> git.sesse.net Git - nageru/blob - analyzer.h
Upgrade bmusb.
[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 <string>
9
10 #include <epoxy/gl.h>
11
12 #include "mixer.h"
13
14 class QObject;
15 class QOpenGLContext;
16 class QSurface;
17
18 namespace Ui {
19 class Analyzer;
20 }  // namespace Ui
21
22 namespace movit {
23 class ResourcePool;
24 }  // namespace movit
25
26 class Analyzer : public QMainWindow
27 {
28         Q_OBJECT
29
30 public:
31         Analyzer();
32         ~Analyzer();
33         void update_channel_name(Mixer::Output output, const std::string &name);
34         void mixer_shutting_down();
35
36 public slots:
37         void relayout();
38
39 private:
40         void grab_clicked();
41         void signal_changed();
42         bool eventFilter(QObject *watched, QEvent *event) override;
43         void resizeEvent(QResizeEvent *event) override;
44
45         Ui::Analyzer *ui;
46         QSurface *surface;
47         QOpenGLContext *context;
48         GLuint pbo;
49         movit::ResourcePool *resource_pool = nullptr;
50         QImage grabbed_image;
51 };
52
53 #endif  // !defined(_ANALYZER_H)