mirror of
https://github.com/lvgl/lvgl.git
synced 2026-08-17 09:42:19 +08:00
3646 lines
89 KiB
Plaintext
3646 lines
89 KiB
Plaintext
# Generated file. DO NOT EDIT!
|
|
|
|
menu "LVGL"
|
|
menu "Memory and Standard Library"
|
|
|
|
config LV_STDLIB_BUILTIN
|
|
int
|
|
default 0
|
|
|
|
config LV_STDLIB_CLIB
|
|
int
|
|
default 1
|
|
|
|
config LV_STDLIB_MICROPYTHON
|
|
int
|
|
default 2
|
|
|
|
config LV_STDLIB_RTTHREAD
|
|
int
|
|
default 3
|
|
|
|
config LV_STDLIB_CUSTOM
|
|
int
|
|
default 255
|
|
|
|
choice
|
|
prompt "Malloc functions source"
|
|
default LV_USE_BUILTIN_MALLOC
|
|
|
|
config LV_USE_BUILTIN_MALLOC
|
|
bool "LVGL's built in implementation"
|
|
|
|
config LV_USE_CLIB_MALLOC
|
|
bool "Standard C functions malloc/realloc/free"
|
|
|
|
config LV_USE_MICROPYTHON_MALLOC
|
|
bool "MicroPython functions malloc/realloc/free"
|
|
|
|
config LV_USE_RTTHREAD_MALLOC
|
|
bool "RT-Thread functions malloc/realloc/free"
|
|
|
|
config LV_USE_CUSTOM_MALLOC
|
|
bool "Implement the functions externally"
|
|
|
|
endchoice # "Malloc functions"
|
|
|
|
config LV_USE_STDLIB_MALLOC
|
|
int
|
|
default LV_STDLIB_BUILTIN if LV_USE_BUILTIN_MALLOC
|
|
default LV_STDLIB_CLIB if LV_USE_CLIB_MALLOC
|
|
default LV_STDLIB_MICROPYTHON if LV_USE_MICROPYTHON_MALLOC
|
|
default LV_STDLIB_RTTHREAD if LV_USE_RTTHREAD_MALLOC
|
|
default LV_STDLIB_CUSTOM if LV_USE_CUSTOM_MALLOC
|
|
|
|
choice
|
|
prompt "String functions source"
|
|
default LV_USE_BUILTIN_STRING
|
|
|
|
config LV_USE_BUILTIN_STRING
|
|
bool "LVGL's built in implementation"
|
|
|
|
config LV_USE_CLIB_STRING
|
|
bool "Standard C functions memcpy/memset/strlen/strcpy"
|
|
|
|
config LV_USE_RTTHREAD_STRING
|
|
bool "RT-Thread functions rt_memcpy/rt_memset/rt_strlen/rt_strcpy"
|
|
|
|
config LV_USE_CUSTOM_STRING
|
|
bool "Implement the functions externally"
|
|
|
|
endchoice
|
|
|
|
config LV_USE_STDLIB_STRING
|
|
int
|
|
default LV_STDLIB_BUILTIN if LV_USE_BUILTIN_STRING
|
|
default LV_STDLIB_CLIB if LV_USE_CLIB_STRING
|
|
default LV_STDLIB_RTTHREAD if LV_USE_RTTHREAD_STRING
|
|
default LV_STDLIB_CUSTOM if LV_USE_CUSTOM_STRING
|
|
|
|
choice
|
|
prompt "Sprintf functions source"
|
|
default LV_USE_BUILTIN_SPRINTF
|
|
|
|
config LV_USE_BUILTIN_SPRINTF
|
|
bool "LVGL's built in implementation"
|
|
|
|
config LV_USE_CLIB_SPRINTF
|
|
bool "Standard C function vsnprintf"
|
|
|
|
config LV_USE_RTTHREAD_SPRINTF
|
|
bool "RT-Thread function rt_vsnprintf"
|
|
|
|
config LV_USE_CUSTOM_SPRINTF
|
|
bool "Implement the functions externally"
|
|
|
|
endchoice # "Sprintf functions"
|
|
|
|
config LV_USE_STDLIB_SPRINTF
|
|
int
|
|
default LV_STDLIB_BUILTIN if LV_USE_BUILTIN_SPRINTF
|
|
default LV_STDLIB_CLIB if LV_USE_CLIB_SPRINTF
|
|
default LV_STDLIB_RTTHREAD if LV_USE_RTTHREAD_SPRINTF
|
|
default LV_STDLIB_CUSTOM if LV_USE_CUSTOM_SPRINTF
|
|
|
|
if LV_USE_BUILTIN_MALLOC
|
|
|
|
menu "Builtin Malloc Settings"
|
|
|
|
config LV_MEM_SIZE
|
|
int "Memory size in bytes (Needs to be at least 2kB (2048))"
|
|
default 65536
|
|
|
|
config LV_MEM_SIZE_KILOBYTES
|
|
int "Memory size (KB) [DEPRECATED: use LV_MEM_SIZE]"
|
|
default 0
|
|
help
|
|
Deprecated. Use LV_MEM_SIZE (in bytes) instead.
|
|
|
|
config LV_MEM_POOL_EXPAND_SIZE_KILOBYTES
|
|
int "Size of the memory expand for `lv_malloc()` in kilobytes [DEPRECATED: use LV_MEM_SIZE directly]"
|
|
default 0
|
|
help
|
|
Deprecated. Modify LV_MEM_SIZE (in bytes) directly instead.
|
|
|
|
config LV_MEM_ADR
|
|
hex "Address for the memory pool instead of allocating it as a normal array. 0: unused"
|
|
default 0x0
|
|
endmenu
|
|
|
|
endif #LV_USE_BUILTIN_MALLOC
|
|
|
|
# Standard library headers LVGL includes. Keep the angle brackets / quotes in
|
|
# the value: it is emitted verbatim (unquoted) as the #include argument.
|
|
config LV_STDINT_INCLUDE
|
|
string "Header for integer types (stdint)"
|
|
default "stdint.h"
|
|
|
|
config LV_STDDEF_INCLUDE
|
|
string "Header for standard definitions (stddef)"
|
|
default "stddef.h"
|
|
|
|
config LV_STDBOOL_INCLUDE
|
|
string "Header for boolean types (stdbool)"
|
|
default "stdbool.h"
|
|
|
|
config LV_INTTYPES_INCLUDE
|
|
string "Header for fixed-width integer format macros (inttypes)"
|
|
default "inttypes.h"
|
|
|
|
config LV_LIMITS_INCLUDE
|
|
string "Header for implementation limits (limits)"
|
|
default "limits.h"
|
|
|
|
config LV_STDARG_INCLUDE
|
|
string "Header for variadic argument handling (stdarg)"
|
|
default "stdarg.h"
|
|
endmenu
|
|
menu "Operating System (OS)"
|
|
choice LV_USE_OS
|
|
prompt "Default operating system to use"
|
|
default LV_OS_NONE
|
|
|
|
config LV_OS_NONE
|
|
bool "NONE"
|
|
config LV_OS_PTHREAD
|
|
bool "PTHREAD"
|
|
select LV_OS_USE_PTHREAD
|
|
config LV_OS_FREERTOS
|
|
bool "FREERTOS"
|
|
select LV_OS_USE_FREERTOS
|
|
config LV_OS_CMSIS_RTOS2
|
|
bool "CMSIS_RTOS2"
|
|
select LV_OS_USE_CMSIS_RTOS2
|
|
config LV_OS_RTTHREAD
|
|
bool "RTTHREAD"
|
|
select LV_OS_USE_RTTHREAD
|
|
config LV_OS_WINDOWS
|
|
bool "WINDOWS"
|
|
select LV_OS_USE_WINDOWS
|
|
config LV_OS_MQX
|
|
bool "MQX"
|
|
select LV_OS_USE_MQX
|
|
config LV_OS_SDL2
|
|
bool "SDL2"
|
|
select LV_OS_USE_SDL2
|
|
config LV_OS_CUSTOM
|
|
bool "CUSTOM"
|
|
select LV_OS_USE_CUSTOM_INCLUDE
|
|
endchoice
|
|
|
|
config LV_USE_OS
|
|
int
|
|
default 0 if LV_OS_NONE
|
|
default 1 if LV_OS_PTHREAD
|
|
default 2 if LV_OS_FREERTOS
|
|
default 3 if LV_OS_CMSIS_RTOS2
|
|
default 4 if LV_OS_RTTHREAD
|
|
default 5 if LV_OS_WINDOWS
|
|
default 6 if LV_OS_MQX
|
|
default 7 if LV_OS_SDL2
|
|
default 255 if LV_OS_CUSTOM
|
|
|
|
# Internal flags that can be used to
|
|
# generate cmake variables during build
|
|
config LV_OS_USE_PTHREAD
|
|
bool
|
|
|
|
config LV_OS_USE_FREERTOS
|
|
bool
|
|
|
|
config LV_OS_USE_CMSIS_RTOS2
|
|
bool
|
|
|
|
config LV_OS_USE_RTTHREAD
|
|
bool
|
|
|
|
config LV_OS_USE_WINDOWS
|
|
bool
|
|
|
|
config LV_OS_USE_MQX
|
|
bool
|
|
|
|
config LV_OS_USE_SDL2
|
|
bool
|
|
|
|
config LV_OS_USE_CUSTOM_INCLUDE
|
|
bool
|
|
config LV_OS_USE_CUSTOM_INCLUDE
|
|
bool
|
|
|
|
config LV_OS_CUSTOM_INCLUDE
|
|
string "Custom OS include header"
|
|
default ""
|
|
depends on LV_OS_CUSTOM
|
|
|
|
if LV_OS_FREERTOS
|
|
menu "FreeRTOS Configuration"
|
|
|
|
config LV_USE_FREERTOS_TASK_NOTIFY
|
|
bool "Use RTOS task with a direct notification for synchronization"
|
|
default y
|
|
help
|
|
Unblocking an RTOS task with a direct notification is 45% faster and uses less RAM
|
|
than unblocking a task using an intermediary object such as a binary semaphore.
|
|
RTOS task notifications can only be used when there is only one task that can be the recipient of the event.
|
|
|
|
config LV_OS_IDLE_PERCENT_CUSTOM
|
|
bool "Custom idle percentage calculation"
|
|
default n
|
|
help
|
|
Enable this to provide a custom implementation of lv_os_get_idle_percent.
|
|
This is useful for multi-core systems where the default
|
|
FreeRTOS implementation might not sufficiently track idle time across all cores.
|
|
endmenu
|
|
endif #LV_OS_FREERTOS
|
|
endmenu
|
|
menu "Rendering Configuration"
|
|
|
|
menu "Color Settings"
|
|
choice
|
|
prompt "Color depth"
|
|
default LV_COLOR_DEPTH_16
|
|
help
|
|
Color depth to be used.
|
|
|
|
config LV_COLOR_DEPTH_32
|
|
bool "32: XRGB8888"
|
|
imply LV_FONT_MONTSERRAT_14
|
|
config LV_COLOR_DEPTH_24
|
|
bool "24: RGB888"
|
|
imply LV_FONT_MONTSERRAT_14
|
|
config LV_COLOR_DEPTH_16
|
|
bool "16: RGB565"
|
|
imply LV_FONT_MONTSERRAT_14
|
|
config LV_COLOR_DEPTH_8
|
|
bool "8: RGB232"
|
|
imply LV_FONT_UNSCII_8
|
|
config LV_COLOR_DEPTH_1
|
|
bool "1: 1 byte per pixel"
|
|
imply LV_FONT_MONTSERRAT_14
|
|
endchoice
|
|
|
|
config LV_COLOR_DEPTH
|
|
int
|
|
default 1 if LV_COLOR_DEPTH_1
|
|
default 8 if LV_COLOR_DEPTH_8
|
|
default 16 if LV_COLOR_DEPTH_16
|
|
default 24 if LV_COLOR_DEPTH_24
|
|
default 32 if LV_COLOR_DEPTH_32
|
|
help
|
|
Color depth: 1 (I1), 8 (L8), 16 (RGB565), 24 (RGB888), 32 (XRGB8888)
|
|
|
|
config LV_COLOR_MIX_ROUND_OFS
|
|
int "Adjust color mix functions rounding"
|
|
default 0
|
|
range 0 254
|
|
help
|
|
0: no adjustment, get the integer part of the result (round down)
|
|
64: round up from x.75
|
|
128: round up from half
|
|
192: round up from x.25
|
|
254: round up
|
|
endmenu
|
|
|
|
# Capability configs, these are set internally by draw units. Can be used by eg: widgets that depend
|
|
# on a specific draw feature
|
|
config LV_DRAW_HAS_VECTOR_SUPPORT
|
|
bool
|
|
default n
|
|
|
|
config LV_DRAW_HAS_3D_SUPPORT
|
|
bool
|
|
default n
|
|
|
|
config LV_DEF_REFR_PERIOD
|
|
int "Default refresh period (ms)"
|
|
default 33
|
|
help
|
|
Default display refresh, input device read and animation step period.
|
|
|
|
config LV_DPI_DEF
|
|
int "Default Dots Per Inch (in px/inch)"
|
|
default 130
|
|
help
|
|
Used to initialize default sizes such as widgets sizes and style paddings.
|
|
(Not so important, you can adjust it to modify default sizes and spaces)
|
|
|
|
config LV_DRAW_BUF_STRIDE_ALIGN
|
|
int "Buffer stride alignment"
|
|
default 1
|
|
help
|
|
Align the stride of all layers and images to this many bytes.
|
|
|
|
config LV_DRAW_BUF_ALIGN
|
|
int "Buffer address alignment"
|
|
default 4
|
|
help
|
|
Align the start address of draw_buf addresses to this many bytes.
|
|
|
|
config LV_USE_MATRIX
|
|
bool "Enable matrix support"
|
|
default n
|
|
select LV_USE_FLOAT
|
|
help
|
|
Enable matrix support
|
|
|
|
config LV_DRAW_TRANSFORM_USE_MATRIX
|
|
bool "Using matrix for transformations"
|
|
default n
|
|
depends on LV_USE_MATRIX
|
|
help
|
|
Requirements: The rendering engine needs to support 3x3 matrix transformations.
|
|
|
|
config LV_DRAW_LAYER_SIMPLE_BUF_SIZE
|
|
int "Optimal size to buffer the widget with opacity"
|
|
default 24576
|
|
help
|
|
If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode
|
|
it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks.
|
|
"Transformed layers" (if `transform_angle/zoom` are set) use larger buffers and can't be drawn in chunks.
|
|
|
|
config LV_DRAW_LAYER_MAX_MEMORY
|
|
int "The maximum amount of memory that can be used for layers"
|
|
default 0
|
|
help
|
|
Limit the max allocated memory for simple and transformed layers.
|
|
It should be at least `LV_DRAW_LAYER_SIMPLE_BUF_SIZE` sized but if transformed layers are also used
|
|
it should be enough to store the largest widget too (width x height x 4 area).
|
|
Set it to 0 to have no limit.
|
|
|
|
config LV_DRAW_THREAD_STACK_SIZE
|
|
int "Stack size of draw thread in bytes"
|
|
default 8192
|
|
depends on !LV_OS_NONE
|
|
help
|
|
If FreeType or ThorVG is enabled, it is recommended to set it to 32KB or more.
|
|
|
|
config LV_DRAW_THREAD_PRIO
|
|
int "Thread priority for the drawing thread"
|
|
range 0 4
|
|
default 3
|
|
depends on !LV_OS_NONE
|
|
help
|
|
Thread priority controls the relative importance of the drawing threads.
|
|
Values correspond to lv_thread_prio_t enum in lv_os.h:
|
|
0: LV_THREAD_PRIO_LOWEST
|
|
1: LV_THREAD_PRIO_LOW
|
|
2: LV_THREAD_PRIO_MID (default)
|
|
3: LV_THREAD_PRIO_HIGH
|
|
4: LV_THREAD_PRIO_HIGHEST
|
|
|
|
Higher priority can improve rendering performance but might cause
|
|
starvation of lower priority tasks.
|
|
|
|
config LV_USE_VECTOR_GRAPHIC
|
|
bool "Use Vector Graphic APIs"
|
|
default n
|
|
select LV_USE_MATRIX
|
|
help
|
|
Enable drawing support vector graphic APIs.
|
|
|
|
|
|
config LV_USE_SNAPSHOT
|
|
bool "Enable API to take snapshot"
|
|
default n
|
|
help
|
|
Enable API to take snapshot for object
|
|
|
|
config LV_USE_THORVG
|
|
bool "ThorVG library for vector graphics support"
|
|
default n
|
|
select LV_DRAW_HAS_VECTOR_SUPPORT if LV_USE_DRAW_SW
|
|
|
|
config LV_USE_THORVG_INTERNAL
|
|
bool "Internal ThorVG library bundled with LVGL"
|
|
default y
|
|
depends on LV_USE_THORVG
|
|
|
|
|
|
# These are menus because they contain a lot of configuration options
|
|
menu "Software Rendering (SW)"
|
|
config LV_USE_DRAW_SW
|
|
bool "Enable software rendering"
|
|
default y
|
|
help
|
|
Required to draw anything on the screen.
|
|
|
|
if LV_USE_DRAW_SW
|
|
|
|
config LV_DRAW_SW_SUPPORT_RGB565
|
|
bool "Enable support for RGB565 color format"
|
|
default y
|
|
|
|
config LV_DRAW_SW_SUPPORT_RGB565_SWAPPED
|
|
bool "Enable support for RGB565 swapped color format"
|
|
default y
|
|
|
|
config LV_DRAW_SW_SUPPORT_RGB565A8
|
|
bool "Enable support for RGB565A8 color format"
|
|
default y
|
|
|
|
config LV_DRAW_SW_SUPPORT_RGB888
|
|
bool "Enable support for RGB888 color format"
|
|
default y
|
|
|
|
|
|
config LV_DRAW_SW_SUPPORT_XRGB8888
|
|
bool "Enable support for XRGB8888 color format"
|
|
default y
|
|
|
|
|
|
config LV_DRAW_SW_SUPPORT_ARGB8888
|
|
bool "Enable support for ARGB8888 color format"
|
|
default y
|
|
|
|
|
|
config LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED
|
|
bool "Enable support for ARGB8888 premultiplied color format"
|
|
default y
|
|
|
|
|
|
config LV_DRAW_SW_SUPPORT_L8
|
|
bool "Enable support for L8 color format"
|
|
default y
|
|
|
|
|
|
config LV_DRAW_SW_SUPPORT_AL88
|
|
bool "Enable support for AL88 color format"
|
|
default y
|
|
|
|
|
|
config LV_DRAW_SW_SUPPORT_A8
|
|
bool "Enable support for A8 color format"
|
|
default y
|
|
|
|
|
|
config LV_DRAW_SW_SUPPORT_I1
|
|
bool "Enable support for I1 color format"
|
|
default y
|
|
|
|
|
|
config LV_DRAW_SW_I1_LUM_THRESHOLD
|
|
int "Luminance threshold for a pixel to be active"
|
|
default 127
|
|
range 0 254
|
|
depends on LV_DRAW_SW_SUPPORT_I1
|
|
|
|
config LV_DRAW_SW_DRAW_UNIT_CNT
|
|
int "Number of draw units"
|
|
default 1
|
|
depends on !LV_OS_NONE
|
|
help
|
|
Number of threads used to render a frame in parallel
|
|
|
|
config LV_USE_DRAW_ARM2D_SYNC
|
|
bool "Enable Arm's 2D image processing library (Arm-2D) for all Cortex-M processors"
|
|
default n
|
|
help
|
|
Must deploy arm-2d library to your project and add include PATH for "arm_2d.h".
|
|
|
|
config LV_USE_NATIVE_HELIUM_ASM
|
|
bool "Enable native helium assembly"
|
|
default n
|
|
help
|
|
Disabling this allows arm2d to work on its own (for testing only)
|
|
|
|
config LV_DRAW_SW_COMPLEX
|
|
bool "Enable complex draw engine"
|
|
default y
|
|
help
|
|
0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only,
|
|
1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too.
|
|
|
|
config LV_GRADIENT_MAX_STOPS
|
|
int "Number of stops allowed per gradient"
|
|
default 2
|
|
help
|
|
Increase this to allow more stops.
|
|
This adds (sizeof(lv_color_t) + 1) bytes per additional stop
|
|
|
|
config LV_USE_DRAW_SW_COMPLEX_GRADIENTS
|
|
bool "Enable drawing complex gradients in software"
|
|
default n
|
|
|
|
help
|
|
0: do not enable complex gradients
|
|
1: enable complex gradients (linear at an angle, radial or conical)
|
|
|
|
config LV_DRAW_SW_SHADOW_CACHE_SIZE
|
|
int "Allow buffering some shadow calculation"
|
|
depends on LV_DRAW_SW_COMPLEX
|
|
default 0
|
|
help
|
|
LV_DRAW_SW_SHADOW_CACHE_SIZE is the max shadow size to buffer, where
|
|
shadow size is `shadow_width + radius`.
|
|
Caching has LV_DRAW_SW_SHADOW_CACHE_SIZE^2 RAM cost.
|
|
|
|
config LV_DRAW_SW_CIRCLE_CACHE_SIZE
|
|
int "Set number of maximally cached circle data"
|
|
depends on LV_DRAW_SW_COMPLEX
|
|
default 4
|
|
help
|
|
The circumference of 1/4 circle are saved for anti-aliasing
|
|
radius * 4 bytes are used per circle (the most often used
|
|
radiuses are saved).
|
|
Set to 0 to disable caching.
|
|
|
|
choice LV_USE_DRAW_SW_ASM
|
|
prompt "Asm mode in sw draw"
|
|
default LV_DRAW_SW_ASM_NONE
|
|
|
|
help
|
|
ASM mode to be used
|
|
|
|
config LV_DRAW_SW_ASM_NONE
|
|
bool "0: NONE"
|
|
config LV_DRAW_SW_ASM_NEON
|
|
bool "1: NEON"
|
|
config LV_DRAW_SW_ASM_HELIUM
|
|
bool "2: HELIUM"
|
|
config LV_DRAW_SW_ASM_RISCV_V
|
|
bool "3: RISC-V Vector"
|
|
config LV_DRAW_SW_ASM_CUSTOM
|
|
bool "255: CUSTOM"
|
|
select LV_DRAW_SW_ASM_USE_CUSTOM_INCLUDE
|
|
endchoice
|
|
|
|
config LV_USE_DRAW_SW_ASM
|
|
int
|
|
default 0 if LV_DRAW_SW_ASM_NONE
|
|
default 1 if LV_DRAW_SW_ASM_NEON
|
|
default 2 if LV_DRAW_SW_ASM_HELIUM
|
|
default 3 if LV_DRAW_SW_ASM_RISCV_V
|
|
default 255 if LV_DRAW_SW_ASM_CUSTOM
|
|
|
|
config LV_DRAW_SW_ASM_USE_CUSTOM_INCLUDE
|
|
bool
|
|
|
|
config LV_DRAW_SW_ASM_CUSTOM_INCLUDE
|
|
string "Set the custom asm include file"
|
|
default ""
|
|
depends on LV_DRAW_SW_ASM_CUSTOM
|
|
|
|
endif #LV_USE_DRAW_SW
|
|
endmenu
|
|
|
|
menu "VGLite"
|
|
config LV_USE_DRAW_VG_LITE
|
|
bool "Use VG-Lite GPU"
|
|
default n
|
|
select LV_USE_MATRIX
|
|
select LV_DRAW_HAS_VECTOR_SUPPORT
|
|
help
|
|
Use VG-Lite GPU.
|
|
|
|
if LV_USE_DRAW_VG_LITE
|
|
|
|
config LV_VG_LITE_USE_GPU_INIT
|
|
bool "Enable VG-Lite custom external 'gpu_init()' function"
|
|
default n
|
|
|
|
config LV_VG_LITE_USE_ASSERT
|
|
bool "Enable VG-Lite assert"
|
|
default n
|
|
|
|
config LV_VG_LITE_FLUSH_MAX_COUNT
|
|
int "VG-Lite flush commit trigger threshold"
|
|
default 8
|
|
help
|
|
GPU will try to batch these many draw tasks
|
|
|
|
config LV_VG_LITE_USE_BOX_SHADOW
|
|
bool "Enable border to simulate shadow"
|
|
default y
|
|
help
|
|
which usually improves performance,
|
|
but does not guarantee the same rendering quality as the software.
|
|
|
|
config LV_VG_LITE_GRAD_CACHE_CNT
|
|
int "VG-Lite gradient maximum cache number"
|
|
default 32
|
|
help
|
|
The memory usage of a single gradient:
|
|
linear: 4K bytes.
|
|
radial: radius * 4K bytes.
|
|
|
|
config LV_VG_LITE_STROKE_CACHE_CNT
|
|
int "VG-Lite stroke maximum cache number"
|
|
default 32
|
|
|
|
config LV_VG_LITE_BITMAP_FONT_CACHE_CNT
|
|
int "VG-Lite unaligned bitmap font maximum cache number"
|
|
default 256
|
|
|
|
config LV_VG_LITE_DISABLE_VLC_OP_CLOSE
|
|
bool "Remove VLC_OP_CLOSE path instruction (Workaround for NXP)"
|
|
default n
|
|
|
|
config LV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXT
|
|
bool "Disable linear gradient extension for some older versions of drivers"
|
|
default n
|
|
|
|
config LV_VG_LITE_DISABLE_BLIT_RECT_OFFSET
|
|
bool "Disable blit rectangular offset to resolve certain hardware errors"
|
|
default n
|
|
|
|
config LV_VG_LITE_PATH_DUMP_MAX_LEN
|
|
int "Maximum path dump print length (in points)"
|
|
default 1000
|
|
|
|
config LV_USE_VG_LITE_DRIVER
|
|
bool "Use LVGL's built-in vg_lite driver"
|
|
default n
|
|
|
|
if LV_USE_VG_LITE_DRIVER
|
|
# The GPU series + revision selects which
|
|
# VGLite/Series/<series>/<revision>/vg_lite_options.h is included. A
|
|
# free-form string/hex pair can't be represented in Kconfig (the include
|
|
# path needs unquoted tokens), so the supported GPUs are offered as a choice
|
|
# and mapped to the include in VGLite/vg_lite_options.h.
|
|
choice
|
|
prompt "VG-Lite GPU (series and revision)"
|
|
default LV_VG_LITE_GPU_GC255_0X40A
|
|
|
|
config LV_VG_LITE_GPU_GC255_0X40A
|
|
bool "GC255 (revision 0x40A)"
|
|
config LV_VG_LITE_GPU_GC355_0X0_1215
|
|
bool "GC355 (revision 0x0_1215)"
|
|
config LV_VG_LITE_GPU_GC355_0X0_1216
|
|
bool "GC355 (revision 0x0_1216)"
|
|
config LV_VG_LITE_GPU_GC555_0X423
|
|
bool "GC555 (revision 0x423)"
|
|
config LV_VG_LITE_GPU_GC555_0X423_ECO
|
|
bool "GC555 (revision 0x423 ECO)"
|
|
config LV_VG_LITE_GPU_GCNANOULTRAV_0X1003
|
|
bool "GCNanoUltraV (revision 0x1003)"
|
|
endchoice
|
|
|
|
config LV_VG_LITE_GPU
|
|
int
|
|
default 0 if LV_VG_LITE_GPU_GC255_0X40A
|
|
default 1 if LV_VG_LITE_GPU_GC355_0X0_1215
|
|
default 2 if LV_VG_LITE_GPU_GC355_0X0_1216
|
|
default 3 if LV_VG_LITE_GPU_GC555_0X423
|
|
default 4 if LV_VG_LITE_GPU_GC555_0X423_ECO
|
|
default 5 if LV_VG_LITE_GPU_GCNANOULTRAV_0X1003
|
|
|
|
config LV_VG_LITE_HAL_GPU_BASE_ADDRESS
|
|
hex "VG-Lite GPU base address"
|
|
default 0x40240000
|
|
endif #LV_USE_VG_LITE_DRIVER
|
|
|
|
config LV_USE_VG_LITE_THORVG
|
|
bool "VG-Lite Simulator"
|
|
default n
|
|
select LV_USE_THORVG
|
|
help
|
|
Use thorvg to simulate VG-Lite hardware behavior, it's useful
|
|
for debugging and testing on PC simulator. Enable LV_USE_THORVG,
|
|
Either internal ThorVG or external ThorVG library is required.
|
|
|
|
if LV_USE_VG_LITE_THORVG
|
|
|
|
config LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT
|
|
bool "Enable LVGL blend mode support"
|
|
default n
|
|
depends on LV_USE_VG_LITE_THORVG
|
|
|
|
config LV_VG_LITE_THORVG_YUV_SUPPORT
|
|
bool "Enable YUV color format support"
|
|
default n
|
|
|
|
config LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT
|
|
bool "Enable linear gradient extension support"
|
|
default n
|
|
|
|
config LV_VG_LITE_THORVG_16PIXELS_ALIGN
|
|
bool "Enable 16 pixels alignment"
|
|
default y
|
|
|
|
config LV_VG_LITE_THORVG_BUF_ADDR_ALIGN
|
|
int "Buffer address alignment"
|
|
default 64
|
|
|
|
config LV_VG_LITE_THORVG_THREAD_RENDER
|
|
bool "Enable multi-thread render"
|
|
default n
|
|
|
|
endif #LV_USE_VG_LITE_THORVG
|
|
endif #LV_USE_DRAW_VG_LITE
|
|
endmenu
|
|
|
|
menu "DAVE/2D"
|
|
config LV_USE_DRAW_DAVE2D
|
|
bool "Use Renesas Dave2D on RA platforms"
|
|
default n
|
|
help
|
|
Use Renesas Dave2D on RA platforms.
|
|
endmenu
|
|
|
|
menu "Nema GFX"
|
|
config LV_USE_NEMA_GFX
|
|
bool "Use NemaGFX acceleration"
|
|
default n
|
|
help
|
|
Use TSi's aka (Think Silicon) NemaGFX
|
|
|
|
if LV_USE_NEMA_GFX
|
|
|
|
config LV_NEMA_USE_CACHE
|
|
bool "Cache handling of NemaGFX"
|
|
default n
|
|
|
|
config LV_NEMA_CACHE_HAL_INCLUDE
|
|
string "NemaGFX Cache HAL include"
|
|
default "stm32u5xx_hal.h"
|
|
depends on LV_NEMA_USE_CACHE
|
|
|
|
choice LV_USE_NEMA_LIB
|
|
prompt "NemaGFX static library"
|
|
default LV_NEMA_LIB_NONE
|
|
|
|
config LV_NEMA_LIB_NONE
|
|
bool "LV_NEMA_LIB_NONE"
|
|
config LV_NEMA_LIB_M33_REVC
|
|
bool "LV_NEMA_LIB_M33_REVC"
|
|
config LV_NEMA_LIB_M33_NEMAPVG
|
|
bool "LV_NEMA_LIB_M33_NEMAPVG"
|
|
config LV_NEMA_LIB_M55
|
|
bool "LV_NEMA_LIB_M55"
|
|
config LV_NEMA_LIB_M7
|
|
bool "LV_NEMA_LIB_M7"
|
|
endchoice
|
|
|
|
config LV_USE_NEMA_LIB
|
|
int
|
|
default 0 if LV_NEMA_LIB_NONE
|
|
default 1 if LV_NEMA_LIB_M33_REVC
|
|
default 2 if LV_NEMA_LIB_M33_NEMAPVG
|
|
default 3 if LV_NEMA_LIB_M55
|
|
default 4 if LV_NEMA_LIB_M7
|
|
|
|
choice LV_USE_NEMA_HAL
|
|
prompt "NemaGFX HAL"
|
|
default LV_NEMA_HAL_CUSTOM
|
|
|
|
config LV_NEMA_HAL_CUSTOM
|
|
bool "LV_NEMA_HAL_CUSTOM"
|
|
config LV_NEMA_HAL_STM32
|
|
bool "LV_NEMA_HAL_STM32"
|
|
endchoice
|
|
|
|
config LV_USE_NEMA_HAL
|
|
int
|
|
default 0 if LV_NEMA_HAL_CUSTOM
|
|
default 1 if LV_NEMA_HAL_STM32
|
|
|
|
config LV_NEMA_STM32_HAL_INCLUDE
|
|
string "NemaGFX STM32 HAL include"
|
|
default "stm32u5xx_hal.h"
|
|
depends on LV_NEMA_HAL_STM32
|
|
|
|
config LV_NEMA_USE_CUSTOM_INCLUDE
|
|
bool "Include a custom NemaGFX attribute header"
|
|
default n
|
|
depends on LV_NEMA_HAL_STM32
|
|
help
|
|
Include the header given by LV_NEMA_CUSTOM_INCLUDE to override
|
|
NemaGFX/STM32 HAL-specific macros such as
|
|
LV_NEMA_STM32_HAL_ATTRIBUTE_POOL_MEM.
|
|
|
|
config LV_NEMA_CUSTOM_INCLUDE
|
|
string "Path to custom NemaGFX attribute header"
|
|
default ""
|
|
depends on LV_NEMA_USE_CUSTOM_INCLUDE
|
|
help
|
|
Optional header to override NemaGFX/STM32 HAL-specific macros.
|
|
|
|
LV_NEMA_STM32_HAL_ATTRIBUTE_POOL_MEM
|
|
Attribute applied to the NemaGFX memory pool on STM32 targets.
|
|
Used to place the pool in a specific RAM region accessible by
|
|
the NemaGFX DMA.
|
|
e.g. __attribute__((section(".nema_pool")))
|
|
|
|
config LV_USE_NEMA_VG
|
|
bool "Enable NemaVG operations"
|
|
select LV_DRAW_HAS_VECTOR_SUPPORT
|
|
default n
|
|
|
|
config LV_NEMA_GFX_MAX_RESX
|
|
int "NemaVG max horizontal resolution"
|
|
default 800
|
|
|
|
config LV_NEMA_GFX_MAX_RESY
|
|
int "NemaVG max vertical resolution"
|
|
default 600
|
|
|
|
endif
|
|
endmenu
|
|
|
|
menu "NXP PXP"
|
|
config LV_USE_PXP
|
|
bool "Use PXP (legacy, no effect) [DEPRECATED: use LV_USE_DRAW_PXP]"
|
|
default n
|
|
help
|
|
Deprecated and non-functional. Use LV_USE_DRAW_PXP instead.
|
|
|
|
config LV_USE_DRAW_PXP
|
|
bool "Use PXP for drawing"
|
|
default n
|
|
|
|
if LV_USE_DRAW_PXP
|
|
|
|
config LV_USE_ROTATE_PXP
|
|
bool "Use PXP to rotate the display"
|
|
default n
|
|
|
|
config LV_USE_PXP_DRAW_THREAD
|
|
bool "Use additional draw thread for PXP processing"
|
|
depends on !LV_OS_NONE
|
|
default y
|
|
|
|
config LV_USE_PXP_ASSERT
|
|
bool "Enable PXP asserts"
|
|
|
|
endif
|
|
endmenu
|
|
|
|
menu "ESP32 PPA"
|
|
config LV_USE_PPA
|
|
bool "Use Espressif's PPA accelerator for ESP SoCs"
|
|
default n
|
|
help
|
|
Draw using Espressif PPA accelerator
|
|
|
|
if LV_USE_PPA
|
|
|
|
config LV_USE_PPA_IMG
|
|
bool "Use Espressif's PPA accelerator for Image draw"
|
|
default n
|
|
|
|
config LV_PPA_BURST_LENGTH
|
|
int "PPA Burst length in bytes"
|
|
default 128
|
|
help
|
|
PPA burst length size in bytes.
|
|
|
|
endif
|
|
endmenu
|
|
|
|
menu "DMA2D"
|
|
config LV_USE_DRAW_DMA2D
|
|
bool "Use DMA2D on the supporting STM32 platforms"
|
|
default n
|
|
help
|
|
Accelerate blends, fills, image decoding, etc. with STM32 DMA2D.
|
|
|
|
if LV_USE_DRAW_DMA2D
|
|
|
|
config LV_DRAW_DMA2D_HAL_INCLUDE
|
|
string "the header file for LVGL to include for DMA2D"
|
|
default "stm32h7xx_hal.h"
|
|
|
|
config LV_USE_DRAW_DMA2D_INTERRUPT
|
|
bool "use the DMA2D transfer complete interrupt"
|
|
default n
|
|
help
|
|
if enabled, the user is required to call
|
|
`lv_draw_dma2d_transfer_complete_interrupt_handler`
|
|
upon receiving the DMA2D global interrupt
|
|
|
|
endif
|
|
endmenu
|
|
|
|
menu "EVE"
|
|
config LV_USE_DRAW_EVE
|
|
bool "Use EVE FT81X GPU"
|
|
default n
|
|
help
|
|
Use EVE FT81X GPU.
|
|
|
|
if LV_USE_DRAW_EVE
|
|
|
|
config LV_DRAW_EVE_EVE_GENERATION
|
|
int "EVE_GEN value"
|
|
default 4
|
|
range 2 4
|
|
|
|
config LV_DRAW_EVE_WRITE_BUFFER_SIZE
|
|
int "Max bytes to buffer for each SPI transmission or 0 to disable buffering"
|
|
default 2048
|
|
|
|
endif
|
|
endmenu
|
|
|
|
menu "NXP G2D"
|
|
config LV_USE_G2D
|
|
bool "Use G2D (legacy, no effect) [DEPRECATED: use LV_USE_DRAW_G2D]"
|
|
default n
|
|
help
|
|
Deprecated and non-functional. Use LV_USE_DRAW_G2D instead.
|
|
|
|
config LV_USE_DRAW_G2D
|
|
bool "Use G2D for drawing"
|
|
default n
|
|
|
|
if LV_USE_DRAW_G2D
|
|
|
|
config LV_G2D_HASH_TABLE_SIZE
|
|
int "Maximum number of buffers that can be stored for G2D draw unit"
|
|
default 50
|
|
help
|
|
Includes the frame buffers and assets.
|
|
|
|
config LV_USE_G2D_DRAW_THREAD
|
|
bool "Use additional draw thread for G2D processing"
|
|
depends on !LV_OS_NONE
|
|
default y
|
|
|
|
config LV_USE_G2D_ASSERT
|
|
bool "Enable G2D asserts"
|
|
depends on LV_USE_DRAW_G2D
|
|
default n
|
|
|
|
endif
|
|
endmenu
|
|
|
|
menu "NanoVG (OpenGL Shaders)"
|
|
config LV_USE_DRAW_NANOVG
|
|
bool "Use NanoVG Renderer."
|
|
default n
|
|
select LV_USE_NANOVG
|
|
select LV_USE_OPENGLES
|
|
select LV_USE_MATRIX
|
|
select LV_DRAW_HAS_VECTOR_SUPPORT
|
|
select LV_DRAW_HAS_3D_SUPPORT
|
|
help
|
|
Use NanoVG Renderer
|
|
|
|
if LV_USE_DRAW_NANOVG
|
|
|
|
choice LV_NANOVG_BACKEND
|
|
prompt "NanoVG OpenGL backend"
|
|
default LV_NANOVG_BACKEND_GLES2
|
|
help
|
|
Select which OpenGL implementation to use for NanoVG rendering.
|
|
|
|
config LV_NANOVG_BACKEND_GL2
|
|
bool "OpenGL 2.0"
|
|
config LV_NANOVG_BACKEND_GL3
|
|
bool "OpenGL 3.0+"
|
|
config LV_NANOVG_BACKEND_GLES2
|
|
bool "OpenGL ES 2.0"
|
|
config LV_NANOVG_BACKEND_GLES3
|
|
bool "OpenGL ES 3.0+"
|
|
endchoice
|
|
|
|
config LV_NANOVG_BACKEND
|
|
int
|
|
default 1 if LV_NANOVG_BACKEND_GL2
|
|
default 2 if LV_NANOVG_BACKEND_GL3
|
|
default 3 if LV_NANOVG_BACKEND_GLES2
|
|
default 4 if LV_NANOVG_BACKEND_GLES3
|
|
|
|
config LV_NANOVG_IMAGE_CACHE_CNT
|
|
int "Draw image texture cache count"
|
|
default 128
|
|
|
|
config LV_NANOVG_LETTER_CACHE_CNT
|
|
int "Draw letter cache count"
|
|
default 512
|
|
|
|
endif
|
|
endmenu
|
|
|
|
menu "OpenGL Textures"
|
|
config LV_USE_DRAW_OPENGLES
|
|
bool "Draw using cached OpenGLES textures"
|
|
default n
|
|
select LV_USE_OPENGLES
|
|
select LV_DRAW_HAS_3D_SUPPORT
|
|
help
|
|
Draw using cached OpenGLES textures.
|
|
|
|
if LV_USE_DRAW_OPENGLES
|
|
|
|
config LV_DRAW_OPENGLES_TEXTURE_CACHE_COUNT
|
|
int "OpenGLES texture cache count"
|
|
default 64
|
|
|
|
endif
|
|
endmenu
|
|
|
|
menu "SDL Textures"
|
|
config LV_USE_DRAW_SDL
|
|
bool "Draw using cached SDL textures"
|
|
default n
|
|
help
|
|
Uses SDL renderer API
|
|
endmenu
|
|
endmenu
|
|
menu "Input Devices"
|
|
config LV_USE_GRIDNAV
|
|
bool "Enable grid navigation"
|
|
default n
|
|
help
|
|
Enable grid navigation
|
|
|
|
config LV_USE_GESTURE_RECOGNITION
|
|
bool "Enable the multi-touch gesture recognition feature"
|
|
select LV_USE_FLOAT
|
|
default n
|
|
help
|
|
Enable the multi-touch gesture recognition feature
|
|
Gesture recognition requires the use of floats
|
|
|
|
endmenu
|
|
menu "Core"
|
|
|
|
config LV_OBJ_STYLE_CACHE
|
|
bool "Use cache to speed up getting object style properties"
|
|
default n
|
|
help
|
|
Add 2 x 32 bit variables to each lv_obj_t to speed up getting style properties
|
|
|
|
config LV_USE_OBJ_NAME
|
|
bool "Widget names (lv_obj_set_name)"
|
|
default n
|
|
help
|
|
Enable support for widget names
|
|
|
|
config LV_USE_OBJ_ID
|
|
bool "Widget id (lv_obj_set_id)"
|
|
default n
|
|
help
|
|
Add `id` field to `lv_obj_t`
|
|
|
|
if LV_USE_OBJ_ID
|
|
|
|
config LV_OBJ_ID_AUTO_ASSIGN
|
|
bool "Automatically assign an ID when obj is created"
|
|
default y
|
|
help
|
|
Automatically assign an ID when obj is created
|
|
|
|
config LV_USE_OBJ_ID_BUILTIN
|
|
bool "Use builtin method to deal with obj ID"
|
|
default y
|
|
help
|
|
Use builtin obj ID handler functions:
|
|
- lv_obj_assign_id: Called when a widget is created. Use a separate counter for each widget class as an ID.
|
|
- lv_obj_id_compare: Compare the ID to decide if it matches with a requested value.
|
|
- lv_obj_stringify_id: Return string-ified identifier, e.g. "button3".
|
|
- lv_obj_free_id: Does nothing, as there is no memory allocation for the ID.
|
|
When disabled these functions needs to be implemented by the user.
|
|
|
|
endif #LV_USE_OBJ_ID
|
|
|
|
config LV_USE_OBJ_PROPERTY
|
|
bool "Use obj property set/get API"
|
|
default n
|
|
help
|
|
Use obj property set/get API.
|
|
|
|
if LV_USE_OBJ_PROPERTY
|
|
|
|
config LV_USE_OBJ_PROPERTY_NAME
|
|
bool "Use name to access property"
|
|
default y
|
|
help
|
|
Add a name table to every widget class, so the property can be accessed by name.
|
|
Note, the const table will increase flash usage.
|
|
|
|
endif #LV_USE_OBJ_PROPERTY
|
|
|
|
config LV_USE_EXT_DATA
|
|
bool "External data and destructor"
|
|
default n
|
|
help
|
|
Enable this option to activate external data and destructor functionality,
|
|
which assists in resource cleanup when objects are freed by either LVGL core
|
|
or applications. Currently supported features include:
|
|
- event
|
|
- object
|
|
- observer
|
|
- anim
|
|
- timer
|
|
- group
|
|
- display
|
|
- indev (input device)
|
|
- theme
|
|
|
|
config LV_USE_FLOAT
|
|
bool "Use float as lv_value_precise_t"
|
|
default n
|
|
help
|
|
Use `float` as `lv_value_precise_t`
|
|
|
|
config LV_USE_OBSERVER
|
|
bool "Observer"
|
|
default y
|
|
help
|
|
Enable an observer pattern implementation
|
|
|
|
config LV_USE_TRANSLATION
|
|
bool "Text translation"
|
|
help
|
|
Enable text translation support
|
|
|
|
config LV_USE_COLOR_FILTER
|
|
bool "Color filter style"
|
|
default n
|
|
help
|
|
Enable color filter style
|
|
|
|
endmenu #"Core"
|
|
menu "Logging"
|
|
config LV_USE_LOG
|
|
bool "Enable the log module"
|
|
help
|
|
Enable log module
|
|
|
|
if LV_USE_LOG
|
|
|
|
choice
|
|
bool "Default log verbosity"
|
|
default LV_LOG_LEVEL_WARN
|
|
help
|
|
Specify how important log should be added.
|
|
|
|
config LV_LOG_LEVEL_TRACE
|
|
bool "LOG_LEVEL_TRACE: A lot of logs to give detailed information"
|
|
config LV_LOG_LEVEL_INFO
|
|
bool "LOG_LEVEL_INFO: Log important events"
|
|
config LV_LOG_LEVEL_WARN
|
|
bool "LOG_LEVEL_WARN: Log if something unwanted happened but didn't cause a problem"
|
|
config LV_LOG_LEVEL_ERROR
|
|
bool "LOG_LEVEL_ERROR: Only critical issues, when the system may fail"
|
|
config LV_LOG_LEVEL_USER
|
|
bool "LOG_LEVEL_USER: Only logs added by the user"
|
|
config LV_LOG_LEVEL_NONE
|
|
bool "LOG_LEVEL_NONE: Do not log anything"
|
|
endchoice
|
|
|
|
config LV_LOG_LEVEL
|
|
int
|
|
default 0 if LV_LOG_LEVEL_TRACE
|
|
default 1 if LV_LOG_LEVEL_INFO
|
|
default 2 if LV_LOG_LEVEL_WARN
|
|
default 3 if LV_LOG_LEVEL_ERROR
|
|
default 4 if LV_LOG_LEVEL_USER
|
|
default 5 if LV_LOG_LEVEL_NONE
|
|
|
|
config LV_LOG_LEVEL_NUM
|
|
int
|
|
default 5
|
|
|
|
config LV_LOG_PRINTF
|
|
bool "Print the log with 'printf'"
|
|
default n
|
|
help
|
|
Use printf for log output.
|
|
If not set the user needs to register a callback with `lv_log_register_print_cb`.
|
|
|
|
config LV_LOG_USE_TIMESTAMP
|
|
bool "Enable print timestamp"
|
|
default y
|
|
|
|
config LV_LOG_USE_FILE_LINE
|
|
bool "Enable print file and line number"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_MEM
|
|
bool "Enable/Disable LV_LOG_TRACE in mem module"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_TIMER
|
|
bool "Enable/Disable LV_LOG_TRACE in timer module"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_INDEV
|
|
bool "Enable/Disable LV_LOG_TRACE in indev module"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_DISP_REFR
|
|
bool "Enable/Disable LV_LOG_TRACE in disp refr module"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_EVENT
|
|
bool "Enable/Disable LV_LOG_TRACE in event module"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_OBJ_CREATE
|
|
bool "Enable/Disable LV_LOG_TRACE in obj create module"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_LAYOUT
|
|
bool "Enable/Disable LV_LOG_TRACE in layout module"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_ANIM
|
|
bool "Enable/Disable LV_LOG_TRACE in anim module"
|
|
default y
|
|
|
|
config LV_LOG_TRACE_CACHE
|
|
bool "Enable/Disable LV_LOG_TRACE in cache module"
|
|
default y
|
|
|
|
|
|
endif
|
|
endmenu
|
|
menu "Themes"
|
|
|
|
config LV_USE_THEME_DEFAULT
|
|
bool "A simple, impressive and very complete theme"
|
|
default y
|
|
help
|
|
A simple, impressive and very complete theme
|
|
|
|
if LV_USE_THEME_DEFAULT
|
|
config LV_THEME_DEFAULT_DARK
|
|
bool "Yes to set dark mode, No to set light mode"
|
|
default n
|
|
|
|
config LV_THEME_DEFAULT_GROW
|
|
bool "Enable grow on press"
|
|
default y
|
|
|
|
config LV_THEME_DEFAULT_TRANSITION_TIME
|
|
int "Default transition time in [ms]"
|
|
default 80
|
|
|
|
endif #LV_USE_THEME_DEFAULT
|
|
|
|
config LV_USE_THEME_SIMPLE
|
|
bool "A very simple theme that is a good starting point for a custom theme"
|
|
default y
|
|
help
|
|
A very simple theme that is a good starting point for a custom theme
|
|
|
|
config LV_USE_THEME_MONO
|
|
bool "Monochrome theme, suitable for some E-paper & dot matrix displays"
|
|
default y
|
|
help
|
|
A theme designed for monochrome displays
|
|
endmenu
|
|
menu "Layouts"
|
|
|
|
config LV_USE_FLEX
|
|
bool "A layout similar to Flexbox in CSS"
|
|
default y
|
|
help
|
|
A layout similar to Flexbox in CSS.
|
|
|
|
config LV_USE_GRID
|
|
bool "A layout similar to Grid in CSS"
|
|
default y
|
|
help
|
|
A layout similar to Grid in CSS.
|
|
endmenu
|
|
menu "Image Settings"
|
|
|
|
config LV_CACHE_DEF_SIZE
|
|
int "Default image cache size in bytes. 0 to disable caching"
|
|
default 0
|
|
help
|
|
When using only built-in image formats, caching provides little benefit.
|
|
For complex image decoders (e.g. PNG or JPG), caching avoids repeatedly
|
|
opening and decoding the same images, at the cost of additional RAM usage.
|
|
|
|
config LV_IMAGE_HEADER_CACHE_DEF_CNT
|
|
int "Default image header cache count. 0 to disable caching"
|
|
default 0
|
|
help
|
|
When using only built-in image formats, caching provides little benefit.
|
|
For complex image decoders (e.g. PNG or JPG), caching avoids repeatedly
|
|
reading image headers, at the cost of additional RAM usage.
|
|
|
|
config LV_USE_RLE
|
|
bool "LVGL's version of RLE compression method"
|
|
help
|
|
RLE decompress library
|
|
|
|
config LV_USE_LZ4
|
|
bool "Enable LZ4 compress/decompress lib"
|
|
default n
|
|
|
|
config LV_USE_LZ4_INTERNAL
|
|
bool "Use lvgl built-in LZ4 lib"
|
|
depends on LV_USE_LZ4
|
|
default y
|
|
help
|
|
Use lvgl built-in LZ4 lib
|
|
|
|
config LV_BIN_DECODER_RAM_LOAD
|
|
bool "Decode whole image to RAM when using the bin decoder"
|
|
default n
|
|
help
|
|
Decode bin images to RAM
|
|
|
|
config LV_USE_LODEPNG
|
|
bool "PNG decoder library"
|
|
help
|
|
LODEPNG decoder library
|
|
|
|
config LV_USE_LIBPNG
|
|
bool "PNG decoder (libpng) library"
|
|
help
|
|
PNG decoder(libpng) library
|
|
|
|
config LV_USE_BMP
|
|
bool "BMP decoder library"
|
|
help
|
|
BMP decoder library
|
|
|
|
config LV_USE_TJPGD
|
|
bool "TJPGD decoder library"
|
|
help
|
|
JPG + split JPG decoder library.
|
|
Split JPG is a custom format optimized for embedded systems.
|
|
|
|
config LV_USE_LIBJPEG_TURBO
|
|
bool "libjpeg-turbo decoder library"
|
|
help
|
|
libjpeg-turbo decoder library.
|
|
- Supports complete JPEG specifications and high-performance JPEG decoding.
|
|
|
|
config LV_USE_LIBWEBP
|
|
bool "WebP decoder library"
|
|
help
|
|
WebP decoder library
|
|
|
|
config LV_USE_SVG
|
|
bool "SVG library"
|
|
depends on LV_DRAW_HAS_VECTOR_SUPPORT
|
|
select LV_USE_VECTOR_GRAPHIC
|
|
help
|
|
SVG library
|
|
|
|
if LV_USE_SVG
|
|
config LV_USE_SVG_ANIMATION
|
|
bool "SVG animation"
|
|
|
|
config LV_USE_SVG_DEBUG
|
|
bool "Enable SVG debug logs"
|
|
default n
|
|
endif #LV_USE_SVG
|
|
|
|
endmenu
|
|
menu "Text & Font Settings"
|
|
choice LV_TXT_ENC
|
|
prompt "Select a character encoding for strings"
|
|
help
|
|
Select a character encoding for strings. Your IDE or editor should have the same character encoding.
|
|
default LV_TXT_ENC_UTF8
|
|
|
|
config LV_TXT_ENC_UTF8
|
|
bool "UTF8"
|
|
config LV_TXT_ENC_ASCII
|
|
bool "ASCII"
|
|
endchoice
|
|
|
|
config LV_TXT_BREAK_CHARS
|
|
string "Can break (wrap) texts on these chars"
|
|
default " ,.;:-_)]}"
|
|
help
|
|
While rendering text strings, break (wrap) text on these chars.
|
|
|
|
config LV_TXT_LINE_BREAK_LONG_LEN
|
|
int "Line break long length"
|
|
default 0
|
|
help
|
|
If a word is at least this long, will break wherever 'prettiest'.
|
|
To disable, set to a value <= 0.
|
|
|
|
config LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN
|
|
int "Min num chars before break"
|
|
default 3
|
|
depends on LV_TXT_LINE_BREAK_LONG_LEN > 0
|
|
help
|
|
Minimum number of characters in a long word to put on a line before a break.
|
|
|
|
config LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN
|
|
int "Min num chars after break"
|
|
default 3
|
|
depends on LV_TXT_LINE_BREAK_LONG_LEN > 0
|
|
help
|
|
Minimum number of characters in a long word to put on a line after a break
|
|
|
|
config LV_TXT_COLOR_CMD
|
|
string "The control character to use for signalling text recoloring"
|
|
default "\#"
|
|
help
|
|
The control character to use for signaling text recoloring
|
|
|
|
config LV_USE_BIDI
|
|
bool "Support bidirectional texts"
|
|
help
|
|
Allows mixing Left-to-Right and Right-to-Left texts.
|
|
The direction will be processed according to the Unicode Bidirectional Algorithm:
|
|
https://www.w3.org/International/articles/inline-bidi-markup/uba-basics
|
|
|
|
choice LV_BIDI_BASE_DIR_DEF
|
|
prompt "Set the default BIDI base direction"
|
|
depends on LV_USE_BIDI
|
|
default LV_BASE_DIR_AUTO
|
|
|
|
config LV_BASE_DIR_LTR
|
|
bool "Left-to-Right"
|
|
config LV_BASE_DIR_RTL
|
|
bool "Right-to-Left"
|
|
config LV_BASE_DIR_AUTO
|
|
bool "Auto detect"
|
|
endchoice
|
|
|
|
config LV_USE_ARABIC_PERSIAN_CHARS
|
|
bool "Enable Arabic/Persian processing"
|
|
help
|
|
In these languages characters should be replaced with
|
|
another form based on their position in the text.
|
|
menu "Built-in Fonts"
|
|
config LV_FONT_MONTSERRAT_8
|
|
bool "Enable Montserrat 8"
|
|
help
|
|
Montserrat fonts with ASCII range and some symbols using bpp = 4
|
|
https://fonts.google.com/specimen/Montserrat
|
|
config LV_FONT_MONTSERRAT_10
|
|
bool "Enable Montserrat 10"
|
|
config LV_FONT_MONTSERRAT_12
|
|
bool "Enable Montserrat 12"
|
|
config LV_FONT_MONTSERRAT_14
|
|
bool "Enable Montserrat 14"
|
|
default y
|
|
config LV_FONT_MONTSERRAT_16
|
|
bool "Enable Montserrat 16"
|
|
config LV_FONT_MONTSERRAT_18
|
|
bool "Enable Montserrat 18"
|
|
config LV_FONT_MONTSERRAT_20
|
|
bool "Enable Montserrat 20"
|
|
config LV_FONT_MONTSERRAT_22
|
|
bool "Enable Montserrat 22"
|
|
config LV_FONT_MONTSERRAT_24
|
|
bool "Enable Montserrat 24"
|
|
config LV_FONT_MONTSERRAT_26
|
|
bool "Enable Montserrat 26"
|
|
config LV_FONT_MONTSERRAT_28
|
|
bool "Enable Montserrat 28"
|
|
config LV_FONT_MONTSERRAT_30
|
|
bool "Enable Montserrat 30"
|
|
config LV_FONT_MONTSERRAT_32
|
|
bool "Enable Montserrat 32"
|
|
config LV_FONT_MONTSERRAT_34
|
|
bool "Enable Montserrat 34"
|
|
config LV_FONT_MONTSERRAT_36
|
|
bool "Enable Montserrat 36"
|
|
config LV_FONT_MONTSERRAT_38
|
|
bool "Enable Montserrat 38"
|
|
config LV_FONT_MONTSERRAT_40
|
|
bool "Enable Montserrat 40"
|
|
config LV_FONT_MONTSERRAT_42
|
|
bool "Enable Montserrat 42"
|
|
config LV_FONT_MONTSERRAT_44
|
|
bool "Enable Montserrat 44"
|
|
config LV_FONT_MONTSERRAT_46
|
|
bool "Enable Montserrat 46"
|
|
config LV_FONT_MONTSERRAT_48
|
|
bool "Enable Montserrat 48"
|
|
|
|
config LV_FONT_MONTSERRAT_28_COMPRESSED
|
|
bool "Enable Montserrat 28 compressed"
|
|
config LV_FONT_DEJAVU_16_PERSIAN_HEBREW
|
|
bool "Enable Dejavu 16 Persian, Hebrew, Arabic letters"
|
|
config LV_FONT_SOURCE_HAN_SANS_SC_14_CJK
|
|
bool "Enable SourceHanSansSC 14 CJK"
|
|
config LV_FONT_SOURCE_HAN_SANS_SC_16_CJK
|
|
bool "Enable SourceHanSansSC 16 CJK"
|
|
|
|
config LV_FONT_UNSCII_8
|
|
bool "Enable UNSCII 8 (Perfect monospace font)"
|
|
help
|
|
Pixel perfect monospaced fonts
|
|
config LV_FONT_UNSCII_16
|
|
bool "Enable UNSCII 16 (Perfect monospace font)"
|
|
endmenu
|
|
|
|
config LV_FONT_USE_CUSTOM_INCLUDE
|
|
bool "Include a custom font declaration header"
|
|
default n
|
|
help
|
|
Include the header given by LV_FONT_CUSTOM_INCLUDE to declare custom
|
|
fonts (LV_FONT_CUSTOM_DECLARE) or override font-related macros.
|
|
|
|
config LV_FONT_CUSTOM_INCLUDE
|
|
string "Path to custom font declaration header"
|
|
default ""
|
|
depends on LV_FONT_USE_CUSTOM_INCLUDE
|
|
help
|
|
Optional header to override font-related macros.
|
|
|
|
Typical use is to declare extra fonts through LV_FONT_CUSTOM_DECLARE:
|
|
#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_24)
|
|
|
|
It can also be used to override the default font to a custom one:
|
|
#define LV_FONT_DEFAULT &my_font_24
|
|
|
|
config LV_USE_CUSTOM_FONT_DEFAULT
|
|
bool "Provide a custom default font instead of using a built-in one"
|
|
default n
|
|
help
|
|
Enable this to set LV_FONT_DEFAULT to a font you define yourself
|
|
rather than one of the built-in fonts below. When enabled, the
|
|
built-in default-font selection is hidden, so you MUST define
|
|
LV_FONT_DEFAULT yourself, either:
|
|
- from the build system, e.g. -DLV_FONT_DEFAULT='&my_font_24', or
|
|
- in the header given by LV_FONT_CUSTOM_INCLUDE, e.g.
|
|
#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_24)
|
|
#define LV_FONT_DEFAULT &my_font_24
|
|
|
|
If you do not, LV_FONT_DEFAULT falls back to a builtin font,
|
|
which is no longer compiled in, causing a link error.
|
|
|
|
|
|
choice LV_FONT_DEFAULT
|
|
prompt "Select theme default text font"
|
|
default LV_FONT_DEFAULT_MONTSERRAT_14
|
|
depends on !LV_USE_CUSTOM_FONT_DEFAULT
|
|
help
|
|
Select theme default text font
|
|
|
|
config LV_FONT_DEFAULT_MONTSERRAT_8
|
|
bool "Montserrat 8"
|
|
select LV_FONT_MONTSERRAT_8
|
|
config LV_FONT_DEFAULT_MONTSERRAT_10
|
|
bool "Montserrat 10"
|
|
select LV_FONT_MONTSERRAT_10
|
|
config LV_FONT_DEFAULT_MONTSERRAT_12
|
|
bool "Montserrat 12"
|
|
select LV_FONT_MONTSERRAT_12
|
|
config LV_FONT_DEFAULT_MONTSERRAT_14
|
|
bool "Montserrat 14"
|
|
select LV_FONT_MONTSERRAT_14
|
|
config LV_FONT_DEFAULT_MONTSERRAT_16
|
|
bool "Montserrat 16"
|
|
select LV_FONT_MONTSERRAT_16
|
|
config LV_FONT_DEFAULT_MONTSERRAT_18
|
|
bool "Montserrat 18"
|
|
select LV_FONT_MONTSERRAT_18
|
|
config LV_FONT_DEFAULT_MONTSERRAT_20
|
|
bool "Montserrat 20"
|
|
select LV_FONT_MONTSERRAT_20
|
|
config LV_FONT_DEFAULT_MONTSERRAT_22
|
|
bool "Montserrat 22"
|
|
select LV_FONT_MONTSERRAT_22
|
|
config LV_FONT_DEFAULT_MONTSERRAT_24
|
|
bool "Montserrat 24"
|
|
select LV_FONT_MONTSERRAT_24
|
|
config LV_FONT_DEFAULT_MONTSERRAT_26
|
|
bool "Montserrat 26"
|
|
select LV_FONT_MONTSERRAT_26
|
|
config LV_FONT_DEFAULT_MONTSERRAT_28
|
|
bool "Montserrat 28"
|
|
select LV_FONT_MONTSERRAT_28
|
|
config LV_FONT_DEFAULT_MONTSERRAT_30
|
|
bool "Montserrat 30"
|
|
select LV_FONT_MONTSERRAT_30
|
|
config LV_FONT_DEFAULT_MONTSERRAT_32
|
|
bool "Montserrat 32"
|
|
select LV_FONT_MONTSERRAT_32
|
|
config LV_FONT_DEFAULT_MONTSERRAT_34
|
|
bool "Montserrat 34"
|
|
select LV_FONT_MONTSERRAT_34
|
|
config LV_FONT_DEFAULT_MONTSERRAT_36
|
|
bool "Montserrat 36"
|
|
select LV_FONT_MONTSERRAT_36
|
|
config LV_FONT_DEFAULT_MONTSERRAT_38
|
|
bool "Montserrat 38"
|
|
select LV_FONT_MONTSERRAT_38
|
|
config LV_FONT_DEFAULT_MONTSERRAT_40
|
|
bool "Montserrat 40"
|
|
select LV_FONT_MONTSERRAT_40
|
|
config LV_FONT_DEFAULT_MONTSERRAT_42
|
|
bool "Montserrat 42"
|
|
select LV_FONT_MONTSERRAT_42
|
|
config LV_FONT_DEFAULT_MONTSERRAT_44
|
|
bool "Montserrat 44"
|
|
select LV_FONT_MONTSERRAT_44
|
|
config LV_FONT_DEFAULT_MONTSERRAT_46
|
|
bool "Montserrat 46"
|
|
select LV_FONT_MONTSERRAT_46
|
|
config LV_FONT_DEFAULT_MONTSERRAT_48
|
|
bool "Montserrat 48"
|
|
select LV_FONT_MONTSERRAT_48
|
|
config LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED
|
|
bool "Montserrat 28 compressed"
|
|
select LV_FONT_MONTSERRAT_28_COMPRESSED
|
|
config LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW
|
|
bool "Dejavu 16 Persian, Hebrew, Arabic letters"
|
|
select LV_FONT_DEJAVU_16_PERSIAN_HEBREW
|
|
config LV_FONT_DEFAULT_SOURCE_HAN_SANS_SC_14_CJK
|
|
bool "SourceHanSansSC 14 CJK"
|
|
select LV_FONT_SOURCE_HAN_SANS_SC_14_CJK
|
|
config LV_FONT_DEFAULT_SOURCE_HAN_SANS_SC_16_CJK
|
|
bool "SourceHanSansSC 16 CJK"
|
|
select LV_FONT_SOURCE_HAN_SANS_SC_16_CJK
|
|
config LV_FONT_DEFAULT_UNSCII_8
|
|
bool "UNSCII 8 (Perfect monospace font)"
|
|
select LV_FONT_UNSCII_8
|
|
config LV_FONT_DEFAULT_UNSCII_16
|
|
bool "UNSCII 16 (Perfect monospace font)"
|
|
select LV_FONT_UNSCII_16
|
|
endchoice
|
|
|
|
config LV_FONT_FMT_TXT_LARGE
|
|
bool "Enable it if you have fonts with a lot of characters"
|
|
help
|
|
The limit depends on the font size, font face and format
|
|
but with > 10,000 characters if you see issues probably you
|
|
need to enable it.
|
|
|
|
config LV_USE_FONT_COMPRESSED
|
|
bool "Sets support for compressed fonts"
|
|
help
|
|
Enables/disables support for compressed fonts.
|
|
|
|
config LV_USE_FONT_PLACEHOLDER
|
|
bool "Enable drawing placeholders when glyph dsc is not found"
|
|
default y
|
|
help
|
|
Enable drawing placeholders when glyph dsc is not found.
|
|
|
|
config LV_USE_FONT_MANAGER
|
|
bool "Enable Font manager"
|
|
default n
|
|
help
|
|
Enable Font manager
|
|
|
|
config LV_FONT_MANAGER_NAME_MAX_LEN
|
|
int "Font manager name max length"
|
|
depends on LV_USE_FONT_MANAGER
|
|
default 32
|
|
help
|
|
Font manager name max length
|
|
|
|
config LV_USE_IMGFONT
|
|
bool "Support using images as font in label or span widgets"
|
|
default n
|
|
help
|
|
Support using images as font in label or span widgets
|
|
|
|
|
|
config LV_USE_FREETYPE
|
|
bool "FreeType library"
|
|
default n
|
|
help
|
|
FreeType library
|
|
|
|
if LV_USE_FREETYPE
|
|
|
|
config LV_FREETYPE_USE_LVGL_PORT
|
|
bool "Use LVGL memory and file system porting for FreeType"
|
|
default n
|
|
help
|
|
When enabled, FreeType will use LVGL's memory allocator and file system
|
|
abstraction instead of the platform defaults.
|
|
|
|
config LV_FREETYPE_CACHE_FT_GLYPH_CNT
|
|
int "The maximum number of Glyph in count"
|
|
default 256
|
|
|
|
config LV_FREETYPE_CACHE_FT_GLYPH_L1
|
|
bool "Enable L1 glyph metrics cache (lock-free, single-thread only)"
|
|
depends on LV_OS_NONE
|
|
default y
|
|
|
|
endif #LV_USE_FREETYPE
|
|
config LV_USE_TINY_TTF
|
|
bool "Enable Tiny TTF decoder"
|
|
default n
|
|
help
|
|
Built-in TTF decoder
|
|
if LV_USE_TINY_TTF
|
|
config LV_TINY_TTF_FILE_SUPPORT
|
|
bool "Enable loading Tiny TTF data from files"
|
|
default n
|
|
config LV_TINY_TTF_CACHE_GLYPH_CNT
|
|
int "Tiny ttf cache entries count"
|
|
default 128
|
|
|
|
config LV_TINY_TTF_CACHE_KERNING_CNT
|
|
int "Tiny ttf kerning cache entries count"
|
|
default 256
|
|
endif #LV_USE_TINY_TTF
|
|
endmenu
|
|
menu "Widgets"
|
|
|
|
config LV_WIDGETS_HAS_DEFAULT_VALUE
|
|
bool "Widgets has default value"
|
|
default y
|
|
help
|
|
Causes these widgets to be given default values at creation time.
|
|
- lv_buttonmatrix_t: Get default maps: {"Btn1", "Btn2", "Btn3", "\n", "Btn4", "Btn5", ""}, else map not set.
|
|
- lv_checkbox_t : String label set to "Check box", else set to empty string.
|
|
- lv_dropdown_t : Options set to "Option 1", "Option 2", "Option 3", else no values are set.
|
|
- lv_roller_t : Options set to "Option 1", "Option 2", "Option 3", "Option 4", "Option 5", else no values are set.
|
|
- lv_label_t : Text set to "Text", else empty string.
|
|
- lv_arclabel_t : Text set to "Arced Text", else empty string.
|
|
|
|
config LV_USE_3DTEXTURE
|
|
bool "3D Texture"
|
|
depends on LV_DRAW_HAS_3D_SUPPORT
|
|
|
|
config LV_USE_ANIMIMG
|
|
bool "Anim image"
|
|
default y
|
|
|
|
config LV_USE_ARC
|
|
bool "Arc"
|
|
default y
|
|
|
|
config LV_USE_ARCLABEL
|
|
bool "Arc Label"
|
|
default y
|
|
|
|
config LV_USE_BAR
|
|
bool "Bar"
|
|
default y
|
|
|
|
config LV_USE_BARCODE
|
|
bool "Barcode library"
|
|
select LV_USE_CANVAS
|
|
help
|
|
Barcode code library
|
|
|
|
config LV_USE_BUTTON
|
|
bool "Button"
|
|
default y
|
|
|
|
config LV_USE_BUTTONMATRIX
|
|
bool "Button matrix"
|
|
default y
|
|
|
|
config LV_USE_CALENDAR
|
|
bool "Calendar"
|
|
default y
|
|
|
|
if LV_USE_CALENDAR
|
|
config LV_CALENDAR_WEEK_STARTS_MONDAY
|
|
bool "Calendar week starts monday"
|
|
|
|
menu "Days name configuration"
|
|
depends on LV_USE_CALENDAR
|
|
|
|
config LV_MONDAY_STR
|
|
string "Shortened string for Monday"
|
|
default "Mo"
|
|
config LV_TUESDAY_STR
|
|
string "Shortened string for Tuesday"
|
|
default "Tu"
|
|
config LV_WEDNESDAY_STR
|
|
string "Shortened string for Wednesday"
|
|
default "We"
|
|
config LV_THURSDAY_STR
|
|
string "Shortened string for Thursday"
|
|
default "Th"
|
|
config LV_FRIDAY_STR
|
|
string "Shortened string for Friday"
|
|
default "Fr"
|
|
config LV_SATURDAY_STR
|
|
string "Shortened string for Saturday"
|
|
default "Sa"
|
|
config LV_SUNDAY_STR
|
|
string "Shortened string for Sunday"
|
|
default "Su"
|
|
|
|
endmenu
|
|
|
|
menu "Month names configuration"
|
|
depends on LV_USE_CALENDAR
|
|
config LV_JANUARY_STR
|
|
string "String for January"
|
|
default "January"
|
|
config LV_FEBRUARY_STR
|
|
string "String for February"
|
|
default "February"
|
|
config LV_MARCH_STR
|
|
string "String for March"
|
|
default "March"
|
|
config LV_APRIL_STR
|
|
string "String for April"
|
|
default "April"
|
|
config LV_MAY_STR
|
|
string "String for May"
|
|
default "May"
|
|
config LV_JUNE_STR
|
|
string "String for June"
|
|
default "June"
|
|
config LV_JULY_STR
|
|
string "String for July"
|
|
default "July"
|
|
config LV_AUGUST_STR
|
|
string "String for August"
|
|
default "August"
|
|
config LV_SEPTEMBER_STR
|
|
string "String for September"
|
|
default "September"
|
|
config LV_OCTOBER_STR
|
|
string "String for October"
|
|
default "October"
|
|
config LV_NOVEMBER_STR
|
|
string "String for November"
|
|
default "November"
|
|
config LV_DECEMBER_STR
|
|
string "String for December"
|
|
default "December"
|
|
endmenu
|
|
|
|
config LV_USE_CALENDAR_HEADER_ARROW
|
|
bool "Use calendar header arrow"
|
|
default y
|
|
|
|
config LV_USE_CALENDAR_HEADER_DROPDOWN
|
|
bool "Use calendar header dropdown"
|
|
default y
|
|
|
|
config LV_USE_CALENDAR_CHINESE
|
|
bool "Use chinese calendar"
|
|
default n
|
|
|
|
endif #LV_USE_CALENDAR
|
|
|
|
|
|
|
|
config LV_USE_CANVAS
|
|
bool "Canvas"
|
|
select LV_USE_IMAGE
|
|
default y
|
|
|
|
config LV_USE_CHART
|
|
bool "Chart"
|
|
default y
|
|
|
|
config LV_USE_CHECKBOX
|
|
bool "Check Box"
|
|
default y
|
|
|
|
config LV_USE_DROPDOWN
|
|
bool "Drop down list"
|
|
select LV_USE_LABEL
|
|
default y
|
|
|
|
config LV_USE_FFMPEG
|
|
bool "FFmpeg player widget"
|
|
default n
|
|
help
|
|
FFmpeg library for image decoding and playing videos.
|
|
Supports all major image formats so do not enable other image decoder with it.
|
|
|
|
if LV_USE_FFMPEG
|
|
|
|
config LV_FFMPEG_DUMP_FORMAT
|
|
bool "Dump format"
|
|
default n
|
|
|
|
config LV_FFMPEG_PLAYER_USE_LV_FS
|
|
bool "Use lvgl file path in FFmpeg Player widget"
|
|
default n
|
|
help
|
|
You won't be able to open URLs after enabling this feature.
|
|
Note that FFmpeg image decoder will always use lvgl file system.
|
|
|
|
endif #LV_USE_FFMPEG
|
|
|
|
config LV_USE_GIF
|
|
bool "GIF decoder library"
|
|
help
|
|
GIF decoder library
|
|
|
|
config LV_GIF_CACHE_DECODE_DATA
|
|
bool "Use extra 16KB RAM to cache decoded data to accelerate"
|
|
depends on LV_USE_GIF
|
|
|
|
config LV_GIF_MAX_WIDTH
|
|
int "Maximum GIF canvas width in pixels"
|
|
depends on LV_USE_GIF
|
|
default 480
|
|
help
|
|
Increasing this value will consume more memory.
|
|
GIFs wider than this are rejected
|
|
|
|
config LV_GIF_MAX_HEIGHT
|
|
int "Maximum GIF canvas height in pixels"
|
|
depends on LV_USE_GIF
|
|
default 32768
|
|
help
|
|
This value has no impact on memory usage
|
|
GIFs taller than this are rejected
|
|
|
|
config LV_USE_GLTF
|
|
bool "glTF support"
|
|
select LV_USE_3DTEXTURE
|
|
depends on LV_DRAW_HAS_3D_SUPPORT
|
|
help
|
|
Enables parsing and rendering of 3D models (.gltf/.glb).
|
|
|
|
config LV_USE_GSTREAMER
|
|
bool "GStreamer widget"
|
|
select LV_USE_IMAGE
|
|
default n
|
|
help
|
|
GStreamer library
|
|
|
|
config LV_USE_IMAGE
|
|
bool "Image"
|
|
select LV_USE_LABEL
|
|
default y
|
|
|
|
config LV_USE_IMAGEBUTTON
|
|
bool "ImageButton"
|
|
default y
|
|
|
|
config LV_USE_IME_PINYIN
|
|
bool "Enable Pinyin input method"
|
|
default n
|
|
select LV_USE_KEYBOARD
|
|
help
|
|
Enable Pinyin input method
|
|
|
|
if LV_USE_IME_PINYIN
|
|
|
|
config LV_IME_PINYIN_USE_K9_MODE
|
|
bool "Enable Pinyin input method 9 key input mode"
|
|
default y
|
|
|
|
config LV_IME_PINYIN_K9_CAND_TEXT_NUM
|
|
int "Maximum number of candidate panels for 9-key input mode"
|
|
depends on LV_IME_PINYIN_USE_K9_MODE
|
|
default 3
|
|
|
|
config LV_IME_PINYIN_USE_DEFAULT_DICT
|
|
bool "Use built-in Thesaurus"
|
|
default y
|
|
help
|
|
If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesaurus
|
|
|
|
config LV_IME_PINYIN_CAND_TEXT_NUM
|
|
int "Maximum number of candidate panels"
|
|
default 6
|
|
help
|
|
Set the maximum number of candidate panels that can be displayed.
|
|
This needs to be adjusted according to the size of the screen.
|
|
|
|
endif #LV_USE_IME_PINYIN
|
|
|
|
config LV_USE_KEYBOARD
|
|
bool "Keyboard"
|
|
default y
|
|
|
|
config LV_USE_LABEL
|
|
bool "Label"
|
|
default y
|
|
|
|
if LV_USE_LABEL
|
|
|
|
config LV_LABEL_TEXT_SELECTION
|
|
bool "Enable selecting text of the label"
|
|
default y
|
|
|
|
config LV_LABEL_LONG_TXT_HINT
|
|
bool "Store extra some info in labels (12 bytes) to speed up drawing of very long texts"
|
|
default y
|
|
|
|
config LV_LABEL_WAIT_CHAR_COUNT
|
|
int "The count of wait chart"
|
|
default 3
|
|
|
|
endif #LV_USE_LABEL
|
|
|
|
config LV_USE_LED
|
|
bool "LED"
|
|
default y
|
|
|
|
config LV_USE_LINE
|
|
bool "Line"
|
|
default y
|
|
|
|
config LV_USE_LIST
|
|
bool "List"
|
|
default y
|
|
|
|
config LV_USE_LOTTIE
|
|
bool "Lottie"
|
|
default n
|
|
depends on LV_DRAW_HAS_VECTOR_SUPPORT
|
|
depends on LV_USE_THORVG # we require thorvg lottie parser
|
|
select LV_USE_VECTOR_GRAPHIC
|
|
help
|
|
Enable Lottie animations
|
|
|
|
config LV_USE_MENU
|
|
bool "Menu"
|
|
default y
|
|
|
|
config LV_USE_MSGBOX
|
|
bool "Msgbox"
|
|
default y
|
|
|
|
config LV_USE_QRCODE
|
|
bool "QR code library"
|
|
select LV_USE_CANVAS
|
|
help
|
|
QR code library
|
|
|
|
config LV_USE_RLOTTIE
|
|
bool "Lottie library. Deprecated: use LV_USE_LOTTIE instead"
|
|
default n
|
|
help
|
|
Rlottie library (Deprecated: use LV_USE_LOTTIE instead)
|
|
|
|
config LV_USE_ROLLER
|
|
bool "Roller"
|
|
select LV_USE_LABEL
|
|
default y
|
|
|
|
config LV_USE_SCALE
|
|
bool "Scale"
|
|
default y
|
|
|
|
config LV_USE_SLIDER
|
|
bool "Slider"
|
|
select LV_USE_BAR
|
|
default y
|
|
|
|
config LV_USE_SPAN
|
|
bool "Span"
|
|
default y
|
|
|
|
config LV_SPAN_SNIPPET_STACK_SIZE
|
|
int "Maximum number of span descriptor"
|
|
default 64
|
|
depends on LV_USE_SPAN
|
|
|
|
config LV_USE_SPINBOX
|
|
bool "Spinbox"
|
|
default y
|
|
|
|
config LV_USE_SPINNER
|
|
bool "Spinner"
|
|
default y
|
|
|
|
config LV_USE_SWITCH
|
|
bool "Switch"
|
|
default y
|
|
|
|
config LV_USE_TEXTAREA
|
|
bool "Text area"
|
|
select LV_USE_LABEL
|
|
default y
|
|
|
|
config LV_TEXTAREA_DEF_PWD_SHOW_TIME
|
|
int "Text area def. pwd show time [ms]"
|
|
default 1500
|
|
depends on LV_USE_TEXTAREA
|
|
|
|
config LV_USE_TABLE
|
|
bool "Table"
|
|
default y
|
|
|
|
config LV_USE_TABVIEW
|
|
bool "Tabview"
|
|
default y
|
|
|
|
config LV_USE_TILEVIEW
|
|
bool "Tileview"
|
|
default y
|
|
|
|
config LV_USE_WIN
|
|
bool "Win"
|
|
default y
|
|
endmenu
|
|
menu "Drivers"
|
|
config LV_USE_LINUX_DRM
|
|
bool "Use Linux DRM device"
|
|
default n
|
|
help
|
|
Driver for /dev/dri/card
|
|
|
|
if LV_USE_LINUX_DRM
|
|
|
|
config LV_LINUX_DRM_AUTO_BACKEND
|
|
bool "Auto-select the DRM backend (legacy)"
|
|
default y
|
|
help
|
|
Legacy behavior, kept for backwards compatibility and slated for removal.
|
|
While set, the backend is inferred from LV_USE_OPENGLES (EGL when OpenGLES
|
|
is enabled). Disable this and pick a backend explicitly via the Linux DRM
|
|
"Rendering backend" choice.
|
|
|
|
choice
|
|
prompt "Rendering backend"
|
|
default LV_LINUX_DRM_BACKEND_FBDEV
|
|
depends on !LV_LINUX_DRM_AUTO_BACKEND
|
|
help
|
|
Select how the Linux DRM driver presents rendered frames.
|
|
|
|
config LV_LINUX_DRM_BACKEND_FBDEV
|
|
bool "Dumb buffers (no GPU)"
|
|
help
|
|
Software rendering into DRM/KMS dumb buffers.
|
|
|
|
config LV_LINUX_DRM_BACKEND_GBM
|
|
bool "GBM DMA buffers"
|
|
select LV_USE_LINUX_DRM_GBM_BUFFERS
|
|
help
|
|
Use MESA GBM for Linux DRM DMA buffers.
|
|
|
|
config LV_LINUX_DRM_BACKEND_EGL
|
|
bool "EGL (OpenGL ES, hardware-accelerated)"
|
|
select LV_LINUX_DRM_USE_EGL
|
|
select LV_USE_LINUX_DRM_GBM_BUFFERS
|
|
select LV_USE_OPENGLES
|
|
help
|
|
Hardware-accelerated rendering via OpenGL ES 2.0 and EGL.
|
|
Requires OpenGL ES 2.0 on the target hardware and linking with
|
|
-lEGL. Compatible with LVGL 3D/glTF rendering. Implies GBM buffers.
|
|
endchoice
|
|
|
|
config LV_LINUX_DRM_BACKEND
|
|
int
|
|
default 0 if LV_LINUX_DRM_BACKEND_FBDEV
|
|
default 1 if LV_LINUX_DRM_BACKEND_GBM
|
|
default 2 if LV_LINUX_DRM_BACKEND_EGL
|
|
|
|
config LV_LINUX_DRM_USE_EGL
|
|
bool
|
|
select LV_USE_EGL
|
|
|
|
config LV_USE_LINUX_DRM_GBM_BUFFERS
|
|
bool
|
|
|
|
endif # LV_USE_LINUX_DRM
|
|
config LV_USE_LINUX_FBDEV
|
|
bool "Use Linux framebuffer device"
|
|
default n
|
|
help
|
|
Driver for /dev/fb
|
|
|
|
if LV_USE_LINUX_FBDEV
|
|
|
|
config LV_LINUX_FBDEV_BSD
|
|
bool "Use BSD flavored framebuffer device"
|
|
default n
|
|
|
|
choice
|
|
prompt "Framebuffer device render mode"
|
|
default LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
|
|
|
|
config LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
|
|
bool "Partial mode"
|
|
help
|
|
Use the buffer(s) to render the screen is smaller parts. This way the buffers can be smaller then the display to save RAM. At least 1/10 screen size buffer(s) are recommended.
|
|
|
|
config LV_LINUX_FBDEV_RENDER_MODE_DIRECT
|
|
bool "Direct mode"
|
|
help
|
|
The buffer(s) has to be screen sized and LVGL will render into the correct location of the buffer. This way the buffer always contain the whole image. Only the changed ares will be updated. With 2 buffers the buffers' content are kept in sync automatically and in flush_cb only address change is required.
|
|
|
|
config LV_LINUX_FBDEV_RENDER_MODE_FULL
|
|
bool "Full mode"
|
|
help
|
|
Always redraw the whole screen even if only one pixel has been changed. With 2 buffers in flush_cb only and address change is required.
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Framebuffer size"
|
|
default LV_LINUX_FBDEV_SINGLE_BUFFER
|
|
|
|
config LV_LINUX_FBDEV_SINGLE_BUFFER
|
|
bool "One screen-sized buffer"
|
|
|
|
config LV_LINUX_FBDEV_DOUBLE_BUFFER
|
|
bool "Two screen-sized buffer"
|
|
depends on !LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
|
|
|
|
config LV_LINUX_FBDEV_CUSTOM_BUFFER
|
|
bool "Custom-sized buffer"
|
|
depends on LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
|
|
|
|
endchoice
|
|
|
|
config LV_LINUX_FBDEV_BUFFER_COUNT
|
|
int
|
|
default 0 if LV_LINUX_FBDEV_CUSTOM_BUFFER
|
|
default 1 if LV_LINUX_FBDEV_SINGLE_BUFFER
|
|
default 2 if LV_LINUX_FBDEV_DOUBLE_BUFFER
|
|
|
|
config LV_LINUX_FBDEV_BUFFER_SIZE
|
|
int "Custom partial buffer size (in number of rows)"
|
|
depends on LV_LINUX_FBDEV_CUSTOM_BUFFER
|
|
default 60
|
|
|
|
config LV_LINUX_FBDEV_MMAP
|
|
bool "Framebuffer device supports mmap"
|
|
default y
|
|
|
|
endif #LV_USE_LINUX_FBDEV
|
|
config LV_USE_FT81X
|
|
bool "Use ft81x EVE driver"
|
|
default n
|
|
config LV_USE_LOVYAN_GFX
|
|
bool "Use LovyanGFX driver"
|
|
default n
|
|
help
|
|
Interface for Lovyan_GFX
|
|
|
|
if LV_USE_LOVYAN_GFX
|
|
|
|
config LV_LGFX_USER_INCLUDE
|
|
string "Header for LovyanGFX user configuration"
|
|
default "lv_lgfx_user.hpp"
|
|
|
|
endif #LV_USE_LOVYAN_GFX
|
|
config LV_USE_GENERIC_MIPI
|
|
bool "Generic MIPI driver"
|
|
default n
|
|
help
|
|
Generic MIPI driver for LCD devices connected via SPI or parallel
|
|
port. Use this if your specific LCD controller is not listed among
|
|
the dedicated drivers below.
|
|
|
|
config LV_USE_ST7735
|
|
bool "Use ST7735 LCD driver"
|
|
default n
|
|
select LV_USE_GENERIC_MIPI
|
|
help
|
|
Drivers for LCD devices connected via SPI/parallel port
|
|
|
|
config LV_USE_ST7789
|
|
bool "Use ST7789 LCD driver"
|
|
default n
|
|
select LV_USE_GENERIC_MIPI
|
|
|
|
config LV_USE_ST7796
|
|
bool "Use ST7796 LCD driver"
|
|
default n
|
|
select LV_USE_GENERIC_MIPI
|
|
|
|
config LV_USE_ILI9341
|
|
bool "Use ILI9341 LCD driver"
|
|
default n
|
|
select LV_USE_GENERIC_MIPI
|
|
|
|
config LV_USE_NV3007
|
|
bool "Use NV3007 LCD driver"
|
|
default n
|
|
select LV_USE_GENERIC_MIPI
|
|
|
|
config LV_USE_NXP_ELCDIF
|
|
bool "Use NXP ELCDIF to generate display"
|
|
default n
|
|
help
|
|
Driver for NXP ELCDIF
|
|
config LV_USE_RENESAS_GLCDC
|
|
bool "Use Renesas GLCDC driver"
|
|
default n
|
|
help
|
|
Driver for Renesas GLCD
|
|
config LV_USE_ST_LTDC
|
|
bool "Driver for ST LTDC"
|
|
default n
|
|
help
|
|
Driver for ST LTDC
|
|
|
|
if LV_USE_ST_LTDC
|
|
|
|
config LV_ST_LTDC_USE_DMA2D_FLUSH
|
|
bool "Only used for created partial mode LTDC displays"
|
|
default n
|
|
depends on !LV_USE_DRAW_DMA2D
|
|
|
|
endif #LV_USE_ST_LTDC
|
|
config LV_USE_TFT_ESPI
|
|
bool "Use TFT_eSPI driver"
|
|
default n
|
|
help
|
|
Interface for TFT_eSPI
|
|
config LV_USE_EVDEV
|
|
bool "Use evdev input driver"
|
|
default n
|
|
help
|
|
Driver for evdev input devices
|
|
config LV_USE_LIBINPUT
|
|
bool "Use libinput input driver"
|
|
default n
|
|
help
|
|
Driver for libinput input devices
|
|
|
|
if LV_USE_LIBINPUT
|
|
|
|
config LV_LIBINPUT_BSD
|
|
bool "Use the BSD variant of the libinput input driver"
|
|
default n
|
|
|
|
config LV_LIBINPUT_XKB
|
|
bool "Enable full keyboard support via XKB"
|
|
default n
|
|
|
|
if LV_LIBINPUT_XKB
|
|
|
|
# `setxkbmap -query` can help find the right values for your keyboard.
|
|
config LV_LIBINPUT_XKB_RULES
|
|
string "XKB rules"
|
|
default ""
|
|
|
|
config LV_LIBINPUT_XKB_MODEL
|
|
string "XKB model"
|
|
default "pc101"
|
|
|
|
config LV_LIBINPUT_XKB_LAYOUT
|
|
string "XKB layout"
|
|
default "us"
|
|
|
|
config LV_LIBINPUT_XKB_VARIANT
|
|
string "XKB variant"
|
|
default ""
|
|
|
|
config LV_LIBINPUT_XKB_OPTIONS_USE_DEFAULT
|
|
bool "Use system default XKB options (pass NULL)"
|
|
default y
|
|
help
|
|
If enabled, NULL is passed for XKB options, letting the system
|
|
default apply (e.g. from XKB_DEFAULT_OPTIONS env var).
|
|
If disabled, the string from LV_LIBINPUT_XKB_OPTIONS is used instead.
|
|
|
|
config LV_LIBINPUT_XKB_OPTIONS
|
|
string "XKB options"
|
|
default ""
|
|
depends on !LV_LIBINPUT_XKB_OPTIONS_USE_DEFAULT
|
|
|
|
endif # LV_LIBINPUT_XKB
|
|
|
|
endif #LV_USE_LIBINPUT
|
|
config LV_USE_NUTTX
|
|
bool "Use Nuttx to open window and handle touchscreen"
|
|
default n
|
|
help
|
|
Use Nuttx to open window and handle touchscreen
|
|
|
|
if LV_USE_NUTTX
|
|
|
|
config LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP
|
|
bool "Use independent image heap"
|
|
default n
|
|
|
|
config LV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAP
|
|
bool "Use independent image heap for default draw buffer"
|
|
depends on LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP
|
|
default n
|
|
|
|
config LV_USE_NUTTX_LIBUV
|
|
bool "Use uv loop to replace default timer loop and other fb/indev timers"
|
|
default n
|
|
|
|
config LV_USE_NUTTX_CUSTOM_INIT
|
|
bool "Use Custom Nuttx init API to open window and handle touchscreen"
|
|
default n
|
|
|
|
config LV_USE_NUTTX_LCD
|
|
bool "Use NuttX LCD device"
|
|
default n
|
|
|
|
choice
|
|
prompt "NuttX LCD buffer size"
|
|
depends on LV_USE_NUTTX_LCD
|
|
default LV_NUTTX_LCD_SINGLE_BUFFER
|
|
|
|
config LV_NUTTX_LCD_SINGLE_BUFFER
|
|
bool "One screen-sized buffer"
|
|
|
|
config LV_NUTTX_LCD_DOUBLE_BUFFER
|
|
bool "Two screen-sized buffer"
|
|
|
|
config LV_NUTTX_LCD_CUSTOM_BUFFER
|
|
bool "Custom-sized buffer"
|
|
|
|
endchoice
|
|
|
|
config LV_NUTTX_LCD_BUFFER_COUNT
|
|
int
|
|
default 0 if LV_NUTTX_LCD_CUSTOM_BUFFER
|
|
default 1 if LV_NUTTX_LCD_SINGLE_BUFFER
|
|
default 2 if LV_NUTTX_LCD_DOUBLE_BUFFER
|
|
|
|
config LV_NUTTX_LCD_BUFFER_SIZE
|
|
int "Custom partial buffer size (in number of rows)"
|
|
depends on LV_NUTTX_LCD_CUSTOM_BUFFER
|
|
depends on LV_USE_NUTTX_LCD
|
|
default 60
|
|
|
|
|
|
config LV_USE_NUTTX_TOUCHSCREEN
|
|
bool "Use NuttX touchscreen driver"
|
|
default n
|
|
|
|
config LV_NUTTX_TOUCHSCREEN_CURSOR_SIZE
|
|
int "Touchscreen cursor size in pixels"
|
|
depends on LV_USE_NUTTX_TOUCHSCREEN
|
|
default 0
|
|
help
|
|
Set to 0 to disable cursor, or set to a value greater than 0 to set the cursor size in pixels.
|
|
|
|
config LV_USE_NUTTX_MOUSE
|
|
bool "Use NuttX mouse driver"
|
|
default n
|
|
|
|
config LV_USE_NUTTX_MOUSE_MOVE_STEP
|
|
int "Mouse movement step (pixels)"
|
|
depends on LV_USE_NUTTX_MOUSE
|
|
range 1 10
|
|
default 1
|
|
help
|
|
Set the step size of the mouse movement in pixels.
|
|
|
|
config LV_USE_NUTTX_TRACE_FILE
|
|
bool "Use NuttX trace file"
|
|
depends on LV_USE_PROFILER_BUILTIN
|
|
default n
|
|
|
|
config LV_NUTTX_TRACE_FILE_PATH
|
|
depends on LV_USE_NUTTX_TRACE_FILE
|
|
string "NuttX trace file path"
|
|
default "/data/lvgl-trace.log"
|
|
|
|
|
|
endif #LV_USE_NUTTX
|
|
config LV_USE_OPENGLES
|
|
bool "Use LVGL's OpenGL Driver"
|
|
select LV_USE_MATRIX
|
|
default n
|
|
help
|
|
Use a generic OpenGL driver that can be used to embed in other applications or used with GLFW/EGL
|
|
|
|
if LV_USE_OPENGLES
|
|
|
|
config LV_USE_OPENGLES_DEBUG
|
|
bool "Enable debug mode for OpenGL"
|
|
default n
|
|
|
|
|
|
endif # LV_USE_OPENGLES
|
|
|
|
config LV_USE_EGL
|
|
bool
|
|
default n
|
|
|
|
config LV_USE_GLFW
|
|
bool "Use GLFW and OpenGL to open window on PC and handle mouse and keyboard"
|
|
default n
|
|
select LV_USE_OPENGLES
|
|
depends on !LV_USE_EGL
|
|
help
|
|
Use GLFW to open window on PC and handle mouse and keyboard.
|
|
|
|
config LV_USE_QNX
|
|
bool "Use a QNX Screen window as a display"
|
|
default n
|
|
help
|
|
QNX Screen display and input drivers
|
|
|
|
if LV_USE_QNX
|
|
|
|
config LV_QNX_BUF_COUNT
|
|
int "QNX Buffer count"
|
|
default 1
|
|
|
|
endif #LV_USE_QNX
|
|
config LV_USE_SDL
|
|
bool "Use SDL to open window on PC and handle mouse and keyboard"
|
|
default n
|
|
help
|
|
Use SDL to open window on PC and handle mouse and keyboard.
|
|
|
|
if LV_USE_SDL
|
|
|
|
config LV_SDL_INCLUDE_PATH
|
|
string "SDL include path"
|
|
default "SDL2/SDL.h"
|
|
|
|
config LV_SDL_AUTO_BACKEND
|
|
bool "Auto-select the SDL backend (legacy)"
|
|
default y
|
|
help
|
|
Legacy behavior, kept for backwards compatibility and slated for removal.
|
|
While set, EGL is inferred the legacy way (OpenGLES enabled with an OpenGL
|
|
draw unit). Disable this and pick a backend explicitly via the SDL
|
|
"Rendering backend" choice.
|
|
|
|
choice
|
|
prompt "Rendering backend"
|
|
default LV_SDL_BACKEND_SW
|
|
depends on !LV_SDL_AUTO_BACKEND
|
|
help
|
|
Select how the SDL driver presents rendered frames.
|
|
|
|
config LV_SDL_BACKEND_SW
|
|
bool "Software (SDL surface)"
|
|
help
|
|
Render in software and upload via an SDL surface.
|
|
|
|
config LV_SDL_BACKEND_TEXTURE
|
|
bool "Cached SDL textures"
|
|
select LV_USE_DRAW_SDL
|
|
help
|
|
Render into cached SDL textures. Enables the SDL draw unit.
|
|
|
|
config LV_SDL_BACKEND_EGL
|
|
bool "EGL (OpenGL ES, hardware-accelerated)"
|
|
depends on LV_USE_DRAW_OPENGLES || LV_USE_DRAW_NANOVG
|
|
select LV_SDL_USE_EGL
|
|
help
|
|
Present via an EGL/OpenGL ES context
|
|
endchoice
|
|
|
|
# Derived int → the single macro the codegen emits (LV_SDL_BACKEND).
|
|
config LV_SDL_BACKEND
|
|
int
|
|
default 0 if LV_SDL_BACKEND_SW
|
|
default 1 if LV_SDL_BACKEND_TEXTURE
|
|
default 2 if LV_SDL_BACKEND_EGL
|
|
|
|
# Hidden flag read by the C driver and (as CONFIG_*) by CMake. Selected by the
|
|
# EGL member → DerivedFlag that resolves to `LV_SDL_BACKEND == LV_SDL_BACKEND_EGL`.
|
|
config LV_SDL_USE_EGL
|
|
bool
|
|
select LV_USE_EGL
|
|
|
|
choice
|
|
prompt "SDL rendering mode"
|
|
default LV_SDL_RENDER_MODE_DIRECT
|
|
help
|
|
LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance
|
|
|
|
config LV_SDL_RENDER_MODE_PARTIAL
|
|
bool "Use the buffer(s) to render the screen is smaller parts"
|
|
|
|
config LV_SDL_RENDER_MODE_DIRECT
|
|
bool "Only the changed areas will be updated with 2 screen sized buffers"
|
|
|
|
config LV_SDL_RENDER_MODE_FULL
|
|
bool "Always redraw the whole screen even if only one pixel has been changed with 2 screen sized buffers"
|
|
endchoice
|
|
|
|
config LV_SDL_BUF_COUNT
|
|
int "Number of screen-sized buffers (1 or 2)"
|
|
range 1 2
|
|
default 1
|
|
|
|
choice
|
|
prompt "SDL buffer count [DEPRECATED: use LV_SDL_BUF_COUNT]"
|
|
optional
|
|
|
|
config LV_SDL_SINGLE_BUFFER
|
|
bool "One screen-sized buffer [DEPRECATED: set LV_SDL_BUF_COUNT to 1]"
|
|
|
|
config LV_SDL_DOUBLE_BUFFER
|
|
bool "Two screen-sized buffers [DEPRECATED: set LV_SDL_BUF_COUNT to 2]"
|
|
endchoice
|
|
|
|
config LV_SDL_ACCELERATED
|
|
bool "Use hardware acceleration"
|
|
default y
|
|
|
|
config LV_SDL_FULLSCREEN
|
|
bool "SDL fullscreen"
|
|
default n
|
|
|
|
config LV_SDL_DIRECT_EXIT
|
|
bool "Exit the application when all SDL windows are closed"
|
|
default y
|
|
|
|
choice
|
|
prompt "SDL mousewheel mode"
|
|
default LV_SDL_MOUSEWHEEL_MODE_ENCODER
|
|
|
|
config LV_SDL_MOUSEWHEEL_MODE_ENCODER
|
|
bool "The mousewheel emulates an encoder input device"
|
|
|
|
config LV_SDL_MOUSEWHEEL_MODE_CROWN
|
|
bool "The mousewheel emulates a smart watch crown"
|
|
endchoice
|
|
|
|
config LV_SDL_MOUSEWHEEL_MODE
|
|
int
|
|
default 0 if LV_SDL_MOUSEWHEEL_MODE_ENCODER
|
|
default 1 if LV_SDL_MOUSEWHEEL_MODE_CROWN
|
|
|
|
|
|
endif #LV_USE_SDL
|
|
config LV_USE_UEFI
|
|
bool "Use LVGL UEFI backend"
|
|
default n
|
|
help
|
|
LVGL UEFI backend
|
|
|
|
if LV_USE_UEFI
|
|
|
|
config LV_USE_UEFI_INCLUDE
|
|
string "Header that hides the actual framework (EDK2, gnu-efi, ...)"
|
|
default "myefi.h"
|
|
|
|
config LV_UEFI_USE_MEMORY_SERVICES
|
|
bool "Use the memory services from the boot services table"
|
|
default n
|
|
|
|
endif #LV_USE_UEFI
|
|
config LV_USE_WAYLAND
|
|
bool "Use the wayland client to open a window and handle inputs on Linux or BSD"
|
|
default n
|
|
help
|
|
Use Wayland to open a window and handle input on Linux or BSD desktops
|
|
|
|
if LV_USE_WAYLAND
|
|
|
|
config LV_WAYLAND_DIRECT_EXIT
|
|
bool "Deinitialize LVGL and quit the application when the last wayland window closes"
|
|
default y
|
|
|
|
config LV_WAYLAND_AUTO_BACKEND
|
|
bool "Auto-select the Wayland backend (legacy)"
|
|
default y
|
|
help
|
|
Legacy behavior, kept for backwards compatibility and slated for removal.
|
|
While set, the backend defaults to SHM and any LV_WAYLAND_USE_* set directly
|
|
in lv_conf.h is honored. Disable this and pick a backend explicitly via the
|
|
Wayland "Rendering backend" choice.
|
|
|
|
choice
|
|
prompt "Rendering backend"
|
|
default LV_WAYLAND_BACKEND_SHM
|
|
depends on !LV_WAYLAND_AUTO_BACKEND
|
|
help
|
|
Select the rendering backend used by the Wayland driver.
|
|
|
|
config LV_WAYLAND_BACKEND_SHM
|
|
bool "SHM (Shared Memory)"
|
|
select LV_WAYLAND_USE_SHM
|
|
help
|
|
Default backend. Uses wl_shm for double-buffered direct rendering.
|
|
Compatible with all Wayland compositors; no special hardware required.
|
|
|
|
config LV_WAYLAND_BACKEND_EGL
|
|
bool "EGL (OpenGL ES, hardware-accelerated)"
|
|
select LV_WAYLAND_USE_EGL
|
|
select LV_USE_OPENGLES
|
|
help
|
|
Hardware-accelerated rendering via OpenGL ES 2.0 and EGL.
|
|
Requires OpenGL ES 2.0 on the target hardware and linking with
|
|
wayland-egl (-lwayland-egl). Compatible with 3D/glTF rendering.
|
|
|
|
config LV_WAYLAND_BACKEND_G2D
|
|
bool "G2D (NXP i.MX hardware accelerator)"
|
|
select LV_WAYLAND_USE_G2D
|
|
select LV_USE_DRAW_G2D
|
|
help
|
|
Hardware-accelerated 2D rendering via NXP's G2D engine.
|
|
Supports NXP i.MX6/i.MX8 platforms with G2D library installed.
|
|
endchoice
|
|
|
|
config LV_WAYLAND_BACKEND
|
|
int
|
|
default 0 if LV_WAYLAND_BACKEND_SHM
|
|
default 1 if LV_WAYLAND_BACKEND_EGL
|
|
default 2 if LV_WAYLAND_BACKEND_G2D
|
|
|
|
config LV_WAYLAND_USE_SHM
|
|
bool
|
|
|
|
config LV_WAYLAND_USE_EGL
|
|
bool
|
|
select LV_USE_EGL
|
|
|
|
config LV_WAYLAND_USE_G2D
|
|
bool
|
|
|
|
endif # LV_USE_WAYLAND
|
|
config LV_USE_WINDOWS
|
|
bool "Use LVGL Windows backend"
|
|
depends on LV_OS_WINDOWS
|
|
default n
|
|
help
|
|
LVGL Windows backend
|
|
config LV_USE_X11
|
|
bool "Use X11 window manager to open window on Linux PC and handle mouse and keyboard"
|
|
default n
|
|
help
|
|
Use X11 to open window on Linux desktop and handle mouse and keyboard
|
|
|
|
if LV_USE_X11
|
|
|
|
config LV_X11_DOUBLE_BUFFER
|
|
bool "Use double buffers for lvgl rendering"
|
|
default y
|
|
config LV_X11_DIRECT_EXIT
|
|
bool "Exit the application when all X11 windows have been closed"
|
|
default y
|
|
choice
|
|
prompt "X11 device render mode"
|
|
default LV_X11_RENDER_MODE_PARTIAL
|
|
|
|
config LV_X11_RENDER_MODE_PARTIAL
|
|
bool "Partial render mode"
|
|
help
|
|
Use the buffer(s) to render the screen is smaller parts. This way the buffers can be smaller then the display to save RAM.
|
|
Appr. 1/10 screen size buffer(s) are used.
|
|
config LV_X11_RENDER_MODE_DIRECT
|
|
bool "Direct render mode"
|
|
help
|
|
The buffer(s) has to be screen sized and LVGL will render into the correct location of the buffer. This way the buffer always contain the whole image. Only the changed ares will be updated.
|
|
With 2 buffers the buffers' content are kept in sync automatically and in flush_cb only address change is required.
|
|
config LV_X11_RENDER_MODE_FULL
|
|
bool "Full render mode"
|
|
help
|
|
Always redraw the whole screen even if only one pixel has been changed.
|
|
With 2 buffers in flush_cb only and address change is required.
|
|
endchoice
|
|
|
|
endif #LV_USE_X11
|
|
|
|
config LV_USE_NANOVG
|
|
bool "NanoVG library"
|
|
default n
|
|
help
|
|
Enable NanoVG (vector graphics library)
|
|
|
|
endmenu
|
|
menu "File System"
|
|
config LV_FS_DEFAULT_DRIVER_LETTER
|
|
int "Default drive letter (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
help
|
|
Setting a default drive letter allows skipping the driver
|
|
prefix in filepaths.
|
|
|
|
config LV_USE_FS_STDIO
|
|
bool "File system on top of stdio"
|
|
|
|
if LV_USE_FS_STDIO
|
|
|
|
config LV_FS_STDIO_LETTER
|
|
int "Driver-identifier letter for stdio (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
|
|
config LV_FS_STDIO_PATH
|
|
string "Working directory for stdio"
|
|
default ""
|
|
|
|
config LV_FS_STDIO_CACHE_SIZE
|
|
int "Read cache size in bytes for stdio (0 = disabled)"
|
|
default 0
|
|
range 0 4294967295
|
|
|
|
endif # LV_USE_FS_STDIO
|
|
|
|
config LV_USE_FS_POSIX
|
|
bool "File system on top of POSIX"
|
|
|
|
if LV_USE_FS_POSIX
|
|
|
|
config LV_FS_POSIX_LETTER
|
|
int "Driver-identifier letter for POSIX (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
|
|
config LV_FS_POSIX_PATH
|
|
string "Working directory for POSIX"
|
|
default ""
|
|
|
|
config LV_FS_POSIX_CACHE_SIZE
|
|
int "Read cache size in bytes for POSIX (0 = disabled)"
|
|
default 0
|
|
range 0 4294967295
|
|
|
|
endif # LV_USE_FS_POSIX
|
|
|
|
config LV_USE_FS_WIN32
|
|
bool "File system on top of Win32"
|
|
|
|
if LV_USE_FS_WIN32
|
|
|
|
config LV_FS_WIN32_LETTER
|
|
int "Driver-identifier letter for Win32 (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
|
|
config LV_FS_WIN32_PATH
|
|
string "Working directory for Win32"
|
|
default ""
|
|
|
|
config LV_FS_WIN32_CACHE_SIZE
|
|
int "Read cache size in bytes for Win32 (0 = disabled)"
|
|
default 0
|
|
range 0 4294967295
|
|
|
|
endif # LV_USE_FS_WIN32
|
|
|
|
config LV_USE_FS_FATFS
|
|
bool "File system on top of FatFS"
|
|
|
|
if LV_USE_FS_FATFS
|
|
|
|
config LV_FS_FATFS_LETTER
|
|
int "Driver-identifier letter for FatFS (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
|
|
config LV_FS_FATFS_PATH
|
|
string "Working directory for FatFS"
|
|
default ""
|
|
|
|
config LV_FS_FATFS_CACHE_SIZE
|
|
int "Read cache size in bytes for FatFS (0 = disabled)"
|
|
default 0
|
|
range 0 4294967295
|
|
|
|
endif # LV_USE_FS_FATFS
|
|
|
|
config LV_USE_FS_LITTLEFS
|
|
bool "File system on top of littlefs"
|
|
|
|
if LV_USE_FS_LITTLEFS
|
|
|
|
config LV_FS_LITTLEFS_LETTER
|
|
int "Driver-identifier letter for littlefs (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
|
|
config LV_FS_LITTLEFS_PATH
|
|
string "Working directory for littlefs"
|
|
default ""
|
|
|
|
# TODO:
|
|
#config LV_FS_LITTLEFS_CACHE_SIZE
|
|
# int "Read cache size in bytes for littlefs (0 = disabled)"
|
|
# default 0
|
|
# range 0 4294967295
|
|
|
|
endif # LV_USE_FS_LITTLEFS
|
|
|
|
config LV_USE_FS_ARDUINO_ESP_LITTLEFS
|
|
bool "File system on top of Arduino ESP littlefs"
|
|
|
|
if LV_USE_FS_ARDUINO_ESP_LITTLEFS
|
|
|
|
config LV_FS_ARDUINO_ESP_LITTLEFS_LETTER
|
|
int "Driver-identifier letter for Arduino ESP littlefs (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
|
|
config LV_FS_ARDUINO_ESP_LITTLEFS_PATH
|
|
string "Working directory for Arduino ESP littlefs"
|
|
default ""
|
|
|
|
# TODO:
|
|
#config LV_FS_ARDUINO_ESP_LITTLEFS_CACHE_SIZE
|
|
# int "Read cache size in bytes for Arduino ESP littlefs (0 = disabled)"
|
|
# default 0
|
|
# range 0 4294967295
|
|
|
|
endif # LV_USE_FS_ARDUINO_ESP_LITTLEFS
|
|
|
|
config LV_USE_FS_ARDUINO_SD
|
|
bool "File system on top of Arduino SD"
|
|
|
|
if LV_USE_FS_ARDUINO_SD
|
|
|
|
config LV_FS_ARDUINO_SD_LETTER
|
|
int "Driver-identifier letter for Arduino SD (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
|
|
config LV_FS_ARDUINO_SD_PATH
|
|
string "Working directory for Arduino SD"
|
|
default ""
|
|
|
|
# TODO:
|
|
#config LV_FS_ARDUINO_SD_CACHE_SIZE
|
|
# int "Read cache size in bytes for Arduino SD (0 = disabled)"
|
|
# default 0
|
|
# range 0 4294967295
|
|
|
|
endif # LV_USE_FS_ARDUINO_SD
|
|
|
|
# UEFI and FrogFS are inlined (letter only): they have no working directory
|
|
# path or read cache, so the full Kconfig.fs.template does not apply.
|
|
config LV_USE_FS_UEFI
|
|
bool "File system on top of UEFI"
|
|
|
|
if LV_USE_FS_UEFI
|
|
config LV_FS_UEFI_LETTER
|
|
int "Driver-identifier letter for UEFI (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
endif # LV_USE_FS_UEFI
|
|
|
|
config LV_USE_FS_FROGFS
|
|
bool "File system on top of FrogFS"
|
|
|
|
if LV_USE_FS_FROGFS
|
|
config LV_FS_FROGFS_LETTER
|
|
int "Driver-identifier letter for FrogFS (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
endif # LV_USE_FS_FROGFS
|
|
|
|
# MEMFS is inlined here as it's memory-mapped and has no working directory path
|
|
config LV_USE_FS_MEMFS
|
|
bool "File system on top of memory-mapped API"
|
|
help
|
|
API for memory-mapped file access.
|
|
|
|
if LV_USE_FS_MEMFS
|
|
|
|
config LV_FS_MEMFS_LETTER
|
|
int "Driver-identifier letter for memfs (e.g. 65 for 'A', 0 = disabled)"
|
|
range 0 90
|
|
default 0
|
|
|
|
endif # LV_USE_FS_MEMFS
|
|
endmenu
|
|
menu "Debugging"
|
|
menu "System Monitoring"
|
|
config LV_USE_SYSMON
|
|
bool "Enable system monitor component"
|
|
default n
|
|
help
|
|
Enable system monitor component
|
|
|
|
if LV_USE_SYSMON
|
|
|
|
config LV_SYSMON_PROC_IDLE_AVAILABLE
|
|
bool "Enable process idle measurement"
|
|
default n
|
|
|
|
config LV_USE_PERF_MONITOR
|
|
bool "Show CPU usage and FPS count"
|
|
default n
|
|
|
|
choice
|
|
prompt "Performance monitor position"
|
|
depends on LV_USE_PERF_MONITOR
|
|
default LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT
|
|
|
|
config LV_PERF_MONITOR_ALIGN_TOP_LEFT
|
|
bool "Top left"
|
|
config LV_PERF_MONITOR_ALIGN_TOP_MID
|
|
bool "Top middle"
|
|
config LV_PERF_MONITOR_ALIGN_TOP_RIGHT
|
|
bool "Top right"
|
|
config LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT
|
|
bool "Bottom left"
|
|
config LV_PERF_MONITOR_ALIGN_BOTTOM_MID
|
|
bool "Bottom middle"
|
|
config LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT
|
|
bool "Bottom right"
|
|
config LV_PERF_MONITOR_ALIGN_LEFT_MID
|
|
bool "Left middle"
|
|
config LV_PERF_MONITOR_ALIGN_RIGHT_MID
|
|
bool "Right middle"
|
|
config LV_PERF_MONITOR_ALIGN_CENTER
|
|
bool "Center"
|
|
endchoice
|
|
|
|
config LV_USE_PERF_MONITOR_LOG_MODE
|
|
bool "Prints performance data using log"
|
|
depends on LV_USE_PERF_MONITOR
|
|
default n
|
|
|
|
config LV_USE_MEM_MONITOR
|
|
bool "Show the used memory and the memory fragmentation"
|
|
default n
|
|
depends on LV_USE_BUILTIN_MALLOC
|
|
|
|
choice
|
|
prompt "Memory monitor position"
|
|
depends on LV_USE_MEM_MONITOR
|
|
default LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT
|
|
|
|
config LV_MEM_MONITOR_ALIGN_TOP_LEFT
|
|
bool "Top left"
|
|
config LV_MEM_MONITOR_ALIGN_TOP_MID
|
|
bool "Top middle"
|
|
config LV_MEM_MONITOR_ALIGN_TOP_RIGHT
|
|
bool "Top right"
|
|
config LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT
|
|
bool "Bottom left"
|
|
config LV_MEM_MONITOR_ALIGN_BOTTOM_MID
|
|
bool "Bottom middle"
|
|
config LV_MEM_MONITOR_ALIGN_BOTTOM_RIGHT
|
|
bool "Bottom right"
|
|
config LV_MEM_MONITOR_ALIGN_LEFT_MID
|
|
bool "Left middle"
|
|
config LV_MEM_MONITOR_ALIGN_RIGHT_MID
|
|
bool "Right middle"
|
|
config LV_MEM_MONITOR_ALIGN_CENTER
|
|
bool "Center"
|
|
endchoice
|
|
|
|
config LV_SYSMON_USE_CUSTOM_INCLUDE
|
|
bool "Include a custom sysmon header"
|
|
default n
|
|
help
|
|
Include the header given by LV_SYSMON_CUSTOM_INCLUDE to override system
|
|
monitor macros such as LV_SYSMON_GET_IDLE.
|
|
|
|
config LV_SYSMON_CUSTOM_INCLUDE
|
|
string "Path to custom sysmon header"
|
|
default ""
|
|
depends on LV_SYSMON_USE_CUSTOM_INCLUDE
|
|
help
|
|
Optional header to override system monitor idle measurement macros.
|
|
|
|
LV_SYSMON_GET_IDLE
|
|
Expression returning the CPU idle percentage (0-100) since last call.
|
|
e.g. my_rtos_get_idle_percent()
|
|
|
|
LV_SYSMON_GET_PROC_IDLE
|
|
Expression returning per-process idle percentage, if supported by
|
|
the RTOS. Requires LV_SYSMON_PROC_IDLE_AVAILABLE to be enabled
|
|
e.g. my_rtos_get_proc_idle_percent()
|
|
|
|
endif #LV_USE_SYSMON
|
|
endmenu
|
|
|
|
menu "Profiler"
|
|
config LV_USE_PROFILER
|
|
bool "Runtime performance profiler"
|
|
default n
|
|
help
|
|
Enable runtime performance profiler
|
|
|
|
config LV_USE_PROFILER_BUILTIN
|
|
bool "Enable the built-in profiler"
|
|
default n
|
|
select LV_USE_PROFILER
|
|
|
|
if LV_USE_PROFILER_BUILTIN
|
|
|
|
config LV_PROFILER_BUILTIN_BUF_SIZE
|
|
int "Default profiler trace buffer size in bytes"
|
|
default 16384
|
|
|
|
config LV_PROFILER_BUILTIN_DEFAULT_ENABLE
|
|
bool "Enable built-in profiler by default"
|
|
default y
|
|
|
|
config LV_USE_PROFILER_BUILTIN_POSIX
|
|
bool "Enable POSIX profiler port"
|
|
default n
|
|
|
|
|
|
endif #LV_USE_PROFILER_BUILTIN
|
|
|
|
if LV_USE_PROFILER
|
|
|
|
config LV_PROFILER_INCLUDE
|
|
string "Header to include for the profiler"
|
|
default "lvgl/debugging/profiler/lv_profiler_builtin.h"
|
|
help
|
|
Path to a header that defines the following profiler hook macros:
|
|
|
|
LV_PROFILER_BEGIN
|
|
Called at the start of a profiled scope.
|
|
e.g. #define LV_PROFILER_BEGIN my_profiler_begin()
|
|
|
|
LV_PROFILER_END
|
|
Called at the end of a profiled scope.
|
|
e.g. #define LV_PROFILER_END my_profiler_end()
|
|
|
|
LV_PROFILER_BEGIN_TAG(tag)
|
|
Called at the start of a profiled scope with a string tag.
|
|
e.g. #define LV_PROFILER_BEGIN_TAG(tag) my_profiler_begin_tag(tag)
|
|
|
|
LV_PROFILER_END_TAG(tag)
|
|
Called at the end of a profiled scope with a string tag.
|
|
e.g. #define LV_PROFILER_END_TAG(tag) my_profiler_end_tag(tag)
|
|
|
|
The default header provides these via the built-in profiler.
|
|
Set this to your own header to use a custom profiler backend.
|
|
|
|
config LV_PROFILER_LAYOUT
|
|
bool "Enable layout profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_REFR
|
|
bool "Enable disp refr profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_DRAW
|
|
bool "Enable draw profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_INDEV
|
|
bool "Enable indev profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_DECODER
|
|
bool "Enable decoder profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_FONT
|
|
bool "Enable font profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_FS
|
|
bool "Enable fs profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_STYLE
|
|
bool "Enable style profiler"
|
|
default n
|
|
|
|
config LV_PROFILER_TIMER
|
|
bool "Enable timer profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_CACHE
|
|
bool "Enable cache profiler"
|
|
default y
|
|
|
|
config LV_PROFILER_EVENT
|
|
bool "Enable event profiler"
|
|
default y
|
|
|
|
endif # LV_USE_PROFILER
|
|
endmenu
|
|
|
|
menu "Test Utilities"
|
|
config LV_USE_TEST
|
|
bool "Enable emulated input devices, time emulation, and screenshot compares"
|
|
help
|
|
Enable emulated input devices, time emulation, and screenshot compares
|
|
|
|
if LV_USE_TEST
|
|
|
|
config LV_USE_TEST_SCREENSHOT_COMPARE
|
|
bool "Screenshot Compare"
|
|
select LV_USE_LODEPNG
|
|
help
|
|
Enable `lv_test_screenshot_compare`.
|
|
Requires a few MB of extra RAM.
|
|
|
|
config LV_TEST_SCREENSHOT_CREATE_REFERENCE_IMAGE
|
|
bool "Create a reference image by default if it does not exist"
|
|
default y
|
|
depends on LV_USE_TEST_SCREENSHOT_COMPARE
|
|
|
|
endif #LV_USE_TEST
|
|
|
|
config LV_USE_MONKEY
|
|
bool "Enable Monkey test"
|
|
default n
|
|
help
|
|
Enable Monkey test
|
|
endmenu
|
|
|
|
menu "Debug Rendering"
|
|
|
|
config LV_USE_REFR_DEBUG
|
|
bool "Draw random colored rectangles over the redrawn areas"
|
|
help
|
|
Draw random colored rectangles over the redrawn areas.
|
|
|
|
config LV_USE_LAYER_DEBUG
|
|
bool "Draw a red overlay for ARGB layers and a green overlay for RGB layers"
|
|
help
|
|
Draw a red overlay for ARGB layers and a green overlay for RGB layers
|
|
|
|
config LV_USE_PARALLEL_DRAW_DEBUG
|
|
bool "Draw overlays with different colors for each draw_unit's tasks"
|
|
help
|
|
Also add the index number of the draw unit on white background.
|
|
For layers add the index number of the draw unit on black background.
|
|
endmenu
|
|
endmenu
|
|
menu "Others"
|
|
config LV_USE_FRAGMENT
|
|
bool "Enable lv_obj fragment"
|
|
default n
|
|
help
|
|
Enable `lv_obj` fragment logic
|
|
|
|
config LV_USE_FILE_EXPLORER
|
|
bool "Enable file explorer"
|
|
default n
|
|
select LV_USE_TABLE
|
|
help
|
|
Enable file explorer.
|
|
|
|
if LV_USE_FILE_EXPLORER
|
|
config LV_FILE_EXPLORER_PATH_MAX_LEN
|
|
int "Maximum length of path"
|
|
default 128
|
|
|
|
config LV_FILE_EXPLORER_QUICK_ACCESS
|
|
bool "Enable quick access bar"
|
|
default y
|
|
help
|
|
This can save some memory, but not much.
|
|
After the quick access bar is created, it can be hidden
|
|
by clicking the button at the top left corner of
|
|
the browsing area, which is very useful for small screen devices.
|
|
|
|
endif #LV_USE_FILE_EXPLORER
|
|
|
|
endmenu
|
|
menu "Build"
|
|
|
|
config LVGL_VERSION_MAJOR
|
|
int
|
|
default 9
|
|
config LVGL_VERSION_MINOR
|
|
int
|
|
default 6
|
|
config LVGL_VERSION_PATCH
|
|
int
|
|
default 0
|
|
|
|
config LV_CONF_SKIP
|
|
bool "Check this to skip using lv_conf.h"
|
|
default y
|
|
|
|
config LV_CONF_MINIMAL
|
|
bool "LVGL minimal configuration [DEPRECATED: use the minimal defconfig]"
|
|
default n
|
|
help
|
|
Deprecated and no longer functional. The minimal preset is now a
|
|
defconfig: configs/defconfigs/minimal.defconfig. Setting this has no
|
|
effect on the generated configuration and triggers a build warning.
|
|
|
|
config LV_USE_PRIVATE_API
|
|
bool "Include `lvgl_private.h` in `lvgl.h` to access internal data and functions by default"
|
|
default n
|
|
|
|
config LV_ENABLE_GLOBAL_CUSTOM
|
|
bool "Enable 'lv_global' customization"
|
|
default n
|
|
help
|
|
By default, LVGL stores all runtime state in a single static
|
|
'lv_global_t' variable, sufficient for most single-display
|
|
single-threaded applications.
|
|
|
|
Enable this if you need multiple independent LVGL instances in
|
|
the same process, for example:
|
|
- Multiple physical displays with separate render loops
|
|
- Per-thread LVGL contexts on an RTOS (FreeRTOS, Zephyr, etc.)
|
|
- Hot-swappable or sandboxed UI instances
|
|
|
|
When enabled, every LVGL internal access to global state goes
|
|
through LV_GLOBAL_CUSTOM() instead of a static variable. You
|
|
must implement 'lv_global_t *lv_global_default(void)' to return
|
|
the correct instance for the current context (e.g. by thread-local
|
|
storage or a guarded pointer switch).
|
|
|
|
Returning NULL from that function is safe; LVGL will treat the
|
|
library as uninitialized for that context.
|
|
|
|
if LV_ENABLE_GLOBAL_CUSTOM
|
|
|
|
config LV_GLOBAL_USE_CUSTOM_INCLUDE
|
|
bool "Provide 'lv_global_default()' from a custom header"
|
|
help
|
|
Use a custom header for the declaration of:
|
|
lv_global_t *lv_global_default(void);
|
|
|
|
config LV_GLOBAL_CUSTOM_INCLUDE
|
|
string "Header to include for the custom 'lv_global' function"
|
|
depends on LV_GLOBAL_USE_CUSTOM_INCLUDE
|
|
default "lv_global.h"
|
|
help
|
|
Path to the header that declares:
|
|
lv_global_t *lv_global_default(void);
|
|
|
|
This header is included wherever LVGL needs to resolve the
|
|
LV_GLOBAL_DEFAULT() macro. Keep it lightweight, it is included
|
|
in performance-critical paths.
|
|
|
|
endif #LV_ENABLE_GLOBAL_CUSTOM
|
|
|
|
menu "Asserts"
|
|
config LV_USE_ASSERT_NULL
|
|
bool "Check if the parameter is NULL. (Very fast, recommended)"
|
|
default y
|
|
|
|
config LV_USE_ASSERT_MALLOC
|
|
bool "Checks if the memory is successfully allocated or no. (Very fast, recommended)"
|
|
default y
|
|
|
|
config LV_USE_ASSERT_STYLE
|
|
bool "Check if the styles are properly initialized. (Very fast, recommended)"
|
|
|
|
config LV_USE_ASSERT_MEM_INTEGRITY
|
|
bool "Check the integrity of `lv_mem` after critical operations. (Slow)"
|
|
|
|
config LV_USE_ASSERT_OBJ
|
|
bool "Check NULL, the object's type and existence (e.g. not deleted). (Slow)"
|
|
|
|
config LV_ASSERT_HANDLER_INCLUDE
|
|
string "Assert handler include [DEPRECATED: use LV_ASSERT_CUSTOM_INCLUDE]"
|
|
default ""
|
|
help
|
|
[DEPRECATED: use LV_ASSERT_CUSTOM_INCLUDE]
|
|
Add a custom handler when assert happens e.g. to restart the MCU
|
|
Optional header to override assert-related macros.
|
|
|
|
config LV_WARN_ABOUT_ASSERT_HANDLER_INCLUDE
|
|
bool
|
|
default y if LV_ASSERT_HANDLER_INCLUDE != ""
|
|
|
|
config LV_DISABLE_ASSERT_HANDLER_INCLUDE_WARNING
|
|
bool "Disable LV_ASSERT_HANDLER_INCLUDE deprecated warning"
|
|
default n
|
|
help
|
|
Disable warning saying `LV_ASSERT_HANDLER_INCLUDE` is deprecated.
|
|
This setting allows you to keep using old LVGL versions which rely on
|
|
LV_ASSERT_HANDLER_INCLUDE without triggering a compiler warning.
|
|
|
|
LV_ASSERT_HANDLER_INCLUDE has been deprecated in favor of the new approach:
|
|
define LV_ASSERT_CUSTOM_INCLUDE with the header path, and place the
|
|
LV_ASSERT_HANDLER macro definition inside that header instead.
|
|
|
|
Only enable this if you are maintaining compatibility with existing code
|
|
that uses LV_ASSERT_HANDLER_INCLUDE and cannot migrate immediately.
|
|
New projects should use LV_ASSERT_CUSTOM_INCLUDE and LV_ASSERT_HANDLER
|
|
directly.
|
|
|
|
config LV_ASSERT_USE_CUSTOM_INCLUDE
|
|
bool "Use a custom path to define an assertion handler"
|
|
default n
|
|
help
|
|
Use LV_ASSERT_CUSTOM_INCLUDE to define the path to a file defining a
|
|
custom LV_ASSERT_HANDLER
|
|
|
|
config LV_ASSERT_CUSTOM_INCLUDE
|
|
string "Path to custom assert handler header"
|
|
default ""
|
|
depends on LV_ASSERT_USE_CUSTOM_INCLUDE
|
|
help
|
|
Optional header to override assert-related macros.
|
|
|
|
LV_ASSERT_HANDLER
|
|
Statement to execute when an assertion fails.
|
|
e.g. #define LV_ASSERT_HANDLER my_assert_failed(__FILE__, __LINE__);
|
|
|
|
endmenu
|
|
|
|
menu "Argument Checks"
|
|
config LV_USE_CHECK_ARG
|
|
bool "Enable LV_CHECK_ARG macro for runtime argument validation"
|
|
default y
|
|
help
|
|
When enabled, LV_CHECK_ARG checks validate function arguments
|
|
at runtime. Failed checks log a warning and execute the specified
|
|
action. When disabled, all LV_CHECK_ARG checks compile to nothing.
|
|
Disabling this is not recommended unless extreme care is taken and only
|
|
in very resource constrained environments where it can be absolutely
|
|
ensured that invariants are never violated.
|
|
|
|
if LV_USE_CHECK_ARG
|
|
|
|
config LV_CHECK_ARG_ASSERT_ON_FAIL
|
|
bool "Call assert handler on LV_CHECK_ARG failure"
|
|
default n
|
|
help
|
|
When enabled, LV_ASSERT_HANDLER is also invoked when an
|
|
LV_CHECK_ARG check fails, before the action is executed.
|
|
|
|
choice
|
|
prompt "Log behavior on LV_CHECK_ARG failure"
|
|
default LV_CHECK_ARG_LOG_MODE_VERBOSE if LV_USE_LOG
|
|
default LV_CHECK_ARG_LOG_MODE_NONE if !LV_USE_LOG
|
|
help
|
|
Controls what is logged when an LV_CHECK_ARG check fails.
|
|
MINIMAL and VERBOSE modes require LV_USE_LOG to be enabled;
|
|
selecting either when LV_USE_LOG is disabled will cause a
|
|
compile-time error.
|
|
|
|
config LV_CHECK_ARG_LOG_MODE_NONE
|
|
bool "None: no log output on failure"
|
|
|
|
config LV_CHECK_ARG_LOG_MODE_MINIMAL
|
|
bool "Minimal: log 'Check failed' only (file/line from LV_LOG_WARN)"
|
|
depends on LV_USE_LOG
|
|
|
|
config LV_CHECK_ARG_LOG_MODE_VERBOSE
|
|
bool "Verbose: log 'Check failed: <cond>' plus caller-supplied message"
|
|
depends on LV_USE_LOG
|
|
|
|
endchoice
|
|
|
|
config LV_CHECK_ARG_LOG_MODE
|
|
int
|
|
default 0 if LV_CHECK_ARG_LOG_MODE_NONE
|
|
default 1 if LV_CHECK_ARG_LOG_MODE_MINIMAL
|
|
default 2 if LV_CHECK_ARG_LOG_MODE_VERBOSE
|
|
|
|
config LV_USE_CHECK_OBJ_CLASSTYPE
|
|
bool "Enable class check in LV_CHECK_OBJ"
|
|
default n
|
|
help
|
|
When enabled, LV_CHECK_OBJ verifies that the object has the
|
|
expected class (lv_obj_has_class). When disabled, the class
|
|
check is skipped even if a class argument is supplied.
|
|
|
|
config LV_USE_CHECK_OBJ_VALIDITY
|
|
bool "Enable widget-tree validity check in LV_CHECK_OBJ"
|
|
default n
|
|
help
|
|
When enabled, LV_CHECK_OBJ also verifies that the object is
|
|
still part of the widget tree (lv_obj_is_valid). When disabled,
|
|
the validity check is skipped even if the associated argument
|
|
is supplied.
|
|
endif
|
|
endmenu
|
|
endmenu #"Build"
|
|
menu "Compiler Settings"
|
|
config LV_BIG_ENDIAN_SYSTEM
|
|
bool "For big endian systems set to 1"
|
|
help
|
|
For big endian systems set to 1
|
|
|
|
config LV_ATTRIBUTE_USE_CUSTOM_INCLUDE
|
|
bool "Include a custom attributes header"
|
|
default n
|
|
help
|
|
Include the header given by LV_ATTRIBUTE_CUSTOM_INCLUDE to override the
|
|
LV_ATTRIBUTE_* macros for your platform.
|
|
|
|
config LV_ATTRIBUTE_CUSTOM_INCLUDE
|
|
string "Path to custom attributes header"
|
|
default ""
|
|
depends on LV_ATTRIBUTE_USE_CUSTOM_INCLUDE
|
|
help
|
|
Optional header to override LV_ATTRIBUTE_* macros for your platform.
|
|
Leave empty to use defaults (all expand to nothing).
|
|
|
|
Create a header file and set this to its path, e.g. "my_lv_attr.h".
|
|
The following macros can be defined in it:
|
|
|
|
LV_ATTRIBUTE_MEM_ALIGN
|
|
Where memory needs to be aligned (e.g. with -Os, data may not be
|
|
aligned to the required boundary by default).
|
|
e.g. __attribute__((aligned(4)))
|
|
|
|
LV_ATTRIBUTE_TICK_INC
|
|
Applied to lv_tick_inc(). Often called from a timer ISR, so fast
|
|
memory placement can reduce latency.
|
|
e.g. __attribute__((section(".itcm"))) or __ramfunc (IAR)
|
|
|
|
LV_ATTRIBUTE_TIMER_HANDLER
|
|
Applied to lv_timer_handler().
|
|
e.g. __attribute__((section(".itcm")))
|
|
|
|
LV_ATTRIBUTE_FLUSH_READY
|
|
Applied to lv_display_flush_ready(). Often called from a DMA or
|
|
display ISR.
|
|
e.g. __attribute__((section(".itcm")))
|
|
|
|
LV_ATTRIBUTE_SYNC_READY
|
|
Applied to lv_display_sync_ready(). Similar to FLUSH_READY, useful
|
|
when called from an ISR context.
|
|
e.g. __attribute__((section(".itcm")))
|
|
|
|
LV_ATTRIBUTE_LARGE_CONST
|
|
Applied to large read-only arrays such as font bitmaps. Use to place
|
|
them in a specific flash region or external memory.
|
|
e.g. __attribute__((section(".ext_flash")))
|
|
|
|
LV_ATTRIBUTE_LARGE_RAM_ARRAY
|
|
Applied to large arrays allocated in RAM.
|
|
e.g. __attribute__((section(".ext_ram")))
|
|
|
|
LV_ATTRIBUTE_FAST_MEM
|
|
Applied to performance-critical functions to place them in faster
|
|
memory such as ITCM or SRAM.
|
|
e.g. __attribute__((section(".itcm"))) or __ramfunc (IAR)
|
|
|
|
LV_ATTRIBUTE_EXTERN_DATA
|
|
Prefix for all global extern data declarations. Useful for placing
|
|
shared data in a named section or applying export attributes.
|
|
e.g. __attribute__((section(".shared_mem")))
|
|
|
|
LV_EXPORT_CONST_INT(int_value)
|
|
Exports an integer constant to a language binding API such as
|
|
MicroPython. Called for all constants in the form LV_<CONST>.
|
|
Leave undefined if not using a binding.
|
|
e.g. mp_rom_map_elem_t entry = {MP_ROM_QSTR(MP_QSTR_##int_value), MP_ROM_INT(int_value)}
|
|
|
|
endmenu #"Compiler Settings"
|
|
menu "Examples"
|
|
config LV_BUILD_EXAMPLES
|
|
bool "Enable the examples to be built"
|
|
default y
|
|
help
|
|
Enable examples to be built with the library.
|
|
|
|
endmenu #"Examples"
|
|
menu "Demos"
|
|
config LV_BUILD_DEMOS
|
|
bool "Build demos"
|
|
default y
|
|
help
|
|
Build the demos
|
|
|
|
if LV_BUILD_DEMOS
|
|
|
|
config LV_USE_DEMO_BENCHMARK
|
|
bool "Benchmark your system"
|
|
default n
|
|
select LV_FONT_MONTSERRAT_14
|
|
select LV_FONT_MONTSERRAT_20
|
|
select LV_FONT_MONTSERRAT_24
|
|
select LV_FONT_MONTSERRAT_26
|
|
select LV_USE_DEMO_WIDGETS
|
|
|
|
config LV_DEMO_BENCHMARK_ALIGNED_FONTS
|
|
depends on LV_USE_DEMO_BENCHMARK
|
|
bool "Use static aligned fonts"
|
|
default n
|
|
config LV_USE_DEMO_GLTF
|
|
bool "glTF demo"
|
|
default n
|
|
depends on LV_USE_GLTF
|
|
config LV_USE_DEMO_KEYPAD_AND_ENCODER
|
|
bool "Demonstrate the usage of encoder and keyboard"
|
|
default n
|
|
|
|
config LV_USE_DEMO_MUSIC
|
|
bool "Music player demo"
|
|
default n
|
|
if LV_USE_DEMO_MUSIC
|
|
|
|
config LV_DEMO_MUSIC_SQUARE
|
|
bool "Enable Square"
|
|
default n
|
|
|
|
config LV_DEMO_MUSIC_LANDSCAPE
|
|
bool "Enable Landscape"
|
|
default n
|
|
|
|
config LV_DEMO_MUSIC_ROUND
|
|
bool "Enable Round"
|
|
default n
|
|
|
|
config LV_DEMO_MUSIC_LARGE
|
|
bool "Enable Large"
|
|
default n
|
|
|
|
config LV_DEMO_MUSIC_AUTO_PLAY
|
|
bool "Enable Auto play"
|
|
default n
|
|
|
|
endif #LV_USE_DEMO_MUSIC
|
|
config LV_USE_DEMO_RENDER
|
|
bool "Render test for each primitives. Requires at least 480x272 display"
|
|
select LV_USE_GRID
|
|
default n
|
|
|
|
config LV_USE_DEMO_STRESS
|
|
bool "Stress test for LVGL"
|
|
default n
|
|
config LV_USE_DEMO_VECTOR_GRAPHIC
|
|
bool "vector graphic demo"
|
|
default n
|
|
depends on LV_DRAW_HAS_VECTOR_SUPPORT
|
|
select LV_USE_VECTOR_GRAPHIC
|
|
config LV_USE_DEMO_WIDGETS
|
|
bool "Show-case LVGL widgets"
|
|
default n
|
|
|
|
config LV_USE_DEMO_FLEX_LAYOUT
|
|
bool "Flex layout previewer"
|
|
default n
|
|
config LV_USE_DEMO_MULTILANG
|
|
bool "multi-language demo"
|
|
default n
|
|
|
|
config LV_USE_DEMO_SMARTWATCH
|
|
bool "Smartwatch demo"
|
|
|
|
config LV_USE_DEMO_EBIKE
|
|
bool "Ebike demo"
|
|
|
|
config LV_DEMO_EBIKE_PORTRAIT
|
|
bool "Ebike portrait layout"
|
|
depends on LV_USE_DEMO_EBIKE
|
|
default n
|
|
|
|
config LV_USE_DEMO_HIGH_RES
|
|
bool "High resolution demo"
|
|
endif
|
|
endmenu #"Demos"
|
|
|
|
endmenu #"LVGL"
|