blob: 813d5f643b8ec65258156779c9a03cbb31c1a4e8 [file] [log] [blame]
#
# Copyright (c) 2018 Jan Van Winkel <jan.van_winkel@dxplore.eu>
#
# SPDX-License-Identifier: Apache-2.0
#
config LVGL
bool "LittlevGL Support"
help
This option enables the LittlevGL GUI library.
if LVGL
module = LVGL
module-str = lvgl
source "subsys/logging/Kconfig.template.log_config"
config LVGL_DISPLAY_DEV_NAME
string "Display device name"
default "DISPLAY"
help
Name of the display device to use for rendering.
config LVGL_HOR_RES
int "Horizontal Screen Resolution"
default 320
help
Horizontal screen resolution in pixels
config LVGL_VER_RES
int "Vertical Screen Resolution"
default 240
help
Vertical screen resolution in pixels
config LVGL_DPI
int "DPI"
default 100
help
Dots per inch (DPI)
choice LVGL_COLOR_DEPTH
prompt "Color Depth"
default LVGL_COLOR_DEPTH_32
help
Color depth to be used by library
config LVGL_COLOR_DEPTH_32
bool "32-bit"
config LVGL_COLOR_DEPTH_16
bool "16-bit"
config LVGL_COLOR_DEPTH_8
bool "8-bit"
config LVGL_COLOR_DEPTH_1
bool "1-bit"
endchoice
config LVGL_BITS_PER_PIXEL
int "Bits per pixel"
default 0
help
Number of bits per pixel, in case the number of pixels should be derived
from the color depth set the number of pixels to zero.
if LVGL_COLOR_DEPTH_16
config LVGL_COLOR_16_SWAP
bool "RGB565 byte swap"
help
Swap the 2 bytes of a RGB565 pixel.
endif
if LVGL_COLOR_DEPTH_32
config LVGL_COLOR_SCREEN_TRANSP
bool "Transparency support"
help
Enable screen transparency. Useful for OSD or other overlapping GUISs.
endif
choice
prompt "Chroma key color"
default LVGL_CHROMA_KEY_GREEN
help
Color to to use as chroma key
config LVGL_CHROMA_KEY_RED
bool "Red"
config LVGL_CHROMA_KEY_GREEN
bool "Green"
config LVGL_CHROMA_KEY_BLUE
bool "Blue"
config LVGL_CHROMA_KEY_CUSTOM
bool "Custom"
endchoice
if LVGL_CHROMA_KEY_CUSTOM
config LVGL_CUSTOM_CHROMA_KEY_RED
hex "Chroma Key Red"
range 0x00 0xFF
default 0x00
help
Value of the color red to be used in the chroma key
config LVGL_CUSTOM_CHROMA_KEY_GREEN
hex "Chroma Key Green"
range 0x00 0xFF
default 0xFF
help
Value of the color green to be used in the chroma key
config LVGL_CUSTOM_CHROMA_KEY_BLUE
hex "Chroma Key Blue"
range 0x00 0xFF
default 0x00
help
Value of the color blue to be used in the chroma key
endif
choice
prompt "Memory pool"
default LVGL_MEM_POOL_HEAP_KERNEL
help
Memory pool to use for lvgl allocated objects
config LVGL_MEM_POOL_HEAP_KERNEL
bool "Kernel Heap"
depends on HEAP_MEM_POOL_SIZE != 0
help
Use k_malloc and k_free to allocate objects on the kernel heap
config LVGL_MEM_POOL_HEAP_LIB_C
bool "C library Heap"
depends on NEWLIB_LIBC || (MINIMAL_LIBC_MALLOC_ARENA_SIZE != 0)
help
Use C library malloc and free to allocate objects on the C library heap
config LVGL_MEM_POOL_KERNEL
bool "Kernel space lvgl pool"
help
Use a dedicated memory pool in kernel space to allocate lvgl objects
on
config LVGL_MEM_POOL_USER
bool "User space lvgl pool"
help
Use a dedicated memory pool in user space to allocate lvgl objects on
endchoice
if LVGL_MEM_POOL_KERNEL || LVGL_MEM_POOL_USER
config LVGL_MEM_POOL_MIN_SIZE
int "Minimum memory pool block size"
default 16
help
Size of the smallest block in the memory pool in bytes
config LVGL_MEM_POOL_MAX_SIZE
int "Maximum memory pool block size"
default 2048
help
Size of the largest block in the memory pool in bytes
config LVGL_MEM_POOL_NUMBER_BLOCKS
int "Number of max size blocks in memory pool"
default 1
help
Number of maximum sized blocks in the memory pool.
endif
if !LVGL_TRUE_DOUBLE_BUFFERED
config LVGL_VDB_SIZE
int "Virtual Display Buffer Size"
default 10
range 1 100
help
Virtual Display Buffer (double buffering) size as a percentage of
total display size.
endif
config LVGL_VDB_STATIC
bool "Statically allocate virtual display buffer"
default y
help
Statically allocate virtual display buffer. If disabled pointer should be
passed via lv_vdb_set_adr().
config LVGL_DOUBLE_VDB
bool "Use 2 Virtual Display Buffers"
help
Use 2 virtual display buffers to render and flush data in parallel
if LVGL_DOUBLE_VDB
config LVGL_TRUE_DOUBLE_BUFFERED
bool "True double buffered"
help
Use true double buffering, VDB size will be set to 100%.
endif
config LVGL_SCREEN_REFRESH_PERIOD
int "Screen refresh period"
default 50
help
Screen refresh period in milliseconds
config LVGL_INPUT_REFRESH_PERIOD
int "Input device refresh period"
default 50
help
Refresh period for input devices in milliseconds
config LVGL_INPUT_MARK_PRESSED_POINTS
bool "Mark pressed points"
depends on LVGL_DIRECT_DRAW
help
Mark the pressed points on the screen.
config LVGL_INPUT_DRAG_THRESHOLD
int "Drag Threshold"
default 10
help
Threshold in pixels before entering drag mode
config LVGL_INPUT_DRAG_THROW_SLOW_DOWN
int "Drag throw slow-down"
default 20
range 0 100
help
Percentage of slow down of a throw following a drag.
Greater percentage means faster slow-down.
config LVGL_INPUT_LONG_PRESS_TIME
int "Long press time"
default 400
help
Period in milliseconds before a press is seen as a long press
config LVGL_INPUT_LONG_RESS_REPEAT_TIME
int "Long press repeat time"
default 100
help
Period in milliseconds after which a new trigger is generated
for a long press
config LVGL_UTF_8
bool "Enable UTF-8 support"
default y
help
Enable UTF-8 support
config LVGL_TEXT_BREAK_CHARACTERS
string "Text break characters"
default " ,.;:-_"
help
Characters on which a text break can take place
config LVGL_TEXT_BREAK_LONG_WORD_SIZE
int "Long word size for text break"
default 12
help
Number of characters in a word before considering a word for a text break
config LVGL_TEXT_BREAK_LONG_WORD_PRE_MIN_LEN
int "Minimum long word length before text break"
default 3
help
Minimum number of characters of a long word that should be put before a
break
config LVGL_TEXT_BREAK_LONG_WORD_POST_MIN_LEN
int "Minimum long word length after text break"
default 1
help
Minimum number of characters of a long word that should be placed after a
break
config LVGL_ANTIALIAS
bool "Enable anti-aliasing"
default y
help
Enable anti-aliasing
config LVGL_ANIMATION
bool "Enable animations"
default y
help
Enable animations
config LVGL_SHADOW
bool "Enable shadows"
default y
help
Enable shadows
config LVGL_GROUP
bool "Enable group support"
default y
help
Enable group support.
Used by keyboard and button input
config LVGL_GPU
bool "Enable GPU support"
help
Enable GPU support
config LVGL_DIRECT_DRAW
bool "Enable direct draw"
default y
help
Enable direct draw support.
Direct draw bypasses virtual display buffer and directly writes to
frame buffer
config LVGL_FILESYSTEM
bool "Enable file system"
depends on FILE_SYSTEM
default y if FILE_SYSTEM
help
Enable LittlevGL file system
config LVGL_MULTI_LANGUAGE
bool "Multi language support"
help
Enable multi language support
if LVGL_MULTI_LANGUAGE
config LVGL_NBR_OF_LANGUAGES
int "Number of languages"
default 1
help
Number of languages to support
endif
config LVGL_VLA_SUPPORT
bool "Enable variable length array support"
default y
help
Enable variable length array support
config LVGL_COMPILER_NON_CONST_INIT_SUPPORTED
bool "Enable non constant init"
default y
help
Indicate if initialization with non constant values is supported
rsource "Kconfig.themes"
rsource "Kconfig.fonts"
rsource "Kconfig.objects"
config APP_LINK_WITH_LVGL
bool "Link 'app' with LVGL"
default y
help
Add LVGL header files to the 'app' include path. It may be
disabled if the include paths for LVGL are causing aliasing
issues for 'app'.
endif # LVGL