GNU Radio 3.3.0 C++ API
plot_waterfall.h
Go to the documentation of this file.
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