QwtRoundScaleDraw Class Reference
A class for drawing round scales. More...
#include <qwt_round_scale_draw.h>
Public Member Functions | |
QwtRoundScaleDraw () | |
QwtRoundScaleDraw (const QwtRoundScaleDraw &) | |
virtual | ~QwtRoundScaleDraw () |
QwtRoundScaleDraw & | operator= (const QwtRoundScaleDraw &other) |
void | setRadius (int radius) |
int | radius () const |
void | moveCenter (int x, int y) |
void | moveCenter (const QPoint &) |
QPoint | center () const |
void | setAngleRange (double angle1, double angle2) |
virtual int | extent (const QPen &, const QFont &) const |
Protected Member Functions | |
virtual void | drawTick (QPainter *p, double val, int len) const |
virtual void | drawBackbone (QPainter *p) const |
virtual void | drawLabel (QPainter *p, double val) const |
Detailed Description
A class for drawing round scales.
QwtRoundScaleDraw can be used to draw round scales. The circle segment can be adjusted by QwtRoundScaleDraw::setAngleRange(). The geometry of the scale can be specified with QwtRoundScaleDraw::moveCenter() and QwtRoundScaleDraw::setRadius().
After a scale division has been specified as a QwtScaleDiv object using QwtAbstractScaleDraw::setScaleDiv(const QwtScaleDiv &s), the scale can be drawn with the QwtAbstractScaleDraw::draw() member.
Constructor & Destructor Documentation
QwtRoundScaleDraw::QwtRoundScaleDraw | ( | ) |
Constructor.
The range of the scale is initialized to [0, 100], The center is set to (50, 50) with a radius of 50. The angle range is set to [-135, 135].
QwtRoundScaleDraw::QwtRoundScaleDraw | ( | const QwtRoundScaleDraw & | other | ) |
Copy constructor.
QwtRoundScaleDraw::~QwtRoundScaleDraw | ( | ) | [virtual] |
Destructor.
Member Function Documentation
QPoint QwtRoundScaleDraw::center | ( | ) | const |
Get the center of the scale.
void QwtRoundScaleDraw::drawBackbone | ( | QPainter * | painter | ) | const [protected, virtual] |
Draws the baseline of the scale
- Parameters:
-
painter Painter
- See also:
- drawTick(), drawLabel()
Implements QwtAbstractScaleDraw.
void QwtRoundScaleDraw::drawLabel | ( | QPainter * | painter, | |
double | value | |||
) | const [protected, virtual] |
Draws the label for a major scale tick
- Parameters:
-
painter Painter value Value
- See also:
- drawTick(), drawBackbone()
Implements QwtAbstractScaleDraw.
void QwtRoundScaleDraw::drawTick | ( | QPainter * | painter, | |
double | value, | |||
int | len | |||
) | const [protected, virtual] |
Draw a tick
- Parameters:
-
painter Painter value Value of the tick len Lenght of the tick
- See also:
- drawBackbone(), drawLabel()
Implements QwtAbstractScaleDraw.
int QwtRoundScaleDraw::extent | ( | const QPen & | pen, | |
const QFont & | font | |||
) | const [virtual] |
Calculate the extent of the scale
The extent is the distcance between the baseline to the outermost pixel of the scale draw. radius() + extent() is an upper limit for the radius of the bounding circle.
- Parameters:
-
pen Pen that is used for painting backbone and ticks font Font used for painting the labels
- See also:
- setMinimumExtent(), minimumExtent()
- Warning:
- The implemented algo is not too smart and calculates only an upper limit, that might be a few pixels too large
Implements QwtAbstractScaleDraw.
void QwtRoundScaleDraw::moveCenter | ( | const QPoint & | center | ) |
Move the center of the scale draw, leaving the radius unchanged
- Parameters:
-
center New center
- See also:
- setRadius()
void QwtRoundScaleDraw::moveCenter | ( | int | x, | |
int | y | |||
) | [inline] |
Move the center of the scale draw, leaving the radius unchanged.
QwtRoundScaleDraw & QwtRoundScaleDraw::operator= | ( | const QwtRoundScaleDraw & | other | ) |
Assignment operator.
Reimplemented from QwtAbstractScaleDraw.
int QwtRoundScaleDraw::radius | ( | ) | const |
Get the radius
Radius is the radius of the backbone without ticks and labels.
- See also:
- setRadius(), extent()
void QwtRoundScaleDraw::setAngleRange | ( | double | angle1, | |
double | angle2 | |||
) |
Adjust the baseline circle segment for round scales.
The baseline will be drawn from min(angle1,angle2) to max(angle1, angle2). The default setting is [ -135, 135 ]. An angle of 0 degrees corresponds to the 12 o'clock position, and positive angles count in a clockwise direction.
- Parameters:
-
angle1 angle2 boundaries of the angle interval in degrees.
- Warning:
- The angle range is limited to [-360, 360] degrees. Angles exceeding this range will be clipped.
- For angles more than 359 degrees above or below min(angle1, angle2), scale marks will not be drawn.
- If you need a counterclockwise scale, use QwtScaleDiv::setRange
void QwtRoundScaleDraw::setRadius | ( | int | radius | ) |
Change of radius the scale
Radius is the radius of the backbone without ticks and labels.
- Parameters:
-
radius New Radius
- See also:
- moveCenter()
Generated on Wed Sep 2 18:37:27 2009 for Qwt User's Guide by 1.6.1