Poster of Linux kernelThe best gift for a Linux geek
QwtRoundScaleDraw

QwtRoundScaleDraw

Section: C Library Functions (3) Updated: 22 Mar 2009
Local index Up
 

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.


 

Index

NAME
SYNOPSIS
Public Member Functions
Protected Member Functions
Detailed Description
Constructor & Destructor Documentation
QwtRoundScaleDraw::QwtRoundScaleDraw ()
QwtRoundScaleDraw::QwtRoundScaleDraw (const QwtRoundScaleDraw & other)
QwtRoundScaleDraw::~QwtRoundScaleDraw () [virtual]
Member Function Documentation
QPoint QwtRoundScaleDraw::center () const
void QwtRoundScaleDraw::drawBackbone (QPainter * painter) const [protected, virtual]
void QwtRoundScaleDraw::drawLabel (QPainter * painter, double value) const [protected, virtual]
void QwtRoundScaleDraw::drawTick (QPainter * painter, double value, int len) const [protected, virtual]
int QwtRoundScaleDraw::extent (const QPen & pen, const QFont & font) const [virtual]
void QwtRoundScaleDraw::moveCenter (const QPoint & center)
void QwtRoundScaleDraw::moveCenter (int x, int y) [inline]
QwtRoundScaleDraw & QwtRoundScaleDraw::operator= (const QwtRoundScaleDraw & other)
int QwtRoundScaleDraw::radius () const
void QwtRoundScaleDraw::setAngleRange (double angle1, double angle2)
void QwtRoundScaleDraw::setRadius (int radius)
Author

This document was created by man2html, using the manual pages.
Time: 21:53:53 GMT, April 16, 2011