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.
Definition at line 32 of file 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 | |
QPoint | labelCenter (const QFont &, double arc, const QwtText &) const |
QSize | labelSize (const QFont &, double val) const |
QRect | labelRect (const QFont &, double val) const |
virtual void | drawTick (QPainter *p, double val, int len) const |
virtual void | drawBackbone (QPainter *p) const |
virtual void | drawLabel (QPainter *p, double val) const |
|
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]. Definition at line 46 of file qwt_round_scale_draw.cpp. References QwtAbstractScaleDraw::scaleMap(), QwtScaleMap::setPaintInterval(), and setRadius(). |
|
Copy constructor.
Definition at line 55 of file qwt_round_scale_draw.cpp. References d_data. |
|
Destructor.
Definition at line 63 of file qwt_round_scale_draw.cpp. |
|
Get the center of the scale.
Definition at line 113 of file qwt_round_scale_draw.cpp. |
|
Draws the baseline of the scale
Implements QwtAbstractScaleDraw. Definition at line 226 of file qwt_round_scale_draw.cpp. References QwtAbstractScaleDraw::map(), qwtMax, qwtMin, and radius(). |
|
Draws the label for a major scale tick
Implements QwtAbstractScaleDraw. Definition at line 162 of file qwt_round_scale_draw.cpp. References QwtText::draw(), QwtText::isEmpty(), QwtAbstractScaleDraw::label(), labelCenter(), M_PI, QwtAbstractScaleDraw::map(), QwtText::textSize(), QwtAbstractScaleDraw::tickLabel(), and QwtScaleMap::transform(). |
|
Draw a tick
Implements QwtAbstractScaleDraw. Definition at line 192 of file qwt_round_scale_draw.cpp. References QwtPainter::drawLine(), M_PI, QwtAbstractScaleDraw::map(), radius(), and QwtScaleMap::transform(). |
|
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.
Implements QwtAbstractScaleDraw. Definition at line 254 of file qwt_round_scale_draw.cpp. References QwtAbstractScaleDraw::Backbone, QwtScaleDiv::contains(), QwtAbstractScaleDraw::hasComponent(), labelRect(), QwtAbstractScaleDraw::majTickLength(), QwtAbstractScaleDraw::minimumExtent(), qwtMax, QwtAbstractScaleDraw::scaleDiv(), and QwtScaleDiv::ticks(). Referenced by QwtKnob::minimumSizeHint(). |
|
Find the position, where to move the center of a label Definition at line 354 of file qwt_round_scale_draw.cpp. References QwtAbstractScaleDraw::hasComponent(), QwtAbstractScaleDraw::majTickLength(), radius(), QwtAbstractScaleDraw::spacing(), QwtText::textSize(), and QwtText::usedFont(). Referenced by drawLabel(), and labelRect(). |
|
Calculate the bounding rect for a tick label
Definition at line 330 of file qwt_round_scale_draw.cpp. References QwtText::isEmpty(), QwtAbstractScaleDraw::label(), labelCenter(), M_PI, QwtAbstractScaleDraw::map(), QwtText::textSize(), QwtAbstractScaleDraw::tickLabel(), and QwtScaleMap::transform(). Referenced by extent(). |
|
Find the size of the label.
Definition at line 316 of file qwt_round_scale_draw.cpp. References QwtText::textSize(), and QwtAbstractScaleDraw::tickLabel(). |
|
Move the center of the scale draw, leaving the radius unchanged
Definition at line 107 of file qwt_round_scale_draw.cpp. |
|
Assignment operator.
Definition at line 69 of file qwt_round_scale_draw.cpp. References d_data. |
|
Get the radius Radius is the radius of the backbone without ticks and labels.
Definition at line 96 of file qwt_round_scale_draw.cpp. Referenced by drawBackbone(), drawTick(), and labelCenter(). |
|
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.
Definition at line 135 of file qwt_round_scale_draw.cpp. References qwtLim(), qwtMax, qwtMin, QwtAbstractScaleDraw::scaleMap(), and QwtScaleMap::setPaintInterval(). Referenced by QwtKnob::setTotalAngle(). |
|
Change of radius the scale Radius is the radius of the backbone without ticks and labels.
Definition at line 84 of file qwt_round_scale_draw.cpp. Referenced by QwtRoundScaleDraw(). |