Qwt User's Guide
6.0.2
|
#include <qwt_round_scale_draw.h>
Public Member Functions | |
QwtRoundScaleDraw () | |
virtual | ~QwtRoundScaleDraw () |
QPointF | center () const |
virtual double | extent (const QFont &) const |
void | moveCenter (double x, double y) |
void | moveCenter (const QPointF &) |
int | radius () const |
void | setAngleRange (double angle1, double angle2) |
void | setRadius (int radius) |
![]() | |
QwtAbstractScaleDraw () | |
virtual | ~QwtAbstractScaleDraw () |
virtual void | draw (QPainter *, const QPalette &) const |
void | enableComponent (ScaleComponent, bool enable=true) |
bool | hasComponent (ScaleComponent) const |
virtual QwtText | label (double) const |
double | maxTickLength () const |
double | minimumExtent () const |
int | penWidth () const |
const QwtScaleDiv & | scaleDiv () const |
const QwtScaleMap & | scaleMap () const |
QwtScaleMap & | scaleMap () |
void | setMinimumExtent (double) |
void | setPenWidth (int width) |
void | setScaleDiv (const QwtScaleDiv &s) |
void | setSpacing (double margin) |
void | setTickLength (QwtScaleDiv::TickType, double length) |
void | setTransformation (QwtScaleTransformation *) |
double | spacing () const |
double | tickLength (QwtScaleDiv::TickType) const |
Protected Member Functions | |
virtual void | drawBackbone (QPainter *p) const |
virtual void | drawLabel (QPainter *p, double val) const |
virtual void | drawTick (QPainter *p, double val, double len) const |
![]() | |
void | invalidateCache () |
const QwtText & | tickLabel (const QFont &, double value) const |
Additional Inherited Members | |
![]() | |
enum | ScaleComponent { Backbone = 0x01, Ticks = 0x02, Labels = 0x04 } |
typedef QFlags< ScaleComponent > | ScaleComponents |
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.
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].
|
protectedvirtual |
Draws the baseline of the scale
painter | Painter |
Implements QwtAbstractScaleDraw.
|
protectedvirtual |
Draws the label for a major scale tick
painter | Painter |
value | Value |
Implements QwtAbstractScaleDraw.
|
protectedvirtual |
Draw a tick
painter | Painter |
value | Value of the tick |
len | Lenght of the tick |
Implements QwtAbstractScaleDraw.
|
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.
font | Font used for painting the labels |
Implements QwtAbstractScaleDraw.
void QwtRoundScaleDraw::moveCenter | ( | const QPointF & | center | ) |
Move the center of the scale draw, leaving the radius unchanged
center | New center |
int QwtRoundScaleDraw::radius | ( | ) | const |
Get the radius
Radius is the radius of the backbone without ticks and labels.
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.
angle1 | |
angle2 | boundaries of the angle interval in degrees. |
void QwtRoundScaleDraw::setRadius | ( | int | radius | ) |
Change of radius the scale
Radius is the radius of the backbone without ticks and labels.
radius | New Radius |