Qwt Polar User's Guide  0.1.0
qwt_polar_spectrogram.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * QwtPolar Widget Library
00003  * Copyright (C) 2008   Uwe Rathmann
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the Qwt License, Version 1.0
00007  *****************************************************************************/
00008 
00009 #ifndef QWT_POLAR_SPECTROGRAM_H
00010 #define QWT_POLAR_SPECTROGRAM_H
00011 
00012 #include "qwt_polar_global.h"
00013 #include "qwt_polar_item.h"
00014 #include <qimage.h>
00015 
00016 class QwtRasterData;
00017 class QwtColorMap;
00018 
00028 class QWT_POLAR_EXPORT QwtPolarSpectrogram: public QwtPolarItem
00029 {
00030 public:
00031     explicit QwtPolarSpectrogram();
00032     virtual ~QwtPolarSpectrogram();
00033 
00034     void setData(const QwtRasterData &data);
00035     const QwtRasterData &data() const;
00036 
00037     void setColorMap(const QwtColorMap &);
00038     const QwtColorMap &colorMap() const;
00039 
00040     virtual int rtti() const;
00041 
00042     virtual void draw(QPainter *painter,
00043         const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
00044         const QwtDoublePoint &pole, double radius,
00045         const QwtDoubleRect &canvasRect) const;
00046 
00047     virtual QwtDoubleInterval boundingInterval(int scaleId) const;
00048 
00049 protected:
00050     virtual QImage renderImage(
00051         const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, 
00052         const QwtDoublePoint &pole, const QRect &rect) const;
00053 
00054 private:
00055     class PrivateData;
00056     PrivateData *d_data;
00057 };
00058 
00059 #endif