Qwt Polar User's Guide  0.1.0
qwt_polar_spectrogram.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * QwtPolar Widget Library
3  * Copyright (C) 2008 Uwe Rathmann
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the Qwt License, Version 1.0
7  *****************************************************************************/
8 
9 #ifndef QWT_POLAR_SPECTROGRAM_H
10 #define QWT_POLAR_SPECTROGRAM_H
11 
12 #include "qwt_polar_global.h"
13 #include "qwt_polar_item.h"
14 #include <qimage.h>
15 
16 class QwtRasterData;
17 class QwtColorMap;
18 
28 class QWT_POLAR_EXPORT QwtPolarSpectrogram: public QwtPolarItem
29 {
30 public:
31  explicit QwtPolarSpectrogram();
32  virtual ~QwtPolarSpectrogram();
33 
34  void setData(const QwtRasterData &data);
35  const QwtRasterData &data() const;
36 
37  void setColorMap(const QwtColorMap &);
38  const QwtColorMap &colorMap() const;
39 
40  virtual int rtti() const;
41 
42  virtual void draw(QPainter *painter,
43  const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
44  const QwtDoublePoint &pole, double radius,
45  const QwtDoubleRect &canvasRect) const;
46 
47  virtual QwtDoubleInterval boundingInterval(int scaleId) const;
48 
49 protected:
50  virtual QImage renderImage(
51  const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
52  const QwtDoublePoint &pole, const QRect &rect) const;
53 
54 private:
55  class PrivateData;
56  PrivateData *d_data;
57 };
58 
59 #endif