# 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