36 lines
1.1 KiB
C
Executable File
36 lines
1.1 KiB
C
Executable File
#include "../../lv_examples.h"
|
|
#if LV_USE_LABEL && LV_BUILD_EXAMPLES && LV_FONT_MONTSERRAT_20
|
|
|
|
static bool fix_w_get_glyph_dsc(const lv_font_t * font, lv_font_glyph_dsc_t * dsc, uint32_t letter,
|
|
uint32_t letter_next)
|
|
{
|
|
bool ret = lv_font_get_glyph_dsc_fmt_txt(font, dsc, letter, letter_next);
|
|
if(!ret) return false;
|
|
|
|
/* Set a fixed width */
|
|
dsc->adv_w = 20;
|
|
dsc->ofs_x = (dsc->adv_w - dsc->box_w) / 2;
|
|
return true;
|
|
}
|
|
|
|
void lv_example_label_6(void)
|
|
{
|
|
/* Clone the original font and override its behavior */
|
|
static lv_font_t mono_font;
|
|
mono_font = lv_font_montserrat_20;
|
|
mono_font.get_glyph_dsc = fix_w_get_glyph_dsc;
|
|
|
|
/* Create a label with normal font */
|
|
lv_obj_t * label1 = lv_label_create(lv_screen_active());
|
|
lv_obj_set_style_text_font(label1, &lv_font_montserrat_20, 0);
|
|
lv_label_set_text(label1, "0123.Wabc");
|
|
|
|
/* Create a label with fixed-width glyph descriptor override */
|
|
lv_obj_t * label2 = lv_label_create(lv_screen_active());
|
|
lv_obj_set_y(label2, 30);
|
|
lv_obj_set_style_text_font(label2, &mono_font, 0);
|
|
lv_label_set_text(label2, "0123.Wabc");
|
|
}
|
|
|
|
#endif
|