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

Generated on Mon Feb 26 21:22:38 2007 for Qwt User's Guide by  doxygen 1.4.6