Kestrel Interface
Loading...
Searching...
No Matches
lv_conf.h
Go to the documentation of this file.
1
5
6/*
7 * Copy this file as `lv_conf.h`
8 * 1. simply next to `lvgl` folder
9 * 2. or to any other place and
10 * - define `LV_CONF_INCLUDE_SIMPLE`;
11 * - add the path as an include path.
12 */
13
14/* clang-format off */
15#if 1 /* Set this to "1" to enable content */
16
17#ifndef LV_CONF_H
18#define LV_CONF_H
19
20/* If you need to include anything here, do it inside the `__ASSEMBLY__` guard */
21#if 0 && defined(__ASSEMBLY__)
22#include "my_include.h"
23#endif
24
25/*====================
26 COLOR SETTINGS
27 *====================*/
28
30#define LV_COLOR_DEPTH 32
31
32/*=========================
33 STDLIB WRAPPER SETTINGS
34 *=========================*/
35
43#define LV_USE_STDLIB_MALLOC LV_STDLIB_BUILTIN
44
52#define LV_USE_STDLIB_STRING LV_STDLIB_BUILTIN
53
61#define LV_USE_STDLIB_SPRINTF LV_STDLIB_BUILTIN
62
63#define LV_STDINT_INCLUDE <stdint.h>
64#define LV_STDDEF_INCLUDE <stddef.h>
65#define LV_STDBOOL_INCLUDE <stdbool.h>
66#define LV_INTTYPES_INCLUDE <inttypes.h>
67#define LV_LIMITS_INCLUDE <limits.h>
68#define LV_STDARG_INCLUDE <stdarg.h>
69
70#if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN
72 #define LV_MEM_SIZE (512 * 1024U)
73
75 #define LV_MEM_POOL_EXPAND_SIZE 0
76
78 #define LV_MEM_ADR 0
79 /* Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc */
80 #if LV_MEM_ADR == 0
81 #undef LV_MEM_POOL_INCLUDE
82 #undef LV_MEM_POOL_ALLOC
83 #endif
84#endif /*LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN*/
85
86/*====================
87 HAL SETTINGS
88 *====================*/
89
91#define LV_DEF_REFR_PERIOD 33
92
95#define LV_DPI_DEF 130
96
97/*=================
98 * OPERATING SYSTEM
99 *=================*/
110#define LV_USE_OS LV_OS_FREERTOS
111
112#if LV_USE_OS == LV_OS_CUSTOM
113 #define LV_OS_CUSTOM_INCLUDE <stdint.h>
114#endif
115#if LV_USE_OS == LV_OS_FREERTOS
116 /*
117 * Unblocking an RTOS task with a direct notification is 45% faster and uses less RAM
118 * than unblocking a task using an intermediary object such as a binary semaphore.
119 * RTOS task notifications can only be used when there is only one task that can be the recipient of the event.
120 */
121 #define LV_USE_FREERTOS_TASK_NOTIFY 1
122
123 /* Enable this to provide a custom implementation of lv_os_get_idle_percent. */
124 #define LV_OS_IDLE_PERCENT_CUSTOM 0
125#endif
126
127/*========================
128 * RENDERING CONFIGURATION
129 *========================*/
130
132#define LV_DRAW_BUF_STRIDE_ALIGN 1
133
135#define LV_DRAW_BUF_ALIGN 4
136
141#define LV_DRAW_TRANSFORM_USE_MATRIX 0
142
143/* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode
144 * it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks.
145 * "Transformed layers" (if `effectform_angle/zoom` are set) use larger buffers
146 * and can't be drawn in chunks. */
147
149#define LV_DRAW_LAYER_SIMPLE_BUF_SIZE (24 * 1024)
150
151/* Limit the max allocated memory for simple and effectformed layers.
152 * It should be at least `LV_DRAW_LAYER_SIMPLE_BUF_SIZE` sized but if effectformed layers are also used
153 * it should be enough to store the largest widget too (width x height x 4 area).
154 * Set it to 0 to have no limit. */
155#define LV_DRAW_LAYER_MAX_MEMORY 0
156
160#define LV_DRAW_THREAD_STACK_SIZE (8 * 1024)
161
169#define LV_DRAW_THREAD_PRIO LV_THREAD_PRIO_HIGH
170
171#define LV_USE_DRAW_SW 1
172#if LV_USE_DRAW_SW == 1
173 /*
174 * Selectively disable color format support in order to reduce code size.
175 * NOTE: some features use certain color formats internally, e.g.
176 * - gradients use RGB888
177 * - bitmaps with effectparency may use ARGB8888
178 */
179 #define LV_DRAW_SW_SUPPORT_RGB565 1
180 #define LV_DRAW_SW_SUPPORT_RGB565_SWAPPED 1
181 #define LV_DRAW_SW_SUPPORT_RGB565A8 1
182 #define LV_DRAW_SW_SUPPORT_RGB888 1
183 #define LV_DRAW_SW_SUPPORT_XRGB8888 1
184 #define LV_DRAW_SW_SUPPORT_ARGB8888 1
185 #define LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED 1
186 #define LV_DRAW_SW_SUPPORT_L8 1
187 #define LV_DRAW_SW_SUPPORT_AL88 1
188 #define LV_DRAW_SW_SUPPORT_A8 1
189 #define LV_DRAW_SW_SUPPORT_I1 1
190
191 /* The threshold of the luminance to consider a pixel as
192 * active in indexed color format */
193 #define LV_DRAW_SW_I1_LUM_THRESHOLD 127
194
198 #define LV_DRAW_SW_DRAW_UNIT_CNT 1
199
201 #define LV_USE_DRAW_ARM2D_SYNC 0
202
204 #define LV_USE_NATIVE_HELIUM_ASM 0
205
209 #define LV_DRAW_SW_COMPLEX 1
210
211 #if LV_DRAW_SW_COMPLEX == 1
215 #define LV_DRAW_SW_SHADOW_CACHE_SIZE 0
216
221 #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4
222 #endif
223
224 #define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE
225
226 #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
227 #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE ""
228 #endif
229
231 #define LV_USE_DRAW_SW_COMPLEX_GRADIENTS 0
232
233#endif
234
235/*Use TSi's aka (Think Silicon) NemaGFX */
236#define LV_USE_NEMA_GFX 0
237
238#if LV_USE_NEMA_GFX
248 #define LV_USE_NEMA_LIB LV_NEMA_LIB_NONE
249
253 #define LV_USE_NEMA_HAL LV_NEMA_HAL_CUSTOM
254 #if LV_USE_NEMA_HAL == LV_NEMA_HAL_STM32
255 #define LV_NEMA_STM32_HAL_INCLUDE <stm32u5xx_hal.h>
256
261 #define LV_NEMA_STM32_HAL_ATTRIBUTE_POOL_MEM
262 #endif
263
264 /*Enable Vector Graphics Operations. Available only if NemaVG library is present*/
265 #define LV_USE_NEMA_VG 0
266 #if LV_USE_NEMA_VG
267 /*Define application's resolution used for VG related buffer allocation */
268 #define LV_NEMA_GFX_MAX_RESX 800
269 #define LV_NEMA_GFX_MAX_RESY 600
270 #endif
271#endif
272
274#define LV_USE_PXP 0
275
276#if LV_USE_PXP
278 #define LV_USE_DRAW_PXP 1
279
281 #define LV_USE_ROTATE_PXP 0
282
283 #if LV_USE_DRAW_PXP && LV_USE_OS
285 #define LV_USE_PXP_DRAW_THREAD 1
286 #endif
287
289 #define LV_USE_PXP_ASSERT 0
290#endif
291
293#define LV_USE_G2D 0
294
295#if LV_USE_G2D
297 #define LV_USE_DRAW_G2D 1
298
300 #define LV_USE_ROTATE_G2D 0
301
304 #define LV_G2D_HASH_TABLE_SIZE 50
305
306 #if LV_USE_DRAW_G2D && LV_USE_OS
308 #define LV_USE_G2D_DRAW_THREAD 1
309 #endif
310
312 #define LV_USE_G2D_ASSERT 0
313#endif
314
316#define LV_USE_DRAW_DAVE2D 0
317
319#define LV_USE_DRAW_SDL 0
320
322#define LV_USE_DRAW_VG_LITE 0
323#if LV_USE_DRAW_VG_LITE
325 #define LV_VG_LITE_USE_GPU_INIT 0
326
328 #define LV_VG_LITE_USE_ASSERT 0
329
331 #define LV_VG_LITE_FLUSH_MAX_COUNT 8
332
336 #define LV_VG_LITE_USE_BOX_SHADOW 1
337
340 #define LV_VG_LITE_GRAD_CACHE_CNT 32
341
343 #define LV_VG_LITE_STROKE_CACHE_CNT 32
344
346 #define LV_VG_LITE_BITMAP_FONT_CACHE_CNT 256
347
349 #define LV_VG_LITE_DISABLE_VLC_OP_CLOSE 0
350
352 #define LV_VG_LITE_DISABLE_BLIT_RECT_OFFSET 0
353
355 #define LV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXT 0
356
358 #define LV_VG_LITE_PATH_DUMP_MAX_LEN 1000
359
361 #define LV_USE_VG_LITE_DRIVER 0
362 #if LV_USE_VG_LITE_DRIVER
364 #define LV_VG_LITE_HAL_GPU_SERIES gc255
365
367 #define LV_VG_LITE_HAL_GPU_REVISION 0x40
368
371 #define LV_VG_LITE_HAL_GPU_BASE_ADDRESS 0x40240000
372 #endif /*LV_USE_VG_LITE_DRIVER*/
373
376 #define LV_USE_VG_LITE_THORVG 0
377 #if LV_USE_VG_LITE_THORVG
379 #define LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT 0
380
382 #define LV_VG_LITE_THORVG_YUV_SUPPORT 0
383
385 #define LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT 0
386
388 #define LV_VG_LITE_THORVG_16PIXELS_ALIGN 1
389
391 #define LV_VG_LITE_THORVG_BUF_ADDR_ALIGN 64
392
394 #define LV_VG_LITE_THORVG_THREAD_RENDER 0
395 #endif /*LV_USE_VG_LITE_THORVG*/
396#endif
397
399#define LV_USE_DRAW_DMA2D 0
400#if LV_USE_DRAW_DMA2D
401 #define LV_DRAW_DMA2D_HAL_INCLUDE "stm32h7xx_hal.h"
402
403 /* if enabled, the user is required to call `lv_draw_dma2d_transfer_complete_interrupt_handler`
404 * upon receiving the DMA2D global interrupt
405 */
406 #define LV_USE_DRAW_DMA2D_INTERRUPT 0
407#endif
408
410#define LV_USE_DRAW_OPENGLES 0
411#if LV_USE_DRAW_OPENGLES
412 #define LV_DRAW_OPENGLES_TEXTURE_CACHE_COUNT 64
413#endif
414
416#define LV_USE_PPA 0
417#if LV_USE_PPA
418 #define LV_USE_PPA_IMG 0
419 #define LV_PPA_BURST_LENGTH 128
420#endif
421
422/* Use EVE FT81X GPU. */
423#define LV_USE_DRAW_EVE 0
424#if LV_USE_DRAW_EVE
425 /* EVE_GEN value: 2, 3, or 4 */
426 #define LV_DRAW_EVE_EVE_GENERATION 4
427
428 /* The maximum number of bytes to buffer before a single SPI effectmission.
429 * Set it to 0 to disable write buffering.
430 */
431 #define LV_DRAW_EVE_WRITE_BUFFER_SIZE 2048
432#endif
433
437#define LV_USE_DRAW_NANOVG 0
438#if LV_USE_DRAW_NANOVG
445 #define LV_NANOVG_BACKEND LV_NANOVG_BACKEND_GLES2
446
448 #define LV_NANOVG_IMAGE_CACHE_CNT 128
449
451 #define LV_NANOVG_LETTER_CACHE_CNT 512
452#endif
453
454/*=======================
455 * FEATURE CONFIGURATION
456 *=======================*/
457
458/*-------------
459 * Logging
460 *-----------*/
461
463#define LV_USE_LOG 0
464#if LV_USE_LOG
472 #define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
473
476 #define LV_LOG_PRINTF 0
477
481 //#define LV_LOG_PRINT_CB
482
485 #define LV_LOG_USE_TIMESTAMP 1
486
489 #define LV_LOG_USE_FILE_LINE 1
490
491 /* Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs. */
492 #define LV_LOG_TRACE_MEM 1
493 #define LV_LOG_TRACE_TIMER 1
494 #define LV_LOG_TRACE_INDEV 1
495 #define LV_LOG_TRACE_DISP_REFR 1
496 #define LV_LOG_TRACE_EVENT 1
497 #define LV_LOG_TRACE_OBJ_CREATE 1
498 #define LV_LOG_TRACE_LAYOUT 1
499 #define LV_LOG_TRACE_ANIM 1
500 #define LV_LOG_TRACE_CACHE 1
501#endif /*LV_USE_LOG*/
502
503/*-------------
504 * Asserts
505 *-----------*/
506
507/* Enable assertion failures if an operation fails or invalid data is found.
508 * If LV_USE_LOG is enabled, an error message will be printed on failure. */
509#define LV_USE_ASSERT_NULL 1
510#define LV_USE_ASSERT_MALLOC 1
511#define LV_USE_ASSERT_STYLE 0
512#define LV_USE_ASSERT_MEM_INTEGRITY 0
513#define LV_USE_ASSERT_OBJ 0
514
516#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
517#define LV_ASSERT_HANDLER while(1);
518
519/*-------------
520 * Debug
521 *-----------*/
522
524#define LV_USE_REFR_DEBUG 0
525
527#define LV_USE_LAYER_DEBUG 0
528
533#define LV_USE_PARALLEL_DRAW_DEBUG 0
534
535/*-------------
536 * Others
537 *-----------*/
538
539#define LV_ENABLE_GLOBAL_CUSTOM 0
540#if LV_ENABLE_GLOBAL_CUSTOM
542 #define LV_GLOBAL_CUSTOM_INCLUDE <stdint.h>
543#endif
544
550#define LV_CACHE_DEF_SIZE 0
551
554#define LV_IMAGE_HEADER_CACHE_DEF_CNT 0
555
558#define LV_GRADIENT_MAX_STOPS 2
559
566#define LV_COLOR_MIX_ROUND_OFS 0
567
569#define LV_OBJ_STYLE_CACHE 0
570
572#define LV_USE_OBJ_ID 0
573
575#define LV_USE_OBJ_NAME 0
576
578#define LV_OBJ_ID_AUTO_ASSIGN LV_USE_OBJ_ID
579
586#define LV_USE_OBJ_ID_BUILTIN 1
587
589#define LV_USE_OBJ_PROPERTY 0
590
592#define LV_USE_OBJ_PROPERTY_NAME 1
593
594/* Enable the multi-touch gesture recognition feature */
595/* Gesture recognition requires the use of floats */
596#define LV_USE_GESTURE_RECOGNITION 0
597
598/*=====================
599 * COMPILER SETTINGS
600 *====================*/
601
603#define LV_BIG_ENDIAN_SYSTEM 0
604
606#define LV_ATTRIBUTE_TICK_INC
607
609#define LV_ATTRIBUTE_TIMER_HANDLER
610
612#define LV_ATTRIBUTE_FLUSH_READY
613
616#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1
617
620#define LV_ATTRIBUTE_MEM_ALIGN
621
623#define LV_ATTRIBUTE_LARGE_CONST
624
626#define LV_ATTRIBUTE_LARGE_RAM_ARRAY
627
629#define LV_ATTRIBUTE_FAST_MEM
630
633#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning
634
636#define LV_ATTRIBUTE_EXTERN_DATA
637
639#define LV_USE_FLOAT 0
640
643#define LV_USE_MATRIX 0
644
646#ifndef LV_USE_PRIVATE_API
647 #define LV_USE_PRIVATE_API 0
648#endif
649
650/*==================
651 * FONT USAGE
652 *===================*/
653
654/* Montserrat fonts with ASCII range and some symbols using bpp = 4
655 * https://fonts.google.com/specimen/Montserrat */
656#define LV_FONT_MONTSERRAT_8 0
657#define LV_FONT_MONTSERRAT_10 0
658#define LV_FONT_MONTSERRAT_12 0
659#define LV_FONT_MONTSERRAT_14 1
660#define LV_FONT_MONTSERRAT_16 0
661#define LV_FONT_MONTSERRAT_18 0
662#define LV_FONT_MONTSERRAT_20 0
663#define LV_FONT_MONTSERRAT_22 0
664#define LV_FONT_MONTSERRAT_24 0
665#define LV_FONT_MONTSERRAT_26 0
666#define LV_FONT_MONTSERRAT_28 1
667#define LV_FONT_MONTSERRAT_30 0
668#define LV_FONT_MONTSERRAT_32 0
669#define LV_FONT_MONTSERRAT_34 0
670#define LV_FONT_MONTSERRAT_36 0
671#define LV_FONT_MONTSERRAT_38 0
672#define LV_FONT_MONTSERRAT_40 0
673#define LV_FONT_MONTSERRAT_42 0
674#define LV_FONT_MONTSERRAT_44 0
675#define LV_FONT_MONTSERRAT_46 0
676#define LV_FONT_MONTSERRAT_48 0
677
678/* Demonstrate special features */
679#define LV_FONT_MONTSERRAT_28_COMPRESSED 0
680#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0
681#define LV_FONT_SOURCE_HAN_SANS_SC_14_CJK 0
682#define LV_FONT_SOURCE_HAN_SANS_SC_16_CJK 0
683
685#define LV_FONT_UNSCII_8 0
686#define LV_FONT_UNSCII_16 0
687
697#define LV_FONT_CUSTOM_DECLARE
698
700#define LV_FONT_DEFAULT &lv_font_montserrat_14
701
705#define LV_FONT_FMT_TXT_LARGE 0
706
708#define LV_USE_FONT_COMPRESSED 0
709
711#define LV_USE_FONT_PLACEHOLDER 1
712
713/*=================
714 * TEXT SETTINGS
715 *=================*/
716
723#define LV_TXT_ENC LV_TXT_ENC_UTF8
724
726#define LV_TXT_BREAK_CHARS " ,.;:-_)]}"
727
730#define LV_TXT_LINE_BREAK_LONG_LEN 0
731
734#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
735
738#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
739
743#define LV_USE_BIDI 0
744#if LV_USE_BIDI
745 /*Set the default direction. Supported values:
746 *`LV_BASE_DIR_LTR` Left-to-Right
747 *`LV_BASE_DIR_RTL` Right-to-Left
748 *`LV_BASE_DIR_AUTO` detect text base direction*/
749 #define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO
750#endif
751
754#define LV_USE_ARABIC_PERSIAN_CHARS 0
755
756/*The control character to use for signaling text recoloring*/
757#define LV_TXT_COLOR_CMD "#"
758
759/*==================
760 * WIDGETS
761 *================*/
762/* Documentation for widgets can be found here: https://docs.lvgl.io/master/widgets/index.html . */
763
772#define LV_WIDGETS_HAS_DEFAULT_VALUE 1
773
774#define LV_USE_ANIMIMG 1
775
776#define LV_USE_ARC 1
777
778#define LV_USE_ARCLABEL 1
779
780#define LV_USE_BAR 1
781
782#define LV_USE_BUTTON 1
783
784#define LV_USE_BUTTONMATRIX 1
785
786#define LV_USE_CALENDAR 1
787#if LV_USE_CALENDAR
788 #define LV_CALENDAR_WEEK_STARTS_MONDAY 0
789 #if LV_CALENDAR_WEEK_STARTS_MONDAY
790 #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"}
791 #else
792 #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
793 #endif
794
795 #define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
796 #define LV_USE_CALENDAR_HEADER_ARROW 1
797 #define LV_USE_CALENDAR_HEADER_DROPDOWN 1
798 #define LV_USE_CALENDAR_CHINESE 0
799#endif /*LV_USE_CALENDAR*/
800
801#define LV_USE_CANVAS 1
802
803#define LV_USE_CHART 1
804
805#define LV_USE_CHECKBOX 1
806
807#define LV_USE_DROPDOWN 1
808
809#define LV_USE_IMAGE 1
810
811#define LV_USE_IMAGEBUTTON 1
812
813#define LV_USE_KEYBOARD 1
814
815#define LV_USE_LABEL 1
816#if LV_USE_LABEL
817 #define LV_LABEL_TEXT_SELECTION 1
818 #define LV_LABEL_LONG_TXT_HINT 1
819 #define LV_LABEL_WAIT_CHAR_COUNT 3
820#endif
821
822#define LV_USE_LED 1
823
824#define LV_USE_LINE 1
825
826#define LV_USE_LIST 1
827
828#define LV_USE_LOTTIE 0
829
830#define LV_USE_MENU 1
831
832#define LV_USE_MSGBOX 1
833
834#define LV_USE_ROLLER 1
835
836#define LV_USE_SCALE 1
837
838#define LV_USE_SLIDER 1
839
840#define LV_USE_SPAN 1
841#if LV_USE_SPAN
843 #define LV_SPAN_SNIPPET_STACK_SIZE 64
844#endif
845
846#define LV_USE_SPINBOX 1
847
848#define LV_USE_SPINNER 1
849
850#define LV_USE_SWITCH 1
851
852#define LV_USE_TABLE 1
853
854#define LV_USE_TABVIEW 1
855
856#define LV_USE_TEXTAREA 1
857#if LV_USE_TEXTAREA != 0
858 #define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500
859#endif
860
861#define LV_USE_TILEVIEW 1
862
863#define LV_USE_WIN 1
864
865#define LV_USE_3DTEXTURE 0
866
867/*==================
868 * THEMES
869 *==================*/
870/* Documentation for themes can be found here: https://docs.lvgl.io/master/common-widget-features/styles/styles.html#themes . */
871
873#define LV_USE_THEME_DEFAULT 1
874#if LV_USE_THEME_DEFAULT
876 #define LV_THEME_DEFAULT_DARK 1
877
879 #define LV_THEME_DEFAULT_GROW 1
880
882 #define LV_THEME_DEFAULT_TRANSITION_TIME 80
883#endif /*LV_USE_THEME_DEFAULT*/
884
886#define LV_USE_THEME_SIMPLE 1
887
889#define LV_USE_THEME_MONO 1
890
891/*==================
892 * LAYOUTS
893 *==================*/
894/* Documentation for layouts can be found here: https://docs.lvgl.io/master/common-widget-features/layouts/index.html . */
895
897#define LV_USE_FLEX 1
898
900#define LV_USE_GRID 1
901
902/*====================
903 * 3RD PARTS LIBRARIES
904 *====================*/
905/* Documentation for libraries can be found here: https://docs.lvgl.io/master/libs/index.html . */
906
907/* File system interfaces for common APIs */
908
912#define LV_FS_DEFAULT_DRIVER_LETTER '\0'
913
915#define LV_USE_FS_STDIO 0
916#if LV_USE_FS_STDIO
917 #define LV_FS_STDIO_LETTER '\0'
918 #define LV_FS_STDIO_PATH ""
919 #define LV_FS_STDIO_CACHE_SIZE 0
920#endif
921
923#define LV_USE_FS_POSIX 0
924#if LV_USE_FS_POSIX
925 #define LV_FS_POSIX_LETTER '\0'
926 #define LV_FS_POSIX_PATH ""
927 #define LV_FS_POSIX_CACHE_SIZE 0
928#endif
929
931#define LV_USE_FS_WIN32 0
932#if LV_USE_FS_WIN32
933 #define LV_FS_WIN32_LETTER '\0'
934 #define LV_FS_WIN32_PATH ""
935 #define LV_FS_WIN32_CACHE_SIZE 0
936#endif
937
939#define LV_USE_FS_FATFS 0
940#if LV_USE_FS_FATFS
941 #define LV_FS_FATFS_LETTER '\0'
942 #define LV_FS_FATFS_PATH ""
943 #define LV_FS_FATFS_CACHE_SIZE 0
944#endif
945
947#define LV_USE_FS_MEMFS 0
948#if LV_USE_FS_MEMFS
949 #define LV_FS_MEMFS_LETTER '\0'
950#endif
951
953#define LV_USE_FS_LITTLEFS 0
954#if LV_USE_FS_LITTLEFS
955 #define LV_FS_LITTLEFS_LETTER '\0'
956 #define LV_FS_LITTLEFS_PATH ""
957#endif
958
960#define LV_USE_FS_ARDUINO_ESP_LITTLEFS 0
961#if LV_USE_FS_ARDUINO_ESP_LITTLEFS
962 #define LV_FS_ARDUINO_ESP_LITTLEFS_LETTER '\0'
963 #define LV_FS_ARDUINO_ESP_LITTLEFS_PATH ""
964#endif
965
967#define LV_USE_FS_ARDUINO_SD 0
968#if LV_USE_FS_ARDUINO_SD
969 #define LV_FS_ARDUINO_SD_LETTER '\0'
970 #define LV_FS_ARDUINO_SD_PATH ""
971#endif
972
974#define LV_USE_FS_UEFI 0
975#if LV_USE_FS_UEFI
976 #define LV_FS_UEFI_LETTER '\0'
977#endif
978
979#define LV_USE_FS_FROGFS 0
980#if LV_USE_FS_FROGFS
981 #define LV_FS_FROGFS_LETTER '\0'
982#endif
983
985#define LV_USE_LODEPNG 0
986
988#define LV_USE_LIBPNG 0
989
991#define LV_USE_BMP 0
992
995#define LV_USE_TJPGD 0
996
999#define LV_USE_LIBJPEG_TURBO 0
1000
1002#define LV_USE_LIBWEBP 0
1003
1005#define LV_USE_GIF 0
1006#if LV_USE_GIF
1008 #define LV_GIF_CACHE_DECODE_DATA 0
1009#endif
1010
1012#define LV_USE_GSTREAMER 0
1013
1015#define LV_BIN_DECODER_RAM_LOAD 0
1016
1018#define LV_USE_RLE 0
1019
1021#define LV_USE_QRCODE 0
1022
1024#define LV_USE_BARCODE 0
1025
1027#define LV_USE_FREETYPE 0
1028#if LV_USE_FREETYPE
1030 #define LV_FREETYPE_USE_LVGL_PORT 0
1031
1034 #define LV_FREETYPE_CACHE_FT_GLYPH_CNT 256
1035#endif
1036
1038#define LV_USE_TINY_TTF 0
1039#if LV_USE_TINY_TTF
1040 /* Enable loading TTF data from files */
1041 #define LV_TINY_TTF_FILE_SUPPORT 0
1042 #define LV_TINY_TTF_CACHE_GLYPH_CNT 128
1043 #define LV_TINY_TTF_CACHE_KERNING_CNT 256
1044#endif
1045
1047#define LV_USE_RLOTTIE 0
1048
1050#define LV_USE_GLTF 0
1051
1056#define LV_USE_VECTOR_GRAPHIC 0
1057
1060#define LV_USE_THORVG_INTERNAL 0
1061
1064#define LV_USE_THORVG_EXTERNAL 0
1065
1067#define LV_USE_NANOVG 0
1068
1070#define LV_USE_LZ4_INTERNAL 0
1071
1073#define LV_USE_LZ4_EXTERNAL 0
1074
1075/*SVG library
1076 * - Requires `LV_USE_VECTOR_GRAPHIC = 1` */
1077#define LV_USE_SVG 0
1078#define LV_USE_SVG_ANIMATION 0
1079#define LV_USE_SVG_DEBUG 0
1080
1083#define LV_USE_FFMPEG 0
1084#if LV_USE_FFMPEG
1086 #define LV_FFMPEG_DUMP_FORMAT 0
1090 #define LV_FFMPEG_PLAYER_USE_LV_FS 0
1091#endif
1092
1093/*==================
1094 * OTHERS
1095 *==================*/
1096/* Documentation for several of the below items can be found here: https://docs.lvgl.io/master/auxiliary-modules/index.html . */
1097
1099#define LV_USE_SNAPSHOT 0
1100
1102#define LV_USE_SYSMON 0
1103#if LV_USE_SYSMON
1105 #define LV_SYSMON_GET_IDLE lv_os_get_idle_percent
1107 #define LV_SYSMON_PROC_IDLE_AVAILABLE 0
1108 #if LV_SYSMON_PROC_IDLE_AVAILABLE
1111 #define LV_SYSMON_GET_PROC_IDLE lv_os_get_proc_idle_percent
1112 #endif
1113
1116 #define LV_USE_PERF_MONITOR 0
1117 #if LV_USE_PERF_MONITOR
1118 #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
1119
1121 #define LV_USE_PERF_MONITOR_LOG_MODE 0
1122 #endif
1123
1127 #define LV_USE_MEM_MONITOR 0
1128 #if LV_USE_MEM_MONITOR
1129 #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
1130 #endif
1131#endif /*LV_USE_SYSMON*/
1132
1134#define LV_USE_PROFILER 0
1135#if LV_USE_PROFILER
1137 #define LV_USE_PROFILER_BUILTIN 1
1138 #if LV_USE_PROFILER_BUILTIN
1140 #define LV_PROFILER_BUILTIN_BUF_SIZE (16 * 1024)
1141 #define LV_PROFILER_BUILTIN_DEFAULT_ENABLE 1
1142 #define LV_USE_PROFILER_BUILTIN_POSIX 0
1143 #endif
1144
1146 #define LV_PROFILER_INCLUDE "lvgl/src/misc/lv_profiler_builtin.h"
1147
1149 #define LV_PROFILER_BEGIN LV_PROFILER_BUILTIN_BEGIN
1150
1152 #define LV_PROFILER_END LV_PROFILER_BUILTIN_END
1153
1155 #define LV_PROFILER_BEGIN_TAG LV_PROFILER_BUILTIN_BEGIN_TAG
1156
1158 #define LV_PROFILER_END_TAG LV_PROFILER_BUILTIN_END_TAG
1159
1160 /*Enable layout profiler*/
1161 #define LV_PROFILER_LAYOUT 1
1162
1163 /*Enable disp refr profiler*/
1164 #define LV_PROFILER_REFR 1
1165
1166 /*Enable draw profiler*/
1167 #define LV_PROFILER_DRAW 1
1168
1169 /*Enable indev profiler*/
1170 #define LV_PROFILER_INDEV 1
1171
1172 /*Enable decoder profiler*/
1173 #define LV_PROFILER_DECODER 1
1174
1175 /*Enable font profiler*/
1176 #define LV_PROFILER_FONT 1
1177
1178 /*Enable fs profiler*/
1179 #define LV_PROFILER_FS 1
1180
1181 /*Enable style profiler*/
1182 #define LV_PROFILER_STYLE 0
1183
1184 /*Enable timer profiler*/
1185 #define LV_PROFILER_TIMER 1
1186
1187 /*Enable cache profiler*/
1188 #define LV_PROFILER_CACHE 1
1189
1190 /*Enable event profiler*/
1191 #define LV_PROFILER_EVENT 1
1192#endif
1193
1195#define LV_USE_MONKEY 0
1196
1198#define LV_USE_GRIDNAV 0
1199
1201#define LV_USE_FRAGMENT 0
1202
1204#define LV_USE_IMGFONT 0
1205
1207#define LV_USE_OBSERVER 1
1208
1211#define LV_USE_IME_PINYIN 0
1212#if LV_USE_IME_PINYIN
1215 #define LV_IME_PINYIN_USE_DEFAULT_DICT 1
1218 #define LV_IME_PINYIN_CAND_TEXT_NUM 6
1219
1221 #define LV_IME_PINYIN_USE_K9_MODE 1
1222 #if LV_IME_PINYIN_USE_K9_MODE == 1
1223 #define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3
1224 #endif /*LV_IME_PINYIN_USE_K9_MODE*/
1225#endif
1226
1229#define LV_USE_FILE_EXPLORER 0
1230#if LV_USE_FILE_EXPLORER
1232 #define LV_FILE_EXPLORER_PATH_MAX_LEN (128)
1235 #define LV_FILE_EXPLORER_QUICK_ACCESS 1
1236#endif
1237
1239#define LV_USE_FONT_MANAGER 0
1240#if LV_USE_FONT_MANAGER
1241
1243#define LV_FONT_MANAGER_NAME_MAX_LEN 32
1244
1245#endif
1246
1248#define LV_USE_TEST 0
1249#if LV_USE_TEST
1250
1253#define LV_USE_TEST_SCREENSHOT_COMPARE 0
1254
1255#if LV_USE_TEST_SCREENSHOT_COMPARE
1257 #define LV_TEST_SCREENSHOT_CREATE_REFERENCE_IMAGE 1
1258#endif /*LV_USE_TEST_SCREENSHOT_COMPARE*/
1259
1260#endif /*LV_USE_TEST*/
1261
1263#define LV_USE_TRANSLATION 0
1264
1265/*1: Enable color filter style*/
1266#define LV_USE_COLOR_FILTER 0
1267
1268/*==================
1269 * DEVICES
1270 *==================*/
1271
1273#define LV_USE_SDL 1
1274#if LV_USE_SDL
1275 #define LV_SDL_INCLUDE_PATH <SDL2/SDL.h>
1276 #define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT
1277 #define LV_SDL_BUF_COUNT 1
1278 #define LV_SDL_ACCELERATED 1
1279 #define LV_SDL_FULLSCREEN 0
1280 #define LV_SDL_DIRECT_EXIT 1
1281 #define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER /*LV_SDL_MOUSEWHEEL_MODE_ENCODER/CROWN*/
1282#endif
1283
1285#define LV_USE_X11 0
1286#if LV_USE_X11
1287 #define LV_X11_DIRECT_EXIT 1
1288 #define LV_X11_DOUBLE_BUFFER 1
1289 /* Select only 1 of the following render modes (LV_X11_RENDER_MODE_PARTIAL preferred!). */
1290 #define LV_X11_RENDER_MODE_PARTIAL 1
1291 #define LV_X11_RENDER_MODE_DIRECT 0
1292 #define LV_X11_RENDER_MODE_FULL 0
1293#endif
1294
1296#define LV_USE_WAYLAND 0
1297#if LV_USE_WAYLAND
1298 #define LV_WAYLAND_DIRECT_EXIT 1
1299#endif
1300
1302#define LV_USE_LINUX_FBDEV 0
1303#if LV_USE_LINUX_FBDEV
1304 #define LV_LINUX_FBDEV_BSD 0
1305 #define LV_LINUX_FBDEV_RENDER_MODE LV_DISPLAY_RENDER_MODE_PARTIAL
1306 #define LV_LINUX_FBDEV_BUFFER_COUNT 0
1307 #define LV_LINUX_FBDEV_BUFFER_SIZE 60
1308 #define LV_LINUX_FBDEV_MMAP 1
1309#endif
1310
1312#define LV_USE_NUTTX 0
1313
1314#if LV_USE_NUTTX
1315 #define LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP 0
1316
1318 #define LV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAP 0
1319
1320 #define LV_USE_NUTTX_LIBUV 0
1321
1323 #define LV_USE_NUTTX_CUSTOM_INIT 0
1324
1326 #define LV_USE_NUTTX_LCD 0
1327 #if LV_USE_NUTTX_LCD
1328 #define LV_NUTTX_LCD_BUFFER_COUNT 0
1329 #define LV_NUTTX_LCD_BUFFER_SIZE 60
1330 #endif
1331
1333 #define LV_USE_NUTTX_TOUCHSCREEN 0
1334
1336 #define LV_NUTTX_TOUCHSCREEN_CURSOR_SIZE 0
1337
1339 #define LV_USE_NUTTX_MOUSE 0
1340
1342 #define LV_USE_NUTTX_MOUSE_MOVE_STEP 1
1343
1344 /*NuttX trace file and its path*/
1345 #define LV_USE_NUTTX_TRACE_FILE 0
1346 #if LV_USE_NUTTX_TRACE_FILE
1347 #define LV_NUTTX_TRACE_FILE_PATH "/data/lvgl-trace.log"
1348 #endif
1349
1350#endif
1351
1353#define LV_USE_LINUX_DRM 0
1354
1355#if LV_USE_LINUX_DRM
1356
1357 /* Use the MESA GBM library to allocate DMA buffers that can be
1358 * shared across sub-systems and libraries using the Linux DMA-BUF API.
1359 * The GBM library aims to provide a platform independent memory management system
1360 * it supports the major GPU vendors - This option requires linking with libgbm */
1361 #define LV_USE_LINUX_DRM_GBM_BUFFERS 0
1362#endif
1363
1365#define LV_USE_TFT_ESPI 0
1366
1368#define LV_USE_LOVYAN_GFX 0
1369
1370#if LV_USE_LOVYAN_GFX
1371 #define LV_LGFX_USER_INCLUDE "lv_lgfx_user.hpp"
1372
1373#endif /*LV_USE_LOVYAN_GFX*/
1374
1376#define LV_USE_EVDEV 0
1377
1379#define LV_USE_LIBINPUT 0
1380
1381#if LV_USE_LIBINPUT
1382 #define LV_LIBINPUT_BSD 0
1383
1385 #define LV_LIBINPUT_XKB 0
1386 #if LV_LIBINPUT_XKB
1388 #define LV_LIBINPUT_XKB_KEY_MAP { .rules = NULL, .model = "pc101", .layout = "us", .variant = NULL, .options = NULL }
1389 #endif
1390#endif
1391
1392/* Drivers for LCD devices connected via SPI/parallel port */
1393#define LV_USE_ST7735 0
1394#define LV_USE_ST7789 0
1395#define LV_USE_ST7796 0
1396#define LV_USE_ILI9341 0
1397#define LV_USE_FT81X 0
1398#define LV_USE_NV3007 0
1399
1400#if (LV_USE_ST7735 | LV_USE_ST7789 | LV_USE_ST7796 | LV_USE_ILI9341 | LV_USE_NV3007)
1401 #define LV_USE_GENERIC_MIPI 1
1402#else
1403 #define LV_USE_GENERIC_MIPI 0
1404#endif
1405
1407#define LV_USE_RENESAS_GLCDC 0
1408
1410#define LV_USE_ST_LTDC 0
1411#if LV_USE_ST_LTDC
1412 /* Only used for partial. */
1413 #define LV_ST_LTDC_USE_DMA2D_FLUSH 0
1414#endif
1415
1417#define LV_USE_NXP_ELCDIF 0
1418
1420#define LV_USE_WINDOWS 0
1421
1423#define LV_USE_UEFI 0
1424#if LV_USE_UEFI
1425 #define LV_USE_UEFI_INCLUDE "myefi.h"
1426 #define LV_UEFI_USE_MEMORY_SERVICES 0
1427#endif
1428
1432#define LV_USE_OPENGLES 0
1433#if LV_USE_OPENGLES
1434 #define LV_USE_OPENGLES_DEBUG 1
1435#endif
1436
1438#define LV_USE_GLFW 0
1439
1440
1442#define LV_USE_QNX 0
1443#if LV_USE_QNX
1444 #define LV_QNX_BUF_COUNT 1
1445#endif
1446
1448#define LV_USE_EXT_DATA 0
1449
1450/*=====================
1451* BUILD OPTIONS
1452*======================*/
1453
1455#define LV_BUILD_EXAMPLES 1
1456
1458#define LV_BUILD_DEMOS 1
1459
1460/*===================
1461 * DEMO USAGE
1462 ====================*/
1463
1464#if LV_BUILD_DEMOS
1466 #define LV_USE_DEMO_WIDGETS 0
1467
1469 #define LV_USE_DEMO_KEYPAD_AND_ENCODER 0
1470
1472 #define LV_USE_DEMO_BENCHMARK 0
1473
1474 #if LV_USE_DEMO_BENCHMARK
1476 #define LV_DEMO_BENCHMARK_ALIGNED_FONTS 0
1477 #endif
1478
1481 #define LV_USE_DEMO_RENDER 0
1482
1484 #define LV_USE_DEMO_STRESS 0
1485
1487 #define LV_USE_DEMO_MUSIC 0
1488 #if LV_USE_DEMO_MUSIC
1489 #define LV_DEMO_MUSIC_SQUARE 0
1490 #define LV_DEMO_MUSIC_LANDSCAPE 0
1491 #define LV_DEMO_MUSIC_ROUND 0
1492 #define LV_DEMO_MUSIC_LARGE 0
1493 #define LV_DEMO_MUSIC_AUTO_PLAY 0
1494 #endif
1495
1497 #define LV_USE_DEMO_VECTOR_GRAPHIC 0
1498
1500 #define LV_USE_DEMO_GLTF 0
1501
1502 /*---------------------------
1503 * Demos from lvgl/lv_demos
1504 ---------------------------*/
1505
1507 #define LV_USE_DEMO_FLEX_LAYOUT 0
1508
1510 #define LV_USE_DEMO_MULTILANG 0
1511
1512 /*E-bike demo with Lottie animations (if LV_USE_LOTTIE is enabled)*/
1513 #define LV_USE_DEMO_EBIKE 0
1514 #if LV_USE_DEMO_EBIKE
1515 #define LV_DEMO_EBIKE_PORTRAIT 0 /*0: for 480x270..480x320, 1: for 480x800..720x1280*/
1516 #endif
1517
1519 #define LV_USE_DEMO_HIGH_RES 0
1520
1521 /* Smart watch demo */
1522 #define LV_USE_DEMO_SMARTWATCH 0
1523#endif /* LV_BUILD_DEMOS */
1524
1525/*--END OF LV_CONF_H--*/
1526
1527#endif /*LV_CONF_H*/
1528
1529#endif /*End of "Content enable"*/