From 885bfb823fa9e0c9be81bb811567ef08621d966e Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 6 Aug 2021 10:24:20 +0200 Subject: [PATCH] Spectrum Markers: do not use QColorConstants. Added export for MSVC --- sdrgui/CMakeLists.txt | 1 + sdrgui/gui/glspectrum.cpp | 12 ++++++------ sdrgui/gui/spectrummarkers.h | 27 +++++++++++++++------------ sdrgui/gui/spectrummarkersdialog.cpp | 4 ++-- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/sdrgui/CMakeLists.txt b/sdrgui/CMakeLists.txt index f0acfef6a..ef2321686 100644 --- a/sdrgui/CMakeLists.txt +++ b/sdrgui/CMakeLists.txt @@ -59,6 +59,7 @@ set(sdrgui_SOURCES gui/scaleengine.cpp gui/scaledimage.cpp gui/sdrangelsplash.cpp + gui/spectrummarkers.cpp gui/spectrummarkersdialog.cpp gui/tickedslider.cpp gui/transverterbutton.cpp diff --git a/sdrgui/gui/glspectrum.cpp b/sdrgui/gui/glspectrum.cpp index 49b3c2ee4..3b00655b7 100644 --- a/sdrgui/gui/glspectrum.cpp +++ b/sdrgui/gui/glspectrum.cpp @@ -1185,7 +1185,7 @@ void GLSpectrum::drawSpectrumMarkers() QPointF ypoint = m_histogramMarkers.at(i).m_point; QString powerStr = m_histogramMarkers.at(i).m_powerStr; - if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarkerTypePower) + if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePower) { float power = m_currentSpectrum[m_histogramMarkers.at(i).m_fftBin]; ypoint.ry() = @@ -1200,7 +1200,7 @@ void GLSpectrum::drawSpectrumMarkers() false ); } - else if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarkerTypePowerMax) + else if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePowerMax) { float power = m_currentSpectrum[m_histogramMarkers.at(i).m_fftBin]; @@ -1262,17 +1262,17 @@ void GLSpectrum::drawSpectrumMarkers() textColor.setAlpha(192); float power0, poweri; - if (m_histogramMarkers.at(0).m_markerType == SpectrumHistogramMarkerTypePower) { + if (m_histogramMarkers.at(0).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePower) { power0 = m_currentSpectrum[m_histogramMarkers.at(0).m_fftBin]; - } else if (m_histogramMarkers.at(0).m_markerType == SpectrumHistogramMarkerTypePowerMax) { + } else if (m_histogramMarkers.at(0).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePowerMax) { power0 = m_histogramMarkers.at(0).m_powerMax; } else { power0 = m_linear ? m_histogramMarkers.at(0).m_power : CalcDb::dbPower(m_histogramMarkers.at(0).m_power); } - if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarkerTypePower) { + if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePower) { poweri = m_currentSpectrum[m_histogramMarkers.at(i).m_fftBin]; - } else if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarkerTypePowerMax) { + } else if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePowerMax) { poweri = m_histogramMarkers.at(i).m_powerMax; } else { poweri = m_linear ? m_histogramMarkers.at(i).m_power : CalcDb::dbPower(m_histogramMarkers.at(i).m_power); diff --git a/sdrgui/gui/spectrummarkers.h b/sdrgui/gui/spectrummarkers.h index 59b64cc61..82ce5e61c 100644 --- a/sdrgui/gui/spectrummarkers.h +++ b/sdrgui/gui/spectrummarkers.h @@ -25,21 +25,24 @@ #include #include -enum SpectrumHistogramMarkerType { - SpectrumHistogramMarkerTypeManual, - SpectrumHistogramMarkerTypePower, - SpectrumHistogramMarkerTypePowerMax -}; +#include "export.h" -struct SpectrumHistogramMarker +struct SDRGUI_API SpectrumHistogramMarker { + enum SpectrumMarkerType + { + SpectrumMarkerTypeManual, + SpectrumMarkerTypePower, + SpectrumMarkerTypePowerMax + }; + QPointF m_point; float m_frequency; int m_fftBin; float m_power; bool m_holdReset; float m_powerMax; - SpectrumHistogramMarkerType m_markerType; + SpectrumMarkerType m_markerType; QColor m_markerColor; bool m_show; QString m_frequencyStr; @@ -55,8 +58,8 @@ struct SpectrumHistogramMarker m_power(0), m_holdReset(true), m_powerMax(0), - m_markerType(SpectrumHistogramMarkerTypeManual), - m_markerColor(QColorConstants::White), + m_markerType(SpectrumMarkerTypeManual), + m_markerColor("white"), m_show(true), m_frequencyStr(), m_powerStr(), @@ -71,7 +74,7 @@ struct SpectrumHistogramMarker float power, bool holdReset, float powerMax, - SpectrumHistogramMarkerType markerType, + SpectrumMarkerType markerType, QColor markerColor, bool show, const QString& frequencyStr, @@ -101,7 +104,7 @@ struct SpectrumHistogramMarker bool deserialize(const QByteArray& data); }; -struct SpectrumWaterfallMarker +struct SDRGUI_API SpectrumWaterfallMarker { QPointF m_point; float m_frequency; @@ -118,7 +121,7 @@ struct SpectrumWaterfallMarker m_point(0, 0), m_frequency(0), m_time(0), - m_markerColor(QColorConstants::White), + m_markerColor("white"), m_show(true), m_frequencyStr(), m_timeStr(), diff --git a/sdrgui/gui/spectrummarkersdialog.cpp b/sdrgui/gui/spectrummarkersdialog.cpp index 7f4b5b6ca..6de214be7 100644 --- a/sdrgui/gui/spectrummarkersdialog.cpp +++ b/sdrgui/gui/spectrummarkersdialog.cpp @@ -264,10 +264,10 @@ void SpectrumMarkersDialog::on_powerMode_currentIndexChanged(int index) return; } - SpectrumHistogramMarkerType newType = (SpectrumHistogramMarkerType) index; + SpectrumHistogramMarker::SpectrumMarkerType newType = (SpectrumHistogramMarker::SpectrumMarkerType) index; if ((m_histogramMarkers[m_histogramMarkerIndex].m_markerType != newType) - && (newType == SpectrumHistogramMarkerTypePowerMax)) + && (newType == SpectrumHistogramMarker::SpectrumMarkerTypePowerMax)) { m_histogramMarkers[m_histogramMarkerIndex].m_holdReset = true; }