1# Color wheel (lv_colorwheel)
2
3## Overview
4As its name implies *Color wheel* allows the user to select a color. The Hue, Saturation and Value of the color can be selected separately.
5
6Long pressing the object, the color wheel will change to the next parameter of the color (hue, saturation or value). A double click will reset the current parameter.
7
8## Parts and Styles
9- `LV_PART_MAIN` Only `arc_width` is used to set the width of the color wheel
10- `LV_PART_KNOB` A rectangle (or circle) drawn on the current value. It uses all the rectangle like style properties and padding to make it larger than the width of the arc.
11
12## Usage
13
14### Create a color wheel
15
16`lv_colorwheel_create(parent, knob_recolor)` creates a new color wheel. With `knob_recolor=true` the knob's background color will be set to the current color.
17
18### Set color
19
20The color can be set manually with `lv_colorwheel_set_hue/saturation/value(colorwheel, x)` or all at once with `lv_colorwheel_set_hsv(colorwheel, hsv)` or `lv_colorwheel_set_color(colorwheel, rgb)`
21
22### Color mode
23
24The current color mode can be manually selected with `lv_colorwheel_set_mode(colorwheel, LV_COLORWHEEL_MODE_HUE/SATURATION/VALUE)`.
25
26The color mode can be fixed (so as to not change with long press) using `lv_colorwheel_set_mode_fixed(colorwheel, true)`
27
28## Events
29- `LV_EVENT_VALUE_CHANGED` Sent if a new color is selected.
30
31Learn more about [Events](/overview/event).
32
33## Keys
34- `LV_KEY_UP`, `LV_KEY_RIGHT` Increment the current parameter's value by 1
35- `LV_KEY_DOWN`, `LV_KEY_LEFT` Decrement the current parameter's value by 1
36- `LV_KEY_ENTER` A long press will show the next mode. Double click to reset the current parameter.
37
38Learn more about [Keys](/overview/indev).
39
40## Example
41
42```eval_rst
43
44.. include:: ../../../examples/widgets/colorwheel/index.rst
45
46```
47
48## API
49
50```eval_rst
51
52.. doxygenfile:: lv_colorwheel.h
53  :project: lvgl
54
55```
56