+ emit signalScopeRenderingFinished(0, 1);
+ return QImage();
+ }
+}
+QImage AudioSpectrum::renderHUD(uint)
+{
+ QTime start = QTime::currentTime();
+
+ const QRect rect = scopeRect();
+ // Minimum distance between two lines
+ const uint minDistY = 30;
+ const uint minDistX = 40;
+ const uint textDist = 5;
+ const uint dbDiff = ceil((float)minDistY/rect.height() * (m_dBmax-m_dBmin));
+
+ QImage hud(AbstractAudioScopeWidget::rect().size(), QImage::Format_ARGB32);
+ hud.fill(qRgba(0,0,0,0));
+
+ QPainter davinci(&hud);
+ davinci.setPen(AbstractAudioScopeWidget::penLight);
+
+ int y;
+ for (int db = -dbDiff; db > m_dBmin; db -= dbDiff) {
+ y = rect.height() * ((float)db)/(m_dBmin - m_dBmax);
+ davinci.drawLine(0, y, rect.width()-1, y);
+ davinci.drawText(rect.width() + textDist, y + 8, i18n("%1 dB", db));
+ }
+
+
+ qDebug() << "max freq: " << m_freqMax;
+ const uint hzDiff = ceil( ((float)minDistX)/rect.width() * m_freqMax / 1000 ) * 1000;
+ qDebug() << hzDiff;
+ int x;
+ for (int hz = hzDiff; hz < m_freqMax; hz += hzDiff) {
+ x = rect.width() * ((float)hz)/m_freqMax;
+ davinci.drawLine(x, 0, x, rect.height()+4);
+ davinci.drawText(x-4, rect.height() + 20, QVariant(hz/1000).toString());