22 #ifndef INCLUDE_GLSPECTRUM_H 23 #define INCLUDE_GLSPECTRUM_H 27 #include <QOpenGLBuffer> 28 #include <QOpenGLVertexArrayObject> 40 class QOpenGLShaderProgram;
53 m_sampleRate(sampleRate)
55 m_sampleRate = sampleRate;
67 void setCenterFrequency(qint64 frequency);
68 void setSampleRate(qint32 sampleRate);
69 void setTimingRate(qint32 timingRate);
70 void setReferenceLevel(
Real referenceLevel);
71 void setPowerRange(
Real powerRange);
72 void setDecay(
int decay);
73 void setDecayDivisor(
int decayDivisor);
74 void setHistoStroke(
int stroke);
75 void setDisplayWaterfall(
bool display);
76 void setSsbSpectrum(
bool ssbSpectrum);
77 void setLsbDisplay(
bool lsbDisplay);
78 void setInvertedWaterfall(
bool inv);
79 void setDisplayMaxHold(
bool display);
80 void setDisplayCurrent(
bool display);
81 void setDisplayHistogram(
bool display);
82 void setDisplayGrid(
bool display);
83 void setDisplayGridIntensity(
int intensity);
84 void setDisplayTraceIntensity(
int intensity);
85 void setLinear(
bool linear);
92 void newSpectrum(
const std::vector<Real>& spectrum,
int fftSize);
93 void clearSpectrumHistogram();
96 void setWaterfallShare(
Real waterfallShare);
97 void connectTimer(
const QTimer& timer);
101 m_displaySourceOrSink = sourceOrSink;
102 m_displayStreamIndex = streamIndex;
117 m_channelMarker(channelMarker)
170 QRgb m_waterfallPalette[240];
180 QRgb m_histogramPalette[240];
207 static const int m_waterfallBufferHeight = 256;
209 void updateWaterfall(
const std::vector<Real>& spectrum);
210 void updateHistogram(
const std::vector<Real>& spectrum);
213 void resizeGL(
int width,
int height);
219 void mouseMoveEvent(QMouseEvent* event);
220 void mousePressEvent(QMouseEvent* event);
221 void mouseReleaseEvent(QMouseEvent* event);
222 void wheelEvent(QWheelEvent*);
224 void enterEvent(QEvent* event);
225 void leaveEvent(QEvent* event);
230 void channelMarkerChanged();
231 void channelMarkerDestroyed(QObject*
object);
234 #endif // INCLUDE_GLSPECTRUM_H
int m_displayTraceIntensity
qint32 getSampleRate() const
Real getWaterfallShare() const
QMatrix4x4 m_glFrequencyScaleBoxMatrix
QMatrix4x4 m_glHistogramBoxMatrix
QList< ChannelMarkerState * > m_channelMarkerStates
QMatrix4x4 m_glMatrixWaterfall
IncrementalArray< GLfloat > m_q3TickFrequency
std::vector< Real > m_maxHold
ChannelMarkerState(ChannelMarker *channelMarker)
void setDisplayedStream(bool sourceOrSink, int streamIndex)
ScaleEngine m_frequencyScale
CursorState m_cursorState
MsgReportSampleRate(quint32 sampleRate)
QMatrix4x4 m_glWaterfallBoxMatrix
QMatrix4x4 m_glLeftScaleBoxMatrix
QRect m_frequencyScaleRect
IncrementalArray< GLfloat > m_q3TickTime
QPixmap m_leftMarginPixmap
int m_waterfallTextureHeight
#define MESSAGE_CLASS_DECLARATION
void setMessageQueueToGUI(MessageQueue *messageQueue)
bool m_displaySourceOrSink
QPixmap m_frequencyPixmap
GLShaderTextured m_glShaderFrequencyScale
GLShaderTextured m_glShaderWaterfall
QMatrix4x4 m_glMatrixDsbWaterfall
QMatrix4x4 m_glMatrixFreqScale
const std::vector< Real > * m_currentSpectrum
QImage * m_waterfallBuffer
int m_displayGridIntensity
QMatrix4x4 m_glMatrixDsbHistogram
int m_waterfallTexturePos
quint8 * m_histogram
Spectrum phosphor matrix of FFT width and PSD height scaled to 100. values [0..239].
QMatrix4x4 m_glHistogramSpectrumMatrix
IncrementalArray< GLfloat > m_q3FFT
MessageQueue * m_messageQueueToGUI
quint32 getSampleRate() const
GLShaderTextured m_glShaderLeftScale
QImage * m_histogramBuffer
GLShaderTextured m_glShaderHistogram
QMatrix4x4 m_glMatrixHistogram
GLShaderSimple m_glShaderSimple
QMatrix4x4 m_glMatrixDsbFreqScale
ChannelMarker * m_channelMarker
IncrementalArray< GLfloat > m_q3TickPower