1 #include "waveform/renderers/qtvsynctestrenderer.h"
2 
3 #include "track/track.h"
4 #include "util/painterscope.h"
5 #include "util/performancetimer.h"
6 #include "waveform/renderers/waveformwidgetrenderer.h"
7 #include "waveform/waveform.h"
8 #include "waveform/waveformwidgetfactory.h"
9 
QtVSyncTestRenderer(WaveformWidgetRenderer * waveformWidgetRenderer)10 QtVSyncTestRenderer::QtVSyncTestRenderer(
11         WaveformWidgetRenderer* waveformWidgetRenderer)
12     : WaveformRendererSignalBase(waveformWidgetRenderer),
13       m_drawcount(0) {
14 }
15 
~QtVSyncTestRenderer()16 QtVSyncTestRenderer::~QtVSyncTestRenderer() {
17 }
18 
onSetup(const QDomNode & node)19 void QtVSyncTestRenderer::onSetup(const QDomNode& node) {
20     Q_UNUSED(node);
21 }
22 
setPoint(QPointF & point,qreal x,qreal y)23 inline void setPoint(QPointF& point, qreal x, qreal y) {
24     point.setX(x);
25     point.setY(y);
26 }
27 
draw(QPainter * pPainter,QPaintEvent *)28 void QtVSyncTestRenderer::draw(QPainter* pPainter, QPaintEvent* /*event*/) {
29 
30     PerformanceTimer timer;
31     //mixxx::Duration t5, t6, t7, t8, t9, t10, t11, t12, t13;
32 
33 
34     timer.start();
35 
36     TrackPointer pTrack = m_waveformRenderer->getTrackInfo();
37     if (!pTrack) {
38         return;
39     }
40 
41     ConstWaveformPointer waveform = pTrack->getWaveform();
42     if (waveform.isNull()) {
43         return;
44     }
45 
46     const int dataSize = waveform->getDataSize();
47     if (dataSize <= 1) {
48         return;
49     }
50 
51     const WaveformData* data = waveform->data();
52     if (data == nullptr) {
53         return;
54     }
55 
56     PainterScope PainterScope(pPainter);
57 
58     auto brush = QBrush(Qt::SolidPattern);
59     if (++m_drawcount & 1) {
60         brush.setColor(QColor(255, 255, 255));
61     } else {
62         brush.setColor(QColor(255, 0, 0));
63     }
64 
65     pPainter->setBrush(brush);
66 
67     pPainter->drawRect(0, 0, m_waveformRenderer->getWidth(),
68             m_waveformRenderer->getHeight());
69 }
70