Color wheel (lv_colorwheel)¶
Overview¶
As its name implies Color wheel allows the user to select a color. The Hue, Saturation and Value of the color can be selected separately.
Long 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.
Parts and Styles¶
LV_PART_MAIN
Onlyarc_width
is used to set the width of the color wheelLV_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.
Usage¶
Create a color wheel¶
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.
Set color¶
The 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)
Color mode¶
The current color mode can be manually selected with lv_colorwheel_set_mode(colorwheel, LV_COLORWHEEL_MODE_HUE/SATURATION/VALUE)
.
The color mode can be fixed (so as to not change with long press) using lv_colorwheel_set_mode_fixed(colorwheel, true)
Keys¶
LV_KEY_UP
,LV_KEY_RIGHT
Increment the current parameter's value by 1LV_KEY_DOWN
,LV_KEY_LEFT
Decrement the current parameter's value by 1LV_KEY_ENTER
A long press will show the next mode. Double click to reset the current parameter.
Learn more about Keys.
Example¶
Simple Colorwheel¶
C code
GitHub#include "../../lv_examples.h"
#if LV_USE_COLORWHEEL && LV_BUILD_EXAMPLES
void lv_example_colorwheel_1(void)
{
lv_obj_t * cw;
cw = lv_colorwheel_create(lv_scr_act(), true);
lv_obj_set_size(cw, 200, 200);
lv_obj_center(cw);
}
#endif
cw = lv.colorwheel(lv.scr_act(), True)
cw.set_size(200, 200)
cw.center()
API¶
Typedefs
-
typedef uint8_t lv_colorwheel_mode_t¶
Enums
Functions
-
lv_obj_t *lv_colorwheel_create(lv_obj_t *parent, bool knob_recolor)¶
Create a color picker object with disc shape
- 参数
parent -- pointer to an object, it will be the parent of the new color picker
knob_recolor -- true: set the knob's color to the current color
- 返回
pointer to the created color picker
-
bool lv_colorwheel_set_hsv(lv_obj_t *obj, lv_color_hsv_t hsv)¶
Set the current hsv of a color wheel.
- 参数
colorwheel -- pointer to color wheel object
color -- current selected hsv
- 返回
true if changed, otherwise false
-
bool lv_colorwheel_set_rgb(lv_obj_t *obj, lv_color_t color)¶
Set the current color of a color wheel.
- 参数
colorwheel -- pointer to color wheel object
color -- current selected color
- 返回
true if changed, otherwise false
-
void lv_colorwheel_set_mode(lv_obj_t *obj, lv_colorwheel_mode_t mode)¶
Set the current color mode.
- 参数
colorwheel -- pointer to color wheel object
mode -- color mode (hue/sat/val)
-
void lv_colorwheel_set_mode_fixed(lv_obj_t *obj, bool fixed)¶
Set if the color mode is changed on long press on center
- 参数
colorwheel -- pointer to color wheel object
fixed -- color mode cannot be changed on long press
-
lv_color_hsv_t lv_colorwheel_get_hsv(lv_obj_t *obj)¶
Get the current selected hsv of a color wheel.
- 参数
colorwheel -- pointer to color wheel object
- 返回
current selected hsv
-
lv_color_t lv_colorwheel_get_rgb(lv_obj_t *obj)¶
Get the current selected color of a color wheel.
- 参数
colorwheel -- pointer to color wheel object
- 返回
color current selected color
-
lv_colorwheel_mode_t lv_colorwheel_get_color_mode(lv_obj_t *obj)¶
Get the current color mode.
- 参数
colorwheel -- pointer to color wheel object
- 返回
color mode (hue/sat/val)
Variables
-
const lv_obj_class_t lv_colorwheel_class¶