# QwtLinearColorMap Class Reference

QwtLinearColorMap builds a color map from color stops. More...

`#include <qwt_color_map.h>`

Inheritance diagram for QwtLinearColorMap:
[legend]

List of all members.

## Public Types

enum | Format { RGB, Indexed }
enum | Mode { FixedColors, ScaledColors }

## Public Member Functions

void | addColorStop (double value, const QColor &)
QColor | color (const QwtInterval &, double value) const
QColor | color1 () const
QColor | color2 () const
virtual unsigned char | colorIndex (const QwtInterval &, double value) const
QVector< double > | colorStops () const
virtual QVector< QRgb > | colorTable (const QwtInterval &) const
Format | format () const
Mode | mode () const
| QwtLinearColorMap (QwtColorMap::Format=QwtColorMap::RGB)
| QwtLinearColorMap (const QColor &from, const QColor &to, QwtColorMap::Format=QwtColorMap::RGB)
virtual QRgb | rgb (const QwtInterval &, double value) const
void | setColorInterval (const QColor &color1, const QColor &color2)
void | setMode (Mode)
virtual | ~QwtLinearColorMap ()

## Detailed Description

QwtLinearColorMap builds a color map from color stops.

A color stop is a color at a specific position. The valid range for the positions is [0.0, 1.0]. When mapping a value into a color it is translated into this interval according to mode().

## Member Enumeration Documentation

enum QwtColorMap::Format `[inherited]`

Format for color mapping

See also:
  rgb(), colorIndex(), colorTable()

Enumerator:

  RGB | The map is intended to map into QRgb values.
  Indexed | The map is intended to map into 8 bit values, that are indices into the color table.

enum QwtLinearColorMap::Mode

Mode of color map

See also:
  setMode(), mode()

Enumerator:

  FixedColors | Return the color from the next lower color stop.
  ScaledColors | Interpolating the colors of the adjacent stops.

## Constructor & Destructor Documentation

QwtLinearColorMap::QwtLinearColorMap | ( | QwtColorMap::Format | format = `QwtColorMap::RGB` | ) |

Build a color map with two stops at 0.0 and 1.0. The color at 0.0 is Qt::blue, at 1.0 it is Qt::yellow.

Parameters:

  format | Preferred format of the color map

QwtLinearColorMap::QwtLinearColorMap | ( | const QColor & | color1,
|  | const QColor & | color2,
|  | QwtColorMap::Format | format = `QwtColorMap::RGB`
| ) |  |

Build a color map with two stops at 0.0 and 1.0.

Parameters:

  color1 | Color used for the minimum value of the value interval
  color2 | Color used for the maximum value of the value interval
  format | Preferred format of the coor map

QwtLinearColorMap::~QwtLinearColorMap | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

void QwtLinearColorMap::addColorStop | ( | double | value,
|  | const QColor & | color
| ) |  |

Add a color stop

The value has to be in the range [0.0, 1.0]. F.e. a stop at position 17.0 for a range [10.0,20.0] must be passed as: (17.0 - 10.0) / (20.0 - 10.0)

Parameters:

  value | Value between [0.0, 1.0]
  color | Color stop

QColor QwtColorMap::color | ( | const QwtInterval & | interval,
|  | double | value
| ) |  | const`[inline, inherited]`

Map a value into a color

Parameters:

  interval | Valid interval for values
  value | Value

Returns:
  Color corresponding to value

Warning:
  This method is slow for Indexed color maps. If it is necessary to map many values, its better to get the color table once and find the color using colorIndex().

QColor QwtLinearColorMap::color1 | ( |  | ) | const

Returns:
  the first color of the color range

See also:
  setColorInterval()

QColor QwtLinearColorMap::color2 | ( |  | ) | const

Returns:
  the second color of the color range

See also:
  setColorInterval()

unsigned char QwtLinearColorMap::colorIndex | ( | const QwtInterval & | interval,
|  | double | value
| ) |  | const`[virtual]`

Map a value of a given interval into a color index, between 0 and 255

Parameters:

  interval | Range for all values
  value | Value to map into a color index

Implements QwtColorMap.

QVector< double > QwtLinearColorMap::colorStops | ( |  | ) | const

Return all positions of color stops in increasing order

QVector< QRgb > QwtColorMap::colorTable | ( | const QwtInterval & | interval | ) | const`[virtual, inherited]`

Build and return a color map of 256 colors

The color table is needed for rendering indexed images in combination with using colorIndex().

Parameters:

  interval | Range for the values

Returns:
  A color table, that can be used for a QImage

QwtColorMap::Format QwtColorMap::format | ( |  | ) | const`[inline, inherited]`

Returns:
  Intended format of the color map

See also:
  Format

QwtLinearColorMap::Mode QwtLinearColorMap::mode | ( |  | ) | const

Returns:
  Mode of the color map

See also:
  setMode()

QRgb QwtLinearColorMap::rgb | ( | const QwtInterval & | interval,
|  | double | value
| ) |  | const`[virtual]`

Map a value of a given interval into a rgb value

Parameters:

  interval | Range for all values
  value | Value to map into a rgb value

Implements QwtColorMap.

void QwtLinearColorMap::setColorInterval | ( | const QColor & | color1,
|  | const QColor & | color2
| ) |  |

Set the color range

Add stops at 0.0 and 1.0.

Parameters:

  color1 | Color used for the minimum value of the value interval
  color2 | Color used for the maximum value of the value interval

See also:
  color1(), color2()

void QwtLinearColorMap::setMode | ( | Mode | mode | ) |

Set the mode of the color map.

FixedColors means the color is calculated from the next lower color stop. ScaledColors means the color is calculated by interpolating the colors of the adjacent stops.

See also:
  mode()