00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef QWT_POLAR_CANVAS_H
00010 #define QWT_POLAR_CANVAS_H 1
00011
00012 #include <qframe.h>
00013 #include "qwt_polar_global.h"
00014 #include "qwt_double_rect.h"
00015
00016 class QPainter;
00017 class QwtPolarPlot;
00018
00027 class QWT_POLAR_EXPORT QwtPolarCanvas: public QFrame
00028 {
00029 Q_OBJECT
00030
00031 public:
00044 enum PaintAttribute
00045 {
00046 PaintCached = 1
00047 };
00048
00049 explicit QwtPolarCanvas(QwtPolarPlot *);
00050 virtual ~QwtPolarCanvas();
00051
00052 QwtPolarPlot *plot();
00053 const QwtPolarPlot *plot() const;
00054
00055 void setPaintAttribute(PaintAttribute, bool on = true);
00056 bool testPaintAttribute(PaintAttribute) const;
00057
00058 QPixmap *paintCache();
00059 const QPixmap *paintCache() const;
00060 void invalidatePaintCache();
00061
00062 protected:
00063 virtual void paintEvent(QPaintEvent *);
00064 virtual void resizeEvent(QResizeEvent *);
00065
00066 virtual void drawContents(QPainter *);
00067
00068 void drawCanvas(QPainter *, const QwtDoubleRect &);
00069
00070 class PrivateData;
00071 PrivateData *d_data;
00072 };
00073
00074 #endif