![]() |
Mixxx
|
00001 00002 #ifndef WWAVEFORMVIEWER_H 00003 #define WWAVEFORMVIEWER_H 00004 00005 #include <qgl.h> 00006 #include <QList> 00007 #include <QEvent> 00008 #include <QDateTime> 00009 #include <QMutex> 00010 #include <QDragEnterEvent> 00011 #include <QDropEvent> 00012 #include <QTimerEvent> 00013 00014 #include "wwidget.h" 00015 #include "defs.h" 00016 00017 class EngineBuffer; 00018 class WaveformRenderer; 00019 00020 class WWaveformViewer : public QWidget 00021 { 00022 Q_OBJECT 00023 public: 00024 WWaveformViewer(const char *group, WaveformRenderer* pWaveformRenderer, QWidget *parent=0, Qt::WFlags f = 0); 00025 virtual ~WWaveformViewer(); 00026 00027 void dragEnterEvent(QDragEnterEvent *event); 00028 void dropEvent(QDropEvent *event); 00029 void setup(QDomNode node); 00030 bool eventFilter(QObject *o, QEvent *e); 00031 00032 public slots: 00033 void refresh(); 00034 00035 signals: 00036 void valueChangedLeftDown(double); 00037 void valueChangedRightDown(double); 00038 void trackDropped(QString filename, QString group); 00039 00040 protected: 00041 void paintEvent(QPaintEvent* event); 00042 00043 private: 00045 int m_iMouseStart; 00046 00048 WaveformRenderer *m_pWaveformRenderer; 00049 00050 bool m_painting; 00051 QMutex m_paintMutex; 00052 00053 const char *m_pGroup; 00054 }; 00055 00056 #endif