A class for drawing round scales.
More...
#include <qwt_round_scale_draw.h>
|
| virtual void | drawTick (QPainter *, double value, double len) const QWT_OVERRIDE |
| | Draw a tick.
|
| |
| virtual void | drawBackbone (QPainter *) const QWT_OVERRIDE |
| | Draws the baseline of the scale.
|
| |
| virtual void | drawLabel (QPainter *, double value) const QWT_OVERRIDE |
| | Draws the label for a major scale tick.
|
| |
| const QwtText & | tickLabel (const QFont &, double value) const |
| | Convert a value into its representing label and cache it.
|
| |
A class for drawing round scales.
QwtRoundScaleDraw can be used to draw round scales. The circle segment can be adjusted by setAngleRange(). The geometry of the scale can be specified with moveCenter() and 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.
◆ QwtRoundScaleDraw()
| 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].
◆ drawBackbone()
| void QwtRoundScaleDraw::drawBackbone |
( |
QPainter * |
painter | ) |
const |
|
protectedvirtual |
◆ drawLabel()
| void QwtRoundScaleDraw::drawLabel |
( |
QPainter * |
painter, |
|
|
double |
value |
|
) |
| const |
|
protectedvirtual |
◆ drawTick()
| void QwtRoundScaleDraw::drawTick |
( |
QPainter * |
painter, |
|
|
double |
value, |
|
|
double |
len |
|
) |
| const |
|
protectedvirtual |
◆ extent()
| double QwtRoundScaleDraw::extent |
( |
const QFont & |
font | ) |
const |
|
virtual |
Calculate the extent of the scale.
The extent is the distance 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
-
| font | Font used for painting the labels |
- Returns
- Calculated extent
- See also
- setMinimumExtent(), minimumExtent()
- Warning
- The implemented algorithm is not too smart and calculates only an upper limit, that might be a few pixels too large
Implements QwtAbstractScaleDraw.
◆ moveCenter()
| void QwtRoundScaleDraw::moveCenter |
( |
const QPointF & |
center | ) |
|
Move the center of the scale draw, leaving the radius unchanged.
- Parameters
-
- See also
- setRadius()
◆ radius()
| double QwtRoundScaleDraw::radius |
( |
| ) |
const |
Get the radius.
Radius is the radius of the backbone without ticks and labels.
- Returns
- Radius of the scale
- See also
- setRadius(), extent()
◆ setAngleRange()
| 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 or equal than 360 degrees above or below min(angle1, angle2), scale marks will not be drawn.
-
If you need a counterclockwise scale, use QwtScaleDiv::setInterval()
◆ setRadius()
| void QwtRoundScaleDraw::setRadius |
( |
double |
radius | ) |
|
Change of radius the scale.
Radius is the radius of the backbone without ticks and labels.
- Parameters
-
- See also
- moveCenter()
The documentation for this class was generated from the following files: