From aa4b17900be4c7dcedf3cd93a22fc50b4d1776f3 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Wed, 27 Feb 2019 10:55:39 +0100 Subject: [PATCH] lv_ta: fix label auto size on lv_ta size change --- lv_objx/lv_ta.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lv_objx/lv_ta.c b/lv_objx/lv_ta.c index a5a50c99f..73e585759 100644 --- a/lv_objx/lv_ta.c +++ b/lv_objx/lv_ta.c @@ -1208,6 +1208,21 @@ static lv_res_t lv_ta_scrollable_signal(lv_obj_t * scrl, lv_signal_t sign, void lv_coord_t font_h = lv_font_get_height(style_label->text.font); scrl->ext_size = LV_MATH_MAX(scrl->ext_size, style_label->text.line_space + font_h); } + else if(sign == LV_SIGNAL_CORD_CHG) { + /*Set the label width according to the text area width*/ + if(ext->label) { + if(lv_obj_get_width(ta) != lv_area_get_width(param) || + lv_obj_get_height(ta) != lv_area_get_height(param)) { + lv_obj_t * scrl = lv_page_get_scrl(ta); + lv_style_t * style_scrl = lv_obj_get_style(scrl); + lv_obj_set_width(ext->label, lv_obj_get_width(scrl) - 2 * style_scrl->body.padding.hor); + lv_obj_set_pos(ext->label, style_scrl->body.padding.hor, style_scrl->body.padding.ver); + lv_label_set_text(ext->label, NULL); /*Refresh the label*/ + + refr_cursor_area(ta); + } + } + } else if(sign == LV_SIGNAL_PRESSED) { update_cursor_position_on_click(ta, (lv_indev_t *)param); }