NAME
QwtRoundScaleDraw - A class for drawing round scales.
SYNOPSIS
#include <qwt_round_scale_draw.h>
Inherits QwtAbstractScaleDraw.
Inherited by QwtDialScaleDraw.
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.
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()
Author
Generated automatically by Doxygen for Qwt User’s Guide from the source
code.