00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_ROUND_SCALE_DRAW_H
00011 #define QWT_ROUND_SCALE_DRAW_H
00012
00013 #include <qpoint.h>
00014 #include "qwt_global.h"
00015 #include "qwt_abstract_scale_draw.h"
00016
00017 class QPen;
00018
00032 class QWT_EXPORT QwtRoundScaleDraw: public QwtAbstractScaleDraw
00033 {
00034 public:
00035 QwtRoundScaleDraw();
00036 QwtRoundScaleDraw(const QwtRoundScaleDraw &);
00037
00038 virtual ~QwtRoundScaleDraw();
00039
00040 QwtRoundScaleDraw &operator=(const QwtRoundScaleDraw &other);
00041
00042 void setRadius(int radius);
00043 int radius() const;
00044
00045 void moveCenter(int x, int y);
00046 void moveCenter(const QPoint &);
00047 QPoint center() const;
00048
00049 void setAngleRange(double angle1, double angle2);
00050
00051 virtual int extent(const QPen &, const QFont &) const;
00052
00053 protected:
00054 virtual void drawTick(QPainter *p, double val, int len) const;
00055 virtual void drawBackbone(QPainter *p) const;
00056 virtual void drawLabel(QPainter *p, double val) const;
00057
00058 private:
00059 class PrivateData;
00060 PrivateData *d_data;
00061 };
00062
00063 inline void QwtRoundScaleDraw::moveCenter(int x, int y)
00064 {
00065 moveCenter(QPoint(x, y));
00066 }
00067
00068 #endif