---
name: "QwtRoundScaleDraw"
section: "3"
platform: "linux"
package: "libqwt-doc"
version: "6.1.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtRoundScaleDraw"
---

# QwtRoundScaleDraw(3)

A class for drawing round scales.

## NAME

QwtRoundScaleDraw - A class for drawing round scales.

## SYNOPSIS

`#include <qwt_round_scale_draw.h>`

Inherits **QwtAbstractScaleDraw**.

Inherited by QwtAnalogClockScaleDraw, and **QwtCompassScaleDraw**.

### Public Member Functions

**QwtRoundScaleDraw** ()\
 Constructor.  virtual **~QwtRoundScaleDraw** ()\
 Destructor.  void **setRadius** (double **radius**)\
 double **radius** () const\
 void **moveCenter** (double x, double y)\
 Move the center of the scale draw, leaving the radius unchanged.  void **moveCenter** (const QPointF &)\
 QPointF **center** () const\
 Get the center of the scale.  void **setAngleRange** (double angle1, double angle2)\
 Adjust the baseline circle segment for round scales.  virtual double **extent** (const QFont &) const\

### Protected Member Functions

virtual void **drawTick** (QPainter \*, double value, double len) const\
 virtual void **drawBackbone** (QPainter \*) const\
 virtual void **drawLabel** (QPainter \*, double val) const\

### Additional Inherited Members

## Detailed Description

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.

## 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\].

## Member Function Documentation

### 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, double len) const` [protected]`, ` [virtual]`

Draw a tick

**Parameters:**

*painter* Painter \
 *value* Value of the tick \
 *len* Length of the tick

**See also:**

**drawBackbone()**, **drawLabel()**

Implements **QwtAbstractScaleDraw**.

### 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**.

### void QwtRoundScaleDraw::moveCenter (const QPointF & center)

Move the center of the scale draw, leaving the radius unchanged

**Parameters:**

*center* New center

**See also:**

**setRadius()**

### 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()**

### 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()**

### void QwtRoundScaleDraw::setRadius (double 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.
