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 "qwt_global.h"
00014 #include "qwt_abstract_scale_draw.h"
00015 #include <qpoint.h>
00016
00017 class QPen;
00018
00032 class QWT_EXPORT QwtRoundScaleDraw: public QwtAbstractScaleDraw
00033 {
00034 public:
00035 QwtRoundScaleDraw();
00036 virtual ~QwtRoundScaleDraw();
00037
00038 void setRadius( int radius );
00039 int radius() const;
00040
00041 void moveCenter( double x, double y );
00042 void moveCenter( const QPointF & );
00043 QPointF center() const;
00044
00045 void setAngleRange( double angle1, double angle2 );
00046
00047 virtual double extent( const QFont & ) const;
00048
00049 protected:
00050 virtual void drawTick( QPainter *p, double val, double len ) const;
00051 virtual void drawBackbone( QPainter *p ) const;
00052 virtual void drawLabel( QPainter *p, double val ) const;
00053
00054 private:
00055 QwtRoundScaleDraw( const QwtRoundScaleDraw & );
00056 QwtRoundScaleDraw &operator=( const QwtRoundScaleDraw &other );
00057
00058 class PrivateData;
00059 PrivateData *d_data;
00060 };
00061
00063 inline void QwtRoundScaleDraw::moveCenter( double x, double y )
00064 {
00065 moveCenter( QPointF( x, y ) );
00066 }
00067
00068 #endif