## class fltk::ColorChooser

Shown here is the output of the function `fltk::color_chooser()`, which you may want to use. This window contains an fltk::ColorChooser and also two color chips below it and the ok/cancel buttons.

### Class Hierarchy

    fltk::Group
       |
       +----fltk::ColorChooser

### Include Files

    #include <fltk/ColorChooser.h>

### Description

The `fltk::ColorChooser` widget provides a standard RGB color chooser. You can place any number of these into a panel of your own design. This widget contains the hue box, value slider, and rgb input fields from the above diagram (it does not have the color chips or the Cancel or OK buttons). The callback is done every time the user changes the rgb value. It is not done if they move the hue control in a way that produces the same rgb value, such as when saturation or value is zero.

### Methods

- fltk::ColorChooser
- ~ColorChooser

#### fltk::ColorChooser::ColorChooser(int x, int y, int w, int h, const char *label = 0)

Creates a new `fltk::ColorChooser` widget using the given position, size, and label string. The recommended dimensions are 200x95. The color is initialized to black.

#### virtual fltk::ColorChooser::~ColorChooser()

The destructor removes the color chooser and all of its controls.

#### double fltk::ColorChooser::hue() const

Return the current hue. 0 <= hue < 6. Zero is red, one is yellow, two is green, etc. This value is convienent for the internal calculations - some other systems consider hue to run from zero to one, or from 0 to 360.

#### double fltk::ColorChooser::saturation() const

Returns the saturation. 0 <= saturation <= 1.

#### double fltk::ColorChooser::value() const

Returns the value/brightness. 0 <= value <= 1.

#### double fltk::ColorChooser::r() const

Returns the current red value. 0 <= r <= 1.

#### double fltk::ColorChooser::g() const

Returns the current green value. 0 <= g <= 1.

#### double fltk::ColorChooser::b() const

Returns the current blue value. 0 <= b <= 1.

#### int fltk::ColorChooser::rgb(double, double, double)

Sets the current rgb color values. Does not do the callback. Does not clamp (but out of range values will produce psychedelic effects in the hue selector).

#### int fltk::ColorChooser::hsv(double,double,double)

Set the hsv values. The passed values are clamped (or for hue, modulus 6 is used) to get legal values. Does not do the callback.

#### static void fltk::ColorChooser::hsv2rgb(double, double, double, double&, double&, double&)

This static method converts HSV colors to RGB colorspace.

#### static void fltk::ColorChooser::rgb2hsv(double, double, double, double&, double&, double&)

This static method converts RGB colors to HSV colorspace.