# lv_conf_internal.h (/api/lv_conf_internal_h)



GENERATED FILE, DO NOT EDIT IT!

This file ensures all defines of lv\_conf.h have a default value.

<ApiSummary macros="293" />

Macros [#macros]

<ApiMember kind="macro" name="LV_OS_NONE" file="lv_conf_internal.h" line="12" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L12">
  LV_OS_NONE [#lv_os_none]

  ```c title=" " lineNumbers=1
  #define LV_OS_NONE 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_OS_PTHREAD" file="lv_conf_internal.h" line="13" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L13">
  LV_OS_PTHREAD [#lv_os_pthread]

  ```c title=" " lineNumbers=1
  #define LV_OS_PTHREAD 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_OS_FREERTOS" file="lv_conf_internal.h" line="14" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L14">
  LV_OS_FREERTOS [#lv_os_freertos]

  ```c title=" " lineNumbers=1
  #define LV_OS_FREERTOS 2
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_OS_CMSIS_RTOS2" file="lv_conf_internal.h" line="15" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L15">
  LV_OS_CMSIS_RTOS2 [#lv_os_cmsis_rtos2]

  ```c title=" " lineNumbers=1
  #define LV_OS_CMSIS_RTOS2 3
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_OS_RTTHREAD" file="lv_conf_internal.h" line="16" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L16">
  LV_OS_RTTHREAD [#lv_os_rtthread]

  ```c title=" " lineNumbers=1
  #define LV_OS_RTTHREAD 4
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_OS_WINDOWS" file="lv_conf_internal.h" line="17" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L17">
  LV_OS_WINDOWS [#lv_os_windows]

  ```c title=" " lineNumbers=1
  #define LV_OS_WINDOWS 5
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_OS_MQX" file="lv_conf_internal.h" line="18" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L18">
  LV_OS_MQX [#lv_os_mqx]

  ```c title=" " lineNumbers=1
  #define LV_OS_MQX 6
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_OS_SDL2" file="lv_conf_internal.h" line="19" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L19">
  LV_OS_SDL2 [#lv_os_sdl2]

  ```c title=" " lineNumbers=1
  #define LV_OS_SDL2 7
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_OS_CUSTOM" file="lv_conf_internal.h" line="20" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L20">
  LV_OS_CUSTOM [#lv_os_custom]

  ```c title=" " lineNumbers=1
  #define LV_OS_CUSTOM 255
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_STDLIB_BUILTIN" file="lv_conf_internal.h" line="22" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L22">
  LV_STDLIB_BUILTIN [#lv_stdlib_builtin]

  ```c title=" " lineNumbers=1
  #define LV_STDLIB_BUILTIN 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_STDLIB_CLIB" file="lv_conf_internal.h" line="23" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L23">
  LV_STDLIB_CLIB [#lv_stdlib_clib]

  ```c title=" " lineNumbers=1
  #define LV_STDLIB_CLIB 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_STDLIB_MICROPYTHON" file="lv_conf_internal.h" line="24" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L24">
  LV_STDLIB_MICROPYTHON [#lv_stdlib_micropython]

  ```c title=" " lineNumbers=1
  #define LV_STDLIB_MICROPYTHON 2
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_STDLIB_RTTHREAD" file="lv_conf_internal.h" line="25" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L25">
  LV_STDLIB_RTTHREAD [#lv_stdlib_rtthread]

  ```c title=" " lineNumbers=1
  #define LV_STDLIB_RTTHREAD 3
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_STDLIB_CUSTOM" file="lv_conf_internal.h" line="26" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L26">
  LV_STDLIB_CUSTOM [#lv_stdlib_custom]

  ```c title=" " lineNumbers=1
  #define LV_STDLIB_CUSTOM 255
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_ASM_NONE" file="lv_conf_internal.h" line="28" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L28">
  LV_DRAW_SW_ASM_NONE [#lv_draw_sw_asm_none]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_ASM_NONE 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_ASM_NEON" file="lv_conf_internal.h" line="29" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L29">
  LV_DRAW_SW_ASM_NEON [#lv_draw_sw_asm_neon]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_ASM_NEON 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_ASM_HELIUM" file="lv_conf_internal.h" line="30" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L30">
  LV_DRAW_SW_ASM_HELIUM [#lv_draw_sw_asm_helium]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_ASM_HELIUM 2
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_ASM_RISCV_V" file="lv_conf_internal.h" line="31" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L31">
  LV_DRAW_SW_ASM_RISCV_V [#lv_draw_sw_asm_riscv_v]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_ASM_RISCV_V 3
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_ASM_CUSTOM" file="lv_conf_internal.h" line="32" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L32">
  LV_DRAW_SW_ASM_CUSTOM [#lv_draw_sw_asm_custom]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_ASM_CUSTOM 255
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_LIB_NONE" file="lv_conf_internal.h" line="34" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L34">
  LV_NEMA_LIB_NONE [#lv_nema_lib_none]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_LIB_NONE 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_LIB_M33_REVC" file="lv_conf_internal.h" line="35" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L35">
  LV_NEMA_LIB_M33_REVC [#lv_nema_lib_m33_revc]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_LIB_M33_REVC 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_LIB_M33_NEMAPVG" file="lv_conf_internal.h" line="36" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L36">
  LV_NEMA_LIB_M33_NEMAPVG [#lv_nema_lib_m33_nemapvg]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_LIB_M33_NEMAPVG 2
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_LIB_M55" file="lv_conf_internal.h" line="37" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L37">
  LV_NEMA_LIB_M55 [#lv_nema_lib_m55]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_LIB_M55 3
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_LIB_M7" file="lv_conf_internal.h" line="38" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L38">
  LV_NEMA_LIB_M7 [#lv_nema_lib_m7]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_LIB_M7 4
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_HAL_CUSTOM" file="lv_conf_internal.h" line="40" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L40">
  LV_NEMA_HAL_CUSTOM [#lv_nema_hal_custom]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_HAL_CUSTOM 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_HAL_STM32" file="lv_conf_internal.h" line="41" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L41">
  LV_NEMA_HAL_STM32 [#lv_nema_hal_stm32]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_HAL_STM32 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NANOVG_BACKEND_GL2" file="lv_conf_internal.h" line="43" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L43">
  LV_NANOVG_BACKEND_GL2 [#lv_nanovg_backend_gl2]

  ```c title=" " lineNumbers=1
  #define LV_NANOVG_BACKEND_GL2 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NANOVG_BACKEND_GL3" file="lv_conf_internal.h" line="44" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L44">
  LV_NANOVG_BACKEND_GL3 [#lv_nanovg_backend_gl3]

  ```c title=" " lineNumbers=1
  #define LV_NANOVG_BACKEND_GL3 2
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NANOVG_BACKEND_GLES2" file="lv_conf_internal.h" line="45" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L45">
  LV_NANOVG_BACKEND_GLES2 [#lv_nanovg_backend_gles2]

  ```c title=" " lineNumbers=1
  #define LV_NANOVG_BACKEND_GLES2 3
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NANOVG_BACKEND_GLES3" file="lv_conf_internal.h" line="46" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L46">
  LV_NANOVG_BACKEND_GLES3 [#lv_nanovg_backend_gles3]

  ```c title=" " lineNumbers=1
  #define LV_NANOVG_BACKEND_GLES3 4
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_COLOR_DEPTH" file="lv_conf_internal.h" line="103" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L103">
  LV_COLOR_DEPTH [#lv_color_depth]

  ```c title=" " lineNumbers=1
  #define LV_COLOR_DEPTH 16
  ```

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

<ApiMember kind="macro" name="LV_STDINT_INCLUDE" file="lv_conf_internal.h" line="160" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L160">
  LV_STDINT_INCLUDE [#lv_stdint_include]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_STDDEF_INCLUDE" file="lv_conf_internal.h" line="167" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L167">
  LV_STDDEF_INCLUDE [#lv_stddef_include]

  ```c title=" " lineNumbers=1
  #define LV_STDDEF_INCLUDE <stddef.h>
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_STDBOOL_INCLUDE" file="lv_conf_internal.h" line="174" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L174">
  LV_STDBOOL_INCLUDE [#lv_stdbool_include]

  ```c title=" " lineNumbers=1
  #define LV_STDBOOL_INCLUDE <stdbool.h>
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_INTTYPES_INCLUDE" file="lv_conf_internal.h" line="181" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L181">
  LV_INTTYPES_INCLUDE [#lv_inttypes_include]

  ```c title=" " lineNumbers=1
  #define LV_INTTYPES_INCLUDE <inttypes.h>
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_LIMITS_INCLUDE" file="lv_conf_internal.h" line="188" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L188">
  LV_LIMITS_INCLUDE [#lv_limits_include]

  ```c title=" " lineNumbers=1
  #define LV_LIMITS_INCLUDE <limits.h>
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_STDARG_INCLUDE" file="lv_conf_internal.h" line="195" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L195">
  LV_STDARG_INCLUDE [#lv_stdarg_include]

  ```c title=" " lineNumbers=1
  #define LV_STDARG_INCLUDE <stdarg.h>
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DEF_REFR_PERIOD" file="lv_conf_internal.h" line="254" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L254">
  LV_DEF_REFR_PERIOD [#lv_def_refr_period]

  ```c title=" " lineNumbers=1
  #define LV_DEF_REFR_PERIOD 33
  ```

  Default display refresh, input device read and animation step period. \[ms]
</ApiMember>

<ApiMember kind="macro" name="LV_DPI_DEF" file="lv_conf_internal.h" line="264" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L264">
  LV_DPI_DEF [#lv_dpi_def]

  ```c title=" " lineNumbers=1
  #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]
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_BUF_STRIDE_ALIGN" file="lv_conf_internal.h" line="339" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L339">
  LV_DRAW_BUF_STRIDE_ALIGN [#lv_draw_buf_stride_align]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_BUF_ALIGN" file="lv_conf_internal.h" line="348" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L348">
  LV_DRAW_BUF_ALIGN [#lv_draw_buf_align]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_BUF_ALIGN 4
  ```

  Align start address of draw\_buf addresses to this bytes
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_TRANSFORM_USE_MATRIX" file="lv_conf_internal.h" line="360" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L360">
  LV_DRAW_TRANSFORM_USE_MATRIX [#lv_draw_transform_use_matrix]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_TRANSFORM_USE_MATRIX 0
  ```

  Using matrix for transformations. Requirements:

  * `LV_USE_MATRIX = 1`.
  * Rendering engine needs to support 3x3 matrix transformations.
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_LAYER_SIMPLE_BUF_SIZE" file="lv_conf_internal.h" line="374" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L374">
  LV_DRAW_LAYER_SIMPLE_BUF_SIZE [#lv_draw_layer_simple_buf_size]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_LAYER_SIMPLE_BUF_SIZE (24 * 1024)
  ```

  The target buffer size for simple layer chunks. \[bytes]
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_LAYER_MAX_MEMORY" file="lv_conf_internal.h" line="386" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L386">
  LV_DRAW_LAYER_MAX_MEMORY [#lv_draw_layer_max_memory]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_LAYER_MAX_MEMORY 0
  ```

  No limit by default \[bytes]
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_THREAD_STACK_SIZE" file="lv_conf_internal.h" line="397" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L397">
  LV_DRAW_THREAD_STACK_SIZE [#lv_draw_thread_stack_size]

  ```c title=" " lineNumbers=1
  #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]
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_THREAD_PRIO" file="lv_conf_internal.h" line="412" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L412">
  LV_DRAW_THREAD_PRIO [#lv_draw_thread_prio]

  ```c title=" " lineNumbers=1
  #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 <ApiLink name="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.
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_RGB565" file="lv_conf_internal.h" line="442" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L442">
  LV_DRAW_SW_SUPPORT_RGB565 [#lv_draw_sw_support_rgb565]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_RGB565 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_RGB565_SWAPPED" file="lv_conf_internal.h" line="453" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L453">
  LV_DRAW_SW_SUPPORT_RGB565_SWAPPED [#lv_draw_sw_support_rgb565_swapped]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_RGB565_SWAPPED 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_RGB565A8" file="lv_conf_internal.h" line="464" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L464">
  LV_DRAW_SW_SUPPORT_RGB565A8 [#lv_draw_sw_support_rgb565a8]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_RGB565A8 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_RGB888" file="lv_conf_internal.h" line="475" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L475">
  LV_DRAW_SW_SUPPORT_RGB888 [#lv_draw_sw_support_rgb888]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_RGB888 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_XRGB8888" file="lv_conf_internal.h" line="486" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L486">
  LV_DRAW_SW_SUPPORT_XRGB8888 [#lv_draw_sw_support_xrgb8888]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_XRGB8888 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_ARGB8888" file="lv_conf_internal.h" line="497" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L497">
  LV_DRAW_SW_SUPPORT_ARGB8888 [#lv_draw_sw_support_argb8888]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_ARGB8888 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED" file="lv_conf_internal.h" line="508" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L508">
  LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED [#lv_draw_sw_support_argb8888_premultiplied]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_L8" file="lv_conf_internal.h" line="519" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L519">
  LV_DRAW_SW_SUPPORT_L8 [#lv_draw_sw_support_l8]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_L8 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_AL88" file="lv_conf_internal.h" line="530" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L530">
  LV_DRAW_SW_SUPPORT_AL88 [#lv_draw_sw_support_al88]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_AL88 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_A8" file="lv_conf_internal.h" line="541" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L541">
  LV_DRAW_SW_SUPPORT_A8 [#lv_draw_sw_support_a8]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_A8 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SUPPORT_I1" file="lv_conf_internal.h" line="552" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L552">
  LV_DRAW_SW_SUPPORT_I1 [#lv_draw_sw_support_i1]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_SUPPORT_I1 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_I1_LUM_THRESHOLD" file="lv_conf_internal.h" line="562" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L562">
  LV_DRAW_SW_I1_LUM_THRESHOLD [#lv_draw_sw_i1_lum_threshold]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_SW_I1_LUM_THRESHOLD 127
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_DRAW_UNIT_CNT" file="lv_conf_internal.h" line="577" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L577">
  LV_DRAW_SW_DRAW_UNIT_CNT [#lv_draw_sw_draw_unit_cnt]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_COMPLEX" file="lv_conf_internal.h" line="610" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L610">
  LV_DRAW_SW_COMPLEX [#lv_draw_sw_complex]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_SHADOW_CACHE_SIZE" file="lv_conf_internal.h" line="622" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L622">
  LV_DRAW_SW_SHADOW_CACHE_SIZE [#lv_draw_sw_shadow_cache_size]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_SW_CIRCLE_CACHE_SIZE" file="lv_conf_internal.h" line="634" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L634">
  LV_DRAW_SW_CIRCLE_CACHE_SIZE [#lv_draw_sw_circle_cache_size]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_USE_NEMA_HAL" file="lv_conf_internal.h" line="702" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L702">
  LV_USE_NEMA_HAL [#lv_use_nema_hal]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_GFX_MAX_RESX" file="lv_conf_internal.h" line="741" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L741">
  LV_NEMA_GFX_MAX_RESX [#lv_nema_gfx_max_resx]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_GFX_MAX_RESX 800
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NEMA_GFX_MAX_RESY" file="lv_conf_internal.h" line="748" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L748">
  LV_NEMA_GFX_MAX_RESY [#lv_nema_gfx_max_resy]

  ```c title=" " lineNumbers=1
  #define LV_NEMA_GFX_MAX_RESY 600
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_USE_PXP_DRAW_THREAD" file="lv_conf_internal.h" line="796" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L796">
  LV_USE_PXP_DRAW_THREAD [#lv_use_pxp_draw_thread]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DRAW_G2D" file="lv_conf_internal.h" line="830" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L830">
  LV_USE_DRAW_G2D [#lv_use_draw_g2d]

  ```c title=" " lineNumbers=1
  #define LV_USE_DRAW_G2D 1
  ```

  Enable PXP asserts. Use NXP's G2D on MPU platforms. Use G2D for drawing.
</ApiMember>

<ApiMember kind="macro" name="LV_G2D_HASH_TABLE_SIZE" file="lv_conf_internal.h" line="840" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L840">
  LV_G2D_HASH_TABLE_SIZE [#lv_g2d_hash_table_size]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_USE_G2D_DRAW_THREAD" file="lv_conf_internal.h" line="854" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L854">
  LV_USE_G2D_DRAW_THREAD [#lv_use_g2d_draw_thread]

  ```c title=" " lineNumbers=1
  #define LV_USE_G2D_DRAW_THREAD 1
  ```

  Use additional draw thread for G2D processing.
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_USE_GPU_INIT" file="lv_conf_internal.h" line="901" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L901">
  LV_VG_LITE_USE_GPU_INIT [#lv_vg_lite_use_gpu_init]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_USE_ASSERT" file="lv_conf_internal.h" line="910" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L910">
  LV_VG_LITE_USE_ASSERT [#lv_vg_lite_use_assert]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_USE_ASSERT 0
  ```

  Enable VG-Lite assert.
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_FLUSH_MAX_COUNT" file="lv_conf_internal.h" line="919" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L919">
  LV_VG_LITE_FLUSH_MAX_COUNT [#lv_vg_lite_flush_max_count]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_FLUSH_MAX_COUNT 8
  ```

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

<ApiMember kind="macro" name="LV_VG_LITE_USE_BOX_SHADOW" file="lv_conf_internal.h" line="934" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L934">
  LV_VG_LITE_USE_BOX_SHADOW [#lv_vg_lite_use_box_shadow]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_GRAD_CACHE_CNT" file="lv_conf_internal.h" line="944" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L944">
  LV_VG_LITE_GRAD_CACHE_CNT [#lv_vg_lite_grad_cache_cnt]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_GRAD_CACHE_CNT 32
  ```

  VG-Lite gradient maximum cache number.

  <Callout type="info">
    The memory usage of a single gradient image is 4K bytes.
  </Callout>
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_STROKE_CACHE_CNT" file="lv_conf_internal.h" line="953" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L953">
  LV_VG_LITE_STROKE_CACHE_CNT [#lv_vg_lite_stroke_cache_cnt]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_STROKE_CACHE_CNT 32
  ```

  VG-Lite stroke maximum cache number.
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_BITMAP_FONT_CACHE_CNT" file="lv_conf_internal.h" line="962" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L962">
  LV_VG_LITE_BITMAP_FONT_CACHE_CNT [#lv_vg_lite_bitmap_font_cache_cnt]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_BITMAP_FONT_CACHE_CNT 256
  ```

  VG-Lite unaligned bitmap font maximum cache number.
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_DISABLE_VLC_OP_CLOSE" file="lv_conf_internal.h" line="971" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L971">
  LV_VG_LITE_DISABLE_VLC_OP_CLOSE [#lv_vg_lite_disable_vlc_op_close]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_DISABLE_VLC_OP_CLOSE 0
  ```

  Remove VLC\_OP\_CLOSE path instruction (Workaround for NXP)
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_DISABLE_BLIT_RECT_OFFSET" file="lv_conf_internal.h" line="980" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L980">
  LV_VG_LITE_DISABLE_BLIT_RECT_OFFSET [#lv_vg_lite_disable_blit_rect_offset]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_DISABLE_BLIT_RECT_OFFSET 0
  ```

  Disable blit rectangular offset to resolve certain hardware errors.
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXT" file="lv_conf_internal.h" line="989" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L989">
  LV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXT [#lv_vg_lite_disable_linear_gradient_ext]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXT 0
  ```

  Disable linear gradient extension for some older versions of drivers.
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_PATH_DUMP_MAX_LEN" file="lv_conf_internal.h" line="998" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L998">
  LV_VG_LITE_PATH_DUMP_MAX_LEN [#lv_vg_lite_path_dump_max_len]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_PATH_DUMP_MAX_LEN 1000
  ```

  Maximum path dump print length (in points)
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_HAL_GPU_SERIES" file="lv_conf_internal.h" line="1016" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1016">
  LV_VG_LITE_HAL_GPU_SERIES [#lv_vg_lite_hal_gpu_series]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_HAL_GPU_REVISION" file="lv_conf_internal.h" line="1025" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1025">
  LV_VG_LITE_HAL_GPU_REVISION [#lv_vg_lite_hal_gpu_revision]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_HAL_GPU_REVISION 0x40
  ```

  Used to pick the correct GPU revision header it depends on the vendor
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_HAL_GPU_BASE_ADDRESS" file="lv_conf_internal.h" line="1035" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1035">
  LV_VG_LITE_HAL_GPU_BASE_ADDRESS [#lv_vg_lite_hal_gpu_base_address]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT" file="lv_conf_internal.h" line="1055" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1055">
  LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT [#lv_vg_lite_thorvg_lvgl_blend_support]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_THORVG_YUV_SUPPORT" file="lv_conf_internal.h" line="1064" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1064">
  LV_VG_LITE_THORVG_YUV_SUPPORT [#lv_vg_lite_thorvg_yuv_support]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_THORVG_YUV_SUPPORT 0
  ```

  Enable YUV color format support
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT" file="lv_conf_internal.h" line="1073" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1073">
  LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT [#lv_vg_lite_thorvg_linear_gradient_ext_support]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT 0
  ```

  Enable Linear gradient extension support
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_THORVG_16PIXELS_ALIGN" file="lv_conf_internal.h" line="1086" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1086">
  LV_VG_LITE_THORVG_16PIXELS_ALIGN [#lv_vg_lite_thorvg_16pixels_align]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_THORVG_16PIXELS_ALIGN 1
  ```

  Enable alignment on 16 pixels
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_THORVG_BUF_ADDR_ALIGN" file="lv_conf_internal.h" line="1095" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1095">
  LV_VG_LITE_THORVG_BUF_ADDR_ALIGN [#lv_vg_lite_thorvg_buf_addr_align]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_THORVG_BUF_ADDR_ALIGN 64
  ```

  Buffer address alignment
</ApiMember>

<ApiMember kind="macro" name="LV_VG_LITE_THORVG_THREAD_RENDER" file="lv_conf_internal.h" line="1104" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1104">
  LV_VG_LITE_THORVG_THREAD_RENDER [#lv_vg_lite_thorvg_thread_render]

  ```c title=" " lineNumbers=1
  #define LV_VG_LITE_THORVG_THREAD_RENDER 0
  ```

  Enable multi-thread render
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_DMA2D_HAL_INCLUDE" file="lv_conf_internal.h" line="1123" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1123">
  LV_DRAW_DMA2D_HAL_INCLUDE [#lv_draw_dma2d_hal_include]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_DMA2D_HAL_INCLUDE "stm32h7xx_hal.h"
  ```

  Accelerate blends, fills, etc. with STM32 DMA2D
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_OPENGLES_TEXTURE_CACHE_COUNT" file="lv_conf_internal.h" line="1152" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1152">
  LV_DRAW_OPENGLES_TEXTURE_CACHE_COUNT [#lv_draw_opengles_texture_cache_count]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_OPENGLES_TEXTURE_CACHE_COUNT 64
  ```

  Draw using cached OpenGLES textures. Requires LV\_USE\_OPENGLES
</ApiMember>

<ApiMember kind="macro" name="LV_USE_PPA_IMG" file="lv_conf_internal.h" line="1170" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1170">
  LV_USE_PPA_IMG [#lv_use_ppa_img]

  ```c title=" " lineNumbers=1
  #define LV_USE_PPA_IMG 0
  ```

  Draw using espressif PPA accelerator
</ApiMember>

<ApiMember kind="macro" name="LV_PPA_BURST_LENGTH" file="lv_conf_internal.h" line="1177" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1177">
  LV_PPA_BURST_LENGTH [#lv_ppa_burst_length]

  ```c title=" " lineNumbers=1
  #define LV_PPA_BURST_LENGTH 128
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_EVE_EVE_GENERATION" file="lv_conf_internal.h" line="1196" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1196">
  LV_DRAW_EVE_EVE_GENERATION [#lv_draw_eve_eve_generation]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_EVE_EVE_GENERATION 4
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_DRAW_EVE_WRITE_BUFFER_SIZE" file="lv_conf_internal.h" line="1207" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1207">
  LV_DRAW_EVE_WRITE_BUFFER_SIZE [#lv_draw_eve_write_buffer_size]

  ```c title=" " lineNumbers=1
  #define LV_DRAW_EVE_WRITE_BUFFER_SIZE 2048
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NANOVG_BACKEND" file="lv_conf_internal.h" line="1233" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1233">
  LV_NANOVG_BACKEND [#lv_nanovg_backend]

  ```c title=" " lineNumbers=1
  #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+
</ApiMember>

<ApiMember kind="macro" name="LV_NANOVG_IMAGE_CACHE_CNT" file="lv_conf_internal.h" line="1242" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1242">
  LV_NANOVG_IMAGE_CACHE_CNT [#lv_nanovg_image_cache_cnt]

  ```c title=" " lineNumbers=1
  #define LV_NANOVG_IMAGE_CACHE_CNT 128
  ```

  Draw image texture cache count.
</ApiMember>

<ApiMember kind="macro" name="LV_NANOVG_LETTER_CACHE_CNT" file="lv_conf_internal.h" line="1251" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1251">
  LV_NANOVG_LETTER_CACHE_CNT [#lv_nanovg_letter_cache_cnt]

  ```c title=" " lineNumbers=1
  #define LV_NANOVG_LETTER_CACHE_CNT 512
  ```

  Draw letter texture cache count.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_LEVEL" file="lv_conf_internal.h" line="1284" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1284">
  LV_LOG_LEVEL [#lv_log_level]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_PRINTF" file="lv_conf_internal.h" line="1294" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1294">
  LV_LOG_PRINTF [#lv_log_printf]

  ```c title=" " lineNumbers=1
  #define LV_LOG_PRINTF 0
  ```

  * 1: Print log with 'printf';
  * 0: User needs to register a callback with <ApiLink name="lv_log_register_print_cb" display="lv_log_register_print_cb()" />.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_USE_TIMESTAMP" file="lv_conf_internal.h" line="1313" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1313">
  LV_LOG_USE_TIMESTAMP [#lv_log_use_timestamp]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_USE_FILE_LINE" file="lv_conf_internal.h" line="1327" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1327">
  LV_LOG_USE_FILE_LINE [#lv_log_use_file_line]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_TRACE_MEM" file="lv_conf_internal.h" line="1340" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1340">
  LV_LOG_TRACE_MEM [#lv_log_trace_mem]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_MEM 1
  ```

  Enable/disable trace logs in memory operations.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_TRACE_TIMER" file="lv_conf_internal.h" line="1351" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1351">
  LV_LOG_TRACE_TIMER [#lv_log_trace_timer]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_TIMER 1
  ```

  Enable/disable trace logs in timer operations.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_TRACE_INDEV" file="lv_conf_internal.h" line="1362" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1362">
  LV_LOG_TRACE_INDEV [#lv_log_trace_indev]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_INDEV 1
  ```

  Enable/disable trace logs in input device operations.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_TRACE_DISP_REFR" file="lv_conf_internal.h" line="1373" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1373">
  LV_LOG_TRACE_DISP_REFR [#lv_log_trace_disp_refr]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_DISP_REFR 1
  ```

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

<ApiMember kind="macro" name="LV_LOG_TRACE_EVENT" file="lv_conf_internal.h" line="1384" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1384">
  LV_LOG_TRACE_EVENT [#lv_log_trace_event]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_EVENT 1
  ```

  Enable/disable trace logs in event dispatch logic.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_TRACE_OBJ_CREATE" file="lv_conf_internal.h" line="1395" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1395">
  LV_LOG_TRACE_OBJ_CREATE [#lv_log_trace_obj_create]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_OBJ_CREATE 1
  ```

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

<ApiMember kind="macro" name="LV_LOG_TRACE_LAYOUT" file="lv_conf_internal.h" line="1406" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1406">
  LV_LOG_TRACE_LAYOUT [#lv_log_trace_layout]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_LAYOUT 1
  ```

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

<ApiMember kind="macro" name="LV_LOG_TRACE_ANIM" file="lv_conf_internal.h" line="1417" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1417">
  LV_LOG_TRACE_ANIM [#lv_log_trace_anim]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_ANIM 1
  ```

  Enable/disable trace logs in animation logic.
</ApiMember>

<ApiMember kind="macro" name="LV_LOG_TRACE_CACHE" file="lv_conf_internal.h" line="1428" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1428">
  LV_LOG_TRACE_CACHE [#lv_log_trace_cache]

  ```c title=" " lineNumbers=1
  #define LV_LOG_TRACE_CACHE 1
  ```

  Enable/disable trace logs in cache operations.
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_HANDLER_INCLUDE" file="lv_conf_internal.h" line="1488" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1488">
  LV_ASSERT_HANDLER_INCLUDE [#lv_assert_handler_include]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
  ```

  Add a custom handler when assert happens e.g. to restart MCU.
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_HANDLER" file="lv_conf_internal.h" line="1495" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1495">
  LV_ASSERT_HANDLER [#lv_assert_handler]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_HANDLER while(1);
  ```

  Halt by default
</ApiMember>

<ApiMember kind="macro" name="LV_USE_CHECK_ARG" file="lv_conf_internal.h" line="1515" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1515">
  LV_USE_CHECK_ARG [#lv_use_check_arg]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_CHECK_ARG_ASSERT_ON_FAIL" file="lv_conf_internal.h" line="1525" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1525">
  LV_CHECK_ARG_ASSERT_ON_FAIL [#lv_check_arg_assert_on_fail]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_ENABLE_GLOBAL_CUSTOM" file="lv_conf_internal.h" line="1571" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1571">
  LV_ENABLE_GLOBAL_CUSTOM [#lv_enable_global_custom]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_CACHE_DEF_SIZE" file="lv_conf_internal.h" line="1594" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1594">
  LV_CACHE_DEF_SIZE [#lv_cache_def_size]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_IMAGE_HEADER_CACHE_DEF_CNT" file="lv_conf_internal.h" line="1604" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1604">
  LV_IMAGE_HEADER_CACHE_DEF_CNT [#lv_image_header_cache_def_cnt]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_GRADIENT_MAX_STOPS" file="lv_conf_internal.h" line="1614" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1614">
  LV_GRADIENT_MAX_STOPS [#lv_gradient_max_stops]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_COLOR_MIX_ROUND_OFS" file="lv_conf_internal.h" line="1628" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1628">
  LV_COLOR_MIX_ROUND_OFS [#lv_color_mix_round_ofs]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_OBJ_STYLE_CACHE" file="lv_conf_internal.h" line="1637" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1637">
  LV_OBJ_STYLE_CACHE [#lv_obj_style_cache]

  ```c title=" " lineNumbers=1
  #define LV_OBJ_STYLE_CACHE 0
  ```

  Add 2 x 32-bit variables to each `lv_obj_t` to speed up getting style properties
</ApiMember>

<ApiMember kind="macro" name="LV_OBJ_ID_AUTO_ASSIGN" file="lv_conf_internal.h" line="1664" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1664">
  LV_OBJ_ID_AUTO_ASSIGN [#lv_obj_id_auto_assign]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_BIG_ENDIAN_SYSTEM" file="lv_conf_internal.h" line="1727" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1727">
  LV_BIG_ENDIAN_SYSTEM [#lv_big_endian_system]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_ATTRIBUTE_SYNC_READY" file="lv_conf_internal.h" line="1763" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1763">
  LV_ATTRIBUTE_SYNC_READY [#lv_attribute_sync_ready]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_ATTRIBUTE_MEM_ALIGN_SIZE" file="lv_conf_internal.h" line="1777" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1777">
  LV_ATTRIBUTE_MEM_ALIGN_SIZE [#lv_attribute_mem_align_size]

  ```c title=" " lineNumbers=1
  #define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1
  ```

  Align VG\_LITE buffers on this number of bytes.

  <Callout type="info">
    vglite\_src\_buf\_aligned() uses this value to validate alignment of passed buffer pointers.
  </Callout>
</ApiMember>

<ApiMember kind="macro" name="LV_EXPORT_CONST_INT" file="lv_conf_internal.h" line="1824" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1824">
  LV_EXPORT_CONST_INT [#lv_export_const_int]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_8" file="lv_conf_internal.h" line="1877" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1877">
  LV_FONT_MONTSERRAT_8 [#lv_font_montserrat_8]

  ```c title=" " lineNumbers=1
  #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 <ApiLink name="lvgl_private.h" /> in <ApiLink name="lvgl.h" /> to access internal data and functions by default
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_10" file="lv_conf_internal.h" line="1884" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1884">
  LV_FONT_MONTSERRAT_10 [#lv_font_montserrat_10]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_10 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_12" file="lv_conf_internal.h" line="1891" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1891">
  LV_FONT_MONTSERRAT_12 [#lv_font_montserrat_12]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_12 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_14" file="lv_conf_internal.h" line="1902" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1902">
  LV_FONT_MONTSERRAT_14 [#lv_font_montserrat_14]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_14 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_16" file="lv_conf_internal.h" line="1909" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1909">
  LV_FONT_MONTSERRAT_16 [#lv_font_montserrat_16]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_16 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_18" file="lv_conf_internal.h" line="1916" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1916">
  LV_FONT_MONTSERRAT_18 [#lv_font_montserrat_18]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_18 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_20" file="lv_conf_internal.h" line="1923" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1923">
  LV_FONT_MONTSERRAT_20 [#lv_font_montserrat_20]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_20 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_22" file="lv_conf_internal.h" line="1930" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1930">
  LV_FONT_MONTSERRAT_22 [#lv_font_montserrat_22]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_22 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_24" file="lv_conf_internal.h" line="1937" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1937">
  LV_FONT_MONTSERRAT_24 [#lv_font_montserrat_24]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_24 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_26" file="lv_conf_internal.h" line="1944" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1944">
  LV_FONT_MONTSERRAT_26 [#lv_font_montserrat_26]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_26 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_28" file="lv_conf_internal.h" line="1951" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1951">
  LV_FONT_MONTSERRAT_28 [#lv_font_montserrat_28]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_28 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_30" file="lv_conf_internal.h" line="1958" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1958">
  LV_FONT_MONTSERRAT_30 [#lv_font_montserrat_30]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_30 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_32" file="lv_conf_internal.h" line="1965" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1965">
  LV_FONT_MONTSERRAT_32 [#lv_font_montserrat_32]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_32 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_34" file="lv_conf_internal.h" line="1972" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1972">
  LV_FONT_MONTSERRAT_34 [#lv_font_montserrat_34]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_34 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_36" file="lv_conf_internal.h" line="1979" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1979">
  LV_FONT_MONTSERRAT_36 [#lv_font_montserrat_36]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_36 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_38" file="lv_conf_internal.h" line="1986" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1986">
  LV_FONT_MONTSERRAT_38 [#lv_font_montserrat_38]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_38 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_40" file="lv_conf_internal.h" line="1993" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L1993">
  LV_FONT_MONTSERRAT_40 [#lv_font_montserrat_40]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_40 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_42" file="lv_conf_internal.h" line="2000" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2000">
  LV_FONT_MONTSERRAT_42 [#lv_font_montserrat_42]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_42 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_44" file="lv_conf_internal.h" line="2007" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2007">
  LV_FONT_MONTSERRAT_44 [#lv_font_montserrat_44]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_44 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_46" file="lv_conf_internal.h" line="2014" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2014">
  LV_FONT_MONTSERRAT_46 [#lv_font_montserrat_46]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_46 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_48" file="lv_conf_internal.h" line="2021" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2021">
  LV_FONT_MONTSERRAT_48 [#lv_font_montserrat_48]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_48 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MONTSERRAT_28_COMPRESSED" file="lv_conf_internal.h" line="2030" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2030">
  LV_FONT_MONTSERRAT_28_COMPRESSED [#lv_font_montserrat_28_compressed]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MONTSERRAT_28_COMPRESSED 0
  ```

  bpp = 3
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_DEJAVU_16_PERSIAN_HEBREW" file="lv_conf_internal.h" line="2037" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2037">
  LV_FONT_DEJAVU_16_PERSIAN_HEBREW [#lv_font_dejavu_16_persian_hebrew]

  ```c title=" " lineNumbers=1
  #define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0
  ```

  Hebrew, Arabic, Persian letters and all their forms
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_SOURCE_HAN_SANS_SC_14_CJK" file="lv_conf_internal.h" line="2044" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2044">
  LV_FONT_SOURCE_HAN_SANS_SC_14_CJK [#lv_font_source_han_sans_sc_14_cjk]

  ```c title=" " lineNumbers=1
  #define LV_FONT_SOURCE_HAN_SANS_SC_14_CJK 0
  ```

  1338 most common CJK radicals
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_SOURCE_HAN_SANS_SC_16_CJK" file="lv_conf_internal.h" line="2051" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2051">
  LV_FONT_SOURCE_HAN_SANS_SC_16_CJK [#lv_font_source_han_sans_sc_16_cjk]

  ```c title=" " lineNumbers=1
  #define LV_FONT_SOURCE_HAN_SANS_SC_16_CJK 0
  ```

  1338 most common CJK radicals
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_UNSCII_8" file="lv_conf_internal.h" line="2060" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2060">
  LV_FONT_UNSCII_8 [#lv_font_unscii_8]

  ```c title=" " lineNumbers=1
  #define LV_FONT_UNSCII_8 0
  ```

  Pixel perfect monospaced fonts
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_UNSCII_16" file="lv_conf_internal.h" line="2067" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2067">
  LV_FONT_UNSCII_16 [#lv_font_unscii_16]

  ```c title=" " lineNumbers=1
  #define LV_FONT_UNSCII_16 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_CUSTOM_DECLARE" file="lv_conf_internal.h" line="2084" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2084">
  LV_FONT_CUSTOM_DECLARE [#lv_font_custom_declare]

  ```c title=" " lineNumbers=1
  #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:

  ```c title=" " lineNumbers=1
  #define LV_FONT_CUSTOM_DECLARE   LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_DEFAULT" file="lv_conf_internal.h" line="2093" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2093">
  LV_FONT_DEFAULT [#lv_font_default]

  ```c title=" " lineNumbers=1
  #define LV_FONT_DEFAULT &lv_font_montserrat_14
  ```

  Always set a default font
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_FMT_TXT_LARGE" file="lv_conf_internal.h" line="2104" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2104">
  LV_FONT_FMT_TXT_LARGE [#lv_font_fmt_txt_large]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_TXT_ENC" file="lv_conf_internal.h" line="2144" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2144">
  LV_TXT_ENC [#lv_txt_enc]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_TXT_BREAK_CHARS" file="lv_conf_internal.h" line="2153" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2153">
  LV_TXT_BREAK_CHARS [#lv_txt_break_chars]

  ```c title=" " lineNumbers=1
  #define LV_TXT_BREAK_CHARS " ,.;:-_)]}"
  ```

  While rendering text strings, break (wrap) text on these chars.
</ApiMember>

<ApiMember kind="macro" name="LV_TXT_LINE_BREAK_LONG_LEN" file="lv_conf_internal.h" line="2163" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2163">
  LV_TXT_LINE_BREAK_LONG_LEN [#lv_txt_line_break_long_len]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN" file="lv_conf_internal.h" line="2173" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2173">
  LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN [#lv_txt_line_break_long_pre_min_len]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN" file="lv_conf_internal.h" line="2183" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2183">
  LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN [#lv_txt_line_break_long_post_min_len]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_BIDI_BASE_DIR_DEF" file="lv_conf_internal.h" line="2206" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2206">
  LV_BIDI_BASE_DIR_DEF [#lv_bidi_base_dir_def]

  ```c title=" " lineNumbers=1
  #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](https://www.w3.org/International/articles/inline-bidi-markup/uba-basics)
</ApiMember>

<ApiMember kind="macro" name="LV_TXT_COLOR_CMD" file="lv_conf_internal.h" line="2226" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2226">
  LV_TXT_COLOR_CMD [#lv_txt_color_cmd]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_WIDGETS_HAS_DEFAULT_VALUE" file="lv_conf_internal.h" line="2251" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2251">
  LV_WIDGETS_HAS_DEFAULT_VALUE [#lv_widgets_has_default_value]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_CALENDAR_WEEK_STARTS_MONDAY" file="lv_conf_internal.h" line="2343" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2343">
  LV_CALENDAR_WEEK_STARTS_MONDAY [#lv_calendar_week_starts_monday]

  ```c title=" " lineNumbers=1
  #define LV_CALENDAR_WEEK_STARTS_MONDAY 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_CALENDAR_DEFAULT_DAY_NAMES" file="lv_conf_internal.h" line="2359" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2359">
  LV_CALENDAR_DEFAULT_DAY_NAMES [#lv_calendar_default_day_names]

  ```c title=" " lineNumbers=1
  #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_CALENDAR_DEFAULT_MONTH_NAMES" file="lv_conf_internal.h" line="2368" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2368">
  LV_CALENDAR_DEFAULT_MONTH_NAMES [#lv_calendar_default_month_names]

  ```c title=" " lineNumbers=1
  #define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March",  "April", "May",  "June", "July", "August", "September", "October", "November", "December"}
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_LABEL_TEXT_SELECTION" file="lv_conf_internal.h" line="2506" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2506">
  LV_LABEL_TEXT_SELECTION [#lv_label_text_selection]

  ```c title=" " lineNumbers=1
  #define LV_LABEL_TEXT_SELECTION 1
  ```

  Enable selecting text of the label
</ApiMember>

<ApiMember kind="macro" name="LV_LABEL_LONG_TXT_HINT" file="lv_conf_internal.h" line="2517" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2517">
  LV_LABEL_LONG_TXT_HINT [#lv_label_long_txt_hint]

  ```c title=" " lineNumbers=1
  #define LV_LABEL_LONG_TXT_HINT 1
  ```

  Store some extra info in labels to speed up drawing of very long text
</ApiMember>

<ApiMember kind="macro" name="LV_LABEL_WAIT_CHAR_COUNT" file="lv_conf_internal.h" line="2524" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2524">
  LV_LABEL_WAIT_CHAR_COUNT [#lv_label_wait_char_count]

  ```c title=" " lineNumbers=1
  #define LV_LABEL_WAIT_CHAR_COUNT 3
  ```

  The count of wait chart
</ApiMember>

<ApiMember kind="macro" name="LV_SPAN_SNIPPET_STACK_SIZE" file="lv_conf_internal.h" line="2650" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2650">
  LV_SPAN_SNIPPET_STACK_SIZE [#lv_span_snippet_stack_size]

  ```c title=" " lineNumbers=1
  #define LV_SPAN_SNIPPET_STACK_SIZE 64
  ```

  A line of text can contain this maximum number of span descriptors.
</ApiMember>

<ApiMember kind="macro" name="LV_TEXTAREA_DEF_PWD_SHOW_TIME" file="lv_conf_internal.h" line="2731" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2731">
  LV_TEXTAREA_DEF_PWD_SHOW_TIME [#lv_textarea_def_pwd_show_time]

  ```c title=" " lineNumbers=1
  #define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500
  ```

  \[ms]
</ApiMember>

<ApiMember kind="macro" name="LV_THEME_DEFAULT_DARK" file="lv_conf_internal.h" line="2791" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2791">
  LV_THEME_DEFAULT_DARK [#lv_theme_default_dark]

  ```c title=" " lineNumbers=1
  #define LV_THEME_DEFAULT_DARK 0
  ```

  A simple, impressive and very complete theme 0: Light mode; 1: Dark mode
</ApiMember>

<ApiMember kind="macro" name="LV_THEME_DEFAULT_GROW" file="lv_conf_internal.h" line="2804" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2804">
  LV_THEME_DEFAULT_GROW [#lv_theme_default_grow]

  ```c title=" " lineNumbers=1
  #define LV_THEME_DEFAULT_GROW 1
  ```

  1: Enable grow on press
</ApiMember>

<ApiMember kind="macro" name="LV_THEME_DEFAULT_TRANSITION_TIME" file="lv_conf_internal.h" line="2813" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2813">
  LV_THEME_DEFAULT_TRANSITION_TIME [#lv_theme_default_transition_time]

  ```c title=" " lineNumbers=1
  #define LV_THEME_DEFAULT_TRANSITION_TIME 80
  ```

  Default transition time in ms.
</ApiMember>

<ApiMember kind="macro" name="LV_FS_DEFAULT_DRIVER_LETTER" file="lv_conf_internal.h" line="2889" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2889">
  LV_FS_DEFAULT_DRIVER_LETTER [#lv_fs_default_driver_letter]

  ```c title=" " lineNumbers=1
  #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](https://docs.lvgl.io/master/main-modules/fs.html#lv-fs-identifier-letters) .
</ApiMember>

<ApiMember kind="macro" name="LV_FS_STDIO_LETTER" file="lv_conf_internal.h" line="2906" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2906">
  LV_FS_STDIO_LETTER [#lv_fs_stdio_letter]

  ```c title=" " lineNumbers=1
  #define LV_FS_STDIO_LETTER '\0'
  ```

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

<ApiMember kind="macro" name="LV_FS_STDIO_PATH" file="lv_conf_internal.h" line="2913" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2913">
  LV_FS_STDIO_PATH [#lv_fs_stdio_path]

  ```c title=" " lineNumbers=1
  #define LV_FS_STDIO_PATH ""
  ```

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

<ApiMember kind="macro" name="LV_FS_STDIO_CACHE_SIZE" file="lv_conf_internal.h" line="2920" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2920">
  LV_FS_STDIO_CACHE_SIZE [#lv_fs_stdio_cache_size]

  ```c title=" " lineNumbers=1
  #define LV_FS_STDIO_CACHE_SIZE 0
  ```

  \>0 to cache this number of bytes in <ApiLink name="lv_fs_read" display="lv_fs_read()" />
</ApiMember>

<ApiMember kind="macro" name="LV_FS_POSIX_LETTER" file="lv_conf_internal.h" line="2938" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2938">
  LV_FS_POSIX_LETTER [#lv_fs_posix_letter]

  ```c title=" " lineNumbers=1
  #define LV_FS_POSIX_LETTER '\0'
  ```

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

<ApiMember kind="macro" name="LV_FS_POSIX_PATH" file="lv_conf_internal.h" line="2945" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2945">
  LV_FS_POSIX_PATH [#lv_fs_posix_path]

  ```c title=" " lineNumbers=1
  #define LV_FS_POSIX_PATH ""
  ```

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

<ApiMember kind="macro" name="LV_FS_POSIX_CACHE_SIZE" file="lv_conf_internal.h" line="2952" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2952">
  LV_FS_POSIX_CACHE_SIZE [#lv_fs_posix_cache_size]

  ```c title=" " lineNumbers=1
  #define LV_FS_POSIX_CACHE_SIZE 0
  ```

  \>0 to cache this number of bytes in <ApiLink name="lv_fs_read" display="lv_fs_read()" />
</ApiMember>

<ApiMember kind="macro" name="LV_FS_WIN32_LETTER" file="lv_conf_internal.h" line="2970" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2970">
  LV_FS_WIN32_LETTER [#lv_fs_win32_letter]

  ```c title=" " lineNumbers=1
  #define LV_FS_WIN32_LETTER '\0'
  ```

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

<ApiMember kind="macro" name="LV_FS_WIN32_PATH" file="lv_conf_internal.h" line="2977" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2977">
  LV_FS_WIN32_PATH [#lv_fs_win32_path]

  ```c title=" " lineNumbers=1
  #define LV_FS_WIN32_PATH ""
  ```

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

<ApiMember kind="macro" name="LV_FS_WIN32_CACHE_SIZE" file="lv_conf_internal.h" line="2984" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L2984">
  LV_FS_WIN32_CACHE_SIZE [#lv_fs_win32_cache_size]

  ```c title=" " lineNumbers=1
  #define LV_FS_WIN32_CACHE_SIZE 0
  ```

  \>0 to cache this number of bytes in <ApiLink name="lv_fs_read" display="lv_fs_read()" />
</ApiMember>

<ApiMember kind="macro" name="LV_FS_FATFS_LETTER" file="lv_conf_internal.h" line="3002" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3002">
  LV_FS_FATFS_LETTER [#lv_fs_fatfs_letter]

  ```c title=" " lineNumbers=1
  #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').
</ApiMember>

<ApiMember kind="macro" name="LV_FS_FATFS_PATH" file="lv_conf_internal.h" line="3009" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3009">
  LV_FS_FATFS_PATH [#lv_fs_fatfs_path]

  ```c title=" " lineNumbers=1
  #define LV_FS_FATFS_PATH ""
  ```

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

<ApiMember kind="macro" name="LV_FS_FATFS_CACHE_SIZE" file="lv_conf_internal.h" line="3016" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3016">
  LV_FS_FATFS_CACHE_SIZE [#lv_fs_fatfs_cache_size]

  ```c title=" " lineNumbers=1
  #define LV_FS_FATFS_CACHE_SIZE 0
  ```

  \>0 to cache this number of bytes in <ApiLink name="lv_fs_read" display="lv_fs_read()" />
</ApiMember>

<ApiMember kind="macro" name="LV_FS_MEMFS_LETTER" file="lv_conf_internal.h" line="3034" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3034">
  LV_FS_MEMFS_LETTER [#lv_fs_memfs_letter]

  ```c title=" " lineNumbers=1
  #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').
</ApiMember>

<ApiMember kind="macro" name="LV_FS_LITTLEFS_LETTER" file="lv_conf_internal.h" line="3052" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3052">
  LV_FS_LITTLEFS_LETTER [#lv_fs_littlefs_letter]

  ```c title=" " lineNumbers=1
  #define LV_FS_LITTLEFS_LETTER '\0'
  ```

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

<ApiMember kind="macro" name="LV_FS_LITTLEFS_PATH" file="lv_conf_internal.h" line="3059" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3059">
  LV_FS_LITTLEFS_PATH [#lv_fs_littlefs_path]

  ```c title=" " lineNumbers=1
  #define LV_FS_LITTLEFS_PATH ""
  ```

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

<ApiMember kind="macro" name="LV_FS_ARDUINO_ESP_LITTLEFS_LETTER" file="lv_conf_internal.h" line="3077" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3077">
  LV_FS_ARDUINO_ESP_LITTLEFS_LETTER [#lv_fs_arduino_esp_littlefs_letter]

  ```c title=" " lineNumbers=1
  #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').
</ApiMember>

<ApiMember kind="macro" name="LV_FS_ARDUINO_ESP_LITTLEFS_PATH" file="lv_conf_internal.h" line="3084" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3084">
  LV_FS_ARDUINO_ESP_LITTLEFS_PATH [#lv_fs_arduino_esp_littlefs_path]

  ```c title=" " lineNumbers=1
  #define LV_FS_ARDUINO_ESP_LITTLEFS_PATH ""
  ```

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

<ApiMember kind="macro" name="LV_FS_ARDUINO_SD_LETTER" file="lv_conf_internal.h" line="3102" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3102">
  LV_FS_ARDUINO_SD_LETTER [#lv_fs_arduino_sd_letter]

  ```c title=" " lineNumbers=1
  #define LV_FS_ARDUINO_SD_LETTER '\0'
  ```

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

<ApiMember kind="macro" name="LV_FS_ARDUINO_SD_PATH" file="lv_conf_internal.h" line="3109" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3109">
  LV_FS_ARDUINO_SD_PATH [#lv_fs_arduino_sd_path]

  ```c title=" " lineNumbers=1
  #define LV_FS_ARDUINO_SD_PATH ""
  ```

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

<ApiMember kind="macro" name="LV_FS_UEFI_LETTER" file="lv_conf_internal.h" line="3127" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3127">
  LV_FS_UEFI_LETTER [#lv_fs_uefi_letter]

  ```c title=" " lineNumbers=1
  #define LV_FS_UEFI_LETTER '\0'
  ```

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

<ApiMember kind="macro" name="LV_FS_FROGFS_LETTER" file="lv_conf_internal.h" line="3144" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3144">
  LV_FS_FROGFS_LETTER [#lv_fs_frogfs_letter]

  ```c title=" " lineNumbers=1
  #define LV_FS_FROGFS_LETTER '\0'
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_GIF_CACHE_DECODE_DATA" file="lv_conf_internal.h" line="3219" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3219">
  LV_GIF_CACHE_DECODE_DATA [#lv_gif_cache_decode_data]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_BIN_DECODER_RAM_LOAD" file="lv_conf_internal.h" line="3238" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3238">
  LV_BIN_DECODER_RAM_LOAD [#lv_bin_decoder_ram_load]

  ```c title=" " lineNumbers=1
  #define LV_BIN_DECODER_RAM_LOAD 0
  ```

  GStreamer library Decode bin images to RAM
</ApiMember>

<ApiMember kind="macro" name="LV_FREETYPE_USE_LVGL_PORT" file="lv_conf_internal.h" line="3283" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3283">
  LV_FREETYPE_USE_LVGL_PORT [#lv_freetype_use_lvgl_port]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_FREETYPE_CACHE_FT_GLYPH_CNT" file="lv_conf_internal.h" line="3293" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3293">
  LV_FREETYPE_CACHE_FT_GLYPH_CNT [#lv_freetype_cache_ft_glyph_cnt]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_FREETYPE_CACHE_FT_GLYPH_L1" file="lv_conf_internal.h" line="3310" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3310">
  LV_FREETYPE_CACHE_FT_GLYPH_L1 [#lv_freetype_cache_ft_glyph_l1]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_TINY_TTF_FILE_SUPPORT" file="lv_conf_internal.h" line="3329" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3329">
  LV_TINY_TTF_FILE_SUPPORT [#lv_tiny_ttf_file_support]

  ```c title=" " lineNumbers=1
  #define LV_TINY_TTF_FILE_SUPPORT 0
  ```

  Built-in TTF decoder
</ApiMember>

<ApiMember kind="macro" name="LV_TINY_TTF_CACHE_GLYPH_CNT" file="lv_conf_internal.h" line="3336" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3336">
  LV_TINY_TTF_CACHE_GLYPH_CNT [#lv_tiny_ttf_cache_glyph_cnt]

  ```c title=" " lineNumbers=1
  #define LV_TINY_TTF_CACHE_GLYPH_CNT 128
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_TINY_TTF_CACHE_KERNING_CNT" file="lv_conf_internal.h" line="3343" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3343">
  LV_TINY_TTF_CACHE_KERNING_CNT [#lv_tiny_ttf_cache_kerning_cnt]

  ```c title=" " lineNumbers=1
  #define LV_TINY_TTF_CACHE_KERNING_CNT 256
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FFMPEG_DUMP_FORMAT" file="lv_conf_internal.h" line="3464" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3464">
  LV_FFMPEG_DUMP_FORMAT [#lv_ffmpeg_dump_format]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_FFMPEG_PLAYER_USE_LV_FS" file="lv_conf_internal.h" line="3474" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3474">
  LV_FFMPEG_PLAYER_USE_LV_FS [#lv_ffmpeg_player_use_lv_fs]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_SYSMON_GET_IDLE" file="lv_conf_internal.h" line="3507" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3507">
  LV_SYSMON_GET_IDLE [#lv_sysmon_get_idle]

  ```c title=" " lineNumbers=1
  #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);
</ApiMember>

<ApiMember kind="macro" name="LV_SYSMON_PROC_IDLE_AVAILABLE" file="lv_conf_internal.h" line="3515" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3515">
  LV_SYSMON_PROC_IDLE_AVAILABLE [#lv_sysmon_proc_idle_available]

  ```c title=" " lineNumbers=1
  #define LV_SYSMON_PROC_IDLE_AVAILABLE 0
  ```

  1: Enable usage of lv\_os\_get\_proc\_idle\_percent.
</ApiMember>

<ApiMember kind="macro" name="LV_USE_PERF_MONITOR_POS" file="lv_conf_internal.h" line="3544" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3544">
  LV_USE_PERF_MONITOR_POS [#lv_use_perf_monitor_pos]

  ```c title=" " lineNumbers=1
  #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
  ```

  1: Show CPU usage and FPS count.

  * Requires `LV_USE_SYSMON = 1`
</ApiMember>

<ApiMember kind="macro" name="LV_USE_PERF_MONITOR_LOG_MODE" file="lv_conf_internal.h" line="3553" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3553">
  LV_USE_PERF_MONITOR_LOG_MODE [#lv_use_perf_monitor_log_mode]

  ```c title=" " lineNumbers=1
  #define LV_USE_PERF_MONITOR_LOG_MODE 0
  ```

  0: Displays performance data on the screen; 1: Prints performance data using log.
</ApiMember>

<ApiMember kind="macro" name="LV_USE_MEM_MONITOR_POS" file="lv_conf_internal.h" line="3573" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3573">
  LV_USE_MEM_MONITOR_POS [#lv_use_mem_monitor_pos]

  ```c title=" " lineNumbers=1
  #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`
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_BUILTIN_BUF_SIZE" file="lv_conf_internal.h" line="3606" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3606">
  LV_PROFILER_BUILTIN_BUF_SIZE [#lv_profiler_builtin_buf_size]

  ```c title=" " lineNumbers=1
  #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]
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_BUILTIN_DEFAULT_ENABLE" file="lv_conf_internal.h" line="3617" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3617">
  LV_PROFILER_BUILTIN_DEFAULT_ENABLE [#lv_profiler_builtin_default_enable]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_BUILTIN_DEFAULT_ENABLE 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_INCLUDE" file="lv_conf_internal.h" line="3634" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3634">
  LV_PROFILER_INCLUDE [#lv_profiler_include]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_INCLUDE "lvgl/src/misc/lv_profiler_builtin.h"
  ```

  Header to include for profiler
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_BEGIN" file="lv_conf_internal.h" line="3643" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3643">
  LV_PROFILER_BEGIN [#lv_profiler_begin]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_BEGIN LV_PROFILER_BUILTIN_BEGIN
  ```

  Profiler start point function
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_END" file="lv_conf_internal.h" line="3652" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3652">
  LV_PROFILER_END [#lv_profiler_end]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_END LV_PROFILER_BUILTIN_END
  ```

  Profiler end point function
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_BEGIN_TAG" file="lv_conf_internal.h" line="3661" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3661">
  LV_PROFILER_BEGIN_TAG [#lv_profiler_begin_tag]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_BEGIN_TAG LV_PROFILER_BUILTIN_BEGIN_TAG
  ```

  Profiler start point function with custom tag
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_END_TAG" file="lv_conf_internal.h" line="3670" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3670">
  LV_PROFILER_END_TAG [#lv_profiler_end_tag]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_END_TAG LV_PROFILER_BUILTIN_END_TAG
  ```

  Profiler end point function with custom tag
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_LAYOUT" file="lv_conf_internal.h" line="3683" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3683">
  LV_PROFILER_LAYOUT [#lv_profiler_layout]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_LAYOUT 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_REFR" file="lv_conf_internal.h" line="3696" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3696">
  LV_PROFILER_REFR [#lv_profiler_refr]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_REFR 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_DRAW" file="lv_conf_internal.h" line="3709" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3709">
  LV_PROFILER_DRAW [#lv_profiler_draw]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_DRAW 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_INDEV" file="lv_conf_internal.h" line="3722" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3722">
  LV_PROFILER_INDEV [#lv_profiler_indev]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_INDEV 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_DECODER" file="lv_conf_internal.h" line="3735" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3735">
  LV_PROFILER_DECODER [#lv_profiler_decoder]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_DECODER 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_FONT" file="lv_conf_internal.h" line="3748" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3748">
  LV_PROFILER_FONT [#lv_profiler_font]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_FONT 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_FS" file="lv_conf_internal.h" line="3761" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3761">
  LV_PROFILER_FS [#lv_profiler_fs]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_FS 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_STYLE" file="lv_conf_internal.h" line="3770" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3770">
  LV_PROFILER_STYLE [#lv_profiler_style]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_STYLE 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_TIMER" file="lv_conf_internal.h" line="3783" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3783">
  LV_PROFILER_TIMER [#lv_profiler_timer]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_TIMER 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_CACHE" file="lv_conf_internal.h" line="3796" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3796">
  LV_PROFILER_CACHE [#lv_profiler_cache]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_CACHE 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_PROFILER_EVENT" file="lv_conf_internal.h" line="3809" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3809">
  LV_PROFILER_EVENT [#lv_profiler_event]

  ```c title=" " lineNumbers=1
  #define LV_PROFILER_EVENT 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_IME_PINYIN_USE_DEFAULT_DICT" file="lv_conf_internal.h" line="3883" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3883">
  LV_IME_PINYIN_USE_DEFAULT_DICT [#lv_ime_pinyin_use_default_dict]

  ```c title=" " lineNumbers=1
  #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.

  <Callout type="info">
    If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesaurus.
  </Callout>
</ApiMember>

<ApiMember kind="macro" name="LV_IME_PINYIN_CAND_TEXT_NUM" file="lv_conf_internal.h" line="3892" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3892">
  LV_IME_PINYIN_CAND_TEXT_NUM [#lv_ime_pinyin_cand_text_num]

  ```c title=" " lineNumbers=1
  #define LV_IME_PINYIN_CAND_TEXT_NUM 6
  ```

  Set maximum number of candidate panels that can be displayed.

  <Callout type="info">
    This needs to be adjusted according to size of screen.
  </Callout>
</ApiMember>

<ApiMember kind="macro" name="LV_IME_PINYIN_USE_K9_MODE" file="lv_conf_internal.h" line="3905" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3905">
  LV_IME_PINYIN_USE_K9_MODE [#lv_ime_pinyin_use_k9_mode]

  ```c title=" " lineNumbers=1
  #define LV_IME_PINYIN_USE_K9_MODE 1
  ```

  Use 9-key input (k9).
</ApiMember>

<ApiMember kind="macro" name="LV_IME_PINYIN_K9_CAND_TEXT_NUM" file="lv_conf_internal.h" line="3913" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3913">
  LV_IME_PINYIN_K9_CAND_TEXT_NUM [#lv_ime_pinyin_k9_cand_text_num]

  ```c title=" " lineNumbers=1
  #define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FILE_EXPLORER_PATH_MAX_LEN" file="lv_conf_internal.h" line="3934" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3934">
  LV_FILE_EXPLORER_PATH_MAX_LEN [#lv_file_explorer_path_max_len]

  ```c title=" " lineNumbers=1
  #define LV_FILE_EXPLORER_PATH_MAX_LEN (128)
  ```

  1: Enable file explorer.

  * Requires: lv\_table Maximum length of path
</ApiMember>

<ApiMember kind="macro" name="LV_FILE_EXPLORER_QUICK_ACCESS" file="lv_conf_internal.h" line="3947" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3947">
  LV_FILE_EXPLORER_QUICK_ACCESS [#lv_file_explorer_quick_access]

  ```c title=" " lineNumbers=1
  #define LV_FILE_EXPLORER_QUICK_ACCESS 1
  ```

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

  * Requires: lv\_list
</ApiMember>

<ApiMember kind="macro" name="LV_FONT_MANAGER_NAME_MAX_LEN" file="lv_conf_internal.h" line="3967" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L3967">
  LV_FONT_MANAGER_NAME_MAX_LEN [#lv_font_manager_name_max_len]

  ```c title=" " lineNumbers=1
  #define LV_FONT_MANAGER_NAME_MAX_LEN 32
  ```

  1: Enable Font manager Font manager name max length
</ApiMember>

<ApiMember kind="macro" name="LV_TEST_SCREENSHOT_CREATE_REFERENCE_IMAGE" file="lv_conf_internal.h" line="4003" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4003">
  LV_TEST_SCREENSHOT_CREATE_REFERENCE_IMAGE [#lv_test_screenshot_create_reference_image]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_SDL_INCLUDE_PATH" file="lv_conf_internal.h" line="4045" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4045">
  LV_SDL_INCLUDE_PATH [#lv_sdl_include_path]

  ```c title=" " lineNumbers=1
  #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.
</ApiMember>

<ApiMember kind="macro" name="LV_SDL_RENDER_MODE" file="lv_conf_internal.h" line="4052" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4052">
  LV_SDL_RENDER_MODE [#lv_sdl_render_mode]

  ```c title=" " lineNumbers=1
  #define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT
  ```

  LV\_DISPLAY\_RENDER\_MODE\_DIRECT is recommended for best performance
</ApiMember>

<ApiMember kind="macro" name="LV_SDL_BUF_COUNT" file="lv_conf_internal.h" line="4063" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4063">
  LV_SDL_BUF_COUNT [#lv_sdl_buf_count]

  ```c title=" " lineNumbers=1
  #define LV_SDL_BUF_COUNT 1
  ```

  1 or 2
</ApiMember>

<ApiMember kind="macro" name="LV_SDL_ACCELERATED" file="lv_conf_internal.h" line="4074" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4074">
  LV_SDL_ACCELERATED [#lv_sdl_accelerated]

  ```c title=" " lineNumbers=1
  #define LV_SDL_ACCELERATED 1
  ```

  1: Use hardware acceleration
</ApiMember>

<ApiMember kind="macro" name="LV_SDL_FULLSCREEN" file="lv_conf_internal.h" line="4081" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4081">
  LV_SDL_FULLSCREEN [#lv_sdl_fullscreen]

  ```c title=" " lineNumbers=1
  #define LV_SDL_FULLSCREEN 0
  ```

  1: Make the window full screen by default
</ApiMember>

<ApiMember kind="macro" name="LV_SDL_DIRECT_EXIT" file="lv_conf_internal.h" line="4092" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4092">
  LV_SDL_DIRECT_EXIT [#lv_sdl_direct_exit]

  ```c title=" " lineNumbers=1
  #define LV_SDL_DIRECT_EXIT 1
  ```

  1: Exit the application when all SDL windows are closed
</ApiMember>

<ApiMember kind="macro" name="LV_SDL_MOUSEWHEEL_MODE" file="lv_conf_internal.h" line="4099" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4099">
  LV_SDL_MOUSEWHEEL_MODE [#lv_sdl_mousewheel_mode]

  ```c title=" " lineNumbers=1
  #define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER  /*LV_SDL_MOUSEWHEEL_MODE_ENCODER/CROWN*/
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_X11_DIRECT_EXIT" file="lv_conf_internal.h" line="4121" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4121">
  LV_X11_DIRECT_EXIT [#lv_x11_direct_exit]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_X11_DOUBLE_BUFFER" file="lv_conf_internal.h" line="4132" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4132">
  LV_X11_DOUBLE_BUFFER [#lv_x11_double_buffer]

  ```c title=" " lineNumbers=1
  #define LV_X11_DOUBLE_BUFFER 1
  ```

  Use double buffers for rendering
</ApiMember>

<ApiMember kind="macro" name="LV_X11_RENDER_MODE_PARTIAL" file="lv_conf_internal.h" line="4144" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4144">
  LV_X11_RENDER_MODE_PARTIAL [#lv_x11_render_mode_partial]

  ```c title=" " lineNumbers=1
  #define LV_X11_RENDER_MODE_PARTIAL 1
  ```

  Partial render mode (preferred)
</ApiMember>

<ApiMember kind="macro" name="LV_X11_RENDER_MODE_DIRECT" file="lv_conf_internal.h" line="4151" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4151">
  LV_X11_RENDER_MODE_DIRECT [#lv_x11_render_mode_direct]

  ```c title=" " lineNumbers=1
  #define LV_X11_RENDER_MODE_DIRECT 0
  ```

  Direct render mode
</ApiMember>

<ApiMember kind="macro" name="LV_X11_RENDER_MODE_FULL" file="lv_conf_internal.h" line="4158" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4158">
  LV_X11_RENDER_MODE_FULL [#lv_x11_render_mode_full]

  ```c title=" " lineNumbers=1
  #define LV_X11_RENDER_MODE_FULL 0
  ```

  Full render mode
</ApiMember>

<ApiMember kind="macro" name="LV_WAYLAND_DIRECT_EXIT" file="lv_conf_internal.h" line="4180" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4180">
  LV_WAYLAND_DIRECT_EXIT [#lv_wayland_direct_exit]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_LINUX_FBDEV_BSD" file="lv_conf_internal.h" line="4198" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4198">
  LV_LINUX_FBDEV_BSD [#lv_linux_fbdev_bsd]

  ```c title=" " lineNumbers=1
  #define LV_LINUX_FBDEV_BSD 0
  ```

  Driver for /dev/fb
</ApiMember>

<ApiMember kind="macro" name="LV_LINUX_FBDEV_RENDER_MODE" file="lv_conf_internal.h" line="4205" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4205">
  LV_LINUX_FBDEV_RENDER_MODE [#lv_linux_fbdev_render_mode]

  ```c title=" " lineNumbers=1
  #define LV_LINUX_FBDEV_RENDER_MODE LV_DISPLAY_RENDER_MODE_PARTIAL
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_LINUX_FBDEV_BUFFER_COUNT" file="lv_conf_internal.h" line="4212" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4212">
  LV_LINUX_FBDEV_BUFFER_COUNT [#lv_linux_fbdev_buffer_count]

  ```c title=" " lineNumbers=1
  #define LV_LINUX_FBDEV_BUFFER_COUNT 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_LINUX_FBDEV_BUFFER_SIZE" file="lv_conf_internal.h" line="4219" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4219">
  LV_LINUX_FBDEV_BUFFER_SIZE [#lv_linux_fbdev_buffer_size]

  ```c title=" " lineNumbers=1
  #define LV_LINUX_FBDEV_BUFFER_SIZE 60
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_LINUX_FBDEV_MMAP" file="lv_conf_internal.h" line="4230" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4230">
  LV_LINUX_FBDEV_MMAP [#lv_linux_fbdev_mmap]

  ```c title=" " lineNumbers=1
  #define LV_LINUX_FBDEV_MMAP 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP" file="lv_conf_internal.h" line="4249" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4249">
  LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP [#lv_use_nuttx_independent_image_heap]

  ```c title=" " lineNumbers=1
  #define LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP 0
  ```

  Use Nuttx to open window and handle touchscreen
</ApiMember>

<ApiMember kind="macro" name="LV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAP" file="lv_conf_internal.h" line="4258" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4258">
  LV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAP [#lv_nuttx_default_draw_buf_use_independent_image_heap]

  ```c title=" " lineNumbers=1
  #define LV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAP 0
  ```

  Use independent image heap for default draw buffer
</ApiMember>

<ApiMember kind="macro" name="LV_NUTTX_LCD_BUFFER_COUNT" file="lv_conf_internal.h" line="4292" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4292">
  LV_NUTTX_LCD_BUFFER_COUNT [#lv_nuttx_lcd_buffer_count]

  ```c title=" " lineNumbers=1
  #define LV_NUTTX_LCD_BUFFER_COUNT 0
  ```

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

<ApiMember kind="macro" name="LV_NUTTX_LCD_BUFFER_SIZE" file="lv_conf_internal.h" line="4299" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4299">
  LV_NUTTX_LCD_BUFFER_SIZE [#lv_nuttx_lcd_buffer_size]

  ```c title=" " lineNumbers=1
  #define LV_NUTTX_LCD_BUFFER_SIZE 60
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_NUTTX_TOUCHSCREEN_CURSOR_SIZE" file="lv_conf_internal.h" line="4318" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4318">
  LV_NUTTX_TOUCHSCREEN_CURSOR_SIZE [#lv_nuttx_touchscreen_cursor_size]

  ```c title=" " lineNumbers=1
  #define LV_NUTTX_TOUCHSCREEN_CURSOR_SIZE 0
  ```

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

<ApiMember kind="macro" name="LV_USE_NUTTX_MOUSE_MOVE_STEP" file="lv_conf_internal.h" line="4340" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4340">
  LV_USE_NUTTX_MOUSE_MOVE_STEP [#lv_use_nuttx_mouse_move_step]

  ```c title=" " lineNumbers=1
  #define LV_USE_NUTTX_MOUSE_MOVE_STEP 1
  ```

  Driver for /dev/mouse Mouse movement step (pixels)
</ApiMember>

<ApiMember kind="macro" name="LV_USE_NUTTX_TRACE_FILE" file="lv_conf_internal.h" line="4349" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4349">
  LV_USE_NUTTX_TRACE_FILE [#lv_use_nuttx_trace_file]

  ```c title=" " lineNumbers=1
  #define LV_USE_NUTTX_TRACE_FILE 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_USE_LINUX_DRM_GBM_BUFFERS" file="lv_conf_internal.h" line="4383" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4383">
  LV_USE_LINUX_DRM_GBM_BUFFERS [#lv_use_linux_drm_gbm_buffers]

  ```c title=" " lineNumbers=1
  #define LV_USE_LINUX_DRM_GBM_BUFFERS 0
  ```

  Driver for /dev/dri/card
</ApiMember>

<ApiMember kind="macro" name="LV_LGFX_USER_INCLUDE" file="lv_conf_internal.h" line="4411" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4411">
  LV_LGFX_USER_INCLUDE [#lv_lgfx_user_include]

  ```c title=" " lineNumbers=1
  #define LV_LGFX_USER_INCLUDE "lv_lgfx_user.hpp"
  ```

  Interface for TFT\_eSPI Interface for Lovyan\_GFX
</ApiMember>

<ApiMember kind="macro" name="LV_LIBINPUT_BSD" file="lv_conf_internal.h" line="4440" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4440">
  LV_LIBINPUT_BSD [#lv_libinput_bsd]

  ```c title=" " lineNumbers=1
  #define LV_LIBINPUT_BSD 0
  ```

  Driver for evdev input devices Driver for libinput input devices
</ApiMember>

<ApiMember kind="macro" name="LV_LIBINPUT_XKB" file="lv_conf_internal.h" line="4449" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4449">
  LV_LIBINPUT_XKB [#lv_libinput_xkb]

  ```c title=" " lineNumbers=1
  #define LV_LIBINPUT_XKB 0
  ```

  Full keyboard support
</ApiMember>

<ApiMember kind="macro" name="LV_ST_LTDC_USE_DMA2D_FLUSH" file="lv_conf_internal.h" line="4553" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4553">
  LV_ST_LTDC_USE_DMA2D_FLUSH [#lv_st_ltdc_use_dma2d_flush]

  ```c title=" " lineNumbers=1
  #define LV_ST_LTDC_USE_DMA2D_FLUSH 0
  ```

  Driver for Renesas GLCD Driver for ST LTDC
</ApiMember>

<ApiMember kind="macro" name="LV_USE_UEFI_INCLUDE" file="lv_conf_internal.h" line="4589" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4589">
  LV_USE_UEFI_INCLUDE [#lv_use_uefi_include]

  ```c title=" " lineNumbers=1
  #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, ...)
</ApiMember>

<ApiMember kind="macro" name="LV_UEFI_USE_MEMORY_SERVICES" file="lv_conf_internal.h" line="4596" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4596">
  LV_UEFI_USE_MEMORY_SERVICES [#lv_uefi_use_memory_services]

  ```c title=" " lineNumbers=1
  #define LV_UEFI_USE_MEMORY_SERVICES 0
  ```

  Use the memory functions from the boot services table
</ApiMember>

<ApiMember kind="macro" name="LV_QNX_BUF_COUNT" file="lv_conf_internal.h" line="4652" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4652">
  LV_QNX_BUF_COUNT [#lv_qnx_buf_count]

  ```c title=" " lineNumbers=1
  #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
</ApiMember>

<ApiMember kind="macro" name="LV_BUILD_EXAMPLES" file="lv_conf_internal.h" line="4679" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4679">
  LV_BUILD_EXAMPLES [#lv_build_examples]

  ```c title=" " lineNumbers=1
  #define LV_BUILD_EXAMPLES 1
  ```

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

<ApiMember kind="macro" name="LV_BUILD_DEMOS" file="lv_conf_internal.h" line="4692" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4692">
  LV_BUILD_DEMOS [#lv_build_demos]

  ```c title=" " lineNumbers=1
  #define LV_BUILD_DEMOS 1
  ```

  Build the demos
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_WIDGETS" file="lv_conf_internal.h" line="4706" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4706">
  LV_USE_DEMO_WIDGETS [#lv_use_demo_widgets]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_WIDGETS 0
  ```

  Show some widgets. This might be required to increase `LV_MEM_SIZE`.
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_KEYPAD_AND_ENCODER" file="lv_conf_internal.h" line="4715" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4715">
  LV_USE_DEMO_KEYPAD_AND_ENCODER [#lv_use_demo_keypad_and_encoder]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_KEYPAD_AND_ENCODER 0
  ```

  Demonstrate usage of encoder and keyboard.
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_BENCHMARK" file="lv_conf_internal.h" line="4724" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4724">
  LV_USE_DEMO_BENCHMARK [#lv_use_demo_benchmark]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_BENCHMARK 0
  ```

  Benchmark your system
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_RENDER" file="lv_conf_internal.h" line="4745" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4745">
  LV_USE_DEMO_RENDER [#lv_use_demo_render]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_RENDER 0
  ```

  Render test for each primitive.

  * Requires at least 480x272 display.
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_STRESS" file="lv_conf_internal.h" line="4754" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4754">
  LV_USE_DEMO_STRESS [#lv_use_demo_stress]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_STRESS 0
  ```

  Stress test for LVGL
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_MUSIC" file="lv_conf_internal.h" line="4763" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4763">
  LV_USE_DEMO_MUSIC [#lv_use_demo_music]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_MUSIC 0
  ```

  Music player demo
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_VECTOR_GRAPHIC" file="lv_conf_internal.h" line="4809" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4809">
  LV_USE_DEMO_VECTOR_GRAPHIC [#lv_use_demo_vector_graphic]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_VECTOR_GRAPHIC 0
  ```

  Vector graphic demo
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_GLTF" file="lv_conf_internal.h" line="4818" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4818">
  LV_USE_DEMO_GLTF [#lv_use_demo_gltf]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_GLTF 0
  ```

  GLTF demo
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_FLEX_LAYOUT" file="lv_conf_internal.h" line="4831" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4831">
  LV_USE_DEMO_FLEX_LAYOUT [#lv_use_demo_flex_layout]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_FLEX_LAYOUT 0
  ```

  Flex layout demo
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_MULTILANG" file="lv_conf_internal.h" line="4840" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4840">
  LV_USE_DEMO_MULTILANG [#lv_use_demo_multilang]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_MULTILANG 0
  ```

  Smart-phone like multi-language demo
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_EBIKE" file="lv_conf_internal.h" line="4849" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4849">
  LV_USE_DEMO_EBIKE [#lv_use_demo_ebike]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_EBIKE 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_HIGH_RES" file="lv_conf_internal.h" line="4867" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4867">
  LV_USE_DEMO_HIGH_RES [#lv_use_demo_high_res]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_HIGH_RES 0
  ```

  High-resolution demo
</ApiMember>

<ApiMember kind="macro" name="LV_USE_DEMO_SMARTWATCH" file="lv_conf_internal.h" line="4876" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4876">
  LV_USE_DEMO_SMARTWATCH [#lv_use_demo_smartwatch]

  ```c title=" " lineNumbers=1
  #define LV_USE_DEMO_SMARTWATCH 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_USE_ANIMIMAGE" file="lv_conf_internal.h" line="4888" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4888">
  LV_USE_ANIMIMAGE [#lv_use_animimage]

  ```c title=" " lineNumbers=1
  #define LV_USE_ANIMIMAGE LV_USE_ANIMIMG
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_WAYLAND_USE_EGL" file="lv_conf_internal.h" line="4923" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4923">
  LV_WAYLAND_USE_EGL [#lv_wayland_use_egl]

  ```c title=" " lineNumbers=1
  #define LV_WAYLAND_USE_EGL 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_WAYLAND_USE_G2D" file="lv_conf_internal.h" line="4924" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4924">
  LV_WAYLAND_USE_G2D [#lv_wayland_use_g2d]

  ```c title=" " lineNumbers=1
  #define LV_WAYLAND_USE_G2D 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_WAYLAND_USE_SHM" file="lv_conf_internal.h" line="4925" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4925">
  LV_WAYLAND_USE_SHM [#lv_wayland_use_shm]

  ```c title=" " lineNumbers=1
  #define LV_WAYLAND_USE_SHM 0
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_LINUX_DRM_USE_EGL" file="lv_conf_internal.h" line="4943" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4943">
  LV_LINUX_DRM_USE_EGL [#lv_linux_drm_use_egl]

  ```c title=" " lineNumbers=1
  #define LV_LINUX_DRM_USE_EGL 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_SDL_USE_EGL" file="lv_conf_internal.h" line="4994" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L4994">
  LV_SDL_USE_EGL [#lv_sdl_use_egl]

  ```c title=" " lineNumbers=1
  #define LV_SDL_USE_EGL 1
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_FS_IS_VALID_LETTER" file="lv_conf_internal.h" line="5020" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/lv_conf_internal.h#L5020">
  LV_FS_IS_VALID_LETTER [#lv_fs_is_valid_letter]

  ```c title=" " lineNumbers=1
  #define LV_FS_IS_VALID_LETTER(l) \
      ((l) == '/' || ((l) >= 'A' && (l) <= 'Z'))
  ```
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_kconfig.h&#x22;, &#x22;lv_conf.h&#x22;]" includedBy="[&#x22;lv_global.h&#x22;, &#x22;lv_group.h&#x22;, &#x22;lv_obj.h&#x22;, &#x22;lv_monkey.h&#x22;, &#x22;lv_test.h&#x22;, &#x22;lv_test_display.h&#x22;, &#x22;lv_test_fs.h&#x22;, &#x22;lv_test_helpers.h&#x22;, &#x22;lv_test_indev.h&#x22;, &#x22;lv_test_indev_gesture.h&#x22;, &#x22;lv_test_private.h&#x22;, &#x22;lv_test_screenshot_compare.h&#x22;, &#x22;lv_draw_dma2d.h&#x22;, &#x22;lv_draw_ppa.h&#x22;, &#x22;lv_draw_ppa_private.h&#x22;, &#x22;lv_draw_eve.h&#x22;, &#x22;lv_draw_eve_target.h&#x22;, &#x22;lv_draw.h&#x22;, &#x22;lv_draw_3d.h&#x22;, &#x22;lv_draw_arc.h&#x22;, &#x22;lv_draw_blur.h&#x22;, &#x22;lv_draw_line.h&#x22;, &#x22;lv_image_decoder.h&#x22;, &#x22;lv_image_dsc.h&#x22;, &#x22;lv_draw_nanovg_private.h&#x22;, &#x22;lv_nanovg_fbo_cache.h&#x22;, &#x22;lv_nanovg_image_cache.h&#x22;, &#x22;lv_nanovg_math.h&#x22;, &#x22;lv_nanovg_utils.h&#x22;, &#x22;lv_draw_nema_gfx.h&#x22;, &#x22;lv_draw_nema_gfx_utils.h&#x22;, &#x22;lv_draw_g2d.h&#x22;, &#x22;lv_g2d_buf_map.h&#x22;, &#x22;lv_g2d_utils.h&#x22;, &#x22;lv_draw_pxp.h&#x22;, &#x22;lv_pxp_cfg.h&#x22;, &#x22;lv_pxp_osa.h&#x22;, &#x22;lv_pxp_utils.h&#x22;, &#x22;lv_draw_opengles.h&#x22;, &#x22;lv_draw_dave2d.h&#x22;, &#x22;lv_draw_sw_arm2d.h&#x22;, &#x22;lv_draw_sw_helium.h&#x22;, &#x22;lv_blend_arm2d.h&#x22;, &#x22;lv_blend_helium.h&#x22;, &#x22;lv_blend_neon.h&#x22;, &#x22;lv_draw_sw_blend_neon_to_rgb565.h&#x22;, &#x22;lv_draw_sw_blend_neon_to_rgb888.h&#x22;, &#x22;lv_blend_riscv_v_private.h&#x22;, &#x22;lv_blend_riscv_vector_emulation.h&#x22;, &#x22;lv_draw_sw_blend_riscv_v_to_rgb888.h&#x22;, &#x22;lv_draw_sw_utils.h&#x22;, &#x22;lv_draw_vg_lite.h&#x22;, &#x22;lv_draw_vg_lite_type.h&#x22;, &#x22;lv_vg_lite_bitmap_font_cache.h&#x22;, &#x22;lv_vg_lite_decoder.h&#x22;, &#x22;lv_vg_lite_grad.h&#x22;, &#x22;lv_vg_lite_math.h&#x22;, &#x22;lv_vg_lite_utils.h&#x22;, &#x22;lv_linux_drm_egl_private.h&#x22;, &#x22;lv_ft81x.h&#x22;, &#x22;lv_st_ltdc.h&#x22;, &#x22;lv_draw_eve_display.h&#x22;, &#x22;lv_draw_eve_display_defines.h&#x22;, &#x22;lv_xkb.h&#x22;, &#x22;lv_nuttx_entry.h&#x22;, &#x22;lv_nuttx_image_cache.h&#x22;, &#x22;lv_nuttx_profiler.h&#x22;, &#x22;lv_opengles_debug.h&#x22;, &#x22;lv_opengles_driver.h&#x22;, &#x22;lv_opengles_egl.h&#x22;, &#x22;lv_opengles_egl_private.h&#x22;, &#x22;lv_opengles_glfw.h&#x22;, &#x22;lv_opengles_private.h&#x22;, &#x22;lv_opengles_texture.h&#x22;, &#x22;lv_opengles_texture_private.h&#x22;, &#x22;lv_opengles_window.h&#x22;, &#x22;lv_opengl_shader_internal.h&#x22;, &#x22;lv_uefi_context.h&#x22;, &#x22;lv_wayland.h&#x22;, &#x22;lv_wayland_private.h&#x22;, &#x22;lv_binfont_loader.h&#x22;, &#x22;lv_imgfont.h&#x22;, &#x22;lv_font.h&#x22;, &#x22;lv_symbol_def.h&#x22;, &#x22;lv_flex.h&#x22;, &#x22;lv_grid.h&#x22;, &#x22;lv_layout.h&#x22;, &#x22;lv_barcode.h&#x22;, &#x22;lv_bmp.h&#x22;, &#x22;lv_ffmpeg.h&#x22;, &#x22;lv_freetype.h&#x22;, &#x22;lv_fsdrv.h&#x22;, &#x22;lv_fastgltf.hpp&#x22;, &#x22;lv_gltf_data_internal.h&#x22;, &#x22;lv_gltf_data_internal.hpp&#x22;, &#x22;lv_gltf_model.h&#x22;, &#x22;lv_gltf_model_loader.h&#x22;, &#x22;lv_gltf_model_node.h&#x22;, &#x22;lv_gltf_environment.h&#x22;, &#x22;lv_gltf_environment_private.h&#x22;, &#x22;lv_gltf.h&#x22;, &#x22;lv_gltf_view_internal.h&#x22;, &#x22;lv_3dmath.h&#x22;, &#x22;lv_gltf_math.hpp&#x22;, &#x22;lv_gstreamer.h&#x22;, &#x22;lv_gstreamer_internal.h&#x22;, &#x22;lv_libjpeg_turbo.h&#x22;, &#x22;lv_libpng.h&#x22;, &#x22;lv_libwebp.h&#x22;, &#x22;lv_lodepng.h&#x22;, &#x22;lv_qrcode.h&#x22;, &#x22;lv_rle.h&#x22;, &#x22;lv_rlottie.h&#x22;, &#x22;lv_svg.h&#x22;, &#x22;lv_svg_decoder.h&#x22;, &#x22;lv_svg_parser.h&#x22;, &#x22;lv_svg_render.h&#x22;, &#x22;lv_svg_token.h&#x22;, &#x22;lv_tiny_ttf.h&#x22;, &#x22;lv_init.h&#x22;, &#x22;lvgl.h&#x22;, &#x22;lv_anim.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_assert.h&#x22;, &#x22;lv_bidi.h&#x22;, &#x22;lv_check_arg.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_event.h&#x22;, &#x22;lv_ext_data.h&#x22;, &#x22;lv_fs.h&#x22;, &#x22;lv_grad.h&#x22;, &#x22;lv_ll.h&#x22;, &#x22;lv_log.h&#x22;, &#x22;lv_lru.h&#x22;, &#x22;lv_math.h&#x22;, &#x22;lv_matrix.h&#x22;, &#x22;lv_profiler.h&#x22;, &#x22;lv_profiler_builtin.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_timer.h&#x22;, &#x22;lv_types.h&#x22;, &#x22;lv_os_private.h&#x22;, &#x22;lv_file_explorer.h&#x22;, &#x22;lv_translation.h&#x22;, &#x22;lv_translation_private.h&#x22;, &#x22;lv_tlsf.h&#x22;, &#x22;lv_mem.h&#x22;, &#x22;lv_string.h&#x22;, &#x22;lv_tick.h&#x22;, &#x22;lv_3dtexture.h&#x22;, &#x22;lv_arc.h&#x22;, &#x22;lv_arclabel.h&#x22;, &#x22;lv_bar.h&#x22;, &#x22;lv_button.h&#x22;, &#x22;lv_buttonmatrix.h&#x22;, &#x22;lv_canvas.h&#x22;, &#x22;lv_chart.h&#x22;, &#x22;lv_checkbox.h&#x22;, &#x22;lv_dropdown.h&#x22;, &#x22;lv_gif.h&#x22;, &#x22;lv_image.h&#x22;, &#x22;lv_ime_pinyin.h&#x22;, &#x22;lv_label.h&#x22;, &#x22;lv_lottie_private.h&#x22;, &#x22;lv_scale.h&#x22;, &#x22;lv_span.h&#x22;, &#x22;lv_spinner.h&#x22;, &#x22;lv_switch.h&#x22;, &#x22;lv_tabview.h&#x22;, &#x22;lv_win.h&#x22;]" />
