]> git.sesse.net Git - nageru/blob - correlation_meter.h
Let settings follow buses when editing the mapping.
[nageru] / correlation_meter.h
1 #ifndef CORRELATION_METER_H
2 #define CORRELATION_METER_H
3
4 #include <QPaintEvent>
5 #include <QWidget>
6 #include <mutex>
7
8 class CorrelationMeter : public QWidget
9 {
10         Q_OBJECT
11
12 public:
13         CorrelationMeter(QWidget *parent);
14
15         void set_correlation(float correlation) {
16                 std::unique_lock<std::mutex> lock(correlation_mutex);
17                 this->correlation = correlation;
18                 QMetaObject::invokeMethod(this, "update", Qt::AutoConnection);
19         }
20
21 private:
22         void resizeEvent(QResizeEvent *event) override;
23         void paintEvent(QPaintEvent *event) override;
24
25         std::mutex correlation_mutex;
26         float correlation = 0.0f;
27
28         QPixmap on_pixmap, off_pixmap;
29 };
30
31 #endif