fix(theme): properly disable transitions if LV_THEME_DEFAULT_TRANSITION_TIME==0

fixes #3157
This commit is contained in:
Gabor Kiss-Vamosi
2022-03-18 15:46:07 +01:00
parent 306fa19682
commit 242112b2df

View File

@@ -218,26 +218,31 @@ static void style_init(void)
color_card = theme.flags & MODE_DARK ? DARK_COLOR_CARD : LIGHT_COLOR_CARD; color_card = theme.flags & MODE_DARK ? DARK_COLOR_CARD : LIGHT_COLOR_CARD;
color_grey = theme.flags & MODE_DARK ? DARK_COLOR_GREY : LIGHT_COLOR_GREY; color_grey = theme.flags & MODE_DARK ? DARK_COLOR_GREY : LIGHT_COLOR_GREY;
style_init_reset(&styles->transition_delayed);
style_init_reset(&styles->transition_normal);
#if TRANSITION_TIME
static lv_style_transition_dsc_t trans_delayed; static lv_style_transition_dsc_t trans_delayed;
lv_style_transition_dsc_init(&trans_delayed, trans_props, lv_anim_path_linear, TRANSITION_TIME, 70, NULL); lv_style_transition_dsc_init(&trans_delayed, trans_props, lv_anim_path_linear, TRANSITION_TIME, 70, NULL);
static lv_style_transition_dsc_t trans_normal; static lv_style_transition_dsc_t trans_normal;
lv_style_transition_dsc_init(&trans_normal, trans_props, lv_anim_path_linear, TRANSITION_TIME, 0, NULL); lv_style_transition_dsc_init(&trans_normal, trans_props, lv_anim_path_linear, TRANSITION_TIME, 0, NULL);
style_init_reset(&styles->transition_delayed);
lv_style_set_transition(&styles->transition_delayed, &trans_delayed); /*Go back to default state with delay*/ lv_style_set_transition(&styles->transition_delayed, &trans_delayed); /*Go back to default state with delay*/
style_init_reset(&styles->transition_normal);
lv_style_set_transition(&styles->transition_normal, &trans_normal); /*Go back to default state with delay*/ lv_style_set_transition(&styles->transition_normal, &trans_normal); /*Go back to default state with delay*/
#endif
style_init_reset(&styles->scrollbar); style_init_reset(&styles->scrollbar);
lv_style_set_bg_color(&styles->scrollbar, (theme.flags & MODE_DARK) ? lv_palette_darken(LV_PALETTE_GREY, lv_color_t sb_color = (theme.flags & MODE_DARK) ? lv_palette_darken(LV_PALETTE_GREY, 2) : lv_palette_main(LV_PALETTE_GREY);
2) : lv_palette_main(LV_PALETTE_GREY)); lv_style_set_bg_color(&styles->scrollbar, sb_color);
lv_style_set_radius(&styles->scrollbar, LV_RADIUS_CIRCLE); lv_style_set_radius(&styles->scrollbar, LV_RADIUS_CIRCLE);
lv_style_set_pad_all(&styles->scrollbar, lv_disp_dpx(theme.disp, 7)); lv_style_set_pad_all(&styles->scrollbar, lv_disp_dpx(theme.disp, 7));
lv_style_set_width(&styles->scrollbar, lv_disp_dpx(theme.disp, 5)); lv_style_set_width(&styles->scrollbar, lv_disp_dpx(theme.disp, 5));
lv_style_set_bg_opa(&styles->scrollbar, LV_OPA_40); lv_style_set_bg_opa(&styles->scrollbar, LV_OPA_40);
#if TRANSITION_TIME
lv_style_set_transition(&styles->scrollbar, &trans_normal); lv_style_set_transition(&styles->scrollbar, &trans_normal);
#endif
style_init_reset(&styles->scrollbar_scrolled); style_init_reset(&styles->scrollbar_scrolled);
lv_style_set_bg_opa(&styles->scrollbar_scrolled, LV_OPA_COVER); lv_style_set_bg_opa(&styles->scrollbar_scrolled, LV_OPA_COVER);