Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/waveformviewerfactory.h

Go to the documentation of this file.
00001 
00002 #ifndef WAVEFORMVIEWERFACTORY_H
00003 #define WAVEFORMVIEWERFACTORY_H
00004 
00005 #include <QList>
00006 #include <QDomNode>
00007 #include <QWidget>
00008 #include <QTimer>
00009 #include <QGLContext>
00010 
00011 #include "configobject.h"
00012 #include "widget/wwidget.h"
00013 
00014 class WVisualSimple;
00015 class WWaveformViewer;
00016 class WGLWaveformViewer;
00017 class WaveformRenderer;
00018 
00019 enum WaveformViewerType {
00020     WAVEFORM_SIMPLE=0,
00021     WAVEFORM_WIDGET,
00022     WAVEFORM_GL,
00023     WAVEFORM_INVALID
00024 };
00025 
00026 
00027 class WaveformViewerFactory {
00028 private:
00029     /* shouldn't be accessible */
00030     WaveformViewerFactory() {};
00031     ~WaveformViewerFactory() {};
00032     static QList<QWidget*> m_viewers;
00033     static QList<WVisualSimple*> m_simpleViewers;
00034     static QList<WWaveformViewer*> m_visualViewers;
00035     static QList<WGLWaveformViewer*> m_visualGLViewers;
00036     static QTimer s_waveformUpdateTimer;
00037 
00038 public:
00039     static WaveformViewerType createWaveformViewer(const char* group, QWidget *pParent, ConfigObject<ConfigValue> *pConfig, QWidget **target, WaveformRenderer *pWaveformRenderer);
00040     static void destroyWaveformViewer(QWidget *pWaveformViewer);
00041     static WaveformViewerType getWaveformViewerType(QWidget *pWaveformViewer);
00042     static int numViewers(WaveformViewerType type);
00043     static bool isDirectRenderingEnabled();
00044 };
00045 
00046 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines