gr-baz Package
plot_waterfall.h
Go to the documentation of this file.
1 #ifndef PLOT_WATERFALL_H
2 #define PLOT_WATERFALL_H
3 
4 #include <qglobal.h>
5 #include <waterfallGlobalData.h>
6 #include <qwt_plot_rasteritem.h>
7 
8 #if QWT_VERSION >= 0x060000
9 #include <qwt_point_3d.h> // doesn't seem necessary, but is...
10 #include <qwt_compat.h>
11 #endif
12 
13 class QwtColorMap;
14 
15 /*!
16  \brief A plot item, which displays a waterfall spectrogram
17 
18  A waterfall displays threedimenional data, where the 3rd dimension
19  ( the intensity ) is displayed using colors. The colors are calculated
20  from the values using a color map.
21 
22  \sa QwtRasterData, QwtColorMap
23 */
24 
25 class PlotWaterfall: public QwtPlotRasterItem
26 {
27 public:
29  const QString &title = QString::null);
30  virtual ~PlotWaterfall();
31 
32  const WaterfallData* data()const;
33 
34  void setColorMap(const QwtColorMap &);
35 
36  const QwtColorMap &colorMap() const;
37 
38 #if QWT_VERSION < 0x060000
39  virtual QwtDoubleRect boundingRect() const;
40  virtual QSize rasterHint(const QwtDoubleRect &) const;
41 #endif
42 
43  virtual int rtti() const;
44 
45  virtual void draw(QPainter *p,
46  const QwtScaleMap &xMap,
47  const QwtScaleMap &yMap,
48  const QRect &rect) const;
49 
50 protected:
51 #if QWT_VERSION < 0x060000
52  QImage renderImage(const QwtScaleMap &xMap,
53  const QwtScaleMap &yMap,
54  const QwtDoubleRect &rect) const;
55 #else
56  QImage renderImage(const QwtScaleMap &xMap,
57  const QwtScaleMap &yMap,
58  const QRectF &rect,
59  const QSize &size=QSize(0,0)) const;
60 #endif
61 
62 private:
63  class PrivateData;
64  PrivateData *d_data;
65 };
66 
67 #endif