mirror of
https://github.com/lvgl/lvgl.git
synced 2025-02-04 07:13:00 +08:00
Handle USE_LV_ANIMATION being disabled in lv_page and lv_sw
This commit is contained in:
parent
e084fb022b
commit
42a8c59886
@ -571,7 +571,6 @@ void lv_page_scroll_ver(lv_obj_t * page, lv_coord_t dist)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Not intended to use directly by the user but by other object types internally.
|
* Not intended to use directly by the user but by other object types internally.
|
||||||
* Start an edge flash animation. Exactly one `ext->edge_flash.xxx_ip` should be set
|
* Start an edge flash animation. Exactly one `ext->edge_flash.xxx_ip` should be set
|
||||||
@ -579,6 +578,7 @@ void lv_page_scroll_ver(lv_obj_t * page, lv_coord_t dist)
|
|||||||
*/
|
*/
|
||||||
void lv_page_start_edge_flash(lv_obj_t * page)
|
void lv_page_start_edge_flash(lv_obj_t * page)
|
||||||
{
|
{
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
lv_page_ext_t * ext = lv_obj_get_ext_attr(page);
|
lv_page_ext_t * ext = lv_obj_get_ext_attr(page);
|
||||||
if(ext->edge_flash.enabled) {
|
if(ext->edge_flash.enabled) {
|
||||||
lv_anim_t a;
|
lv_anim_t a;
|
||||||
@ -596,6 +596,7 @@ void lv_page_start_edge_flash(lv_obj_t * page)
|
|||||||
a.repeat_pause = 0;
|
a.repeat_pause = 0;
|
||||||
lv_anim_create(&a);
|
lv_anim_create(&a);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,7 +69,9 @@ lv_obj_t * lv_sw_create(lv_obj_t * par, const lv_obj_t * copy)
|
|||||||
|
|
||||||
/*Initialize the allocated 'ext' */
|
/*Initialize the allocated 'ext' */
|
||||||
ext->changed = 0;
|
ext->changed = 0;
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
ext->anim_time = 0;
|
ext->anim_time = 0;
|
||||||
|
#endif
|
||||||
ext->style_knob_off = ext->slider.style_knob;
|
ext->style_knob_off = ext->slider.style_knob;
|
||||||
ext->style_knob_on = ext->slider.style_knob;
|
ext->style_knob_on = ext->slider.style_knob;
|
||||||
|
|
||||||
@ -100,7 +102,9 @@ lv_obj_t * lv_sw_create(lv_obj_t * par, const lv_obj_t * copy)
|
|||||||
lv_sw_ext_t * copy_ext = lv_obj_get_ext_attr(copy);
|
lv_sw_ext_t * copy_ext = lv_obj_get_ext_attr(copy);
|
||||||
ext->style_knob_off = copy_ext->style_knob_off;
|
ext->style_knob_off = copy_ext->style_knob_off;
|
||||||
ext->style_knob_on = copy_ext->style_knob_on;
|
ext->style_knob_on = copy_ext->style_knob_on;
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
ext->anim_time = copy_ext->anim_time;
|
ext->anim_time = copy_ext->anim_time;
|
||||||
|
#endif
|
||||||
|
|
||||||
if(lv_sw_get_state(new_sw)) lv_slider_set_style(new_sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_on);
|
if(lv_sw_get_state(new_sw)) lv_slider_set_style(new_sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_on);
|
||||||
else lv_slider_set_style(new_sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_off);
|
else lv_slider_set_style(new_sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_off);
|
||||||
@ -150,9 +154,11 @@ void lv_sw_off(lv_obj_t * sw)
|
|||||||
void lv_sw_on_anim(lv_obj_t * sw)
|
void lv_sw_on_anim(lv_obj_t * sw)
|
||||||
{
|
{
|
||||||
lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw);
|
lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw);
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
if(lv_sw_get_anim_time(sw) > 0) lv_sw_anim_to_value(sw, LV_SWITCH_SLIDER_ANIM_MAX);
|
if(lv_sw_get_anim_time(sw) > 0)lv_sw_anim_to_value(sw, LV_SWITCH_SLIDER_ANIM_MAX);
|
||||||
else lv_slider_set_value(sw, LV_SWITCH_SLIDER_ANIM_MAX);
|
else
|
||||||
|
#endif
|
||||||
|
lv_slider_set_value(sw, LV_SWITCH_SLIDER_ANIM_MAX);
|
||||||
|
|
||||||
lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_on);
|
lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_on);
|
||||||
}
|
}
|
||||||
@ -164,8 +170,11 @@ void lv_sw_on_anim(lv_obj_t * sw)
|
|||||||
void lv_sw_off_anim(lv_obj_t * sw)
|
void lv_sw_off_anim(lv_obj_t * sw)
|
||||||
{
|
{
|
||||||
lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw);
|
lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw);
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
if(lv_sw_get_anim_time(sw) > 0) lv_sw_anim_to_value(sw, 0);
|
if(lv_sw_get_anim_time(sw) > 0) lv_sw_anim_to_value(sw, 0);
|
||||||
else lv_slider_set_value(sw, 0);
|
else
|
||||||
|
#endif
|
||||||
|
lv_slider_set_value(sw, 0);
|
||||||
|
|
||||||
lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_off);
|
lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_off);
|
||||||
}
|
}
|
||||||
@ -197,15 +206,13 @@ void lv_sw_set_style(lv_obj_t * sw, lv_sw_style_t type, lv_style_t * style)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
void lv_sw_set_anim_time(lv_obj_t *sw, uint16_t anim_time)
|
void lv_sw_set_anim_time(lv_obj_t *sw, uint16_t anim_time)
|
||||||
{
|
{
|
||||||
#if USE_LV_ANIMATION == 0
|
lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw);
|
||||||
anim_time = 0;
|
|
||||||
#endif
|
|
||||||
lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw);
|
|
||||||
ext->anim_time = anim_time;
|
ext->anim_time = anim_time;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*=====================
|
/*=====================
|
||||||
* Getter functions
|
* Getter functions
|
||||||
@ -325,11 +332,15 @@ static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param)
|
|||||||
else if(sign == LV_SIGNAL_PRESS_LOST) {
|
else if(sign == LV_SIGNAL_PRESS_LOST) {
|
||||||
if(lv_sw_get_state(sw)) {
|
if(lv_sw_get_state(sw)) {
|
||||||
lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_on);
|
lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_on);
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
lv_sw_anim_to_value(sw, LV_SWITCH_SLIDER_ANIM_MAX);
|
lv_sw_anim_to_value(sw, LV_SWITCH_SLIDER_ANIM_MAX);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_off);
|
lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_off);
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
lv_sw_anim_to_value(sw, 0);
|
lv_sw_anim_to_value(sw, 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(sign == LV_SIGNAL_RELEASED) {
|
else if(sign == LV_SIGNAL_RELEASED) {
|
||||||
@ -380,7 +391,7 @@ static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if USE_LV_ANIMATION
|
||||||
static void lv_sw_anim_to_value(lv_obj_t * sw, int16_t value)
|
static void lv_sw_anim_to_value(lv_obj_t * sw, int16_t value)
|
||||||
{
|
{
|
||||||
lv_anim_t a;
|
lv_anim_t a;
|
||||||
@ -399,5 +410,6 @@ static void lv_sw_anim_to_value(lv_obj_t * sw, int16_t value)
|
|||||||
a.repeat_pause = 0;
|
a.repeat_pause = 0;
|
||||||
lv_anim_create(&a);
|
lv_anim_create(&a);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user