diff --git a/lv_conf_templ.h b/lv_conf_templ.h index f657e5cba..f58594882 100644 --- a/lv_conf_templ.h +++ b/lv_conf_templ.h @@ -114,8 +114,6 @@ /* More info about fonts: https://littlevgl.com/basics#fonts * To enable a built-in font use 1,2,4 or 8 values * which will determine the bit-per-pixel */ -#define LV_FONT_DEFAULT &lv_font_dejavu_20 /*Always set a default font from the built-in fonts*/ - #define USE_LV_FONT_DEJAVU_10 0 #define USE_LV_FONT_DEJAVU_10_LATIN_SUP 0 #define USE_LV_FONT_DEJAVU_10_CYRILLIC 0 @@ -136,6 +134,16 @@ #define USE_LV_FONT_DEJAVU_40_CYRILLIC 0 #define USE_LV_FONT_SYMBOL_40 0 +/* Optionally declare your custom fonts here. + * You can use these fonts as defult font too + * and they will be avialale globally. E.g. + * #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) \ + * LV_FONT_DECLARE(my_font_2) \ + */ +#define LV_FONT_CUSTOM_DECLARE + +#define LV_FONT_DEFAULT &lv_font_dejavu_20 /*Always set a default font from the built-in fonts*/ + /*=================== * LV_OBJ SETTINGS *==================*/ diff --git a/lv_misc/lv_font.h b/lv_misc/lv_font.h index a2ca5aff9..969963a8c 100644 --- a/lv_misc/lv_font.h +++ b/lv_misc/lv_font.h @@ -171,6 +171,9 @@ int16_t lv_font_get_width_sparse(const lv_font_t * font, uint32_t unicode_letter **********************/ #include "../lv_fonts/lv_font_builtin.h" +/*Declare the custom (user defined) fonts*/ +LV_FONT_CUSTOM_DECLARE + #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/lv_objx/lv_ddlist.c b/lv_objx/lv_ddlist.c index bf2a198cb..c73010387 100644 --- a/lv_objx/lv_ddlist.c +++ b/lv_objx/lv_ddlist.c @@ -681,9 +681,9 @@ static void lv_ddlist_refr_size(lv_obj_t * ddlist, bool anim_en) if(anim_en == 0) { lv_obj_set_height(ddlist, new_height); lv_ddlist_pos_current_option(ddlist); +#if USE_LV_ANIMATION lv_anim_del(ddlist, (lv_anim_fp_t)lv_obj_set_height); /*If an animation is in progress then it will overwrite this changes*/ } else { -#if USE_LV_ANIMATION lv_anim_t a; a.var = ddlist; a.start = lv_obj_get_height(ddlist); diff --git a/lv_objx/lv_page.c b/lv_objx/lv_page.c index be71575b7..18081d910 100644 --- a/lv_objx/lv_page.c +++ b/lv_objx/lv_page.c @@ -20,7 +20,7 @@ * DEFINES *********************/ #define LV_PAGE_SB_MIN_SIZE (LV_DPI / 8) -#define LV_PAGE_GROUP_SCROLL_ANIM_TIME 200 +#define LV_PAGE_GROUP_SCROLL_ANIM_TIME 200 /********************** * TYPEDEFS @@ -294,14 +294,14 @@ void lv_page_focus(lv_obj_t * page, lv_obj_t * obj, uint16_t anim_time) { #if USE_LV_ANIMATION == 0 - anim_tiem = 0; + anim_time = 0; +#else + /* Be sure there is no position changing animation in progress + * because it can overide the current changes*/ + lv_anim_del(page, (lv_anim_fp_t)lv_obj_set_y); + lv_anim_del(page, (lv_anim_fp_t)lv_obj_set_pos); #endif - /* Be sure there is no position changing animation in progress - * because it can overide the current changes*/ - lv_anim_del(page, (lv_anim_fp_t)lv_obj_set_y); - lv_anim_del(page, (lv_anim_fp_t)lv_obj_set_pos); - lv_page_ext_t * ext = lv_obj_get_ext_attr(page); lv_style_t * style = lv_page_get_style(page, LV_PAGE_STYLE_BG); lv_style_t * style_scrl = lv_page_get_style(page, LV_PAGE_STYLE_SCRL); @@ -337,8 +337,8 @@ void lv_page_focus(lv_obj_t * page, lv_obj_t * obj, uint16_t anim_time) if(anim_time == 0) { lv_obj_set_y(ext->scrl, scrlable_y); - } else { #if USE_LV_ANIMATION + } else { lv_anim_t a; a.act_time = 0; a.start = lv_obj_get_y(ext->scrl); @@ -536,53 +536,49 @@ static lv_res_t lv_page_signal(lv_obj_t * page, lv_signal_t sign, void * param) if(page->ext_size < (-ext->sb.style->body.padding.hor)) page->ext_size = -ext->sb.style->body.padding.hor; if(page->ext_size < (-ext->sb.style->body.padding.ver)) page->ext_size = -ext->sb.style->body.padding.ver; } else if(sign == LV_SIGNAL_CONTROLL) { - uint32_t c = *((uint32_t *) param); - lv_obj_t * scrl = lv_page_get_scrl(page); - if(c == LV_GROUP_KEY_DOWN || c == LV_GROUP_KEY_RIGHT) { + uint32_t c = *((uint32_t *) param); + lv_obj_t * scrl = lv_page_get_scrl(page); + if(c == LV_GROUP_KEY_DOWN || c == LV_GROUP_KEY_RIGHT) { #if USE_LV_ANIMATION - lv_anim_t a; - a.var = scrl; - a.start = lv_obj_get_y(scrl); - a.end = a.start - LV_DPI / 2; - a.fp = (lv_anim_fp_t)lv_obj_set_y; - a.path = lv_anim_path_linear; - a.end_cb = NULL; - a.act_time = 0; - a.time = LV_PAGE_GROUP_SCROLL_ANIM_TIME; - a.playback = 0; - a.playback_pause = 0; - a.repeat = 0; - a.repeat_pause = 0; - lv_anim_create(&a); + lv_anim_t a; + a.var = scrl; + a.start = lv_obj_get_y(scrl); + a.end = a.start - LV_DPI / 2; + a.fp = (lv_anim_fp_t)lv_obj_set_y; + a.path = lv_anim_path_linear; + a.end_cb = NULL; + a.act_time = 0; + a.time = LV_PAGE_GROUP_SCROLL_ANIM_TIME; + a.playback = 0; + a.playback_pause = 0; + a.repeat = 0; + a.repeat_pause = 0; + lv_anim_create(&a); #else - lv_obj_set_y(scrl, lv_obj_get_y(scrl) - LV_DPI / 2); + lv_obj_set_y(scrl, lv_obj_get_y(scrl) - LV_DPI / 2); #endif - } - else if(c == LV_GROUP_KEY_UP || c == LV_GROUP_KEY_LEFT) { + } else if(c == LV_GROUP_KEY_UP || c == LV_GROUP_KEY_LEFT) { #if USE_LV_ANIMATION - lv_anim_t a; - a.var = scrl; - a.start = lv_obj_get_y(scrl); - a.end = a.start + LV_DPI / 2; - a.fp = (lv_anim_fp_t)lv_obj_set_y; - a.path = lv_anim_path_linear; - a.end_cb = NULL; - a.act_time = 0; - a.time = LV_PAGE_GROUP_SCROLL_ANIM_TIME; - a.playback = 0; - a.playback_pause = 0; - a.repeat = 0; - a.repeat_pause = 0; - lv_anim_create(&a); + lv_anim_t a; + a.var = scrl; + a.start = lv_obj_get_y(scrl); + a.end = a.start + LV_DPI / 2; + a.fp = (lv_anim_fp_t)lv_obj_set_y; + a.path = lv_anim_path_linear; + a.end_cb = NULL; + a.act_time = 0; + a.time = LV_PAGE_GROUP_SCROLL_ANIM_TIME; + a.playback = 0; + a.playback_pause = 0; + a.repeat = 0; + a.repeat_pause = 0; + lv_anim_create(&a); #else - lv_obj_set_y(scrl, lv_obj_get_y(scrl) - LV_DPI / 2); + lv_obj_set_y(scrl, lv_obj_get_y(scrl) - LV_DPI / 2); #endif - } - } - - - else if(sign == LV_SIGNAL_GET_TYPE) { + } + } else if(sign == LV_SIGNAL_GET_TYPE) { lv_obj_type_t * buf = param; uint8_t i; for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ diff --git a/lv_objx/lv_roller.c b/lv_objx/lv_roller.c index 46264cee1..d8ceacd58 100644 --- a/lv_objx/lv_roller.c +++ b/lv_objx/lv_roller.c @@ -228,7 +228,7 @@ static bool lv_roller_design(lv_obj_t * roller, const lv_area_t * mask, lv_desig lv_coord_t font_h = lv_font_get_height(font); lv_area_t rect_area; rect_area.y1 = roller->coords.y1 + lv_obj_get_height(roller) / 2 - font_h / 2 - style->text.line_space / 2; - if((font_h & 0x1) && (style->text.line_space & 0x1)) rect_area.y1 --; /*Compensate the two rounding error*/ + if((font_h & 0x1) && (style->text.line_space & 0x1)) rect_area.y1 --; /*Compensate the two rounding error*/ rect_area.y2 = rect_area.y1 + font_h + style->text.line_space - 1; rect_area.x1 = roller->coords.x1; rect_area.x2 = roller->coords.x2; @@ -246,7 +246,7 @@ static bool lv_roller_design(lv_obj_t * roller, const lv_area_t * mask, lv_desig /*Redraw the text on the selected area with a different color*/ lv_area_t rect_area; rect_area.y1 = roller->coords.y1 + lv_obj_get_height(roller) / 2 - font_h / 2 - style->text.line_space / 2; - if((font_h & 0x1) && (style->text.line_space & 0x1)) rect_area.y1 --; /*Compensate the two rounding error*/ + if((font_h & 0x1) && (style->text.line_space & 0x1)) rect_area.y1 --; /*Compensate the two rounding error*/ rect_area.y2 = rect_area.y1 + font_h + style->text.line_space - 1; rect_area.x1 = roller->coords.x1; rect_area.x2 = roller->coords.x2;