| /* |
| * Copyright (c) 2018 Jan Van Winkel <jan.van_winkel@dxplore.eu> |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_LIB_GUI_LVGL_LV_CONF_H_ |
| #define ZEPHYR_LIB_GUI_LVGL_LV_CONF_H_ |
| |
| /* Dynamic memory */ |
| |
| #define LV_MEM_CUSTOM 1 |
| |
| #ifdef CONFIG_LVGL_MEM_POOL_HEAP_KERNEL |
| |
| #define LV_MEM_CUSTOM_INCLUDE "kernel.h" |
| #define LV_MEM_CUSTOM_ALLOC k_malloc |
| #define LV_MEM_CUSTOM_FREE k_free |
| |
| #define LV_ENABLE_GC 0 |
| |
| #elif defined(CONFIG_LVGL_MEM_POOL_HEAP_LIB_C) |
| |
| #define LV_MEM_CUSTOM_INCLUDE "stdlib.h" |
| #define LV_MEM_CUSTOM_ALLOC malloc |
| #define LV_MEM_CUSTOM_FREE free |
| |
| #ifdef CONFIG_NEWLIB_LIBC |
| |
| #define LV_ENABLE_GC 1 |
| #define LV_MEM_CUSTOM_REALLOC realloc |
| #define LV_MEM_CUSTOM_GET_SIZE malloc_size |
| #define LV_GC_INCLUDE "stdlib.h" |
| |
| #else |
| |
| #define LV_ENABLE_GC 0 |
| |
| #endif |
| |
| #else |
| |
| #define LV_MEM_CUSTOM_INCLUDE "lvgl_mem.h" |
| #define LV_MEM_CUSTOM_ALLOC lvgl_malloc |
| #define LV_MEM_CUSTOM_FREE lvgl_free |
| |
| #define LV_ENABLE_GC 0 |
| |
| #endif |
| |
| /* Graphics settings */ |
| |
| #define LV_HOR_RES CONFIG_LVGL_HOR_RES |
| #define LV_VER_RES CONFIG_LVGL_VER_RES |
| #define LV_DPI CONFIG_LVGL_DPI |
| |
| #ifdef CONFIG_LVGL_ANTIALIAS |
| #define LV_ANTIALIAS CONFIG_LVGL_ANTIALIAS |
| #else |
| #define LV_ANTIALIAS 0 |
| #endif |
| |
| #define LV_REFR_PERIOD CONFIG_LVGL_SCREEN_REFRESH_PERIOD |
| |
| /* VDB settings */ |
| |
| #ifdef CONFIG_LVGL_TRUE_DOUBLE_BUFFERED |
| #define LV_VDB_SIZE (CONFIG_LVGL_VDB_SIZE * CONFIG_LVGL_HOR_RES) |
| #else |
| #define LV_VDB_SIZE (CONFIG_LVGL_VDB_SIZE * CONFIG_LVGL_HOR_RES \ |
| * CONFIG_LVGL_VER_RES / 100) |
| #endif |
| |
| #if CONFIG_LVGL_BITS_PER_PIXEL == 0 |
| #define LV_VDB_PX_BPP LV_COLOR_SIZE |
| #else |
| #define LV_VDB_PX_BPP CONFIG_LVGL_BITS_PER_PIXEL |
| #endif |
| |
| #ifdef CONFIG_LVGL_VDB_STATIC |
| #define LV_VDB_ADR 0 |
| #else |
| #define LV_VDB_ADR LV_VDB_ADR_INV |
| #endif |
| |
| #define LV_VDB_DOUBLE CONFIG_LVGL_DOUBLE_VDB |
| #ifdef CONFIG_LVGL_VDB_STATIC |
| #define LV_VDB2_ADR 0 |
| #else |
| #define LV_VDB2_ADR LV_VDB_ADR_INV |
| #endif |
| |
| #define LV_VDB_TRUE_DOUBLE_BUFFERED CONFIG_LVGL_TRUE_DOUBLE_BUFFERED |
| |
| /* Miscellaneous setting */ |
| |
| #define LV_INDEV_READ_PERIOD CONFIG_LVGL_INPUT_REFRESH_PERIOD |
| #define LV_INDEV_POINT_MARKER CONFIG_LVGL_INPUT_MARK_PRESSED_POINTS |
| #define LV_INDEV_DRAG_LIMIT CONFIG_LVGL_INPUT_DRAG_THRESHOLD |
| #define LV_INDEV_DRAG_THROW CONFIG_LVGL_INPUT_DRAG_THROW_SLOW_DOWN |
| #define LV_INDEV_LONG_PRESS_TIME CONFIG_LVGL_INPUT_LONG_PRESS_TIME |
| #define LV_INDEV_LONG_PRESS_REP_TIME CONFIG_LVGL_INPUT_LONG_RESS_REPEAT_TIME |
| |
| #ifdef CONFIG_LVGL_COLOR_DEPTH_32 |
| #define LV_COLOR_DEPTH 32 |
| #elif defined(CONFIG_LVGL_COLOR_DEPTH_16) |
| #define LV_COLOR_DEPTH 16 |
| #elif defined(CONFIG_LVGL_COLOR_DEPTH_8) |
| #define LV_COLOR_DEPTH 8 |
| #elif defined(CONFIG_LVGL_COLOR_DEPTH_1) |
| #define LV_COLOR_DEPTH 1 |
| #else |
| #error No color depth defined |
| #endif |
| |
| #define LV_COLOR_16_SWAP CONFIG_LVGL_COLOR_16_SWAP |
| #define LV_COLOR_SCREEN_TRANSP CONFIG_LVGL_COLOR_SCREEN_TRANSP |
| |
| #ifdef CONFIG_LVGL_CHROMA_KEY_RED |
| #define LV_COLOR_TRANSP LV_COLOR_RED |
| #elif defined(CONFIG_LVGL_CHROMA_KEY_GREEN) |
| #define LV_COLOR_TRANSP LV_COLOR_LIME |
| #elif defined(CONFIG_LVGL_CHROMA_KEY_BLUE) |
| #define LV_COLOR_TRANSP LV_COLOR_BLUE |
| #elif defined(CONFIG_LVGL_CHROMA_KEY_CUSTOM) |
| #define LV_COLOR_TRANSP LV_COLOR_MAKE(CONFIG_LVGL_CUSTOM_CHROMA_KEY_RED, \ |
| CONFIG_LVGL_CUSTOM_CHROMA_KEY_GREEN, \ |
| CONFIG_LVGL_CUSTOM_CHROMA_KEY_BLUE) |
| #else |
| #error No chroma key defined |
| #endif |
| |
| #define LV_TXT_UTF8 CONFIG_LVGL_UTF_8 |
| #define LV_TXT_BREAK_CHARS CONFIG_LVGL_TEXT_BREAK_CHARACTERS |
| #define LV_TXT_LINE_BREAK_LONG_LEN CONFIG_LVGL_TEXT_BREAK_LONG_WORD_SIZE |
| #define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN \ |
| CONFIG_LVGL_TEXT_BREAK_LONG_WORD_PRE_MIN_LEN |
| #define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN \ |
| CONFIG_LVGL_TEXT_BREAK_LONG_WORD_POST_MIN_LEN |
| |
| #define USE_LV_ANIMATION CONFIG_LVGL_ANIMATION |
| #define USE_LV_SHADOW CONFIG_LVGL_SHADOW |
| #define USE_LV_GROUP CONFIG_LVGL_GROUP |
| #define USE_LV_GPU CONFIG_LVGL_GPU |
| #define USE_LV_REAL_DRAW CONFIG_LVGL_DIRECT_DRAW |
| #define USE_LV_FILESYSTEM CONFIG_LVGL_FILESYSTEM |
| |
| #ifdef LVGL_MULTI_LANGUAGE |
| #define USE_LV_MULTI_LANG CONFIG_LVGL_NBR_OF_LANGUAGES |
| #else |
| #define USE_LV_MULTI_LANG 0 |
| #endif |
| |
| #define LV_ATTRIBUTE_TICK_INC |
| #define LV_ATTRIBUTE_TASK_HANDLER |
| #define LV_COMPILER_VLA_SUPPORTED CONFIG_LVGL_VLA_SUPPORT |
| #define LV_COMPILER_NON_CONST_INIT_SUPPORTED \ |
| CONFIG_LVGL_COMPILER_NON_CONST_INIT_SUPPORTED |
| |
| #define LV_TICK_CUSTOM 1 |
| #define LV_TICK_CUSTOM_INCLUDE "kernel.h" |
| #define LV_TICK_CUSTOM_SYS_TIME_EXPR (k_uptime_get_32()) |
| |
| #if CONFIG_LVGL_LOG_LEVEL == 0 |
| #define USE_LV_LOG 0 |
| #else |
| #define USE_LV_LOG 1 |
| |
| #if CONFIG_LVGL_LOG_LEVEL == 1 |
| #define LV_LOG_LEVEL LV_LOG_LEVEL_ERROR |
| #elif CONFIG_LVGL_LOG_LEVEL == 2 |
| #define LV_LOG_LEVEL LV_LOG_LEVEL_WARN |
| #elif CONFIG_LVGL_LOG_LEVEL == 3 |
| #define LV_LOG_LEVEL LV_LOG_LEVEL_INFO |
| #elif CONFIG_LVGL_LOG_LEVEL == 4 |
| #define LV_LOG_LEVEL LV_LOG_LEVEL_TRACE |
| #else |
| #error Invalid log level defined |
| #endif |
| |
| #define LV_LOG_PRINTF 0 |
| #endif |
| |
| /* Theme support */ |
| |
| #ifdef CONFIG_LVGL_THEMES |
| |
| #define LV_THEME_LIVE_UPDATE CONFIG_LVGL_THEME_LIVE_UPDATE |
| |
| #define USE_LV_THEME_TEMPL 0 |
| #define USE_LV_THEME_DEFAULT CONFIG_LVGL_THEME_DEFAULT |
| #define USE_LV_THEME_ALIEN CONFIG_LVGL_THEME_ALIEN |
| #define USE_LV_THEME_NIGHT CONFIG_LVGL_THEME_NIGHT |
| #define USE_LV_THEME_MONO CONFIG_LVGL_THEME_MONO |
| #define USE_LV_THEME_MATERIAL CONFIG_LVGL_THEME_MATERIAL |
| #define USE_LV_THEME_ZEN CONFIG_LVGL_THEME_ZEN |
| #define USE_LV_THEME_NEMO CONFIG_LVGL_THEME_NEMO |
| |
| #else |
| |
| #define LV_THEME_LIVE_UPDATE 0 |
| |
| #define USE_LV_THEME_TEMPL 0 |
| #define USE_LV_THEME_DEFAULT 0 |
| #define USE_LV_THEME_ALIEN 0 |
| #define USE_LV_THEME_NIGHT 0 |
| #define USE_LV_THEME_MONO 0 |
| #define USE_LV_THEME_MATERIAL 0 |
| #define USE_LV_THEME_ZEN 0 |
| #define USE_LV_THEME_NEMO 0 |
| |
| #endif |
| |
| /* Font support */ |
| |
| #ifdef CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_10_ASCII |
| #define LV_FONT_DEFAULT (&lv_font_dejavu_10) |
| #elif defined(CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_20_ASCII) |
| #define LV_FONT_DEFAULT (&lv_font_dejavu_20) |
| #elif defined(CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_30_ASCII) |
| #define LV_FONT_DEFAULT (&lv_font_dejavu_30) |
| #elif defined(CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_40_ASCII) |
| #define LV_FONT_DEFAULT (&lv_font_dejavu_40) |
| #elif defined(CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_MONOSPACE) |
| #define LV_FONT_DEFAULT (&lv_font_monospace_8) |
| #elif defined(CONFIG_LVGL_DEFAULT_FONT_CUSTOM) |
| extern void *lv_default_font_custom_ptr; |
| #define LV_FONT_DEFAULT ((lv_font_t *) lv_default_font_custom_ptr) |
| #else |
| #error No defulat font defined |
| #endif |
| |
| #ifdef CONFIG_LVGL_BUILD_IN_FONT_10 |
| |
| #define USE_LV_FONT_DEJAVU_10 \ |
| CONFIG_LVGL_BUILD_IN_FONT_10_ASCII_BPP |
| #define USE_LV_FONT_DEJAVU_10_LATIN_SUP \ |
| CONFIG_LVGL_BUILD_IN_FONT_10_LATIN_SUP_BPP |
| #define USE_LV_FONT_DEJAVU_10_CYRILLIC \ |
| CONFIG_LVGL_BUILD_IN_FONT_10_CYRILLIC_BPP |
| #define USE_LV_FONT_SYMBOL_10 \ |
| CONFIG_LVGL_BUILD_IN_FONT_10_SYMBOL_BPP |
| |
| #else |
| |
| #define USE_LV_FONT_DEJAVU_10 0 |
| #define USE_LV_FONT_DEJAVU_10_LATIN_SUP 0 |
| #define USE_LV_FONT_DEJAVU_10_CYRILLIC 0 |
| #define USE_LV_FONT_SYMBOL_10 0 |
| |
| #endif |
| |
| #if CONFIG_LVGL_BUILD_IN_FONT_20 |
| |
| #define USE_LV_FONT_DEJAVU_20 \ |
| CONFIG_LVGL_BUILD_IN_FONT_20_ASCII_BPP |
| #define USE_LV_FONT_DEJAVU_20_LATIN_SUP \ |
| CONFIG_LVGL_BUILD_IN_FONT_20_LATIN_SUP_BPP |
| #define USE_LV_FONT_DEJAVU_20_CYRILLIC \ |
| CONFIG_LVGL_BUILD_IN_FONT_20_CYRILLIC_BPP |
| #define USE_LV_FONT_SYMBOL_20 \ |
| CONFIG_LVGL_BUILD_IN_FONT_20_SYMBOL_BPP |
| |
| #else |
| |
| #define USE_LV_FONT_DEJAVU_20 0 |
| #define USE_LV_FONT_DEJAVU_20_LATIN_SUP 0 |
| #define USE_LV_FONT_DEJAVU_20_CYRILLIC 0 |
| #define USE_LV_FONT_SYMBOL_20 0 |
| |
| #endif |
| |
| #if CONFIG_LVGL_BUILD_IN_FONT_30 |
| |
| #define USE_LV_FONT_DEJAVU_30 \ |
| CONFIG_LVGL_BUILD_IN_FONT_30_ASCII_BPP |
| #define USE_LV_FONT_DEJAVU_30_LATIN_SUP \ |
| CONFIG_LVGL_BUILD_IN_FONT_30_LATIN_SUP_BPP |
| #define USE_LV_FONT_DEJAVU_30_CYRILLIC \ |
| CONFIG_LVGL_BUILD_IN_FONT_30_CYRILLIC_BPP |
| #define USE_LV_FONT_SYMBOL_30 \ |
| CONFIG_LVGL_BUILD_IN_FONT_30_SYMBOL_BPP |
| |
| #else |
| |
| #define USE_LV_FONT_DEJAVU_30 0 |
| #define USE_LV_FONT_DEJAVU_30_LATIN_SUP 0 |
| #define USE_LV_FONT_DEJAVU_30_CYRILLIC 0 |
| #define USE_LV_FONT_SYMBOL_30 0 |
| |
| #endif |
| |
| #if CONFIG_LVGL_BUILD_IN_FONT_40 |
| |
| #define USE_LV_FONT_DEJAVU_40 \ |
| CONFIG_LVGL_BUILD_IN_FONT_40_ASCII_BPP |
| #define USE_LV_FONT_DEJAVU_40_LATIN_SUP \ |
| CONFIG_LVGL_BUILD_IN_FONT_40_LATIN_SUP_BPP |
| #define USE_LV_FONT_DEJAVU_40_CYRILLIC \ |
| CONFIG_LVGL_BUILD_IN_FONT_40_CYRILLIC_BPP |
| #define USE_LV_FONT_SYMBOL_40 \ |
| CONFIG_LVGL_BUILD_IN_FONT_40_SYMBOL_BPP |
| |
| #else |
| |
| #define USE_LV_FONT_DEJAVU_40 0 |
| #define USE_LV_FONT_DEJAVU_40_LATIN_SUP 0 |
| #define USE_LV_FONT_DEJAVU_40_CYRILLIC 0 |
| #define USE_LV_FONT_SYMBOL_40 0 |
| |
| #endif |
| |
| #define USE_LV_FONT_MONOSPACE_8 CONFIG_LVGL_BUILD_IN_FONT_MONOSPACE |
| |
| #define LV_FONT_CUSTOM_DECLARE |
| |
| /* Objects */ |
| #define LV_OBJ_FREE_NUM_TYPE uint32_t |
| #define LV_OBJ_FREE_PTR 1 |
| #define LV_OBJ_REALIGN CONFIG_LVGL_OBJ_REALIGN |
| |
| #define USE_LV_LABEL CONFIG_LVGL_OBJ_LABEL |
| #if USE_LV_LABEL != 0 |
| #define LV_LABEL_SCROLL_SPEED CONFIG_LVGL_OBJ_LABEL_SCROLL_SPEED |
| #endif |
| |
| #define USE_LV_IMG CONFIG_LVGL_OBJ_IMAGE |
| #if USE_LV_IMG != 0 |
| #define LV_IMG_CF_INDEXED CONFIG_LVGL_IMG_CF_INDEXED |
| #define LV_IMG_CF_ALPHA CONFIG_LVGL_IMG_CF_ALPHA |
| #endif |
| |
| #define USE_LV_LINE CONFIG_LVGL_OBJ_LINE |
| |
| #define USE_LV_ARC CONFIG_LVGL_OBJ_ARC |
| |
| #define USE_LV_CONT CONFIG_LVGL_OBJ_CONTAINER |
| |
| #define USE_LV_PAGE CONFIG_LVGL_OBJ_PAGE |
| |
| #define USE_LV_WIN CONFIG_LVGL_OBJ_WINDOW |
| |
| #define USE_LV_TABVIEW CONFIG_LVGL_OBJ_TAB_VIEW |
| #if USE_LV_TABVIEW != 0 |
| #define LV_TABVIEW_ANIM_TIME CONFIG_LVGL_OBJ_TAB_VIEW_ANIMATION_TIME |
| #endif |
| |
| #define USE_LV_TILEVIEW CONFIG_LVGL_OBJ_TILE_VIEW |
| #if USE_LV_TILEVIEW != 0 |
| #define LV_TILEVIEW_ANIM_TIME CONFIG_LVGL_OBJ_TILE_VIEW_ANIMATION_TIME |
| #endif |
| |
| #define USE_LV_CALENDAR CONFIG_LVGL_OBJ_CALENDAR |
| |
| #define USE_LV_PRELOAD CONFIG_LVGL_OBJ_PRELOAD |
| #if USE_LV_PRELOAD != 0 |
| #define LV_PRELOAD_DEF_ARC_LENGTH CONFIG_LVGL_OBJ_PRELOAD_DEF_ARC_LENGTH |
| #define LV_PRELOAD_DEF_SPIN_TIME CONFIG_LVGL_OBJ_PRELOAD_DEF_SPIN_TIME |
| #ifdef LVGL_OBJ_PRELOAD_DEF_ANIMATION_SPIN_ARC |
| #define LV_PRELOAD_DEF_ANIM LV_PRELOAD_TYPE_SPINNING_ARC |
| #endif |
| #ifdef LVGL_OBJ_PRELOAD_DEF_ANIMATION_FILL |
| #define LV_PRELOAD_DEF_ANIM LV_PRELOAD_TYPE_FILLSPIN_ARC |
| #endif |
| #endif |
| |
| #define USE_LV_CANVAS CONFIG_LVGL_OBJ_CANVAS |
| |
| #define USE_LV_BAR CONFIG_LVGL_OBJ_BAR |
| |
| #define USE_LV_LMETER CONFIG_LVGL_OBJ_LINE_METER |
| |
| #define USE_LV_GAUGE CONFIG_LVGL_OBJ_GAUGE |
| |
| #define USE_LV_CHART CONFIG_LVGL_OBJ_CHART |
| |
| #define USE_LV_TABLE CONFIG_LVGL_OBJ_TABLE |
| #if USE_LV_TABLE != 0 |
| #define LV_TABLE_COL_MAX CONFIG_LVGL_OBJ_TABLE_COLUMN_MAX |
| #endif |
| |
| #define USE_LV_LED CONFIG_LVGL_OBJ_LED |
| |
| #define USE_LV_MBOX CONFIG_LVGL_OBJ_MSG_BOX |
| |
| #define USE_LV_TA CONFIG_LVGL_OBJ_TEXT_AREA |
| #if USE_LV_TA != 0 |
| #define LV_TA_CURSOR_BLINK_TIME \ |
| CONFIG_LVGL_OBJ_TEXT_AREA_CURSOR_BLINK_TIME |
| #define LV_TA_PWD_SHOW_TIME \ |
| CONFIG_LVGL_OBJ_TEXT_AREA_PWD_SHOW_TIME |
| #endif |
| |
| #define USE_LV_SPINBOX CONFIG_LVGL_OBJ_SPINBOX |
| |
| #define USE_LV_BTN CONFIG_LVGL_OBJ_BUTTON |
| |
| #if USE_LV_BTN != 0 |
| #define LV_BTN_INK_EFFECT CONFIG_LVGL_OBJ_BUTTON_INK_EFFECT |
| #endif |
| |
| #define USE_LV_IMGBTN CONFIG_LVGL_OBJ_IMG_BUTTON |
| #if USE_LV_IMGBTN |
| #define LV_IMGBTN_TILED CONFIG_LVGL_OBJ_IMG_BUTTON_TILED |
| #endif |
| |
| #define USE_LV_BTNM CONFIG_LVGL_OBJ_BUTTON_MATRIX |
| |
| #define USE_LV_KB CONFIG_LVGL_OBJ_KEYBOARD |
| |
| #define USE_LV_CB CONFIG_LVGL_OBJ_CHECK_BOX |
| |
| #define USE_LV_LIST CONFIG_LVGL_OBJ_LIST |
| #if USE_LV_LIST != 0 |
| #define LV_LIST_FOCUS_TIME CONFIG_LVGL_OBJ_LIST_FOCUS_TIME |
| #endif |
| |
| #define USE_LV_DDLIST CONFIG_LVGL_OBJ_DROP_DOWN_LIST |
| #if USE_LV_DDLIST != 0 |
| #define LV_DDLIST_ANIM_TIME CONFIG_LVGL_OBJ_DROP_DOWN_LIST_ANIM_TIME |
| #endif |
| |
| #define USE_LV_ROLLER CONFIG_LVGL_OBJ_ROLLER |
| #if USE_LV_ROLLER != 0 |
| #define LV_ROLLER_ANIM_TIME CONFIG_LVGL_OBJ_ROLLER_ANIM_TIME |
| #endif |
| |
| #define USE_LV_SLIDER CONFIG_LVGL_OBJ_SLIDER |
| |
| #define USE_LV_SW CONFIG_LVGL_OBJ_SWITCH |
| |
| #endif /* ZEPHYR_LIB_GUI_LVGL_LV_CONF_H_ */ |