# 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 QwtDoubleInterval &, double value) const
QColor | color1 () const
QColor | color2 () const
virtual unsigned char | colorIndex (const QwtDoubleInterval &, double value) const
QwtArray< double > | colorStops () const
virtual QVector< QRgb > | colorTable (const QwtDoubleInterval &) const
virtual QwtColorMap * | copy () const
Format | format () const
Mode | mode () const
QwtLinearColorMap & | operator= (const QwtLinearColorMap &)
| QwtLinearColorMap (const QColor &from, const QColor &to, QwtColorMap::Format=QwtColorMap::RGB)
| QwtLinearColorMap (QwtColorMap::Format=QwtColorMap::RGB)
| QwtLinearColorMap (const QwtLinearColorMap &)
virtual QRgb | rgb (const QwtDoubleInterval &, 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. If mode() == FixedColors the color is calculated from the next lower color stop. If mode() == ScaledColors the color is calculated by interpolating the colors of the adjacent stops.

## Member Enumeration Documentation

enum QwtColorMap::Format`[inherited]`

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

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

enum QwtLinearColorMap::Mode

Mode of color map

See also:
  setMode(), mode()

## 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 | ( | const QwtLinearColorMap & | other | ) |

Copy constructor.

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 QwtDoubleInterval & | 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 QwtDoubleInterval & | 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.

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

Return all positions of color stops in increasing order

QwtColorTable QwtColorMap::colorTable | ( | const QwtDoubleInterval & | 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 * QwtLinearColorMap::copy | ( |  | ) | const`[virtual]`

Clone the color map.

Implements QwtColorMap.

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

QwtLinearColorMap & QwtLinearColorMap::operator= | ( | const QwtLinearColorMap & | other | ) |

Assignment operator.

QRgb QwtLinearColorMap::rgb | ( | const QwtDoubleInterval & | 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()