From 42a8c598862df7c2fc00ad2e1294cdb0177c967d Mon Sep 17 00:00:00 2001 From: Themba Dube Date: Mon, 10 Dec 2018 15:35:57 -0500 Subject: [PATCH] Handle USE_LV_ANIMATION being disabled in lv_page and lv_sw --- lv_objx/lv_page.c | 3 ++- lv_objx/lv_sw.c | 32 ++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/lv_objx/lv_page.c b/lv_objx/lv_page.c index cd36c3143..38d75fa8f 100644 --- a/lv_objx/lv_page.c +++ b/lv_objx/lv_page.c @@ -571,7 +571,6 @@ void lv_page_scroll_ver(lv_obj_t * page, lv_coord_t dist) #endif } - /** * 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 @@ -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) { +#if USE_LV_ANIMATION lv_page_ext_t * ext = lv_obj_get_ext_attr(page); if(ext->edge_flash.enabled) { lv_anim_t a; @@ -596,6 +596,7 @@ void lv_page_start_edge_flash(lv_obj_t * page) a.repeat_pause = 0; lv_anim_create(&a); } +#endif } diff --git a/lv_objx/lv_sw.c b/lv_objx/lv_sw.c index 570a6c4f4..8a43c56b2 100644 --- a/lv_objx/lv_sw.c +++ b/lv_objx/lv_sw.c @@ -69,7 +69,9 @@ lv_obj_t * lv_sw_create(lv_obj_t * par, const lv_obj_t * copy) /*Initialize the allocated 'ext' */ ext->changed = 0; +#if USE_LV_ANIMATION ext->anim_time = 0; +#endif ext->style_knob_off = 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); ext->style_knob_off = copy_ext->style_knob_off; ext->style_knob_on = copy_ext->style_knob_on; +#if USE_LV_ANIMATION 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); 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) { lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw); - - 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); +#if USE_LV_ANIMATION + if(lv_sw_get_anim_time(sw) > 0)lv_sw_anim_to_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); } @@ -164,8 +170,11 @@ void lv_sw_on_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); +#if USE_LV_ANIMATION 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); } @@ -197,15 +206,13 @@ void lv_sw_set_style(lv_obj_t * sw, lv_sw_style_t type, lv_style_t * style) break; } } - +#if USE_LV_ANIMATION void lv_sw_set_anim_time(lv_obj_t *sw, uint16_t anim_time) { -#if USE_LV_ANIMATION == 0 - anim_time = 0; -#endif - lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw); + lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw); ext->anim_time = anim_time; } +#endif /*===================== * 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) { if(lv_sw_get_state(sw)) { 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); +#endif } else { lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_off); +#if USE_LV_ANIMATION lv_sw_anim_to_value(sw, 0); +#endif } } 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; } - +#if USE_LV_ANIMATION static void lv_sw_anim_to_value(lv_obj_t * sw, int16_t value) { 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; lv_anim_create(&a); } +#endif #endif