remove LV_TXT_FLAG_NO_BREAK. Text area in one line mode handle's it in its own
This commit is contained in:
@@ -86,7 +86,6 @@ lv_obj_t * lv_label_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
ext->text = NULL;
|
||||
ext->static_txt = 0;
|
||||
ext->recolor = 0;
|
||||
ext->no_break = 0;
|
||||
ext->body_draw = 0;
|
||||
ext->align = LV_LABEL_ALIGN_LEFT;
|
||||
ext->dot_end = LV_LABEL_DOT_END_INV;
|
||||
@@ -300,21 +299,6 @@ void lv_label_set_recolor(lv_obj_t * label, bool recolor_en)
|
||||
lv_label_refr_text(label); /*Refresh the text because the potential colo codes in text needs to be hided or revealed*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the label to ignore (or accept) line breaks on '\n'
|
||||
* @param label pointer to a label object
|
||||
* @param no_break_en true: ignore line breaks, false: make line breaks on '\n'
|
||||
*/
|
||||
void lv_label_set_no_break(lv_obj_t * label, bool no_break_en)
|
||||
{
|
||||
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
||||
if(ext->no_break == no_break_en) return;
|
||||
|
||||
ext->no_break = no_break_en == false ? 0 : 1;
|
||||
|
||||
lv_label_refr_text(label);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the label to draw (or not draw) background specified in its style's body
|
||||
* @param label pointer to a label object
|
||||
@@ -398,17 +382,6 @@ bool lv_label_get_recolor(lv_obj_t * label)
|
||||
return ext->recolor == 0 ? false : true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the no break attribute
|
||||
* @param label pointer to a label object
|
||||
* @return true: no_break_enabled (ignore '\n' line breaks); false: make line breaks on '\n'
|
||||
*/
|
||||
bool lv_label_get_no_break(lv_obj_t * label)
|
||||
{
|
||||
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
||||
return ext->no_break == 0 ? false : true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the body draw attribute
|
||||
* @param label pointer to a label object
|
||||
@@ -452,7 +425,6 @@ void lv_label_get_letter_pos(lv_obj_t * label, uint16_t index, lv_point_t * pos)
|
||||
|
||||
if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR;
|
||||
if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND;
|
||||
if(ext->no_break != 0) flag |= LV_TXT_FLAG_NO_BREAK;
|
||||
if(ext->align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER;
|
||||
|
||||
/*If the width will be expanded the set the max length to very big */
|
||||
@@ -529,7 +501,6 @@ uint16_t lv_label_get_letter_on(lv_obj_t * label, lv_point_t * pos)
|
||||
|
||||
if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR;
|
||||
if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND;
|
||||
if(ext->no_break != 0) flag |= LV_TXT_FLAG_NO_BREAK;
|
||||
if(ext->align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER;
|
||||
|
||||
/*If the width will be expanded set the max length to very big */
|
||||
@@ -696,7 +667,6 @@ static bool lv_label_design(lv_obj_t * label, const lv_area_t * mask, lv_design_
|
||||
lv_txt_flag_t flag = LV_TXT_FLAG_NONE;
|
||||
if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR;
|
||||
if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND;
|
||||
if(ext->no_break != 0) flag |= LV_TXT_FLAG_NO_BREAK;
|
||||
if(ext->align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER;
|
||||
|
||||
lv_draw_label(&coords, mask, style, opa_scale, ext->text, flag, &ext->offset);
|
||||
@@ -781,7 +751,6 @@ static void lv_label_refr_text(lv_obj_t * label)
|
||||
lv_txt_flag_t flag = LV_TXT_FLAG_NONE;
|
||||
if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR;
|
||||
if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND;
|
||||
if(ext->no_break != 0) flag |= LV_TXT_FLAG_NO_BREAK;
|
||||
lv_txt_get_size(&size, ext->text, font, style->text.letter_space, style->text.line_space, max_w, flag);
|
||||
|
||||
/*Set the full size in expand mode*/
|
||||
|
||||
@@ -71,7 +71,6 @@ typedef struct
|
||||
uint8_t align :2; /*Align type from 'lv_label_align_t'*/
|
||||
uint8_t recolor :1; /*Enable in-line letter re-coloring*/
|
||||
uint8_t expand :1; /*Ignore real width (used by the library with LV_LABEL_LONG_ROLL)*/
|
||||
uint8_t no_break :1; /*Ignore new line characters*/
|
||||
uint8_t body_draw :1; /*Draw background body*/
|
||||
} lv_label_ext_t;
|
||||
|
||||
@@ -137,13 +136,6 @@ void lv_label_set_align(lv_obj_t *label, lv_label_align_t align);
|
||||
*/
|
||||
void lv_label_set_recolor(lv_obj_t * label, bool recolor_en);
|
||||
|
||||
/**
|
||||
* Set the label to ignore (or accept) line breaks on '\n'
|
||||
* @param label pointer to a label object
|
||||
* @param no_break_en true: ignore line breaks, false: make line breaks on '\n'
|
||||
*/
|
||||
void lv_label_set_no_break(lv_obj_t * label, bool no_break_en);
|
||||
|
||||
/**
|
||||
* Set the label to draw (or not draw) background specified in its style's body
|
||||
* @param label pointer to a label object
|
||||
@@ -199,12 +191,6 @@ lv_label_align_t lv_label_get_align(lv_obj_t * label);
|
||||
*/
|
||||
bool lv_label_get_recolor(lv_obj_t * label);
|
||||
|
||||
/**
|
||||
* Get the no break attribute
|
||||
* @param label pointer to a label object
|
||||
* @return true: no_break_enabled (ignore '\n' line breaks); false: make line breaks on '\n'
|
||||
*/
|
||||
bool lv_label_get_no_break(lv_obj_t * label);
|
||||
/**
|
||||
* Get the body draw attribute
|
||||
* @param label pointer to a label object
|
||||
|
||||
@@ -187,6 +187,13 @@ void lv_ta_add_char(lv_obj_t * ta, char c)
|
||||
{
|
||||
lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta);
|
||||
|
||||
if(ext->one_line && (c == '\n' || c == '\n')) {
|
||||
#if USE_LV_LOG
|
||||
lv_log_add(LV_LOG_LEVEL_WARN, __FILE__, __LINE__, "Text area: line break ignored in one-line mode");
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
if(ext->pwd_mode != 0) pwd_char_hider(ta); /*Make sure all the current text contains only '*'*/
|
||||
char letter_buf[2];
|
||||
letter_buf[0] = c;
|
||||
@@ -234,11 +241,10 @@ void lv_ta_add_text(lv_obj_t * ta, const char * txt)
|
||||
{
|
||||
lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta);
|
||||
|
||||
|
||||
if(ext->pwd_mode != 0) pwd_char_hider(ta); /*Make sure all the current text contains only '*'*/
|
||||
/*Insert the text*/
|
||||
|
||||
lv_label_ins_text(ext->label, ext->cursor.pos, txt);
|
||||
|
||||
if(ext->pwd_mode != 0) {
|
||||
ext->pwd_tmp = lv_mem_realloc(ext->pwd_tmp, strlen(ext->pwd_tmp) + strlen(txt) + 1);
|
||||
lv_mem_assert(ext->pwd_tmp);
|
||||
@@ -503,7 +509,6 @@ void lv_ta_set_one_line(lv_obj_t * ta, bool en)
|
||||
lv_page_set_scrl_fit(ta, true, true);
|
||||
lv_obj_set_height(ta, font_h + (style_ta->body.padding.ver + style_scrl->body.padding.ver) * 2);
|
||||
lv_label_set_long_mode(ext->label, LV_LABEL_LONG_EXPAND);
|
||||
lv_label_set_no_break(ext->label, true);
|
||||
lv_obj_set_pos(lv_page_get_scrl(ta), style_ta->body.padding.hor, style_ta->body.padding.ver);
|
||||
} else {
|
||||
lv_style_t * style_ta = lv_obj_get_style(ta);
|
||||
@@ -511,7 +516,6 @@ void lv_ta_set_one_line(lv_obj_t * ta, bool en)
|
||||
ext->one_line = 0;
|
||||
lv_page_set_scrl_fit(ta, false, true);
|
||||
lv_label_set_long_mode(ext->label, LV_LABEL_LONG_BREAK);
|
||||
lv_label_set_no_break(ext->label, false);
|
||||
lv_obj_set_height(ta, LV_TA_DEF_HEIGHT);
|
||||
lv_obj_set_pos(lv_page_get_scrl(ta), style_ta->body.padding.hor, style_ta->body.padding.ver);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user