lv_conf_internal.h

API reference for lv_conf_internal.h

Report on GitHub

GENERATED FILE, DO NOT EDIT IT!

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

Summary

Macros

LV_OS_NONE

 
#define LV_OS_NONE 0

LV_OS_PTHREAD

 
#define LV_OS_PTHREAD 1

LV_OS_FREERTOS

 
#define LV_OS_FREERTOS 2

LV_OS_CMSIS_RTOS2

 
#define LV_OS_CMSIS_RTOS2 3

LV_OS_RTTHREAD

 
#define LV_OS_RTTHREAD 4

LV_OS_WINDOWS

 
#define LV_OS_WINDOWS 5

LV_OS_MQX

 
#define LV_OS_MQX 6

LV_OS_SDL2

 
#define LV_OS_SDL2 7

LV_OS_CUSTOM

 
#define LV_OS_CUSTOM 255

LV_STDLIB_BUILTIN

 
#define LV_STDLIB_BUILTIN 0

LV_STDLIB_CLIB

 
#define LV_STDLIB_CLIB 1

LV_STDLIB_MICROPYTHON

 
#define LV_STDLIB_MICROPYTHON 2

LV_STDLIB_RTTHREAD

 
#define LV_STDLIB_RTTHREAD 3

LV_STDLIB_CUSTOM

 
#define LV_STDLIB_CUSTOM 255

LV_DRAW_SW_ASM_NONE

 
#define LV_DRAW_SW_ASM_NONE 0

LV_DRAW_SW_ASM_NEON

 
#define LV_DRAW_SW_ASM_NEON 1

LV_DRAW_SW_ASM_HELIUM

 
#define LV_DRAW_SW_ASM_HELIUM 2

LV_DRAW_SW_ASM_RISCV_V

 
#define LV_DRAW_SW_ASM_RISCV_V 3

LV_DRAW_SW_ASM_CUSTOM

 
#define LV_DRAW_SW_ASM_CUSTOM 255

LV_NEMA_LIB_NONE

 
#define LV_NEMA_LIB_NONE 0

LV_NEMA_LIB_M33_REVC

 
#define LV_NEMA_LIB_M33_REVC 1

LV_NEMA_LIB_M33_NEMAPVG

 
#define LV_NEMA_LIB_M33_NEMAPVG 2

LV_NEMA_LIB_M55

 
#define LV_NEMA_LIB_M55 3

LV_NEMA_LIB_M7

 
#define LV_NEMA_LIB_M7 4

LV_NEMA_HAL_CUSTOM

 
#define LV_NEMA_HAL_CUSTOM 0

LV_NEMA_HAL_STM32

 
#define LV_NEMA_HAL_STM32 1

LV_NANOVG_BACKEND_GL2

 
#define LV_NANOVG_BACKEND_GL2 1

LV_NANOVG_BACKEND_GL3

 
#define LV_NANOVG_BACKEND_GL3 2

LV_NANOVG_BACKEND_GLES2

 
#define LV_NANOVG_BACKEND_GLES2 3

LV_NANOVG_BACKEND_GLES3

 
#define LV_NANOVG_BACKEND_GLES3 4

LV_COLOR_DEPTH

 
#define LV_COLOR_DEPTH 16

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

LV_STDINT_INCLUDE

 
#define LV_STDINT_INCLUDE <stdint.h>

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

 
#define LV_STDDEF_INCLUDE <stddef.h>

LV_STDBOOL_INCLUDE

 
#define LV_STDBOOL_INCLUDE <stdbool.h>

LV_INTTYPES_INCLUDE

 
#define LV_INTTYPES_INCLUDE <inttypes.h>

LV_LIMITS_INCLUDE

 
#define LV_LIMITS_INCLUDE <limits.h>

LV_STDARG_INCLUDE

 
#define LV_STDARG_INCLUDE <stdarg.h>

LV_DEF_REFR_PERIOD

 
#define LV_DEF_REFR_PERIOD 33

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

LV_DPI_DEF

 
#define LV_DPI_DEF 130

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_DRAW_BUF_STRIDE_ALIGN

 
#define LV_DRAW_BUF_STRIDE_ALIGN 1

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 Align stride of all layers and images to this bytes

LV_DRAW_BUF_ALIGN

 
#define LV_DRAW_BUF_ALIGN 4

Align start address of draw_buf addresses to this bytes

LV_DRAW_TRANSFORM_USE_MATRIX

 
#define LV_DRAW_TRANSFORM_USE_MATRIX 0

Using matrix for transformations. Requirements:

  • LV_USE_MATRIX = 1.
  • Rendering engine needs to support 3x3 matrix transformations.

LV_DRAW_LAYER_SIMPLE_BUF_SIZE

 
#define LV_DRAW_LAYER_SIMPLE_BUF_SIZE (24 * 1024)

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

LV_DRAW_LAYER_MAX_MEMORY

 
#define LV_DRAW_LAYER_MAX_MEMORY 0

No limit by default [bytes]

LV_DRAW_THREAD_STACK_SIZE

 
#define LV_DRAW_THREAD_STACK_SIZE (8 * 1024)

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

LV_DRAW_THREAD_PRIO

 
#define LV_DRAW_THREAD_PRIO LV_THREAD_PRIO_HIGH

Thread priority of the drawing task. Higher values mean higher priority. Can use values from lv_thread_prio_t enum in lv_os.h: LV_THREAD_PRIO_LOWEST, LV_THREAD_PRIO_LOW, LV_THREAD_PRIO_MID, LV_THREAD_PRIO_HIGH, LV_THREAD_PRIO_HIGHEST Make sure the priority value aligns with the OS-specific priority levels. On systems with limited priority levels (e.g., FreeRTOS), a higher value can improve rendering performance but might cause other tasks to starve.

LV_DRAW_SW_SUPPORT_RGB565

 
#define LV_DRAW_SW_SUPPORT_RGB565 1

LV_DRAW_SW_SUPPORT_RGB565_SWAPPED

 
#define LV_DRAW_SW_SUPPORT_RGB565_SWAPPED 1

LV_DRAW_SW_SUPPORT_RGB565A8

 
#define LV_DRAW_SW_SUPPORT_RGB565A8 1

LV_DRAW_SW_SUPPORT_RGB888

 
#define LV_DRAW_SW_SUPPORT_RGB888 1

LV_DRAW_SW_SUPPORT_XRGB8888

 
#define LV_DRAW_SW_SUPPORT_XRGB8888 1

LV_DRAW_SW_SUPPORT_ARGB8888

 
#define LV_DRAW_SW_SUPPORT_ARGB8888 1

LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED

 
#define LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED 1

LV_DRAW_SW_SUPPORT_L8

 
#define LV_DRAW_SW_SUPPORT_L8 1

LV_DRAW_SW_SUPPORT_AL88

 
#define LV_DRAW_SW_SUPPORT_AL88 1

LV_DRAW_SW_SUPPORT_A8

 
#define LV_DRAW_SW_SUPPORT_A8 1

LV_DRAW_SW_SUPPORT_I1

 
#define LV_DRAW_SW_SUPPORT_I1 1

LV_DRAW_SW_I1_LUM_THRESHOLD

 
#define LV_DRAW_SW_I1_LUM_THRESHOLD 127

LV_DRAW_SW_DRAW_UNIT_CNT

 
#define LV_DRAW_SW_DRAW_UNIT_CNT 1

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_DRAW_SW_COMPLEX

 
#define LV_DRAW_SW_COMPLEX 1

Use Arm-2D to accelerate software (sw) rendering. Enable native helium assembly to be compiled.

  • 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

 
#define LV_DRAW_SW_SHADOW_CACHE_SIZE 0

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

 
#define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4

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_NEMA_HAL

 
#define LV_USE_NEMA_HAL LV_NEMA_HAL_CUSTOM

Enable drawing complex gradients in software: linear at an angle, radial or conical Select which NemaGFX static library headers to use. Possible options:

  • LV_NEMA_LIB_NONE an alias of LV_NEMA_LIB_M33_REVC
  • LV_NEMA_LIB_M33_REVC
  • LV_NEMA_LIB_M33_NEMAPVG
  • LV_NEMA_LIB_M55
  • LV_NEMA_LIB_M7 You must also take care to link the correct corresponding static library in libs/nema_gfx/lib/core/ Select which NemaGFX HAL to use. Possible options:
  • LV_NEMA_HAL_CUSTOM
  • LV_NEMA_HAL_STM32

LV_NEMA_GFX_MAX_RESX

 
#define LV_NEMA_GFX_MAX_RESX 800

LV_NEMA_GFX_MAX_RESY

 
#define LV_NEMA_GFX_MAX_RESY 600

LV_USE_PXP_DRAW_THREAD

 
#define LV_USE_PXP_DRAW_THREAD 1

Use NXP's PXP on iMX RTxxx platforms. Use PXP for drawing. Use PXP to rotate display. Use additional draw thread for PXP processing.

LV_USE_DRAW_G2D

 
#define LV_USE_DRAW_G2D 1

Enable PXP asserts. Use NXP's G2D on MPU platforms. Use G2D for drawing.

LV_G2D_HASH_TABLE_SIZE

 
#define LV_G2D_HASH_TABLE_SIZE 50

Maximum number of buffers that can be stored for G2D draw unit. Includes the frame buffers and assets.

LV_USE_G2D_DRAW_THREAD

 
#define LV_USE_G2D_DRAW_THREAD 1

Use additional draw thread for G2D processing.

LV_VG_LITE_USE_GPU_INIT

 
#define LV_VG_LITE_USE_GPU_INIT 0

Enable G2D asserts. Use Renesas Dave2D on RA platforms. Draw using cached SDL textures Use VG-Lite GPU. Enable VG-Lite custom external 'gpu_init()' function

LV_VG_LITE_USE_ASSERT

 
#define LV_VG_LITE_USE_ASSERT 0

Enable VG-Lite assert.

LV_VG_LITE_FLUSH_MAX_COUNT

 
#define LV_VG_LITE_FLUSH_MAX_COUNT 8

VG-Lite flush commit trigger threshold. GPU will try to batch these many draw tasks.

LV_VG_LITE_USE_BOX_SHADOW

 
#define LV_VG_LITE_USE_BOX_SHADOW 1

Enable border to simulate shadow. NOTE: which usually improves performance, but does not guarantee the same rendering quality as the software.

LV_VG_LITE_GRAD_CACHE_CNT

 
#define LV_VG_LITE_GRAD_CACHE_CNT 32

VG-Lite gradient maximum cache number.

The memory usage of a single gradient image is 4K bytes.

LV_VG_LITE_STROKE_CACHE_CNT

 
#define LV_VG_LITE_STROKE_CACHE_CNT 32

VG-Lite stroke maximum cache number.

LV_VG_LITE_BITMAP_FONT_CACHE_CNT

 
#define LV_VG_LITE_BITMAP_FONT_CACHE_CNT 256

VG-Lite unaligned bitmap font maximum cache number.

LV_VG_LITE_DISABLE_VLC_OP_CLOSE

 
#define LV_VG_LITE_DISABLE_VLC_OP_CLOSE 0

Remove VLC_OP_CLOSE path instruction (Workaround for NXP)

LV_VG_LITE_DISABLE_BLIT_RECT_OFFSET

 
#define LV_VG_LITE_DISABLE_BLIT_RECT_OFFSET 0

Disable blit rectangular offset to resolve certain hardware errors.

LV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXT

 
#define LV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXT 0

Disable linear gradient extension for some older versions of drivers.

LV_VG_LITE_PATH_DUMP_MAX_LEN

 
#define LV_VG_LITE_PATH_DUMP_MAX_LEN 1000

Maximum path dump print length (in points)

LV_VG_LITE_HAL_GPU_SERIES

 
#define LV_VG_LITE_HAL_GPU_SERIES gc255

Enable usage of the LVGL's built-in vg_lite driver Used to pick the correct GPU series folder valid options are gc255, gc355 and gc555

LV_VG_LITE_HAL_GPU_REVISION

 
#define LV_VG_LITE_HAL_GPU_REVISION 0x40

Used to pick the correct GPU revision header it depends on the vendor

LV_VG_LITE_HAL_GPU_BASE_ADDRESS

 
#define LV_VG_LITE_HAL_GPU_BASE_ADDRESS 0x40240000

Base memory address of the GPU IP it depends on SoC, default value is for NXP based devices

LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT

 
#define LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT 0

Use ThorVG (a software vector library) as VG-Lite driver to allow testing VGLite on PC Requires: LV_USE_THORVG_INTERNAL or LV_USE_THORVG_EXTERNAL Enable LVGL's blend mode support

LV_VG_LITE_THORVG_YUV_SUPPORT

 
#define LV_VG_LITE_THORVG_YUV_SUPPORT 0

Enable YUV color format support

LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT

 
#define LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT 0

Enable Linear gradient extension support

LV_VG_LITE_THORVG_16PIXELS_ALIGN

 
#define LV_VG_LITE_THORVG_16PIXELS_ALIGN 1

Enable alignment on 16 pixels

LV_VG_LITE_THORVG_BUF_ADDR_ALIGN

 
#define LV_VG_LITE_THORVG_BUF_ADDR_ALIGN 64

Buffer address alignment

LV_VG_LITE_THORVG_THREAD_RENDER

 
#define LV_VG_LITE_THORVG_THREAD_RENDER 0

Enable multi-thread render

LV_DRAW_DMA2D_HAL_INCLUDE

 
#define LV_DRAW_DMA2D_HAL_INCLUDE "stm32h7xx_hal.h"

Accelerate blends, fills, etc. with STM32 DMA2D

LV_DRAW_OPENGLES_TEXTURE_CACHE_COUNT

 
#define LV_DRAW_OPENGLES_TEXTURE_CACHE_COUNT 64

Draw using cached OpenGLES textures. Requires LV_USE_OPENGLES

LV_USE_PPA_IMG

 
#define LV_USE_PPA_IMG 0

Draw using espressif PPA accelerator

LV_PPA_BURST_LENGTH

 
#define LV_PPA_BURST_LENGTH 128

LV_DRAW_EVE_EVE_GENERATION

 
#define LV_DRAW_EVE_EVE_GENERATION 4

LV_DRAW_EVE_WRITE_BUFFER_SIZE

 
#define LV_DRAW_EVE_WRITE_BUFFER_SIZE 2048

LV_NANOVG_BACKEND

 
#define LV_NANOVG_BACKEND LV_NANOVG_BACKEND_GLES2

Use NanoVG Renderer

  • Requires LV_USE_NANOVG, LV_USE_MATRIX. Select OpenGL backend for NanoVG:
  • LV_NANOVG_BACKEND_GL2: OpenGL 2.0
  • LV_NANOVG_BACKEND_GL3: OpenGL 3.0+
  • LV_NANOVG_BACKEND_GLES2: OpenGL ES 2.0
  • LV_NANOVG_BACKEND_GLES3: OpenGL ES 3.0+

LV_NANOVG_IMAGE_CACHE_CNT

 
#define LV_NANOVG_IMAGE_CACHE_CNT 128

Draw image texture cache count.

LV_NANOVG_LETTER_CACHE_CNT

 
#define LV_NANOVG_LETTER_CACHE_CNT 512

Draw letter texture cache count.

LV_LOG_LEVEL

 
#define LV_LOG_LEVEL LV_LOG_LEVEL_WARN

Enable log module Set value to one of the following levels of logging detail:

  • LV_LOG_LEVEL_TRACE Log detailed information.
  • LV_LOG_LEVEL_INFO Log important events.
  • LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem.
  • LV_LOG_LEVEL_ERROR Log only critical issues, when system may fail.
  • LV_LOG_LEVEL_USER Log only custom log messages added by the user.
  • LV_LOG_LEVEL_NONE Do not log anything.

LV_LOG_PRINTF

 
#define LV_LOG_PRINTF 0

LV_LOG_USE_TIMESTAMP

 
#define LV_LOG_USE_TIMESTAMP 1

Set callback to print logs. E.g my_print. The prototype should be void my_print(lv_log_level_t level, const char * buf). Can be overwritten by lv_log_register_print_cb.

  • 1: Enable printing timestamp;
  • 0: Disable printing timestamp.

LV_LOG_USE_FILE_LINE

 
#define LV_LOG_USE_FILE_LINE 1
  • 1: Print file and line number of the log;
  • 0: Do not print file and line number of the log.

LV_LOG_TRACE_MEM

 
#define LV_LOG_TRACE_MEM 1

Enable/disable trace logs in memory operations.

LV_LOG_TRACE_TIMER

 
#define LV_LOG_TRACE_TIMER 1

Enable/disable trace logs in timer operations.

LV_LOG_TRACE_INDEV

 
#define LV_LOG_TRACE_INDEV 1

Enable/disable trace logs in input device operations.

LV_LOG_TRACE_DISP_REFR

 
#define LV_LOG_TRACE_DISP_REFR 1

Enable/disable trace logs in display re-draw operations.

LV_LOG_TRACE_EVENT

 
#define LV_LOG_TRACE_EVENT 1

Enable/disable trace logs in event dispatch logic.

LV_LOG_TRACE_OBJ_CREATE

 
#define LV_LOG_TRACE_OBJ_CREATE 1

Enable/disable trace logs in object creation (core obj creation plus every widget).

LV_LOG_TRACE_LAYOUT

 
#define LV_LOG_TRACE_LAYOUT 1

Enable/disable trace logs in flex- and grid-layout operations.

LV_LOG_TRACE_ANIM

 
#define LV_LOG_TRACE_ANIM 1

Enable/disable trace logs in animation logic.

LV_LOG_TRACE_CACHE

 
#define LV_LOG_TRACE_CACHE 1

Enable/disable trace logs in cache operations.

LV_ASSERT_HANDLER_INCLUDE

 
#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>

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

LV_ASSERT_HANDLER

 
#define LV_ASSERT_HANDLER while(1);

Halt by default

LV_USE_CHECK_ARG

 
#define LV_USE_CHECK_ARG 1

Enable LV_CHECK_ARG macro to validate function arguments at runtime. When enabled, failed checks log a warning and execute the specified action. 0: Disable all LV_CHECK_ARG checks (checks compile to nothing) 1: Enable LV_CHECK_ARG checks

LV_CHECK_ARG_ASSERT_ON_FAIL

 
#define LV_CHECK_ARG_ASSERT_ON_FAIL 0

If enabled, also call LV_ASSERT_HANDLER when an LV_CHECK_ARG check fails. Requires LV_USE_CHECK_ARG to be enabled.

LV_ENABLE_GLOBAL_CUSTOM

 
#define LV_ENABLE_GLOBAL_CUSTOM 0

1: Draw random colored rectangles over the redrawn areas. 1: Draw a red overlay for ARGB layers and a green overlay for RGB layers 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_CACHE_DEF_SIZE

 
#define LV_CACHE_DEF_SIZE 0

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

 
#define LV_IMAGE_HEADER_CACHE_DEF_CNT 0

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

 
#define LV_GRADIENT_MAX_STOPS 2

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

 
#define LV_COLOR_MIX_ROUND_OFS 0

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

 
#define LV_OBJ_STYLE_CACHE 0

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

LV_OBJ_ID_AUTO_ASSIGN

 
#define LV_OBJ_ID_AUTO_ASSIGN LV_USE_OBJ_ID

Add id field to lv_obj_t Enable support widget names Automatically assign an ID when obj is created

LV_BIG_ENDIAN_SYSTEM

 
#define LV_BIG_ENDIAN_SYSTEM 0

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. Use obj property set/get API. Enable property name support. For big endian systems set to 1

LV_ATTRIBUTE_SYNC_READY

 
#define LV_ATTRIBUTE_SYNC_READY

Define a custom attribute for lv_tick_inc function Define a custom attribute for lv_timer_handler function Define a custom attribute for lv_display_flush_ready function Define a custom attribute for lv_display_sync_ready function

LV_ATTRIBUTE_MEM_ALIGN_SIZE

 
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1

Align VG_LITE buffers on this number of bytes.

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

LV_EXPORT_CONST_INT

 
#define LV_EXPORT_CONST_INT(int_value) \
    struct _silence_gcc_warning

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))) Attribute to mark large constant arrays, for example for font bitmaps Compiler prefix for a large array declaration in RAM Place performance critical functions into a faster memory (e.g RAM) 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_FONT_MONTSERRAT_8

 
#define LV_FONT_MONTSERRAT_8 0

Prefix all global extern data with this Use float as lv_value_precise_t Enable matrix support

  • Requires LV_USE_FLOAT = 1 Include lvgl_private.h in lvgl.h to access internal data and functions by default

LV_FONT_MONTSERRAT_10

 
#define LV_FONT_MONTSERRAT_10 0

LV_FONT_MONTSERRAT_12

 
#define LV_FONT_MONTSERRAT_12 0

LV_FONT_MONTSERRAT_14

 
#define LV_FONT_MONTSERRAT_14 1

LV_FONT_MONTSERRAT_16

 
#define LV_FONT_MONTSERRAT_16 0

LV_FONT_MONTSERRAT_18

 
#define LV_FONT_MONTSERRAT_18 0

LV_FONT_MONTSERRAT_20

 
#define LV_FONT_MONTSERRAT_20 0

LV_FONT_MONTSERRAT_22

 
#define LV_FONT_MONTSERRAT_22 0

LV_FONT_MONTSERRAT_24

 
#define LV_FONT_MONTSERRAT_24 0

LV_FONT_MONTSERRAT_26

 
#define LV_FONT_MONTSERRAT_26 0

LV_FONT_MONTSERRAT_28

 
#define LV_FONT_MONTSERRAT_28 0

LV_FONT_MONTSERRAT_30

 
#define LV_FONT_MONTSERRAT_30 0

LV_FONT_MONTSERRAT_32

 
#define LV_FONT_MONTSERRAT_32 0

LV_FONT_MONTSERRAT_34

 
#define LV_FONT_MONTSERRAT_34 0

LV_FONT_MONTSERRAT_36

 
#define LV_FONT_MONTSERRAT_36 0

LV_FONT_MONTSERRAT_38

 
#define LV_FONT_MONTSERRAT_38 0

LV_FONT_MONTSERRAT_40

 
#define LV_FONT_MONTSERRAT_40 0

LV_FONT_MONTSERRAT_42

 
#define LV_FONT_MONTSERRAT_42 0

LV_FONT_MONTSERRAT_44

 
#define LV_FONT_MONTSERRAT_44 0

LV_FONT_MONTSERRAT_46

 
#define LV_FONT_MONTSERRAT_46 0

LV_FONT_MONTSERRAT_48

 
#define LV_FONT_MONTSERRAT_48 0

LV_FONT_MONTSERRAT_28_COMPRESSED

 
#define LV_FONT_MONTSERRAT_28_COMPRESSED 0

bpp = 3

LV_FONT_DEJAVU_16_PERSIAN_HEBREW

 
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0

Hebrew, Arabic, Persian letters and all their forms

LV_FONT_SOURCE_HAN_SANS_SC_14_CJK

 
#define LV_FONT_SOURCE_HAN_SANS_SC_14_CJK 0

1338 most common CJK radicals

LV_FONT_SOURCE_HAN_SANS_SC_16_CJK

 
#define LV_FONT_SOURCE_HAN_SANS_SC_16_CJK 0

1338 most common CJK radicals

LV_FONT_UNSCII_8

 
#define LV_FONT_UNSCII_8 0

Pixel perfect monospaced fonts

LV_FONT_UNSCII_16

 
#define LV_FONT_UNSCII_16 0

LV_FONT_CUSTOM_DECLARE

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

 
#define LV_FONT_DEFAULT &lv_font_montserrat_14

Always set a default font

LV_FONT_FMT_TXT_LARGE

 
#define LV_FONT_FMT_TXT_LARGE 0

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_TXT_ENC

 
#define LV_TXT_ENC LV_TXT_ENC_UTF8

Enables/disables support for compressed fonts. Enable drawing placeholders when glyph dsc is not found. 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

 
#define LV_TXT_BREAK_CHARS " ,.;:-_)]}"

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

LV_TXT_LINE_BREAK_LONG_LEN

 
#define LV_TXT_LINE_BREAK_LONG_LEN 0

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

 
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3

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

 
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3

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_BIDI_BASE_DIR_DEF

 
#define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO

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_TXT_COLOR_CMD

 
#define LV_TXT_COLOR_CMD "#"

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

LV_WIDGETS_HAS_DEFAULT_VALUE

 
#define LV_WIDGETS_HAS_DEFAULT_VALUE 1

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_arclabel_t : Text set to "Arced Text", else empty string.

LV_CALENDAR_WEEK_STARTS_MONDAY

 
#define LV_CALENDAR_WEEK_STARTS_MONDAY 0

LV_CALENDAR_DEFAULT_DAY_NAMES

 
#define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}

LV_CALENDAR_DEFAULT_MONTH_NAMES

 
#define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March",  "April", "May",  "June", "July", "August", "September", "October", "November", "December"}

LV_LABEL_TEXT_SELECTION

 
#define LV_LABEL_TEXT_SELECTION 1

Enable selecting text of the label

LV_LABEL_LONG_TXT_HINT

 
#define LV_LABEL_LONG_TXT_HINT 1

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

LV_LABEL_WAIT_CHAR_COUNT

 
#define LV_LABEL_WAIT_CHAR_COUNT 3

The count of wait chart

LV_SPAN_SNIPPET_STACK_SIZE

 
#define LV_SPAN_SNIPPET_STACK_SIZE 64

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

LV_TEXTAREA_DEF_PWD_SHOW_TIME

 
#define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500

[ms]

LV_THEME_DEFAULT_DARK

 
#define LV_THEME_DEFAULT_DARK 0

A simple, impressive and very complete theme 0: Light mode; 1: Dark mode

LV_THEME_DEFAULT_GROW

 
#define LV_THEME_DEFAULT_GROW 1

1: Enable grow on press

LV_THEME_DEFAULT_TRANSITION_TIME

 
#define LV_THEME_DEFAULT_TRANSITION_TIME 80

Default transition time in ms.

LV_FS_DEFAULT_DRIVER_LETTER

 
#define LV_FS_DEFAULT_DRIVER_LETTER '\0'

A very simple theme that is a good starting point for a custom theme A theme designed for monochrome displays A layout similar to Flexbox in CSS. A layout similar to Grid in CSS. 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/main-modules/fs.html#lv-fs-identifier-letters .

LV_FS_STDIO_LETTER

 
#define LV_FS_STDIO_LETTER '\0'

API for fopen, fread, etc. Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_STDIO_PATH

 
#define LV_FS_STDIO_PATH ""

Set the working directory. File/directory paths will be appended to it.

LV_FS_STDIO_CACHE_SIZE

 
#define LV_FS_STDIO_CACHE_SIZE 0

>0 to cache this number of bytes in lv_fs_read()

LV_FS_POSIX_LETTER

 
#define LV_FS_POSIX_LETTER '\0'

API for open, read, etc. Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_POSIX_PATH

 
#define LV_FS_POSIX_PATH ""

Set the working directory. File/directory paths will be appended to it.

LV_FS_POSIX_CACHE_SIZE

 
#define LV_FS_POSIX_CACHE_SIZE 0

>0 to cache this number of bytes in lv_fs_read()

LV_FS_WIN32_LETTER

 
#define LV_FS_WIN32_LETTER '\0'

API for CreateFile, ReadFile, etc. Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_WIN32_PATH

 
#define LV_FS_WIN32_PATH ""

Set the working directory. File/directory paths will be appended to it.

LV_FS_WIN32_CACHE_SIZE

 
#define LV_FS_WIN32_CACHE_SIZE 0

>0 to cache this number of bytes in lv_fs_read()

LV_FS_FATFS_LETTER

 
#define LV_FS_FATFS_LETTER '\0'

API for FATFS (needs to be added separately). Uses f_open, f_read, etc. Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_FATFS_PATH

 
#define LV_FS_FATFS_PATH ""

Set the working directory. File/directory paths will be appended to it.

LV_FS_FATFS_CACHE_SIZE

 
#define LV_FS_FATFS_CACHE_SIZE 0

>0 to cache this number of bytes in lv_fs_read()

LV_FS_MEMFS_LETTER

 
#define LV_FS_MEMFS_LETTER '\0'

API for memory-mapped file access. Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_LITTLEFS_LETTER

 
#define LV_FS_LITTLEFS_LETTER '\0'

API for LittleFs. Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_LITTLEFS_PATH

 
#define LV_FS_LITTLEFS_PATH ""

Set the working directory. File/directory paths will be appended to it.

LV_FS_ARDUINO_ESP_LITTLEFS_LETTER

 
#define LV_FS_ARDUINO_ESP_LITTLEFS_LETTER '\0'

API for Arduino LittleFs. Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_ARDUINO_ESP_LITTLEFS_PATH

 
#define LV_FS_ARDUINO_ESP_LITTLEFS_PATH ""

Set the working directory. File/directory paths will be appended to it.

LV_FS_ARDUINO_SD_LETTER

 
#define LV_FS_ARDUINO_SD_LETTER '\0'

API for Arduino Sd. Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_ARDUINO_SD_PATH

 
#define LV_FS_ARDUINO_SD_PATH ""

Set the working directory. File/directory paths will be appended to it.

LV_FS_UEFI_LETTER

 
#define LV_FS_UEFI_LETTER '\0'

API for UEFI Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_FROGFS_LETTER

 
#define LV_FS_FROGFS_LETTER '\0'

LV_GIF_CACHE_DECODE_DATA

 
#define LV_GIF_CACHE_DECODE_DATA 0

LODEPNG decoder library PNG decoder(libpng) library BMP decoder library JPG + split JPG decoder library. Split JPG is a custom format optimized for embedded systems. libjpeg-turbo decoder library.

  • Supports complete JPEG specifications and high-performance JPEG decoding. WebP decoder library GIF decoder library GIF decoder accelerate

LV_BIN_DECODER_RAM_LOAD

 
#define LV_BIN_DECODER_RAM_LOAD 0

GStreamer library Decode bin images to RAM

LV_FREETYPE_USE_LVGL_PORT

 
#define LV_FREETYPE_USE_LVGL_PORT 0

RLE decompress library QR code library Barcode code library FreeType library Let FreeType use LVGL memory and file porting

LV_FREETYPE_CACHE_FT_GLYPH_CNT

 
#define LV_FREETYPE_CACHE_FT_GLYPH_CNT 256

Cache count of glyphs in FreeType, i.e. number of glyphs that can be cached. The higher the value, the more memory will be used.

LV_FREETYPE_CACHE_FT_GLYPH_L1

 
#define LV_FREETYPE_CACHE_FT_GLYPH_L1 1

Enable L1 glyph metrics cache for FreeType. A per-font, lock-free, 2-way set-associative cache that accelerates repeated glyph metric lookups. Automatically disabled when an OS is configured (LV_USE_OS != LV_OS_NONE) because the cache is not thread-safe.

LV_TINY_TTF_FILE_SUPPORT

 
#define LV_TINY_TTF_FILE_SUPPORT 0

Built-in TTF decoder

LV_TINY_TTF_CACHE_GLYPH_CNT

 
#define LV_TINY_TTF_CACHE_GLYPH_CNT 128

LV_TINY_TTF_CACHE_KERNING_CNT

 
#define LV_TINY_TTF_CACHE_KERNING_CNT 256

LV_FFMPEG_DUMP_FORMAT

 
#define LV_FFMPEG_DUMP_FORMAT 0

Rlottie library Requires LV_USE_3DTEXTURE = 1 Enable Vector Graphic APIs Requires LV_USE_MATRIX = 1 and a rendering engine supporting vector graphics, e.g. (LV_USE_DRAW_SW and LV_USE_THORVG) or LV_USE_DRAW_VG_LITE or LV_USE_NEMA_VG. Enable ThorVG (vector graphics library) from the src/libs folder. Requires LV_USE_VECTOR_GRAPHIC Enable ThorVG by assuming that its installed and linked to the project Requires LV_USE_VECTOR_GRAPHIC Enable NanoVG (vector graphics library) Use lvgl built-in LZ4 lib Use external LZ4 library FFmpeg library for image decoding and playing videos. Supports all major image formats so do not enable other image decoder with it. Dump input information to stderr

LV_FFMPEG_PLAYER_USE_LV_FS

 
#define LV_FFMPEG_PLAYER_USE_LV_FS 0

Use lvgl file path in FFmpeg Player widget You won't be able to open URLs after enabling this feature. Note that FFmpeg image decoder will always use lvgl file system.

LV_SYSMON_GET_IDLE

 
#define LV_SYSMON_GET_IDLE lv_os_get_idle_percent

1: Enable API to take snapshot for object 1: Enable system monitor component Get the idle percentage. E.g. uint32_t my_get_idle(void);

LV_SYSMON_PROC_IDLE_AVAILABLE

 
#define LV_SYSMON_PROC_IDLE_AVAILABLE 0

1: Enable usage of lv_os_get_proc_idle_percent.

LV_USE_PERF_MONITOR_POS

 
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT

1: Show CPU usage and FPS count.

  • Requires LV_USE_SYSMON = 1

LV_USE_PERF_MONITOR_LOG_MODE

 
#define LV_USE_PERF_MONITOR_LOG_MODE 0

0: Displays performance data on the screen; 1: Prints performance data using log.

LV_USE_MEM_MONITOR_POS

 
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT

1: Show used memory and memory fragmentation.

  • Requires LV_USE_STDLIB_MALLOC = LV_STDLIB_BUILTIN
  • Requires LV_USE_SYSMON = 1

LV_PROFILER_BUILTIN_BUF_SIZE

 
#define LV_PROFILER_BUILTIN_BUF_SIZE (16 * 1024)

1: Enable runtime performance profiler 1: Enable the built-in profiler Default profiler trace buffer size [bytes]

LV_PROFILER_BUILTIN_DEFAULT_ENABLE

 
#define LV_PROFILER_BUILTIN_DEFAULT_ENABLE 1

LV_PROFILER_INCLUDE

 
#define LV_PROFILER_INCLUDE "lvgl/src/misc/lv_profiler_builtin.h"

Header to include for profiler

LV_PROFILER_BEGIN

 
#define LV_PROFILER_BEGIN LV_PROFILER_BUILTIN_BEGIN

Profiler start point function

LV_PROFILER_END

 
#define LV_PROFILER_END LV_PROFILER_BUILTIN_END

Profiler end point function

LV_PROFILER_BEGIN_TAG

 
#define LV_PROFILER_BEGIN_TAG LV_PROFILER_BUILTIN_BEGIN_TAG

Profiler start point function with custom tag

LV_PROFILER_END_TAG

 
#define LV_PROFILER_END_TAG LV_PROFILER_BUILTIN_END_TAG

Profiler end point function with custom tag

LV_PROFILER_LAYOUT

 
#define LV_PROFILER_LAYOUT 1

LV_PROFILER_REFR

 
#define LV_PROFILER_REFR 1

LV_PROFILER_DRAW

 
#define LV_PROFILER_DRAW 1

LV_PROFILER_INDEV

 
#define LV_PROFILER_INDEV 1

LV_PROFILER_DECODER

 
#define LV_PROFILER_DECODER 1

LV_PROFILER_FONT

 
#define LV_PROFILER_FONT 1

LV_PROFILER_FS

 
#define LV_PROFILER_FS 1

LV_PROFILER_STYLE

 
#define LV_PROFILER_STYLE 0

LV_PROFILER_TIMER

 
#define LV_PROFILER_TIMER 1

LV_PROFILER_CACHE

 
#define LV_PROFILER_CACHE 1

LV_PROFILER_EVENT

 
#define LV_PROFILER_EVENT 1

LV_IME_PINYIN_USE_DEFAULT_DICT

 
#define LV_IME_PINYIN_USE_DEFAULT_DICT 1

1: Enable Monkey test 1: Enable grid navigation 1: Enable lv_obj fragment logic 1: Support using images as font in label or span widgets 1: Enable an observer pattern implementation 1: Enable Pinyin input method

  • Requires: lv_keyboard 1: Use default thesaurus.

If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesaurus.

LV_IME_PINYIN_CAND_TEXT_NUM

 
#define LV_IME_PINYIN_CAND_TEXT_NUM 6

Set maximum number of candidate panels that can be displayed.

This needs to be adjusted according to size of screen.

LV_IME_PINYIN_USE_K9_MODE

 
#define LV_IME_PINYIN_USE_K9_MODE 1

Use 9-key input (k9).

LV_IME_PINYIN_K9_CAND_TEXT_NUM

 
#define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3

LV_FILE_EXPLORER_PATH_MAX_LEN

 
#define LV_FILE_EXPLORER_PATH_MAX_LEN (128)

1: Enable file explorer.

  • Requires: lv_table Maximum length of path

LV_FILE_EXPLORER_QUICK_ACCESS

 
#define LV_FILE_EXPLORER_QUICK_ACCESS 1

Quick access bar, 1:use, 0:do not use.

  • Requires: lv_list

LV_FONT_MANAGER_NAME_MAX_LEN

 
#define LV_FONT_MANAGER_NAME_MAX_LEN 32

1: Enable Font manager Font manager name max length

LV_TEST_SCREENSHOT_CREATE_REFERENCE_IMAGE

 
#define LV_TEST_SCREENSHOT_CREATE_REFERENCE_IMAGE 1

Enable emulated input devices, time emulation, and screenshot compares. Enable lv_test_screenshot_compare. Requires lodepng and a few MB of extra RAM. 1: Automatically create missing reference images

LV_SDL_INCLUDE_PATH

 
#define LV_SDL_INCLUDE_PATH <SDL2/SDL.h>

1: Enable text translation support Use SDL to open window on PC and handle mouse and keyboard.

LV_SDL_RENDER_MODE

 
#define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT

LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance

LV_SDL_BUF_COUNT

 
#define LV_SDL_BUF_COUNT 1

1 or 2

LV_SDL_ACCELERATED

 
#define LV_SDL_ACCELERATED 1

1: Use hardware acceleration

LV_SDL_FULLSCREEN

 
#define LV_SDL_FULLSCREEN 0

1: Make the window full screen by default

LV_SDL_DIRECT_EXIT

 
#define LV_SDL_DIRECT_EXIT 1

1: Exit the application when all SDL windows are closed

LV_SDL_MOUSEWHEEL_MODE

 
#define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER  /*LV_SDL_MOUSEWHEEL_MODE_ENCODER/CROWN*/

LV_X11_DIRECT_EXIT

 
#define LV_X11_DIRECT_EXIT 1

Use X11 to open window on Linux desktop and handle mouse and keyboard Exit application when all X11 windows have been closed

LV_X11_DOUBLE_BUFFER

 
#define LV_X11_DOUBLE_BUFFER 1

Use double buffers for rendering

LV_X11_RENDER_MODE_PARTIAL

 
#define LV_X11_RENDER_MODE_PARTIAL 1

Partial render mode (preferred)

LV_X11_RENDER_MODE_DIRECT

 
#define LV_X11_RENDER_MODE_DIRECT 0

Direct render mode

LV_X11_RENDER_MODE_FULL

 
#define LV_X11_RENDER_MODE_FULL 0

Full render mode

LV_WAYLAND_DIRECT_EXIT

 
#define LV_WAYLAND_DIRECT_EXIT 1

Use Wayland to open a window and handle input on Linux or BSD desktops 1: Exit the application when all Wayland windows are closed

LV_LINUX_FBDEV_BSD

 
#define LV_LINUX_FBDEV_BSD 0

Driver for /dev/fb

LV_LINUX_FBDEV_RENDER_MODE

 
#define LV_LINUX_FBDEV_RENDER_MODE LV_DISPLAY_RENDER_MODE_PARTIAL

LV_LINUX_FBDEV_BUFFER_COUNT

 
#define LV_LINUX_FBDEV_BUFFER_COUNT 0

LV_LINUX_FBDEV_BUFFER_SIZE

 
#define LV_LINUX_FBDEV_BUFFER_SIZE 60

LV_LINUX_FBDEV_MMAP

 
#define LV_LINUX_FBDEV_MMAP 1

LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP

 
#define LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP 0

Use Nuttx to open window and handle touchscreen

LV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAP

 
#define LV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAP 0

Use independent image heap for default draw buffer

LV_NUTTX_LCD_BUFFER_COUNT

 
#define LV_NUTTX_LCD_BUFFER_COUNT 0

Use Nuttx custom init API to open window and handle touchscreen Driver for /dev/lcd

LV_NUTTX_LCD_BUFFER_SIZE

 
#define LV_NUTTX_LCD_BUFFER_SIZE 60

LV_NUTTX_TOUCHSCREEN_CURSOR_SIZE

 
#define LV_NUTTX_TOUCHSCREEN_CURSOR_SIZE 0

Driver for /dev/input Touchscreen cursor size in pixels(<=0: disable cursor)

LV_USE_NUTTX_MOUSE_MOVE_STEP

 
#define LV_USE_NUTTX_MOUSE_MOVE_STEP 1

Driver for /dev/mouse Mouse movement step (pixels)

LV_USE_NUTTX_TRACE_FILE

 
#define LV_USE_NUTTX_TRACE_FILE 0

LV_USE_LINUX_DRM_GBM_BUFFERS

 
#define LV_USE_LINUX_DRM_GBM_BUFFERS 0

Driver for /dev/dri/card

LV_LGFX_USER_INCLUDE

 
#define LV_LGFX_USER_INCLUDE "lv_lgfx_user.hpp"

Interface for TFT_eSPI Interface for Lovyan_GFX

LV_LIBINPUT_BSD

 
#define LV_LIBINPUT_BSD 0

Driver for evdev input devices Driver for libinput input devices

LV_LIBINPUT_XKB

 
#define LV_LIBINPUT_XKB 0

Full keyboard support

LV_ST_LTDC_USE_DMA2D_FLUSH

 
#define LV_ST_LTDC_USE_DMA2D_FLUSH 0

Driver for Renesas GLCD Driver for ST LTDC

LV_USE_UEFI_INCLUDE

 
#define LV_USE_UEFI_INCLUDE "myefi.h"

Driver for NXP ELCDIF LVGL Windows backend LVGL UEFI backend Header that hides the actual framework (EDK2, gnu-efi, ...)

LV_UEFI_USE_MEMORY_SERVICES

 
#define LV_UEFI_USE_MEMORY_SERVICES 0

Use the memory functions from the boot services table

LV_QNX_BUF_COUNT

 
#define LV_QNX_BUF_COUNT 1

Use a generic OpenGL driver that can be used to embed in other applications or used with GLFW/EGL

  • Requires LV_USE_MATRIX. Use GLFW to open window on PC and handle mouse and keyboard. Requires QNX Screen display and input drivers 1 or 2

LV_BUILD_EXAMPLES

 
#define LV_BUILD_EXAMPLES 1

Enable or disable for external data and destructor function Enable examples to be built with the library.

LV_BUILD_DEMOS

 
#define LV_BUILD_DEMOS 1

Build the demos

LV_USE_DEMO_WIDGETS

 
#define LV_USE_DEMO_WIDGETS 0

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

LV_USE_DEMO_KEYPAD_AND_ENCODER

 
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0

Demonstrate usage of encoder and keyboard.

LV_USE_DEMO_BENCHMARK

 
#define LV_USE_DEMO_BENCHMARK 0

Benchmark your system

LV_USE_DEMO_RENDER

 
#define LV_USE_DEMO_RENDER 0

Render test for each primitive.

  • Requires at least 480x272 display.

LV_USE_DEMO_STRESS

 
#define LV_USE_DEMO_STRESS 0

Stress test for LVGL

LV_USE_DEMO_MUSIC

 
#define LV_USE_DEMO_MUSIC 0

Music player demo

LV_USE_DEMO_VECTOR_GRAPHIC

 
#define LV_USE_DEMO_VECTOR_GRAPHIC 0

Vector graphic demo

LV_USE_DEMO_GLTF

 
#define LV_USE_DEMO_GLTF 0

GLTF demo

LV_USE_DEMO_FLEX_LAYOUT

 
#define LV_USE_DEMO_FLEX_LAYOUT 0

Flex layout demo

LV_USE_DEMO_MULTILANG

 
#define LV_USE_DEMO_MULTILANG 0

Smart-phone like multi-language demo

LV_USE_DEMO_EBIKE

 
#define LV_USE_DEMO_EBIKE 0

LV_USE_DEMO_HIGH_RES

 
#define LV_USE_DEMO_HIGH_RES 0

High-resolution demo

LV_USE_DEMO_SMARTWATCH

 
#define LV_USE_DEMO_SMARTWATCH 0

LV_USE_ANIMIMAGE

 
#define LV_USE_ANIMIMAGE LV_USE_ANIMIMG

LV_WAYLAND_USE_EGL

 
#define LV_WAYLAND_USE_EGL 1

LV_WAYLAND_USE_G2D

 
#define LV_WAYLAND_USE_G2D 0

LV_WAYLAND_USE_SHM

 
#define LV_WAYLAND_USE_SHM 0

LV_LINUX_DRM_USE_EGL

 
#define LV_LINUX_DRM_USE_EGL 1

LV_SDL_USE_EGL

 
#define LV_SDL_USE_EGL 1

LV_FS_IS_VALID_LETTER

 
#define LV_FS_IS_VALID_LETTER(l) \
    ((l) == '/' || ((l) >= 'A' && (l) <= 'Z'))

Dependencies

How is this guide?

Last updated on

On this page

MacrosLV_OS_NONELV_OS_PTHREADLV_OS_FREERTOSLV_OS_CMSIS_RTOS2LV_OS_RTTHREADLV_OS_WINDOWSLV_OS_MQXLV_OS_SDL2LV_OS_CUSTOMLV_STDLIB_BUILTINLV_STDLIB_CLIBLV_STDLIB_MICROPYTHONLV_STDLIB_RTTHREADLV_STDLIB_CUSTOMLV_DRAW_SW_ASM_NONELV_DRAW_SW_ASM_NEONLV_DRAW_SW_ASM_HELIUMLV_DRAW_SW_ASM_RISCV_VLV_DRAW_SW_ASM_CUSTOMLV_NEMA_LIB_NONELV_NEMA_LIB_M33_REVCLV_NEMA_LIB_M33_NEMAPVGLV_NEMA_LIB_M55LV_NEMA_LIB_M7LV_NEMA_HAL_CUSTOMLV_NEMA_HAL_STM32LV_NANOVG_BACKEND_GL2LV_NANOVG_BACKEND_GL3LV_NANOVG_BACKEND_GLES2LV_NANOVG_BACKEND_GLES3LV_COLOR_DEPTHLV_STDINT_INCLUDELV_STDDEF_INCLUDELV_STDBOOL_INCLUDELV_INTTYPES_INCLUDELV_LIMITS_INCLUDELV_STDARG_INCLUDELV_DEF_REFR_PERIODLV_DPI_DEFLV_DRAW_BUF_STRIDE_ALIGNLV_DRAW_BUF_ALIGNLV_DRAW_TRANSFORM_USE_MATRIXLV_DRAW_LAYER_SIMPLE_BUF_SIZELV_DRAW_LAYER_MAX_MEMORYLV_DRAW_THREAD_STACK_SIZELV_DRAW_THREAD_PRIOLV_DRAW_SW_SUPPORT_RGB565LV_DRAW_SW_SUPPORT_RGB565_SWAPPEDLV_DRAW_SW_SUPPORT_RGB565A8LV_DRAW_SW_SUPPORT_RGB888LV_DRAW_SW_SUPPORT_XRGB8888LV_DRAW_SW_SUPPORT_ARGB8888LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIEDLV_DRAW_SW_SUPPORT_L8LV_DRAW_SW_SUPPORT_AL88LV_DRAW_SW_SUPPORT_A8LV_DRAW_SW_SUPPORT_I1LV_DRAW_SW_I1_LUM_THRESHOLDLV_DRAW_SW_DRAW_UNIT_CNTLV_DRAW_SW_COMPLEXLV_DRAW_SW_SHADOW_CACHE_SIZELV_DRAW_SW_CIRCLE_CACHE_SIZELV_USE_NEMA_HALLV_NEMA_GFX_MAX_RESXLV_NEMA_GFX_MAX_RESYLV_USE_PXP_DRAW_THREADLV_USE_DRAW_G2DLV_G2D_HASH_TABLE_SIZELV_USE_G2D_DRAW_THREADLV_VG_LITE_USE_GPU_INITLV_VG_LITE_USE_ASSERTLV_VG_LITE_FLUSH_MAX_COUNTLV_VG_LITE_USE_BOX_SHADOWLV_VG_LITE_GRAD_CACHE_CNTLV_VG_LITE_STROKE_CACHE_CNTLV_VG_LITE_BITMAP_FONT_CACHE_CNTLV_VG_LITE_DISABLE_VLC_OP_CLOSELV_VG_LITE_DISABLE_BLIT_RECT_OFFSETLV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXTLV_VG_LITE_PATH_DUMP_MAX_LENLV_VG_LITE_HAL_GPU_SERIESLV_VG_LITE_HAL_GPU_REVISIONLV_VG_LITE_HAL_GPU_BASE_ADDRESSLV_VG_LITE_THORVG_LVGL_BLEND_SUPPORTLV_VG_LITE_THORVG_YUV_SUPPORTLV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORTLV_VG_LITE_THORVG_16PIXELS_ALIGNLV_VG_LITE_THORVG_BUF_ADDR_ALIGNLV_VG_LITE_THORVG_THREAD_RENDERLV_DRAW_DMA2D_HAL_INCLUDELV_DRAW_OPENGLES_TEXTURE_CACHE_COUNTLV_USE_PPA_IMGLV_PPA_BURST_LENGTHLV_DRAW_EVE_EVE_GENERATIONLV_DRAW_EVE_WRITE_BUFFER_SIZELV_NANOVG_BACKENDLV_NANOVG_IMAGE_CACHE_CNTLV_NANOVG_LETTER_CACHE_CNTLV_LOG_LEVELLV_LOG_PRINTFLV_LOG_USE_TIMESTAMPLV_LOG_USE_FILE_LINELV_LOG_TRACE_MEMLV_LOG_TRACE_TIMERLV_LOG_TRACE_INDEVLV_LOG_TRACE_DISP_REFRLV_LOG_TRACE_EVENTLV_LOG_TRACE_OBJ_CREATELV_LOG_TRACE_LAYOUTLV_LOG_TRACE_ANIMLV_LOG_TRACE_CACHELV_ASSERT_HANDLER_INCLUDELV_ASSERT_HANDLERLV_USE_CHECK_ARGLV_CHECK_ARG_ASSERT_ON_FAILLV_ENABLE_GLOBAL_CUSTOMLV_CACHE_DEF_SIZELV_IMAGE_HEADER_CACHE_DEF_CNTLV_GRADIENT_MAX_STOPSLV_COLOR_MIX_ROUND_OFSLV_OBJ_STYLE_CACHELV_OBJ_ID_AUTO_ASSIGNLV_BIG_ENDIAN_SYSTEMLV_ATTRIBUTE_SYNC_READYLV_ATTRIBUTE_MEM_ALIGN_SIZELV_EXPORT_CONST_INTLV_FONT_MONTSERRAT_8LV_FONT_MONTSERRAT_10LV_FONT_MONTSERRAT_12LV_FONT_MONTSERRAT_14LV_FONT_MONTSERRAT_16LV_FONT_MONTSERRAT_18LV_FONT_MONTSERRAT_20LV_FONT_MONTSERRAT_22LV_FONT_MONTSERRAT_24LV_FONT_MONTSERRAT_26LV_FONT_MONTSERRAT_28LV_FONT_MONTSERRAT_30LV_FONT_MONTSERRAT_32LV_FONT_MONTSERRAT_34LV_FONT_MONTSERRAT_36LV_FONT_MONTSERRAT_38LV_FONT_MONTSERRAT_40LV_FONT_MONTSERRAT_42LV_FONT_MONTSERRAT_44LV_FONT_MONTSERRAT_46LV_FONT_MONTSERRAT_48LV_FONT_MONTSERRAT_28_COMPRESSEDLV_FONT_DEJAVU_16_PERSIAN_HEBREWLV_FONT_SOURCE_HAN_SANS_SC_14_CJKLV_FONT_SOURCE_HAN_SANS_SC_16_CJKLV_FONT_UNSCII_8LV_FONT_UNSCII_16LV_FONT_CUSTOM_DECLARELV_FONT_DEFAULTLV_FONT_FMT_TXT_LARGELV_TXT_ENCLV_TXT_BREAK_CHARSLV_TXT_LINE_BREAK_LONG_LENLV_TXT_LINE_BREAK_LONG_PRE_MIN_LENLV_TXT_LINE_BREAK_LONG_POST_MIN_LENLV_BIDI_BASE_DIR_DEFLV_TXT_COLOR_CMDLV_WIDGETS_HAS_DEFAULT_VALUELV_CALENDAR_WEEK_STARTS_MONDAYLV_CALENDAR_DEFAULT_DAY_NAMESLV_CALENDAR_DEFAULT_MONTH_NAMESLV_LABEL_TEXT_SELECTIONLV_LABEL_LONG_TXT_HINTLV_LABEL_WAIT_CHAR_COUNTLV_SPAN_SNIPPET_STACK_SIZELV_TEXTAREA_DEF_PWD_SHOW_TIMELV_THEME_DEFAULT_DARKLV_THEME_DEFAULT_GROWLV_THEME_DEFAULT_TRANSITION_TIMELV_FS_DEFAULT_DRIVER_LETTERLV_FS_STDIO_LETTERLV_FS_STDIO_PATHLV_FS_STDIO_CACHE_SIZELV_FS_POSIX_LETTERLV_FS_POSIX_PATHLV_FS_POSIX_CACHE_SIZELV_FS_WIN32_LETTERLV_FS_WIN32_PATHLV_FS_WIN32_CACHE_SIZELV_FS_FATFS_LETTERLV_FS_FATFS_PATHLV_FS_FATFS_CACHE_SIZELV_FS_MEMFS_LETTERLV_FS_LITTLEFS_LETTERLV_FS_LITTLEFS_PATHLV_FS_ARDUINO_ESP_LITTLEFS_LETTERLV_FS_ARDUINO_ESP_LITTLEFS_PATHLV_FS_ARDUINO_SD_LETTERLV_FS_ARDUINO_SD_PATHLV_FS_UEFI_LETTERLV_FS_FROGFS_LETTERLV_GIF_CACHE_DECODE_DATALV_BIN_DECODER_RAM_LOADLV_FREETYPE_USE_LVGL_PORTLV_FREETYPE_CACHE_FT_GLYPH_CNTLV_FREETYPE_CACHE_FT_GLYPH_L1LV_TINY_TTF_FILE_SUPPORTLV_TINY_TTF_CACHE_GLYPH_CNTLV_TINY_TTF_CACHE_KERNING_CNTLV_FFMPEG_DUMP_FORMATLV_FFMPEG_PLAYER_USE_LV_FSLV_SYSMON_GET_IDLELV_SYSMON_PROC_IDLE_AVAILABLELV_USE_PERF_MONITOR_POSLV_USE_PERF_MONITOR_LOG_MODELV_USE_MEM_MONITOR_POSLV_PROFILER_BUILTIN_BUF_SIZELV_PROFILER_BUILTIN_DEFAULT_ENABLELV_PROFILER_INCLUDELV_PROFILER_BEGINLV_PROFILER_ENDLV_PROFILER_BEGIN_TAGLV_PROFILER_END_TAGLV_PROFILER_LAYOUTLV_PROFILER_REFRLV_PROFILER_DRAWLV_PROFILER_INDEVLV_PROFILER_DECODERLV_PROFILER_FONTLV_PROFILER_FSLV_PROFILER_STYLELV_PROFILER_TIMERLV_PROFILER_CACHELV_PROFILER_EVENTLV_IME_PINYIN_USE_DEFAULT_DICTLV_IME_PINYIN_CAND_TEXT_NUMLV_IME_PINYIN_USE_K9_MODELV_IME_PINYIN_K9_CAND_TEXT_NUMLV_FILE_EXPLORER_PATH_MAX_LENLV_FILE_EXPLORER_QUICK_ACCESSLV_FONT_MANAGER_NAME_MAX_LENLV_TEST_SCREENSHOT_CREATE_REFERENCE_IMAGELV_SDL_INCLUDE_PATHLV_SDL_RENDER_MODELV_SDL_BUF_COUNTLV_SDL_ACCELERATEDLV_SDL_FULLSCREENLV_SDL_DIRECT_EXITLV_SDL_MOUSEWHEEL_MODELV_X11_DIRECT_EXITLV_X11_DOUBLE_BUFFERLV_X11_RENDER_MODE_PARTIALLV_X11_RENDER_MODE_DIRECTLV_X11_RENDER_MODE_FULLLV_WAYLAND_DIRECT_EXITLV_LINUX_FBDEV_BSDLV_LINUX_FBDEV_RENDER_MODELV_LINUX_FBDEV_BUFFER_COUNTLV_LINUX_FBDEV_BUFFER_SIZELV_LINUX_FBDEV_MMAPLV_USE_NUTTX_INDEPENDENT_IMAGE_HEAPLV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAPLV_NUTTX_LCD_BUFFER_COUNTLV_NUTTX_LCD_BUFFER_SIZELV_NUTTX_TOUCHSCREEN_CURSOR_SIZELV_USE_NUTTX_MOUSE_MOVE_STEPLV_USE_NUTTX_TRACE_FILELV_USE_LINUX_DRM_GBM_BUFFERSLV_LGFX_USER_INCLUDELV_LIBINPUT_BSDLV_LIBINPUT_XKBLV_ST_LTDC_USE_DMA2D_FLUSHLV_USE_UEFI_INCLUDELV_UEFI_USE_MEMORY_SERVICESLV_QNX_BUF_COUNTLV_BUILD_EXAMPLESLV_BUILD_DEMOSLV_USE_DEMO_WIDGETSLV_USE_DEMO_KEYPAD_AND_ENCODERLV_USE_DEMO_BENCHMARKLV_USE_DEMO_RENDERLV_USE_DEMO_STRESSLV_USE_DEMO_MUSICLV_USE_DEMO_VECTOR_GRAPHICLV_USE_DEMO_GLTFLV_USE_DEMO_FLEX_LAYOUTLV_USE_DEMO_MULTILANGLV_USE_DEMO_EBIKELV_USE_DEMO_HIGH_RESLV_USE_DEMO_SMARTWATCHLV_USE_ANIMIMAGELV_WAYLAND_USE_EGLLV_WAYLAND_USE_G2DLV_WAYLAND_USE_SHMLV_LINUX_DRM_USE_EGLLV_SDL_USE_EGLLV_FS_IS_VALID_LETTERDependencies