# 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 <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
    00064 inline void QwtRoundScaleDraw::moveCenter(int x, int y)
    00065 {
    00066     moveCenter(QPoint(x, y));
    00067 }
    00068
    00069 #endif