Update LVGL to 9.2.2

This commit is contained in:
Vladimir Stoiakin 2025-04-15 16:17:52 +00:00 committed by Johannes Marbach
parent a711b61e11
commit 8b1ca6e4cf
79 changed files with 2018 additions and 2437 deletions

107
buffyboard/lv_conf.defaults Normal file
View file

@ -0,0 +1,107 @@
# SPDX-License-Identifier: GPL-3.0-or-later
# Manual post-processing steps for the generated lv_conf.h
# 1. Remove LV_BIG_ENDIAN_SYSTEM (handled by meson.build)
# 2. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py)
LV_COLOR_DEPTH 32
LV_USE_DRAW_SW 1
LV_DRAW_SW_COMPLEX 1
LV_DRAW_SW_SUPPORT_RGB565 0
LV_DRAW_SW_SUPPORT_RGB565A8 0
LV_DRAW_SW_SUPPORT_RGB888 1
LV_DRAW_SW_SUPPORT_XRGB8888 1
LV_DRAW_SW_SUPPORT_ARGB8888 1
LV_DRAW_SW_SUPPORT_L8 0
LV_DRAW_SW_SUPPORT_AL88 0
LV_DRAW_SW_SUPPORT_A8 0
LV_DRAW_SW_SUPPORT_I1 0
LV_USE_LOG 1
LV_LOG_LEVEL LV_LOG_LEVEL_WARN
LV_USE_PRIVATE_API 1
LV_FONT_MONTSERRAT_8 0
LV_FONT_MONTSERRAT_10 0
LV_FONT_MONTSERRAT_12 0
LV_FONT_MONTSERRAT_14 0
LV_FONT_MONTSERRAT_16 0
LV_FONT_MONTSERRAT_18 0
LV_FONT_MONTSERRAT_20 0
LV_FONT_MONTSERRAT_22 0
LV_FONT_MONTSERRAT_24 0
LV_FONT_MONTSERRAT_26 0
LV_FONT_MONTSERRAT_28 0
LV_FONT_MONTSERRAT_30 0
LV_FONT_MONTSERRAT_32 0
LV_FONT_MONTSERRAT_34 0
LV_FONT_MONTSERRAT_36 0
LV_FONT_MONTSERRAT_38 0
LV_FONT_MONTSERRAT_40 0
LV_FONT_MONTSERRAT_42 0
LV_FONT_MONTSERRAT_44 0
LV_FONT_MONTSERRAT_46 0
LV_FONT_MONTSERRAT_48 0
LV_FONT_MONTSERRAT_28_COMPRESSED 0
LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0
LV_FONT_SIMSUN_14_CJK 0
LV_FONT_SIMSUN_16_CJK 0
LV_FONT_UNSCII_8 0
LV_FONT_UNSCII_16 0
#LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)
LV_FONT_DEFAULT &bbx_font_32
LV_WIDGETS_HAS_DEFAULT_VALUE 0
LV_USE_ANIMIMG 0
LV_USE_ARC 0
LV_USE_BAR 0
LV_USE_BUTTON 1
LV_USE_BUTTONMATRIX 1
LV_USE_CALENDAR 0
LV_USE_CANVAS 0
LV_USE_CHART 0
LV_USE_CHECKBOX 0
LV_USE_DROPDOWN 1
LV_USE_IMAGE 1
LV_USE_IMAGEBUTTON 0
LV_USE_KEYBOARD 1
LV_USE_LABEL 1
LV_LABEL_TEXT_SELECTION 0
LV_LABEL_LONG_TXT_HINT 0
LV_USE_LED 0
LV_USE_LINE 0
LV_USE_LIST 0
LV_USE_LOTTIE 0
LV_USE_MENU 0
LV_USE_MSGBOX 1
LV_USE_ROLLER 0
LV_USE_SCALE 0
LV_USE_SLIDER 0
LV_USE_SPAN 0
LV_USE_SPINBOX 0
LV_USE_SPINNER 0
LV_USE_SWITCH 0
LV_USE_TEXTAREA 1
LV_TEXTAREA_DEF_PWD_SHOW_TIME 0 /*ms*/
LV_USE_TABLE 0
LV_USE_TABVIEW 0
LV_USE_TILEVIEW 0
LV_USE_WIN 0
LV_USE_THEME_DEFAULT 0
LV_USE_THEME_SIMPLE 0
LV_USE_THEME_MONO 0
LV_USE_FLEX 1
LV_USE_GRID 0
LV_USE_LINUX_FBDEV 1
LV_LINUX_FBDEV_BSD 0
LV_LINUX_FBDEV_RENDER_MODE LV_DISPLAY_RENDER_MODE_PARTIAL
LV_USE_LIBINPUT 1
LV_LIBINPUT_BSD 0
LV_LIBINPUT_XKB 0
LV_BUILD_EXAMPLES 0

File diff suppressed because it is too large Load diff

View file

@ -51,7 +51,7 @@ static lv_obj_t *keyboard = NULL;
* @param height display height
* @return denominator
*/
static int keyboard_height_denominator(lv_coord_t width, lv_coord_t height);
static int keyboard_height_denominator(int32_t width, int32_t height);
/**
* Handle termination signals sent to the process.
@ -93,7 +93,7 @@ static void pop_checked_modifier_keys(void);
* Static functions
*/
static int keyboard_height_denominator(lv_coord_t width, lv_coord_t height) {
static int keyboard_height_denominator(int32_t width, int32_t height) {
return (height > width) ? 3 : 2;
}
@ -227,7 +227,7 @@ int main(int argc, char *argv[]) {
/* Override display properties with command line options if necessary */
lv_display_set_offset(disp, cli_opts.x_offset, cli_opts.y_offset);
if (cli_opts.hor_res > 0 || cli_opts.ver_res > 0) {
lv_display_set_physical_resolution(disp, lv_disp_get_hor_res(disp), lv_disp_get_ver_res(disp));
lv_display_set_physical_resolution(disp, lv_display_get_horizontal_resolution(disp), lv_display_get_vertical_resolution(disp));
lv_display_set_resolution(disp, cli_opts.hor_res, cli_opts.ver_res);
}
if (cli_opts.dpi > 0) {
@ -242,14 +242,14 @@ int main(int argc, char *argv[]) {
switch (cli_opts.rotation) {
case LV_DISPLAY_ROTATION_0:
case LV_DISPLAY_ROTATION_180: {
lv_coord_t denom = keyboard_height_denominator(hor_res_phys, ver_res_phys);
int32_t denom = keyboard_height_denominator(hor_res_phys, ver_res_phys);
lv_display_set_resolution(disp, hor_res_phys, ver_res_phys / denom);
lv_display_set_offset(disp, 0, (cli_opts.rotation == LV_DISPLAY_ROTATION_0) ? (denom - 1) * ver_res_phys / denom : 0);
break;
}
case LV_DISPLAY_ROTATION_90:
case LV_DISPLAY_ROTATION_270: {
lv_coord_t denom = keyboard_height_denominator(ver_res_phys, hor_res_phys);
int32_t denom = keyboard_height_denominator(ver_res_phys, hor_res_phys);
lv_display_set_resolution(disp, hor_res_phys / denom, ver_res_phys);
lv_display_set_offset(disp, 0, (cli_opts.rotation == LV_DISPLAY_ROTATION_90) ? (denom - 1) * hor_res_phys / denom : 0);
break;
@ -261,9 +261,10 @@ int main(int argc, char *argv[]) {
/* Initialise theme */
bbx_theme_apply(bbx_themes_themes[conf_opts.theme.default_id]);
lv_theme_apply(lv_screen_active());
/* Add keyboard */
keyboard = lv_keyboard_create(lv_scr_act());
keyboard = lv_keyboard_create(lv_screen_active());
uint32_t num_keyboard_events = lv_obj_get_event_count(keyboard);
for(uint32_t i = 0; i < num_keyboard_events; ++i) {
if(lv_event_dsc_get_cb(lv_obj_get_event_dsc(keyboard, i)) == lv_keyboard_def_event_cb) {
@ -290,30 +291,3 @@ int main(int argc, char *argv[]) {
return 0;
}
/**
* Tick generation
*/
/**
* Generate tick for LVGL.
*
* @return tick in ms
*/
uint32_t bb_get_tick(void) {
static uint64_t start_ms = 0;
if (start_ms == 0) {
struct timeval tv_start;
gettimeofday(&tv_start, NULL);
start_ms = (tv_start.tv_sec * 1000000 + tv_start.tv_usec) / 1000;
}
struct timeval tv_now;
gettimeofday(&tv_now, NULL);
uint64_t now_ms;
now_ms = (tv_now.tv_sec * 1000000 + tv_now.tv_usec) / 1000;
uint32_t time_ms = now_ms - start_ms;
return time_ms;
}