| # | 
 | # 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 | 
 | 	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 | 
 |  |