mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-31 16:27:03 +08:00
remove duplicate lv_txt_get_width code in lv_label
This commit is contained in:
+2
-16
@@ -446,22 +446,8 @@ void lv_label_get_letter_pos(const lv_obj_t * label, uint16_t index, lv_point_t
|
||||
}
|
||||
|
||||
/*Calculate the x coordinate*/
|
||||
lv_coord_t x = 0;
|
||||
uint32_t i = line_start;
|
||||
uint32_t cnt = line_start; /*Count the letter (in UTF-8 1 letter not 1 byte)*/
|
||||
lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT;
|
||||
uint32_t letter;
|
||||
while(cnt < index) {
|
||||
cnt += lv_txt_encoded_size(&txt[i]);
|
||||
letter = lv_txt_encoded_next(txt, &i);
|
||||
/*Handle the recolor command*/
|
||||
if((flag & LV_TXT_FLAG_RECOLOR) != 0) {
|
||||
if(lv_txt_is_cmd(&cmd_state, txt[i]) != false) {
|
||||
continue; /*Skip the letter is it is part of a command*/
|
||||
}
|
||||
}
|
||||
x += lv_font_get_width(font, letter) + style->text.letter_space;
|
||||
}
|
||||
lv_coord_t x = lv_txt_get_width(&txt[line_start], index,
|
||||
font, style->text.letter_space, flag);
|
||||
|
||||
if(ext->align == LV_LABEL_ALIGN_CENTER) {
|
||||
lv_coord_t line_w;
|
||||
|
||||
Reference in New Issue
Block a user