diff --git a/demos/flex_layout/lv_demo_flex_layout_main.h b/demos/flex_layout/lv_demo_flex_layout_main.h index 4e7dd05f5..bd3514cdb 100644 --- a/demos/flex_layout/lv_demo_flex_layout_main.h +++ b/demos/flex_layout/lv_demo_flex_layout_main.h @@ -20,7 +20,9 @@ extern "C" { * DEFINES *********************/ +#ifndef ARRAY_SIZE #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) +#endif /********************** * TYPEDEFS diff --git a/demos/keypad_encoder/lv_demo_keypad_encoder.c b/demos/keypad_encoder/lv_demo_keypad_encoder.c index 36e1b067f..26979ef52 100644 --- a/demos/keypad_encoder/lv_demo_keypad_encoder.c +++ b/demos/keypad_encoder/lv_demo_keypad_encoder.c @@ -203,7 +203,7 @@ static void ta_event_cb(lv_event_t * e) lv_keyboard_set_textarea(kb, ta); lv_obj_remove_flag(kb, LV_OBJ_FLAG_HIDDEN); lv_group_focus_obj(kb); - lv_group_set_editing(lv_obj_get_group(kb), kb); + lv_group_set_editing(lv_obj_get_group(kb), kb != NULL); lv_obj_set_height(tv, LV_VER_RES / 2); lv_obj_align(kb, LV_ALIGN_BOTTOM_MID, 0, 0); } diff --git a/demos/multilang/assets/img_multilang_like.c b/demos/multilang/assets/img_multilang_like.c index a0a960a21..a37584a1a 100644 --- a/demos/multilang/assets/img_multilang_like.c +++ b/demos/multilang/assets/img_multilang_like.c @@ -12,7 +12,7 @@ #include "lvgl/lvgl.h" #endif -#if LV_USE_DEMO_MULTILANG +#if defined(LV_USE_DEMO_MULTILANG) || defined(LV_USE_DEMO_TRANSFORM) #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN diff --git a/examples/libs/qrcode/lv_example_qrcode_1.c b/examples/libs/qrcode/lv_example_qrcode_1.c index 400db012a..3a9f87ce6 100644 --- a/examples/libs/qrcode/lv_example_qrcode_1.c +++ b/examples/libs/qrcode/lv_example_qrcode_1.c @@ -1,5 +1,6 @@ #include "../../lv_examples.h" #if LV_USE_QRCODE && LV_BUILD_EXAMPLES +#include /** * Create a QR Code diff --git a/examples/others/observer/lv_example_observer_2.c b/examples/others/observer/lv_example_observer_2.c index 766541e4c..fdd23f0f8 100644 --- a/examples/others/observer/lv_example_observer_2.c +++ b/examples/others/observer/lv_example_observer_2.c @@ -59,7 +59,7 @@ static lv_subject_t auth_state_subject; static void textarea_event_cb(lv_event_t * e) { lv_obj_t * ta = lv_event_get_target(e); - if(strcmp(lv_textarea_get_text(ta), "hello") == 0) { + if(lv_strcmp(lv_textarea_get_text(ta), "hello") == 0) { lv_subject_set_int(&auth_state_subject, LOGGED_IN); } else { diff --git a/examples/widgets/textarea/lv_example_textarea_1.c b/examples/widgets/textarea/lv_example_textarea_1.c index ba82e52cc..1eab27ec8 100644 --- a/examples/widgets/textarea/lv_example_textarea_1.c +++ b/examples/widgets/textarea/lv_example_textarea_1.c @@ -14,8 +14,8 @@ static void btnm_event_handler(lv_event_t * e) lv_obj_t * ta = lv_event_get_user_data(e); const char * txt = lv_buttonmatrix_get_button_text(obj, lv_buttonmatrix_get_selected_button(obj)); - if(strcmp(txt, LV_SYMBOL_BACKSPACE) == 0) lv_textarea_delete_char(ta); - else if(strcmp(txt, LV_SYMBOL_NEW_LINE) == 0) lv_obj_send_event(ta, LV_EVENT_READY, NULL); + if(lv_strcmp(txt, LV_SYMBOL_BACKSPACE) == 0) lv_textarea_delete_char(ta); + else if(lv_strcmp(txt, LV_SYMBOL_NEW_LINE) == 0) lv_obj_send_event(ta, LV_EVENT_READY, NULL); else lv_textarea_add_text(ta, txt); } diff --git a/lv_conf_template.h b/lv_conf_template.h index 64dcc9eaf..1a2f8535f 100644 --- a/lv_conf_template.h +++ b/lv_conf_template.h @@ -44,6 +44,12 @@ #define LV_USE_STDLIB_STRING LV_STDLIB_BUILTIN #define LV_USE_STDLIB_SPRINTF LV_STDLIB_BUILTIN +#define LV_STDINT_INCLUDE +#define LV_STDDEF_INCLUDE +#define LV_STDBOOL_INCLUDE +#define LV_INTTYPES_INCLUDE +#define LV_LIMITS_INCLUDE +#define LV_STDARG_INCLUDE #if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN /*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/ diff --git a/src/core/lv_global.h b/src/core/lv_global.h index 3fa568f28..6d7e8233f 100644 --- a/src/core/lv_global.h +++ b/src/core/lv_global.h @@ -15,8 +15,6 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include - #include "../misc/lv_types.h" #include "../draw/lv_draw.h" #if LV_USE_DRAW_SW @@ -39,6 +37,8 @@ extern "C" { #include "../tick/lv_tick.h" #include "../layouts/lv_layout.h" +#include "../misc/lv_types.h" + /********************* * DEFINES *********************/ diff --git a/src/core/lv_group.c b/src/core/lv_group.c index 44b41d8b2..6cc5671f9 100644 --- a/src/core/lv_group.c +++ b/src/core/lv_group.c @@ -6,12 +6,11 @@ /********************* * INCLUDES *********************/ -#include - #include "lv_group.h" #include "../core/lv_obj.h" #include "../core/lv_global.h" #include "../indev/lv_indev.h" +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/core/lv_group.h b/src/core/lv_group.h index ca60edb12..f05f9e19e 100644 --- a/src/core/lv_group.h +++ b/src/core/lv_group.h @@ -13,11 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ - #include "../lv_conf_internal.h" -#include -#include #include "../misc/lv_types.h" #include "../misc/lv_ll.h" diff --git a/src/core/lv_obj.c b/src/core/lv_obj.c index f05b53854..682706ed3 100644 --- a/src/core/lv_obj.c +++ b/src/core/lv_obj.c @@ -17,10 +17,9 @@ #include "../misc/lv_assert.h" #include "../misc/lv_math.h" #include "../misc/lv_log.h" +#include "../misc/lv_types.h" #include "../tick/lv_tick.h" #include "../stdlib/lv_string.h" -#include -#include /********************* * DEFINES diff --git a/src/core/lv_obj.h b/src/core/lv_obj.h index b67684f32..587982348 100644 --- a/src/core/lv_obj.h +++ b/src/core/lv_obj.h @@ -15,8 +15,6 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include -#include #include "../misc/lv_types.h" #include "../misc/lv_style.h" #include "../misc/lv_area.h" diff --git a/src/core/lv_obj_class.h b/src/core/lv_obj_class.h index 729229224..ec32e7efd 100644 --- a/src/core/lv_obj_class.h +++ b/src/core/lv_obj_class.h @@ -13,8 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "../misc/lv_types.h" #include "../misc/lv_area.h" #include "lv_obj_property.h" diff --git a/src/core/lv_obj_event.h b/src/core/lv_obj_event.h index 40a002d8a..3b32b20f0 100644 --- a/src/core/lv_obj_event.h +++ b/src/core/lv_obj_event.h @@ -13,7 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include #include "../misc/lv_types.h" #include "../misc/lv_event.h" #include "../indev/lv_indev.h" diff --git a/src/core/lv_obj_style.h b/src/core/lv_obj_style.h index 56639492f..2de047217 100644 --- a/src/core/lv_obj_style.h +++ b/src/core/lv_obj_style.h @@ -13,10 +13,9 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "../misc/lv_bidi.h" #include "../misc/lv_style.h" +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/core/lv_obj_tree.c b/src/core/lv_obj_tree.c index 5b8fd420b..8da23ad9a 100644 --- a/src/core/lv_obj_tree.c +++ b/src/core/lv_obj_tree.c @@ -6,8 +6,6 @@ /********************* * INCLUDES *********************/ -#include - #include "lv_obj.h" #include "../indev/lv_indev.h" #include "../indev/lv_indev_private.h" diff --git a/src/core/lv_obj_tree.h b/src/core/lv_obj_tree.h index c500c7956..3cee6e66a 100644 --- a/src/core/lv_obj_tree.h +++ b/src/core/lv_obj_tree.h @@ -13,8 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "../misc/lv_types.h" #include "../misc/lv_anim.h" #include "../display/lv_display.h" diff --git a/src/core/lv_refr.c b/src/core/lv_refr.c index fbd1c8a87..1dfbab79f 100644 --- a/src/core/lv_refr.c +++ b/src/core/lv_refr.c @@ -6,7 +6,6 @@ /********************* * INCLUDES *********************/ -#include #include "lv_refr.h" #include "../display/lv_display.h" #include "../display/lv_display_private.h" @@ -14,6 +13,7 @@ #include "../misc/lv_timer.h" #include "../misc/lv_math.h" #include "../misc/lv_profiler.h" +#include "../misc/lv_types.h" #include "../draw/lv_draw.h" #include "../font/lv_font_fmt_txt.h" #include "../stdlib/lv_string.h" diff --git a/src/core/lv_refr.h b/src/core/lv_refr.h index 537b9eedd..ddfa61c17 100644 --- a/src/core/lv_refr.h +++ b/src/core/lv_refr.h @@ -15,7 +15,7 @@ extern "C" { *********************/ #include "lv_obj.h" #include "../display/lv_display.h" -#include +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/draw/lv_draw_line.c b/src/draw/lv_draw_line.c index f906699c1..06a464a88 100644 --- a/src/draw/lv_draw_line.c +++ b/src/draw/lv_draw_line.c @@ -6,9 +6,9 @@ /********************* * INCLUDES *********************/ -#include #include "../core/lv_refr.h" #include "../misc/lv_math.h" +#include "../misc/lv_types.h" #include "../stdlib/lv_string.h" /********************* diff --git a/src/draw/lv_draw_mask.c b/src/draw/lv_draw_mask.c index ed1ff2b44..11cdaf287 100644 --- a/src/draw/lv_draw_mask.c +++ b/src/draw/lv_draw_mask.c @@ -6,10 +6,10 @@ /********************* * INCLUDES *********************/ -#include #include "lv_draw_mask.h" #include "../core/lv_refr.h" #include "../misc/lv_math.h" +#include "../misc/lv_types.h" #include "../stdlib/lv_string.h" /********************* diff --git a/src/draw/lv_draw_vector.c b/src/draw/lv_draw_vector.c index 5b8d66e99..9ff61622b 100644 --- a/src/draw/lv_draw_vector.c +++ b/src/draw/lv_draw_vector.c @@ -11,8 +11,8 @@ #if LV_USE_VECTOR_GRAPHIC #include "../misc/lv_ll.h" +#include "../misc/lv_types.h" #include "../stdlib/lv_string.h" -#include #include #include diff --git a/src/draw/lv_image_decoder.h b/src/draw/lv_image_decoder.h index b1f28be86..053cbddbd 100644 --- a/src/draw/lv_image_decoder.h +++ b/src/draw/lv_image_decoder.h @@ -15,7 +15,6 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include #include "lv_draw_buf.h" #include "../misc/lv_fs.h" #include "../misc/lv_types.h" diff --git a/src/draw/sw/lv_draw_sw_line.c b/src/draw/sw/lv_draw_sw_line.c index aa5bd622d..1dca84538 100644 --- a/src/draw/sw/lv_draw_sw_line.c +++ b/src/draw/sw/lv_draw_sw_line.c @@ -6,11 +6,12 @@ /********************* * INCLUDES *********************/ -#include #include "lv_draw_sw.h" + #if LV_USE_DRAW_SW #include "../../misc/lv_math.h" +#include "../../misc/lv_types.h" #include "../../core/lv_refr.h" #include "../../stdlib/lv_string.h" diff --git a/src/draw/sw/lv_draw_sw_mask.h b/src/draw/sw/lv_draw_sw_mask.h index 65290375f..17b7dedd7 100644 --- a/src/draw/sw/lv_draw_sw_mask.h +++ b/src/draw/sw/lv_draw_sw_mask.h @@ -13,10 +13,10 @@ extern "C" { /********************* * INCLUDES *********************/ -#include #include "../../misc/lv_area.h" #include "../../misc/lv_color.h" #include "../../misc/lv_math.h" +#include "../../misc/lv_types.h" /********************* * DEFINES diff --git a/src/draw/vg_lite/lv_draw_buf_vg_lite.c b/src/draw/vg_lite/lv_draw_buf_vg_lite.c index 65b085ca0..9cf708a0f 100644 --- a/src/draw/vg_lite/lv_draw_buf_vg_lite.c +++ b/src/draw/vg_lite/lv_draw_buf_vg_lite.c @@ -12,6 +12,7 @@ #if LV_USE_DRAW_VG_LITE #include "lv_vg_lite_utils.h" +#include /********************* * DEFINES diff --git a/src/draw/vg_lite/lv_vg_lite_decoder.c b/src/draw/vg_lite/lv_vg_lite_decoder.c index 27fb8614f..87d05f9fd 100644 --- a/src/draw/vg_lite/lv_vg_lite_decoder.c +++ b/src/draw/vg_lite/lv_vg_lite_decoder.c @@ -12,6 +12,8 @@ #if LV_USE_DRAW_VG_LITE #include "lv_vg_lite_utils.h" +#include +#include /********************* * DEFINES diff --git a/src/draw/vg_lite/lv_vg_lite_grad.c b/src/draw/vg_lite/lv_vg_lite_grad.c index 526867190..83b68f858 100644 --- a/src/draw/vg_lite/lv_vg_lite_grad.c +++ b/src/draw/vg_lite/lv_vg_lite_grad.c @@ -13,6 +13,8 @@ #include "lv_draw_vg_lite_type.h" #include "lv_vg_lite_pending.h" +#include "../../misc/lv_types.h" +#include "../../stdlib/lv_string.h" /********************* * DEFINES @@ -236,8 +238,8 @@ static lv_cache_compare_res_t grad_compare_cb(const grad_item_t * lhs, const gra return lhs->lv_grad.stops_count > rhs->lv_grad.stops_count ? 1 : -1; } - int cmp_res = memcmp(lhs->lv_grad.stops, rhs->lv_grad.stops, - sizeof(lv_gradient_stop_t) * lhs->lv_grad.stops_count); + int cmp_res = lv_memcmp(lhs->lv_grad.stops, rhs->lv_grad.stops, + sizeof(lv_gradient_stop_t) * lhs->lv_grad.stops_count); if(cmp_res != 0) { return cmp_res > 0 ? 1 : -1; } diff --git a/src/drivers/display/drm/lv_linux_drm.c b/src/drivers/display/drm/lv_linux_drm.c index faa2212bf..99f3405d5 100644 --- a/src/drivers/display/drm/lv_linux_drm.c +++ b/src/drivers/display/drm/lv_linux_drm.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include diff --git a/src/drivers/libinput/lv_libinput.c b/src/drivers/libinput/lv_libinput.c index f207fa477..ff75a2a78 100644 --- a/src/drivers/libinput/lv_libinput.c +++ b/src/drivers/libinput/lv_libinput.c @@ -22,6 +22,7 @@ #include #include #include +#include #if LV_LIBINPUT_BSD #include diff --git a/src/font/lv_binfont_loader.c b/src/font/lv_binfont_loader.c index f121f4048..4b06e6ccf 100644 --- a/src/font/lv_binfont_loader.c +++ b/src/font/lv_binfont_loader.c @@ -6,12 +6,10 @@ /********************* * INCLUDES *********************/ - -#include -#include - #include "../lvgl.h" #include "../misc/lv_fs.h" +#include "../misc/lv_types.h" +#include "../stdlib/lv_string.h" #include "lv_binfont_loader.h" /********************** @@ -208,7 +206,7 @@ static int read_label(lv_fs_file_t * fp, int start, const char * label) if(lv_fs_read(fp, &length, 4, NULL) != LV_FS_RES_OK || lv_fs_read(fp, buf, 4, NULL) != LV_FS_RES_OK - || memcmp(label, buf, 4) != 0) { + || lv_memcmp(label, buf, 4) != 0) { LV_LOG_WARN("Error reading '%s' label.", label); return -1; } @@ -298,7 +296,7 @@ static int32_t load_cmaps(lv_fs_file_t * fp, lv_font_fmt_txt_dsc_t * font_dsc, u lv_font_fmt_txt_cmap_t * cmaps = lv_malloc(cmaps_subtables_count * sizeof(lv_font_fmt_txt_cmap_t)); - memset(cmaps, 0, cmaps_subtables_count * sizeof(lv_font_fmt_txt_cmap_t)); + lv_memset(cmaps, 0, cmaps_subtables_count * sizeof(lv_font_fmt_txt_cmap_t)); font_dsc->cmaps = cmaps; font_dsc->cmap_num = cmaps_subtables_count; @@ -323,7 +321,7 @@ static int32_t load_glyph(lv_fs_file_t * fp, lv_font_fmt_txt_dsc_t * font_dsc, lv_font_fmt_txt_glyph_dsc_t * glyph_dsc = (lv_font_fmt_txt_glyph_dsc_t *) lv_malloc(loca_count * sizeof(lv_font_fmt_txt_glyph_dsc_t)); - memset(glyph_dsc, 0, loca_count * sizeof(lv_font_fmt_txt_glyph_dsc_t)); + lv_memset(glyph_dsc, 0, loca_count * sizeof(lv_font_fmt_txt_glyph_dsc_t)); font_dsc->glyph_dsc = glyph_dsc; @@ -462,7 +460,7 @@ static bool lvgl_load_font(lv_fs_file_t * fp, lv_font_t * font) lv_font_fmt_txt_dsc_t * font_dsc = (lv_font_fmt_txt_dsc_t *) lv_malloc(sizeof(lv_font_fmt_txt_dsc_t)); - memset(font_dsc, 0, sizeof(lv_font_fmt_txt_dsc_t)); + lv_memset(font_dsc, 0, sizeof(lv_font_fmt_txt_dsc_t)); font->dsc = font_dsc; @@ -579,7 +577,7 @@ int32_t load_kern(lv_fs_file_t * fp, lv_font_fmt_txt_dsc_t * font_dsc, uint8_t f if(0 == kern_format_type) { /*sorted pairs*/ lv_font_fmt_txt_kern_pair_t * kern_pair = lv_malloc(sizeof(lv_font_fmt_txt_kern_pair_t)); - memset(kern_pair, 0, sizeof(lv_font_fmt_txt_kern_pair_t)); + lv_memset(kern_pair, 0, sizeof(lv_font_fmt_txt_kern_pair_t)); font_dsc->kern_dsc = kern_pair; font_dsc->kern_classes = 0; @@ -617,7 +615,7 @@ int32_t load_kern(lv_fs_file_t * fp, lv_font_fmt_txt_dsc_t * font_dsc, uint8_t f lv_font_fmt_txt_kern_classes_t * kern_classes = lv_malloc(sizeof(lv_font_fmt_txt_kern_classes_t)); - memset(kern_classes, 0, sizeof(lv_font_fmt_txt_kern_classes_t)); + lv_memset(kern_classes, 0, sizeof(lv_font_fmt_txt_kern_classes_t)); font_dsc->kern_dsc = kern_classes; font_dsc->kern_classes = 1; diff --git a/src/font/lv_font.h b/src/font/lv_font.h index 85bdec101..c28393365 100644 --- a/src/font/lv_font.h +++ b/src/font/lv_font.h @@ -14,14 +14,11 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" -#include -#include -#include +#include "../misc/lv_types.h" #include "lv_symbol_def.h" #include "../draw/lv_draw_buf.h" #include "../misc/lv_area.h" -#include "../misc/lv_types.h" #include "../misc/cache/lv_cache.h" /********************* diff --git a/src/font/lv_font_fmt_txt.h b/src/font/lv_font_fmt_txt.h index 76bade065..bd434d90e 100644 --- a/src/font/lv_font_fmt_txt.h +++ b/src/font/lv_font_fmt_txt.h @@ -13,10 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include -#include #include "lv_font.h" +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/libs/libpng/lv_libpng.c b/src/libs/libpng/lv_libpng.c index 33ef3ab96..c0918fe52 100644 --- a/src/libs/libpng/lv_libpng.c +++ b/src/libs/libpng/lv_libpng.c @@ -11,6 +11,7 @@ #include "lv_libpng.h" #include +#include /********************* * DEFINES diff --git a/src/libs/rlottie/lv_rlottie.c b/src/libs/rlottie/lv_rlottie.c index f595215f5..672fd28d7 100644 --- a/src/libs/rlottie/lv_rlottie.c +++ b/src/libs/rlottie/lv_rlottie.c @@ -10,6 +10,7 @@ #if LV_USE_RLOTTIE #include +#include /********************* * DEFINES diff --git a/src/libs/tjpgd/lv_tjpgd.c b/src/libs/tjpgd/lv_tjpgd.c index 2185c2828..b13cd12ae 100644 --- a/src/libs/tjpgd/lv_tjpgd.c +++ b/src/libs/tjpgd/lv_tjpgd.c @@ -13,6 +13,7 @@ #include "tjpgd.h" #include "lv_tjpgd.h" #include "../../misc/lv_fs.h" +#include /********************* * DEFINES diff --git a/src/lv_conf_internal.h b/src/lv_conf_internal.h index d6d7fd0d8..4feb0edb0 100644 --- a/src/lv_conf_internal.h +++ b/src/lv_conf_internal.h @@ -124,6 +124,48 @@ #endif #endif +#ifndef LV_STDINT_INCLUDE + #ifdef CONFIG_LV_STDINT_INCLUDE + #define LV_STDINT_INCLUDE CONFIG_LV_STDINT_INCLUDE + #else + #define LV_STDINT_INCLUDE + #endif +#endif +#ifndef LV_STDDEF_INCLUDE + #ifdef CONFIG_LV_STDDEF_INCLUDE + #define LV_STDDEF_INCLUDE CONFIG_LV_STDDEF_INCLUDE + #else + #define LV_STDDEF_INCLUDE + #endif +#endif +#ifndef LV_STDBOOL_INCLUDE + #ifdef CONFIG_LV_STDBOOL_INCLUDE + #define LV_STDBOOL_INCLUDE CONFIG_LV_STDBOOL_INCLUDE + #else + #define LV_STDBOOL_INCLUDE + #endif +#endif +#ifndef LV_INTTYPES_INCLUDE + #ifdef CONFIG_LV_INTTYPES_INCLUDE + #define LV_INTTYPES_INCLUDE CONFIG_LV_INTTYPES_INCLUDE + #else + #define LV_INTTYPES_INCLUDE + #endif +#endif +#ifndef LV_LIMITS_INCLUDE + #ifdef CONFIG_LV_LIMITS_INCLUDE + #define LV_LIMITS_INCLUDE CONFIG_LV_LIMITS_INCLUDE + #else + #define LV_LIMITS_INCLUDE + #endif +#endif +#ifndef LV_STDARG_INCLUDE + #ifdef CONFIG_LV_STDARG_INCLUDE + #define LV_STDARG_INCLUDE CONFIG_LV_STDARG_INCLUDE + #else + #define LV_STDARG_INCLUDE + #endif +#endif #if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN /*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/ diff --git a/src/lv_init.h b/src/lv_init.h index e5b551f05..0815142cb 100644 --- a/src/lv_init.h +++ b/src/lv_init.h @@ -13,8 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ -#include #include "lv_conf_internal.h" +#include "misc/lv_types.h" /********************* * DEFINES diff --git a/src/misc/cache/lv_cache.h b/src/misc/cache/lv_cache.h index cfa247dcd..025cb99a9 100644 --- a/src/misc/cache/lv_cache.h +++ b/src/misc/cache/lv_cache.h @@ -15,8 +15,7 @@ extern "C" { *********************/ #include "lv_cache_entry.h" #include "lv_cache_private.h" -#include -#include +#include "../lv_types.h" #include "_lv_cache_lru_rb.h" diff --git a/src/misc/cache/lv_cache_entry.h b/src/misc/cache/lv_cache_entry.h index 0cd2fb2e1..72997a70e 100644 --- a/src/misc/cache/lv_cache_entry.h +++ b/src/misc/cache/lv_cache_entry.h @@ -16,8 +16,6 @@ extern "C" { #include "../../osal/lv_os.h" #include "../lv_types.h" #include "lv_cache_private.h" -#include -#include /********************* * DEFINES *********************/ diff --git a/src/misc/cache/lv_cache_entry_private.h b/src/misc/cache/lv_cache_entry_private.h index 227585e1e..2bfb1acb7 100644 --- a/src/misc/cache/lv_cache_entry_private.h +++ b/src/misc/cache/lv_cache_entry_private.h @@ -14,8 +14,6 @@ extern "C" { * INCLUDES *********************/ #include "../lv_types.h" -#include -#include #include "../../osal/lv_os.h" /********************* * DEFINES diff --git a/src/misc/cache/lv_cache_private.h b/src/misc/cache/lv_cache_private.h index 4dbafd17e..41967e45f 100644 --- a/src/misc/cache/lv_cache_private.h +++ b/src/misc/cache/lv_cache_private.h @@ -14,8 +14,6 @@ extern "C" { * INCLUDES *********************/ #include "../lv_types.h" -#include -#include #include "../../osal/lv_os.h" /********************* diff --git a/src/misc/lv_anim.h b/src/misc/lv_anim.h index bff3b33a4..4df8e024d 100644 --- a/src/misc/lv_anim.h +++ b/src/misc/lv_anim.h @@ -19,10 +19,6 @@ extern "C" { #include "lv_timer.h" #include "lv_ll.h" -#include -#include -#include - /********************* * DEFINES *********************/ diff --git a/src/misc/lv_area.h b/src/misc/lv_area.h index 376ab9f6e..90df8249f 100644 --- a/src/misc/lv_area.h +++ b/src/misc/lv_area.h @@ -15,9 +15,6 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" #include "lv_types.h" -#include -#include -#include /********************* * DEFINES diff --git a/src/misc/lv_array.h b/src/misc/lv_array.h index 3cdb1c6c6..9eaa6e86e 100644 --- a/src/misc/lv_array.h +++ b/src/misc/lv_array.h @@ -13,10 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include -#include - #include "lv_types.h" /********************* diff --git a/src/misc/lv_bidi.c b/src/misc/lv_bidi.c index 1fa374dfc..11de69bb2 100644 --- a/src/misc/lv_bidi.c +++ b/src/misc/lv_bidi.c @@ -6,9 +6,9 @@ /********************* * INCLUDES *********************/ -#include #include "lv_bidi.h" #include "lv_text.h" +#include "lv_types.h" #include "../stdlib/lv_mem.h" #include "../stdlib/lv_string.h" diff --git a/src/misc/lv_bidi.h b/src/misc/lv_bidi.h index e5b19c295..8fcd1b6d9 100644 --- a/src/misc/lv_bidi.h +++ b/src/misc/lv_bidi.h @@ -14,9 +14,7 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" - -#include -#include +#include "lv_types.h" #include "lv_text.h" /********************* diff --git a/src/misc/lv_color.h b/src/misc/lv_color.h index 943234490..c594ef747 100644 --- a/src/misc/lv_color.h +++ b/src/misc/lv_color.h @@ -17,8 +17,6 @@ extern "C" { #include "lv_assert.h" #include "lv_math.h" #include "lv_types.h" -#include -#include /********************* * DEFINES diff --git a/src/misc/lv_color_op.h b/src/misc/lv_color_op.h index 1109c9c2c..e16510abc 100644 --- a/src/misc/lv_color_op.h +++ b/src/misc/lv_color_op.h @@ -16,7 +16,7 @@ extern "C" { #include "lv_assert.h" #include "lv_math.h" #include "lv_color.h" -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_event.c b/src/misc/lv_event.c index e991ec0fa..00f16f62b 100644 --- a/src/misc/lv_event.c +++ b/src/misc/lv_event.c @@ -10,7 +10,7 @@ #include "../core/lv_global.h" #include "../stdlib/lv_mem.h" #include "lv_assert.h" -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_event.h b/src/misc/lv_event.h index 2eeb5cdf5..ec33d149c 100644 --- a/src/misc/lv_event.h +++ b/src/misc/lv_event.h @@ -13,8 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "lv_types.h" #include "../lv_conf_internal.h" diff --git a/src/misc/lv_fs.c b/src/misc/lv_fs.c index 921d30658..98c00cc1c 100644 --- a/src/misc/lv_fs.c +++ b/src/misc/lv_fs.c @@ -8,7 +8,6 @@ *********************/ #include "lv_fs.h" -#include #include "../misc/lv_assert.h" #include "../stdlib/lv_string.h" #include "lv_ll.h" diff --git a/src/misc/lv_fs.h b/src/misc/lv_fs.h index ae29456ef..dfa004e81 100644 --- a/src/misc/lv_fs.h +++ b/src/misc/lv_fs.h @@ -14,9 +14,7 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" - -#include -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_ll.h b/src/misc/lv_ll.h index 676e404fd..4221b68fe 100644 --- a/src/misc/lv_ll.h +++ b/src/misc/lv_ll.h @@ -13,9 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include -#include +#include "../lv_conf_internal.h" +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_log.c b/src/misc/lv_log.c index d72c11bd0..cf7da050d 100644 --- a/src/misc/lv_log.c +++ b/src/misc/lv_log.c @@ -9,8 +9,7 @@ #include "lv_log.h" #if LV_USE_LOG -#include -#include +#include "../misc/lv_types.h" #include "../stdlib/lv_sprintf.h" #include "../stdlib/lv_mem.h" #include "../stdlib/lv_string.h" diff --git a/src/misc/lv_log.h b/src/misc/lv_log.h index 87ca3820a..acf264303 100644 --- a/src/misc/lv_log.h +++ b/src/misc/lv_log.h @@ -14,7 +14,6 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" -#include #include "lv_types.h" diff --git a/src/misc/lv_lru.c b/src/misc/lv_lru.c index 5f3618cf4..006584153 100755 --- a/src/misc/lv_lru.c +++ b/src/misc/lv_lru.c @@ -164,7 +164,7 @@ lv_lru_res_t lv_lru_set(lv_lru_t * cache, const void * key, size_t key_length, v item = lv_lru_pop_or_create_item(cache); item->value = value; item->key = lv_malloc(key_length); - memcpy(item->key, key, key_length); + lv_memcpy(item->key, key, key_length); item->value_length = value_length; item->key_length = key_length; required = (int) value_length; @@ -303,7 +303,7 @@ static int lv_lru_cmp_keys(lv_lru_item_t * item, const void * key, uint32_t key_ return 1; } else { - return memcmp(key, item->key, key_length); + return lv_memcmp(key, item->key, key_length); } } diff --git a/src/misc/lv_lru.h b/src/misc/lv_lru.h index 02172d202..f9c11182d 100755 --- a/src/misc/lv_lru.h +++ b/src/misc/lv_lru.h @@ -18,9 +18,6 @@ extern "C" { #include "lv_types.h" -#include -#include - /********************* * DEFINES *********************/ diff --git a/src/misc/lv_math.h b/src/misc/lv_math.h index d1a543d3d..1055b8f78 100644 --- a/src/misc/lv_math.h +++ b/src/misc/lv_math.h @@ -14,7 +14,6 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" -#include #include "lv_types.h" /********************* diff --git a/src/misc/lv_palette.h b/src/misc/lv_palette.h index fedac9eee..39b5cd71f 100644 --- a/src/misc/lv_palette.h +++ b/src/misc/lv_palette.h @@ -14,8 +14,7 @@ extern "C" { * INCLUDES *********************/ #include "lv_color.h" -#include -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_profiler_builtin.h b/src/misc/lv_profiler_builtin.h index ac79f8e6f..5cf2ea105 100644 --- a/src/misc/lv_profiler_builtin.h +++ b/src/misc/lv_profiler_builtin.h @@ -18,9 +18,7 @@ extern "C" { #if LV_USE_PROFILER && LV_USE_PROFILER_BUILTIN -#include -#include -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_rb.h b/src/misc/lv_rb.h index 1533cea75..dcfacadfb 100755 --- a/src/misc/lv_rb.h +++ b/src/misc/lv_rb.h @@ -14,8 +14,8 @@ extern "C" { * INCLUDES *********************/ #include "lv_types.h" -#include "stdbool.h" #include "lv_assert.h" +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_style.h b/src/misc/lv_style.h index 5c69e5989..bca6c4265 100644 --- a/src/misc/lv_style.h +++ b/src/misc/lv_style.h @@ -13,8 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "../font/lv_font.h" #include "lv_color.h" #include "lv_area.h" diff --git a/src/misc/lv_text.c b/src/misc/lv_text.c index b9e96de6e..9b89effb9 100644 --- a/src/misc/lv_text.c +++ b/src/misc/lv_text.c @@ -6,7 +6,6 @@ /********************* * INCLUDES *********************/ -#include #include "lv_text.h" #include "lv_text_ap.h" #include "lv_math.h" @@ -14,6 +13,7 @@ #include "lv_assert.h" #include "../stdlib/lv_mem.h" #include "../stdlib/lv_string.h" +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_text.h b/src/misc/lv_text.h index b2eddab4e..aba2aade0 100644 --- a/src/misc/lv_text.h +++ b/src/misc/lv_text.h @@ -15,12 +15,10 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include -#include +#include "lv_types.h" #include "lv_area.h" #include "../font/lv_font.h" #include "../stdlib/lv_sprintf.h" -#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_text_ap.c b/src/misc/lv_text_ap.c index 95e0dd772..8a38d23c0 100644 --- a/src/misc/lv_text_ap.c +++ b/src/misc/lv_text_ap.c @@ -6,10 +6,10 @@ /********************* * INCLUDES *********************/ -#include #include "lv_bidi.h" #include "lv_text.h" #include "lv_text_ap.h" +#include "lv_types.h" #include "../stdlib/lv_mem.h" #include "../draw/lv_draw.h" diff --git a/src/misc/lv_text_ap.h b/src/misc/lv_text_ap.h index df6357fc9..1530190a2 100644 --- a/src/misc/lv_text_ap.h +++ b/src/misc/lv_text_ap.h @@ -13,8 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ -#include #include "lv_text.h" +#include "lv_types.h" #include "../draw/lv_draw.h" #if LV_USE_ARABIC_PERSIAN_CHARS == 1 diff --git a/src/misc/lv_timer.h b/src/misc/lv_timer.h index 06576a853..119b8bc9a 100644 --- a/src/misc/lv_timer.h +++ b/src/misc/lv_timer.h @@ -17,9 +17,6 @@ extern "C" { #include "lv_types.h" #include "lv_ll.h" -#include -#include - /********************* * DEFINES *********************/ diff --git a/src/misc/lv_types.h b/src/misc/lv_types.h index 1b992c150..3bd3121bd 100644 --- a/src/misc/lv_types.h +++ b/src/misc/lv_types.h @@ -16,7 +16,12 @@ extern "C" { #include "../lv_conf_internal.h" #ifndef __ASSEMBLY__ -#include +#include LV_STDINT_INCLUDE +#include LV_STDDEF_INCLUDE +#include LV_STDBOOL_INCLUDE +#include LV_INTTYPES_INCLUDE +#include LV_LIMITS_INCLUDE +#include LV_STDARG_INCLUDE #endif /********************* diff --git a/src/misc/lv_utils.c b/src/misc/lv_utils.c index 2eb02afc7..8861d894b 100644 --- a/src/misc/lv_utils.c +++ b/src/misc/lv_utils.c @@ -6,10 +6,9 @@ /********************* * INCLUDES *********************/ -#include - #include "lv_utils.h" #include "lv_fs.h" +#include "lv_types.h" #include "cache/lv_image_cache.h" /********************* diff --git a/src/misc/lv_utils.h b/src/misc/lv_utils.h index 8422cf8d7..7b28ae17a 100644 --- a/src/misc/lv_utils.h +++ b/src/misc/lv_utils.h @@ -17,8 +17,6 @@ extern "C" { #include "lv_types.h" #include "../draw/lv_draw_buf.h" -#include - /********************* * DEFINES *********************/ diff --git a/src/osal/lv_os.h b/src/osal/lv_os.h index 9b3254fc2..7cfca8216 100644 --- a/src/osal/lv_os.h +++ b/src/osal/lv_os.h @@ -20,7 +20,6 @@ extern "C" { #include "../lv_conf_internal.h" #include "../misc/lv_types.h" -#include #if LV_USE_OS == LV_OS_NONE #include "lv_os_none.h" diff --git a/src/others/ime/lv_ime_pinyin.c b/src/others/ime/lv_ime_pinyin.c index 1cb6a5e54..04155036c 100644 --- a/src/others/ime/lv_ime_pinyin.c +++ b/src/others/ime/lv_ime_pinyin.c @@ -9,7 +9,6 @@ #include "lv_ime_pinyin.h" #if LV_USE_IME_PINYIN != 0 -#include #include "../../lvgl.h" /********************* @@ -627,7 +626,7 @@ static void lv_ime_pinyin_kb_event(lv_event_t * e) uint16_t tmp_button_str_len = lv_strlen(pinyin_ime->input_char); if((btn_id >= 16) && (tmp_button_str_len > 0) && (btn_id < (16 + LV_IME_PINYIN_K9_CAND_TEXT_NUM))) { lv_memzero(pinyin_ime->input_char, sizeof(pinyin_ime->input_char)); - strcat(pinyin_ime->input_char, txt); + lv_strcat(pinyin_ime->input_char, txt); pinyin_input_proc(obj); for(int index = 0; index < (pinyin_ime->ta_count + tmp_button_str_len); index++) { @@ -706,7 +705,7 @@ static void lv_ime_pinyin_kb_event(lv_event_t * e) } else if((pinyin_ime->mode == LV_IME_PINYIN_MODE_K26) && ((txt[0] >= 'a' && txt[0] <= 'z') || (txt[0] >= 'A' && txt[0] <= 'Z'))) { - strcat(pinyin_ime->input_char, txt); + lv_strcat(pinyin_ime->input_char, txt); pinyin_input_proc(obj); pinyin_ime->ta_count++; } diff --git a/src/stdlib/builtin/lv_string_builtin.c b/src/stdlib/builtin/lv_string_builtin.c index a033a78b9..5cb4f987c 100644 --- a/src/stdlib/builtin/lv_string_builtin.c +++ b/src/stdlib/builtin/lv_string_builtin.c @@ -171,6 +171,17 @@ void * LV_ATTRIBUTE_FAST_MEM lv_memmove(void * dst, const void * src, size_t len return dst; } +int32_t lv_memcmp(const void * p1, const void * p2, size_t len) +{ + const char * s1 = (const char *) p1; + const char * s2 = (const char *) p2; + while(--len > 0 && (*s1 == *s2)) { + s1++; + s2++; + } + return *s1 - *s2; +} + /* See https://en.cppreference.com/w/c/string/byte/strlen for reference */ size_t lv_strlen(const char * str) { @@ -212,10 +223,20 @@ char * lv_strdup(const char * src) char * dst = lv_malloc(len); if(dst == NULL) return NULL; - lv_memcpy(dst, src, len); /*do memcpy is faster than strncpy when length is known*/ + lv_memcpy(dst, src, len); /*memcpy is faster than strncpy when length is known*/ return dst; } +char * lv_strcat(char * dst, const char * src) +{ + char * tmp = dst; + while(*dst != '\0') { + dst++; + } + lv_strcpy(dst, src); + return tmp; +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/stdlib/builtin/lv_tlsf.c b/src/stdlib/builtin/lv_tlsf.c index 8910b05ef..3d83b8dc4 100644 --- a/src/stdlib/builtin/lv_tlsf.c +++ b/src/stdlib/builtin/lv_tlsf.c @@ -1,11 +1,11 @@ #include "../../lv_conf_internal.h" #if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN -#include #include "lv_tlsf.h" #include "../../stdlib/lv_string.h" #include "../../misc/lv_log.h" #include "../../misc/lv_assert.h" +#include "../../misc/lv_types.h" #undef printf #define printf LV_LOG_ERROR diff --git a/src/stdlib/builtin/lv_tlsf.h b/src/stdlib/builtin/lv_tlsf.h index 98126636a..002e56e18 100644 --- a/src/stdlib/builtin/lv_tlsf.h +++ b/src/stdlib/builtin/lv_tlsf.h @@ -41,10 +41,9 @@ ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include - #include "../../osal/lv_os.h" #include "../../misc/lv_ll.h" +#include "../../misc/lv_types.h" #if defined(__cplusplus) extern "C" { diff --git a/src/stdlib/clib/lv_string_clib.c b/src/stdlib/clib/lv_string_clib.c index 359b2e039..d003b6b7a 100644 --- a/src/stdlib/clib/lv_string_clib.c +++ b/src/stdlib/clib/lv_string_clib.c @@ -50,6 +50,11 @@ void * LV_ATTRIBUTE_FAST_MEM lv_memmove(void * dst, const void * src, size_t len return memmove(dst, src, len); } +int32_t lv_memcmp(const void * p1, const void * p2, size_t len) +{ + return memcmp(p1, p2, len); +} + size_t lv_strlen(const char * str) { return strlen(str); @@ -86,6 +91,11 @@ char * lv_strdup(const char * src) return dst; } +char * lv_strcat(char * dst, const char * src) +{ + return strcat(dst, src); +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/stdlib/lv_mem.h b/src/stdlib/lv_mem.h index f66f3d6f0..e0bfcaba0 100644 --- a/src/stdlib/lv_mem.h +++ b/src/stdlib/lv_mem.h @@ -15,9 +15,7 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include -#include -#include +#include "lv_string.h" #include "../misc/lv_types.h" diff --git a/src/stdlib/lv_sprintf.h b/src/stdlib/lv_sprintf.h index cd5a80346..a47b4307c 100644 --- a/src/stdlib/lv_sprintf.h +++ b/src/stdlib/lv_sprintf.h @@ -7,8 +7,8 @@ #define _LV_SPRINTF_H_ #if defined(__has_include) - #if __has_include() - #include + #if __has_include(LV_INTTYPES_INCLUDE) + #include LV_INTTYPES_INCLUDE /* platform-specific printf format for int32_t, usually "d" or "ld" */ #define LV_PRId32 PRId32 #define LV_PRIu32 PRIu32 @@ -28,9 +28,7 @@ #define LV_PRIX32 "X" #endif -#include -#include -#include +#include "../misc/lv_types.h" #ifdef __cplusplus extern "C" { diff --git a/src/stdlib/lv_string.h b/src/stdlib/lv_string.h index 745cd49e5..e8d4b45fd 100644 --- a/src/stdlib/lv_string.h +++ b/src/stdlib/lv_string.h @@ -14,8 +14,7 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" -#include -#include +#include "../misc/lv_types.h" /********************* * DEFINES @@ -57,6 +56,15 @@ void lv_memset(void * dst, uint8_t v, size_t len); */ void * lv_memmove(void * dst, const void * src, size_t len); +/** + * @brief This function will compare two memory blocks + * @param p1 Pointer to the first memory block + * @param p2 Pointer to the second memory block + * @param len Number of bytes to compare + * @return The difference between the value of the first unmatching byte. + */ +int32_t lv_memcmp(const void * p1, const void * p2, size_t len); + /** * Same as `memset(dst, 0x00, len)`. * @param dst pointer to the destination buffer @@ -107,6 +115,15 @@ int32_t lv_strcmp(const char * s1, const char * s2); */ char * lv_strdup(const char * src); +/** + * @brief Copies the string pointed to by src, including the terminating null character, + * to the end of the string pointed to by dst. + * @param dst Pointer to the destination string where the content is to be appended. + * @param src Pointer to the source of data to be copied. + * @return A pointer to the destination string, which is dst. + */ +char * lv_strcat(char * dst, const char * src); + /********************** * MACROS **********************/ diff --git a/src/stdlib/rtthread/lv_string_rtthread.c b/src/stdlib/rtthread/lv_string_rtthread.c index 86949814c..14f4b4f74 100644 --- a/src/stdlib/rtthread/lv_string_rtthread.c +++ b/src/stdlib/rtthread/lv_string_rtthread.c @@ -55,6 +55,11 @@ size_t lv_strlen(const char * str) return rt_strlen(str); } +int32_t lv_memcmp(const void * p1, const void * p2, size_t len) +{ + return rt_memcmp(p1, p2, len); +} + char * lv_strncpy(char * dst, const char * src, size_t dest_size) { return rt_strncpy(dst, src, dest_size); @@ -72,17 +77,17 @@ int32_t lv_strcmp(const char * s1, const char * s2) char * lv_strdup(const char * src) { - /*strdup uses rt_malloc, so use the lv_malloc when LV_USE_STDLIB_MALLOC is not LV_STDLIB_RTTHREAD */ -#if LV_USE_STDLIB_MALLOC != LV_STDLIB_RTTHREAD size_t len = lv_strlen(src) + 1; char * dst = lv_malloc(len); if(dst == NULL) return NULL; - lv_memcpy(dst, src, len); /*do memcpy is faster than strncpy when length is known*/ + lv_memcpy(dst, src, len); /*memcpy is faster than strncpy when length is known*/ return dst; -#else - return rt_strdup(src); -#endif +} + +char * lv_strcat(char * dst, const char * src) +{ + return strcat(dst, src); } /********************** diff --git a/src/tick/lv_tick.c b/src/tick/lv_tick.c index 2e4626b78..09fcd007a 100644 --- a/src/tick/lv_tick.c +++ b/src/tick/lv_tick.c @@ -7,7 +7,7 @@ * INCLUDES *********************/ #include "lv_tick.h" -#include +#include "../misc/lv_types.h" #include "../core/lv_global.h" /********************* diff --git a/src/tick/lv_tick.h b/src/tick/lv_tick.h index da8620371..b770ac1fa 100644 --- a/src/tick/lv_tick.h +++ b/src/tick/lv_tick.h @@ -15,8 +15,7 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include -#include +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/widgets/buttonmatrix/lv_buttonmatrix.c b/src/widgets/buttonmatrix/lv_buttonmatrix.c index 9b67c31bd..2b02670bd 100644 --- a/src/widgets/buttonmatrix/lv_buttonmatrix.c +++ b/src/widgets/buttonmatrix/lv_buttonmatrix.c @@ -130,7 +130,7 @@ void lv_buttonmatrix_set_map(lv_obj_t * obj, const char * map[]) uint32_t unit_cnt = 0; /*Number of units in a row*/ uint32_t btn_cnt = 0; /*Number of buttons in a row*/ /*Count the buttons and units in this row*/ - while(map_row[btn_cnt] && strcmp(map_row[btn_cnt], "\n") != 0 && map_row[btn_cnt][0] != '\0') { + while(map_row[btn_cnt] && lv_strcmp(map_row[btn_cnt], "\n") != 0 && map_row[btn_cnt][0] != '\0') { unit_cnt += get_button_width(btnm->ctrl_bits[btn_tot_i + btn_cnt]); btn_cnt++; } @@ -325,7 +325,7 @@ const char * lv_buttonmatrix_get_button_text(const lv_obj_t * obj, uint32_t btn_ while(btn_i != btn_id) { btn_i++; txt_i++; - if(strcmp(btnm->map_p[txt_i], "\n") == 0) txt_i++; + if(lv_strcmp(btnm->map_p[txt_i], "\n") == 0) txt_i++; } if(btn_i == btnm->btn_cnt) return NULL; @@ -703,7 +703,7 @@ static void draw_main(lv_event_t * e) for(btn_i = 0; btn_i < btnm->btn_cnt; btn_i++, txt_i++) { /*Search the next valid text in the map*/ - while(strcmp(btnm->map_p[txt_i], "\n") == 0) { + while(lv_strcmp(btnm->map_p[txt_i], "\n") == 0) { txt_i++; } @@ -818,7 +818,7 @@ static void allocate_button_areas_and_controls(const lv_obj_t * obj, const char uint32_t btn_cnt = 0; uint32_t i = 0; while(map[i] && map[i][0] != '\0') { - if(strcmp(map[i], "\n") != 0) { /*Do not count line breaks*/ + if(lv_strcmp(map[i], "\n") != 0) { /*Do not count line breaks*/ btn_cnt++; } else { @@ -1029,7 +1029,7 @@ static bool has_popovers_in_top_row(lv_obj_t * obj) const char ** map_row = btnm->map_p; uint32_t btn_cnt = 0; - while(map_row[btn_cnt] && strcmp(map_row[btn_cnt], "\n") != 0 && map_row[btn_cnt][0] != '\0') { + while(map_row[btn_cnt] && lv_strcmp(map_row[btn_cnt], "\n") != 0 && map_row[btn_cnt][0] != '\0') { if(button_is_popover(btnm->ctrl_bits[btn_cnt])) { return true; } diff --git a/src/widgets/dropdown/lv_dropdown.c b/src/widgets/dropdown/lv_dropdown.c index c5d1c0189..973c07f77 100644 --- a/src/widgets/dropdown/lv_dropdown.c +++ b/src/widgets/dropdown/lv_dropdown.c @@ -20,7 +20,6 @@ #include "../../misc/lv_math.h" #include "../../misc/lv_text_ap.h" #include "../../stdlib/lv_string.h" -#include /********************* * DEFINES @@ -246,7 +245,7 @@ void lv_dropdown_add_option(lv_obj_t * obj, const char * option, uint32_t pos) #else _lv_text_ap_proc(option, ins_buf); #endif - if(pos < dropdown->option_cnt) strcat(ins_buf, "\n"); + if(pos < dropdown->option_cnt) lv_strcat(ins_buf, "\n"); _lv_text_ins(dropdown->options, _lv_text_encoded_get_char_id(dropdown->options, insert_pos), ins_buf); lv_free(ins_buf); @@ -412,7 +411,7 @@ int32_t lv_dropdown_get_option_index(lv_obj_t * obj, const char * option) while(start[0] != '\0') { for(char_i = 0; (start[char_i] != '\n') && (start[char_i] != '\0'); char_i++); - if(option_len == char_i && memcmp(start, option, LV_MIN(option_len, char_i)) == 0) { + if(option_len == char_i && lv_memcmp(start, option, LV_MIN(option_len, char_i)) == 0) { return opt_i; } diff --git a/src/widgets/keyboard/lv_keyboard.c b/src/widgets/keyboard/lv_keyboard.c index abc431c2c..a2bd3bb9a 100644 --- a/src/widgets/keyboard/lv_keyboard.c +++ b/src/widgets/keyboard/lv_keyboard.c @@ -14,8 +14,6 @@ #include "../../misc/lv_assert.h" #include "../../stdlib/lv_string.h" -#include - /********************* * DEFINES *********************/ diff --git a/src/widgets/label/lv_label.h b/src/widgets/label/lv_label.h index 7a6ea3d85..e555f089f 100644 --- a/src/widgets/label/lv_label.h +++ b/src/widgets/label/lv_label.h @@ -17,7 +17,7 @@ extern "C" { #if LV_USE_LABEL != 0 -#include +#include "../../misc/lv_types.h" #include "../../core/lv_obj.h" #include "../../font/lv_font.h" #include "../../font/lv_symbol_def.h" diff --git a/src/widgets/line/lv_line.c b/src/widgets/line/lv_line.c index 4734e1bbe..9d5ee810d 100644 --- a/src/widgets/line/lv_line.c +++ b/src/widgets/line/lv_line.c @@ -11,10 +11,8 @@ #if LV_USE_LINE != 0 #include "../../misc/lv_assert.h" #include "../../misc/lv_math.h" +#include "../../misc/lv_types.h" #include "../../draw/lv_draw.h" -#include -#include -#include /********************* * DEFINES diff --git a/src/widgets/span/lv_span.c b/src/widgets/span/lv_span.c index 95dd03094..91da027cc 100644 --- a/src/widgets/span/lv_span.c +++ b/src/widgets/span/lv_span.c @@ -440,7 +440,7 @@ int32_t lv_spangroup_get_expand_height(lv_obj_t * obj, int32_t width) span_text_check(&cur_txt); uint32_t cur_txt_ofs = 0; lv_snippet_t snippet; /* use to save cur_span info and push it to stack */ - memset(&snippet, 0, sizeof(snippet)); + lv_memset(&snippet, 0, sizeof(snippet)); int32_t line_cnt = 0; int32_t lines = spans->lines < 0 ? INT32_MAX : spans->lines; @@ -656,7 +656,7 @@ static void lv_snippet_push(lv_snippet_t * item) { struct _snippet_stack * stack_p = snippet_stack; if(stack_p->index < LV_SPAN_SNIPPET_STACK_SIZE) { - memcpy(&stack_p->stack[stack_p->index], item, sizeof(lv_snippet_t)); + lv_memcpy(&stack_p->stack[stack_p->index], item, sizeof(lv_snippet_t)); stack_p->index++; } else { diff --git a/src/widgets/table/lv_table.c b/src/widgets/table/lv_table.c index c69494c3a..ec41778e2 100644 --- a/src/widgets/table/lv_table.c +++ b/src/widgets/table/lv_table.c @@ -1019,7 +1019,7 @@ static size_t get_cell_txt_len(const char * txt) #if LV_USE_ARABIC_PERSIAN_CHARS retval = sizeof(lv_table_cell_t) + _lv_text_ap_calc_bytes_count(txt) + 1; #else - retval = sizeof(lv_table_cell_t) + strlen(txt) + 1; + retval = sizeof(lv_table_cell_t) + lv_strlen(txt) + 1; #endif return retval; @@ -1031,7 +1031,7 @@ static void copy_cell_txt(lv_table_cell_t * dst, const char * txt) #if LV_USE_ARABIC_PERSIAN_CHARS _lv_text_ap_proc(txt, dst->txt); #else - strcpy(dst->txt, txt); + lv_strcpy(dst->txt, txt); #endif } diff --git a/src/widgets/textarea/lv_textarea.c b/src/widgets/textarea/lv_textarea.c index 37bf816b1..241f6753e 100644 --- a/src/widgets/textarea/lv_textarea.c +++ b/src/widgets/textarea/lv_textarea.c @@ -9,7 +9,6 @@ #include "lv_textarea.h" #if LV_USE_TEXTAREA != 0 -#include #include "../../core/lv_group.h" #include "../../core/lv_refr.h" #include "../../indev/lv_indev.h" diff --git a/tests/src/test_assets/test_kern_one_otf.c b/tests/src/test_assets/test_kern_one_otf.c index 8646c7a59..ed6d34b7c 100644 --- a/tests/src/test_assets/test_kern_one_otf.c +++ b/tests/src/test_assets/test_kern_one_otf.c @@ -1,6 +1,5 @@ #include #include - #if LV_BUILD_TEST /*TestKERNOne.otf from https://github.com/unicode-org/text-rendering-tests*/ diff --git a/tests/src/test_cases/libs/test_qrcode.c b/tests/src/test_cases/libs/test_qrcode.c index e6f70cc4c..630daec82 100644 --- a/tests/src/test_cases/libs/test_qrcode.c +++ b/tests/src/test_cases/libs/test_qrcode.c @@ -4,6 +4,7 @@ #include "unity/unity.h" #if LV_USE_QRCODE +#include static lv_obj_t * active_screen = NULL; diff --git a/tests/src/test_cases/test_fs.c b/tests/src/test_cases/test_fs.c index 4944a4607..237412fab 100644 --- a/tests/src/test_cases/test_fs.c +++ b/tests/src/test_cases/test_fs.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include const char * read_exp = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sed maximus orci. Morbi massa nisi, varius eu convallis ac, venenatis at metus. In in nibh id urna pretium feugiat vitae eu libero. Ut eget fringilla eros. Nunc ullamcorper lectus mauris, vel rhoncus velit volutpat et. Phasellus sed molestie massa. Maecenas quis dui sollicitudin, vulputate nunc ut, dictum quam. Nam a congue lorem. Nulla non facilisis sapien. Ut luctus nulla nibh, sed finibus urna porta non. Duis aliquet augue id urna euismod auctor. Integer pellentesque vulputate enim non mattis. Donec finibus mattis dolor, et feugiat nisi pharetra porta. Mauris ullamcorper cursus magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus."; diff --git a/tests/src/test_cases/test_profiler.c b/tests/src/test_cases/test_profiler.c index 8dfd721c7..094877f9a 100644 --- a/tests/src/test_cases/test_profiler.c +++ b/tests/src/test_cases/test_profiler.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include #define OUTPUT_LINE_MAX 8 #define OUTPUT_BUF_MAX 128 diff --git a/tests/src/test_cases/test_txt.c b/tests/src/test_cases/test_txt.c index bd9958689..5d1f32bf4 100644 --- a/tests/src/test_cases/test_txt.c +++ b/tests/src/test_cases/test_txt.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include void test_txt_should_insert_string_into_another(void) { diff --git a/tests/src/test_cases/widgets/test_dropdown.c b/tests/src/test_cases/widgets/test_dropdown.c index a32aaebac..2d2fe0992 100644 --- a/tests/src/test_cases/widgets/test_dropdown.c +++ b/tests/src/test_cases/widgets/test_dropdown.c @@ -3,6 +3,7 @@ #include "unity/unity.h" #include "lv_test_indev.h" +#include void setUp(void) { diff --git a/tests/src/test_cases/widgets/test_label.c b/tests/src/test_cases/widgets/test_label.c index 02cfd8717..216e7405e 100644 --- a/tests/src/test_cases/widgets/test_label.c +++ b/tests/src/test_cases/widgets/test_label.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include static const char * long_text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras malesuada ultrices magna in rutrum."; diff --git a/tests/src/test_cases/widgets/test_objid.c b/tests/src/test_cases/widgets/test_objid.c index 6eb02a97e..695ffe26c 100644 --- a/tests/src/test_cases/widgets/test_objid.c +++ b/tests/src/test_cases/widgets/test_objid.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include void test_obj_id_should_match_class_name(void) { diff --git a/tests/src/test_cases/widgets/test_roller.c b/tests/src/test_cases/widgets/test_roller.c index 4c85fc75c..134efa602 100644 --- a/tests/src/test_cases/widgets/test_roller.c +++ b/tests/src/test_cases/widgets/test_roller.c @@ -3,6 +3,7 @@ #include "unity/unity.h" #include "lv_test_indev.h" +#include #define OPTION_BUFFER_SZ (20U) #define OPTION_SMALL_BUFFER_SZ (3U)