Qwt User's Guide svn
qwt_round_scale_draw.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
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
qmi style