feat(bar, slider) unse int32_t as bar an slider ranges and values

This commit is contained in:
Gabor Kiss-Vamosi
2021-04-26 14:38:29 +02:00
parent 227afda492
commit 36d3537046
4 changed files with 33 additions and 33 deletions

View File

@@ -48,7 +48,7 @@ static void lv_bar_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
static void lv_bar_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
static void lv_bar_event(const lv_obj_class_t * class_p, lv_event_t * e);
static void draw_indic(lv_event_t * e);
static void lv_bar_set_value_with_anim(lv_obj_t * obj, int16_t new_value, int16_t * value_ptr,
static void lv_bar_set_value_with_anim(lv_obj_t * obj, int32_t new_value, int32_t * value_ptr,
lv_bar_anim_t * anim_info, lv_anim_enable_t en);
static void lv_bar_init_anim(lv_obj_t * bar, lv_bar_anim_t * bar_anim);
static void lv_bar_anim(void * bar, int32_t value);
@@ -85,7 +85,7 @@ lv_obj_t * lv_bar_create(lv_obj_t * parent)
* Setter functions
*====================*/
void lv_bar_set_value(lv_obj_t * obj, int16_t value, lv_anim_enable_t anim)
void lv_bar_set_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim)
{
LV_ASSERT_OBJ(obj, MY_CLASS);
lv_bar_t * bar = (lv_bar_t *)obj;
@@ -99,7 +99,7 @@ void lv_bar_set_value(lv_obj_t * obj, int16_t value, lv_anim_enable_t anim)
lv_bar_set_value_with_anim(obj, value, &bar->cur_value, &bar->cur_value_anim, anim);
}
void lv_bar_set_start_value(lv_obj_t * obj, int16_t value, lv_anim_enable_t anim)
void lv_bar_set_start_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim)
{
LV_ASSERT_OBJ(obj, MY_CLASS);
@@ -112,7 +112,7 @@ void lv_bar_set_start_value(lv_obj_t * obj, int16_t value, lv_anim_enable_t anim
lv_bar_set_value_with_anim(obj, value, &bar->start_value, &bar->start_value_anim, anim);
}
void lv_bar_set_range(lv_obj_t * obj, int16_t min, int16_t max)
void lv_bar_set_range(lv_obj_t * obj, int32_t min, int32_t max)
{
LV_ASSERT_OBJ(obj, MY_CLASS);
@@ -154,7 +154,7 @@ void lv_bar_set_mode(lv_obj_t * obj, lv_bar_mode_t mode)
* Getter functions
*====================*/
int16_t lv_bar_get_value(const lv_obj_t * obj)
int32_t lv_bar_get_value(const lv_obj_t * obj)
{
LV_ASSERT_OBJ(obj, MY_CLASS);
lv_bar_t * bar = (lv_bar_t *)obj;
@@ -162,7 +162,7 @@ int16_t lv_bar_get_value(const lv_obj_t * obj)
return LV_BAR_GET_ANIM_VALUE(bar->cur_value, bar->cur_value_anim);
}
int16_t lv_bar_get_start_value(const lv_obj_t * obj)
int32_t lv_bar_get_start_value(const lv_obj_t * obj)
{
LV_ASSERT_OBJ(obj, MY_CLASS);
lv_bar_t * bar = (lv_bar_t *)obj;
@@ -172,14 +172,14 @@ int16_t lv_bar_get_start_value(const lv_obj_t * obj)
return LV_BAR_GET_ANIM_VALUE(bar->start_value, bar->start_value_anim);
}
int16_t lv_bar_get_min_value(const lv_obj_t * obj)
int32_t lv_bar_get_min_value(const lv_obj_t * obj)
{
LV_ASSERT_OBJ(obj, MY_CLASS);
lv_bar_t * bar = (lv_bar_t *)obj;
return bar->min_value;
}
int16_t lv_bar_get_max_value(const lv_obj_t * obj)
int32_t lv_bar_get_max_value(const lv_obj_t * obj)
{
LV_ASSERT_OBJ(obj, MY_CLASS);
lv_bar_t * bar = (lv_bar_t *)obj;
@@ -380,7 +380,7 @@ static void draw_indic(lv_event_t * e)
/*Do not draw a zero length indicator*/
if(!sym && indic_length_calc(&bar->indic_area) <= 1) return;
uint16_t bg_radius = lv_obj_get_style_radius(obj, LV_PART_MAIN);
lv_coord_t bg_radius = lv_obj_get_style_radius(obj, LV_PART_MAIN);
lv_coord_t short_side = LV_MIN(barw, barh);
if(bg_radius > short_side >> 1) bg_radius = short_side >> 1;
@@ -417,7 +417,7 @@ static void draw_indic(lv_event_t * e)
bg_mask_area.y2 = obj->coords.y2 - bg_bottom;
lv_draw_mask_radius_init(&mask_bg_param, &bg_mask_area, bg_radius, false);
int16_t mask_bg_id = lv_draw_mask_add(&mask_bg_param, NULL);
lv_coord_t mask_bg_id = lv_draw_mask_add(&mask_bg_param, NULL);
#endif
/*Draw_only the background and background image*/
@@ -525,7 +525,7 @@ static void lv_bar_anim_ready(lv_anim_t * a)
lv_obj_invalidate(var->bar);
}
static void lv_bar_set_value_with_anim(lv_obj_t * obj, int16_t new_value, int16_t * value_ptr,
static void lv_bar_set_value_with_anim(lv_obj_t * obj, int32_t new_value, int32_t * value_ptr,
lv_bar_anim_t * anim_info, lv_anim_enable_t en)
{
if(en == LV_ANIM_OFF) {

View File

@@ -46,10 +46,10 @@ typedef struct {
typedef struct {
lv_obj_t obj;
int16_t cur_value; /**< Current value of the bar*/
int16_t min_value; /**< Minimum value of the bar*/
int16_t max_value; /**< Maximum value of the bar*/
int16_t start_value; /**< Start value of the bar*/
int32_t cur_value; /**< Current value of the bar*/
int32_t min_value; /**< Minimum value of the bar*/
int32_t max_value; /**< Maximum value of the bar*/
int32_t start_value; /**< Start value of the bar*/
lv_area_t indic_area; /**< Save the indicator area. Might be used by derived types*/
lv_bar_anim_t cur_value_anim;
lv_bar_anim_t start_value_anim;
@@ -79,7 +79,7 @@ lv_obj_t * lv_bar_create(lv_obj_t * parent);
* @param value new value
* @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately
*/
void lv_bar_set_value(lv_obj_t * obj, int16_t value, lv_anim_enable_t anim);
void lv_bar_set_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim);
/**
* Set a new start value on the bar
@@ -87,7 +87,7 @@ void lv_bar_set_value(lv_obj_t * obj, int16_t value, lv_anim_enable_t anim);
* @param value new start value
* @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately
*/
void lv_bar_set_start_value(lv_obj_t * obj, int16_t start_value, lv_anim_enable_t anim);
void lv_bar_set_start_value(lv_obj_t * obj, int32_t start_value, lv_anim_enable_t anim);
/**
* Set minimum and the maximum values of a bar
@@ -95,7 +95,7 @@ void lv_bar_set_start_value(lv_obj_t * obj, int16_t start_value, lv_anim_enable_
* @param min minimum value
* @param max maximum value
*/
void lv_bar_set_range(lv_obj_t * obj, int16_t min, int16_t max);
void lv_bar_set_range(lv_obj_t * obj, int32_t min, int32_t max);
/**
* Set the type of bar.
@@ -113,28 +113,28 @@ void lv_bar_set_mode(lv_obj_t * obj, lv_bar_mode_t mode);
* @param obj pointer to a bar object
* @return the value of the bar
*/
int16_t lv_bar_get_value(const lv_obj_t * obj);
int32_t lv_bar_get_value(const lv_obj_t * obj);
/**
* Get the start value of a bar
* @param obj pointer to a bar object
* @return the start value of the bar
*/
int16_t lv_bar_get_start_value(const lv_obj_t * obj);
int32_t lv_bar_get_start_value(const lv_obj_t * obj);
/**
* Get the minimum value of a bar
* @param obj pointer to a bar object
* @return the minimum value of the bar
*/
int16_t lv_bar_get_min_value(const lv_obj_t * obj);
int32_t lv_bar_get_min_value(const lv_obj_t * obj);
/**
* Get the maximum value of a bar
* @param obj pointer to a bar object
* @return the maximum value of the bar
*/
int16_t lv_bar_get_max_value(const lv_obj_t * obj);
int32_t lv_bar_get_max_value(const lv_obj_t * obj);
/**
* Get the type of bar.

View File

@@ -196,9 +196,9 @@ static void lv_slider_event(const lv_obj_class_t * class_p, lv_event_t * e)
lv_coord_t bg_bottom = lv_obj_get_style_pad_bottom(obj, LV_PART_MAIN);
int32_t range = slider->bar.max_value - slider->bar.min_value;
int16_t new_value = 0;
int16_t real_max_value = slider->bar.max_value;
int16_t real_min_value = slider->bar.min_value;
int32_t new_value = 0;
int32_t real_max_value = slider->bar.max_value;
int32_t real_min_value = slider->bar.min_value;
if(w >= h) {
lv_coord_t indic_w = w - bg_left - bg_right;

View File

@@ -44,7 +44,7 @@ typedef struct {
lv_bar_t bar; /*Add the ancestor's type first*/
lv_area_t left_knob_area;
lv_area_t right_knob_area;
int16_t * value_to_set; /*Which bar value to set*/
int32_t * value_to_set; /*Which bar value to set*/
uint8_t dragging : 1; /*1: the slider is being dragged*/
uint8_t left_knob_focus : 1; /*1: with encoder now the right knob can be adjusted*/
}lv_slider_t;
@@ -72,7 +72,7 @@ lv_obj_t * lv_slider_create(lv_obj_t * parent);
* @param value the new value
* @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately
*/
static inline void lv_slider_set_value(lv_obj_t * obj, int16_t value, lv_anim_enable_t anim)
static inline void lv_slider_set_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim)
{
lv_bar_set_value(obj, value, anim);
}
@@ -83,7 +83,7 @@ static inline void lv_slider_set_value(lv_obj_t * obj, int16_t value, lv_anim_en
* @param value new value
* @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately
*/
static inline void lv_slider_set_left_value(lv_obj_t * obj, int16_t value, lv_anim_enable_t anim)
static inline void lv_slider_set_left_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim)
{
lv_bar_set_start_value(obj, value, anim);
}
@@ -94,7 +94,7 @@ static inline void lv_slider_set_left_value(lv_obj_t * obj, int16_t value, lv_an
* @param min minimum value
* @param max maximum value
*/
static inline void lv_slider_set_range(lv_obj_t * obj, int16_t min, int16_t max)
static inline void lv_slider_set_range(lv_obj_t * obj, int32_t min, int32_t max)
{
lv_bar_set_range(obj, min, max);
}
@@ -118,7 +118,7 @@ static inline void lv_slider_set_mode(lv_obj_t * obj, lv_slider_mode_t mode)
* @param obj pointer to a slider object
* @return the value of the main knob of the slider
*/
static inline int16_t lv_slider_get_value(const lv_obj_t * obj)
static inline int32_t lv_slider_get_value(const lv_obj_t * obj)
{
return lv_bar_get_value(obj);
}
@@ -128,7 +128,7 @@ static inline int16_t lv_slider_get_value(const lv_obj_t * obj)
* @param obj pointer to a slider object
* @return the value of the left knob of the slider
*/
static inline int16_t lv_slider_get_left_value(const lv_obj_t * obj)
static inline int32_t lv_slider_get_left_value(const lv_obj_t * obj)
{
return lv_bar_get_start_value(obj);
}
@@ -138,7 +138,7 @@ static inline int16_t lv_slider_get_left_value(const lv_obj_t * obj)
* @param obj pointer to a slider object
* @return the minimum value of the slider
*/
static inline int16_t lv_slider_get_min_value(const lv_obj_t * obj)
static inline int32_t lv_slider_get_min_value(const lv_obj_t * obj)
{
return lv_bar_get_min_value(obj);
}
@@ -148,7 +148,7 @@ static inline int16_t lv_slider_get_min_value(const lv_obj_t * obj)
* @param obj pointer to a slider object
* @return the maximum value of the slider
*/
static inline int16_t lv_slider_get_max_value(const lv_obj_t * obj)
static inline int32_t lv_slider_get_max_value(const lv_obj_t * obj)
{
return lv_bar_get_max_value(obj);
}