lv_conf_internal.h

GENERATED FILE, DO NOT EDIT IT!

This file ensures all defines of lv_conf.h have a default value.

Defines

LV_OS_NONE
LV_OS_PTHREAD
LV_OS_FREERTOS
LV_OS_CMSIS_RTOS2
LV_OS_RTTHREAD
LV_OS_WINDOWS
LV_OS_MQX
LV_OS_SDL2
LV_OS_CUSTOM
LV_STDLIB_BUILTIN
LV_STDLIB_CLIB
LV_STDLIB_MICROPYTHON
LV_STDLIB_RTTHREAD
LV_STDLIB_CUSTOM
LV_DRAW_SW_ASM_NONE
LV_DRAW_SW_ASM_NEON
LV_DRAW_SW_ASM_HELIUM
LV_DRAW_SW_ASM_CUSTOM
LV_NEMA_HAL_CUSTOM
LV_NEMA_HAL_STM32
LV_COLOR_DEPTH

Handle special Kconfig options. Color depth: 1 (I1), 8 (L8), 16 (RGB565), 24 (RGB888), 32 (XRGB8888)

LV_USE_STDLIB_MALLOC

Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally

LV_USE_STDLIB_STRING

Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally

LV_USE_STDLIB_SPRINTF

Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally

LV_STDINT_INCLUDE
LV_STDDEF_INCLUDE
LV_STDBOOL_INCLUDE
LV_INTTYPES_INCLUDE
LV_LIMITS_INCLUDE
LV_STDARG_INCLUDE
LV_MEM_SIZE

Size of memory available for lv_malloc() in bytes (>= 2kB) [bytes]

LV_MEM_POOL_EXPAND_SIZE

Size of the memory expand for lv_malloc() in bytes

LV_MEM_ADR

Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too. 0: unused

LV_DEF_REFR_PERIOD

Default display refresh, input device read and animation step period. [ms]

LV_DPI_DEF

Default Dots Per Inch. Used to initialize default sizes such as widgets sized, style paddings. (Not so important, you can adjust it to modify default sizes and spaces.) [px/inch]

LV_USE_OS

Select operating system to use. Possible options:

  • LV_OS_NONE

  • LV_OS_PTHREAD

  • LV_OS_FREERTOS

  • LV_OS_CMSIS_RTOS2

  • LV_OS_RTTHREAD

  • LV_OS_WINDOWS

  • LV_OS_MQX

  • LV_OS_SDL2

  • LV_OS_CUSTOM

LV_DRAW_BUF_STRIDE_ALIGN

Align stride of all layers and images to this bytes

LV_DRAW_BUF_ALIGN

Align start address of draw_buf addresses to this bytes

LV_DRAW_TRANSFORM_USE_MATRIX

Using matrix for transformations. Requirements:

  • LV_USE_MATRIX = 1.

  • Rendering engine needs to support 3x3 matrix transformations.

LV_DRAW_LAYER_SIMPLE_BUF_SIZE

The target buffer size for simple layer chunks. [bytes]

LV_DRAW_LAYER_MAX_MEMORY

No limit by default [bytes]

LV_DRAW_THREAD_STACK_SIZE

Stack size of drawing thread. NOTE: If FreeType or ThorVG is enabled, it is recommended to set it to 32KB or more. [bytes]

LV_USE_DRAW_SW
LV_DRAW_SW_SUPPORT_RGB565
LV_DRAW_SW_SUPPORT_RGB565A8
LV_DRAW_SW_SUPPORT_RGB888
LV_DRAW_SW_SUPPORT_XRGB8888
LV_DRAW_SW_SUPPORT_ARGB8888
LV_DRAW_SW_SUPPORT_L8
LV_DRAW_SW_SUPPORT_AL88
LV_DRAW_SW_SUPPORT_A8
LV_DRAW_SW_SUPPORT_I1
LV_DRAW_SW_I1_LUM_THRESHOLD
LV_DRAW_SW_DRAW_UNIT_CNT

Set number of draw units.

  • > 1 requires operating system to be enabled in LV_USE_OS.

  • > 1 means multiple threads will render the screen in parallel.

LV_USE_DRAW_ARM2D_SYNC

Use Arm-2D to accelerate software (sw) rendering.

LV_USE_NATIVE_HELIUM_ASM

Enable native helium assembly to be compiled.

LV_DRAW_SW_COMPLEX

  • 0: Use a simple renderer capable of drawing only simple rectangles with gradient, images, text, and straight lines only.

  • 1: Use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too.

LV_DRAW_SW_SHADOW_CACHE_SIZE

Allow buffering some shadow calculation. LV_DRAW_SW_SHADOW_CACHE_SIZE is the maximum shadow size to buffer, where shadow size is shadow_width + radius. Caching has LV_DRAW_SW_SHADOW_CACHE_SIZE^2 RAM cost.

LV_DRAW_SW_CIRCLE_CACHE_SIZE

Set number of maximally-cached circle data. 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).

  • 0: disables caching

LV_USE_DRAW_SW_ASM
LV_USE_DRAW_SW_COMPLEX_GRADIENTS

Enable drawing complex gradients in software: linear at an angle, radial or conical

LV_USE_NEMA_GFX
LV_USE_DRAW_VGLITE

Use NXP's VG-Lite GPU on iMX RTxxx platforms.

LV_USE_PXP

Use NXP's PXP on iMX RTxxx platforms.

LV_USE_DRAW_G2D

Use NXP's G2D on MPU platforms.

LV_USE_DRAW_DAVE2D

Use Renesas Dave2D on RA platforms.

LV_USE_DRAW_SDL

Draw using cached SDL textures

LV_USE_DRAW_VG_LITE

Use VG-Lite GPU.

LV_USE_DRAW_DMA2D

Accelerate blends, fills, etc. with STM32 DMA2D

LV_USE_DRAW_OPENGLES

Draw using cached OpenGLES textures

LV_USE_LOG

Enable log module

LV_USE_ASSERT_NULL

Check if the parameter is NULL. (Very fast, recommended)

LV_USE_ASSERT_MALLOC

Checks is the memory is successfully allocated or no. (Very fast, recommended)

LV_USE_ASSERT_STYLE

Check if the styles are properly initialized. (Very fast, recommended)

LV_USE_ASSERT_MEM_INTEGRITY

Check the integrity of lv_mem after critical operations. (Slow)

LV_USE_ASSERT_OBJ

Check the object's type and existence (e.g. not deleted). (Slow)

LV_ASSERT_HANDLER_INCLUDE

Add a custom handler when assert happens e.g. to restart MCU.

LV_ASSERT_HANDLER

Halt by default

LV_USE_REFR_DEBUG

1: Draw random colored rectangles over the redrawn areas.

LV_USE_LAYER_DEBUG

1: Draw a red overlay for ARGB layers and a green overlay for RGB layers

LV_USE_PARALLEL_DRAW_DEBUG

1: Adds the following behaviors for debugging:

  • Draw overlays with different colors for each draw_unit's tasks.

  • Draw index number of draw unit on white background.

  • For layers, draws index number of draw unit on black background.

LV_ENABLE_GLOBAL_CUSTOM
LV_CACHE_DEF_SIZE

Default cache size in bytes. Used by image decoders such as lv_lodepng to keep the decoded image in memory. If size is not set to 0, the decoder will fail to decode when the cache is full. If size is 0, the cache function is not enabled and the decoded memory will be released immediately after use.

LV_IMAGE_HEADER_CACHE_DEF_CNT

Default number of image header cache entries. The cache is used to store the headers of images The main logic is like LV_CACHE_DEF_SIZE but for image headers.

LV_GRADIENT_MAX_STOPS

Number of stops allowed per gradient. Increase this to allow more stops. This adds (sizeof(lv_color_t) + 1) bytes per additional stop.

LV_COLOR_MIX_ROUND_OFS

Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently.

  • 0: round down,

  • 64: round up from x.75,

  • 128: round up from half,

  • 192: round up from x.25,

  • 254: round up

LV_OBJ_STYLE_CACHE

Add 2 x 32-bit variables to each lv_obj_t to speed up getting style properties

LV_USE_OBJ_ID

Add id field to lv_obj_t

LV_USE_OBJ_NAME

Enable support widget names

LV_OBJ_ID_AUTO_ASSIGN

Automatically assign an ID when obj is created

LV_USE_OBJ_ID_BUILTIN

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.

LV_USE_OBJ_PROPERTY

Use obj property set/get API.

LV_USE_OBJ_PROPERTY_NAME

Enable property name support.

LV_USE_VG_LITE_THORVG
LV_USE_GESTURE_RECOGNITION
LV_BIG_ENDIAN_SYSTEM

For big endian systems set to 1

LV_ATTRIBUTE_TICK_INC

Define a custom attribute for lv_tick_inc function

LV_ATTRIBUTE_TIMER_HANDLER

Define a custom attribute for lv_timer_handler function

LV_ATTRIBUTE_FLUSH_READY

Define a custom attribute for lv_display_flush_ready function

LV_ATTRIBUTE_MEM_ALIGN_SIZE

Align VG_LITE buffers on this number of bytes.

Note

vglite_src_buf_aligned() uses this value to validate alignment of passed buffer pointers.

LV_ATTRIBUTE_MEM_ALIGN

Will be added where memory needs to be aligned (with -Os data might not be aligned to boundary by default). E.g. attribute((aligned(4)))

LV_ATTRIBUTE_LARGE_CONST

Attribute to mark large constant arrays, for example for font bitmaps

LV_ATTRIBUTE_LARGE_RAM_ARRAY

Compiler prefix for a large array declaration in RAM

LV_ATTRIBUTE_FAST_MEM

Place performance critical functions into a faster memory (e.g RAM)

LV_EXPORT_CONST_INT(int_value)

Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that should also appear on LVGL binding API such as MicroPython. The default value just prevents GCC warning

LV_ATTRIBUTE_EXTERN_DATA

Prefix all global extern data with this

LV_USE_FLOAT

Use float as lv_value_precise_t

LV_USE_MATRIX

Enable matrix support

  • Requires LV_USE_FLOAT = 1

LV_USE_PRIVATE_API

Include lvgl_private.h in lvgl.h to access internal data and functions by default

LV_FONT_MONTSERRAT_8
LV_FONT_MONTSERRAT_10
LV_FONT_MONTSERRAT_12
LV_FONT_MONTSERRAT_14
LV_FONT_MONTSERRAT_16
LV_FONT_MONTSERRAT_18
LV_FONT_MONTSERRAT_20
LV_FONT_MONTSERRAT_22
LV_FONT_MONTSERRAT_24
LV_FONT_MONTSERRAT_26
LV_FONT_MONTSERRAT_28
LV_FONT_MONTSERRAT_30
LV_FONT_MONTSERRAT_32
LV_FONT_MONTSERRAT_34
LV_FONT_MONTSERRAT_36
LV_FONT_MONTSERRAT_38
LV_FONT_MONTSERRAT_40
LV_FONT_MONTSERRAT_42
LV_FONT_MONTSERRAT_44
LV_FONT_MONTSERRAT_46
LV_FONT_MONTSERRAT_48
LV_FONT_MONTSERRAT_28_COMPRESSED

bpp = 3

LV_FONT_DEJAVU_16_PERSIAN_HEBREW

Hebrew, Arabic, Persian letters and all their forms

LV_FONT_SIMSUN_14_CJK

1000 most common CJK radicals

LV_FONT_SIMSUN_16_CJK

1000 most common CJK radicals

LV_FONT_UNSCII_8

Pixel perfect monospaced fonts

LV_FONT_UNSCII_16
LV_FONT_CUSTOM_DECLARE

Optionally declare custom fonts here.

You can use any of these fonts as the default font too and they will be available globally. Example:

#define LV_FONT_CUSTOM_DECLARE   LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)
LV_FONT_DEFAULT

Always set a default font

LV_FONT_FMT_TXT_LARGE

Enable handling large font and/or fonts with a lot of characters. The limit depends on the font size, font face and bpp. A compiler error will be triggered if a font needs it.

LV_USE_FONT_COMPRESSED

Enables/disables support for compressed fonts.

LV_USE_FONT_PLACEHOLDER

Enable drawing placeholders when glyph dsc is not found.

LV_TXT_ENC

Select a character encoding for strings. Your IDE or editor should have the same character encoding.

  • LV_TXT_ENC_UTF8

  • LV_TXT_ENC_ASCII

LV_TXT_BREAK_CHARS

While rendering text strings, break (wrap) text on these chars.

LV_TXT_LINE_BREAK_LONG_LEN

If a word is at least this long, will break wherever "prettiest". To disable, set to a value <= 0.

LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN

Minimum number of characters in a long word to put on a line before a break. Depends on LV_TXT_LINE_BREAK_LONG_LEN.

LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN

Minimum number of characters in a long word to put on a line after a break. Depends on LV_TXT_LINE_BREAK_LONG_LEN.

LV_USE_BIDI

Support bidirectional text. Allows mixing Left-to-Right and Right-to-Left text. The direction will be processed according to the Unicode Bidirectional Algorithm: https://www.w3.org/International/articles/inline-bidi-markup/uba-basics

LV_USE_ARABIC_PERSIAN_CHARS

Enable Arabic/Persian processing In these languages characters should be replaced with another form based on their position in the text

LV_TXT_COLOR_CMD
LV_WIDGETS_HAS_DEFAULT_VALUE

1: 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_USE_ANIMIMG
LV_USE_ARC
LV_USE_BAR
LV_USE_BUTTON
LV_USE_BUTTONMATRIX
LV_USE_CALENDAR
LV_CALENDAR_WEEK_STARTS_MONDAY
LV_CALENDAR_DEFAULT_DAY_NAMES
LV_CALENDAR_DEFAULT_MONTH_NAMES
LV_USE_CALENDAR_HEADER_ARROW
LV_USE_CALENDAR_HEADER_DROPDOWN
LV_USE_CALENDAR_CHINESE
LV_USE_CANVAS
LV_USE_CHART
LV_USE_CHECKBOX
LV_USE_DROPDOWN

Requires: lv_label

LV_USE_IMAGE

Requires: lv_label

LV_USE_IMAGEBUTTON
LV_USE_KEYBOARD
LV_USE_LABEL
LV_LABEL_TEXT_SELECTION

Enable selecting text of the label

LV_LABEL_LONG_TXT_HINT

Store some extra info in labels to speed up drawing of very long text

LV_LABEL_WAIT_CHAR_COUNT

The count of wait chart

LV_USE_LED
LV_USE_LINE
LV_USE_LIST
LV_USE_LOTTIE

Requires: lv_canvas, thorvg

LV_USE_MENU
LV_USE_MSGBOX
LV_USE_ROLLER

Requires: lv_label

LV_USE_SCALE
LV_USE_SLIDER

Requires: lv_bar

LV_USE_SPAN
LV_SPAN_SNIPPET_STACK_SIZE

A line of text can contain this maximum number of span descriptors.

LV_USE_SPINBOX
LV_USE_SPINNER
LV_USE_SWITCH
LV_USE_TABLE
LV_USE_TABVIEW
LV_USE_TEXTAREA

Requires: lv_label

LV_TEXTAREA_DEF_PWD_SHOW_TIME

[ms]

LV_USE_TILEVIEW
LV_USE_WIN
LV_USE_THEME_DEFAULT

A simple, impressive and very complete theme

LV_THEME_DEFAULT_DARK

0: Light mode; 1: Dark mode

LV_THEME_DEFAULT_GROW

1: Enable grow on press

LV_THEME_DEFAULT_TRANSITION_TIME

Default transition time in ms.

LV_USE_THEME_SIMPLE

A very simple theme that is a good starting point for a custom theme

LV_USE_THEME_MONO

A theme designed for monochrome displays

LV_USE_FLEX

A layout similar to Flexbox in CSS.

LV_USE_GRID

A layout similar to Grid in CSS.

LV_FS_DEFAULT_DRIVER_LETTER

Setting a default driver letter allows skipping the driver prefix in filepaths. Documentation about how to use the below driver-identifier letters can be found at https://docs.lvgl.io/master/details/main-components/fs.html#lv-fs-identifier-letters .

LV_USE_FS_STDIO

API for fopen, fread, etc.

LV_USE_FS_POSIX

API for open, read, etc.

LV_USE_FS_WIN32

API for CreateFile, ReadFile, etc.

LV_USE_FS_FATFS

API for FATFS (needs to be added separately). Uses f_open, f_read, etc.

LV_USE_FS_MEMFS

API for memory-mapped file access.

LV_USE_FS_LITTLEFS

API for LittleFs.

LV_USE_FS_ARDUINO_ESP_LITTLEFS

API for Arduino LittleFs.

LV_USE_FS_ARDUINO_SD

API for Arduino Sd.

LV_USE_FS_UEFI

API for UEFI

LV_USE_LODEPNG

LODEPNG decoder library

LV_USE_LIBPNG

PNG decoder(libpng) library

LV_USE_BMP

BMP decoder library

LV_USE_TJPGD

JPG + split JPG decoder library. Split JPG is a custom format optimized for embedded systems.

LV_USE_LIBJPEG_TURBO

libjpeg-turbo decoder library.

  • Supports complete JPEG specifications and high-performance JPEG decoding.

LV_USE_GIF

GIF decoder library

LV_BIN_DECODER_RAM_LOAD

Decode bin images to RAM

LV_USE_RLE

RLE decompress library

LV_USE_QRCODE

QR code library

LV_USE_BARCODE

Barcode code library

LV_USE_FREETYPE

FreeType library

LV_USE_TINY_TTF

Built-in TTF decoder

LV_USE_RLOTTIE

Rlottie library

LV_USE_VECTOR_GRAPHIC

Enable Vector Graphic APIs

  • Requires LV_USE_MATRIX = 1

LV_USE_THORVG_INTERNAL

Enable ThorVG (vector graphics library) from the src/libs folder

LV_USE_THORVG_EXTERNAL

Enable ThorVG by assuming that its installed and linked to the project

LV_USE_LZ4_INTERNAL

Use lvgl built-in LZ4 lib

LV_USE_LZ4_EXTERNAL

Use external LZ4 library

LV_USE_SVG
LV_USE_SVG_ANIMATION
LV_USE_SVG_DEBUG
LV_USE_FFMPEG

FFmpeg library for image decoding and playing videos. Supports all major image formats so do not enable other image decoder with it.

LV_USE_SNAPSHOT

1: Enable API to take snapshot for object

LV_USE_SYSMON

1: Enable system monitor component

LV_USE_PROFILER

1: Enable runtime performance profiler

LV_USE_MONKEY

1: Enable Monkey test

LV_USE_GRIDNAV

1: Enable grid navigation

LV_USE_FRAGMENT

1: Enable lv_obj fragment logic

LV_USE_IMGFONT

1: Support using images as font in label or span widgets

LV_USE_OBSERVER

1: Enable an observer pattern implementation

LV_USE_IME_PINYIN

1: Enable Pinyin input method

  • Requires: lv_keyboard

LV_USE_FILE_EXPLORER

1: Enable file explorer.

  • Requires: lv_table

LV_USE_FONT_MANAGER

1: Enable freetype font manager

  • Requires: LV_USE_FREETYPE

LV_USE_TEST

Enable emulated input devices, time emulation, and screenshot compares.

LV_USE_XML

Enable loading XML UIs runtime

LV_USE_SDL

Use SDL to open window on PC and handle mouse and keyboard.

LV_USE_X11

Use X11 to open window on Linux desktop and handle mouse and keyboard

LV_USE_WAYLAND

Use Wayland to open a window and handle input on Linux or BSD desktops

LV_USE_LINUX_FBDEV

Driver for /dev/fb

LV_USE_NUTTX

Use Nuttx to open window and handle touchscreen

LV_USE_LINUX_DRM

Driver for /dev/dri/card

LV_USE_TFT_ESPI

Interface for TFT_eSPI

LV_USE_EVDEV

Driver for evdev input devices

LV_USE_LIBINPUT

Driver for libinput input devices

LV_USE_ST7735
LV_USE_ST7789
LV_USE_ST7796
LV_USE_ILI9341
LV_USE_GENERIC_MIPI
LV_USE_RENESAS_GLCDC

Driver for Renesas GLCD

LV_USE_ST_LTDC

Driver for ST LTDC

LV_USE_WINDOWS

LVGL Windows backend

LV_USE_UEFI

LVGL UEFI backend

LV_USE_OPENGLES

Use OpenGL to open window on PC and handle mouse and keyboard

LV_USE_QNX

QNX Screen display and input drivers

LV_BUILD_EXAMPLES

Enable examples to be built with the library.

LV_USE_DEMO_WIDGETS

Show some widgets. This might be required to increase LV_MEM_SIZE.

LV_USE_DEMO_KEYPAD_AND_ENCODER

Demonstrate usage of encoder and keyboard.

LV_USE_DEMO_BENCHMARK

Benchmark your system

LV_USE_DEMO_RENDER

Render test for each primitive.

  • Requires at least 480x272 display.

LV_USE_DEMO_STRESS

Stress test for LVGL

LV_USE_DEMO_MUSIC

Music player demo

LV_USE_DEMO_FLEX_LAYOUT

Flex layout demo

LV_USE_DEMO_MULTILANG

Smart-phone like multi-language demo

LV_USE_DEMO_TRANSFORM

Widget transformation demo

LV_USE_DEMO_SCROLL

Demonstrate scroll settings

LV_USE_DEMO_VECTOR_GRAPHIC

Vector graphic demo

LV_USE_DEMO_EBIKE
LV_USE_DEMO_HIGH_RES

High-resolution demo

LV_USE_DEMO_SMARTWATCH
LV_USE_ANIMIMAGE
LV_LOG_LEVEL
LV_LOG_TRACE_MEM
LV_LOG_TRACE_TIMER
LV_LOG_TRACE_INDEV
LV_LOG_TRACE_DISP_REFR
LV_LOG_TRACE_EVENT
LV_LOG_TRACE_OBJ_CREATE
LV_LOG_TRACE_LAYOUT
LV_LOG_TRACE_ANIM
LV_USE_PERF_MONITOR
LV_USE_MEM_MONITOR
LV_USE_LZ4
LV_USE_THORVG
LV_FS_IS_VALID_LETTER(l)