From 9011e9a69e6bb71b40b7ebcfcacc966ab4e8af2e Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sat, 18 Oct 2025 12:32:57 +0200 Subject: [PATCH] LVGL library from v9.3.0 to v9.4.0 (#24028) --- CHANGELOG.md | 1 + .../generate/LVGL_API_Reference.md | 71 +- .../generate/be_lv_c_mapping.h | 43 + .../generate/be_lvgl_module.c | 77 +- .../lv_binding_berry/mapping/lv_enum.h | 97 +- .../lv_binding_berry/mapping/lv_funcs.h | 84 +- .../src/be_lvgl_ctypes_definitions.c | 201 +- .../src/embedded/lvgl_ctypes.py | 221 +- .../lv_binding_berry/tools/convert.py | 8 +- .../lv_binding_berry/tools/preprocessor.py | 4 + .../src/embedded/lv_1_constants.be | 65 +- .../lv_haspmota/src/embedded/lv_haspmota.be | 14 +- .../src/solidify/solidified_lv_haspmota.h | 2 +- lib/libesp32_lvgl/lvgl/README.md | 639 +- lib/libesp32_lvgl/lvgl/library.json | 2 +- lib/libesp32_lvgl/lvgl/library.properties | 2 +- lib/libesp32_lvgl/lvgl/lv_conf_template.h | 243 +- lib/libesp32_lvgl/lvgl/lv_version.h | 8 +- lib/libesp32_lvgl/lvgl/lvgl.h | 22 +- lib/libesp32_lvgl/lvgl/lvgl_private.h | 2 +- lib/libesp32_lvgl/lvgl/src/core/lv_global.h | 50 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj.c | 175 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj.h | 95 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj_draw.c | 4 + lib/libesp32_lvgl/lvgl/src/core/lv_obj_draw.h | 3 +- .../lvgl/src/core/lv_obj_event.c | 63 +- .../lvgl/src/core/lv_obj_id_builtin.c | 4 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj_pos.c | 148 +- .../lvgl/src/core/lv_obj_private.h | 3 +- .../lvgl/src/core/lv_obj_property.c | 2 +- .../lvgl/src/core/lv_obj_property.h | 16 +- .../lvgl/src/core/lv_obj_style.c | 74 +- .../lvgl/src/core/lv_obj_style.h | 72 +- .../lvgl/src/core/lv_obj_style_gen.c | 8 + .../lvgl/src/core/lv_obj_style_gen.h | 7 + .../lvgl/src/core/lv_obj_style_private.h | 1 + lib/libesp32_lvgl/lvgl/src/core/lv_obj_tree.h | 4 +- lib/libesp32_lvgl/lvgl/src/core/lv_refr.c | 363 +- .../lvgl/src/core/lv_refr_private.h | 15 + .../lvgl/src/display/lv_display.c | 96 +- .../lvgl/src/display/lv_display.h | 56 +- .../helium/lv_draw_buf_convert_helium.c | 100 + .../helium/lv_draw_buf_convert_helium.h | 57 + .../src/draw/convert/lv_draw_buf_convert.c | 130 + .../src/draw/convert/lv_draw_buf_convert.h | 39 + .../convert/neon/lv_draw_buf_convert_neon.c | 132 + .../convert/neon/lv_draw_buf_convert_neon.h | 58 + .../lvgl/src/draw/dma2d/lv_draw_dma2d.c | 132 +- .../lvgl/src/draw/dma2d/lv_draw_dma2d_fill.c | 8 +- .../lvgl/src/draw/dma2d/lv_draw_dma2d_img.c | 124 +- .../src/draw/dma2d/lv_draw_dma2d_private.h | 11 +- .../lvgl/src/draw/espressif/ppa/lv_draw_ppa.c | 255 + .../lvgl/src/draw/espressif/ppa/lv_draw_ppa.h | 57 + .../src/draw/espressif/ppa/lv_draw_ppa_buf.c | 52 + .../src/draw/espressif/ppa/lv_draw_ppa_fill.c | 48 + .../src/draw/espressif/ppa/lv_draw_ppa_img.c | 77 + .../draw/espressif/ppa/lv_draw_ppa_private.h | 185 + .../lvgl/src/draw/eve/lv_draw_eve.c | 164 + .../lvgl/src/draw/eve/lv_draw_eve.h | 57 + .../lvgl/src/draw/eve/lv_draw_eve_arc.c | 325 + .../lvgl/src/draw/eve/lv_draw_eve_fill.c | 121 + .../lvgl/src/draw/eve/lv_draw_eve_image.c | 299 + .../lvgl/src/draw/eve/lv_draw_eve_letter.c | 233 + .../lvgl/src/draw/eve/lv_draw_eve_line.c | 63 + .../lvgl/src/draw/eve/lv_draw_eve_private.h | 117 + .../lvgl/src/draw/eve/lv_draw_eve_ram_g.c | 221 + .../lvgl/src/draw/eve/lv_draw_eve_ram_g.h | 48 + .../lvgl/src/draw/eve/lv_draw_eve_target.h | 79 + .../lvgl/src/draw/eve/lv_draw_eve_triangle.c | 127 + lib/libesp32_lvgl/lvgl/src/draw/eve/lv_eve.c | 265 + lib/libesp32_lvgl/lvgl/src/draw/eve/lv_eve.h | 151 + lib/libesp32_lvgl/lvgl/src/draw/lv_draw.c | 96 +- lib/libesp32_lvgl/lvgl/src/draw/lv_draw.h | 79 +- lib/libesp32_lvgl/lvgl/src/draw/lv_draw_3d.c | 2 + lib/libesp32_lvgl/lvgl/src/draw/lv_draw_3d.h | 2 + lib/libesp32_lvgl/lvgl/src/draw/lv_draw_arc.h | 6 +- lib/libesp32_lvgl/lvgl/src/draw/lv_draw_buf.c | 214 +- lib/libesp32_lvgl/lvgl/src/draw/lv_draw_buf.h | 51 +- .../lvgl/src/draw/lv_draw_buf_private.h | 13 +- .../lvgl/src/draw/lv_draw_image.c | 6 +- .../lvgl/src/draw/lv_draw_image.h | 4 +- .../lvgl/src/draw/lv_draw_label.c | 85 +- .../lvgl/src/draw/lv_draw_label.h | 14 +- .../lvgl/src/draw/lv_draw_private.h | 11 +- .../lvgl/src/draw/lv_draw_rect.c | 11 +- .../lvgl/src/draw/lv_draw_rect.h | 24 +- .../lvgl/src/draw/lv_draw_vector.c | 583 +- .../lvgl/src/draw/lv_draw_vector.h | 180 +- .../lvgl/src/draw/lv_draw_vector_private.h | 52 +- .../lvgl/src/draw/lv_image_decoder.c | 52 +- .../lvgl/src/draw/lv_image_dsc.h | 5 + .../lvgl/src/draw/nema_gfx/lv_draw_nema_gfx.c | 21 +- .../lvgl/src/draw/nema_gfx/lv_draw_nema_gfx.h | 5 + .../draw/nema_gfx/lv_draw_nema_gfx_border.c | 2 +- .../src/draw/nema_gfx/lv_draw_nema_gfx_fill.c | 67 +- .../src/draw/nema_gfx/lv_draw_nema_gfx_img.c | 97 +- .../draw/nema_gfx/lv_draw_nema_gfx_label.c | 34 +- .../draw/nema_gfx/lv_draw_nema_gfx_layer.c | 2 +- .../src/draw/nema_gfx/lv_draw_nema_gfx_line.c | 2 +- .../nema_gfx/lv_draw_nema_gfx_stm32_hal.c | 2 +- .../draw/nema_gfx/lv_draw_nema_gfx_triangle.c | 6 +- .../draw/nema_gfx/lv_draw_nema_gfx_utils.h | 2 +- .../draw/nema_gfx/lv_draw_nema_gfx_vector.c | 161 + .../lvgl/src/draw/nxp/g2d/lv_draw_buf_g2d.c | 6 +- .../lvgl/src/draw/nxp/g2d/lv_draw_g2d.c | 72 +- .../lvgl/src/draw/nxp/g2d/lv_draw_g2d.h | 8 +- .../lvgl/src/draw/nxp/g2d/lv_draw_g2d_fill.c | 57 +- .../lvgl/src/draw/nxp/g2d/lv_draw_g2d_img.c | 288 +- .../lvgl/src/draw/nxp/g2d/lv_g2d_buf_map.c | 69 +- .../lvgl/src/draw/nxp/g2d/lv_g2d_buf_map.h | 6 +- .../lvgl/src/draw/nxp/g2d/lv_g2d_utils.c | 87 +- .../lvgl/src/draw/nxp/g2d/lv_g2d_utils.h | 15 +- .../lvgl/src/draw/nxp/pxp/lv_draw_buf_pxp.c | 4 +- .../lvgl/src/draw/nxp/pxp/lv_draw_pxp.c | 11 +- .../lvgl/src/draw/nxp/pxp/lv_draw_pxp.h | 2 +- .../lvgl/src/draw/nxp/pxp/lv_draw_pxp_img.c | 137 +- .../lvgl/src/draw/nxp/pxp/lv_draw_pxp_layer.c | 2 +- .../lvgl/src/draw/nxp/pxp/lv_pxp_cfg.h | 4 + .../lvgl/src/draw/nxp/pxp/lv_pxp_osa.c | 2 +- .../src/draw/nxp/vglite/lv_draw_buf_vglite.c | 131 - .../lvgl/src/draw/nxp/vglite/lv_draw_vglite.c | 638 - .../lvgl/src/draw/nxp/vglite/lv_draw_vglite.h | 101 - .../src/draw/nxp/vglite/lv_draw_vglite_arc.c | 684 - .../draw/nxp/vglite/lv_draw_vglite_border.c | 248 - .../src/draw/nxp/vglite/lv_draw_vglite_fill.c | 269 - .../src/draw/nxp/vglite/lv_draw_vglite_img.c | 449 - .../draw/nxp/vglite/lv_draw_vglite_label.c | 270 - .../draw/nxp/vglite/lv_draw_vglite_layer.c | 156 - .../src/draw/nxp/vglite/lv_draw_vglite_line.c | 169 - .../draw/nxp/vglite/lv_draw_vglite_triangle.c | 214 - .../lvgl/src/draw/nxp/vglite/lv_vglite_buf.c | 116 - .../lvgl/src/draw/nxp/vglite/lv_vglite_buf.h | 124 - .../src/draw/nxp/vglite/lv_vglite_matrix.c | 81 - .../src/draw/nxp/vglite/lv_vglite_matrix.h | 80 - .../lvgl/src/draw/nxp/vglite/lv_vglite_path.c | 217 - .../lvgl/src/draw/nxp/vglite/lv_vglite_path.h | 98 - .../src/draw/nxp/vglite/lv_vglite_utils.c | 286 - .../src/draw/nxp/vglite/lv_vglite_utils.h | 183 - .../lvgl/src/draw/opengles/lv_draw_opengles.c | 141 +- .../src/draw/renesas/dave2d/lv_draw_dave2d.c | 247 +- .../src/draw/renesas/dave2d/lv_draw_dave2d.h | 38 +- .../draw/renesas/dave2d/lv_draw_dave2d_arc.c | 13 - .../renesas/dave2d/lv_draw_dave2d_border.c | 26 - .../draw/renesas/dave2d/lv_draw_dave2d_fill.c | 21 - .../renesas/dave2d/lv_draw_dave2d_image.c | 13 - .../renesas/dave2d/lv_draw_dave2d_label.c | 93 +- .../draw/renesas/dave2d/lv_draw_dave2d_line.c | 16 - .../dave2d/lv_draw_dave2d_mask_rectangle.c | 12 - .../renesas/dave2d/lv_draw_dave2d_triangle.c | 19 +- .../renesas/dave2d/lv_draw_dave2d_utils.c | 30 - .../renesas/dave2d/lv_draw_dave2d_utils.h | 2 - .../lvgl/src/draw/sdl/lv_draw_sdl.c | 2 +- .../lvgl/src/draw/sdl/lv_draw_sdl.h | 3 +- .../draw/sw/blend/helium/lv_blend_helium.S | 16 +- .../draw/sw/blend/helium/lv_blend_helium.h | 326 +- .../draw/sw/blend/lv_draw_sw_blend_to_al88.c | 2 +- .../sw/blend/lv_draw_sw_blend_to_argb8888.c | 8 +- ..._draw_sw_blend_to_argb8888_premultiplied.c | 18 +- .../draw/sw/blend/lv_draw_sw_blend_to_i1.c | 6 +- .../draw/sw/blend/lv_draw_sw_blend_to_l8.c | 8 +- .../sw/blend/lv_draw_sw_blend_to_rgb565.c | 32 +- .../lv_draw_sw_blend_to_rgb565_swapped.h | 2 +- .../sw/blend/lv_draw_sw_blend_to_rgb888.c | 26 +- .../src/draw/sw/blend/neon/lv_blend_neon.S | 705 - .../src/draw/sw/blend/neon/lv_blend_neon.h | 1265 +- .../neon/lv_draw_sw_blend_neon_to_rgb565.c | 2093 ++ .../neon/lv_draw_sw_blend_neon_to_rgb565.h | 190 + .../neon/lv_draw_sw_blend_neon_to_rgb888.c | 1704 ++ .../neon/lv_draw_sw_blend_neon_to_rgb888.h | 158 + .../lvgl/src/draw/sw/lv_draw_sw.c | 13 +- .../lvgl/src/draw/sw/lv_draw_sw.h | 3 +- .../lvgl/src/draw/sw/lv_draw_sw_grad.c | 2 +- .../lvgl/src/draw/sw/lv_draw_sw_grad.h | 2 +- .../lvgl/src/draw/sw/lv_draw_sw_img.c | 230 +- .../lvgl/src/draw/sw/lv_draw_sw_letter.c | 39 +- .../lvgl/src/draw/sw/lv_draw_sw_mask.c | 10 +- .../lvgl/src/draw/sw/lv_draw_sw_transform.c | 2 +- .../lvgl/src/draw/sw/lv_draw_sw_triangle.c | 4 +- .../lvgl/src/draw/sw/lv_draw_sw_vector.c | 41 +- .../src/draw/vg_lite/lv_draw_buf_vg_lite.c | 13 +- .../lvgl/src/draw/vg_lite/lv_draw_vg_lite.c | 43 +- .../lvgl/src/draw/vg_lite/lv_draw_vg_lite.h | 2 +- .../src/draw/vg_lite/lv_draw_vg_lite_border.c | 2 +- .../src/draw/vg_lite/lv_draw_vg_lite_fill.c | 8 + .../src/draw/vg_lite/lv_draw_vg_lite_img.c | 156 +- .../src/draw/vg_lite/lv_draw_vg_lite_label.c | 317 +- .../draw/vg_lite/lv_draw_vg_lite_mask_rect.c | 2 +- .../src/draw/vg_lite/lv_draw_vg_lite_type.h | 5 + .../src/draw/vg_lite/lv_draw_vg_lite_vector.c | 126 +- .../lvgl/src/draw/vg_lite/lv_vg_lite_grad.c | 70 +- .../lvgl/src/draw/vg_lite/lv_vg_lite_grad.h | 6 + .../lvgl/src/draw/vg_lite/lv_vg_lite_math.c | 2 +- .../lvgl/src/draw/vg_lite/lv_vg_lite_path.c | 11 +- .../lvgl/src/draw/vg_lite/lv_vg_lite_path.h | 14 - .../lvgl/src/draw/vg_lite/lv_vg_lite_utils.c | 195 +- .../lvgl/src/draw/vg_lite/lv_vg_lite_utils.h | 26 +- .../src/drivers/display/drm/lv_linux_drm.c | 94 +- .../src/drivers/display/drm/lv_linux_drm.h | 84 + .../drivers/display/drm/lv_linux_drm_common.c | 128 + .../drivers/display/drm/lv_linux_drm_egl.c | 746 + .../display/drm/lv_linux_drm_egl_private.h | 76 + .../src/drivers/display/fb/lv_linux_fbdev.c | 127 +- .../lvgl/src/drivers/display/ft81x/lv_ft81x.h | 37 +- .../drivers/display/ft81x/lv_ft81x_defines.h | 4 +- .../drivers/display/lcd/lv_lcd_generic_mipi.c | 13 + .../display/lovyan_gfx/lv_lgfx_user.hpp | 53 + .../display/lovyan_gfx/lv_lovyan_gfx.cpp | 145 + .../display/lovyan_gfx/lv_lovyan_gfx.h | 45 + .../src/drivers/display/nv3007/lv_nv3007.c | 226 + .../src/drivers/display/nv3007/lv_nv3007.h | 94 + .../display/nxp_elcdif/lv_nxp_elcdif.c | 185 + .../display/nxp_elcdif/lv_nxp_elcdif.h | 84 + .../src/drivers/display/st_ltdc/lv_st_ltdc.c | 6 +- .../drivers/draw/eve/lv_draw_eve_display.c | 278 + .../drivers/draw/eve/lv_draw_eve_display.h | 151 + .../draw/eve/lv_draw_eve_display_defines.h | 1207 + .../lvgl/src/drivers/evdev/lv_evdev.c | 178 +- .../lvgl/src/drivers/evdev/lv_evdev.h | 10 +- .../lvgl/src/drivers/glfw/lv_glfw_window.c | 403 - .../lvgl/src/drivers/glfw/lv_glfw_window.h | 115 - .../src/drivers/glfw/lv_glfw_window_private.h | 70 - .../src/drivers/glfw/lv_opengles_driver.c | 499 - .../src/drivers/glfw/lv_opengles_texture.c | 177 - .../lvgl/src/drivers/libinput/lv_xkb.h | 4 +- .../lvgl/src/drivers/lv_drivers.h | 13 +- .../lvgl/src/drivers/nuttx/lv_nuttx_entry.c | 26 +- .../lvgl/src/drivers/nuttx/lv_nuttx_entry.h | 4 + .../src/drivers/nuttx/lv_nuttx_image_cache.c | 8 +- .../lvgl/src/drivers/nuttx/lv_nuttx_mouse.c | 200 + .../lvgl/src/drivers/nuttx/lv_nuttx_mouse.h | 57 + .../src/drivers/nuttx/lv_nuttx_profiler.c | 38 + .../src/drivers/nuttx/lv_nuttx_profiler.h | 2 + .../opengles/assets/lv_opengles_shader.c | 275 + .../opengles/assets/lv_opengles_shader.h | 39 + .../lvgl/src/drivers/opengles/glad/README.md | 5 + .../opengles/glad/include/EGL/eglplatform.h | 181 + .../opengles/glad/include/KHR/khrplatform.h | 317 + .../drivers/opengles/glad/include/glad/egl.h | 665 + .../opengles/glad/include/glad/gles2.h | 1111 + .../lvgl/src/drivers/opengles/glad/src/egl.c | 353 + .../src/drivers/opengles/glad/src/gles2.c | 558 + .../{glfw => opengles}/lv_opengles_debug.c | 4 + .../{glfw => opengles}/lv_opengles_debug.h | 26 +- .../src/drivers/opengles/lv_opengles_driver.c | 628 + .../{glfw => opengles}/lv_opengles_driver.h | 16 +- .../src/drivers/opengles/lv_opengles_egl.c | 558 + .../src/drivers/opengles/lv_opengles_egl.h | 56 + .../opengles/lv_opengles_egl_private.h | 102 + .../src/drivers/opengles/lv_opengles_glfw.c | 696 + .../src/drivers/opengles/lv_opengles_glfw.h | 88 + .../drivers/opengles/lv_opengles_private.h | 113 + .../drivers/opengles/lv_opengles_texture.c | 269 + .../{glfw => opengles}/lv_opengles_texture.h | 15 +- .../opengles/lv_opengles_texture_private.h | 57 + .../src/drivers/opengles/lv_opengles_window.h | 102 + .../opengl_shader/lv_opengl_shader_internal.h | 124 + .../opengl_shader/lv_opengl_shader_manager.c | 648 + .../opengl_shader/lv_opengl_shader_program.c | 124 + .../lvgl/src/drivers/sdl/lv_sdl_keyboard.c | 11 +- .../lvgl/src/drivers/sdl/lv_sdl_mousewheel.h | 2 +- .../lvgl/src/drivers/sdl/lv_sdl_window.c | 25 +- .../lvgl/src/drivers/sdl/lv_sdl_window.h | 6 + .../lvgl/src/drivers/uefi/lv_uefi_context.c | 2 +- .../lvgl/src/drivers/uefi/lv_uefi_context.h | 2 +- .../lvgl/src/drivers/uefi/lv_uefi_display.c | 2 +- .../src/drivers/uefi/lv_uefi_indev_keyboard.c | 6 +- .../src/drivers/uefi/lv_uefi_indev_pointer.c | 6 +- .../src/drivers/uefi/lv_uefi_indev_touch.c | 6 +- .../lvgl/src/drivers/uefi/lv_uefi_private.c | 2 +- .../lvgl/src/drivers/wayland/lv_wayland.c | 175 +- .../lvgl/src/drivers/wayland/lv_wayland.h | 2 +- .../src/drivers/wayland/lv_wayland_private.h | 114 +- .../lvgl/src/drivers/wayland/lv_wl_dmabuf.c | 443 +- .../lvgl/src/drivers/wayland/lv_wl_keyboard.c | 4 +- .../lvgl/src/drivers/wayland/lv_wl_pointer.c | 10 +- .../src/drivers/wayland/lv_wl_pointer_axis.c | 4 +- .../lvgl/src/drivers/wayland/lv_wl_seat.c | 2 - .../lvgl/src/drivers/wayland/lv_wl_shell.c | 184 - .../lvgl/src/drivers/wayland/lv_wl_shm.c | 35 +- .../lvgl/src/drivers/wayland/lv_wl_touch.c | 55 +- .../lvgl/src/drivers/wayland/lv_wl_touch.h | 2 +- .../lvgl/src/drivers/wayland/lv_wl_window.c | 108 +- .../lvgl/src/drivers/wayland/lv_wl_window.h | 16 +- .../wayland/lv_wl_window_decorations.c | 43 +- .../src/drivers/wayland/lv_wl_xdg_shell.c | 65 +- .../src/drivers/windows/lv_windows_context.c | 2 +- .../src/drivers/windows/lv_windows_display.c | 16 +- .../src/drivers/windows/lv_windows_display.h | 4 +- .../lvgl/src/font/lv_binfont_loader.c | 5 +- lib/libesp32_lvgl/lvgl/src/font/lv_font.c | 12 +- lib/libesp32_lvgl/lvgl/src/font/lv_font.h | 19 +- .../lvgl/src/font/lv_font_fmt_txt.c | 13 +- .../src/font/lv_font_montserrat_14_aligned.c | 2 +- .../lvgl/src/font/lv_font_simsun_14_cjk.c | 20789 ------------- .../lvgl/src/font/lv_font_simsun_16_cjk.c | 24154 ---------------- .../lvgl/src/font/lv_symbol_def.h | 2 +- lib/libesp32_lvgl/lvgl/src/indev/lv_indev.c | 129 +- lib/libesp32_lvgl/lvgl/src/indev/lv_indev.h | 11 +- .../lvgl/src/indev/lv_indev_gesture.c | 49 +- .../lvgl/src/indev/lv_indev_gesture.h | 7 +- .../lvgl/src/indev/lv_indev_gesture_private.h | 2 +- .../lvgl/src/indev/lv_indev_private.h | 5 + .../lvgl/src/indev/lv_indev_scroll.c | 30 +- .../lvgl/src/layouts/flex/lv_flex.c | 4 +- .../lvgl/src/layouts/grid/lv_grid.c | 58 +- .../lvgl/src/libs/FT800-FT813/EVE.h | 1257 + .../lvgl/src/libs/FT800-FT813/EVE_commands.c | 3926 +++ .../lvgl/src/libs/FT800-FT813/EVE_commands.h | 339 + .../lvgl/src/libs/FT800-FT813/EVE_config.h | 26 + .../src/libs/FT800-FT813/EVE_supplemental.c | 145 + .../src/libs/FT800-FT813/EVE_suppplemental.h | 53 + .../lvgl/src/libs/FT800-FT813/EVE_target.h | 111 + .../lvgl/src/libs/FT800-FT813/LICENSE | 20 + .../lvgl/src/libs/FT800-FT813/README.md | 245 + .../lvgl/src/libs/barcode/lv_barcode.c | 1 + .../src/libs/bin_decoder/lv_bin_decoder.c | 15 +- .../lvgl/src/libs/ffmpeg/lv_ffmpeg.c | 2 +- .../libs/freetype/LiberationSans-LICENSE.txt | 102 + .../libs/freetype/LiberationSans-Regular.ttf | Bin 0 -> 410820 bytes .../lvgl/src/libs/freetype/arial.ttf | Bin 311636 -> 0 bytes .../{LICENSE.txt => freetype-LICENSE.txt} | 0 .../lvgl/src/libs/freetype/lv_freetype.c | 4 + .../lvgl/src/libs/frogfs/LICENSE.txt | 362 + .../src/libs/frogfs/include/frogfs/frogfs.h | 260 + .../libs/frogfs/include/frogfs/frogfs_types.h | 6 + .../lvgl/src/libs/frogfs/src/decomp_raw.c | 77 + .../lvgl/src/libs/frogfs/src/frogfs.c | 449 + .../lvgl/src/libs/frogfs/src/frogfs_format.h | 90 + .../lvgl/src/libs/frogfs/src/frogfs_priv.h | 71 + .../lvgl/src/libs/fsdrv/lv_fs_frogfs.c | 341 + .../lvgl/src/libs/fsdrv/lv_fsdrv.h | 23 + .../lvgl/src/libs/gif/AnimatedGIF/LICENSE | 204 + .../libs/gif/AnimatedGIF/src/AnimatedGIF.h | 227 + .../lvgl/src/libs/gif/AnimatedGIF/src/gif.c | 1504 + .../lvgl/src/libs/gif/LICENSE.txt | 2 - lib/libesp32_lvgl/lvgl/src/libs/gif/gifdec.c | 823 - lib/libesp32_lvgl/lvgl/src/libs/gif/gifdec.h | 71 - .../lvgl/src/libs/gif/gifdec_mve.h | 140 - lib/libesp32_lvgl/lvgl/src/libs/gif/lv_gif.c | 213 +- lib/libesp32_lvgl/lvgl/src/libs/gif/lv_gif.h | 14 +- .../src/libs/gltf/fastgltf/lv_fastgltf.hpp | 124 + .../src/libs/gltf/gltf_data/lv_gltf_bind.cpp | 153 + .../src/libs/gltf/gltf_data/lv_gltf_bind.h | 106 + .../src/libs/gltf/gltf_data/lv_gltf_data.cpp | 271 + .../gltf_data/lv_gltf_data_animations.cpp | 244 + .../gltf/gltf_data/lv_gltf_data_cache.cpp | 103 + .../gltf/gltf_data/lv_gltf_data_injest.cpp | 843 + .../gltf/gltf_data/lv_gltf_data_internal.h | 252 + .../gltf/gltf_data/lv_gltf_data_internal.hpp | 373 + .../libs/gltf/gltf_data/lv_gltf_data_mesh.cpp | 52 + .../libs/gltf/gltf_data/lv_gltf_data_node.cpp | 103 + .../gltf/gltf_data/lv_gltf_data_primitive.cpp | 126 + .../gltf/gltf_data/lv_gltf_data_shader.cpp | 60 + .../libs/gltf/gltf_data/lv_gltf_data_skin.cpp | 68 + .../gltf/gltf_data/lv_gltf_data_texture.cpp | 87 + .../src/libs/gltf/gltf_data/lv_gltf_model.h | 135 + .../gltf_data/lv_gltf_uniform_locations.cpp | 115 + .../libs/gltf/gltf_view/assets/chromatic.c | 7545 +++++ .../gltf_view/assets/lv_gltf_view_shader.c | 3517 +++ .../gltf_view/assets/lv_gltf_view_shader.h | 39 + .../gltf/gltf_view/ibl/lv_gltf_ibl_sampler.c | 573 + .../gltf/gltf_view/ibl/lv_gltf_ibl_sampler.h | 96 + .../lvgl/src/libs/gltf/gltf_view/lv_gltf.h | 353 + .../src/libs/gltf/gltf_view/lv_gltf_view.cpp | 676 + .../gltf/gltf_view/lv_gltf_view_internal.h | 138 + .../gltf/gltf_view/lv_gltf_view_render.cpp | 1263 + .../gltf/gltf_view/lv_gltf_view_shader.cpp | 400 + .../lvgl/src/libs/gltf/math/lv_gltf_math.cpp | 78 + .../lvgl/src/libs/gltf/math/lv_gltf_math.hpp | 84 + .../lvgl/src/libs/gltf/stb_image/stb_image.h | 8366 ++++++ .../lvgl/src/libs/gstreamer/lv_gstreamer.c | 628 + .../lvgl/src/libs/gstreamer/lv_gstreamer.h | 188 + .../libs/gstreamer/lv_gstreamer_internal.h | 74 + .../src/libs/libjpeg_turbo/lv_libjpeg_turbo.c | 12 +- .../lvgl/src/libs/libpng/lv_libpng.c | 10 +- .../lvgl/src/libs/lodepng/lodepng.c | 11 +- .../lvgl/src/libs/qrcode/lv_qrcode.c | 59 +- .../lvgl/src/libs/qrcode/lv_qrcode.h | 15 + .../lvgl/src/libs/qrcode/lv_qrcode_private.h | 1 + lib/libesp32_lvgl/lvgl/src/libs/svg/lv_svg.h | 37 +- .../lvgl/src/libs/svg/lv_svg_decoder.c | 20 +- .../lvgl/src/libs/svg/lv_svg_parser.c | 57 +- .../lvgl/src/libs/svg/lv_svg_render.c | 344 +- .../lvgl/src/libs/svg/lv_svg_render.h | 10 +- .../lvgl/src/libs/thorvg/tvgInitializer.cpp | 2 +- .../lvgl/src/libs/thorvg/tvgLottieBuilder.cpp | 4 +- .../src/libs/thorvg/tvgLottieModifier.cpp | 2 +- .../lvgl/src/libs/thorvg/tvgRender.h | 2 +- .../lvgl/src/libs/thorvg/tvgSvgLoader.cpp | 2 +- .../src/libs/thorvg/tvgSvgSceneBuilder.cpp | 2 +- .../lvgl/src/libs/thorvg/tvgSwRenderer.cpp | 2 +- .../lvgl/src/libs/thorvg/tvgTaskScheduler.h | 4 + .../lvgl/src/libs/thorvg/tvgXmlParser.cpp | 2 +- .../lvgl/src/libs/tiny_ttf/lv_tiny_ttf.c | 142 +- .../lvgl/src/libs/tjpgd/lv_tjpgd.c | 28 +- .../lvgl/src/libs/vg_lite_driver/LICENSE.txt | 26 + .../Series/gc255/0x40A/vg_lite_options.h | 113 + .../Series/gc355/0x0_1215/vg_lite_options.h | 117 + .../Series/gc355/0x0_1216/vg_lite_options.h | 117 + .../Series/gc555/0x423/vg_lite_options.h | 115 + .../Series/gc555/0x423_ECO/vg_lite_options.h | 115 + .../src/libs/vg_lite_driver/VGLite/vg_lite.c | 7404 +++++ .../vg_lite_driver/VGLite/vg_lite_context.h | 313 + .../vg_lite_driver/VGLite/vg_lite_image.c | 2385 ++ .../vg_lite_driver/VGLite/vg_lite_matrix.c | 167 + .../vg_lite_driver/VGLite/vg_lite_options.h | 40 + .../libs/vg_lite_driver/VGLite/vg_lite_path.c | 5495 ++++ .../vg_lite_driver/VGLite/vg_lite_stroke.c | 5421 ++++ .../VGLiteKernel/vg_lite_debug.h | 77 + .../vg_lite_driver/VGLiteKernel/vg_lite_hal.h | 332 + .../vg_lite_driver/VGLiteKernel/vg_lite_hw.h | 98 + .../VGLiteKernel/vg_lite_kernel.c | 1387 + .../VGLiteKernel/vg_lite_kernel.h | 592 + .../VGLiteKernel/vg_lite_option.h | 143 + .../VGLiteKernel/vg_lite_type.h | 80 + .../src/libs/vg_lite_driver/add_lvgl_if.sh | 13 + .../src/libs/vg_lite_driver/inc/vg_lite.h | 1458 + .../lv_vg_lite_hal/lv_vg_lite_hal.c | 606 + .../lv_vg_lite_hal/vg_lite_os.c | 16 + .../lv_vg_lite_hal/vg_lite_platform.h | 52 + lib/libesp32_lvgl/lvgl/src/lv_api_map_v9_2.h | 57 + lib/libesp32_lvgl/lvgl/src/lv_api_map_v9_3.h | 97 + lib/libesp32_lvgl/lvgl/src/lv_conf_internal.h | 658 +- lib/libesp32_lvgl/lvgl/src/lv_conf_kconfig.h | 2 +- lib/libesp32_lvgl/lvgl/src/lv_init.c | 68 +- .../src/misc/cache/class/lv_cache_class.h | 1 + .../src/misc/cache/class/lv_cache_sc_da.c | 515 + .../src/misc/cache/class/lv_cache_sc_da.h | 44 + .../lvgl/src/misc/cache/lv_cache.c | 3 +- .../lvgl/src/misc/cache/lv_cache_entry.c | 40 +- .../src/misc/cache/lv_cache_entry_private.h | 18 +- .../lvgl/src/misc/cache/lv_cache_private.h | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_anim.c | 57 +- .../lvgl/src/misc/lv_anim_private.h | 7 + .../lvgl/src/misc/lv_anim_timeline.c | 88 +- .../lvgl/src/misc/lv_anim_timeline.h | 57 +- .../lvgl/src/misc/lv_anim_timeline_private.h | 67 + lib/libesp32_lvgl/lvgl/src/misc/lv_color.h | 29 +- lib/libesp32_lvgl/lvgl/src/misc/lv_color_op.c | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_color_op.h | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_event.c | 38 + lib/libesp32_lvgl/lvgl/src/misc/lv_event.h | 20 +- .../lvgl/src/misc/lv_event_private.h | 5 + lib/libesp32_lvgl/lvgl/src/misc/lv_fs.c | 155 +- lib/libesp32_lvgl/lvgl/src/misc/lv_fs.h | 73 +- .../lvgl/src/misc/lv_fs_private.h | 7 - lib/libesp32_lvgl/lvgl/src/misc/lv_grad.c | 5 - lib/libesp32_lvgl/lvgl/src/misc/lv_grad.h | 6 - lib/libesp32_lvgl/lvgl/src/misc/lv_lru.c | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_math.c | 2 + lib/libesp32_lvgl/lvgl/src/misc/lv_matrix.c | 19 +- .../lvgl/src/misc/lv_profiler_builtin.c | 8 +- .../lvgl/src/misc/lv_profiler_builtin_posix.c | 134 + .../src/misc/lv_profiler_builtin_private.h | 9 + lib/libesp32_lvgl/lvgl/src/misc/lv_style.c | 38 +- lib/libesp32_lvgl/lvgl/src/misc/lv_style.h | 26 +- .../lvgl/src/misc/lv_style_gen.c | 8 + .../lvgl/src/misc/lv_style_gen.h | 6 + lib/libesp32_lvgl/lvgl/src/misc/lv_text.c | 113 +- lib/libesp32_lvgl/lvgl/src/misc/lv_text.h | 73 +- .../lvgl/src/misc/lv_text_private.h | 74 +- lib/libesp32_lvgl/lvgl/src/misc/lv_timer.h | 1 + .../lvgl/src/misc/lv_timer_private.h | 4 +- lib/libesp32_lvgl/lvgl/src/misc/lv_tree.h | 28 +- lib/libesp32_lvgl/lvgl/src/misc/lv_types.h | 61 +- .../lvgl/src/osal/lv_cmsis_rtos2.c | 6 +- .../lvgl/src/osal/lv_cmsis_rtos2.h | 2 +- lib/libesp32_lvgl/lvgl/src/osal/lv_freertos.c | 7 +- lib/libesp32_lvgl/lvgl/src/osal/lv_freertos.h | 2 +- lib/libesp32_lvgl/lvgl/src/osal/lv_linux.c | 116 +- .../osal/{lv_linux_private.h => lv_linux.h} | 18 +- lib/libesp32_lvgl/lvgl/src/osal/lv_mqx.c | 7 +- lib/libesp32_lvgl/lvgl/src/osal/lv_mqx.h | 2 +- lib/libesp32_lvgl/lvgl/src/osal/lv_os.c | 21 +- lib/libesp32_lvgl/lvgl/src/osal/lv_os.h | 238 +- lib/libesp32_lvgl/lvgl/src/osal/lv_os_none.c | 4 +- .../lvgl/src/osal/lv_os_private.h | 232 + lib/libesp32_lvgl/lvgl/src/osal/lv_pthread.c | 7 +- lib/libesp32_lvgl/lvgl/src/osal/lv_pthread.h | 1 + lib/libesp32_lvgl/lvgl/src/osal/lv_rtthread.c | 7 +- lib/libesp32_lvgl/lvgl/src/osal/lv_sdl2.c | 7 +- lib/libesp32_lvgl/lvgl/src/osal/lv_windows.c | 7 +- .../others/file_explorer/lv_file_explorer.c | 77 +- .../src/others/font_manager/lv_font_manager.c | 38 +- .../src/others/font_manager/lv_font_manager.h | 2 +- .../font_manager/lv_font_manager_recycle.c | 16 + .../font_manager/lv_font_manager_recycle.h | 7 + .../lvgl/src/others/gridnav/lv_gridnav.c | 8 +- .../lvgl/src/others/ime/lv_ime_pinyin.h | 2 +- .../lvgl/src/others/monkey/lv_monkey.h | 20 +- .../lvgl/src/others/observer/lv_observer.c | 643 +- .../lvgl/src/others/observer/lv_observer.h | 223 +- .../src/others/observer/lv_observer_private.h | 10 + .../lvgl/src/others/snapshot/lv_snapshot.c | 50 +- .../lvgl/src/others/sysmon/lv_sysmon.c | 83 +- .../lvgl/src/others/sysmon/lv_sysmon.h | 22 + .../src/others/sysmon/lv_sysmon_private.h | 3 + .../lvgl/src/others/test/lv_test_indev.c | 18 + .../lvgl/src/others/test/lv_test_indev.h | 5 + .../src/others/test/lv_test_indev_gesture.c | 24 + .../src/others/test/lv_test_indev_gesture.h | 5 + .../others/test/lv_test_screenshot_compare.c | 14 +- .../others/test/lv_test_screenshot_compare.h | 2 + .../src/others/translation/lv_translation.c | 298 + .../src/others/translation/lv_translation.h | 147 + .../translation/lv_translation_private.h | 59 + .../src/others/vg_lite_tvg/vg_lite_tvg.cpp | 124 +- .../lvgl/src/others/xml/lv_xml.c | 483 +- .../lvgl/src/others/xml/lv_xml.h | 52 +- .../lvgl/src/others/xml/lv_xml_base_types.c | 298 +- .../lvgl/src/others/xml/lv_xml_base_types.h | 59 + .../lvgl/src/others/xml/lv_xml_component.c | 348 +- .../lvgl/src/others/xml/lv_xml_component.h | 30 +- .../src/others/xml/lv_xml_component_private.h | 9 +- .../lvgl/src/others/xml/lv_xml_load.c | 361 + .../lvgl/src/others/xml/lv_xml_load.h | 77 + .../xml/lv_xml_load_private.h} | 33 +- .../lvgl/src/others/xml/lv_xml_parser.c | 14 +- .../lvgl/src/others/xml/lv_xml_parser.h | 5 + .../lvgl/src/others/xml/lv_xml_private.h | 18 +- .../lvgl/src/others/xml/lv_xml_style.c | 255 +- .../lvgl/src/others/xml/lv_xml_style.h | 26 +- .../lvgl/src/others/xml/lv_xml_test.c | 613 + .../lvgl/src/others/xml/lv_xml_test.h | 121 + .../lvgl/src/others/xml/lv_xml_translation.c | 180 + .../lvgl/src/others/xml/lv_xml_translation.h | 53 + .../lvgl/src/others/xml/lv_xml_update.h | 8 +- .../lvgl/src/others/xml/lv_xml_utils.c | 80 +- .../lvgl/src/others/xml/lv_xml_utils.h | 14 +- .../lvgl/src/others/xml/lv_xml_widget.c | 18 +- .../lvgl/src/others/xml/lv_xml_widget.h | 28 +- .../others/xml/parsers/lv_xml_arc_parser.c | 42 +- .../others/xml/parsers/lv_xml_arc_parser.h | 8 +- .../others/xml/parsers/lv_xml_bar_parser.c | 49 +- .../others/xml/parsers/lv_xml_bar_parser.h | 8 +- .../others/xml/parsers/lv_xml_button_parser.c | 2 +- .../others/xml/parsers/lv_xml_button_parser.h | 8 +- .../xml/parsers/lv_xml_buttonmatrix_parser.c | 2 +- .../xml/parsers/lv_xml_buttonmatrix_parser.h | 4 +- .../xml/parsers/lv_xml_calendar_parser.c | 24 +- .../xml/parsers/lv_xml_calendar_parser.h | 6 +- .../others/xml/parsers/lv_xml_canvas_parser.h | 6 +- .../others/xml/parsers/lv_xml_chart_parser.c | 20 +- .../others/xml/parsers/lv_xml_chart_parser.h | 8 +- .../xml/parsers/lv_xml_checkbox_parser.h | 6 +- .../xml/parsers/lv_xml_dropdown_parser.c | 2 +- .../xml/parsers/lv_xml_dropdown_parser.h | 8 +- .../others/xml/parsers/lv_xml_event_parser.c | 170 - .../others/xml/parsers/lv_xml_image_parser.c | 24 +- .../others/xml/parsers/lv_xml_image_parser.h | 4 +- .../xml/parsers/lv_xml_keyboard_parser.c | 3 +- .../xml/parsers/lv_xml_keyboard_parser.h | 2 +- .../others/xml/parsers/lv_xml_label_parser.c | 47 +- .../others/xml/parsers/lv_xml_label_parser.h | 8 +- .../others/xml/parsers/lv_xml_obj_parser.c | 856 +- .../others/xml/parsers/lv_xml_obj_parser.h | 45 +- .../others/xml/parsers/lv_xml_qrcode_parser.c | 68 + .../others/xml/parsers/lv_xml_qrcode_parser.h | 40 + .../others/xml/parsers/lv_xml_roller_parser.c | 36 +- .../others/xml/parsers/lv_xml_roller_parser.h | 8 +- .../others/xml/parsers/lv_xml_scale_parser.c | 38 +- .../others/xml/parsers/lv_xml_scale_parser.h | 8 +- .../others/xml/parsers/lv_xml_slider_parser.c | 48 +- .../others/xml/parsers/lv_xml_slider_parser.h | 8 +- .../xml/parsers/lv_xml_spangroup_parser.c | 15 +- .../xml/parsers/lv_xml_spangroup_parser.h | 8 +- .../xml/parsers/lv_xml_spinbox_parser.c | 79 + .../xml/parsers/lv_xml_spinbox_parser.h | 40 + .../others/xml/parsers/lv_xml_switch_parser.c | 76 + ..._event_parser.h => lv_xml_switch_parser.h} | 12 +- .../others/xml/parsers/lv_xml_table_parser.c | 12 +- .../others/xml/parsers/lv_xml_table_parser.h | 8 +- .../xml/parsers/lv_xml_tabview_parser.c | 30 +- .../xml/parsers/lv_xml_tabview_parser.h | 10 +- .../xml/parsers/lv_xml_textarea_parser.c | 4 +- .../xml/parsers/lv_xml_textarea_parser.h | 2 +- .../src/stdlib/builtin/lv_mem_core_builtin.c | 6 +- .../src/stdlib/builtin/lv_string_builtin.c | 2 +- .../lvgl/src/stdlib/builtin/lv_tlsf_private.h | 2 +- .../lvgl/src/stdlib/clib/lv_mem_core_clib.c | 2 +- .../lvgl/src/stdlib/clib/lv_sprintf_clib.c | 2 +- .../lvgl/src/stdlib/clib/lv_string_clib.c | 2 +- .../micropython/lv_mem_core_micropython.c | 2 +- .../stdlib/rtthread/lv_mem_core_rtthread.c | 2 +- .../lvgl/src/stdlib/uefi/lv_mem_core_uefi.c | 2 +- .../src/themes/default/lv_theme_default.c | 75 +- .../src/themes/default/lv_theme_default.h | 12 +- .../lvgl/src/themes/mono/lv_theme_mono.c | 86 +- .../lvgl/src/themes/simple/lv_theme_simple.c | 68 +- .../lvgl/src/themes/simple/lv_theme_simple.h | 2 +- lib/libesp32_lvgl/lvgl/src/tick/lv_tick.c | 22 +- lib/libesp32_lvgl/lvgl/src/tick/lv_tick.h | 23 +- .../lvgl/src/tick/lv_tick_private.h | 2 +- .../lvgl/src/widgets/3dtexture/lv_3dtexture.c | 20 +- .../lvgl/src/widgets/3dtexture/lv_3dtexture.h | 8 + .../widgets/3dtexture/lv_3dtexture_private.h | 2 + .../lvgl/src/widgets/animimage/lv_animimage.c | 4 +- .../lvgl/src/widgets/animimage/lv_animimage.h | 2 +- .../lvgl/src/widgets/arc/lv_arc.c | 66 + .../lvgl/src/widgets/arc/lv_arc.h | 38 +- .../lvgl/src/widgets/arclabel/lv_arclabel.c | 644 + .../lvgl/src/widgets/arclabel/lv_arclabel.h | 255 + .../widgets/arclabel/lv_arclabel_private.h | 77 + .../lvgl/src/widgets/bar/lv_bar.c | 47 + .../lvgl/src/widgets/bar/lv_bar.h | 25 + .../lvgl/src/widgets/button/lv_button.c | 2 +- .../widgets/buttonmatrix/lv_buttonmatrix.c | 13 +- .../lvgl/src/widgets/calendar/lv_calendar.c | 62 +- .../lvgl/src/widgets/calendar/lv_calendar.h | 47 +- .../calendar/lv_calendar_header_dropdown.c | 5 +- .../lvgl/src/widgets/canvas/lv_canvas.c | 6 + .../lvgl/src/widgets/chart/lv_chart.c | 382 +- .../lvgl/src/widgets/chart/lv_chart.h | 43 +- .../lvgl/src/widgets/chart/lv_chart_private.h | 2 +- .../lvgl/src/widgets/checkbox/lv_checkbox.c | 23 +- .../lvgl/src/widgets/dropdown/lv_dropdown.c | 95 +- .../lvgl/src/widgets/dropdown/lv_dropdown.h | 13 +- .../lvgl/src/widgets/image/lv_image.c | 135 +- .../lvgl/src/widgets/image/lv_image.h | 44 +- .../lvgl/src/widgets/keyboard/lv_keyboard.c | 9 + .../lvgl/src/widgets/keyboard/lv_keyboard.h | 90 +- .../lvgl/src/widgets/label/lv_label.c | 362 +- .../lvgl/src/widgets/label/lv_label.h | 57 +- .../lvgl/src/widgets/label/lv_label_private.h | 3 + .../lvgl/src/widgets/menu/lv_menu.c | 8 +- .../lvgl/src/widgets/menu/lv_menu.h | 2 +- .../lvgl/src/widgets/menu/lv_menu_private.h | 2 +- .../lvgl/src/widgets/msgbox/lv_msgbox.c | 22 +- .../lvgl/src/widgets/msgbox/lv_msgbox.h | 9 - .../src/widgets/objx_templ/lv_objx_templ.c | 2 +- .../src/widgets/objx_templ/lv_objx_templ.h | 8 +- .../src/widgets/property/lv_obj_properties.c | 4 +- .../widgets/property/lv_obj_property_names.h | 4 +- .../widgets/property/lv_style_properties.c | 3 +- .../widgets/property/lv_style_properties.h | 3 +- .../lvgl/src/widgets/roller/lv_roller.c | 125 +- .../lvgl/src/widgets/roller/lv_roller.h | 22 +- .../lvgl/src/widgets/scale/lv_scale.c | 119 +- .../lvgl/src/widgets/scale/lv_scale.h | 65 +- .../lvgl/src/widgets/slider/lv_slider.c | 68 + .../lvgl/src/widgets/slider/lv_slider.h | 29 +- .../lvgl/src/widgets/span/lv_span.c | 181 +- .../lvgl/src/widgets/span/lv_span.h | 41 + .../lvgl/src/widgets/spinbox/lv_spinbox.c | 105 +- .../lvgl/src/widgets/spinbox/lv_spinbox.h | 46 +- .../lvgl/src/widgets/switch/lv_switch.c | 2 +- .../lvgl/src/widgets/table/lv_table.c | 56 +- .../lvgl/src/widgets/tabview/lv_tabview.c | 24 +- .../lvgl/src/widgets/tabview/lv_tabview.h | 9 + .../lvgl/src/widgets/textarea/lv_textarea.c | 94 +- .../lvgl/src/widgets/textarea/lv_textarea.h | 10 +- tasmota/lvgl_berry/tasmota_lv_conf.h | 253 +- 652 files changed, 101666 insertions(+), 60673 deletions(-) create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/convert/helium/lv_draw_buf_convert_helium.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/convert/helium/lv_draw_buf_convert_helium.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/convert/lv_draw_buf_convert.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/convert/lv_draw_buf_convert.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/convert/neon/lv_draw_buf_convert_neon.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/convert/neon/lv_draw_buf_convert_neon.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/espressif/ppa/lv_draw_ppa.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/espressif/ppa/lv_draw_ppa.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/espressif/ppa/lv_draw_ppa_buf.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/espressif/ppa/lv_draw_ppa_fill.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/espressif/ppa/lv_draw_ppa_img.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/espressif/ppa/lv_draw_ppa_private.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_arc.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_fill.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_image.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_letter.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_line.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_private.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_ram_g.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_ram_g.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_target.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_draw_eve_triangle.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_eve.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/eve/lv_eve.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nema_gfx/lv_draw_nema_gfx_vector.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_buf_vglite.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite_arc.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite_border.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite_fill.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite_img.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite_label.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite_layer.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite_line.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_draw_vglite_triangle.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_vglite_buf.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_vglite_buf.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_vglite_matrix.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_vglite_matrix.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_vglite_path.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_vglite_path.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_vglite_utils.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/nxp/vglite/lv_vglite_utils.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/blend/neon/lv_blend_neon.S create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/blend/neon/lv_draw_sw_blend_neon_to_rgb565.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/blend/neon/lv_draw_sw_blend_neon_to_rgb565.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/blend/neon/lv_draw_sw_blend_neon_to_rgb888.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/blend/neon/lv_draw_sw_blend_neon_to_rgb888.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/drm/lv_linux_drm_common.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/drm/lv_linux_drm_egl.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/drm/lv_linux_drm_egl_private.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/lovyan_gfx/lv_lgfx_user.hpp create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/lovyan_gfx/lv_lovyan_gfx.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/lovyan_gfx/lv_lovyan_gfx.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/nv3007/lv_nv3007.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/nv3007/lv_nv3007.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/nxp_elcdif/lv_nxp_elcdif.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/display/nxp_elcdif/lv_nxp_elcdif.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/draw/eve/lv_draw_eve_display.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/draw/eve/lv_draw_eve_display.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/draw/eve/lv_draw_eve_display_defines.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/glfw/lv_glfw_window.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/glfw/lv_glfw_window.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/glfw/lv_glfw_window_private.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/glfw/lv_opengles_driver.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/glfw/lv_opengles_texture.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/nuttx/lv_nuttx_mouse.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/nuttx/lv_nuttx_mouse.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/assets/lv_opengles_shader.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/assets/lv_opengles_shader.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/glad/README.md create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/glad/include/EGL/eglplatform.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/glad/include/KHR/khrplatform.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/glad/include/glad/egl.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/glad/include/glad/gles2.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/glad/src/egl.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/glad/src/gles2.c rename lib/libesp32_lvgl/lvgl/src/drivers/{glfw => opengles}/lv_opengles_debug.c (93%) rename lib/libesp32_lvgl/lvgl/src/drivers/{glfw => opengles}/lv_opengles_debug.h (61%) create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_driver.c rename lib/libesp32_lvgl/lvgl/src/drivers/{glfw => opengles}/lv_opengles_driver.h (77%) create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_egl.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_egl.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_egl_private.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_glfw.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_glfw.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_private.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_texture.c rename lib/libesp32_lvgl/lvgl/src/drivers/{glfw => opengles}/lv_opengles_texture.h (67%) create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_texture_private.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/lv_opengles_window.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/opengl_shader/lv_opengl_shader_internal.h create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/opengl_shader/lv_opengl_shader_manager.c create mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/opengles/opengl_shader/lv_opengl_shader_program.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/drivers/wayland/lv_wl_shell.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/font/lv_font_simsun_14_cjk.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/font/lv_font_simsun_16_cjk.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/EVE.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/EVE_commands.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/EVE_commands.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/EVE_config.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/EVE_supplemental.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/EVE_suppplemental.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/EVE_target.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/LICENSE create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/FT800-FT813/README.md create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/freetype/LiberationSans-LICENSE.txt create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/freetype/LiberationSans-Regular.ttf delete mode 100644 lib/libesp32_lvgl/lvgl/src/libs/freetype/arial.ttf rename lib/libesp32_lvgl/lvgl/src/libs/freetype/{LICENSE.txt => freetype-LICENSE.txt} (100%) create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/frogfs/LICENSE.txt create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/frogfs/include/frogfs/frogfs.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/frogfs/include/frogfs/frogfs_types.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/frogfs/src/decomp_raw.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/frogfs/src/frogfs.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/frogfs/src/frogfs_format.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/frogfs/src/frogfs_priv.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/fsdrv/lv_fs_frogfs.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gif/AnimatedGIF/LICENSE create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gif/AnimatedGIF/src/AnimatedGIF.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gif/AnimatedGIF/src/gif.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gif/LICENSE.txt delete mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gif/gifdec.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gif/gifdec.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gif/gifdec_mve.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/fastgltf/lv_fastgltf.hpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_bind.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_bind.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_animations.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_cache.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_injest.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_internal.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_internal.hpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_mesh.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_node.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_primitive.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_shader.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_skin.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_data_texture.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_model.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_data/lv_gltf_uniform_locations.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/assets/chromatic.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/assets/lv_gltf_view_shader.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/assets/lv_gltf_view_shader.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/ibl/lv_gltf_ibl_sampler.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/ibl/lv_gltf_ibl_sampler.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/lv_gltf.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/lv_gltf_view.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/lv_gltf_view_internal.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/lv_gltf_view_render.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/gltf_view/lv_gltf_view_shader.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/math/lv_gltf_math.cpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/math/lv_gltf_math.hpp create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gltf/stb_image/stb_image.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gstreamer/lv_gstreamer.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gstreamer/lv_gstreamer.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/gstreamer/lv_gstreamer_internal.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/LICENSE.txt create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/Series/gc255/0x40A/vg_lite_options.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/Series/gc355/0x0_1215/vg_lite_options.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/Series/gc355/0x0_1216/vg_lite_options.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/Series/gc555/0x423/vg_lite_options.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/Series/gc555/0x423_ECO/vg_lite_options.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/vg_lite.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/vg_lite_context.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/vg_lite_image.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/vg_lite_matrix.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/vg_lite_options.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/vg_lite_path.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLite/vg_lite_stroke.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLiteKernel/vg_lite_debug.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLiteKernel/vg_lite_hal.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLiteKernel/vg_lite_hw.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLiteKernel/vg_lite_kernel.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLiteKernel/vg_lite_kernel.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLiteKernel/vg_lite_option.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/VGLiteKernel/vg_lite_type.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/add_lvgl_if.sh create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/inc/vg_lite.h create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/lv_vg_lite_hal/lv_vg_lite_hal.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/lv_vg_lite_hal/vg_lite_os.c create mode 100644 lib/libesp32_lvgl/lvgl/src/libs/vg_lite_driver/lv_vg_lite_hal/vg_lite_platform.h create mode 100644 lib/libesp32_lvgl/lvgl/src/lv_api_map_v9_2.h create mode 100644 lib/libesp32_lvgl/lvgl/src/lv_api_map_v9_3.h create mode 100644 lib/libesp32_lvgl/lvgl/src/misc/cache/class/lv_cache_sc_da.c create mode 100644 lib/libesp32_lvgl/lvgl/src/misc/cache/class/lv_cache_sc_da.h create mode 100644 lib/libesp32_lvgl/lvgl/src/misc/lv_anim_timeline_private.h create mode 100644 lib/libesp32_lvgl/lvgl/src/misc/lv_profiler_builtin_posix.c rename lib/libesp32_lvgl/lvgl/src/osal/{lv_linux_private.h => lv_linux.h} (84%) create mode 100644 lib/libesp32_lvgl/lvgl/src/others/translation/lv_translation.c create mode 100644 lib/libesp32_lvgl/lvgl/src/others/translation/lv_translation.h create mode 100644 lib/libesp32_lvgl/lvgl/src/others/translation/lv_translation_private.h create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/lv_xml_load.c create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/lv_xml_load.h rename lib/libesp32_lvgl/lvgl/src/{libs/gif/lv_gif_private.h => others/xml/lv_xml_load_private.h} (51%) create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/lv_xml_test.c create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/lv_xml_test.h create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/lv_xml_translation.c create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/lv_xml_translation.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/parsers/lv_xml_event_parser.c create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/parsers/lv_xml_qrcode_parser.c create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/parsers/lv_xml_qrcode_parser.h create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/parsers/lv_xml_spinbox_parser.c create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/parsers/lv_xml_spinbox_parser.h create mode 100644 lib/libesp32_lvgl/lvgl/src/others/xml/parsers/lv_xml_switch_parser.c rename lib/libesp32_lvgl/lvgl/src/others/xml/parsers/{lv_xml_event_parser.h => lv_xml_switch_parser.h} (58%) create mode 100644 lib/libesp32_lvgl/lvgl/src/widgets/arclabel/lv_arclabel.c create mode 100644 lib/libesp32_lvgl/lvgl/src/widgets/arclabel/lv_arclabel.h create mode 100644 lib/libesp32_lvgl/lvgl/src/widgets/arclabel/lv_arclabel_private.h diff --git a/CHANGELOG.md b/CHANGELOG.md index a6b7d6e71..d8921aa78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file. ### Changed - Refactored library UDisplay (#24007) +- LVGL library from v9.3.0 to v9.4.0 ### Fixed - TLS fix ECDSA and add `SetOption165 1` to enable ECDSA in addition to RSA (#24000) diff --git a/lib/libesp32_lvgl/lv_binding_berry/generate/LVGL_API_Reference.md b/lib/libesp32_lvgl/lv_binding_berry/generate/LVGL_API_Reference.md index 0e3c31e0f..739c968b8 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/generate/LVGL_API_Reference.md +++ b/lib/libesp32_lvgl/lv_binding_berry/generate/LVGL_API_Reference.md @@ -19,6 +19,29 @@ anim_resolve_speed|int, int, int|int|[lv_anim_resolve_speed](https://docs.lvgl.i anim_speed|int|int|[lv_anim_speed](https://docs.lvgl.io/9.0/search.html?q=lv_anim_speed) anim_speed_clamped|int, int, int|int|[lv_anim_speed_clamped](https://docs.lvgl.io/9.0/search.html?q=lv_anim_speed_clamped) anim_speed_to_time|int, int, int|int|[lv_anim_speed_to_time](https://docs.lvgl.io/9.0/search.html?q=lv_anim_speed_to_time) +arclabel_create|lv.obj|lv.obj|[lv_arclabel_create](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_create) +arclabel_get_angle_size|lv.obj|int|[lv_arclabel_get_angle_size](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_angle_size) +arclabel_get_angle_start|lv.obj|int|[lv_arclabel_get_angle_start](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_angle_start) +arclabel_get_center_offset_x|lv.obj|int|[lv_arclabel_get_center_offset_x](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_center_offset_x) +arclabel_get_center_offset_y|lv.obj|int|[lv_arclabel_get_center_offset_y](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_center_offset_y) +arclabel_get_dir|lv.obj|int|[lv_arclabel_get_dir](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_dir) +arclabel_get_radius|lv.obj|int|[lv_arclabel_get_radius](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_radius) +arclabel_get_recolor|lv.obj|bool|[lv_arclabel_get_recolor](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_recolor) +arclabel_get_text_horizontal_align|lv.obj|int|[lv_arclabel_get_text_horizontal_align](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_text_horizontal_align) +arclabel_get_text_vertical_align|lv.obj|int|[lv_arclabel_get_text_vertical_align](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_get_text_vertical_align) +arclabel_set_angle_size|lv.obj, int||[lv_arclabel_set_angle_size](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_angle_size) +arclabel_set_angle_start|lv.obj, int||[lv_arclabel_set_angle_start](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_angle_start) +arclabel_set_center_offset_x|lv.obj, int||[lv_arclabel_set_center_offset_x](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_center_offset_x) +arclabel_set_center_offset_y|lv.obj, int||[lv_arclabel_set_center_offset_y](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_center_offset_y) +arclabel_set_dir|lv.obj, int||[lv_arclabel_set_dir](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_dir) +arclabel_set_offset|lv.obj, int||[lv_arclabel_set_offset](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_offset) +arclabel_set_radius|lv.obj, int||[lv_arclabel_set_radius](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_radius) +arclabel_set_recolor|lv.obj, bool||[lv_arclabel_set_recolor](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_recolor) +arclabel_set_text|lv.obj, string||[lv_arclabel_set_text](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_text) +arclabel_set_text_fmt|lv.obj, string, [\]||[lv_arclabel_set_text_fmt](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_text_fmt) +arclabel_set_text_horizontal_align|lv.obj, int||[lv_arclabel_set_text_horizontal_align](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_text_horizontal_align) +arclabel_set_text_static|lv.obj, string||[lv_arclabel_set_text_static](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_text_static) +arclabel_set_text_vertical_align|lv.obj, int||[lv_arclabel_set_text_vertical_align](https://docs.lvgl.io/9.0/search.html?q=lv_arclabel_set_text_vertical_align) area_align|lv.area, lv.area, int, int, int||[lv_area_align](https://docs.lvgl.io/9.0/search.html?q=lv_area_align) area_copy|lv.area, lv.area||[lv_area_copy](https://docs.lvgl.io/9.0/search.html?q=lv_area_copy) area_get_height|lv.area|int|[lv_area_get_height](https://docs.lvgl.io/9.0/search.html?q=lv_area_get_height) @@ -46,6 +69,7 @@ color_format_has_alpha|int|bool|[lv_color_format_has_alpha](https://docs.lvgl.io color_hex|int|lv.color|[lv_color_hex](https://docs.lvgl.io/9.0/search.html?q=lv_color_hex) color_hex3|int|lv.color|[lv_color_hex3](https://docs.lvgl.io/9.0/search.html?q=lv_color_hex3) color_hsv_to_rgb|int, int, int|lv.color|[lv_color_hsv_to_rgb](https://docs.lvgl.io/9.0/search.html?q=lv_color_hsv_to_rgb) +color_is_in_range|lv.color, lv.color, lv.color|bool|[lv_color_is_in_range](https://docs.lvgl.io/9.0/search.html?q=lv_color_is_in_range) color_lighten|lv.color, int|lv.color|[lv_color_lighten](https://docs.lvgl.io/9.0/search.html?q=lv_color_lighten) color_luminance|lv.color|int|[lv_color_luminance](https://docs.lvgl.io/9.0/search.html?q=lv_color_luminance) color_make|int, int, int|lv.color|[lv_color_make](https://docs.lvgl.io/9.0/search.html?q=lv_color_make) @@ -89,6 +113,7 @@ draw_line|lv.layer, lv.draw_line_dsc||[lv_draw_line](https://docs.lvgl.io/9.0/se draw_line_dsc_init|lv.draw_line_dsc||[lv_draw_line_dsc_init](https://docs.lvgl.io/9.0/search.html?q=lv_draw_line_dsc_init) draw_rect|lv.layer, lv.draw_rect_dsc, lv.area||[lv_draw_rect](https://docs.lvgl.io/9.0/search.html?q=lv_draw_rect) draw_rect_dsc_init|lv.draw_rect_dsc||[lv_draw_rect_dsc_init](https://docs.lvgl.io/9.0/search.html?q=lv_draw_rect_dsc_init) +draw_unit_send_event|string, int, \||[lv_draw_unit_send_event](https://docs.lvgl.io/9.0/search.html?q=lv_draw_unit_send_event) draw_wait_for_finish|||[lv_draw_wait_for_finish](https://docs.lvgl.io/9.0/search.html?q=lv_draw_wait_for_finish) event_code_get_name|int|string|[lv_event_code_get_name](https://docs.lvgl.io/9.0/search.html?q=lv_event_code_get_name) event_dsc_get_cb|lv.event_dsc|lv.event_cb|[lv_event_dsc_get_cb](https://docs.lvgl.io/9.0/search.html?q=lv_event_dsc_get_cb) @@ -158,9 +183,6 @@ style_prop_lookup_flags|int|int|[lv_style_prop_lookup_flags](https://docs.lvgl.i style_register_prop|int|int|[lv_style_register_prop](https://docs.lvgl.io/9.0/search.html?q=lv_style_register_prop) task_handler||int|[lv_task_handler](https://docs.lvgl.io/9.0/search.html?q=lv_task_handler) text_get_size|comptr, string, lv.font, int, int, int, int||[lv_text_get_size](https://docs.lvgl.io/9.0/search.html?q=lv_text_get_size) -text_get_width|string, int, lv.font, int|int|[lv_text_get_width](https://docs.lvgl.io/9.0/search.html?q=lv_text_get_width) -text_get_width_with_flags|string, int, lv.font, int, int|int|[lv_text_get_width_with_flags](https://docs.lvgl.io/9.0/search.html?q=lv_text_get_width_with_flags) -text_is_cmd|comptr, int|bool|[lv_text_is_cmd](https://docs.lvgl.io/9.0/search.html?q=lv_text_is_cmd) theme_apply|lv.obj||[lv_theme_apply](https://docs.lvgl.io/9.0/search.html?q=lv_theme_apply) theme_get_color_primary|lv.obj|lv.color|[lv_theme_get_color_primary](https://docs.lvgl.io/9.0/search.html?q=lv_theme_get_color_primary) theme_get_color_secondary|lv.obj|lv.color|[lv_theme_get_color_secondary](https://docs.lvgl.io/9.0/search.html?q=lv_theme_get_color_secondary) @@ -274,6 +296,7 @@ get_rotation||int|[lv_display_get_rotation](https://docs.lvgl.io/9.0/search.html get_scr_act||lv.obj|[lv_display_get_screen_active](https://docs.lvgl.io/9.0/search.html?q=lv_display_get_screen_active) get_scr_prev||lv.obj|[lv_display_get_screen_prev](https://docs.lvgl.io/9.0/search.html?q=lv_display_get_screen_prev) get_screen_active||lv.obj|[lv_display_get_screen_active](https://docs.lvgl.io/9.0/search.html?q=lv_display_get_screen_active) +get_screen_loading||lv.obj|[lv_display_get_screen_loading](https://docs.lvgl.io/9.0/search.html?q=lv_display_get_screen_loading) get_screen_prev||lv.obj|[lv_display_get_screen_prev](https://docs.lvgl.io/9.0/search.html?q=lv_display_get_screen_prev) get_theme||lv.theme|[lv_display_get_theme](https://docs.lvgl.io/9.0/search.html?q=lv_display_get_theme) get_theme||lv.theme|[lv_display_get_theme](https://docs.lvgl.io/9.0/search.html?q=lv_display_get_theme) @@ -319,6 +342,7 @@ unregister_vsync_event|\, \|bool|[lv_display_unregister_vsync_ev Method|Arguments|Return type|LVGL equivalent :---|:---|:---|:--- +free_user_data_cb|||[lv_event_free_user_data_cb](https://docs.lvgl.io/9.0/search.html?q=lv_event_free_user_data_cb) get_code||int|[lv_event_get_code](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_code) get_cover_area||lv.area|[lv_event_get_cover_area](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_cover_area) get_current_target||comptr|[lv_event_get_current_target](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_current_target) @@ -340,6 +364,7 @@ set_cover_res|int||[lv_event_set_cover_res](https://docs.lvgl.io/9.0/search.html set_ext_draw_size|int||[lv_event_set_ext_draw_size](https://docs.lvgl.io/9.0/search.html?q=lv_event_set_ext_draw_size) stop_bubbling|||[lv_event_stop_bubbling](https://docs.lvgl.io/9.0/search.html?q=lv_event_stop_bubbling) stop_processing|||[lv_event_stop_processing](https://docs.lvgl.io/9.0/search.html?q=lv_event_stop_processing) +stop_trickling|||[lv_event_stop_trickling](https://docs.lvgl.io/9.0/search.html?q=lv_event_stop_trickling) ### class `lv.group` @@ -433,6 +458,7 @@ Method|Arguments|Return type|LVGL equivalent copy|lv.style||[lv_style_copy](https://docs.lvgl.io/9.0/search.html?q=lv_style_copy) is_const||bool|[lv_style_is_const](https://docs.lvgl.io/9.0/search.html?q=lv_style_is_const) is_empty||bool|[lv_style_is_empty](https://docs.lvgl.io/9.0/search.html?q=lv_style_is_empty) +merge|lv.style||[lv_style_merge](https://docs.lvgl.io/9.0/search.html?q=lv_style_merge) remove_prop|int|bool|[lv_style_remove_prop](https://docs.lvgl.io/9.0/search.html?q=lv_style_remove_prop) reset|||[lv_style_reset](https://docs.lvgl.io/9.0/search.html?q=lv_style_reset) set_align|int||[lv_style_set_align](https://docs.lvgl.io/9.0/search.html?q=lv_style_set_align) @@ -490,6 +516,7 @@ set_grid_column_dsc_array|lv.int_arr||[lv_style_set_grid_column_dsc_array](https set_grid_row_align|int||[lv_style_set_grid_row_align](https://docs.lvgl.io/9.0/search.html?q=lv_style_set_grid_row_align) set_grid_row_dsc_array|lv.int_arr||[lv_style_set_grid_row_dsc_array](https://docs.lvgl.io/9.0/search.html?q=lv_style_set_grid_row_dsc_array) set_height|int||[lv_style_set_height](https://docs.lvgl.io/9.0/search.html?q=lv_style_set_height) +set_image_colorkey|comptr||[lv_style_set_image_colorkey](https://docs.lvgl.io/9.0/search.html?q=lv_style_set_image_colorkey) set_image_opa|int||[lv_style_set_image_opa](https://docs.lvgl.io/9.0/search.html?q=lv_style_set_image_opa) set_image_recolor|lv.color||[lv_style_set_image_recolor](https://docs.lvgl.io/9.0/search.html?q=lv_style_set_image_recolor) set_image_recolor_opa|int||[lv_style_set_image_recolor_opa](https://docs.lvgl.io/9.0/search.html?q=lv_style_set_image_recolor_opa) @@ -606,6 +633,8 @@ Method|Arguments|Return type|LVGL equivalent :---|:---|:---|:--- add_event_cb|\, int, \|lv.event_dsc|[lv_obj_add_event_cb](https://docs.lvgl.io/9.0/search.html?q=lv_obj_add_event_cb) add_flag|int||[lv_obj_add_flag](https://docs.lvgl.io/9.0/search.html?q=lv_obj_add_flag) +add_play_timeline_event|int, lv.anim_timeline_dsc, int, bool||[lv_obj_add_play_timeline_event](https://docs.lvgl.io/9.0/search.html?q=lv_obj_add_play_timeline_event) +add_screen_load_event|int, lv.obj, int, int, int||[lv_obj_add_screen_load_event](https://docs.lvgl.io/9.0/search.html?q=lv_obj_add_screen_load_event) add_state|int||[lv_obj_add_state](https://docs.lvgl.io/9.0/search.html?q=lv_obj_add_state) add_style|lv.style, int||[lv_obj_add_style](https://docs.lvgl.io/9.0/search.html?q=lv_obj_add_style) align|int, int, int||[lv_obj_align](https://docs.lvgl.io/9.0/search.html?q=lv_obj_align) @@ -724,6 +753,7 @@ get_style_grid_column_dsc_array|int|lv.int_arr|[lv_obj_get_style_grid_column_dsc get_style_grid_row_align|int|int|[lv_obj_get_style_grid_row_align](https://docs.lvgl.io/9.0/search.html?q=lv_obj_get_style_grid_row_align) get_style_grid_row_dsc_array|int|lv.int_arr|[lv_obj_get_style_grid_row_dsc_array](https://docs.lvgl.io/9.0/search.html?q=lv_obj_get_style_grid_row_dsc_array) get_style_height|int|int|[lv_obj_get_style_height](https://docs.lvgl.io/9.0/search.html?q=lv_obj_get_style_height) +get_style_image_colorkey|int|comptr|[lv_obj_get_style_image_colorkey](https://docs.lvgl.io/9.0/search.html?q=lv_obj_get_style_image_colorkey) get_style_image_opa|int|int|[lv_obj_get_style_image_opa](https://docs.lvgl.io/9.0/search.html?q=lv_obj_get_style_image_opa) get_style_image_recolor|int|lv.color|[lv_obj_get_style_image_recolor](https://docs.lvgl.io/9.0/search.html?q=lv_obj_get_style_image_recolor) get_style_image_recolor_filtered|int|lv.color|[lv_obj_get_style_image_recolor_filtered](https://docs.lvgl.io/9.0/search.html?q=lv_obj_get_style_image_recolor_filtered) @@ -951,6 +981,7 @@ set_style_grid_column_dsc_array|lv.int_arr, int||[lv_obj_set_style_grid_column_d set_style_grid_row_align|int, int||[lv_obj_set_style_grid_row_align](https://docs.lvgl.io/9.0/search.html?q=lv_obj_set_style_grid_row_align) set_style_grid_row_dsc_array|lv.int_arr, int||[lv_obj_set_style_grid_row_dsc_array](https://docs.lvgl.io/9.0/search.html?q=lv_obj_set_style_grid_row_dsc_array) set_style_height|int, int||[lv_obj_set_style_height](https://docs.lvgl.io/9.0/search.html?q=lv_obj_set_style_height) +set_style_image_colorkey|comptr, int||[lv_obj_set_style_image_colorkey](https://docs.lvgl.io/9.0/search.html?q=lv_obj_set_style_image_colorkey) set_style_image_opa|int, int||[lv_obj_set_style_image_opa](https://docs.lvgl.io/9.0/search.html?q=lv_obj_set_style_image_opa) set_style_image_recolor|lv.color, int||[lv_obj_set_style_image_recolor](https://docs.lvgl.io/9.0/search.html?q=lv_obj_set_style_image_recolor) set_style_image_recolor_opa|int, int||[lv_obj_set_style_image_recolor_opa](https://docs.lvgl.io/9.0/search.html?q=lv_obj_set_style_image_recolor_opa) @@ -1044,6 +1075,8 @@ stop_scroll_anim|||[lv_obj_stop_scroll_anim](https://docs.lvgl.io/9.0/search.htm stringify_id|comptr, int|string|[lv_obj_stringify_id](https://docs.lvgl.io/9.0/search.html?q=lv_obj_stringify_id) style_apply_color_filter|int, int|int|[lv_obj_style_apply_color_filter](https://docs.lvgl.io/9.0/search.html?q=lv_obj_style_apply_color_filter) style_apply_recolor|int, int|int|[lv_obj_style_apply_recolor](https://docs.lvgl.io/9.0/search.html?q=lv_obj_style_apply_recolor) +style_get_disabled|lv.style, int|bool|[lv_obj_style_get_disabled](https://docs.lvgl.io/9.0/search.html?q=lv_obj_style_get_disabled) +style_set_disabled|lv.style, int, bool||[lv_obj_style_set_disabled](https://docs.lvgl.io/9.0/search.html?q=lv_obj_style_set_disabled) swap|lv.obj||[lv_obj_swap](https://docs.lvgl.io/9.0/search.html?q=lv_obj_swap) transform_point|comptr, int||[lv_obj_transform_point](https://docs.lvgl.io/9.0/search.html?q=lv_obj_transform_point) transform_point_array|lv.point_arr, int, int||[lv_obj_transform_point_array](https://docs.lvgl.io/9.0/search.html?q=lv_obj_transform_point_array) @@ -1076,6 +1109,8 @@ set_bg_start_angle|int||[lv_arc_set_bg_start_angle](https://docs.lvgl.io/9.0/sea set_change_rate|int||[lv_arc_set_change_rate](https://docs.lvgl.io/9.0/search.html?q=lv_arc_set_change_rate) set_end_angle|int||[lv_arc_set_end_angle](https://docs.lvgl.io/9.0/search.html?q=lv_arc_set_end_angle) set_knob_offset|int||[lv_arc_set_knob_offset](https://docs.lvgl.io/9.0/search.html?q=lv_arc_set_knob_offset) +set_max_value|int||[lv_arc_set_max_value](https://docs.lvgl.io/9.0/search.html?q=lv_arc_set_max_value) +set_min_value|int||[lv_arc_set_min_value](https://docs.lvgl.io/9.0/search.html?q=lv_arc_set_min_value) set_mode|int||[lv_arc_set_mode](https://docs.lvgl.io/9.0/search.html?q=lv_arc_set_mode) set_range|int, int||[lv_arc_set_range](https://docs.lvgl.io/9.0/search.html?q=lv_arc_set_range) set_rotation|int||[lv_arc_set_rotation](https://docs.lvgl.io/9.0/search.html?q=lv_arc_set_rotation) @@ -1095,6 +1130,8 @@ get_orientation||int|[lv_bar_get_orientation](https://docs.lvgl.io/9.0/search.ht get_start_value||int|[lv_bar_get_start_value](https://docs.lvgl.io/9.0/search.html?q=lv_bar_get_start_value) get_value||int|[lv_bar_get_value](https://docs.lvgl.io/9.0/search.html?q=lv_bar_get_value) is_symmetrical||bool|[lv_bar_is_symmetrical](https://docs.lvgl.io/9.0/search.html?q=lv_bar_is_symmetrical) +set_max_value|int||[lv_bar_set_max_value](https://docs.lvgl.io/9.0/search.html?q=lv_bar_set_max_value) +set_min_value|int||[lv_bar_set_min_value](https://docs.lvgl.io/9.0/search.html?q=lv_bar_set_min_value) set_mode|int||[lv_bar_set_mode](https://docs.lvgl.io/9.0/search.html?q=lv_bar_set_mode) set_orientation|int||[lv_bar_set_orientation](https://docs.lvgl.io/9.0/search.html?q=lv_bar_set_orientation) set_range|int, int||[lv_bar_set_range](https://docs.lvgl.io/9.0/search.html?q=lv_bar_set_range) @@ -1208,6 +1245,8 @@ set_inner_align|int||[lv_image_set_inner_align](https://docs.lvgl.io/9.0/search. set_offset_x|int||[lv_image_set_offset_x](https://docs.lvgl.io/9.0/search.html?q=lv_image_set_offset_x) set_offset_y|int||[lv_image_set_offset_y](https://docs.lvgl.io/9.0/search.html?q=lv_image_set_offset_y) set_pivot|int, int||[lv_image_set_pivot](https://docs.lvgl.io/9.0/search.html?q=lv_image_set_pivot) +set_pivot_x|int||[lv_image_set_pivot_x](https://docs.lvgl.io/9.0/search.html?q=lv_image_set_pivot_x) +set_pivot_y|int||[lv_image_set_pivot_y](https://docs.lvgl.io/9.0/search.html?q=lv_image_set_pivot_y) set_rotation|int||[lv_image_set_rotation](https://docs.lvgl.io/9.0/search.html?q=lv_image_set_rotation) set_rotation|int||[lv_image_set_rotation](https://docs.lvgl.io/9.0/search.html?q=lv_image_set_rotation) set_scale|int||[lv_image_set_scale](https://docs.lvgl.io/9.0/search.html?q=lv_image_set_scale) @@ -1259,6 +1298,7 @@ Method|Arguments|Return type|LVGL equivalent :---|:---|:---|:--- get_option_cnt||int|[lv_roller_get_option_count](https://docs.lvgl.io/9.0/search.html?q=lv_roller_get_option_count) get_option_count||int|[lv_roller_get_option_count](https://docs.lvgl.io/9.0/search.html?q=lv_roller_get_option_count) +get_option_str|int, comptr, int|int|[lv_roller_get_option_str](https://docs.lvgl.io/9.0/search.html?q=lv_roller_get_option_str) get_options||string|[lv_roller_get_options](https://docs.lvgl.io/9.0/search.html?q=lv_roller_get_options) get_selected||int|[lv_roller_get_selected](https://docs.lvgl.io/9.0/search.html?q=lv_roller_get_selected) get_selected_str|comptr, int||[lv_roller_get_selected_str](https://docs.lvgl.io/9.0/search.html?q=lv_roller_get_selected_str) @@ -1280,6 +1320,8 @@ get_orientation||int|[lv_slider_get_orientation](https://docs.lvgl.io/9.0/search get_value||int|[lv_slider_get_value](https://docs.lvgl.io/9.0/search.html?q=lv_slider_get_value) is_dragged||bool|[lv_slider_is_dragged](https://docs.lvgl.io/9.0/search.html?q=lv_slider_is_dragged) is_symmetrical||bool|[lv_slider_is_symmetrical](https://docs.lvgl.io/9.0/search.html?q=lv_slider_is_symmetrical) +set_max_value|int||[lv_slider_set_max_value](https://docs.lvgl.io/9.0/search.html?q=lv_slider_set_max_value) +set_min_value|int||[lv_slider_set_min_value](https://docs.lvgl.io/9.0/search.html?q=lv_slider_set_min_value) set_mode|int||[lv_slider_set_mode](https://docs.lvgl.io/9.0/search.html?q=lv_slider_set_mode) set_orientation|int||[lv_slider_set_orientation](https://docs.lvgl.io/9.0/search.html?q=lv_slider_set_orientation) set_range|int, int||[lv_slider_set_range](https://docs.lvgl.io/9.0/search.html?q=lv_slider_set_range) @@ -1387,6 +1429,7 @@ set_mode|int||[lv_spangroup_set_mode](https://docs.lvgl.io/9.0/search.html?q=lv_ set_overflow|int||[lv_spangroup_set_overflow](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_overflow) set_span_style|lv.span, lv.style||[lv_spangroup_set_span_style](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_span_style) set_span_text|lv.span, string||[lv_spangroup_set_span_text](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_span_text) +set_span_text_fmt|lv.span, string, [\]||[lv_spangroup_set_span_text_fmt](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_span_text_fmt) set_span_text_static|lv.span, string||[lv_spangroup_set_span_text_static](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_span_text_static) ### widget `lv.span` @@ -1396,6 +1439,7 @@ Method|Arguments|Return type|LVGL equivalent get_style||lv.style|[lv_span_get_style](https://docs.lvgl.io/9.0/search.html?q=lv_span_get_style) get_text||string|[lv_span_get_text](https://docs.lvgl.io/9.0/search.html?q=lv_span_get_text) set_text|string||[lv_span_set_text](https://docs.lvgl.io/9.0/search.html?q=lv_span_set_text) +set_text_fmt|string, [\]||[lv_span_set_text_fmt](https://docs.lvgl.io/9.0/search.html?q=lv_span_set_text_fmt) set_text_static|string||[lv_span_set_text_static](https://docs.lvgl.io/9.0/search.html?q=lv_span_set_text_static) set_text_static|string||[lv_span_set_text_static](https://docs.lvgl.io/9.0/search.html?q=lv_span_set_text_static) @@ -1428,11 +1472,15 @@ set_image_needle_value|lv.obj, int||[lv_scale_set_image_needle_value](https://do set_label_show|bool||[lv_scale_set_label_show](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_label_show) set_line_needle_value|lv.obj, int, int||[lv_scale_set_line_needle_value](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_line_needle_value) set_major_tick_every|int||[lv_scale_set_major_tick_every](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_major_tick_every) +set_max_value|int||[lv_scale_set_max_value](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_max_value) +set_min_value|int||[lv_scale_set_min_value](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_min_value) set_mode|int||[lv_scale_set_mode](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_mode) set_post_draw|bool||[lv_scale_set_post_draw](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_post_draw) set_range|int, int||[lv_scale_set_range](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_range) set_rotation|int||[lv_scale_set_rotation](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_rotation) set_rotation|int||[lv_scale_set_rotation](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_rotation) +set_section_max_value|lv.scale_section, int||[lv_scale_set_section_max_value](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_section_max_value) +set_section_min_value|lv.scale_section, int||[lv_scale_set_section_min_value](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_section_min_value) set_section_range|lv.scale_section, int, int||[lv_scale_set_section_range](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_section_range) set_section_style_indicator|lv.scale_section, lv.style||[lv_scale_set_section_style_indicator](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_section_style_indicator) set_section_style_items|lv.scale_section, lv.style||[lv_scale_set_section_style_items](https://docs.lvgl.io/9.0/search.html?q=lv_scale_set_section_style_items) @@ -1459,14 +1507,18 @@ get_type||int|[lv_chart_get_type](https://docs.lvgl.io/9.0/search.html?q=lv_char get_x_start_point|lv.chart_series|int|[lv_chart_get_x_start_point](https://docs.lvgl.io/9.0/search.html?q=lv_chart_get_x_start_point) hide_series|lv.chart_series, bool||[lv_chart_hide_series](https://docs.lvgl.io/9.0/search.html?q=lv_chart_hide_series) refresh|||[lv_chart_refresh](https://docs.lvgl.io/9.0/search.html?q=lv_chart_refresh) +remove_cursor|lv.chart_cursor||[lv_chart_remove_cursor](https://docs.lvgl.io/9.0/search.html?q=lv_chart_remove_cursor) remove_series|lv.chart_series||[lv_chart_remove_series](https://docs.lvgl.io/9.0/search.html?q=lv_chart_remove_series) set_all_values|lv.chart_series, int||[lv_chart_set_all_values](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_all_values) +set_axis_max_value|int, int||[lv_chart_set_axis_max_value](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_axis_max_value) +set_axis_min_value|int, int||[lv_chart_set_axis_min_value](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_axis_min_value) set_axis_range|int, int, int||[lv_chart_set_axis_range](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_axis_range) set_cursor_point|lv.chart_cursor, lv.chart_series, int||[lv_chart_set_cursor_point](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_cursor_point) set_cursor_pos|lv.chart_cursor, comptr||[lv_chart_set_cursor_pos](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_cursor_pos) set_cursor_pos_x|lv.chart_cursor, int||[lv_chart_set_cursor_pos_x](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_cursor_pos_x) set_cursor_pos_y|lv.chart_cursor, int||[lv_chart_set_cursor_pos_y](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_cursor_pos_y) set_div_line_count|int, int||[lv_chart_set_div_line_count](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_div_line_count) +set_hor_div_line_count|int||[lv_chart_set_hor_div_line_count](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_hor_div_line_count) set_next_value|lv.chart_series, int||[lv_chart_set_next_value](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_next_value) set_next_value2|lv.chart_series, int, int||[lv_chart_set_next_value2](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_next_value2) set_point_count|int||[lv_chart_set_point_count](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_point_count) @@ -1480,6 +1532,7 @@ set_series_values|lv.chart_series, lv.int_arr, int||[lv_chart_set_series_values] set_series_values2|lv.chart_series, lv.int_arr, lv.int_arr, int||[lv_chart_set_series_values2](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_series_values2) set_type|int||[lv_chart_set_type](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_type) set_update_mode|int||[lv_chart_set_update_mode](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_update_mode) +set_ver_div_line_count|int||[lv_chart_set_ver_div_line_count](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_ver_div_line_count) set_x_start_point|lv.chart_series, int||[lv_chart_set_x_start_point](https://docs.lvgl.io/9.0/search.html?q=lv_chart_set_x_start_point) ### widget `lv.imagebutton` @@ -1526,8 +1579,12 @@ get_step||int|[lv_spinbox_get_step](https://docs.lvgl.io/9.0/search.html?q=lv_sp get_value||int|[lv_spinbox_get_value](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_get_value) increment|||[lv_spinbox_increment](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_increment) set_cursor_pos|int||[lv_spinbox_set_cursor_pos](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_cursor_pos) +set_dec_point_pos|int||[lv_spinbox_set_dec_point_pos](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_dec_point_pos) +set_digit_count|int||[lv_spinbox_set_digit_count](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_digit_count) set_digit_format|int, int||[lv_spinbox_set_digit_format](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_digit_format) set_digit_step_direction|int||[lv_spinbox_set_digit_step_direction](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_digit_step_direction) +set_max_value|int||[lv_spinbox_set_max_value](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_max_value) +set_min_value|int||[lv_spinbox_set_min_value](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_min_value) set_range|int, int||[lv_spinbox_set_range](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_range) set_rollover|bool||[lv_spinbox_set_rollover](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_rollover) set_step|int||[lv_spinbox_set_step](https://docs.lvgl.io/9.0/search.html?q=lv_spinbox_set_step) @@ -1566,6 +1623,7 @@ get_tab_act||int|[lv_tabview_get_tab_active](https://docs.lvgl.io/9.0/search.htm get_tab_active||int|[lv_tabview_get_tab_active](https://docs.lvgl.io/9.0/search.html?q=lv_tabview_get_tab_active) get_tab_bar||lv.obj|[lv_tabview_get_tab_bar](https://docs.lvgl.io/9.0/search.html?q=lv_tabview_get_tab_bar) get_tab_btns||lv.obj|[lv_tabview_get_tab_bar](https://docs.lvgl.io/9.0/search.html?q=lv_tabview_get_tab_bar) +get_tab_button|int|lv.obj|[lv_tabview_get_tab_button](https://docs.lvgl.io/9.0/search.html?q=lv_tabview_get_tab_button) get_tab_count||int|[lv_tabview_get_tab_count](https://docs.lvgl.io/9.0/search.html?q=lv_tabview_get_tab_count) rename_tab|int, string||[lv_tabview_rename_tab](https://docs.lvgl.io/9.0/search.html?q=lv_tabview_rename_tab) set_act|int, int||[lv_tabview_set_active](https://docs.lvgl.io/9.0/search.html?q=lv_tabview_set_active) @@ -1630,7 +1688,12 @@ header_dropdown_set_year_list|string||[lv_calendar_header_dropdown_set_year_list set_chinese_mode|bool||[lv_calendar_set_chinese_mode](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_chinese_mode) set_day_names|comptr||[lv_calendar_set_day_names](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_day_names) set_month_shown|int, int||[lv_calendar_set_month_shown](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_month_shown) +set_shown_month|int||[lv_calendar_set_shown_month](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_shown_month) +set_shown_year|int||[lv_calendar_set_shown_year](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_shown_year) set_today_date|int, int, int||[lv_calendar_set_today_date](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_today_date) +set_today_day|int||[lv_calendar_set_today_day](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_today_day) +set_today_month|int||[lv_calendar_set_today_month](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_today_month) +set_today_year|int||[lv_calendar_set_today_year](https://docs.lvgl.io/9.0/search.html?q=lv_calendar_set_today_year) ### widget `lv.menu_page` @@ -1677,7 +1740,9 @@ set_sidebar_page|lv.obj||[lv_menu_set_sidebar_page](https://docs.lvgl.io/9.0/sea Method|Arguments|Return type|LVGL equivalent :---|:---|:---|:--- set_dark_color|lv.color||[lv_qrcode_set_dark_color](https://docs.lvgl.io/9.0/search.html?q=lv_qrcode_set_dark_color) +set_data|string||[lv_qrcode_set_data](https://docs.lvgl.io/9.0/search.html?q=lv_qrcode_set_data) set_light_color|lv.color||[lv_qrcode_set_light_color](https://docs.lvgl.io/9.0/search.html?q=lv_qrcode_set_light_color) +set_quiet_zone|bool||[lv_qrcode_set_quiet_zone](https://docs.lvgl.io/9.0/search.html?q=lv_qrcode_set_quiet_zone) set_size|int||[lv_qrcode_set_size](https://docs.lvgl.io/9.0/search.html?q=lv_qrcode_set_size) update|\, int|int|[lv_qrcode_update](https://docs.lvgl.io/9.0/search.html?q=lv_qrcode_update) diff --git a/lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h b/lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h index 4a2ca9498..65a71cbcc 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h +++ b/lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h @@ -16,6 +16,7 @@ const be_ntv_func_def_t lv_style_func[] = { { "copy", { (const void*) &lv_style_copy, "", "(lv.style)(lv.style)" } }, { "is_const", { (const void*) &lv_style_is_const, "b", "(lv.style)" } }, { "is_empty", { (const void*) &lv_style_is_empty, "b", "(lv.style)" } }, + { "merge", { (const void*) &lv_style_merge, "", "(lv.style)(lv.style)" } }, { "remove_prop", { (const void*) &lv_style_remove_prop, "b", "(lv.style)i" } }, { "reset", { (const void*) &lv_style_reset, "", "(lv.style)" } }, { "set_align", { (const void*) &lv_style_set_align, "", "(lv.style)i" } }, @@ -73,6 +74,7 @@ const be_ntv_func_def_t lv_style_func[] = { { "set_grid_row_align", { (const void*) &lv_style_set_grid_row_align, "", "(lv.style)i" } }, { "set_grid_row_dsc_array", { (const void*) &lv_style_set_grid_row_dsc_array, "", "(lv.style)(lv.int_arr)" } }, { "set_height", { (const void*) &lv_style_set_height, "", "(lv.style)i" } }, + { "set_image_colorkey", { (const void*) &lv_style_set_image_colorkey, "", "(lv.style)c" } }, { "set_image_opa", { (const void*) &lv_style_set_image_opa, "", "(lv.style)i" } }, { "set_image_recolor", { (const void*) &lv_style_set_image_recolor, "", "(lv.style)(lv.color)" } }, { "set_image_recolor_opa", { (const void*) &lv_style_set_image_recolor_opa, "", "(lv.style)i" } }, @@ -206,6 +208,8 @@ const be_ntv_func_def_t lv_group_func[] = { const be_ntv_func_def_t lv_obj_func[] = { { "add_event_cb", { (const void*) &lv_obj_add_event_cb, "lv.event_dsc", "(lv.obj)^lv_event_cb^i." } }, { "add_flag", { (const void*) &lv_obj_add_flag, "", "(lv.obj)i" } }, + { "add_play_timeline_event", { (const void*) &lv_obj_add_play_timeline_event, "", "(lv.obj)i(lv.anim_timeline_dsc)ib" } }, + { "add_screen_load_event", { (const void*) &lv_obj_add_screen_load_event, "", "(lv.obj)i(lv.obj)iii" } }, { "add_state", { (const void*) &lv_obj_add_state, "", "(lv.obj)i" } }, { "add_style", { (const void*) &lv_obj_add_style, "", "(lv.obj)(lv.style)i" } }, { "align", { (const void*) &lv_obj_align, "", "(lv.obj)iii" } }, @@ -324,6 +328,7 @@ const be_ntv_func_def_t lv_obj_func[] = { { "get_style_grid_row_align", { (const void*) &lv_obj_get_style_grid_row_align, "i", "(lv.obj)i" } }, { "get_style_grid_row_dsc_array", { (const void*) &lv_obj_get_style_grid_row_dsc_array, "lv.int_arr", "(lv.obj)i" } }, { "get_style_height", { (const void*) &lv_obj_get_style_height, "i", "(lv.obj)i" } }, + { "get_style_image_colorkey", { (const void*) &lv_obj_get_style_image_colorkey, "c", "(lv.obj)i" } }, { "get_style_image_opa", { (const void*) &lv_obj_get_style_image_opa, "i", "(lv.obj)i" } }, { "get_style_image_recolor", { (const void*) &lv_obj_get_style_image_recolor, "lv.color", "(lv.obj)i" } }, { "get_style_image_recolor_filtered", { (const void*) &lv_obj_get_style_image_recolor_filtered, "lv.color", "(lv.obj)i" } }, @@ -549,6 +554,7 @@ const be_ntv_func_def_t lv_obj_func[] = { { "set_style_grid_row_align", { (const void*) &lv_obj_set_style_grid_row_align, "", "(lv.obj)ii" } }, { "set_style_grid_row_dsc_array", { (const void*) &lv_obj_set_style_grid_row_dsc_array, "", "(lv.obj)(lv.int_arr)i" } }, { "set_style_height", { (const void*) &lv_obj_set_style_height, "", "(lv.obj)ii" } }, + { "set_style_image_colorkey", { (const void*) &lv_obj_set_style_image_colorkey, "", "(lv.obj)ci" } }, { "set_style_image_opa", { (const void*) &lv_obj_set_style_image_opa, "", "(lv.obj)ii" } }, { "set_style_image_recolor", { (const void*) &lv_obj_set_style_image_recolor, "", "(lv.obj)(lv.color)i" } }, { "set_style_image_recolor_opa", { (const void*) &lv_obj_set_style_image_recolor_opa, "", "(lv.obj)ii" } }, @@ -642,6 +648,8 @@ const be_ntv_func_def_t lv_obj_func[] = { { "stringify_id", { (const void*) &lv_obj_stringify_id, "s", "(lv.obj)ci" } }, { "style_apply_color_filter", { (const void*) &lv_obj_style_apply_color_filter, "i", "(lv.obj)ii" } }, { "style_apply_recolor", { (const void*) &lv_obj_style_apply_recolor, "i", "(lv.obj)ii" } }, + { "style_get_disabled", { (const void*) &lv_obj_style_get_disabled, "b", "(lv.obj)(lv.style)i" } }, + { "style_set_disabled", { (const void*) &lv_obj_style_set_disabled, "", "(lv.obj)(lv.style)ib" } }, { "swap", { (const void*) &lv_obj_swap, "", "(lv.obj)(lv.obj)" } }, { "transform_point", { (const void*) &lv_obj_transform_point, "", "(lv.obj)ci" } }, { "transform_point_array", { (const void*) &lv_obj_transform_point_array, "", "(lv.obj)(lv.point_arr)ii" } }, @@ -652,6 +660,7 @@ const be_ntv_func_def_t lv_obj_func[] = { /* `lv_event` methods */ const be_ntv_func_def_t lv_event_func[] = { + { "free_user_data_cb", { (const void*) &lv_event_free_user_data_cb, "", "(lv.event)" } }, { "get_code", { (const void*) &lv_event_get_code, "i", "(lv.event)" } }, { "get_cover_area", { (const void*) &lv_event_get_cover_area, "lv.area", "(lv.event)" } }, { "get_current_target", { (const void*) &lv_event_get_current_target, "c", "(lv.event)" } }, @@ -673,6 +682,7 @@ const be_ntv_func_def_t lv_event_func[] = { { "set_ext_draw_size", { (const void*) &lv_event_set_ext_draw_size, "", "(lv.event)i" } }, { "stop_bubbling", { (const void*) &lv_event_stop_bubbling, "", "(lv.event)" } }, { "stop_processing", { (const void*) &lv_event_stop_processing, "", "(lv.event)" } }, + { "stop_trickling", { (const void*) &lv_event_stop_trickling, "", "(lv.event)" } }, }; /* `lv_display` methods */ @@ -714,6 +724,7 @@ const be_ntv_func_def_t lv_display_func[] = { { "get_scr_act", { (const void*) &lv_display_get_screen_active, "lv.obj", "(lv.display)" } }, { "get_scr_prev", { (const void*) &lv_display_get_screen_prev, "lv.obj", "(lv.display)" } }, { "get_screen_active", { (const void*) &lv_display_get_screen_active, "lv.obj", "(lv.display)" } }, + { "get_screen_loading", { (const void*) &lv_display_get_screen_loading, "lv.obj", "(lv.display)" } }, { "get_screen_prev", { (const void*) &lv_display_get_screen_prev, "lv.obj", "(lv.display)" } }, { "get_theme", { (const void*) &lv_display_get_theme, "lv.theme", "(lv.display)" } }, { "get_tile_cnt", { (const void*) &lv_display_get_tile_cnt, "i", "(lv.display)" } }, @@ -806,7 +817,9 @@ const be_ntv_func_def_t lv_indev_func[] = { #ifdef BE_LV_WIDGET_QRCODE const be_ntv_func_def_t lv_qrcode_func[] = { { "set_dark_color", { (const void*) &lv_qrcode_set_dark_color, "", "(lv.obj)(lv.color)" } }, + { "set_data", { (const void*) &lv_qrcode_set_data, "", "(lv.obj)s" } }, { "set_light_color", { (const void*) &lv_qrcode_set_light_color, "", "(lv.obj)(lv.color)" } }, + { "set_quiet_zone", { (const void*) &lv_qrcode_set_quiet_zone, "", "(lv.obj)b" } }, { "set_size", { (const void*) &lv_qrcode_set_size, "", "(lv.obj)i" } }, { "update", { (const void*) &lv_qrcode_update, "i", "(lv.obj).i" } }, }; @@ -914,6 +927,8 @@ const be_ntv_func_def_t lv_arc_func[] = { { "set_change_rate", { (const void*) &lv_arc_set_change_rate, "", "(lv.obj)i" } }, { "set_end_angle", { (const void*) &lv_arc_set_end_angle, "", "(lv.obj)i" } }, { "set_knob_offset", { (const void*) &lv_arc_set_knob_offset, "", "(lv.obj)i" } }, + { "set_max_value", { (const void*) &lv_arc_set_max_value, "", "(lv.obj)i" } }, + { "set_min_value", { (const void*) &lv_arc_set_min_value, "", "(lv.obj)i" } }, { "set_mode", { (const void*) &lv_arc_set_mode, "", "(lv.obj)i" } }, { "set_range", { (const void*) &lv_arc_set_range, "", "(lv.obj)ii" } }, { "set_rotation", { (const void*) &lv_arc_set_rotation, "", "(lv.obj)i" } }, @@ -933,6 +948,8 @@ const be_ntv_func_def_t lv_bar_func[] = { { "get_start_value", { (const void*) &lv_bar_get_start_value, "i", "(lv.obj)" } }, { "get_value", { (const void*) &lv_bar_get_value, "i", "(lv.obj)" } }, { "is_symmetrical", { (const void*) &lv_bar_is_symmetrical, "b", "(lv.obj)" } }, + { "set_max_value", { (const void*) &lv_bar_set_max_value, "", "(lv.obj)i" } }, + { "set_min_value", { (const void*) &lv_bar_set_min_value, "", "(lv.obj)i" } }, { "set_mode", { (const void*) &lv_bar_set_mode, "", "(lv.obj)i" } }, { "set_orientation", { (const void*) &lv_bar_set_orientation, "", "(lv.obj)i" } }, { "set_range", { (const void*) &lv_bar_set_range, "", "(lv.obj)ii" } }, @@ -978,7 +995,12 @@ const be_ntv_func_def_t lv_calendar_func[] = { { "set_chinese_mode", { (const void*) &lv_calendar_set_chinese_mode, "", "(lv.obj)b" } }, { "set_day_names", { (const void*) &lv_calendar_set_day_names, "", "(lv.obj)c" } }, { "set_month_shown", { (const void*) &lv_calendar_set_month_shown, "", "(lv.obj)ii" } }, + { "set_shown_month", { (const void*) &lv_calendar_set_shown_month, "", "(lv.obj)i" } }, + { "set_shown_year", { (const void*) &lv_calendar_set_shown_year, "", "(lv.obj)i" } }, { "set_today_date", { (const void*) &lv_calendar_set_today_date, "", "(lv.obj)iii" } }, + { "set_today_day", { (const void*) &lv_calendar_set_today_day, "", "(lv.obj)i" } }, + { "set_today_month", { (const void*) &lv_calendar_set_today_month, "", "(lv.obj)i" } }, + { "set_today_year", { (const void*) &lv_calendar_set_today_year, "", "(lv.obj)i" } }, }; #endif // BE_LV_WIDGET_CALENDAR @@ -1015,14 +1037,18 @@ const be_ntv_func_def_t lv_chart_func[] = { { "get_x_start_point", { (const void*) &lv_chart_get_x_start_point, "i", "(lv.obj)(lv.chart_series)" } }, { "hide_series", { (const void*) &lv_chart_hide_series, "", "(lv.obj)(lv.chart_series)b" } }, { "refresh", { (const void*) &lv_chart_refresh, "", "(lv.obj)" } }, + { "remove_cursor", { (const void*) &lv_chart_remove_cursor, "", "(lv.obj)(lv.chart_cursor)" } }, { "remove_series", { (const void*) &lv_chart_remove_series, "", "(lv.obj)(lv.chart_series)" } }, { "set_all_values", { (const void*) &lv_chart_set_all_values, "", "(lv.obj)(lv.chart_series)i" } }, + { "set_axis_max_value", { (const void*) &lv_chart_set_axis_max_value, "", "(lv.obj)ii" } }, + { "set_axis_min_value", { (const void*) &lv_chart_set_axis_min_value, "", "(lv.obj)ii" } }, { "set_axis_range", { (const void*) &lv_chart_set_axis_range, "", "(lv.obj)iii" } }, { "set_cursor_point", { (const void*) &lv_chart_set_cursor_point, "", "(lv.obj)(lv.chart_cursor)(lv.chart_series)i" } }, { "set_cursor_pos", { (const void*) &lv_chart_set_cursor_pos, "", "(lv.obj)(lv.chart_cursor)c" } }, { "set_cursor_pos_x", { (const void*) &lv_chart_set_cursor_pos_x, "", "(lv.obj)(lv.chart_cursor)i" } }, { "set_cursor_pos_y", { (const void*) &lv_chart_set_cursor_pos_y, "", "(lv.obj)(lv.chart_cursor)i" } }, { "set_div_line_count", { (const void*) &lv_chart_set_div_line_count, "", "(lv.obj)ii" } }, + { "set_hor_div_line_count", { (const void*) &lv_chart_set_hor_div_line_count, "", "(lv.obj)i" } }, { "set_next_value", { (const void*) &lv_chart_set_next_value, "", "(lv.obj)(lv.chart_series)i" } }, { "set_next_value2", { (const void*) &lv_chart_set_next_value2, "", "(lv.obj)(lv.chart_series)ii" } }, { "set_point_count", { (const void*) &lv_chart_set_point_count, "", "(lv.obj)i" } }, @@ -1036,6 +1062,7 @@ const be_ntv_func_def_t lv_chart_func[] = { { "set_series_values2", { (const void*) &lv_chart_set_series_values2, "", "(lv.obj)(lv.chart_series)(lv.int_arr)(lv.int_arr)i" } }, { "set_type", { (const void*) &lv_chart_set_type, "", "(lv.obj)i" } }, { "set_update_mode", { (const void*) &lv_chart_set_update_mode, "", "(lv.obj)i" } }, + { "set_ver_div_line_count", { (const void*) &lv_chart_set_ver_div_line_count, "", "(lv.obj)i" } }, { "set_x_start_point", { (const void*) &lv_chart_set_x_start_point, "", "(lv.obj)(lv.chart_series)i" } }, }; #endif // BE_LV_WIDGET_CHART @@ -1107,6 +1134,8 @@ const be_ntv_func_def_t lv_image_func[] = { { "set_offset_x", { (const void*) &lv_image_set_offset_x, "", "(lv.obj)i" } }, { "set_offset_y", { (const void*) &lv_image_set_offset_y, "", "(lv.obj)i" } }, { "set_pivot", { (const void*) &lv_image_set_pivot, "", "(lv.obj)ii" } }, + { "set_pivot_x", { (const void*) &lv_image_set_pivot_x, "", "(lv.obj)i" } }, + { "set_pivot_y", { (const void*) &lv_image_set_pivot_y, "", "(lv.obj)i" } }, { "set_rotation", { (const void*) &lv_image_set_rotation, "", "(lv.obj)i" } }, { "set_scale", { (const void*) &lv_image_set_scale, "", "(lv.obj)i" } }, { "set_scale_x", { (const void*) &lv_image_set_scale_x, "", "(lv.obj)i" } }, @@ -1271,6 +1300,7 @@ const be_ntv_func_def_t lv_msgbox_func[] = { const be_ntv_func_def_t lv_roller_func[] = { { "get_option_cnt", { (const void*) &lv_roller_get_option_count, "i", "(lv.obj)" } }, { "get_option_count", { (const void*) &lv_roller_get_option_count, "i", "(lv.obj)" } }, + { "get_option_str", { (const void*) &lv_roller_get_option_str, "i", "(lv.obj)ici" } }, { "get_options", { (const void*) &lv_roller_get_options, "s", "(lv.obj)" } }, { "get_selected", { (const void*) &lv_roller_get_selected, "i", "(lv.obj)" } }, { "get_selected_str", { (const void*) &lv_roller_get_selected_str, "", "(lv.obj)ci" } }, @@ -1302,10 +1332,14 @@ const be_ntv_func_def_t lv_scale_func[] = { { "set_label_show", { (const void*) &lv_scale_set_label_show, "", "(lv.obj)b" } }, { "set_line_needle_value", { (const void*) &lv_scale_set_line_needle_value, "", "(lv.obj)(lv.obj)ii" } }, { "set_major_tick_every", { (const void*) &lv_scale_set_major_tick_every, "", "(lv.obj)i" } }, + { "set_max_value", { (const void*) &lv_scale_set_max_value, "", "(lv.obj)i" } }, + { "set_min_value", { (const void*) &lv_scale_set_min_value, "", "(lv.obj)i" } }, { "set_mode", { (const void*) &lv_scale_set_mode, "", "(lv.obj)i" } }, { "set_post_draw", { (const void*) &lv_scale_set_post_draw, "", "(lv.obj)b" } }, { "set_range", { (const void*) &lv_scale_set_range, "", "(lv.obj)ii" } }, { "set_rotation", { (const void*) &lv_scale_set_rotation, "", "(lv.obj)i" } }, + { "set_section_max_value", { (const void*) &lv_scale_set_section_max_value, "", "(lv.obj)(lv.scale_section)i" } }, + { "set_section_min_value", { (const void*) &lv_scale_set_section_min_value, "", "(lv.obj)(lv.scale_section)i" } }, { "set_section_range", { (const void*) &lv_scale_set_section_range, "", "(lv.obj)(lv.scale_section)ii" } }, { "set_section_style_indicator", { (const void*) &lv_scale_set_section_style_indicator, "", "(lv.obj)(lv.scale_section)(lv.style)" } }, { "set_section_style_items", { (const void*) &lv_scale_set_section_style_items, "", "(lv.obj)(lv.scale_section)(lv.style)" } }, @@ -1334,6 +1368,8 @@ const be_ntv_func_def_t lv_slider_func[] = { { "get_value", { (const void*) &lv_slider_get_value, "i", "(lv.obj)" } }, { "is_dragged", { (const void*) &lv_slider_is_dragged, "b", "(lv.obj)" } }, { "is_symmetrical", { (const void*) &lv_slider_is_symmetrical, "b", "(lv.obj)" } }, + { "set_max_value", { (const void*) &lv_slider_set_max_value, "", "(lv.obj)i" } }, + { "set_min_value", { (const void*) &lv_slider_set_min_value, "", "(lv.obj)i" } }, { "set_mode", { (const void*) &lv_slider_set_mode, "", "(lv.obj)i" } }, { "set_orientation", { (const void*) &lv_slider_set_orientation, "", "(lv.obj)i" } }, { "set_range", { (const void*) &lv_slider_set_range, "", "(lv.obj)ii" } }, @@ -1348,6 +1384,7 @@ const be_ntv_func_def_t lv_span_func[] = { { "get_style", { (const void*) &lv_span_get_style, "lv.style", "(lv.span)" } }, { "get_text", { (const void*) &lv_span_get_text, "s", "(lv.span)" } }, { "set_text", { (const void*) &lv_span_set_text, "", "(lv.span)s" } }, + { "set_text_fmt", { (const void*) &lv_span_set_text_fmt, "", "(lv.span)s[......]" } }, { "set_text_static", { (const void*) &lv_span_set_text_static, "", "(lv.span)s" } }, }; #endif // BE_LV_WIDGET_SPAN @@ -1377,6 +1414,7 @@ const be_ntv_func_def_t lv_spangroup_func[] = { { "set_overflow", { (const void*) &lv_spangroup_set_overflow, "", "(lv.obj)i" } }, { "set_span_style", { (const void*) &lv_spangroup_set_span_style, "", "(lv.obj)(lv.span)(lv.style)" } }, { "set_span_text", { (const void*) &lv_spangroup_set_span_text, "", "(lv.obj)(lv.span)s" } }, + { "set_span_text_fmt", { (const void*) &lv_spangroup_set_span_text_fmt, "", "(lv.obj)(lv.span)s[......]" } }, { "set_span_text_static", { (const void*) &lv_spangroup_set_span_text_static, "", "(lv.obj)(lv.span)s" } }, }; #endif // BE_LV_WIDGET_SPANGROUP @@ -1390,8 +1428,12 @@ const be_ntv_func_def_t lv_spinbox_func[] = { { "get_value", { (const void*) &lv_spinbox_get_value, "i", "(lv.obj)" } }, { "increment", { (const void*) &lv_spinbox_increment, "", "(lv.obj)" } }, { "set_cursor_pos", { (const void*) &lv_spinbox_set_cursor_pos, "", "(lv.obj)i" } }, + { "set_dec_point_pos", { (const void*) &lv_spinbox_set_dec_point_pos, "", "(lv.obj)i" } }, + { "set_digit_count", { (const void*) &lv_spinbox_set_digit_count, "", "(lv.obj)i" } }, { "set_digit_format", { (const void*) &lv_spinbox_set_digit_format, "", "(lv.obj)ii" } }, { "set_digit_step_direction", { (const void*) &lv_spinbox_set_digit_step_direction, "", "(lv.obj)i" } }, + { "set_max_value", { (const void*) &lv_spinbox_set_max_value, "", "(lv.obj)i" } }, + { "set_min_value", { (const void*) &lv_spinbox_set_min_value, "", "(lv.obj)i" } }, { "set_range", { (const void*) &lv_spinbox_set_range, "", "(lv.obj)ii" } }, { "set_rollover", { (const void*) &lv_spinbox_set_rollover, "", "(lv.obj)b" } }, { "set_step", { (const void*) &lv_spinbox_set_step, "", "(lv.obj)i" } }, @@ -1453,6 +1495,7 @@ const be_ntv_func_def_t lv_tabview_func[] = { { "get_tab_active", { (const void*) &lv_tabview_get_tab_active, "i", "(lv.obj)" } }, { "get_tab_bar", { (const void*) &lv_tabview_get_tab_bar, "lv.obj", "(lv.obj)" } }, { "get_tab_btns", { (const void*) &lv_tabview_get_tab_bar, "lv.obj", "(lv.obj)" } }, + { "get_tab_button", { (const void*) &lv_tabview_get_tab_button, "lv.obj", "(lv.obj)i" } }, { "get_tab_count", { (const void*) &lv_tabview_get_tab_count, "i", "(lv.obj)" } }, { "rename_tab", { (const void*) &lv_tabview_rename_tab, "", "(lv.obj)is" } }, { "set_act", { (const void*) &lv_tabview_set_active, "", "(lv.obj)ii" } }, diff --git a/lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c b/lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c index 201969a06..54e20f17e 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c +++ b/lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c @@ -41,6 +41,29 @@ const be_ntv_func_def_t lv_func[] = { { "anim_speed", { (const void*) &lv_anim_speed, "i", "i" } }, { "anim_speed_clamped", { (const void*) &lv_anim_speed_clamped, "i", "iii" } }, { "anim_speed_to_time", { (const void*) &lv_anim_speed_to_time, "i", "iii" } }, + { "arclabel_create", { (const void*) &lv_arclabel_create, "lv.obj", "(lv.obj)" } }, + { "arclabel_get_angle_size", { (const void*) &lv_arclabel_get_angle_size, "i", "(lv.obj)" } }, + { "arclabel_get_angle_start", { (const void*) &lv_arclabel_get_angle_start, "i", "(lv.obj)" } }, + { "arclabel_get_center_offset_x", { (const void*) &lv_arclabel_get_center_offset_x, "i", "(lv.obj)" } }, + { "arclabel_get_center_offset_y", { (const void*) &lv_arclabel_get_center_offset_y, "i", "(lv.obj)" } }, + { "arclabel_get_dir", { (const void*) &lv_arclabel_get_dir, "i", "(lv.obj)" } }, + { "arclabel_get_radius", { (const void*) &lv_arclabel_get_radius, "i", "(lv.obj)" } }, + { "arclabel_get_recolor", { (const void*) &lv_arclabel_get_recolor, "b", "(lv.obj)" } }, + { "arclabel_get_text_horizontal_align", { (const void*) &lv_arclabel_get_text_horizontal_align, "i", "(lv.obj)" } }, + { "arclabel_get_text_vertical_align", { (const void*) &lv_arclabel_get_text_vertical_align, "i", "(lv.obj)" } }, + { "arclabel_set_angle_size", { (const void*) &lv_arclabel_set_angle_size, "", "(lv.obj)i" } }, + { "arclabel_set_angle_start", { (const void*) &lv_arclabel_set_angle_start, "", "(lv.obj)i" } }, + { "arclabel_set_center_offset_x", { (const void*) &lv_arclabel_set_center_offset_x, "", "(lv.obj)i" } }, + { "arclabel_set_center_offset_y", { (const void*) &lv_arclabel_set_center_offset_y, "", "(lv.obj)i" } }, + { "arclabel_set_dir", { (const void*) &lv_arclabel_set_dir, "", "(lv.obj)i" } }, + { "arclabel_set_offset", { (const void*) &lv_arclabel_set_offset, "", "(lv.obj)i" } }, + { "arclabel_set_radius", { (const void*) &lv_arclabel_set_radius, "", "(lv.obj)i" } }, + { "arclabel_set_recolor", { (const void*) &lv_arclabel_set_recolor, "", "(lv.obj)b" } }, + { "arclabel_set_text", { (const void*) &lv_arclabel_set_text, "", "(lv.obj)s" } }, + { "arclabel_set_text_fmt", { (const void*) &lv_arclabel_set_text_fmt, "", "(lv.obj)s[......]" } }, + { "arclabel_set_text_horizontal_align", { (const void*) &lv_arclabel_set_text_horizontal_align, "", "(lv.obj)i" } }, + { "arclabel_set_text_static", { (const void*) &lv_arclabel_set_text_static, "", "(lv.obj)s" } }, + { "arclabel_set_text_vertical_align", { (const void*) &lv_arclabel_set_text_vertical_align, "", "(lv.obj)i" } }, { "area_align", { (const void*) &lv_area_align, "", "(lv.area)(lv.area)iii" } }, { "area_copy", { (const void*) &lv_area_copy, "", "(lv.area)(lv.area)" } }, { "area_get_height", { (const void*) &lv_area_get_height, "i", "(lv.area)" } }, @@ -68,6 +91,7 @@ const be_ntv_func_def_t lv_func[] = { { "color_hex", { (const void*) &lv_color_hex, "lv.color", "i" } }, { "color_hex3", { (const void*) &lv_color_hex3, "lv.color", "i" } }, { "color_hsv_to_rgb", { (const void*) &lv_color_hsv_to_rgb, "lv.color", "iii" } }, + { "color_is_in_range", { (const void*) &lv_color_is_in_range, "b", "(lv.color)(lv.color)(lv.color)" } }, { "color_lighten", { (const void*) &lv_color_lighten, "lv.color", "(lv.color)i" } }, { "color_luminance", { (const void*) &lv_color_luminance, "i", "(lv.color)" } }, { "color_make", { (const void*) &lv_color_make, "lv.color", "iii" } }, @@ -111,6 +135,7 @@ const be_ntv_func_def_t lv_func[] = { { "draw_line_dsc_init", { (const void*) &lv_draw_line_dsc_init, "", "(lv.draw_line_dsc)" } }, { "draw_rect", { (const void*) &lv_draw_rect, "", "(lv.layer)(lv.draw_rect_dsc)(lv.area)" } }, { "draw_rect_dsc_init", { (const void*) &lv_draw_rect_dsc_init, "", "(lv.draw_rect_dsc)" } }, + { "draw_unit_send_event", { (const void*) &lv_draw_unit_send_event, "", "si." } }, { "draw_wait_for_finish", { (const void*) &lv_draw_wait_for_finish, "", "" } }, { "event_code_get_name", { (const void*) &lv_event_code_get_name, "s", "i" } }, { "event_dsc_get_cb", { (const void*) &lv_event_dsc_get_cb, "lv.event_cb", "(lv.event_dsc)" } }, @@ -180,9 +205,6 @@ const be_ntv_func_def_t lv_func[] = { { "style_register_prop", { (const void*) &lv_style_register_prop, "i", "i" } }, { "task_handler", { (const void*) &lv_task_handler, "i", "" } }, { "text_get_size", { (const void*) &lv_text_get_size, "", "cs(lv.font)iiii" } }, - { "text_get_width", { (const void*) &lv_text_get_width, "i", "si(lv.font)i" } }, - { "text_get_width_with_flags", { (const void*) &lv_text_get_width_with_flags, "i", "si(lv.font)ii" } }, - { "text_is_cmd", { (const void*) &lv_text_is_cmd, "b", "ci" } }, { "theme_apply", { (const void*) &lv_theme_apply, "", "(lv.obj)" } }, { "theme_get_color_primary", { (const void*) &lv_theme_get_color_primary, "lv.color", "(lv.obj)" } }, { "theme_get_color_secondary", { (const void*) &lv_theme_get_color_secondary, "lv.color", "(lv.obj)" } }, @@ -241,6 +263,12 @@ const be_const_member_t lv0_constants[] = { { "ANIM_ON", be_cconst_int(LV_ANIM_ON) }, { "ANIM_PLAYTIME_INFINITE", be_cconst_int(LV_ANIM_PLAYTIME_INFINITE) }, { "ANIM_REPEAT_INFINITE", be_cconst_int(LV_ANIM_REPEAT_INFINITE) }, + { "ARCLABEL_DIR_CLOCKWISE", be_cconst_int(LV_ARCLABEL_DIR_CLOCKWISE) }, + { "ARCLABEL_DIR_COUNTER_CLOCKWISE", be_cconst_int(LV_ARCLABEL_DIR_COUNTER_CLOCKWISE) }, + { "ARCLABEL_TEXT_ALIGN_CENTER", be_cconst_int(LV_ARCLABEL_TEXT_ALIGN_CENTER) }, + { "ARCLABEL_TEXT_ALIGN_DEFAULT", be_cconst_int(LV_ARCLABEL_TEXT_ALIGN_DEFAULT) }, + { "ARCLABEL_TEXT_ALIGN_LEADING", be_cconst_int(LV_ARCLABEL_TEXT_ALIGN_LEADING) }, + { "ARCLABEL_TEXT_ALIGN_TRAILING", be_cconst_int(LV_ARCLABEL_TEXT_ALIGN_TRAILING) }, { "ARC_MODE_NORMAL", be_cconst_int(LV_ARC_MODE_NORMAL) }, { "ARC_MODE_REVERSE", be_cconst_int(LV_ARC_MODE_REVERSE) }, { "ARC_MODE_SYMMETRICAL", be_cconst_int(LV_ARC_MODE_SYMMETRICAL) }, @@ -316,6 +344,7 @@ const be_const_member_t lv0_constants[] = { { "CHART_TYPE_LINE", be_cconst_int(LV_CHART_TYPE_LINE) }, { "CHART_TYPE_NONE", be_cconst_int(LV_CHART_TYPE_NONE) }, { "CHART_TYPE_SCATTER", be_cconst_int(LV_CHART_TYPE_SCATTER) }, + { "CHART_TYPE_STACKED", be_cconst_int(LV_CHART_TYPE_STACKED) }, { "CHART_UPDATE_MODE_CIRCULAR", be_cconst_int(LV_CHART_UPDATE_MODE_CIRCULAR) }, { "CHART_UPDATE_MODE_SHIFT", be_cconst_int(LV_CHART_UPDATE_MODE_SHIFT) }, { "COLOR_AQUA", be_cconst_int(0x00FFFF) }, @@ -433,9 +462,10 @@ const be_const_member_t lv0_constants[] = { { "DISP_ROTATION_180", be_cconst_int(LV_DISPLAY_ROTATION_180) }, { "DISP_ROTATION_270", be_cconst_int(LV_DISPLAY_ROTATION_270) }, { "DISP_ROTATION_90", be_cconst_int(LV_DISPLAY_ROTATION_90) }, + { "DRAW_TASK_STATE_BLOCKED", be_cconst_int(LV_DRAW_TASK_STATE_BLOCKED) }, + { "DRAW_TASK_STATE_FINISHED", be_cconst_int(LV_DRAW_TASK_STATE_FINISHED) }, { "DRAW_TASK_STATE_IN_PROGRESS", be_cconst_int(LV_DRAW_TASK_STATE_IN_PROGRESS) }, { "DRAW_TASK_STATE_QUEUED", be_cconst_int(LV_DRAW_TASK_STATE_QUEUED) }, - { "DRAW_TASK_STATE_READY", be_cconst_int(LV_DRAW_TASK_STATE_READY) }, { "DRAW_TASK_STATE_WAITING", be_cconst_int(LV_DRAW_TASK_STATE_WAITING) }, { "DRAW_TASK_TYPE_ARC", be_cconst_int(LV_DRAW_TASK_TYPE_ARC) }, { "DRAW_TASK_TYPE_BORDER", be_cconst_int(LV_DRAW_TASK_TYPE_BORDER) }, @@ -584,7 +614,6 @@ const be_const_member_t lv0_constants[] = { { "IMAGEBUTTON_STATE_NUM", be_cconst_int(LV_IMAGEBUTTON_STATE_NUM) }, { "IMAGEBUTTON_STATE_PRESSED", be_cconst_int(LV_IMAGEBUTTON_STATE_PRESSED) }, { "IMAGEBUTTON_STATE_RELEASED", be_cconst_int(LV_IMAGEBUTTON_STATE_RELEASED) }, - { "IMAGE_ALIGN_AUTO_TRANSFORM", be_cconst_int(LV_IMAGE_ALIGN_AUTO_TRANSFORM) }, { "IMAGE_ALIGN_BOTTOM_LEFT", be_cconst_int(LV_IMAGE_ALIGN_BOTTOM_LEFT) }, { "IMAGE_ALIGN_BOTTOM_MID", be_cconst_int(LV_IMAGE_ALIGN_BOTTOM_MID) }, { "IMAGE_ALIGN_BOTTOM_RIGHT", be_cconst_int(LV_IMAGE_ALIGN_BOTTOM_RIGHT) }, @@ -686,6 +715,7 @@ const be_const_member_t lv0_constants[] = { { "OBJ_FLAG_CLICKABLE", be_cconst_int(LV_OBJ_FLAG_CLICKABLE) }, { "OBJ_FLAG_CLICK_FOCUSABLE", be_cconst_int(LV_OBJ_FLAG_CLICK_FOCUSABLE) }, { "OBJ_FLAG_EVENT_BUBBLE", be_cconst_int(LV_OBJ_FLAG_EVENT_BUBBLE) }, + { "OBJ_FLAG_EVENT_TRICKLE", be_cconst_int(LV_OBJ_FLAG_EVENT_TRICKLE) }, { "OBJ_FLAG_FLEX_IN_NEW_TRACK", be_cconst_int(LV_OBJ_FLAG_FLEX_IN_NEW_TRACK) }, { "OBJ_FLAG_FLOATING", be_cconst_int(LV_OBJ_FLAG_FLOATING) }, { "OBJ_FLAG_GESTURE_BUBBLE", be_cconst_int(LV_OBJ_FLAG_GESTURE_BUBBLE) }, @@ -706,6 +736,7 @@ const be_const_member_t lv0_constants[] = { { "OBJ_FLAG_SCROLL_WITH_ARROW", be_cconst_int(LV_OBJ_FLAG_SCROLL_WITH_ARROW) }, { "OBJ_FLAG_SEND_DRAW_TASK_EVENTS", be_cconst_int(LV_OBJ_FLAG_SEND_DRAW_TASK_EVENTS) }, { "OBJ_FLAG_SNAPPABLE", be_cconst_int(LV_OBJ_FLAG_SNAPPABLE) }, + { "OBJ_FLAG_STATE_TRICKLE", be_cconst_int(LV_OBJ_FLAG_STATE_TRICKLE) }, { "OBJ_FLAG_USER_1", be_cconst_int(LV_OBJ_FLAG_USER_1) }, { "OBJ_FLAG_USER_2", be_cconst_int(LV_OBJ_FLAG_USER_2) }, { "OBJ_FLAG_USER_3", be_cconst_int(LV_OBJ_FLAG_USER_3) }, @@ -786,6 +817,22 @@ const be_const_member_t lv0_constants[] = { { "SCALE_NONE", be_cconst_int(LV_SCALE_NONE) }, { "SCALE_ROTATION_ANGLE_MASK", be_cconst_int(LV_SCALE_ROTATION_ANGLE_MASK) }, { "SCALE_TOTAL_TICK_COUNT_DEFAULT", be_cconst_int(LV_SCALE_TOTAL_TICK_COUNT_DEFAULT) }, + { "SCREEN_LOAD_ANIM_FADE_IN", be_cconst_int(LV_SCREEN_LOAD_ANIM_FADE_IN) }, + { "SCREEN_LOAD_ANIM_FADE_ON", be_cconst_int(LV_SCREEN_LOAD_ANIM_FADE_ON) }, + { "SCREEN_LOAD_ANIM_FADE_OUT", be_cconst_int(LV_SCREEN_LOAD_ANIM_FADE_OUT) }, + { "SCREEN_LOAD_ANIM_MOVE_BOTTOM", be_cconst_int(LV_SCREEN_LOAD_ANIM_MOVE_BOTTOM) }, + { "SCREEN_LOAD_ANIM_MOVE_LEFT", be_cconst_int(LV_SCREEN_LOAD_ANIM_MOVE_LEFT) }, + { "SCREEN_LOAD_ANIM_MOVE_RIGHT", be_cconst_int(LV_SCREEN_LOAD_ANIM_MOVE_RIGHT) }, + { "SCREEN_LOAD_ANIM_MOVE_TOP", be_cconst_int(LV_SCREEN_LOAD_ANIM_MOVE_TOP) }, + { "SCREEN_LOAD_ANIM_NONE", be_cconst_int(LV_SCREEN_LOAD_ANIM_NONE) }, + { "SCREEN_LOAD_ANIM_OUT_BOTTOM", be_cconst_int(LV_SCREEN_LOAD_ANIM_OUT_BOTTOM) }, + { "SCREEN_LOAD_ANIM_OUT_LEFT", be_cconst_int(LV_SCREEN_LOAD_ANIM_OUT_LEFT) }, + { "SCREEN_LOAD_ANIM_OUT_RIGHT", be_cconst_int(LV_SCREEN_LOAD_ANIM_OUT_RIGHT) }, + { "SCREEN_LOAD_ANIM_OUT_TOP", be_cconst_int(LV_SCREEN_LOAD_ANIM_OUT_TOP) }, + { "SCREEN_LOAD_ANIM_OVER_BOTTOM", be_cconst_int(LV_SCREEN_LOAD_ANIM_OVER_BOTTOM) }, + { "SCREEN_LOAD_ANIM_OVER_LEFT", be_cconst_int(LV_SCREEN_LOAD_ANIM_OVER_LEFT) }, + { "SCREEN_LOAD_ANIM_OVER_RIGHT", be_cconst_int(LV_SCREEN_LOAD_ANIM_OVER_RIGHT) }, + { "SCREEN_LOAD_ANIM_OVER_TOP", be_cconst_int(LV_SCREEN_LOAD_ANIM_OVER_TOP) }, { "SCROLLBAR_MODE_ACTIVE", be_cconst_int(LV_SCROLLBAR_MODE_ACTIVE) }, { "SCROLLBAR_MODE_AUTO", be_cconst_int(LV_SCROLLBAR_MODE_AUTO) }, { "SCROLLBAR_MODE_OFF", be_cconst_int(LV_SCROLLBAR_MODE_OFF) }, @@ -794,22 +841,6 @@ const be_const_member_t lv0_constants[] = { { "SCROLL_SNAP_END", be_cconst_int(LV_SCROLL_SNAP_END) }, { "SCROLL_SNAP_NONE", be_cconst_int(LV_SCROLL_SNAP_NONE) }, { "SCROLL_SNAP_START", be_cconst_int(LV_SCROLL_SNAP_START) }, - { "SCR_LOAD_ANIM_FADE_IN", be_cconst_int(LV_SCR_LOAD_ANIM_FADE_IN) }, - { "SCR_LOAD_ANIM_FADE_ON", be_cconst_int(LV_SCR_LOAD_ANIM_FADE_ON) }, - { "SCR_LOAD_ANIM_FADE_OUT", be_cconst_int(LV_SCR_LOAD_ANIM_FADE_OUT) }, - { "SCR_LOAD_ANIM_MOVE_BOTTOM", be_cconst_int(LV_SCR_LOAD_ANIM_MOVE_BOTTOM) }, - { "SCR_LOAD_ANIM_MOVE_LEFT", be_cconst_int(LV_SCR_LOAD_ANIM_MOVE_LEFT) }, - { "SCR_LOAD_ANIM_MOVE_RIGHT", be_cconst_int(LV_SCR_LOAD_ANIM_MOVE_RIGHT) }, - { "SCR_LOAD_ANIM_MOVE_TOP", be_cconst_int(LV_SCR_LOAD_ANIM_MOVE_TOP) }, - { "SCR_LOAD_ANIM_NONE", be_cconst_int(LV_SCR_LOAD_ANIM_NONE) }, - { "SCR_LOAD_ANIM_OUT_BOTTOM", be_cconst_int(LV_SCR_LOAD_ANIM_OUT_BOTTOM) }, - { "SCR_LOAD_ANIM_OUT_LEFT", be_cconst_int(LV_SCR_LOAD_ANIM_OUT_LEFT) }, - { "SCR_LOAD_ANIM_OUT_RIGHT", be_cconst_int(LV_SCR_LOAD_ANIM_OUT_RIGHT) }, - { "SCR_LOAD_ANIM_OUT_TOP", be_cconst_int(LV_SCR_LOAD_ANIM_OUT_TOP) }, - { "SCR_LOAD_ANIM_OVER_BOTTOM", be_cconst_int(LV_SCR_LOAD_ANIM_OVER_BOTTOM) }, - { "SCR_LOAD_ANIM_OVER_LEFT", be_cconst_int(LV_SCR_LOAD_ANIM_OVER_LEFT) }, - { "SCR_LOAD_ANIM_OVER_RIGHT", be_cconst_int(LV_SCR_LOAD_ANIM_OVER_RIGHT) }, - { "SCR_LOAD_ANIM_OVER_TOP", be_cconst_int(LV_SCR_LOAD_ANIM_OVER_TOP) }, { "SIZE_CONTENT", be_cconst_int(LV_SIZE_CONTENT) }, { "SLIDER_MODE_NORMAL", be_cconst_int(LV_SLIDER_MODE_NORMAL) }, { "SLIDER_MODE_RANGE", be_cconst_int(LV_SLIDER_MODE_RANGE) }, @@ -889,6 +920,7 @@ const be_const_member_t lv0_constants[] = { { "STYLE_GRID_ROW_ALIGN", be_cconst_int(LV_STYLE_GRID_ROW_ALIGN) }, { "STYLE_GRID_ROW_DSC_ARRAY", be_cconst_int(LV_STYLE_GRID_ROW_DSC_ARRAY) }, { "STYLE_HEIGHT", be_cconst_int(LV_STYLE_HEIGHT) }, + { "STYLE_IMAGE_COLORKEY", be_cconst_int(LV_STYLE_IMAGE_COLORKEY) }, { "STYLE_IMAGE_OPA", be_cconst_int(LV_STYLE_IMAGE_OPA) }, { "STYLE_IMAGE_RECOLOR", be_cconst_int(LV_STYLE_IMAGE_RECOLOR) }, { "STYLE_IMAGE_RECOLOR_OPA", be_cconst_int(LV_STYLE_IMAGE_RECOLOR_OPA) }, @@ -1050,9 +1082,6 @@ const be_const_member_t lv0_constants[] = { { "TEXT_ALIGN_CENTER", be_cconst_int(LV_TEXT_ALIGN_CENTER) }, { "TEXT_ALIGN_LEFT", be_cconst_int(LV_TEXT_ALIGN_LEFT) }, { "TEXT_ALIGN_RIGHT", be_cconst_int(LV_TEXT_ALIGN_RIGHT) }, - { "TEXT_CMD_STATE_IN", be_cconst_int(LV_TEXT_CMD_STATE_IN) }, - { "TEXT_CMD_STATE_PAR", be_cconst_int(LV_TEXT_CMD_STATE_PAR) }, - { "TEXT_CMD_STATE_WAIT", be_cconst_int(LV_TEXT_CMD_STATE_WAIT) }, { "TEXT_DECOR_NONE", be_cconst_int(LV_TEXT_DECOR_NONE) }, { "TEXT_DECOR_STRIKETHROUGH", be_cconst_int(LV_TEXT_DECOR_STRIKETHROUGH) }, { "TEXT_DECOR_UNDERLINE", be_cconst_int(LV_TEXT_DECOR_UNDERLINE) }, diff --git a/lib/libesp32_lvgl/lv_binding_berry/mapping/lv_enum.h b/lib/libesp32_lvgl/lv_binding_berry/mapping/lv_enum.h index f9aa9be14..372abd662 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/mapping/lv_enum.h +++ b/lib/libesp32_lvgl/lv_binding_berry/mapping/lv_enum.h @@ -213,6 +213,7 @@ LV_OBJ_FLAG_CHECKABLE LV_OBJ_FLAG_CLICKABLE LV_OBJ_FLAG_CLICK_FOCUSABLE LV_OBJ_FLAG_EVENT_BUBBLE +LV_OBJ_FLAG_EVENT_TRICKLE LV_OBJ_FLAG_FLEX_IN_NEW_TRACK LV_OBJ_FLAG_FLOATING LV_OBJ_FLAG_GESTURE_BUBBLE @@ -233,35 +234,13 @@ LV_OBJ_FLAG_SCROLL_ON_FOCUS LV_OBJ_FLAG_SCROLL_WITH_ARROW LV_OBJ_FLAG_SEND_DRAW_TASK_EVENTS LV_OBJ_FLAG_SNAPPABLE +LV_OBJ_FLAG_STATE_TRICKLE LV_OBJ_FLAG_USER_1 LV_OBJ_FLAG_USER_2 LV_OBJ_FLAG_USER_3 LV_OBJ_FLAG_USER_4 LV_OBJ_FLAG_WIDGET_1 LV_OBJ_FLAG_WIDGET_2 -LV_PART_ANY -LV_PART_CURSOR -LV_PART_CUSTOM_FIRST -LV_PART_INDICATOR -LV_PART_ITEMS -LV_PART_KNOB -LV_PART_MAIN -LV_PART_SCROLLBAR -LV_PART_SELECTED -LV_STATE_ANY -LV_STATE_CHECKED -LV_STATE_DEFAULT -LV_STATE_DISABLED -LV_STATE_EDITED -LV_STATE_FOCUSED -LV_STATE_FOCUS_KEY -LV_STATE_HOVERED -LV_STATE_PRESSED -LV_STATE_SCROLLED -LV_STATE_USER_1 -LV_STATE_USER_2 -LV_STATE_USER_3 -LV_STATE_USER_4 // File: ../../lvgl/src/core/lv_obj_class.h LV_OBJ_CLASS_EDITABLE_FALSE @@ -300,6 +279,29 @@ LV_SCROLL_SNAP_NONE LV_SCROLL_SNAP_START // File: ../../lvgl/src/core/lv_obj_style.h +LV_PART_ANY +LV_PART_CURSOR +LV_PART_CUSTOM_FIRST +LV_PART_INDICATOR +LV_PART_ITEMS +LV_PART_KNOB +LV_PART_MAIN +LV_PART_SCROLLBAR +LV_PART_SELECTED +LV_STATE_ANY +LV_STATE_CHECKED +LV_STATE_DEFAULT +LV_STATE_DISABLED +LV_STATE_EDITED +LV_STATE_FOCUSED +LV_STATE_FOCUS_KEY +LV_STATE_HOVERED +LV_STATE_PRESSED +LV_STATE_SCROLLED +LV_STATE_USER_1 +LV_STATE_USER_2 +LV_STATE_USER_3 +LV_STATE_USER_4 LV_STYLE_STATE_CMP_DIFF_DRAW_PAD LV_STYLE_STATE_CMP_DIFF_LAYOUT LV_STYLE_STATE_CMP_DIFF_REDRAW @@ -322,27 +324,28 @@ LV_DISPLAY_ROTATION_0 LV_DISPLAY_ROTATION_180 LV_DISPLAY_ROTATION_270 LV_DISPLAY_ROTATION_90 -LV_SCR_LOAD_ANIM_FADE_IN -LV_SCR_LOAD_ANIM_FADE_ON -LV_SCR_LOAD_ANIM_FADE_OUT -LV_SCR_LOAD_ANIM_MOVE_BOTTOM -LV_SCR_LOAD_ANIM_MOVE_LEFT -LV_SCR_LOAD_ANIM_MOVE_RIGHT -LV_SCR_LOAD_ANIM_MOVE_TOP -LV_SCR_LOAD_ANIM_NONE -LV_SCR_LOAD_ANIM_OUT_BOTTOM -LV_SCR_LOAD_ANIM_OUT_LEFT -LV_SCR_LOAD_ANIM_OUT_RIGHT -LV_SCR_LOAD_ANIM_OUT_TOP -LV_SCR_LOAD_ANIM_OVER_BOTTOM -LV_SCR_LOAD_ANIM_OVER_LEFT -LV_SCR_LOAD_ANIM_OVER_RIGHT -LV_SCR_LOAD_ANIM_OVER_TOP +LV_SCREEN_LOAD_ANIM_FADE_IN +LV_SCREEN_LOAD_ANIM_FADE_ON +LV_SCREEN_LOAD_ANIM_FADE_OUT +LV_SCREEN_LOAD_ANIM_MOVE_BOTTOM +LV_SCREEN_LOAD_ANIM_MOVE_LEFT +LV_SCREEN_LOAD_ANIM_MOVE_RIGHT +LV_SCREEN_LOAD_ANIM_MOVE_TOP +LV_SCREEN_LOAD_ANIM_NONE +LV_SCREEN_LOAD_ANIM_OUT_BOTTOM +LV_SCREEN_LOAD_ANIM_OUT_LEFT +LV_SCREEN_LOAD_ANIM_OUT_RIGHT +LV_SCREEN_LOAD_ANIM_OUT_TOP +LV_SCREEN_LOAD_ANIM_OVER_BOTTOM +LV_SCREEN_LOAD_ANIM_OVER_LEFT +LV_SCREEN_LOAD_ANIM_OVER_RIGHT +LV_SCREEN_LOAD_ANIM_OVER_TOP // File: ../../lvgl/src/draw/lv_draw.h +LV_DRAW_TASK_STATE_BLOCKED +LV_DRAW_TASK_STATE_FINISHED LV_DRAW_TASK_STATE_IN_PROGRESS LV_DRAW_TASK_STATE_QUEUED -LV_DRAW_TASK_STATE_READY LV_DRAW_TASK_STATE_WAITING LV_DRAW_TASK_TYPE_ARC LV_DRAW_TASK_TYPE_BORDER @@ -772,6 +775,7 @@ LV_STYLE_GRID_COLUMN_DSC_ARRAY LV_STYLE_GRID_ROW_ALIGN LV_STYLE_GRID_ROW_DSC_ARRAY LV_STYLE_HEIGHT +LV_STYLE_IMAGE_COLORKEY LV_STYLE_IMAGE_OPA LV_STYLE_IMAGE_RECOLOR LV_STYLE_IMAGE_RECOLOR_OPA @@ -861,9 +865,6 @@ LV_TEXT_ALIGN_AUTO LV_TEXT_ALIGN_CENTER LV_TEXT_ALIGN_LEFT LV_TEXT_ALIGN_RIGHT -LV_TEXT_CMD_STATE_IN -LV_TEXT_CMD_STATE_PAR -LV_TEXT_CMD_STATE_WAIT LV_TEXT_FLAG_BREAK_ALL LV_TEXT_FLAG_EXPAND LV_TEXT_FLAG_FIT @@ -892,6 +893,14 @@ LV_ARC_MODE_NORMAL LV_ARC_MODE_REVERSE LV_ARC_MODE_SYMMETRICAL +// File: ../../lvgl/src/widgets/arclabel/lv_arclabel.h +LV_ARCLABEL_DIR_CLOCKWISE +LV_ARCLABEL_DIR_COUNTER_CLOCKWISE +LV_ARCLABEL_TEXT_ALIGN_CENTER +LV_ARCLABEL_TEXT_ALIGN_DEFAULT +LV_ARCLABEL_TEXT_ALIGN_LEADING +LV_ARCLABEL_TEXT_ALIGN_TRAILING + // File: ../../lvgl/src/widgets/bar/lv_bar.h LV_BAR_MODE_NORMAL LV_BAR_MODE_RANGE @@ -954,6 +963,7 @@ LV_CHART_TYPE_BAR LV_CHART_TYPE_LINE LV_CHART_TYPE_NONE LV_CHART_TYPE_SCATTER +LV_CHART_TYPE_STACKED LV_CHART_UPDATE_MODE_CIRCULAR LV_CHART_UPDATE_MODE_SHIFT @@ -963,7 +973,6 @@ LV_CHART_UPDATE_MODE_SHIFT LV_DROPDOWN_POS_LAST // File: ../../lvgl/src/widgets/image/lv_image.h -LV_IMAGE_ALIGN_AUTO_TRANSFORM LV_IMAGE_ALIGN_BOTTOM_LEFT LV_IMAGE_ALIGN_BOTTOM_MID LV_IMAGE_ALIGN_BOTTOM_RIGHT diff --git a/lib/libesp32_lvgl/lv_binding_berry/mapping/lv_funcs.h b/lib/libesp32_lvgl/lv_binding_berry/mapping/lv_funcs.h index 24b7e2b77..b75b0f532 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/mapping/lv_funcs.h +++ b/lib/libesp32_lvgl/lv_binding_berry/mapping/lv_funcs.h @@ -76,6 +76,9 @@ bool lv_obj_has_class(const lv_obj_t * obj, const lv_obj_class_t * class_p) const lv_obj_class_t * lv_obj_get_class(const lv_obj_t * obj) bool lv_obj_is_valid(const lv_obj_t * obj) void lv_obj_null_on_delete(lv_obj_t ** obj_ptr) +void lv_obj_add_screen_load_event(lv_obj_t * obj, lv_event_code_t trigger, lv_obj_t * screen, lv_screen_load_anim_t anim_type, uint32_t duration, uint32_t delay) +void lv_obj_add_screen_create_event(lv_obj_t * obj, lv_event_code_t trigger, lv_screen_create_cb_t screen_create_cb, lv_screen_load_anim_t anim_type, uint32_t duration, uint32_t delay) +void lv_obj_add_play_timeline_event(lv_obj_t * obj, lv_event_code_t trigger, lv_anim_timeline_t * at, uint32_t delay, bool reverse) void lv_obj_set_id(lv_obj_t * obj, void * id) void * lv_obj_get_id(const lv_obj_t * obj) lv_obj_t * lv_obj_find_by_id(const lv_obj_t * obj, const void * id) @@ -214,6 +217,8 @@ void lv_obj_remove_style(lv_obj_t * obj, const lv_style_t * style, lv_style_sele void lv_obj_remove_style_all(lv_obj_t * obj) void lv_obj_report_style_change(lv_style_t * style) void lv_obj_refresh_style(lv_obj_t * obj, lv_part_t part, lv_style_prop_t prop) +void lv_obj_style_set_disabled(lv_obj_t * obj, const lv_style_t * style, lv_style_selector_t selector, bool dis) +bool lv_obj_style_get_disabled(lv_obj_t * obj, const lv_style_t * style, lv_style_selector_t selector) void lv_obj_enable_style_refresh(bool en) lv_style_value_t lv_obj_get_style_prop(const lv_obj_t * obj, lv_part_t part, lv_style_prop_t prop) bool lv_obj_has_style_prop(const lv_obj_t * obj, lv_style_selector_t selector, lv_style_prop_t prop) @@ -318,6 +323,7 @@ static inline lv_opa_t lv_obj_get_style_image_opa(const lv_obj_t * obj, lv_part_ static inline lv_color_t lv_obj_get_style_image_recolor(const lv_obj_t * obj, lv_part_t part) static inline lv_color_t lv_obj_get_style_image_recolor_filtered(const lv_obj_t * obj, lv_part_t part) static inline lv_opa_t lv_obj_get_style_image_recolor_opa(const lv_obj_t * obj, lv_part_t part) +static inline const lv_image_colorkey_t * lv_obj_get_style_image_colorkey(const lv_obj_t * obj, lv_part_t part) static inline int32_t lv_obj_get_style_line_width(const lv_obj_t * obj, lv_part_t part) static inline int32_t lv_obj_get_style_line_dash_width(const lv_obj_t * obj, lv_part_t part) static inline int32_t lv_obj_get_style_line_dash_gap(const lv_obj_t * obj, lv_part_t part) @@ -440,6 +446,7 @@ void lv_obj_set_style_shadow_opa(lv_obj_t * obj, lv_opa_t value, lv_style_select void lv_obj_set_style_image_opa(lv_obj_t * obj, lv_opa_t value, lv_style_selector_t selector) void lv_obj_set_style_image_recolor(lv_obj_t * obj, lv_color_t value, lv_style_selector_t selector) void lv_obj_set_style_image_recolor_opa(lv_obj_t * obj, lv_opa_t value, lv_style_selector_t selector) +void lv_obj_set_style_image_colorkey(lv_obj_t * obj, const lv_image_colorkey_t * value, lv_style_selector_t selector) void lv_obj_set_style_line_width(lv_obj_t * obj, int32_t value, lv_style_selector_t selector) void lv_obj_set_style_line_dash_width(lv_obj_t * obj, int32_t value, lv_style_selector_t selector) void lv_obj_set_style_line_dash_gap(lv_obj_t * obj, int32_t value, lv_style_selector_t selector) @@ -561,6 +568,7 @@ bool lv_display_get_antialiasing(lv_display_t * disp) bool lv_display_is_double_buffered(lv_display_t * disp) lv_obj_t * lv_display_get_screen_active(lv_display_t * disp) lv_obj_t * lv_display_get_screen_prev(lv_display_t * disp) +lv_obj_t * lv_display_get_screen_loading(lv_display_t * disp) lv_obj_t * lv_display_get_layer_top(lv_display_t * disp) lv_obj_t * lv_display_get_layer_sys(lv_display_t * disp) lv_obj_t * lv_display_get_layer_bottom(lv_display_t * disp) @@ -614,6 +622,7 @@ uint32_t lv_draw_get_unit_count(void) lv_draw_task_t * lv_draw_get_available_task(lv_layer_t * layer, lv_draw_task_t * t_prev, uint8_t draw_unit_id) lv_draw_task_t * lv_draw_get_next_available_task(lv_layer_t * layer, lv_draw_task_t * t_prev, uint8_t draw_unit_id) uint32_t lv_draw_get_dependent_count(lv_draw_task_t * t_check) +void lv_draw_unit_send_event(const char * name, lv_event_code_t code, void * param) void lv_layer_init(lv_layer_t * layer) void lv_layer_reset(lv_layer_t * layer) lv_layer_t * lv_draw_layer_create(lv_layer_t * parent_layer, lv_color_format_t color_format, const lv_area_t * area) @@ -752,6 +761,8 @@ void lv_qrcode_set_size(lv_obj_t * obj, int32_t size) void lv_qrcode_set_dark_color(lv_obj_t * obj, lv_color_t color) void lv_qrcode_set_light_color(lv_obj_t * obj, lv_color_t color) lv_result_t lv_qrcode_update(lv_obj_t * obj, const void * data, uint32_t data_len) +void lv_qrcode_set_data(lv_obj_t * obj, const char * data) +void lv_qrcode_set_quiet_zone(lv_obj_t * obj, bool enable) // ../../lvgl/src/lv_api_map_v8.h static inline uint32_t lv_task_handler(void) @@ -762,6 +773,10 @@ static inline void lv_obj_move_background(lv_obj_t * obj) // ../../lvgl/src/lv_api_map_v9_1.h +// ../../lvgl/src/lv_api_map_v9_2.h + +// ../../lvgl/src/lv_api_map_v9_3.h + // ../../lvgl/src/misc/lv_anim.h void lv_anim_init(lv_anim_t * a) void lv_anim_set_var(lv_anim_t * a, void * var) @@ -840,6 +855,8 @@ lv_color_t lv_color_hex(uint32_t c) lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) lv_color32_t lv_color32_make(uint8_t r, uint8_t g, uint8_t b, uint8_t a) lv_color_t lv_color_hex3(uint32_t c) +static inline bool lv_color_is_in_range(lv_color_t color, lv_color_t l_color, lv_color_t h_color) +static inline lv_color_t lv_color16_to_color(lv_color16_t c) uint16_t lv_color_to_u16(lv_color_t color) uint32_t lv_color_to_u32(lv_color_t color) uint16_t lv_color_16_16_mix(uint16_t c1, uint16_t c2, uint8_t mix) @@ -882,7 +899,9 @@ lv_event_code_t lv_event_get_code(lv_event_t * e) void * lv_event_get_param(lv_event_t * e) void * lv_event_get_user_data(lv_event_t * e) void lv_event_stop_bubbling(lv_event_t * e) +void lv_event_stop_trickling(lv_event_t * e) void lv_event_stop_processing(lv_event_t * e) +void lv_event_free_user_data_cb(lv_event_t * e) uint32_t lv_event_register_id(void) const char * lv_event_code_get_name(lv_event_code_t code) @@ -895,6 +914,7 @@ lv_color_t lv_palette_darken(lv_palette_t p, uint8_t lvl) void lv_style_init(lv_style_t * style) void lv_style_reset(lv_style_t * style) void lv_style_copy(lv_style_t * dst, const lv_style_t * src) +void lv_style_merge(lv_style_t * dst, const lv_style_t * src) static inline bool lv_style_is_const(const lv_style_t * style) lv_style_prop_t lv_style_register_prop(uint8_t flag) lv_style_prop_t lv_style_get_num_custom_props(void) @@ -984,6 +1004,7 @@ void lv_style_set_shadow_opa(lv_style_t * style, lv_opa_t value) void lv_style_set_image_opa(lv_style_t * style, lv_opa_t value) void lv_style_set_image_recolor(lv_style_t * style, lv_color_t value) void lv_style_set_image_recolor_opa(lv_style_t * style, lv_opa_t value) +void lv_style_set_image_colorkey(lv_style_t * style, const lv_image_colorkey_t * value) void lv_style_set_line_width(lv_style_t * style, int32_t value) void lv_style_set_line_dash_width(lv_style_t * style, int32_t value) void lv_style_set_line_dash_gap(lv_style_t * style, int32_t value) @@ -1040,9 +1061,6 @@ void lv_style_set_grid_cell_row_span(lv_style_t * style, int32_t value) // ../../lvgl/src/misc/lv_text.h void lv_text_get_size(lv_point_t * size_res, const char * text, const lv_font_t * font, int32_t letter_space, int32_t line_space, int32_t max_width, lv_text_flag_t flag) -int32_t lv_text_get_width(const char * txt, uint32_t length, const lv_font_t * font, int32_t letter_space) -int32_t lv_text_get_width_with_flags(const char * txt, uint32_t length, const lv_font_t * font, int32_t letter_space, lv_text_flag_t flags) -bool lv_text_is_cmd(lv_text_cmd_state_t * state, uint32_t c) // ../../lvgl/src/misc/lv_timer.h uint32_t lv_timer_handler(void) @@ -1109,6 +1127,8 @@ void lv_arc_set_rotation(lv_obj_t * obj, int32_t rotation) void lv_arc_set_mode(lv_obj_t * obj, lv_arc_mode_t type) void lv_arc_set_value(lv_obj_t * obj, int32_t value) void lv_arc_set_range(lv_obj_t * obj, int32_t min, int32_t max) +void lv_arc_set_min_value(lv_obj_t * obj, int32_t min) +void lv_arc_set_max_value(lv_obj_t * obj, int32_t max) void lv_arc_set_change_rate(lv_obj_t * obj, uint32_t rate) void lv_arc_set_knob_offset(lv_obj_t * obj, int32_t offset) lv_value_precise_t lv_arc_get_angle_start(lv_obj_t * obj) @@ -1124,11 +1144,38 @@ int32_t lv_arc_get_knob_offset(const lv_obj_t * obj) void lv_arc_align_obj_to_angle(const lv_obj_t * obj, lv_obj_t * obj_to_align, int32_t r_offset) void lv_arc_rotate_obj_to_angle(const lv_obj_t * obj, lv_obj_t * obj_to_rotate, int32_t r_offset) +// ../../lvgl/src/widgets/arclabel/lv_arclabel.h +lv_obj_t * lv_arclabel_create(lv_obj_t * parent) +void lv_arclabel_set_text(lv_obj_t * obj, const char * text) +void lv_arclabel_set_text_fmt(lv_obj_t * obj, const char * fmt, ...) LV_FORMAT_ATTRIBUTE(2, 3) +void lv_arclabel_set_text_static(lv_obj_t * obj, const char * text) +void lv_arclabel_set_angle_start(lv_obj_t * obj, lv_value_precise_t start) +void lv_arclabel_set_angle_size(lv_obj_t * obj, lv_value_precise_t size) +void lv_arclabel_set_offset(lv_obj_t * obj, int32_t offset) +void lv_arclabel_set_dir(lv_obj_t * obj, lv_arclabel_dir_t dir) +void lv_arclabel_set_recolor(lv_obj_t * obj, bool en) +void lv_arclabel_set_radius(lv_obj_t * obj, uint32_t radius) +void lv_arclabel_set_center_offset_x(lv_obj_t * obj, uint32_t x) +void lv_arclabel_set_center_offset_y(lv_obj_t * obj, uint32_t y) +void lv_arclabel_set_text_vertical_align(lv_obj_t * obj, lv_arclabel_text_align_t align) +void lv_arclabel_set_text_horizontal_align(lv_obj_t * obj, lv_arclabel_text_align_t align) +lv_value_precise_t lv_arclabel_get_angle_start(lv_obj_t * obj) +lv_value_precise_t lv_arclabel_get_angle_size(lv_obj_t * obj) +lv_arclabel_dir_t lv_arclabel_get_dir(const lv_obj_t * obj) +bool lv_arclabel_get_recolor(lv_obj_t * obj) +uint32_t lv_arclabel_get_radius(lv_obj_t * obj) +uint32_t lv_arclabel_get_center_offset_x(lv_obj_t * obj) +uint32_t lv_arclabel_get_center_offset_y(lv_obj_t * obj) +lv_arclabel_text_align_t lv_arclabel_get_text_vertical_align(lv_obj_t * obj) +lv_arclabel_text_align_t lv_arclabel_get_text_horizontal_align(lv_obj_t * obj) + // ../../lvgl/src/widgets/bar/lv_bar.h lv_obj_t * lv_bar_create(lv_obj_t * parent) void lv_bar_set_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim) void lv_bar_set_start_value(lv_obj_t * obj, int32_t start_value, lv_anim_enable_t anim) void lv_bar_set_range(lv_obj_t * obj, int32_t min, int32_t max) +void lv_bar_set_min_value(lv_obj_t * obj, int32_t min) +void lv_bar_set_max_value(lv_obj_t * obj, int32_t max) void lv_bar_set_mode(lv_obj_t * obj, lv_bar_mode_t mode) void lv_bar_set_orientation(lv_obj_t * obj, lv_bar_orientation_t orientation) int32_t lv_bar_get_value(const lv_obj_t * obj) @@ -1162,7 +1209,12 @@ bool lv_buttonmatrix_get_one_checked(const lv_obj_t * obj) // ../../lvgl/src/widgets/calendar/lv_calendar.h lv_obj_t * lv_calendar_create(lv_obj_t * parent) void lv_calendar_set_today_date(lv_obj_t * obj, uint32_t year, uint32_t month, uint32_t day) +void lv_calendar_set_today_year(lv_obj_t * obj, uint32_t year) +void lv_calendar_set_today_month(lv_obj_t * obj, uint32_t month) +void lv_calendar_set_today_day(lv_obj_t * obj, uint32_t day) void lv_calendar_set_month_shown(lv_obj_t * obj, uint32_t year, uint32_t month) +void lv_calendar_set_shown_year(lv_obj_t * obj, uint32_t year) +void lv_calendar_set_shown_month(lv_obj_t * obj, uint32_t month) void lv_calendar_set_highlighted_dates(lv_obj_t * obj, lv_calendar_date_t highlighted[], size_t date_num) void lv_calendar_set_day_names(lv_obj_t * obj, const char ** day_names) lv_obj_t * lv_calendar_get_btnmatrix(const lv_obj_t * obj) @@ -1205,8 +1257,12 @@ lv_obj_t * lv_chart_create(lv_obj_t * parent) void lv_chart_set_type(lv_obj_t * obj, lv_chart_type_t type) void lv_chart_set_point_count(lv_obj_t * obj, uint32_t cnt) void lv_chart_set_axis_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max) +void lv_chart_set_axis_min_value(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min) +void lv_chart_set_axis_max_value(lv_obj_t * obj, lv_chart_axis_t axis, int32_t max) void lv_chart_set_update_mode(lv_obj_t * obj, lv_chart_update_mode_t update_mode) -void lv_chart_set_div_line_count(lv_obj_t * obj, uint8_t hdiv, uint8_t vdiv) +void lv_chart_set_div_line_count(lv_obj_t * obj, uint32_t hdiv, uint32_t vdiv) +void lv_chart_set_hor_div_line_count(lv_obj_t * obj, uint32_t cnt) +void lv_chart_set_ver_div_line_count(lv_obj_t * obj, uint32_t cnt) lv_chart_type_t lv_chart_get_type(const lv_obj_t * obj) uint32_t lv_chart_get_point_count(const lv_obj_t * obj) uint32_t lv_chart_get_x_start_point(const lv_obj_t * obj, lv_chart_series_t * ser) @@ -1220,6 +1276,7 @@ lv_color_t lv_chart_get_series_color(lv_obj_t * chart, const lv_chart_series_t * void lv_chart_set_x_start_point(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id) lv_chart_series_t * lv_chart_get_series_next(const lv_obj_t * chart, const lv_chart_series_t * ser) lv_chart_cursor_t * lv_chart_add_cursor(lv_obj_t * obj, lv_color_t color, lv_dir_t dir) +void lv_chart_remove_cursor(lv_obj_t * obj, lv_chart_cursor_t * cursor) void lv_chart_set_cursor_pos(lv_obj_t * chart, lv_chart_cursor_t * cursor, lv_point_t * pos) void lv_chart_set_cursor_pos_x(lv_obj_t * chart, lv_chart_cursor_t * cursor, int32_t x) void lv_chart_set_cursor_pos_y(lv_obj_t * chart, lv_chart_cursor_t * cursor, int32_t y) @@ -1277,6 +1334,8 @@ void lv_image_set_offset_x(lv_obj_t * obj, int32_t x) void lv_image_set_offset_y(lv_obj_t * obj, int32_t y) void lv_image_set_rotation(lv_obj_t * obj, int32_t angle) void lv_image_set_pivot(lv_obj_t * obj, int32_t x, int32_t y) +void lv_image_set_pivot_x(lv_obj_t * obj, int32_t x) +void lv_image_set_pivot_y(lv_obj_t * obj, int32_t y) void lv_image_set_scale(lv_obj_t * obj, uint32_t zoom) void lv_image_set_scale_x(lv_obj_t * obj, uint32_t zoom) void lv_image_set_scale_y(lv_obj_t * obj, uint32_t zoom) @@ -1323,6 +1382,7 @@ const char * lv_keyboard_get_button_text(const lv_obj_t * obj, uint32_t btn_id) lv_obj_t * lv_label_create(lv_obj_t * parent) void lv_label_set_text(lv_obj_t * obj, const char * text) void lv_label_set_text_fmt(lv_obj_t * obj, const char * fmt, ...) LV_FORMAT_ATTRIBUTE(2, 3) +void lv_label_set_text_vfmt(lv_obj_t * obj, const char * fmt, va_list args) void lv_label_set_text_static(lv_obj_t * obj, const char * text) void lv_label_set_long_mode(lv_obj_t * obj, lv_label_long_mode_t long_mode) void lv_label_set_text_selection_start(lv_obj_t * obj, uint32_t index) @@ -1414,6 +1474,7 @@ uint32_t lv_roller_get_selected(const lv_obj_t * obj) void lv_roller_get_selected_str(const lv_obj_t * obj, char * buf, uint32_t buf_size) const char * lv_roller_get_options(const lv_obj_t * obj) uint32_t lv_roller_get_option_count(const lv_obj_t * obj) +lv_result_t lv_roller_get_option_str(const lv_obj_t * obj, uint32_t option, char * buf, uint32_t buf_size) // ../../lvgl/src/widgets/scale/lv_scale.h lv_obj_t * lv_scale_create(lv_obj_t * parent) @@ -1422,6 +1483,8 @@ void lv_scale_set_total_tick_count(lv_obj_t * obj, uint32_t total_tick_count) void lv_scale_set_major_tick_every(lv_obj_t * obj, uint32_t major_tick_every) void lv_scale_set_label_show(lv_obj_t * obj, bool show_label) void lv_scale_set_range(lv_obj_t * obj, int32_t min, int32_t max) +void lv_scale_set_min_value(lv_obj_t * obj, int32_t min) +void lv_scale_set_max_value(lv_obj_t * obj, int32_t max) void lv_scale_set_angle_range(lv_obj_t * obj, uint32_t angle_range) void lv_scale_set_rotation(lv_obj_t * obj, int32_t rotation) void lv_scale_set_line_needle_value(lv_obj_t * obj, lv_obj_t * needle_line, int32_t needle_length, int32_t value) @@ -1432,6 +1495,8 @@ void lv_scale_set_draw_ticks_on_top(lv_obj_t * obj, bool en) lv_scale_section_t * lv_scale_add_section(lv_obj_t * obj) void lv_scale_section_set_range(lv_scale_section_t * section, int32_t min, int32_t max) void lv_scale_set_section_range(lv_obj_t * scale, lv_scale_section_t * section, int32_t min, int32_t max) +void lv_scale_set_section_min_value(lv_obj_t * scale, lv_scale_section_t * section, int32_t min) +void lv_scale_set_section_max_value(lv_obj_t * scale, lv_scale_section_t * section, int32_t max) void lv_scale_section_set_style(lv_scale_section_t * section, lv_part_t part, lv_style_t * section_part_style) void lv_scale_set_section_style_main(lv_obj_t * scale, lv_scale_section_t * section, const lv_style_t * style) void lv_scale_set_section_style_indicator(lv_obj_t * scale, lv_scale_section_t * section, const lv_style_t * style) @@ -1450,6 +1515,8 @@ lv_obj_t * lv_slider_create(lv_obj_t * parent) void lv_slider_set_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim) void lv_slider_set_start_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim) void lv_slider_set_range(lv_obj_t * obj, int32_t min, int32_t max) +void lv_slider_set_min_value(lv_obj_t * obj, int32_t min) +void lv_slider_set_max_value(lv_obj_t * obj, int32_t max) void lv_slider_set_mode(lv_obj_t * obj, lv_slider_mode_t mode) void lv_slider_set_orientation(lv_obj_t * obj, lv_slider_orientation_t orientation) int32_t lv_slider_get_value(const lv_obj_t * obj) @@ -1468,9 +1535,11 @@ lv_obj_t * lv_spangroup_create(lv_obj_t * parent) lv_span_t * lv_spangroup_add_span(lv_obj_t * obj) void lv_spangroup_delete_span(lv_obj_t * obj, lv_span_t * span) void lv_span_set_text(lv_span_t * span, const char * text) +void lv_span_set_text_fmt(lv_span_t * span, const char * fmt, ...) LV_FORMAT_ATTRIBUTE(2, 3) void lv_span_set_text_static(lv_span_t * span, const char * text) void lv_spangroup_set_span_text(lv_obj_t * obj, lv_span_t * span, const char * text) void lv_spangroup_set_span_text_static(lv_obj_t * obj, lv_span_t * span, const char * text) +void lv_spangroup_set_span_text_fmt(lv_obj_t * obj, lv_span_t * span, const char * fmt, ...) LV_FORMAT_ATTRIBUTE(3, 4) void lv_span_set_text_static(lv_span_t * span, const char * text) void lv_spangroup_set_span_style(lv_obj_t * obj, lv_span_t * span, const lv_style_t * style) void lv_spangroup_set_align(lv_obj_t * obj, lv_text_align_t align) @@ -1499,8 +1568,12 @@ lv_obj_t * lv_spinbox_create(lv_obj_t * parent) void lv_spinbox_set_value(lv_obj_t * obj, int32_t v) void lv_spinbox_set_rollover(lv_obj_t * obj, bool rollover) void lv_spinbox_set_digit_format(lv_obj_t * obj, uint32_t digit_count, uint32_t sep_pos) +void lv_spinbox_set_digit_count(lv_obj_t * obj, uint32_t digit_count) +void lv_spinbox_set_dec_point_pos(lv_obj_t * obj, uint32_t dec_point_pos) void lv_spinbox_set_step(lv_obj_t * obj, uint32_t step) -void lv_spinbox_set_range(lv_obj_t * obj, int32_t range_min, int32_t range_max) +void lv_spinbox_set_range(lv_obj_t * obj, int32_t min_value, int32_t max_value) +void lv_spinbox_set_min_value(lv_obj_t * obj, int32_t min_value) +void lv_spinbox_set_max_value(lv_obj_t * obj, int32_t max_value) void lv_spinbox_set_cursor_pos(lv_obj_t * obj, uint32_t pos) void lv_spinbox_set_digit_step_direction(lv_obj_t * obj, lv_dir_t direction) bool lv_spinbox_get_rollover(lv_obj_t * obj) @@ -1548,6 +1621,7 @@ void lv_tabview_set_tab_bar_position(lv_obj_t * obj, lv_dir_t dir) void lv_tabview_set_tab_bar_size(lv_obj_t * obj, int32_t size) uint32_t lv_tabview_get_tab_count(lv_obj_t * obj) uint32_t lv_tabview_get_tab_active(lv_obj_t * obj) +lv_obj_t * lv_tabview_get_tab_button(lv_obj_t * obj, int32_t idx) lv_obj_t * lv_tabview_get_content(lv_obj_t * obj) lv_obj_t * lv_tabview_get_tab_bar(lv_obj_t * obj) diff --git a/lib/libesp32_lvgl/lv_binding_berry/src/be_lvgl_ctypes_definitions.c b/lib/libesp32_lvgl/lv_binding_berry/src/be_lvgl_ctypes_definitions.c index c4fdb10fb..7163ea0a4 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/src/be_lvgl_ctypes_definitions.c +++ b/lib/libesp32_lvgl/lv_binding_berry/src/be_lvgl_ctypes_definitions.c @@ -51,16 +51,6 @@ const be_ctypes_structure_t be_lv_grad_stop = { { "opa", 3, 0, 0, ctypes_u8, 0 }, }}; -const be_ctypes_structure_t be_lv_gradient_stop = { - 8, /* size in bytes */ - 3, /* number of elements */ - be_ctypes_instance_mappings, - (const be_ctypes_structure_item_t[3]) { - { "color", 0, 0, 0, ctypes_u24, 1 }, - { "frac", 4, 0, 0, ctypes_u8, 0 }, - { "opa", 3, 0, 0, ctypes_u8, 0 }, -}}; - const be_ctypes_structure_t be_lv_grad_dsc = { 12, /* size in bytes */ 9, /* number of elements */ @@ -93,9 +83,9 @@ const be_ctypes_structure_t be_lv_draw_dsc_base = { const be_ctypes_structure_t be_lv_draw_rect_dsc = { 112, /* size in bytes */ - 40, /* number of elements */ + 41, /* number of elements */ be_ctypes_instance_mappings, - (const be_ctypes_structure_item_t[40]) { + (const be_ctypes_structure_item_t[41]) { { "base_dsc_size", 20, 0, 0, ctypes_u32, 0 }, { "base_id1", 8, 0, 0, ctypes_u32, 0 }, { "base_id2", 12, 0, 0, ctypes_u32, 0 }, @@ -103,39 +93,40 @@ const be_ctypes_structure_t be_lv_draw_rect_dsc = { { "base_obj", 0, 0, 0, ctypes_ptr32, 0 }, { "base_part", 4, 0, 0, ctypes_u32, 0 }, { "base_user_data", 24, 0, 0, ctypes_ptr32, 0 }, - { "bg_color", 33, 0, 0, ctypes_u24, 1 }, - { "bg_grad_dir", 47, 0, 4, ctypes_bf, 0 }, - { "bg_grad_extend", 47, 4, 3, ctypes_bf, 0 }, - { "bg_grad_stops_0_color", 36, 0, 0, ctypes_u24, 1 }, - { "bg_grad_stops_0_frac", 40, 0, 0, ctypes_u8, 0 }, - { "bg_grad_stops_0_opa", 39, 0, 0, ctypes_u8, 0 }, - { "bg_grad_stops_1_color", 41, 0, 0, ctypes_u24, 1 }, - { "bg_grad_stops_1_frac", 45, 0, 0, ctypes_u8, 0 }, - { "bg_grad_stops_1_opa", 44, 0, 0, ctypes_u8, 0 }, - { "bg_grad_stops_count", 46, 0, 0, ctypes_u8, 0 }, - { "bg_img_opa", 59, 0, 0, ctypes_u8, 0 }, - { "bg_img_recolor", 56, 0, 0, ctypes_u24, 1 }, - { "bg_img_recolor_opa", 60, 0, 0, ctypes_u8, 0 }, - { "bg_img_src", 48, 0, 0, ctypes_ptr32, 0 }, - { "bg_img_symbol_font", 52, 0, 0, ctypes_ptr32, 0 }, - { "bg_img_tiled", 61, 0, 0, ctypes_u8, 0 }, - { "bg_opa", 32, 0, 0, ctypes_u8, 0 }, - { "border_color", 62, 0, 0, ctypes_u24, 1 }, - { "border_opa", 72, 0, 0, ctypes_u8, 0 }, - { "border_post", 73, 5, 1, ctypes_bf, 0 }, - { "border_side", 73, 0, 5, ctypes_bf, 0 }, - { "border_width", 68, 0, 0, ctypes_i32, 0 }, - { "outline_color", 74, 0, 0, ctypes_u24, 1 }, - { "outline_opa", 88, 0, 0, ctypes_u8, 0 }, - { "outline_pad", 84, 0, 0, ctypes_i32, 0 }, - { "outline_width", 80, 0, 0, ctypes_i32, 0 }, + { "bg_color", 56, 0, 0, ctypes_u24, 1 }, + { "bg_grad_dir", 71, 0, 4, ctypes_bf, 0 }, + { "bg_grad_extend", 71, 4, 3, ctypes_bf, 0 }, + { "bg_grad_stops_0_color", 60, 0, 0, ctypes_u24, 1 }, + { "bg_grad_stops_0_frac", 64, 0, 0, ctypes_u8, 0 }, + { "bg_grad_stops_0_opa", 63, 0, 0, ctypes_u8, 0 }, + { "bg_grad_stops_1_color", 65, 0, 0, ctypes_u24, 1 }, + { "bg_grad_stops_1_frac", 69, 0, 0, ctypes_u8, 0 }, + { "bg_grad_stops_1_opa", 68, 0, 0, ctypes_u8, 0 }, + { "bg_grad_stops_count", 70, 0, 0, ctypes_u8, 0 }, + { "bg_image_colorkey", 52, 0, 0, ctypes_ptr32, 0 }, + { "bg_img_opa", 43, 0, 0, ctypes_u8, 0 }, + { "bg_img_recolor", 40, 0, 0, ctypes_u24, 1 }, + { "bg_img_recolor_opa", 44, 0, 0, ctypes_u8, 0 }, + { "bg_img_src", 32, 0, 0, ctypes_ptr32, 0 }, + { "bg_img_symbol_font", 36, 0, 0, ctypes_ptr32, 0 }, + { "bg_img_tiled", 45, 0, 0, ctypes_u8, 0 }, + { "bg_opa", 46, 0, 0, ctypes_u8, 0 }, + { "border_color", 72, 0, 0, ctypes_u24, 1 }, + { "border_opa", 47, 0, 0, ctypes_u8, 0 }, + { "border_post", 80, 5, 1, ctypes_bf, 0 }, + { "border_side", 80, 0, 5, ctypes_bf, 0 }, + { "border_width", 76, 0, 0, ctypes_i32, 0 }, + { "outline_color", 81, 0, 0, ctypes_u24, 1 }, + { "outline_opa", 48, 0, 0, ctypes_u8, 0 }, + { "outline_pad", 88, 0, 0, ctypes_i32, 0 }, + { "outline_width", 84, 0, 0, ctypes_i32, 0 }, { "radius", 28, 0, 0, ctypes_i32, 0 }, - { "shadow_color", 89, 0, 0, ctypes_u24, 1 }, - { "shadow_ofs_x", 96, 0, 0, ctypes_i32, 0 }, - { "shadow_ofs_y", 100, 0, 0, ctypes_i32, 0 }, - { "shadow_opa", 108, 0, 0, ctypes_u8, 0 }, - { "shadow_spread", 104, 0, 0, ctypes_i32, 0 }, - { "shadow_width", 92, 0, 0, ctypes_i32, 0 }, + { "shadow_color", 92, 0, 0, ctypes_u24, 1 }, + { "shadow_ofs_x", 100, 0, 0, ctypes_i32, 0 }, + { "shadow_ofs_y", 104, 0, 0, ctypes_i32, 0 }, + { "shadow_opa", 49, 0, 0, ctypes_u8, 0 }, + { "shadow_spread", 108, 0, 0, ctypes_i32, 0 }, + { "shadow_width", 96, 0, 0, ctypes_i32, 0 }, }}; const be_ctypes_structure_t be_lv_draw_line_dsc = { @@ -165,7 +156,7 @@ const be_ctypes_structure_t be_lv_draw_line_dsc = { }}; const be_ctypes_structure_t be_lv_draw_arc_dsc = { - 64, /* size in bytes */ + 60, /* size in bytes */ 17, /* number of elements */ be_ctypes_instance_mappings, (const be_ctypes_structure_item_t[17]) { @@ -180,10 +171,10 @@ const be_ctypes_structure_t be_lv_draw_arc_dsc = { { "center_y", 48, 0, 0, ctypes_i32, 0 }, { "color", 28, 0, 0, ctypes_u24, 1 }, { "end_angle", 40, 0, 0, ctypes_i32, 0 }, - { "img_src", 56, 0, 0, ctypes_ptr32, 0 }, - { "opa", 60, 0, 0, ctypes_u8, 0 }, - { "radius", 52, 0, 0, ctypes_u16, 0 }, - { "rounded", 61, 0, 1, ctypes_bf, 0 }, + { "img_src", 52, 0, 0, ctypes_ptr32, 0 }, + { "opa", 58, 0, 0, ctypes_u8, 0 }, + { "radius", 56, 0, 0, ctypes_u16, 0 }, + { "rounded", 59, 0, 1, ctypes_bf, 0 }, { "start_angle", 36, 0, 0, ctypes_i32, 0 }, { "width", 32, 0, 0, ctypes_i32, 0 }, }}; @@ -203,10 +194,10 @@ const be_ctypes_structure_t be_lv_image_header = { }}; const be_ctypes_structure_t be_lv_draw_image_dsc = { - 108, /* size in bytes */ - 35, /* number of elements */ + 112, /* size in bytes */ + 36, /* number of elements */ be_ctypes_instance_mappings, - (const be_ctypes_structure_item_t[35]) { + (const be_ctypes_structure_item_t[36]) { { "antialias", 81, 4, 1, ctypes_bf, 0 }, { "base_dsc_size", 20, 0, 0, ctypes_u32, 0 }, { "base_id1", 8, 0, 0, ctypes_u32, 0 }, @@ -215,7 +206,7 @@ const be_ctypes_structure_t be_lv_draw_image_dsc = { { "base_obj", 0, 0, 0, ctypes_ptr32, 0 }, { "base_part", 4, 0, 0, ctypes_u32, 0 }, { "base_user_data", 24, 0, 0, ctypes_ptr32, 0 }, - { "bitmap_mask_src", 104, 0, 0, ctypes_ptr32, 0 }, + { "bitmap_mask_src", 108, 0, 0, ctypes_ptr32, 0 }, { "blend_mode", 81, 0, 4, ctypes_bf, 0 }, { "clip_radius", 44, 0, 0, ctypes_i32, 0 }, { "header_cf", 33, 0, 0, ctypes_u8, 0 }, @@ -225,10 +216,11 @@ const be_ctypes_structure_t be_lv_draw_image_dsc = { { "header_reserved_2", 42, 0, 0, ctypes_u16, 0 }, { "header_stride", 40, 0, 0, ctypes_u16, 0 }, { "header_w", 36, 0, 0, ctypes_u16, 0 }, - { "image_area_x1", 88, 0, 0, ctypes_i32, 0 }, - { "image_area_x2", 96, 0, 0, ctypes_i32, 0 }, - { "image_area_y1", 92, 0, 0, ctypes_i32, 0 }, - { "image_area_y2", 100, 0, 0, ctypes_i32, 0 }, + { "image_area_x1", 92, 0, 0, ctypes_i32, 0 }, + { "image_area_x2", 100, 0, 0, ctypes_i32, 0 }, + { "image_area_y1", 96, 0, 0, ctypes_i32, 0 }, + { "image_area_y2", 104, 0, 0, ctypes_i32, 0 }, + { "lv_image_colorkey_t", 84, 0, 0, ctypes_ptr32, 0 }, { "opa", 80, 0, 0, ctypes_u8, 0 }, { "pivot_x", 68, 0, 0, ctypes_i32, 0 }, { "pivot_y", 72, 0, 0, ctypes_i32, 0 }, @@ -240,7 +232,7 @@ const be_ctypes_structure_t be_lv_draw_image_dsc = { { "skew_x", 60, 0, 0, ctypes_i32, 0 }, { "skew_y", 64, 0, 0, ctypes_i32, 0 }, { "src", 28, 0, 0, ctypes_ptr32, 0 }, - { "sup", 84, 0, 0, ctypes_ptr32, 0 }, + { "sup", 88, 0, 0, ctypes_ptr32, 0 }, { "tile", 81, 5, 1, ctypes_bf, 0 }, }}; @@ -249,7 +241,7 @@ const be_ctypes_structure_t be_lv_draw_label_dsc = { 35, /* number of elements */ be_ctypes_instance_mappings, (const be_ctypes_structure_item_t[35]) { - { "align", 89, 0, 0, ctypes_u8, 0 }, + { "align", 88, 0, 0, ctypes_u8, 0 }, { "base_dsc_size", 20, 0, 0, ctypes_u32, 0 }, { "base_id1", 8, 0, 0, ctypes_u32, 0 }, { "base_id2", 12, 0, 0, ctypes_u32, 0 }, @@ -257,21 +249,21 @@ const be_ctypes_structure_t be_lv_draw_label_dsc = { { "base_obj", 0, 0, 0, ctypes_ptr32, 0 }, { "base_part", 4, 0, 0, ctypes_u32, 0 }, { "base_user_data", 24, 0, 0, ctypes_ptr32, 0 }, - { "bidi_dir", 90, 0, 0, ctypes_u8, 0 }, - { "blend_mode", 93, 0, 3, ctypes_bf, 0 }, + { "bidi_dir", 89, 0, 0, ctypes_u8, 0 }, + { "blend_mode", 94, 0, 3, ctypes_bf, 0 }, { "color", 44, 0, 0, ctypes_u24, 1 }, - { "decor", 92, 0, 3, ctypes_bf, 0 }, - { "flag", 92, 3, 5, ctypes_bf, 0 }, + { "decor", 93, 0, 3, ctypes_bf, 0 }, + { "flag", 93, 3, 5, ctypes_bf, 0 }, { "font", 40, 0, 0, ctypes_ptr32, 0 }, - { "has_bided", 93, 5, 1, ctypes_bf, 0 }, + { "has_bided", 94, 5, 1, ctypes_bf, 0 }, { "hint", 96, 0, 0, ctypes_ptr32, 0 }, { "letter_space", 52, 0, 0, ctypes_i32, 0 }, { "line_space", 48, 0, 0, ctypes_i32, 0 }, { "ofs_x", 56, 0, 0, ctypes_i32, 0 }, { "ofs_y", 60, 0, 0, ctypes_i32, 0 }, - { "opa", 88, 0, 0, ctypes_u8, 0 }, - { "outline_stroke_color", 101, 0, 0, ctypes_u24, 1 }, - { "outline_stroke_opa", 100, 0, 0, ctypes_u8, 0 }, + { "opa", 90, 0, 0, ctypes_u8, 0 }, + { "outline_stroke_color", 100, 0, 0, ctypes_u24, 1 }, + { "outline_stroke_opa", 91, 0, 0, ctypes_u8, 0 }, { "outline_stroke_width", 104, 0, 0, ctypes_i32, 0 }, { "rotation", 64, 0, 0, ctypes_i32, 0 }, { "sel_bg_color", 79, 0, 0, ctypes_u24, 1 }, @@ -280,10 +272,10 @@ const be_ctypes_structure_t be_lv_draw_label_dsc = { { "sel_start", 68, 0, 0, ctypes_u32, 0 }, { "text", 28, 0, 0, ctypes_ptr32, 0 }, { "text_length", 84, 0, 0, ctypes_u32, 0 }, - { "text_local", 93, 3, 1, ctypes_bf, 0 }, + { "text_local", 94, 3, 1, ctypes_bf, 0 }, { "text_size_x", 32, 0, 0, ctypes_i32, 0 }, { "text_size_y", 36, 0, 0, ctypes_i32, 0 }, - { "text_static", 93, 4, 1, ctypes_bf, 0 }, + { "text_static", 94, 4, 1, ctypes_bf, 0 }, }}; const be_ctypes_structure_t be_lv_chart_series = { @@ -337,9 +329,9 @@ const be_ctypes_structure_t be_lv_obj_class = { const be_ctypes_structure_t be_lv_event = { 28, /* size in bytes */ - 9, /* number of elements */ + 10, /* number of elements */ be_ctypes_instance_mappings, - (const be_ctypes_structure_item_t[9]) { + (const be_ctypes_structure_item_t[10]) { { "code", 8, 0, 0, ctypes_i32, 0 }, { "current_target", 0, 0, 0, ctypes_ptr32, 0 }, { "deleted", 24, 0, 1, ctypes_bf, 0 }, @@ -348,6 +340,7 @@ const be_ctypes_structure_t be_lv_event = { { "prev", 20, 0, 0, ctypes_ptr32, 0 }, { "stop_bubbling", 24, 2, 1, ctypes_bf, 0 }, { "stop_processing", 24, 1, 1, ctypes_bf, 0 }, + { "stop_trickling", 24, 3, 1, ctypes_bf, 0 }, { "user_data", 12, 0, 0, ctypes_ptr32, 0 }, }}; @@ -381,32 +374,46 @@ const be_ctypes_structure_t be_lv_style_transition_dsc = { { "user_data", 4, 0, 0, ctypes_ptr32, 0 }, }}; +const be_ctypes_structure_t be_lv_anim_timeline_dsc = { + 28, /* size in bytes */ + 7, /* number of elements */ + be_ctypes_instance_mappings, + (const be_ctypes_structure_item_t[7]) { + { "act_time", 8, 0, 0, ctypes_u32, 0 }, + { "anim_dsc", 0, 0, 0, ctypes_ptr32, 0 }, + { "anim_dsc_cnt", 4, 0, 0, ctypes_u32, 0 }, + { "delay", 12, 0, 0, ctypes_u32, 0 }, + { "repeat_count", 16, 0, 0, ctypes_u32, 0 }, + { "repeat_delay", 20, 0, 0, ctypes_u32, 0 }, + { "user_data", 24, 0, 0, ctypes_ptr32, 0 }, +}}; + const be_ctypes_structure_t be_lv_layer = { 84, /* size in bytes */ 21, /* number of elements */ be_ctypes_instance_mappings, (const be_ctypes_structure_item_t[21]) { - { "_clip_area_x1", 24, 0, 0, ctypes_i32, 0 }, - { "_clip_area_x2", 32, 0, 0, ctypes_i32, 0 }, - { "_clip_area_y1", 28, 0, 0, ctypes_i32, 0 }, - { "_clip_area_y2", 36, 0, 0, ctypes_i32, 0 }, - { "buf_area_x1", 4, 0, 0, ctypes_i32, 0 }, - { "buf_area_x2", 12, 0, 0, ctypes_i32, 0 }, - { "buf_area_y1", 8, 0, 0, ctypes_i32, 0 }, - { "buf_area_y2", 16, 0, 0, ctypes_i32, 0 }, - { "color_format", 20, 0, 0, ctypes_u32, 0 }, + { "_clip_area_x1", 52, 0, 0, ctypes_i32, 0 }, + { "_clip_area_x2", 60, 0, 0, ctypes_i32, 0 }, + { "_clip_area_y1", 56, 0, 0, ctypes_i32, 0 }, + { "_clip_area_y2", 64, 0, 0, ctypes_i32, 0 }, + { "buf_area_x1", 20, 0, 0, ctypes_i32, 0 }, + { "buf_area_x2", 28, 0, 0, ctypes_i32, 0 }, + { "buf_area_y1", 24, 0, 0, ctypes_i32, 0 }, + { "buf_area_y2", 32, 0, 0, ctypes_i32, 0 }, + { "color_format", 76, 0, 0, ctypes_u32, 0 }, { "draw_buf", 0, 0, 0, ctypes_ptr32, 0 }, - { "draw_task_head", 68, 0, 0, ctypes_ptr32, 0 }, - { "next", 76, 0, 0, ctypes_ptr32, 0 }, - { "opa", 56, 0, 0, ctypes_u8, 0 }, - { "parent", 72, 0, 0, ctypes_ptr32, 0 }, - { "partial_y_offset", 64, 0, 0, ctypes_i32, 0 }, - { "phy_clip_area_x1", 40, 0, 0, ctypes_i32, 0 }, - { "phy_clip_area_x2", 48, 0, 0, ctypes_i32, 0 }, - { "phy_clip_area_y1", 44, 0, 0, ctypes_i32, 0 }, - { "phy_clip_area_y2", 52, 0, 0, ctypes_i32, 0 }, - { "recolor", 60, 0, 0, ctypes_u32, 0 }, - { "user_data", 80, 0, 0, ctypes_ptr32, 0 }, + { "draw_task_head", 4, 0, 0, ctypes_ptr32, 0 }, + { "next", 12, 0, 0, ctypes_ptr32, 0 }, + { "opa", 80, 0, 0, ctypes_u8, 0 }, + { "parent", 8, 0, 0, ctypes_ptr32, 0 }, + { "partial_y_offset", 68, 0, 0, ctypes_i32, 0 }, + { "phy_clip_area_x1", 36, 0, 0, ctypes_i32, 0 }, + { "phy_clip_area_x2", 44, 0, 0, ctypes_i32, 0 }, + { "phy_clip_area_y1", 40, 0, 0, ctypes_i32, 0 }, + { "phy_clip_area_y2", 48, 0, 0, ctypes_i32, 0 }, + { "recolor", 72, 0, 0, ctypes_u32, 0 }, + { "user_data", 16, 0, 0, ctypes_ptr32, 0 }, }}; const be_ctypes_structure_t be_lv_color_filter_dsc = { @@ -419,13 +426,13 @@ const be_ctypes_structure_t be_lv_color_filter_dsc = { }}; const be_ctypes_structure_t be_lv_timer_ntv = { - 24, /* size in bytes */ + 28, /* size in bytes */ 7, /* number of elements */ be_ctypes_instance_mappings, (const be_ctypes_structure_item_t[7]) { - { "auto_delete", 20, 1, 1, ctypes_bf, 0 }, + { "auto_delete", 24, 0, 1, ctypes_bf, 0 }, { "last_run", 4, 0, 0, ctypes_u32, 0 }, - { "paused", 20, 0, 1, ctypes_bf, 0 }, + { "paused", 20, 0, 0, ctypes_i32, 0 }, { "period", 0, 0, 0, ctypes_u32, 0 }, { "repeat_count", 16, 0, 0, ctypes_i32, 0 }, { "timer_cb", 8, 0, 0, ctypes_ptr32, 0 }, @@ -498,7 +505,7 @@ const be_ctypes_structure_t be_lv_draw_letter_dsc = { { "base_obj", 0, 0, 0, ctypes_ptr32, 0 }, { "base_part", 4, 0, 0, ctypes_u32, 0 }, { "base_user_data", 24, 0, 0, ctypes_ptr32, 0 }, - { "blend_mode", 69, 3, 3, ctypes_bf, 0 }, + { "blend_mode", 69, 3, 4, ctypes_bf, 0 }, { "color", 36, 0, 0, ctypes_u24, 1 }, { "decor", 69, 0, 3, ctypes_bf, 0 }, { "font", 32, 0, 0, ctypes_ptr32, 0 }, @@ -521,6 +528,7 @@ static const char * be_ctypes_instance_mappings[] = { NULL }; +static be_define_ctypes_class(lv_anim_timeline_dsc, &be_lv_anim_timeline_dsc, &be_class_ctypes_bytes, "lv_anim_timeline_dsc"); static be_define_ctypes_class(lv_area, &be_lv_area, &be_class_ctypes_bytes, "lv_area"); static be_define_ctypes_class(lv_chart_cursor, &be_lv_chart_cursor, &be_class_ctypes_bytes, "lv_chart_cursor"); static be_define_ctypes_class(lv_chart_series, &be_lv_chart_series, &be_class_ctypes_bytes, "lv_chart_series"); @@ -537,7 +545,6 @@ static be_define_ctypes_class(lv_event_dsc, &be_lv_event_dsc, &be_class_ctypes_b static be_define_ctypes_class(lv_font_info, &be_lv_font_info, &be_class_ctypes_bytes, "lv_font_info"); static be_define_ctypes_class(lv_grad_dsc, &be_lv_grad_dsc, &be_class_ctypes_bytes, "lv_grad_dsc"); static be_define_ctypes_class(lv_grad_stop, &be_lv_grad_stop, &be_class_ctypes_bytes, "lv_grad_stop"); -static be_define_ctypes_class(lv_gradient_stop, &be_lv_gradient_stop, &be_class_ctypes_bytes, "lv_gradient_stop"); static be_define_ctypes_class(lv_image_dsc, &be_lv_image_dsc, &be_class_ctypes_bytes, "lv_image_dsc"); static be_define_ctypes_class(lv_image_header, &be_lv_image_header, &be_class_ctypes_bytes, "lv_image_header"); static be_define_ctypes_class(lv_layer, &be_lv_layer, &be_class_ctypes_bytes, "lv_layer"); @@ -550,6 +557,7 @@ static be_define_ctypes_class(lv_timer_ntv, &be_lv_timer_ntv, &be_class_ctypes_b static be_define_ctypes_class(lv_ts_calibration, &be_lv_ts_calibration, &be_class_ctypes_bytes, "lv_ts_calibration"); be_ctypes_class_by_name_t be_ctypes_lvgl_classes[] = { + { "lv_anim_timeline_dsc", &be_class_lv_anim_timeline_dsc }, { "lv_area", &be_class_lv_area }, { "lv_chart_cursor", &be_class_lv_chart_cursor }, { "lv_chart_series", &be_class_lv_chart_series }, @@ -566,7 +574,6 @@ be_ctypes_class_by_name_t be_ctypes_lvgl_classes[] = { { "lv_font_info", &be_class_lv_font_info }, { "lv_grad_dsc", &be_class_lv_grad_dsc }, { "lv_grad_stop", &be_class_lv_grad_stop }, - { "lv_gradient_stop", &be_class_lv_gradient_stop }, { "lv_image_dsc", &be_class_lv_image_dsc }, { "lv_image_header", &be_class_lv_image_header }, { "lv_layer", &be_class_lv_layer }, diff --git a/lib/libesp32_lvgl/lv_binding_berry/src/embedded/lvgl_ctypes.py b/lib/libesp32_lvgl/lv_binding_berry/src/embedded/lvgl_ctypes.py index 148ab33d5..c10ffa39c 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/src/embedded/lvgl_ctypes.py +++ b/lib/libesp32_lvgl/lv_binding_berry/src/embedded/lvgl_ctypes.py @@ -52,7 +52,7 @@ int32_t = ct.i32 size_t = ct.u32 ptr = ct.ptr32 -lv_point = [ # valid LVGL93 +lv_point = [ # valid LVGL94 [int32_t, "x"], [int32_t, "y"], ] @@ -62,13 +62,13 @@ lv_point = ct.structure(lv_point, "lv_point") # lv_value_precise_t x; # lv_value_precise_t y; # } lv_point_precise_t; -lv_point_precise = [ # valid LVGL93 +lv_point_precise = [ # valid LVGL94 [lv_value_precise, "x"], [lv_value_precise, "y"], ] lv_point_precise = ct.structure(lv_point_precise, "lv_point_precise") -lv_area = [ # valid LVGL93 +lv_area = [ # valid LVGL94 [int32_t, "x1"], [int32_t, "y1"], [int32_t, "x2"], @@ -83,13 +83,12 @@ lv_area = ct.structure(lv_area, "lv_area") # lv_opa_t opa; /**< The opacity of the color*/ # uint8_t frac; /**< The stop position in 1/255 unit */ # } lv_grad_stop_t; -lv_gradient_stop = [ # valid LVGL93 +lv_grad_stop = [ # valid LVGL94 [lv_color, "color"], [lv_opa, "opa"], [uint8_t, "frac"], ] -lv_grad_stop = ct.structure(lv_gradient_stop, "lv_grad_stop") -lv_gradient_stop = ct.structure(lv_gradient_stop, "lv_gradient_stop") +lv_grad_stop = ct.structure(lv_grad_stop, "lv_grad_stop") # typedef struct { # lv_grad_stop_t stops[LV_GRADIENT_MAX_STOPS]; /**< A gradient stop array */ @@ -124,7 +123,7 @@ lv_gradient_stop = ct.structure(lv_gradient_stop, "lv_gradient_stop") # void * state; # #endif # } lv_grad_dsc_t; -lv_grad_dsc = [ # valid LVGL93 +lv_grad_dsc = [ # valid LVGL94 # since it's an array and not two structures, we need to explicitly unroll it here or the alignment is wrong # [lv_gradient_stop, "stops_0"], [lv_color, "stops_0_color"], @@ -164,7 +163,7 @@ lv_grad_dsc = ct.structure(lv_grad_dsc, "lv_grad_dsc") # /**Any custom user data*/ # void * user_data; # } lv_draw_dsc_base_t; -lv_draw_dsc_base = [ # valid LVGL93 +lv_draw_dsc_base = [ # valid LVGL94 [ptr, "obj"], [uint32_t, "part"], [uint32_t, "id1"], @@ -180,11 +179,6 @@ lv_draw_dsc_base = ct.structure(lv_draw_dsc_base, "lv_draw_dsc_base") # int32_t radius; -# /*Background*/ -# lv_opa_t bg_opa; -# lv_color_t bg_color; /**< First element of a gradient is a color, so it maps well here*/ -# lv_grad_dsc_t bg_grad; - # /*Background img*/ # const void * bg_image_src; # const void * bg_image_symbol_font; @@ -192,11 +186,24 @@ lv_draw_dsc_base = ct.structure(lv_draw_dsc_base, "lv_draw_dsc_base") # lv_opa_t bg_image_opa; # lv_opa_t bg_image_recolor_opa; # uint8_t bg_image_tiled; +# /*Background*/ +# lv_opa_t bg_opa; +# /*Border*/ +# lv_opa_t border_opa; +# /*Outline */ +# lv_opa_t outline_opa; +# /*Shadow*/ +# lv_opa_t shadow_opa; + +# /*Background*/ +# lv_color_t bg_color; /**< First element of a gradient is a color, so it maps well here*/ +# lv_grad_dsc_t bg_grad; + +# const lv_image_colorkey_t * bg_image_colorkey; # /*Border*/ # lv_color_t border_color; # int32_t border_width; -# lv_opa_t border_opa; # lv_border_side_t border_side : 5; # uint8_t border_post : 1; /*The border will be drawn later*/ @@ -204,7 +211,6 @@ lv_draw_dsc_base = ct.structure(lv_draw_dsc_base, "lv_draw_dsc_base") # lv_color_t outline_color; # int32_t outline_width; # int32_t outline_pad; -# lv_opa_t outline_opa; # /*Shadow*/ # lv_color_t shadow_color; @@ -212,18 +218,12 @@ lv_draw_dsc_base = ct.structure(lv_draw_dsc_base, "lv_draw_dsc_base") # int32_t shadow_offset_x; # int32_t shadow_offset_y; # int32_t shadow_spread; -# lv_opa_t shadow_opa; # } lv_draw_rect_dsc_t; -lv_draw_rect_dsc = [ # valid LVGL93 +lv_draw_rect_dsc = [ # valid LVGL94 [lv_draw_dsc_base, "base"], [int32_t, "radius"], - #/*Background*/ - [lv_opa, "bg_opa"], - [lv_color, "bg_color"], - [lv_grad_dsc, "bg_grad"], - #/*Background img*/ [ptr, "bg_img_src"], [ptr, "bg_img_symbol_font"], @@ -232,10 +232,20 @@ lv_draw_rect_dsc = [ # valid LVGL93 [lv_opa, "bg_img_recolor_opa"], [uint8_t, "bg_img_tiled"], + #/*Background*/ + [lv_opa, "bg_opa"], + [lv_opa, "border_opa"], + [lv_opa, "outline_opa"], + [lv_opa, "shadow_opa"], + + [ptr, "bg_image_colorkey"], + + [lv_color, "bg_color"], + [lv_grad_dsc, "bg_grad"], + #/*Border*/ [lv_color, "border_color"], [int32_t, "border_width"], - [lv_opa, "border_opa"], [uint8_t_5, "border_side"], [uint8_t_1, "border_post"], @@ -243,7 +253,6 @@ lv_draw_rect_dsc = [ # valid LVGL93 [lv_color, "outline_color"], [int32_t, "outline_width"], [int32_t, "outline_pad"], - [lv_opa, "outline_opa"], #/*Shadow*/ [lv_color, "shadow_color"], @@ -251,7 +260,6 @@ lv_draw_rect_dsc = [ # valid LVGL93 [int32_t, "shadow_ofs_x"], [int32_t, "shadow_ofs_y"], [int32_t, "shadow_spread"], - [lv_opa, "shadow_opa"], ] lv_draw_rect_dsc = ct.structure(lv_draw_rect_dsc, "lv_draw_rect_dsc") @@ -289,7 +297,7 @@ lv_draw_rect_dsc = ct.structure(lv_draw_rect_dsc, "lv_draw_rect_dsc") # /**1: Do not bother with line ending (if it's not visible for any reason) */ # uint8_t raw_end : 1; # } lv_draw_line_dsc_t; -lv_draw_line_dsc = [ # valid LVGL93 +lv_draw_line_dsc = [ # valid LVGL94 [lv_draw_dsc_base, "base"], [lv_point_precise, "p1"], @@ -324,12 +332,12 @@ lv_draw_line_dsc = ct.structure(lv_draw_line_dsc, "lv_draw_line_dsc") # /**The center point of the arc. */ # lv_point_t center; -# /**The outer radius of the arc*/ -# uint16_t radius; - # /**An image source to be used instead of `color`. `NULL` if unused*/ # const void * img_src; +# /**The outer radius of the arc*/ +# uint16_t radius; + # /**Opacity of the arc in 0...255 range. # * LV_OPA_TRANSP, LV_OPA_10, LV_OPA_20, .. LV_OPA_COVER can be used as well*/ # lv_opa_t opa; @@ -337,7 +345,7 @@ lv_draw_line_dsc = ct.structure(lv_draw_line_dsc, "lv_draw_line_dsc") # /**1: Make the arc ends rounded*/ # uint8_t rounded : 1; # } lv_draw_arc_dsc_t; -lv_draw_arc_dsc = [ # valid LVGL93 +lv_draw_arc_dsc = [ # valid LVGL94 [lv_draw_dsc_base, "base"], [lv_color, "color"], @@ -345,8 +353,8 @@ lv_draw_arc_dsc = [ # valid LVGL93 [lv_value_precise, "start_angle"], [lv_value_precise, "end_angle"], [lv_point, "center"], - [uint16_t, "radius"], [ptr, "img_src"], + [uint16_t, "radius"], [lv_opa, "opa"], [uint8_t_1, "rounded"], ] @@ -363,7 +371,7 @@ lv_draw_arc_dsc = ct.structure(lv_draw_arc_dsc, "lv_draw_arc_dsc") # uint32_t stride: 16; /**< Number of bytes in a row*/ # uint32_t reserved_2: 16; /**< Reserved to be used later*/ # } lv_image_header_t; -lv_image_header = [ # valid LVGL93 +lv_image_header = [ # valid LVGL94 [uint8_t, "magic"], [uint8_t, "cf"], [uint16_t, "flags"], @@ -422,7 +430,7 @@ lv_image_header = ct.structure(lv_image_header, "lv_image_header") # */ # lv_blend_mode_t blend_mode : 4; -# /**1: perform the transformation with anti-alaising */ +# /**1: perform the transformation with anti-aliasing */ # uint16_t antialias : 1; # /**If the image is smaller than the `image_area` field of `lv_draw_image_dsc_t` @@ -430,6 +438,8 @@ lv_image_header = ct.structure(lv_image_header, "lv_image_header") # * `image_area` area*/ # uint16_t tile : 1; +# const lv_image_colorkey_t * colorkey; + # /**Used internally to store some information about the palette or the color of A8 images*/ # lv_draw_image_sup_t * sup; @@ -445,7 +455,7 @@ lv_image_header = ct.structure(lv_image_header, "lv_image_header") # * The mask is always center aligned. */ # const lv_image_dsc_t * bitmap_mask_src; # }; -lv_draw_image_dsc = [ # valid LVGL93 +lv_draw_image_dsc = [ # valid LVGL94 [lv_draw_dsc_base, "base"], [ptr, "src"], @@ -466,6 +476,7 @@ lv_draw_image_dsc = [ # valid LVGL93 [uint8_t_4, "blend_mode"], [uint8_t_1, "antialias"], [uint8_t_1, "tile"], + [ptr, "lv_image_colorkey_t"], [ptr, "sup"], [lv_area, "image_area"], @@ -519,16 +530,19 @@ lv_draw_image_dsc = ct.structure(lv_draw_image_dsc, "lv_draw_image_dsc") # /**The number of characters to render. 0: means render until reaching the `\0` termination.*/ # uint32_t text_length; -# /**Opacity of the text in 0...255 range. -# * LV_OPA_TRANSP, LV_OPA_10, LV_OPA_20, .. LV_OPA_COVER can be used as well*/ -# lv_opa_t opa; - # /**The alignment of the text `LV_TEXT_ALIGN_LEFT/RIGHT/CENTER`*/ # lv_text_align_t align; # /**The base direction. Used when type setting Right-to-left (e.g. Arabic) texts*/ # lv_base_dir_t bidi_dir; +# /**Opacity of the text in 0...255 range. +# * LV_OPA_TRANSP, LV_OPA_10, LV_OPA_20, .. LV_OPA_COVER can be used as well*/ +# lv_opa_t opa; + +# /**Letter outline stroke opacity */ +# lv_opa_t outline_stroke_opa; + # /**Text decoration, e.g. underline*/ # lv_text_decor_t decor : 3; @@ -550,12 +564,11 @@ lv_draw_image_dsc = ct.structure(lv_draw_image_dsc, "lv_draw_image_dsc") # lv_draw_label_hint_t * hint; # /* Properties of the letter outlines */ -# lv_opa_t outline_stroke_opa; # lv_color_t outline_stroke_color; # int32_t outline_stroke_width; # } lv_draw_label_dsc_t; -lv_draw_label_dsc = [ # valid LVGL93 +lv_draw_label_dsc = [ # valid LVGL94 [lv_draw_dsc_base, "base"], [ptr, "text"], [lv_point, "text_size"], @@ -571,9 +584,10 @@ lv_draw_label_dsc = [ # valid LVGL93 [lv_color, "sel_color"], [lv_color, "sel_bg_color"], [uint32_t, "text_length"], - [lv_opa, "opa"], [lv_text_align, "align"], [lv_base_dir, "bidi_dir"], + [lv_opa, "opa"], + [lv_opa, "outline_stroke_opa"], [lv_text_flag, "flag"], [uint8_t_3, "decor"], [uint8_t_5, "flag"], @@ -582,7 +596,6 @@ lv_draw_label_dsc = [ # valid LVGL93 [uint8_t_1, "text_static"], [uint8_t_1, "has_bided"], [ptr, "hint"], - [lv_opa, "outline_stroke_opa"], [lv_color, "outline_stroke_color"], [int32_t, "outline_stroke_width"], ] @@ -599,7 +612,7 @@ lv_draw_label_dsc = ct.structure(lv_draw_label_dsc, "lv_draw_label_dsc") # uint32_t x_axis_sec : 1; # uint32_t y_axis_sec : 1; # }; -lv_chart_series = [ # valid LVGL93 +lv_chart_series = [ # valid LVGL94 [ptr, "x_points"], [ptr, "y_points"], [lv_color, "color"], @@ -620,7 +633,7 @@ lv_chart_series = ct.structure(lv_chart_series, "lv_chart_series") # lv_dir_t dir; # uint32_t pos_set: 1; /**< 1: pos is set; 0: point_id is set */ # }; -lv_chart_cursor = [ # valid LVGL93 +lv_chart_cursor = [ # valid LVGL94 [lv_point, "pos"], [int32_t, "point_id"], [lv_color, "color"], @@ -671,7 +684,7 @@ lv_event_code = ct.i32 # uint32_t instance_size : 16; # uint32_t theme_inheritable : 1; /**< Value from ::lv_obj_class_theme_inheritable_t*/ # }; -lv_obj_class = [ # valid LVGL93 +lv_obj_class = [ # valid LVGL94 [lv_obj_class_ptr, "base_class"], [constructor_cb, "constructor_cb"], [destructor_cb, "destructor_cb"], @@ -697,8 +710,9 @@ lv_obj_class = ct.structure(lv_obj_class, "lv_obj_class") # uint8_t deleted : 1; # uint8_t stop_processing : 1; # uint8_t stop_bubbling : 1; +# uint8_t stop_trickling : 1; # }; -lv_event = [ # valid LVGL93 +lv_event = [ # valid LVGL94 [lv_obj_ptr, "current_target"], [lv_obj_ptr, "original_target"], [lv_event_code, "code"], @@ -708,6 +722,7 @@ lv_event = [ # valid LVGL93 [uint8_t_1, "deleted"], [uint8_t_1, "stop_processing"], [uint8_t_1, "stop_bubbling"], + [uint8_t_1, "stop_trickling"], ] lv_event = ct.structure(lv_event, "lv_event") @@ -721,7 +736,7 @@ lv_event = ct.structure(lv_event, "lv_event") # const void * reserved; /**< A reserved field to make it has same size as lv_draw_buf_t*/ # const void * reserved_2; /**< A reserved field to make it has same size as lv_draw_buf_t*/ # } lv_image_dsc_t; -lv_image_dsc = [ # valid LVGL93 +lv_image_dsc = [ # valid LVGL94 [lv_image_header, "header"], [uint32_t, "data_size"], [ptr, "data"], @@ -740,7 +755,7 @@ lv_image_dsc = ct.structure(lv_image_dsc, "lv_image_dsc") # uint32_t time; /**< Duration of the transition in [ms]*/ # uint32_t delay; /**< Delay before the transition in [ms]*/ # } lv_style_transition_dsc_t; -lv_style_transition_dsc = [ # valid LVGL93 +lv_style_transition_dsc = [ # valid LVGL94 [ptr, "props"], [ptr, "user_data"], [ptr, "path_xcb"], @@ -749,17 +764,53 @@ lv_style_transition_dsc = [ # valid LVGL93 ] lv_style_transition_dsc = ct.structure(lv_style_transition_dsc, "lv_style_transition_dsc") +####################################################################### +# lv_anim_timeline + +# /*Data of anim_timeline*/ +# struct _lv_anim_timeline_t { +# struct _lv_anim_timeline_dsc_t * anim_dsc; +# uint32_t anim_dsc_cnt; +# uint32_t act_time; +# bool reverse; +# uint32_t delay; +# uint32_t repeat_count; +# uint32_t repeat_delay; +# void * user_data; +# }; +lv_anim_timeline_dsc = [ # valid LVGL94 + [ptr, "anim_dsc"], + [uint32_t, "anim_dsc_cnt"], + [uint32_t, "act_time"], + [bool, "reverse"], + [uint32_t, "delay"], + [uint32_t, "repeat_count"], + [uint32_t, "repeat_delay"], + [ptr, "user_data"], +] +lv_anim_timeline_dsc = ct.structure(lv_anim_timeline_dsc, "lv_anim_timeline_dsc") # struct _lv_layer_t { - -# /** Target draw buffer of the layer*/ +# /** Target draw buffer of the layer */ # lv_draw_buf_t * draw_buf; +# /** Linked list of draw tasks */ +# lv_draw_task_t * draw_task_head; + +# /** Parent layer */ +# lv_layer_t * parent; + +# /** Next layer */ +# lv_layer_t * next; + +# /** User data */ +# void * user_data; + # /** The absolute coordinates of the buffer */ # lv_area_t buf_area; -# /** The color format of the layer. LV_COLOR_FORMAT_... */ -# lv_color_format_t color_format; +# /** The physical clipping area relative to the display */ +# lv_area_t phy_clip_area; # /** # * NEVER USE IT DRAW UNITS. USED INTERNALLY DURING DRAW TASK CREATION. @@ -771,47 +822,43 @@ lv_style_transition_dsc = ct.structure(lv_style_transition_dsc, "lv_style_transi # */ # lv_area_t _clip_area; -# /** -# * The physical clipping area relative to the display. -# */ -# lv_area_t phy_clip_area; - # #if LV_DRAW_TRANSFORM_USE_MATRIX # /** Transform matrix to be applied when rendering the layer */ # lv_matrix_t matrix; # #endif -# /** Opacity of the layer */ -# lv_opa_t opa; - -# /*Recolor of the layer*/ -# lv_color32_t recolor; - # /** Partial y offset */ # int32_t partial_y_offset; -# /** Linked list of draw tasks */ -# lv_draw_task_t * draw_task_head; +# /** Recolor of the layer */ +# lv_color32_t recolor; -# lv_layer_t * parent; -# lv_layer_t * next; +# /** The color format of the layer. LV_COLOR_FORMAT_... */ +# lv_color_format_t color_format; + +# /** Flag indicating all tasks are added */ # bool all_tasks_added; -# void * user_data; + +# /** Opacity of the layer */ +# lv_opa_t opa; # }; -lv_layer = [ # valid LVGL93 +lv_layer = [ # valid LVGL94 [ptr, "draw_buf"], - [lv_area, "buf_area"], - [uint32_t, "color_format"], - [lv_area, "_clip_area"], - [lv_area, "phy_clip_area"], - [lv_opa, "opa"], - [lv_color32, "recolor"], - [int32_t, "partial_y_offset"], + [ptr, "draw_task_head"], [ptr, "parent"], [ptr, "next"], - [bool, "all_tasks_added"], [ptr, "user_data"], + + [lv_area, "buf_area"], + [lv_area, "phy_clip_area"], + [lv_area, "_clip_area"], + + [int32_t, "partial_y_offset"], + [lv_color32, "recolor"], + [uint32_t, "color_format"], + [bool, "all_tasks_added"], + [lv_opa, "opa"], ] lv_layer = ct.structure(lv_layer, "lv_layer") @@ -822,7 +869,7 @@ lv_layer = ct.structure(lv_layer, "lv_layer") # lv_color_filter_cb_t filter_cb; # void * user_data; # }; -lv_color_filter_dsc = [ # valid LVGL93 +lv_color_filter_dsc = [ # valid LVGL94 [ptr, "filter_cb"], [ptr, "user_data"], ] @@ -837,16 +884,16 @@ lv_color_filter_dsc = ct.structure(lv_color_filter_dsc, "lv_color_filter_dsc") # lv_timer_cb_t timer_cb; /**< Timer function */ # void * user_data; /**< Custom user data */ # int32_t repeat_count; /**< 1: One time; -1 : infinity; n>0: residual times */ -# uint32_t paused : 1; +# volatile int paused; # uint32_t auto_delete : 1; # }; -lv_timer_ntv = [ # valid LVGL93 +lv_timer_ntv = [ # valid LVGL94 [uint32_t, "period"], [uint32_t, "last_run"], [ptr, "timer_cb"], [ptr, "user_data"], [int32_t, "repeat_count"], - [uint8_t_1, "paused"], + [int32_t, "paused"], [uint8_t_1, "auto_delete"], ] lv_timer_ntv = ct.structure(lv_timer_ntv, "lv_timer_ntv") @@ -859,7 +906,7 @@ lv_timer_ntv = ct.structure(lv_timer_ntv, "lv_timer_ntv") # void * user_data; # uint32_t filter; # }; -lv_event_dsc = [ # valid LVGL93 +lv_event_dsc = [ # valid LVGL94 [ptr, "cb"], [ptr, "user_data"], [uint32_t, "filter"], @@ -869,7 +916,7 @@ lv_event_dsc = ct.structure(lv_event_dsc, "lv_event_dsc") ####################################################################### # Special structure used to calibrate resistive touchscreens ####################################################################### -lv_ts_calibration = [ # valid LVGL93 +lv_ts_calibration = [ # valid LVGL94 [lv_coord_t, "raw_x"], [lv_coord_t, "raw_y"], [lv_coord_t, "x"], @@ -887,7 +934,7 @@ lv_ts_calibration = ct.structure(lv_ts_calibration, "lv_ts_calibration") # lv_area_t middle; # lv_area_t trailing; # } lv_span_coords_t; -lv_span_coords = [ +lv_span_coords = [ # valid LVGL94 [lv_area, "heading"], [lv_area, "middle"], [lv_area, "trailing"], @@ -906,7 +953,7 @@ lv_span_coords = ct.structure(lv_span_coords, "lv_span_coords") # uint32_t style; /**< Font style, see `lv_freetype_font_style_t`*/ # lv_font_kerning_t kerning; /**< Font kerning, see `lv_font_kerning_t`*/ # }; -lv_font_info = [ # valid LVGL92 +lv_font_info = [ # valid LVGL94 [ptr, "name"], [ptr, "class_p"], [uint32_t, "size"], @@ -936,7 +983,7 @@ lv_font_info = ct.structure(lv_font_info, "lv_font_info") # lv_opa_t opa; # lv_text_decor_t decor : 3; -# lv_blend_mode_t blend_mode : 3; +# lv_blend_mode_t blend_mode : 4; # /* Properties of the letter outlines */ # lv_opa_t outline_stroke_opa; @@ -957,7 +1004,7 @@ lv_draw_letter_dsc = [ # valid LVGL93 [lv_point, "pivot"], [lv_opa, "opa"], [uint8_t_3, "decor"], - [uint8_t_3, "blend_mode"], + [uint8_t_4, "blend_mode"], [lv_opa, "outline_stroke_opa"], [int32_t, "outline_stroke_width"], [lv_color, "outline_stroke_color"], diff --git a/lib/libesp32_lvgl/lv_binding_berry/tools/convert.py b/lib/libesp32_lvgl/lv_binding_berry/tools/convert.py index 639a42c84..a4e92b6ed 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/tools/convert.py +++ b/lib/libesp32_lvgl/lv_binding_berry/tools/convert.py @@ -279,6 +279,7 @@ class type_mapper_class: "lv_anim_deleted_cb_t", "lv_timer_handler_resume_cb_t", "lv_theme_apply_cb_t", + "lv_screen_create_cb_t", # new in 9.4.0 "lv_color32_t *", "lv_color16_t *", "lv_color_filter_cb_t", @@ -465,11 +466,16 @@ class type_mapper_class: "void * []": "c", # treat as a simple pointer, decoding needs to be done at Berry level "constchar * *": "c", # new in 9.3.0 - "lv_text_cmd_state_t *": "c", + # "lv_text_cmd_state_t *": "c", # not used anymore in 9.4.0 "lv_font_info_t *": "lv_font_info", "lv_switch_orientation_t": "i", "lv_slider_orientation_t": "i", "lv_draw_letter_dsc_t *": "lv_draw_letter_dsc", + # new in 9.4.0 + "lv_image_colorkey_t *": "c", + "lv_arclabel_dir_t": "i", + "lv_arclabel_text_align_t": "i", + "lv_anim_timeline_t *": "lv_anim_timeline_dsc", # callbacks "lv_group_focus_cb_t": "lv_group_focus_cb", diff --git a/lib/libesp32_lvgl/lv_binding_berry/tools/preprocessor.py b/lib/libesp32_lvgl/lv_binding_berry/tools/preprocessor.py index a1870147f..c69524803 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/tools/preprocessor.py +++ b/lib/libesp32_lvgl/lv_binding_berry/tools/preprocessor.py @@ -57,6 +57,9 @@ class LVGLPreprocessor: r"^lv_obj_get_property", r"^lv_win_", r"^lv_obj.*name", # we don't enable #if LV_USE_OBJ_NAME + r".*_bind_.*", # 9.4.0 remove observer methods + r".*_get_.*_by_name", # 9.4.0 + r".*_translation_", # 9.4.0 ] # Enum exclusion patterns @@ -65,6 +68,7 @@ class LVGLPreprocessor: "LV_TASK_PRIO_", "LV_THEME_", "LV_LRU_", "LV_VECTOR_", "LV_KEYBOARD_MODE_TEXT_ARABIC", "LV_DRAW_TASK_TYPE_3D", "LV_DRAW_TASK_TYPE_VECTOR", + "LV_EVENT_TRANSLATION_" } def comment_remover(self, text: str) -> str: diff --git a/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_1_constants.be b/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_1_constants.be index c614cbb3f..885ef4ed7 100644 --- a/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_1_constants.be +++ b/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_1_constants.be @@ -1,5 +1,5 @@ # LVGL integer constants -# LVGL version 9.3.0 +# LVGL version 9.4.0 lv.ALIGN_BOTTOM_LEFT = 4 lv.ALIGN_BOTTOM_MID = 5 @@ -28,6 +28,12 @@ lv.ANIM_OFF = 0 lv.ANIM_ON = 1 lv.ANIM_PLAYTIME_INFINITE = -1 lv.ANIM_REPEAT_INFINITE = -1 +lv.ARCLABEL_DIR_CLOCKWISE = 0 +lv.ARCLABEL_DIR_COUNTER_CLOCKWISE = 1 +lv.ARCLABEL_TEXT_ALIGN_CENTER = 2 +lv.ARCLABEL_TEXT_ALIGN_DEFAULT = 0 +lv.ARCLABEL_TEXT_ALIGN_LEADING = 1 +lv.ARCLABEL_TEXT_ALIGN_TRAILING = 3 lv.ARC_MODE_NORMAL = 0 lv.ARC_MODE_REVERSE = 2 lv.ARC_MODE_SYMMETRICAL = 1 @@ -102,7 +108,8 @@ lv.CHART_POINT_NONE = 2147483647 lv.CHART_TYPE_BAR = 2 lv.CHART_TYPE_LINE = 1 lv.CHART_TYPE_NONE = 0 -lv.CHART_TYPE_SCATTER = 3 +lv.CHART_TYPE_SCATTER = 4 +lv.CHART_TYPE_STACKED = 3 lv.CHART_UPDATE_MODE_CIRCULAR = 1 lv.CHART_UPDATE_MODE_SHIFT = 0 lv.COLOR_AQUA = 65535 @@ -220,10 +227,11 @@ lv.DISP_ROTATION_0 = 0 lv.DISP_ROTATION_180 = 2 lv.DISP_ROTATION_270 = 3 lv.DISP_ROTATION_90 = 1 -lv.DRAW_TASK_STATE_IN_PROGRESS = 2 -lv.DRAW_TASK_STATE_QUEUED = 1 -lv.DRAW_TASK_STATE_READY = 3 -lv.DRAW_TASK_STATE_WAITING = 0 +lv.DRAW_TASK_STATE_BLOCKED = 0 +lv.DRAW_TASK_STATE_FINISHED = 4 +lv.DRAW_TASK_STATE_IN_PROGRESS = 3 +lv.DRAW_TASK_STATE_QUEUED = 2 +lv.DRAW_TASK_STATE_WAITING = 1 lv.DRAW_TASK_TYPE_ARC = 9 lv.DRAW_TASK_TYPE_BORDER = 2 lv.DRAW_TASK_TYPE_BOX_SHADOW = 3 @@ -371,7 +379,6 @@ lv.IMAGEBUTTON_STATE_DISABLED = 2 lv.IMAGEBUTTON_STATE_NUM = 6 lv.IMAGEBUTTON_STATE_PRESSED = 1 lv.IMAGEBUTTON_STATE_RELEASED = 0 -lv.IMAGE_ALIGN_AUTO_TRANSFORM = 10 lv.IMAGE_ALIGN_BOTTOM_LEFT = 4 lv.IMAGE_ALIGN_BOTTOM_MID = 5 lv.IMAGE_ALIGN_BOTTOM_RIGHT = 6 @@ -473,7 +480,8 @@ lv.OBJ_FLAG_CHECKABLE = 8 lv.OBJ_FLAG_CLICKABLE = 2 lv.OBJ_FLAG_CLICK_FOCUSABLE = 4 lv.OBJ_FLAG_EVENT_BUBBLE = 16384 -lv.OBJ_FLAG_FLEX_IN_NEW_TRACK = 2097152 +lv.OBJ_FLAG_EVENT_TRICKLE = 2097152 +lv.OBJ_FLAG_FLEX_IN_NEW_TRACK = 8388608 lv.OBJ_FLAG_FLOATING = 262144 lv.OBJ_FLAG_GESTURE_BUBBLE = 32768 lv.OBJ_FLAG_HIDDEN = 1 @@ -493,6 +501,7 @@ lv.OBJ_FLAG_SCROLL_ON_FOCUS = 1024 lv.OBJ_FLAG_SCROLL_WITH_ARROW = 2048 lv.OBJ_FLAG_SEND_DRAW_TASK_EVENTS = 524288 lv.OBJ_FLAG_SNAPPABLE = 4096 +lv.OBJ_FLAG_STATE_TRICKLE = 4194304 lv.OBJ_FLAG_USER_1 = 134217728 lv.OBJ_FLAG_USER_2 = 268435456 lv.OBJ_FLAG_USER_3 = 536870912 @@ -573,6 +582,22 @@ lv.SCALE_MODE_VERTICAL_RIGHT = 4 lv.SCALE_NONE = 256 lv.SCALE_ROTATION_ANGLE_MASK = 524287 lv.SCALE_TOTAL_TICK_COUNT_DEFAULT = 11 +lv.SCREEN_LOAD_ANIM_FADE_IN = 9 +lv.SCREEN_LOAD_ANIM_FADE_ON = 9 +lv.SCREEN_LOAD_ANIM_FADE_OUT = 10 +lv.SCREEN_LOAD_ANIM_MOVE_BOTTOM = 8 +lv.SCREEN_LOAD_ANIM_MOVE_LEFT = 5 +lv.SCREEN_LOAD_ANIM_MOVE_RIGHT = 6 +lv.SCREEN_LOAD_ANIM_MOVE_TOP = 7 +lv.SCREEN_LOAD_ANIM_NONE = 0 +lv.SCREEN_LOAD_ANIM_OUT_BOTTOM = 14 +lv.SCREEN_LOAD_ANIM_OUT_LEFT = 11 +lv.SCREEN_LOAD_ANIM_OUT_RIGHT = 12 +lv.SCREEN_LOAD_ANIM_OUT_TOP = 13 +lv.SCREEN_LOAD_ANIM_OVER_BOTTOM = 4 +lv.SCREEN_LOAD_ANIM_OVER_LEFT = 1 +lv.SCREEN_LOAD_ANIM_OVER_RIGHT = 2 +lv.SCREEN_LOAD_ANIM_OVER_TOP = 3 lv.SCROLLBAR_MODE_ACTIVE = 2 lv.SCROLLBAR_MODE_AUTO = 3 lv.SCROLLBAR_MODE_OFF = 0 @@ -581,22 +606,6 @@ lv.SCROLL_SNAP_CENTER = 3 lv.SCROLL_SNAP_END = 2 lv.SCROLL_SNAP_NONE = 0 lv.SCROLL_SNAP_START = 1 -lv.SCR_LOAD_ANIM_FADE_IN = 9 -lv.SCR_LOAD_ANIM_FADE_ON = 9 -lv.SCR_LOAD_ANIM_FADE_OUT = 10 -lv.SCR_LOAD_ANIM_MOVE_BOTTOM = 8 -lv.SCR_LOAD_ANIM_MOVE_LEFT = 5 -lv.SCR_LOAD_ANIM_MOVE_RIGHT = 6 -lv.SCR_LOAD_ANIM_MOVE_TOP = 7 -lv.SCR_LOAD_ANIM_NONE = 0 -lv.SCR_LOAD_ANIM_OUT_BOTTOM = 14 -lv.SCR_LOAD_ANIM_OUT_LEFT = 11 -lv.SCR_LOAD_ANIM_OUT_RIGHT = 12 -lv.SCR_LOAD_ANIM_OUT_TOP = 13 -lv.SCR_LOAD_ANIM_OVER_BOTTOM = 4 -lv.SCR_LOAD_ANIM_OVER_LEFT = 1 -lv.SCR_LOAD_ANIM_OVER_RIGHT = 2 -lv.SCR_LOAD_ANIM_OVER_TOP = 3 lv.SIZE_CONTENT = 1073741823 lv.SLIDER_MODE_NORMAL = 0 lv.SLIDER_MODE_RANGE = 2 @@ -676,13 +685,14 @@ lv.STYLE_GRID_COLUMN_DSC_ARRAY = 130 lv.STYLE_GRID_ROW_ALIGN = 128 lv.STYLE_GRID_ROW_DSC_ARRAY = 129 lv.STYLE_HEIGHT = 2 +lv.STYLE_IMAGE_COLORKEY = 137 lv.STYLE_IMAGE_OPA = 68 lv.STYLE_IMAGE_RECOLOR = 69 lv.STYLE_IMAGE_RECOLOR_OPA = 70 lv.STYLE_IMG_OPA = 68 lv.STYLE_IMG_RECOLOR = 69 lv.STYLE_IMG_RECOLOR_OPA = 70 -lv.STYLE_LAST_BUILT_IN_PROP = 137 +lv.STYLE_LAST_BUILT_IN_PROP = 138 lv.STYLE_LAYOUT = 22 lv.STYLE_LENGTH = 3 lv.STYLE_LINE_COLOR = 76 @@ -699,7 +709,7 @@ lv.STYLE_MAX_HEIGHT = 7 lv.STYLE_MAX_WIDTH = 5 lv.STYLE_MIN_HEIGHT = 6 lv.STYLE_MIN_WIDTH = 4 -lv.STYLE_NUM_BUILT_IN_PROPS = 138 +lv.STYLE_NUM_BUILT_IN_PROPS = 139 lv.STYLE_OPA = 98 lv.STYLE_OPA_LAYERED = 99 lv.STYLE_OUTLINE_COLOR = 57 @@ -778,9 +788,6 @@ lv.TEXT_ALIGN_AUTO = 0 lv.TEXT_ALIGN_CENTER = 2 lv.TEXT_ALIGN_LEFT = 1 lv.TEXT_ALIGN_RIGHT = 3 -lv.TEXT_CMD_STATE_IN = 2 -lv.TEXT_CMD_STATE_PAR = 1 -lv.TEXT_CMD_STATE_WAIT = 0 lv.TEXT_DECOR_NONE = 0 lv.TEXT_DECOR_STRIKETHROUGH = 2 lv.TEXT_DECOR_UNDERLINE = 1 diff --git a/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be b/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be index 10167ce54..278161735 100644 --- a/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be +++ b/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be @@ -2698,7 +2698,7 @@ end # Encapsulates a `lv_screen` which is `lv.obj(0)` object ################################################################################# # -# ex of transition: lv.scr_load_anim(scr, lv.SCR_LOAD_ANIM_MOVE_RIGHT, 500, 0, false) +# ex of transition: lv.scr_load_anim(scr, lv.SCREEN_LOAD_ANIM_MOVE_RIGHT, 500, 0, false) #@ solidify:lvh_page,weak class lvh_page var _obj_id # (map) of `lvh_obj` objects by id numbers @@ -2867,11 +2867,11 @@ class lvh_page # show this page, with animation #==================================================================== static show_anim = { - 1: lv.SCR_LOAD_ANIM_MOVE_LEFT, - -1: lv.SCR_LOAD_ANIM_MOVE_RIGHT, - -2: lv.SCR_LOAD_ANIM_MOVE_TOP, - 2: lv.SCR_LOAD_ANIM_MOVE_BOTTOM, - 0: lv.SCR_LOAD_ANIM_NONE, + 1: lv.SCREEN_LOAD_ANIM_MOVE_LEFT, + -1: lv.SCREEN_LOAD_ANIM_MOVE_RIGHT, + -2: lv.SCREEN_LOAD_ANIM_MOVE_TOP, + 2: lv.SCREEN_LOAD_ANIM_MOVE_BOTTOM, + 0: lv.SCREEN_LOAD_ANIM_NONE, } def show(anim, duration) # ignore if the page does not contain a screen, like when id==0 @@ -2901,7 +2901,7 @@ class lvh_page if (anim == 0) lv.screen_load(self._lv_scr) else # animation - var anim_lvgl = self.show_anim.find(anim, lv.SCR_LOAD_ANIM_NONE) + var anim_lvgl = self.show_anim.find(anim, lv.SCREEN_LOAD_ANIM_NONE) # load new screen with animation, no delay, 500ms transition time, no auto-delete lv.screen_load_anim(self._lv_scr, anim_lvgl, duration, 0, false) end diff --git a/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h b/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h index 6058b6542..11dd9a73a 100644 --- a/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h +++ b/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h @@ -12000,7 +12000,7 @@ static const bvalue be_ktab_class_lvh_page[45] = { /* K39 */ be_nested_str_weak(_X7B_X22hasp_X22_X3A_X7B_X22p_X25i_X22_X3A_X22in_X22_X7D_X7D), /* K40 */ be_nested_str_weak(screen_load), /* K41 */ be_nested_str_weak(show_anim), - /* K42 */ be_nested_str_weak(SCR_LOAD_ANIM_NONE), + /* K42 */ be_nested_str_weak(SCREEN_LOAD_ANIM_NONE), /* K43 */ be_nested_str_weak(screen_load_anim), /* K44 */ be_nested_str_weak(_remove_page), }; diff --git a/lib/libesp32_lvgl/lvgl/README.md b/lib/libesp32_lvgl/lvgl/README.md index cc3c1a903..e02ca5f4b 100644 --- a/lib/libesp32_lvgl/lvgl/README.md +++ b/lib/libesp32_lvgl/lvgl/README.md @@ -1,8 +1,5 @@ - - -

- English | 中文 | Português do Brasil | 日本語 + English | 中文 | Português do Brasil | 日本語 | עברית


@@ -11,87 +8,85 @@  

Light and Versatile Graphics Library


+

Light and Versatile Graphics Library

+ +
+
   
-
+ +
+

-Website | -Docs | -Forum | -Demos | + Website | + LVGL Pro Editor | + Docs | + Forum | + Demos | Services

-
-## :ledger: Overview +
-**Mature and Well-known**
-LVGL is the most popular free and open source embedded graphics library to create beautiful UIs for any MCU, MPU and display type. It's supported by industry leading vendors and projects like  Arm, STM32, NXP, Espressif, Nuvoton, Arduino, RT-Thread, Zephyr, NuttX, Adafruit and many more. +### Table of Contents +

+ Overview
+ Features
+ Platform Support
+ LVGL Pro Editor
+ Commercial Services
+ Integrating LVGL
+ Examples
+ Contributing +

-**Feature Rich**
-It has all the features to create modern and beautiful GUIs: 30+ built-in widgets, a powerful style system, web inspired layout managers, and a typography system supporting many languages. To integrate LVGL into your platform, all you need is at least 32kB RAM and 128 kB Flash, a C compiler, a frame buffer, and at least an 1/10 screen sized buffer for rendering. +
-**Services**
-Our team is ready to help you with graphics design, UI implementation and consulting services. Contact us if you need some support during the development of your next GUI project. +## 📒 Overview -## :rocket: Features +**LVGL** is a free and open-source UI library that enables you to create graphical user interfaces +for any MCUs and MPUs from any vendor on any platform. + +**Requirements**: LVGL has no external dependencies, which makes it easy to compile for any modern target, +from small MCUs to multi-core Linux-based MPUs with 3D support. For a simple UI, you need only ~100kB RAM, +~200–300kB flash, and a buffer size of 1/10 of the screen for rendering. + +**To get started**, pick a ready-to-use VSCode, Eclipse, or any other project and try out LVGL +on your PC. The LVGL UI code is fully platform-independent, so you can use the same UI code +on embedded targets too. + +**LVGL Pro** is a complete toolkit to help you build, test, share, and ship UIs faster. +It comes with an XML Editor where you can quickly create and test reusable components, +export C code, or load the XMLs at runtime. Learn more here. + +## 💡 Features **Free and Portable** - A fully portable C (C++ compatible) library with no external dependencies. - - Can be compiled to any MCU or MPU, with any (RT)OS. - - Supports monochrome, ePaper, OLED or TFT displays, or even monitors. [Displays](https://docs.lvgl.io/master/details/main-modules/display/index.html) + - Can be compiled for any MCU or MPU, with any (RT)OS. Make, CMake, and simple globbing are all supported. + - Supports monochrome, ePaper, OLED, or TFT displays, or even monitors. [Displays](https://docs.lvgl.io/master/details/main-modules/display/index.html) - Distributed under the MIT license, so you can easily use it in commercial projects too. - - Needs only 32kB RAM and 128 kB Flash, a frame buffer, and at least an 1/10 screen sized buffer for rendering. - - OS, External memory and GPU are supported but not required. + - Needs only 32kB RAM and 128kB Flash, a frame buffer, and at least a 1/10 screen-sized buffer for rendering. + - OS, external memory, and GPU are supported but not required. -**Widgets, Styles, Layouts and more** - - 30+ built-in [Widgets](https://docs.lvgl.io/master/details/widgets/index.html):  Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table and many more. - - Flexible [Style system](https://docs.lvgl.io/master/details/common-widget-features/styles/style.html) with  ~100 style properties to customize any part of the widgets in any state. - - [Flexbox](https://docs.lvgl.io/master/details/common-widget-features/layouts/flex.html) and [Grid](https://docs.lvgl.io/master/details/common-widget-features/layouts/grid.html)-like layouts engines to automatically size and position the widgets in a responsive way. - - Texts are rendered with UTF-8 encoding supporting CJK, Thai, Hindi, Arabic, Persian writing systems. - - Word wrapping, kerning, text scrolling, sub-pixel rendering, Pinyin-IME Chinese input, Emojis in texts. - - Rendering engine supporting animations, anti-aliasing, opacity, smooth scrolling, shadows, image transformation, etc   +**Widgets, Styles, Layouts, and More** + - 30+ built-in [Widgets](https://docs.lvgl.io/master/details/widgets/index.html): Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table, and many more. + - Flexible [Style system](https://docs.lvgl.io/master/details/common-widget-features/styles/index.html) with ~100 style properties to customize any part of the widgets in any state. + - [Flexbox](https://docs.lvgl.io/master/details/common-widget-features/layouts/flex.html) and [Grid](https://docs.lvgl.io/master/details/common-widget-features/layouts/grid.html)-like layout engines to automatically size and position the widgets responsively. + - Text is rendered with UTF-8 encoding, supporting CJK, Thai, Hindi, Arabic, and Persian writing systems. + - [Data bindings](https://docs.lvgl.io/master/details/auxiliary-modules/observer/index.html) to easily connect the UI with the application. + - Rendering engine supports animations, anti-aliasing, opacity, smooth scrolling, shadows, image transformation, etc. + - [Powerful 3D rendering engine](https://docs.lvgl.io/master/details/libs/gltf.html) to show [glTF models](https://sketchfab.com/) with OpenGL. - Supports Mouse, Touchpad, Keypad, Keyboard, External buttons, Encoder [Input devices](https://docs.lvgl.io/master/details/main-modules/indev.html). - [Multiple display](https://docs.lvgl.io/master/details/main-modules/display/overview.html#how-many-displays-can-lvgl-use) support. -**Binding and Build Support** - - [MicroPython Binding](https://blog.lvgl.io/2019-02-20/micropython-bindings) exposes LVGL API - - [PikaScript Binding](https://blog.lvgl.io/2022-08-24/pikascript-and-lvgl) python on MCU lighter and easier. - - No custom build system is used. You can build LVGL as you build the other files of your project. - - Support for Make and [CMake](https://docs.lvgl.io/master/details/integration/building/cmake.html) is included out of the box. - - [Develop on PC](https://docs.lvgl.io/master/details/integration/ide/pc-simulator.html) and use the same UI code on embedded hardware. - - Convert the C UI code to HTML file with our [Emscripten port](https://github.com/lvgl/lv_web_emscripten). +## 📦️ Platform Support -**Docs, Tools, and Services** - - Detailed [Documentation](https://docs.lvgl.io/) with [100+ simple examples](https://docs.lvgl.io/master/examples.html) - - [Services](https://lvgl.io/services) such as User interface design, Implementation and Consulting to make UI development simpler and faster. +LVGL has no external dependencies, so it can be easily compiled for any devices and it's also available in many package managers and RTOSes: -## :heart: Sponsor - -If LVGL saved you a lot of time and money or you just had fun using it, consider [Supporting its Development](https://github.com/sponsors/lvgl). - -**How do we spend the donations?**
-Our goal is to provide financial compensation for people who do the most for LVGL. It means not only the maintainers but anyone who implements a great feature should get a payment from the accumulated money. We use the donations to cover our operational costs like servers and related services. - -**How to donate?**
-We use [GitHub Sponsors](https://github.com/sponsors/lvgl) where you can easily send one time or recurring donations. You can also see all of our expenses in a transparent way. - -**How to get paid for your contribution?**
-If someone implements or fixes an issue labeled as [Sponsored](https://github.com/lvgl/lvgl/labels/Sponsored) he or she will get a payment for that work. We estimate the required time, complexity and importance of the issue and set a price accordingly. To jump in just comment on a [Sponsored](https://github.com/lvgl/lvgl/labels/Sponsored) issue saying "Hi, I'd like to deal with it. This is how I'm planning to fix/implement it...". A work is considered ready when it's approved and merged by a maintainer. After that you can submit and expense at [opencollective.com](https://opencollective.com/lvgl) and you will receive the payment in a few days. - -**Organizations supporting LVGL**
-[![Sponsors of LVGL](https://opencollective.com/lvgl/organizations.svg?width=600)](https://opencollective.com/lvgl) - -**Individuals supporting LVGL**
-[![Backers of LVGL](https://contrib.rocks/image?repo=lvgl/lvgl&max=48)](https://opencollective.com/lvgl) - -## :package: Packages -LVGL is available as: - [Arduino library](https://docs.lvgl.io/master/details/integration/framework/arduino.html) - [PlatformIO package](https://registry.platformio.org/libraries/lvgl/lvgl) - [Zephyr library](https://docs.lvgl.io/master/details/integration/os/zephyr.html) @@ -102,367 +97,287 @@ LVGL is available as: - CMSIS-Pack - [RIOT OS package](https://doc.riot-os.org/group__pkg__lvgl.html#details) +## 🚀 LVGL Pro Editor -## :robot: Examples +LVGL Pro is a complete toolkit to build, test, share, and ship embedded UIs efficiently. -See some examples of creating widgets, using layouts and applying styles. You will find C and MicroPython code, and links to try out or edit the examples in an online MicroPython editor. +It consists of four tightly related tools: -For more examples check out the [Examples](https://github.com/lvgl/lvgl/tree/master/examples) folder. +1. **XML Editor**: The heart of LVGL Pro. A desktop app to build components and screens in XML, manage data bindings, translations, animations, tests, and more. Learn more about the [XML Format](https://docs.lvgl.io/master/details/xml/xml/index.html) and the [Editor](https://docs.lvgl.io/master/details/xml/editor/index.html). +2. **Online Viewer**: Run the Editor in your browser, open GitHub projects, and share easily without setting up a developer environment. Visit [https://viewer.lvgl.io](https://viewer.lvgl.io). +3. **CLI Tool**: Generate C code and run tests in CI/CD. See the details [here](https://docs.lvgl.io/master/details/xml/tools/cli.html). +4. **Figma Plugin**: Sync and extract styles directly from Figma. See how it works [here](https://docs.lvgl.io/master/details/xml/tools/figma.html). +Together, these tools let developers build UIs efficiently, test them reliably, and collaborate with team members and customers. -### Hello world label +Learn more at https://pro.lvgl.io -![Simple Hello world label example in LVGL](https://github.com/kisvegabor/test/raw/master/readme_example_1.png) +## 🤝 Commercial Services -
- C code +LVGL LLC provides several types of commercial services to help you with UI development. With 15+ years of experience in the user interface and graphics industry, we can help bring your UI to the next level. + +- **Graphics design**: Our in-house graphic designers are experts in creating beautiful modern designs that fit your product and the capabilities of your hardware. +- **UI implementation**: We can implement your UI based on the design you or we have created. You can be sure that we will make the most of your hardware and LVGL. If a feature or widget is missing from LVGL, don't worry, we will implement it for you. +- **Consulting and Support**: We also offer consulting to help you avoid costly and time-consuming mistakes during UI development. +- **Board certification**: For companies offering development boards or production-ready kits, we provide board certification to show how the board can run LVGL. + +Check out our [Demos](https://lvgl.io/demos) as references. For more information, take a look at the [Services page](https://lvgl.io/services). + +[Contact us](https://lvgl.io/#contact) and tell us how we can help. + +## 🧑‍💻 Integrating LVGL + +Integrating LVGL is very simple. Just drop it into any project and compile it as you would compile other files. +To configure LVGL, copy `lv_conf_template.h` as `lv_conf.h`, enable the first `#if 0`, and adjust the configs as needed. +(The default config is usually fine.) If available, LVGL can also be used with Kconfig. + +Once in the project, you can initialize LVGL and create display and input devices as follows: ```c -/*Change the active screen's background color*/ -lv_obj_set_style_bg_color(lv_screen_active(), lv_color_hex(0x003a57), LV_PART_MAIN); +#include "lvgl/lvgl.h" /*Define LV_LVGL_H_INCLUDE_SIMPLE to include as "lvgl.h"*/ -/*Create a white label, set its text and align it to the center*/ -lv_obj_t * label = lv_label_create(lv_screen_active()); -lv_label_set_text(label, "Hello world"); -lv_obj_set_style_text_color(label, lv_color_hex(0xffffff), LV_PART_MAIN); -lv_obj_align(label, LV_ALIGN_CENTER, 0, 0); -``` -
+#define TFT_HOR_RES 320 +#define TFT_VER_RES 240 -
- MicroPython code | Online Simulator - -```python -# Change the active screen's background color -scr = lv.screen_active() -scr.set_style_bg_color(lv.color_hex(0x003a57), lv.PART.MAIN) - -# Create a white label, set its text and align it to the center -label = lv.label(lv.screen_active()) -label.set_text("Hello world") -label.set_style_text_color(lv.color_hex(0xffffff), lv.PART.MAIN) -label.align(lv.ALIGN.CENTER, 0, 0) -``` -
-
- -### Button with Click Event - -![LVGL button with label example](https://github.com/kisvegabor/test/raw/master/readme_example_2.gif) - -
- C code - -```c -lv_obj_t * button = lv_button_create(lv_screen_active());                   /*Add a button to the current screen*/ -lv_obj_center(button);                                     /*Set its position*/ -lv_obj_set_size(button, 100, 50);                                  /*Set its size*/ -lv_obj_add_event_cb(button, button_event_cb, LV_EVENT_CLICKED, NULL); /*Assign a callback to the button*/ - -lv_obj_t * label = lv_label_create(button);                        /*Add a label to the button*/ -lv_label_set_text(label, "Button");                             /*Set the labels text*/ -lv_obj_center(label);                                           /*Align the label to the center*/ -... - -void button_event_cb(lv_event_t * e) +static uint32_t my_tick_cb(void) { -  printf("Clicked\n"); + return my_get_millisec(); +} + +static void my_flush_cb(lv_display_t * disp, const lv_area_t * area, uint8_t * px_map) +{ + /*Write px_map to the area->x1, area->x2, area->y1, area->y2 area of the + *frame buffer or external display controller. */ +} + +static void my_touch_read_cb(lv_indev_t * indev, lv_indev_data_t * data) +{ + if(my_touch_is_pressed()) { + data->point.x = touchpad_x; + data->point.y = touchpad_y; + data->state = LV_INDEV_STATE_PRESSED; + } else { + data->state = LV_INDEV_STATE_RELEASED; + } +} + +void main(void) +{ + my_hardware_init(); + + /*Initialize LVGL*/ + lv_init(); + + /*Set millisecond-based tick source for LVGL so that it can track time.*/ + lv_tick_set_cb(my_tick_cb); + + /*Create a display where screens and widgets can be added*/ + lv_display_t * display = lv_display_create(TFT_HOR_RES, TFT_VER_RES); + + /*Add rendering buffers to the screen. + *Here adding a smaller partial buffer assuming 16-bit (RGB565 color format)*/ + static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2]; /* x2 because of 16-bit color depth */ + lv_display_set_buffers(display, buf, NULL, sizeof(buf), LV_DISPLAY_RENDER_MODE_PARTIAL); + + /*Add a callback that can flush the content from `buf` when it has been rendered*/ + lv_display_set_flush_cb(display, my_flush_cb); + + /*Create an input device for touch handling*/ + lv_indev_t * indev = lv_indev_create(); + lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER); + lv_indev_set_read_cb(indev, my_touch_read_cb); + + /*The drivers are in place; now we can create the UI*/ + lv_obj_t * label = lv_label_create(lv_screen_active()); + lv_label_set_text(label, "Hello world"); + lv_obj_center(label); + + /*Execute the LVGL-related tasks in a loop*/ + while(1) { + lv_timer_handler(); + my_sleep_ms(5); /*Wait a little to let the system breathe*/ + } } ``` + +## 🤖 Examples + +You can check out more than 100 examples at https://docs.lvgl.io/master/examples.html + +The Online Viewer also contains tutorials to easily learn XML: https://viewer.lvgl.io/ + + +### Hello World Button with an Event + +image + +
+ C code + + ```c +static void button_clicked_cb(lv_event_t * e) +{ + printf("Clicked\n"); +} + +[...] + + lv_obj_t * button = lv_button_create(lv_screen_active()); + lv_obj_center(button); + lv_obj_add_event_cb(button, button_clicked_cb, LV_EVENT_CLICKED, NULL); + + lv_obj_t * label = lv_label_create(button); + lv_label_set_text(label, "Hello from LVGL!"); +```
- MicroPython code | Online Simulator + In XML with LVGL Pro -```python -def button_event_cb(e): -  print("Clicked") - -# Create a Button and a Label -button = lv.button(lv.screen_active()) -button.center() -button.set_size(100, 50) -button.add_event_cb(button_event_cb, lv.EVENT.CLICKED, None) - -label = lv.label(button) -label.set_text("Button") -label.center() +```xml + + + + + + + + ``` -
-
-### Checkboxes with Layout -![Checkboxes with layout in LVGL](https://github.com/kisvegabor/test/raw/master/readme_example_3.gif) +
+ +### Styled Slider with Data-binding + +image
C code ```c +static void my_observer_cb(lv_observer_t * observer, lv_subject_t * subject) +{ + printf("Slider value: %d\n", lv_subject_get_int(subject)); +} -lv_obj_set_flex_flow(lv_screen_active(), LV_FLEX_FLOW_COLUMN); -lv_obj_set_flex_align(lv_screen_active(), LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_CENTER); +[...] -lv_obj_t * cb; -cb = lv_checkbox_create(lv_screen_active()); -lv_checkbox_set_text(cb, "Apple"); -lv_obj_add_event_cb(cb, event_handler, LV_EVENT_ALL, NULL); +static lv_subject_t subject_value; +lv_subject_init_int(&subject_value, 35); +lv_subject_add_observer(&subject_value, my_observer_cb, NULL); -cb = lv_checkbox_create(lv_screen_active()); -lv_checkbox_set_text(cb, "Banana"); -lv_obj_add_state(cb, LV_STATE_CHECKED); -lv_obj_add_event_cb(cb, event_handler, LV_EVENT_ALL, NULL); +lv_style_t style_base; +lv_style_init(&style_base); +lv_style_set_bg_color(&style_base, lv_color_hex(0xff8800)); +lv_style_set_bg_opa(&style_base, 255); +lv_style_set_radius(&style_base, 4); -cb = lv_checkbox_create(lv_screen_active()); -lv_checkbox_set_text(cb, "Lemon"); -lv_obj_add_state(cb, LV_STATE_DISABLED); -lv_obj_add_event_cb(cb, event_handler, LV_EVENT_ALL, NULL); - -cb = lv_checkbox_create(lv_screen_active()); -lv_obj_add_state(cb, LV_STATE_CHECKED | LV_STATE_DISABLED); -lv_checkbox_set_text(cb, "Melon\nand a new line"); -lv_obj_add_event_cb(cb, event_handler, LV_EVENT_ALL, NULL); -``` - -
- -
- MicroPython code | Online Simulator - -```python -def event_handler(e): - code = e.get_code() - obj = e.get_target_obj() - if code == lv.EVENT.VALUE_CHANGED: - txt = obj.get_text() - if obj.get_state() & lv.STATE.CHECKED: - state = "Checked" - else: - state = "Unchecked" - print(txt + ":" + state) - - -lv.screen_active().set_flex_flow(lv.FLEX_FLOW.COLUMN) -lv.screen_active().set_flex_align(lv.FLEX_ALIGN.CENTER, lv.FLEX_ALIGN.START, lv.FLEX_ALIGN.CENTER) - -cb = lv.checkbox(lv.screen_active()) -cb.set_text("Apple") -cb.add_event_cb(event_handler, lv.EVENT.ALL, None) - -cb = lv.checkbox(lv.screen_active()) -cb.set_text("Banana") -cb.add_state(lv.STATE.CHECKED) -cb.add_event_cb(event_handler, lv.EVENT.ALL, None) - -cb = lv.checkbox(lv.screen_active()) -cb.set_text("Lemon") -cb.add_state(lv.STATE.DISABLED) -cb.add_event_cb(event_handler, lv.EVENT.ALL, None) - -cb = lv.checkbox(lv.screen_active()) -cb.add_state(lv.STATE.CHECKED | lv.STATE.DISABLED) -cb.set_text("Melon") -cb.add_event_cb(event_handler, lv.EVENT.ALL, None) -``` - -
-
- -### Styling a Slider -![Styling a slider with LVGL](https://github.com/kisvegabor/test/raw/master/readme_example_4.gif) - - -
- C code - -```c lv_obj_t * slider = lv_slider_create(lv_screen_active()); -lv_slider_set_value(slider, 70, LV_ANIM_OFF); -lv_obj_set_size(slider, 300, 20); lv_obj_center(slider); +lv_obj_set_size(slider, lv_pct(80), 16); +lv_obj_add_style(slider, &style_base, LV_PART_INDICATOR); +lv_obj_add_style(slider, &style_base, LV_PART_KNOB); +lv_obj_add_style(slider, &style_base, 0); +lv_obj_set_style_bg_opa(slider, LV_OPA_50, 0); +lv_obj_set_style_border_width(slider, 3, LV_PART_KNOB); +lv_obj_set_style_border_color(slider, lv_color_hex3(0xfff), LV_PART_KNOB); +lv_slider_bind_value(slider, &subject_value); -/*Add local styles to MAIN part (background rectangle)*/ -lv_obj_set_style_bg_color(slider, lv_color_hex(0x0F1215), LV_PART_MAIN); -lv_obj_set_style_bg_opa(slider, 255, LV_PART_MAIN); -lv_obj_set_style_border_color(slider, lv_color_hex(0x333943), LV_PART_MAIN); -lv_obj_set_style_border_width(slider, 5, LV_PART_MAIN); -lv_obj_set_style_pad_all(slider, 5, LV_PART_MAIN); - -/*Create a reusable style sheet for the INDICATOR part*/ -static lv_style_t style_indicator; -lv_style_init(&style_indicator); -lv_style_set_bg_color(&style_indicator, lv_color_hex(0x37B9F5)); -lv_style_set_bg_grad_color(&style_indicator, lv_color_hex(0x1464F0)); -lv_style_set_bg_grad_dir(&style_indicator, LV_GRAD_DIR_HOR); -lv_style_set_shadow_color(&style_indicator, lv_color_hex(0x37B9F5)); -lv_style_set_shadow_width(&style_indicator, 15); -lv_style_set_shadow_spread(&style_indicator, 5); -4 -/*Add the style sheet to the slider's INDICATOR part*/ -lv_obj_add_style(slider, &style_indicator, LV_PART_INDICATOR); - -/*Add the same style to the KNOB part too and locally overwrite some properties*/ -lv_obj_add_style(slider, &style_indicator, LV_PART_KNOB); - -lv_obj_set_style_outline_color(slider, lv_color_hex(0x0096FF), LV_PART_KNOB); -lv_obj_set_style_outline_width(slider, 3, LV_PART_KNOB); -lv_obj_set_style_outline_pad(slider, -5, LV_PART_KNOB); -lv_obj_set_style_shadow_spread(slider, 2, LV_PART_KNOB); +lv_obj_t * label = lv_label_create(lv_screen_active()); +lv_obj_align(label, LV_ALIGN_CENTER, 0, -30); +lv_label_bind_text(label, &subject_value, "Temperature: %d °C"); ```
- MicroPython code | -Online Simulator - + In XML with LVGL Pro +```xml + + +