GNU Radio 3.3.0 C++ API
|
00001 #ifndef PLOT_WATERFALL_H 00002 #define PLOT_WATERFALL_H 00003 00004 #include <qglobal.h> 00005 #include <waterfallGlobalData.h> 00006 00007 #include "qwt_valuelist.h" 00008 #include "qwt_plot_rasteritem.h" 00009 00010 class QwtColorMap; 00011 00012 /*! 00013 \brief A plot item, which displays a waterfall spectrogram 00014 00015 A waterfall displays threedimenional data, where the 3rd dimension 00016 ( the intensity ) is displayed using colors. The colors are calculated 00017 from the values using a color map. 00018 00019 \image html spectrogram3.png 00020 00021 \sa QwtRasterData, QwtColorMap 00022 */ 00023 00024 class QWT_EXPORT PlotWaterfall: public QwtPlotRasterItem 00025 { 00026 public: 00027 explicit PlotWaterfall(WaterfallData* data, const QString &title = QString::null); 00028 virtual ~PlotWaterfall(); 00029 00030 const WaterfallData* data()const; 00031 00032 void setColorMap(const QwtColorMap &); 00033 const QwtColorMap &colorMap() const; 00034 00035 virtual QwtDoubleRect boundingRect() const; 00036 virtual QSize rasterHint(const QwtDoubleRect &) const; 00037 00038 virtual int rtti() const; 00039 00040 virtual void draw(QPainter *p, 00041 const QwtScaleMap &xMap, const QwtScaleMap &yMap, 00042 const QRect &rect) const; 00043 00044 protected: 00045 virtual QImage renderImage( 00046 const QwtScaleMap &xMap, const QwtScaleMap &yMap, 00047 const QwtDoubleRect &rect) const; 00048 00049 private: 00050 class PrivateData; 00051 PrivateData *d_data; 00052 }; 00053 00054 #endif