# QwtCompassMagnetNeedle Class Reference

A magnet needle for compass widgets. More...

`#include <qwt_dial_needle.h>`

Inheritance diagram for QwtCompassMagnetNeedle:
[legend]

List of all members.

## Public Types

enum | Style { TriangleStyle, ThinStyle }

## Public Member Functions

virtual void | draw (QPainter *, const QPoint &, int length, double direction, QPalette::ColorGroup=QPalette::Active) const
const QPalette & | palette () const
| QwtCompassMagnetNeedle (Style=TriangleStyle, const QColor &light=Qt::white, const QColor &dark=Qt::red)
virtual void | setPalette (const QPalette &)

## Static Public Member Functions

static void | drawThinNeedle (QPainter *, const QPalette &, QPalette::ColorGroup, const QPoint &, int length, double direction)
static void | drawTriangleNeedle (QPainter *, const QPalette &, QPalette::ColorGroup, const QPoint &, int length, double direction)

## Static Protected Member Functions

static void | drawKnob (QPainter *, const QPoint &pos, int width, const QBrush &, bool sunken)
static void | drawPointer (QPainter *painter, const QBrush &brush, int colorOffset, const QPoint &center, int length, int width, double direction)

## Detailed Description

A magnet needle for compass widgets.

A magnet needle points to two opposite directions indicating north and south.

The following colors are used:

- QColorGroup::Light
  Used for pointing south
- QColorGroup::Dark
  Used for pointing north
- QColorGroup::Base
  Knob (ThinStyle only)

See also:
  QwtDial, QwtCompass

## Member Enumeration Documentation

enum QwtCompassMagnetNeedle::Style

Style of the needle.

## Constructor & Destructor Documentation

QwtCompassMagnetNeedle::QwtCompassMagnetNeedle | ( | Style | style = `TriangleStyle`,
|  | const QColor & | light = `Qt::white`,
|  | const QColor & | dark = `Qt::red`
| ) |  |

Constructor.

## Member Function Documentation

void QwtCompassMagnetNeedle::draw | ( | QPainter * | painter,
|  | const QPoint & | center,
|  | int | length,
|  | double | direction,
|  | QPalette::ColorGroup | colorGroup = `QPalette::Active`
| ) |  | const`[virtual]`

Draw the needle

Parameters:

  painter | Painter
  center | Center of the dial, start position for the needle
  length | Length of the needle
  direction | Direction of the needle, in degrees counter clockwise
  colorGroup | Color group, used for painting

Implements QwtDialNeedle.

void QwtDialNeedle::drawKnob | ( | QPainter * | painter,
|  | const QPoint & | pos,
|  | int | width,
|  | const QBrush & | brush,
|  | bool | sunken
| ) |  | `[static, protected, inherited]`

Draw the knob.

void QwtCompassMagnetNeedle::drawPointer | ( | QPainter * | painter,
|  | const QBrush & | brush,
|  | int | colorOffset,
|  | const QPoint & | center,
|  | int | length,
|  | int | width,
|  | double | direction
| ) |  | `[static, protected]`

Draw a compass needle

Parameters:

  painter | Painter
  brush | Brush
  colorOffset | Color offset
  center | Center, where the needle starts
  length | Length of the needle
  width | Width of the needle
  direction | Direction

void QwtCompassMagnetNeedle::drawThinNeedle | ( | QPainter * | painter,
|  | const QPalette & | palette,
|  | QPalette::ColorGroup | colorGroup,
|  | const QPoint & | center,
|  | int | length,
|  | double | direction
| ) |  | `[static]`

Draw a compass needle

Parameters:

  painter | Painter
  palette | Palette
  colorGroup | Color group
  center | Center, where the needle starts
  length | Length of the needle
  direction | Direction

void QwtCompassMagnetNeedle::drawTriangleNeedle | ( | QPainter * | painter,
|  | const QPalette & | palette,
|  | QPalette::ColorGroup | colorGroup,
|  | const QPoint & | center,
|  | int | length,
|  | double | direction
| ) |  | `[static]`

Draw a compass needle

Parameters:

  painter | Painter
  palette | Palette
  colorGroup | Color group
  center | Center, where the needle starts
  length | Length of the needle
  direction | Direction

const QPalette & QwtDialNeedle::palette | ( |  | ) | const`[inherited]`

Returns:
  the palette of the needle.

void QwtDialNeedle::setPalette | ( | const QPalette & | palette | ) | `[virtual, inherited]`

Sets the palette for the needle.

Parameters:

  palette | New Palette