mikroSDK Reference Manual
lv_bar.h
Go to the documentation of this file.
1
6#ifndef LV_BAR_H
7#define LV_BAR_H
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13/*********************
14 * INCLUDES
15 *********************/
16#include "../lv_conf_internal.h"
17
18#if LV_USE_BAR != 0
19
20#include "../core/lv_obj.h"
21#include "../misc/lv_anim.h"
22#include "lv_btn.h"
23#include "lv_label.h"
24
25/*********************
26 * DEFINES
27 *********************/
28
29/**********************
30 * TYPEDEFS
31 **********************/
32
33enum {
34 LV_BAR_MODE_NORMAL,
35 LV_BAR_MODE_SYMMETRICAL,
36 LV_BAR_MODE_RANGE
37};
38typedef uint8_t lv_bar_mode_t;
39
40typedef struct {
41 lv_obj_t * bar;
42 int32_t anim_start;
43 int32_t anim_end;
44 int32_t anim_state;
45} _lv_bar_anim_t;
46
47typedef struct {
48 lv_obj_t obj;
49 int32_t cur_value;
50 int32_t min_value;
51 int32_t max_value;
52 int32_t start_value;
53 lv_area_t indic_area;
54 _lv_bar_anim_t cur_value_anim;
55 _lv_bar_anim_t start_value_anim;
56 lv_bar_mode_t mode : 2;
57} lv_bar_t;
58
59extern const lv_obj_class_t lv_bar_class;
60
65typedef enum {
66 LV_BAR_DRAW_PART_INDICATOR,
67} lv_bar_draw_part_type_t;
68
69/**********************
70 * GLOBAL PROTOTYPES
71 **********************/
72
78lv_obj_t * lv_bar_create(lv_obj_t * parent);
79
80/*=====================
81 * Setter functions
82 *====================*/
83
90void lv_bar_set_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim);
91
98void lv_bar_set_start_value(lv_obj_t * obj, int32_t start_value, lv_anim_enable_t anim);
99
106void lv_bar_set_range(lv_obj_t * obj, int32_t min, int32_t max);
107
113void lv_bar_set_mode(lv_obj_t * obj, lv_bar_mode_t mode);
114
115/*=====================
116 * Getter functions
117 *====================*/
118
124int32_t lv_bar_get_value(const lv_obj_t * obj);
125
131int32_t lv_bar_get_start_value(const lv_obj_t * obj);
132
138int32_t lv_bar_get_min_value(const lv_obj_t * obj);
139
145int32_t lv_bar_get_max_value(const lv_obj_t * obj);
146
152lv_bar_mode_t lv_bar_get_mode(lv_obj_t * obj);
153
154/**********************
155 * MACROS
156 **********************/
157
158#endif /*LV_USE_BAR*/
159
160#ifdef __cplusplus
161} /*extern "C"*/
162#endif
163
164#endif /*LV_BAR_H*/
lv_anim_enable_t
Definition lv_anim.h:37
Definition lv_obj_class.h:49
Definition lv_obj.h:174
Definition lv_area.h:43