#ifndef WAVEFORM_H
#define WAVEFORM_H
-#include <QWidget>
+#include "abstractscopewidget.h"
#include "ui_waveform_ui.h"
-#include "renderer.h"
-#include "monitor.h"
-#include "waveformgenerator.h"
class Waveform_UI;
class WaveformGenerator;
-class Render;
-class Monitor;
-class Waveform : public QWidget, public Ui::Waveform_UI {
+class Waveform : public AbstractScopeWidget {
Q_OBJECT
public:
Waveform(Monitor *projMonitor, Monitor *clipMonitor, QWidget *parent = 0);
~Waveform();
+ virtual QString widgetName() const;
+
protected:
- void paintEvent(QPaintEvent *);
- void resizeEvent(QResizeEvent *);
- void mouseReleaseEvent(QMouseEvent *);
+ virtual void readConfig();
+ void writeConfig();
private:
- Monitor *m_projMonitor;
- Monitor *m_clipMonitor;
- Render *m_activeRender;
-
+ Ui::Waveform_UI *ui;
WaveformGenerator *m_waveformGenerator;
- void updateDimensions();
- bool initialDimensionUpdateDone;
+ QAction *m_aRec601;
+ QAction *m_aRec709;
+ QActionGroup *m_agRec;
+
+ static const QSize m_textWidth;
+ static const int m_paddingBottom;
- QRect m_scopeRect;
QImage m_waveform;
-private slots:
- void slotActiveMonitorChanged(bool isClipMonitor);
- void slotRenderZoneUpdated();
- void slotWaveformCalculated(QImage waveform, const uint &msec);
+ /// Implemented methods ///
+ QRect scopeRect();
+ QImage renderHUD(uint);
+ QImage renderScope(uint, const QImage);
+ QImage renderBackground(uint);
+ bool isHUDDependingOnInput() const;
+ bool isScopeDependingOnInput() const;
+ bool isBackgroundDependingOnInput() const;
};