Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/waveform/waveformrendermarkrange.h

Go to the documentation of this file.
00001 // waveformrendermarkrange.h
00002 // Created 11/14/2009 by RJ Ryan (rryan@mit.edu)
00003 
00004 #ifndef WAVEFORMRENDERMARKRANGE_H
00005 #define WAVEFORMRENDERMARKRANGE_H
00006 
00007 #include <QObject>
00008 #include <QColor>
00009 #include <QVector>
00010 
00011 class QDomNode;
00012 class QPainter;
00013 class QPaintEvent;
00014 
00015 #include "configobject.h"
00016 #include "waveform/renderobject.h"
00017 
00018 class ConfigKey;
00019 class ControlObjectThreadMain;
00020 class WaveformRenderer;
00021 
00022 class WaveformRenderMarkRange : public RenderObject {
00023     Q_OBJECT
00024   public:
00025     WaveformRenderMarkRange(const char* pGroup, WaveformRenderer *parent);
00026     virtual ~WaveformRenderMarkRange();
00027 
00028     void resize(int w, int h);
00029     void setup(QDomNode node);
00030     void draw(QPainter *pPainter, QPaintEvent *event,
00031               QVector<float> *buffer, double playPos, double rateAdjust);
00032     void newTrack(TrackPointer pTrack);
00033 
00034   public slots:
00035     void slotUpdateMarkStartPoint(double mark);
00036     void slotUpdateMarkEndPoint(double mark);
00037     void slotUpdateMarkEnabled(double mark);
00038     void slotUpdateTrackSamples(double samples);
00039     void slotUpdateTrackSampleRate(double samples);
00040 
00041   private:
00042     const char* m_pGroup;
00043     WaveformRenderer *m_pParent;
00044 
00045     ControlObjectThreadMain *m_pMarkStartPoint;
00046     ControlObjectThreadMain *m_pMarkEndPoint;
00047     ControlObjectThreadMain *m_pMarkEnabled;
00048     ControlObjectThreadMain *m_pTrackSamples;
00049     ControlObjectThreadMain *m_pTrackSampleRate;
00050 
00051     bool m_bMarkEnabled;
00052     int m_iMarkStartPoint, m_iMarkEndPoint;
00053     int m_iWidth, m_iHeight;
00054     QColor m_markColor;
00055     QColor m_markDisabledColor;
00056 
00057     double m_dSamplesPerDownsample;
00058     int m_iNumSamples;
00059     int m_iSampleRate;
00060 };
00061 
00062 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines