Bar (lv_bar)¶
Overview¶
The ‘Bar’ objects have got two main parts:
a background which is the object itself.
an indicator which shape is similar to the background but its width/height can be adjusted.
The orientation of the bar can be vertical or horizontal according to the width/height ratio. Logically, on horizontal bars, the indicator’s width can be changed. Similarly, on vertical bars, the indicator’s height can be changed.
Value and range¶
A new value can be set by lv_bar_set_value(bar, new_value, LV_ANIM_ON/OFF)
.
The value is interpreted in a range (minimum and maximum values) which can be modified with lv_bar_set_range(bar, min, max)
.
The default range is 1..100.
The new value in lv_bar_set_value
can be set with or without an animation depending on the last parameter (LV_ANIM_ON/OFF
).
The time of the animation can be adjusted by lv_bar_set_anim_time(bar, 100)
. The time is in milliseconds unit.
Symmetrical¶
The bar can be drawn symmetrical to zero (drawn from zero, left to right), if it’s enabled with lv_bar_set_sym(bar, true)
Styles¶
To set the style of an Bar object, use lv_bar_set_style(arc, LV_BAR_STYLE_MAIN, &style)
:
LV_BAR_STYLE_BG - is a Base object, therefore, it uses its style elements. Its default style is:
lv_style_pretty
.LV_BAR_STYLE_INDIC - is similar to the background. It uses the left, right, top and bottom paddings to keeps some space form the edges of the background. Its default style is:
lv_style_pretty_color
.
Example¶
API¶
Typedefs
-
typedef uint8_t
lv_bar_style_t
¶
Enums
Functions
-
LV_EXPORT_CONST_INT
(LV_BAR_ANIM_STATE_START)¶
-
LV_EXPORT_CONST_INT
(LV_BAR_ANIM_STATE_END)¶
-
LV_EXPORT_CONST_INT
(LV_BAR_ANIM_STATE_INV)¶
-
LV_EXPORT_CONST_INT
(LV_BAR_ANIM_STATE_NORM)¶
-
lv_obj_t *
lv_bar_create
(lv_obj_t *par, const lv_obj_t *copy)¶ Create a bar objects
- Return
pointer to the created bar
- Parameters
par
: pointer to an object, it will be the parent of the new barcopy
: pointer to a bar object, if not NULL then the new object will be copied from it
-
void
lv_bar_set_value
(lv_obj_t *bar, int16_t value, lv_anim_enable_t anim)¶ Set a new value on the bar
- Parameters
bar
: pointer to a bar objectvalue
: new valueanim
: LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately
-
void
lv_bar_set_range
(lv_obj_t *bar, int16_t min, int16_t max)¶ Set minimum and the maximum values of a bar
- Parameters
bar
: pointer to the bar objectmin
: minimum valuemax
: maximum value
-
void
lv_bar_set_sym
(lv_obj_t *bar, bool en)¶ Make the bar symmetric to zero. The indicator will grow from zero instead of the minimum position.
- Parameters
bar
: pointer to a bar objecten
: true: enable disable symmetric behavior; false: disable
-
void
lv_bar_set_anim_time
(lv_obj_t *bar, uint16_t anim_time)¶ Set the animation time of the bar
- Parameters
bar
: pointer to a bar objectanim_time
: the animation time in milliseconds.
-
void
lv_bar_set_style
(lv_obj_t *bar, lv_bar_style_t type, const lv_style_t *style)¶ Set a style of a bar
- Parameters
bar
: pointer to a bar objecttype
: which style should be setstyle
: pointer to a style
-
int16_t
lv_bar_get_value
(const lv_obj_t *bar)¶ Get the value of a bar
- Return
the value of the bar
- Parameters
bar
: pointer to a bar object
-
int16_t
lv_bar_get_min_value
(const lv_obj_t *bar)¶ Get the minimum value of a bar
- Return
the minimum value of the bar
- Parameters
bar
: pointer to a bar object
-
int16_t
lv_bar_get_max_value
(const lv_obj_t *bar)¶ Get the maximum value of a bar
- Return
the maximum value of the bar
- Parameters
bar
: pointer to a bar object
-
bool
lv_bar_get_sym
(lv_obj_t *bar)¶ Get whether the bar is symmetric or not.
- Return
true: symmetric is enabled; false: disable
- Parameters
bar
: pointer to a bar object
-
uint16_t
lv_bar_get_anim_time
(lv_obj_t *bar)¶ Get the animation time of the bar
- Return
the animation time in milliseconds.
- Parameters
bar
: pointer to a bar object
-
const lv_style_t *
lv_bar_get_style
(const lv_obj_t *bar, lv_bar_style_t type)¶ Get a style of a bar
- Return
style pointer to a style
- Parameters
bar
: pointer to a bar objecttype
: which style should be get
-
struct
lv_bar_ext_t
¶ - #include <lv_bar.h>
Data of bar
Public Members
-
int16_t
cur_value
¶
-
int16_t
min_value
¶
-
int16_t
max_value
¶
-
lv_anim_value_t
anim_start
¶
-
lv_anim_value_t
anim_end
¶
-
lv_anim_value_t
anim_state
¶
-
lv_anim_value_t
anim_time
¶
-
uint8_t
sym
¶
-
const lv_style_t *
style_indic
¶
-
int16_t