1# Kconfig file for LVGL v8.0 2 3menu "LVGL configuration" 4 5 # Define CONFIG_LV_CONF_SKIP so we can use LVGL 6 # without lv_conf.h file, the lv_conf_internal.h and 7 # lv_conf_kconfig.h files are used instead. 8 config LV_CONF_SKIP 9 bool 10 default y 11 12 config LV_CONF_MINIMAL 13 bool "LVGL minimal configuration." 14 15 menu "Color settings" 16 choice LV_COLOR_DEPTH 17 prompt "Color depth." 18 default LV_COLOR_DEPTH_16 19 help 20 Color depth to be used. 21 22 config LV_COLOR_DEPTH_32 23 bool "32: ARGB8888" 24 config LV_COLOR_DEPTH_16 25 bool "16: RGB565" 26 config LV_COLOR_DEPTH_8 27 bool "8: RGB232" 28 config LV_COLOR_DEPTH_1 29 bool "1: 1 byte per pixel" 30 endchoice 31 32 config LV_COLOR_DEPTH 33 int 34 default 1 if LV_COLOR_DEPTH_1 35 default 8 if LV_COLOR_DEPTH_8 36 default 16 if LV_COLOR_DEPTH_16 37 default 32 if LV_COLOR_DEPTH_32 38 39 config LV_COLOR_16_SWAP 40 bool "Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)." 41 depends on LV_COLOR_DEPTH_16 42 43 config LV_COLOR_SCREEN_TRANSP 44 bool "Enable more complex drawing routines to manage screens transparency." 45 depends on LV_COLOR_DEPTH_32 46 help 47 Can be used if the UI is above another layer, e.g. an OSD menu or video player. 48 Requires `LV_COLOR_DEPTH = 32` colors and the screen's `bg_opa` should be set to 49 non LV_OPA_COVER value 50 51 config LV_COLOR_MIX_ROUND_OFS 52 int "Adjust color mix functions rounding" 53 default 128 if !LV_COLOR_DEPTH_32 54 default 0 if LV_COLOR_DEPTH_32 55 range 0 254 56 help 57 0: no adjustment, get the integer part of the result (round down) 58 64: round up from x.75 59 128: round up from half 60 192: round up from x.25 61 254: round up 62 63 config LV_COLOR_CHROMA_KEY_HEX 64 hex "Images pixels with this color will not be drawn (if they are chroma keyed)." 65 range 0x000000 0xFFFFFF 66 default 0x00FF00 67 help 68 See misc/lv_color.h for some color values examples. 69 endmenu 70 71 menu "Memory settings" 72 config LV_MEM_CUSTOM 73 bool "If true use custom malloc/free, otherwise use the built-in `lv_mem_alloc()` and `lv_mem_free()`" 74 75 config LV_MEM_SIZE_KILOBYTES 76 int "Size of the memory used by `lv_mem_alloc` in kilobytes (>= 2kB)" 77 range 2 128 78 default 32 79 depends on !LV_MEM_CUSTOM 80 81 config LV_MEM_ADDR 82 hex "Address for the memory pool instead of allocating it as a normal array" 83 default 0x0 84 depends on !LV_MEM_CUSTOM 85 86 config LV_MEM_CUSTOM_INCLUDE 87 string "Header to include for the custom memory function" 88 default "stdlib.h" 89 depends on LV_MEM_CUSTOM 90 91 config LV_MEM_BUF_MAX_NUM 92 int "Number of the memory buffer" 93 default 16 94 help 95 Number of the intermediate memory buffer used during rendering and other 96 internal processing mechanisms. You will see an error log message if 97 there wasn't enough buffers. 98 99 config LV_MEMCPY_MEMSET_STD 100 bool "Use the standard memcpy and memset instead of LVGL's own functions" 101 endmenu 102 103 menu "HAL Settings" 104 config LV_DISP_DEF_REFR_PERIOD 105 int "Default display refresh period (ms)." 106 default 30 107 help 108 Can be changed in the display driver (`lv_disp_drv_t`). 109 110 config LV_INDEV_DEF_READ_PERIOD 111 int "Input device read period [ms]." 112 default 30 113 114 config LV_TICK_CUSTOM 115 bool "Use a custom tick source" 116 117 config LV_TICK_CUSTOM_INCLUDE 118 string "Header for the system time function" 119 default "Arduino.h" 120 depends on LV_TICK_CUSTOM 121 122 config LV_DPI_DEF 123 int "Default Dots Per Inch (in px)." 124 default 130 125 help 126 Used to initialize default sizes such as widgets sized, style paddings. 127 (Not so important, you can adjust it to modify default sizes and spaces) 128 endmenu 129 130 menu "Feature configuration" 131 132 menu "Drawing" 133 config LV_DRAW_COMPLEX 134 bool "Enable complex draw engine" 135 default y 136 help 137 Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, 138 image transformations or any masks. 139 140 config LV_SHADOW_CACHE_SIZE 141 int "Allow buffering some shadow calculation" 142 depends on LV_DRAW_COMPLEX 143 default 0 144 help 145 LV_SHADOW_CACHE_SIZE is the max shadow size to buffer, where 146 shadow size is `shadow_width + radius`. 147 Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost. 148 149 config LV_CIRCLE_CACHE_SIZE 150 int "Set number of maximally cached circle data" 151 depends on LV_DRAW_COMPLEX 152 default 4 153 help 154 The circumference of 1/4 circle are saved for anti-aliasing 155 radius * 4 bytes are used per circle (the most often used 156 radiuses are saved). 157 Set to 0 to disable caching. 158 159 config LV_IMG_CACHE_DEF_SIZE 160 int "Default image cache size. 0 to disable caching." 161 default 0 162 help 163 If only the built-in image formats are used there is no real advantage of caching. 164 (I.e. no new image decoder is added). 165 166 With complex image decoders (e.g. PNG or JPG) caching can 167 save the continuous open/decode of images. 168 However the opened images might consume additional RAM. 169 170 config LV_GRADIENT_MAX_STOPS 171 int "Number of stops allowed per gradient." 172 default 2 173 help 174 Increase this to allow more stops. 175 This adds (sizeof(lv_color_t) + 1) bytes per additional stop 176 177 config LV_GRAD_CACHE_DEF_SIZE 178 int "Default gradient buffer size." 179 default 0 180 help 181 When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again. 182 LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes. 183 If the cache is too small the map will be allocated only while it's required for the drawing. 184 0 mean no caching. 185 186 config LV_DITHER_GRADIENT 187 bool "Allow dithering the gradients" 188 help 189 Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display) 190 LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface 191 The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion 192 193 config LV_DITHER_ERROR_DIFFUSION 194 bool "Add support for error diffusion dithering" 195 depends on LV_DITHER_GRADIENT 196 help 197 Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing. 198 The increase in memory consumption is (24 bits * object's width) 199 200 config LV_DISP_ROT_MAX_BUF 201 int "Maximum buffer size to allocate for rotation" 202 default 10240 203 help 204 Only used if software rotation is enabled in the display driver. 205 endmenu 206 207 menu "GPU" 208 config LV_USE_EXTERNAL_RENDERER 209 bool 210 211 config LV_USE_GPU_STM32_DMA2D 212 bool "Enable STM32 DMA2D (aka Chrom Art) GPU." 213 config LV_GPU_DMA2D_CMSIS_INCLUDE 214 string "include path of CMSIS header of target processor" 215 depends on LV_USE_GPU_STM32_DMA2D 216 default "" 217 help 218 Must be defined to include path of CMSIS header of target processor 219 e.g. "stm32f769xx.h" or "stm32f429xx.h" 220 221 config LV_USE_GPU_NXP_PXP 222 bool "Use NXP's PXP GPU iMX RTxxx platforms." 223 config LV_USE_GPU_NXP_PXP_AUTO_INIT 224 bool "Call lv_gpu_nxp_pxp_init() automatically or manually." 225 depends on LV_USE_GPU_NXP_PXP 226 help 227 1: Add default bare metal and FreeRTOS interrupt handling 228 routines for PXP (lv_gpu_nxp_pxp_osa.c) and call 229 lv_gpu_nxp_pxp_init() automatically during lv_init(). 230 Note that symbol SDK_OS_FREE_RTOS has to be defined in order 231 to use FreeRTOS OSA, otherwise bare-metal implementation is 232 selected. 233 0: lv_gpu_nxp_pxp_init() has to be called manually before 234 lv_init(). 235 236 config LV_USE_GPU_NXP_VG_LITE 237 bool "Use NXP's VG-Lite GPU iMX RTxxx platforms." 238 239 config LV_USE_GPU_SDL 240 bool "Use SDL renderer API" 241 select LV_USE_EXTERNAL_RENDERER 242 default n 243 config LV_GPU_SDL_INCLUDE_PATH 244 string "include path of SDL header" 245 depends on LV_USE_GPU_SDL 246 default "SDL2/SDL.h" 247 endmenu 248 249 menu "Logging" 250 config LV_USE_LOG 251 bool "Enable the log module" 252 253 choice 254 bool "Default log verbosity" if LV_USE_LOG 255 default LV_LOG_LEVEL_WARN 256 help 257 Specify how important log should be added. 258 259 config LV_LOG_LEVEL_TRACE 260 bool "A lot of logs to give detailed information" 261 config LV_LOG_LEVEL_INFO 262 bool "Log important events" 263 config LV_LOG_LEVEL_WARN 264 bool "Log if something unwanted happened but didn't cause a problem" 265 config LV_LOG_LEVEL_ERROR 266 bool "Only critical issues, when the system may fail" 267 config LV_LOG_LEVEL_USER 268 bool "Only logs added by the user" 269 config LV_LOG_LEVEL_NONE 270 bool "Do not log anything" 271 endchoice 272 273 config LV_LOG_LEVEL 274 int 275 default 0 if LV_LOG_LEVEL_TRACE 276 default 1 if LV_LOG_LEVEL_INFO 277 default 2 if LV_LOG_LEVEL_WARN 278 default 3 if LV_LOG_LEVEL_ERROR 279 default 4 if LV_LOG_LEVEL_USER 280 default 5 if LV_LOG_LEVEL_NONE 281 282 config LV_LOG_PRINTF 283 bool "Print the log with 'printf'" if LV_USE_LOG 284 help 285 Use printf for log output. 286 If not set the user needs to register a callback with `lv_log_register_print_cb`. 287 288 config LV_LOG_TRACE_MEM 289 bool "Enable/Disable LV_LOG_TRACE in mem module" 290 default y 291 depends on LV_USE_LOG 292 293 config LV_LOG_TRACE_TIMER 294 bool "Enable/Disable LV_LOG_TRACE in timer module" 295 default y 296 depends on LV_USE_LOG 297 298 config LV_LOG_TRACE_INDEV 299 bool "Enable/Disable LV_LOG_TRACE in indev module" 300 default y 301 depends on LV_USE_LOG 302 303 config LV_LOG_TRACE_DISP_REFR 304 bool "Enable/Disable LV_LOG_TRACE in disp refr module" 305 default y 306 depends on LV_USE_LOG 307 308 config LV_LOG_TRACE_EVENT 309 bool "Enable/Disable LV_LOG_TRACE in event module" 310 default y 311 depends on LV_USE_LOG 312 313 config LV_LOG_TRACE_OBJ_CREATE 314 bool "Enable/Disable LV_LOG_TRACE in obj create module" 315 default y 316 depends on LV_USE_LOG 317 318 config LV_LOG_TRACE_LAYOUT 319 bool "Enable/Disable LV_LOG_TRACE in layout module" 320 default y 321 depends on LV_USE_LOG 322 323 config LV_LOG_TRACE_ANIM 324 bool "Enable/Disable LV_LOG_TRACE in anim module" 325 default y 326 depends on LV_USE_LOG 327 endmenu 328 329 menu "Asserts" 330 config LV_USE_ASSERT_NULL 331 bool "Check if the parameter is NULL. (Very fast, recommended)" 332 default y if !LV_CONF_MINIMAL 333 334 config LV_USE_ASSERT_MALLOC 335 bool "Checks if the memory is successfully allocated or no. (Very fast, recommended)" 336 default y if !LV_CONF_MINIMAL 337 338 config LV_USE_ASSERT_STYLE 339 bool "Check if the styles are properly initialized. (Very fast, recommended)" 340 341 config LV_USE_ASSERT_MEM_INTEGRITY 342 bool "Check the integrity of `lv_mem` after critical operations. (Slow)" 343 344 config LV_USE_ASSERT_OBJ 345 bool "Check NULL, the object's type and existence (e.g. not deleted). (Slow)." 346 347 config LV_ASSERT_HANDLER_INCLUDE 348 string "Header to include for the custom assert function" 349 default "assert.h" 350 endmenu 351 352 menu "Others" 353 config LV_USE_PERF_MONITOR 354 bool "Show CPU usage and FPS count." 355 356 choice 357 prompt "Performance monitor position." 358 depends on LV_USE_PERF_MONITOR 359 default LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT 360 361 config LV_PERF_MONITOR_ALIGN_TOP_LEFT 362 bool "Top left" 363 config LV_PERF_MONITOR_ALIGN_TOP_MID 364 bool "Top middle" 365 config LV_PERF_MONITOR_ALIGN_TOP_RIGHT 366 bool "Top right" 367 config LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT 368 bool "Bottom left" 369 config LV_PERF_MONITOR_ALIGN_BOTTOM_MID 370 bool "Bottom middle" 371 config LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT 372 bool "Bottom right" 373 config LV_PERF_MONITOR_ALIGN_LEFT_MID 374 bool "Left middle" 375 config LV_PERF_MONITOR_ALIGN_RIGHT_MID 376 bool "Right middle" 377 config LV_PERF_MONITOR_ALIGN_BOTTOM_CENTER 378 bool "Center" 379 endchoice 380 381 config LV_USE_MEM_MONITOR 382 bool "Show the used memory and the memory fragmentation." 383 depends on !LV_MEM_CUSTOM 384 385 choice 386 prompt "Memory monitor position." 387 depends on LV_USE_MEM_MONITOR 388 default LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT 389 390 config LV_MEM_MONITOR_ALIGN_TOP_LEFT 391 bool "Top left" 392 config LV_MEM_MONITOR_ALIGN_TOP_MID 393 bool "Top middle" 394 config LV_MEM_MONITOR_ALIGN_TOP_RIGHT 395 bool "Top right" 396 config LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT 397 bool "Bottom left" 398 config LV_MEM_MONITOR_ALIGN_BOTTOM_MID 399 bool "Bottom middle" 400 config LV_MEM_MONITOR_ALIGN_BOTTOM_RIGHT 401 bool "Bottom right" 402 config LV_MEM_MONITOR_ALIGN_LEFT_MID 403 bool "Left middle" 404 config LV_MEM_MONITOR_ALIGN_RIGHT_MID 405 bool "Right middle" 406 config LV_MEM_MONITOR_ALIGN_BOTTOM_CENTER 407 bool "Center" 408 endchoice 409 410 config LV_USE_REFR_DEBUG 411 bool "Draw random colored rectangles over the redrawn areas." 412 413 config LV_SPRINTF_CUSTOM 414 bool "Change the built-in (v)snprintf functions" 415 416 config LV_SPRINTF_INCLUDE 417 string "Header to include for the custom sprintf function" 418 depends on LV_SPRINTF_CUSTOM 419 default "stdio.h" 420 421 config LV_SPRINTF_USE_FLOAT 422 bool "Enable float in built-in (v)snprintf functions" 423 depends on !LV_SPRINTF_CUSTOM 424 425 config LV_USE_USER_DATA 426 bool "Add a 'user_data' to drivers and objects." 427 default y 428 429 config LV_ENABLE_GC 430 bool "Enable garbage collector" 431 432 config LV_GC_INCLUDE 433 string "Header to include for the garbage collector related things" 434 depends on LV_ENABLE_GC 435 default "gc.h" 436 endmenu 437 438 menu "Compiler settings" 439 config LV_BIG_ENDIAN_SYSTEM 440 bool "For big endian systems set to 1" 441 442 config LV_ATTRIBUTE_MEM_ALIGN_SIZE 443 int "Required alignment size for buffers" 444 default 1 445 446 config LV_ATTRIBUTE_FAST_MEM_USE_IRAM 447 bool "Set IRAM as LV_ATTRIBUTE_FAST_MEM" 448 help 449 Set this option to configure IRAM as LV_ATTRIBUTE_FAST_MEM 450 451 config LV_USE_LARGE_COORD 452 bool "Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t" 453 endmenu 454 endmenu 455 456 menu "Font usage" 457 menu "Enable built-in fonts" 458 config LV_FONT_MONTSERRAT_8 459 bool "Enable Montserrat 8" 460 config LV_FONT_MONTSERRAT_10 461 bool "Enable Montserrat 10" 462 config LV_FONT_MONTSERRAT_12 463 bool "Enable Montserrat 12" 464 config LV_FONT_MONTSERRAT_14 465 bool "Enable Montserrat 14" 466 default y if !LV_CONF_MINIMAL 467 config LV_FONT_MONTSERRAT_16 468 bool "Enable Montserrat 16" 469 config LV_FONT_MONTSERRAT_18 470 bool "Enable Montserrat 18" 471 config LV_FONT_MONTSERRAT_20 472 bool "Enable Montserrat 20" 473 config LV_FONT_MONTSERRAT_22 474 bool "Enable Montserrat 22" 475 config LV_FONT_MONTSERRAT_24 476 bool "Enable Montserrat 24" 477 config LV_FONT_MONTSERRAT_26 478 bool "Enable Montserrat 26" 479 config LV_FONT_MONTSERRAT_28 480 bool "Enable Montserrat 28" 481 config LV_FONT_MONTSERRAT_30 482 bool "Enable Montserrat 30" 483 config LV_FONT_MONTSERRAT_32 484 bool "Enable Montserrat 32" 485 config LV_FONT_MONTSERRAT_34 486 bool "Enable Montserrat 34" 487 config LV_FONT_MONTSERRAT_36 488 bool "Enable Montserrat 36" 489 config LV_FONT_MONTSERRAT_38 490 bool "Enable Montserrat 38" 491 config LV_FONT_MONTSERRAT_40 492 bool "Enable Montserrat 40" 493 config LV_FONT_MONTSERRAT_42 494 bool "Enable Montserrat 42" 495 config LV_FONT_MONTSERRAT_44 496 bool "Enable Montserrat 44" 497 config LV_FONT_MONTSERRAT_46 498 bool "Enable Montserrat 46" 499 config LV_FONT_MONTSERRAT_48 500 bool "Enable Montserrat 48" 501 502 config LV_FONT_MONTSERRAT_12_SUBPX 503 bool "Enable Montserrat 12 sub-pixel" 504 config LV_FONT_MONTSERRAT_28_COMPRESSED 505 bool "Enable Montserrat 28 compressed" 506 config LV_FONT_DEJAVU_16_PERSIAN_HEBREW 507 bool "Enable Dejavu 16 Persian, Hebrew, Arabic letters" 508 config LV_FONT_SIMSUN_16_CJK 509 bool "Enable Simsun 16 CJK" 510 511 config LV_FONT_UNSCII_8 512 bool "Enable UNSCII 8 (Perfect monospace font)" 513 default y if LV_CONF_MINIMAL 514 config LV_FONT_UNSCII_16 515 bool "Enable UNSCII 16 (Perfect monospace font)" 516 517 config LV_FONT_CUSTOM 518 bool "Enable the custom font" 519 config LV_FONT_CUSTOM_DECLARE 520 string "Header to include for the custom font" 521 depends on LV_FONT_CUSTOM 522 endmenu 523 524 choice LV_FONT_DEFAULT 525 prompt "Select theme default title font" 526 default LV_FONT_DEFAULT_MONTSERRAT_14 if !LV_CONF_MINIMAL 527 default LV_FONT_DEFAULT_UNSCII_8 if LV_CONF_MINIMAL 528 help 529 Select theme default title font 530 531 config LV_FONT_DEFAULT_MONTSERRAT_8 532 bool "Montserrat 8" 533 select LV_FONT_MONTSERRAT_8 534 config LV_FONT_DEFAULT_MONTSERRAT_12 535 bool "Montserrat 12" 536 select LV_FONT_MONTSERRAT_12 537 config LV_FONT_DEFAULT_MONTSERRAT_14 538 bool "Montserrat 14" 539 select LV_FONT_MONTSERRAT_14 540 config LV_FONT_DEFAULT_MONTSERRAT_16 541 bool "Montserrat 16" 542 select LV_FONT_MONTSERRAT_16 543 config LV_FONT_DEFAULT_MONTSERRAT_18 544 bool "Montserrat 18" 545 select LV_FONT_MONTSERRAT_18 546 config LV_FONT_DEFAULT_MONTSERRAT_20 547 bool "Montserrat 20" 548 select LV_FONT_MONTSERRAT_20 549 config LV_FONT_DEFAULT_MONTSERRAT_22 550 bool "Montserrat 22" 551 select LV_FONT_MONTSERRAT_22 552 config LV_FONT_DEFAULT_MONTSERRAT_24 553 bool "Montserrat 24" 554 select LV_FONT_MONTSERRAT_24 555 config LV_FONT_DEFAULT_MONTSERRAT_26 556 bool "Montserrat 26" 557 select LV_FONT_MONTSERRAT_26 558 config LV_FONT_DEFAULT_MONTSERRAT_28 559 bool "Montserrat 28" 560 select LV_FONT_MONTSERRAT_28 561 config LV_FONT_DEFAULT_MONTSERRAT_30 562 bool "Montserrat 30" 563 select LV_FONT_MONTSERRAT_30 564 config LV_FONT_DEFAULT_MONTSERRAT_32 565 bool "Montserrat 32" 566 select LV_FONT_MONTSERRAT_32 567 config LV_FONT_DEFAULT_MONTSERRAT_34 568 bool "Montserrat 34" 569 select LV_FONT_MONTSERRAT_34 570 config LV_FONT_DEFAULT_MONTSERRAT_36 571 bool "Montserrat 36" 572 select LV_FONT_MONTSERRAT_36 573 config LV_FONT_DEFAULT_MONTSERRAT_38 574 bool "Montserrat 38" 575 select LV_FONT_MONTSERRAT_38 576 config LV_FONT_DEFAULT_MONTSERRAT_40 577 bool "Montserrat 40" 578 select LV_FONT_MONTSERRAT_40 579 config LV_FONT_DEFAULT_MONTSERRAT_42 580 bool "Montserrat 42" 581 select LV_FONT_MONTSERRAT_42 582 config LV_FONT_DEFAULT_MONTSERRAT_44 583 bool "Montserrat 44" 584 select LV_FONT_MONTSERRAT_44 585 config LV_FONT_DEFAULT_MONTSERRAT_46 586 bool "Montserrat 46" 587 select LV_FONT_MONTSERRAT_46 588 config LV_FONT_DEFAULT_MONTSERRAT_48 589 bool "Montserrat 48" 590 select LV_FONT_MONTSERRAT_48 591 config LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX 592 bool "Montserrat 12 sub-pixel" 593 select LV_FONT_MONTSERRAT_12_SUBPX 594 config LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED 595 bool "Montserrat 28 compressed" 596 select LV_FONT_MONTSERRAT_28_COMPRESSED 597 config LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW 598 bool "Dejavu 16 Persian, Hebrew, Arabic letters" 599 select LV_FONT_DEJAVU_16_PERSIAN_HEBREW 600 config LV_FONT_DEFAULT_SIMSUN_16_CJK 601 bool "Simsun 16 CJK" 602 select LV_FONT_SIMSUN_16_CJK 603 config LV_FONT_DEFAULT_UNSCII_8 604 bool "UNSCII 8 (Perfect monospace font)" 605 select LV_FONT_UNSCII_8 606 config LV_FONT_DEFAULT_UNSCII_16 607 bool "UNSCII 16 (Perfect monospace font)" 608 select LV_FONT_UNSCII_16 609 endchoice 610 611 config LV_FONT_FMT_TXT_LARGE 612 bool "Enable it if you have fonts with a lot of characters." 613 help 614 The limit depends on the font size, font face and bpp 615 but with > 10,000 characters if you see issues probably you 616 need to enable it. 617 618 config LV_USE_FONT_COMPRESSED 619 bool "Sets support for compressed fonts." 620 621 config LV_USE_FONT_SUBPX 622 bool "Enable subpixel rendering." 623 624 config LV_FONT_SUBPX_BGR 625 bool "Use BGR instead RGB for sub-pixel rendering." 626 depends on LV_USE_FONT_SUBPX 627 help 628 Set the pixel order of the display. 629 Important only if "subpx fonts" are used. 630 With "normal" font it doesn't matter. 631 endmenu 632 633 menu "Text Settings" 634 choice LV_TXT_ENC 635 prompt "Select a character encoding for strings" 636 help 637 Select a character encoding for strings. Your IDE or editor should have the same character encoding. 638 default LV_TXT_ENC_UTF8 if !LV_CONF_MINIMAL 639 default LV_TXT_ENC_ASCII if LV_CONF_MINIMAL 640 641 config LV_TXT_ENC_UTF8 642 bool "UTF8" 643 config LV_TXT_ENC_ASCII 644 bool "ASCII" 645 endchoice 646 647 config LV_TXT_BREAK_CHARS 648 string "Can break (wrap) texts on these chars" 649 default " ,.;:-_" 650 651 config LV_TXT_LINE_BREAK_LONG_LEN 652 int "Line break long length" 653 default 0 654 help 655 If a word is at least this long, will break wherever 'prettiest'. 656 To disable, set to a value <= 0. 657 658 config LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 659 int "Min num chars before break" 660 default 3 661 depends on LV_TXT_LINE_BREAK_LONG_LEN > 0 662 help 663 Minimum number of characters in a long word to put on a line before a break. 664 665 config LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 666 int "Min num chars after break" 667 default 3 668 depends on LV_TXT_LINE_BREAK_LONG_LEN > 0 669 help 670 Minimum number of characters in a long word to put on a line after a break. 671 672 config LV_TXT_COLOR_CMD 673 string "The control character to use for signalling text recoloring" 674 default "#" 675 676 config LV_USE_BIDI 677 bool "Support bidirectional texts" 678 help 679 Allows mixing Left-to-Right and Right-to-Left texts. 680 The direction will be processed according to the Unicode Bidirectional Algorithm: 681 https://www.w3.org/International/articles/inline-bidi-markup/uba-basics 682 683 choice 684 prompt "Set the default BIDI direction" 685 default LV_BIDI_DIR_AUTO 686 depends on LV_USE_BIDI 687 688 config LV_BIDI_DIR_LTR 689 bool "Left-to-Right" 690 config LV_BIDI_DIR_RTL 691 bool "Right-to-Left" 692 config LV_BIDI_DIR_AUTO 693 bool "Detect texts base direction" 694 endchoice 695 696 config LV_USE_ARABIC_PERSIAN_CHARS 697 bool "Enable Arabic/Persian processing" 698 help 699 In these languages characters should be replaced with 700 an other form based on their position in the text. 701 endmenu 702 703 menu "Widget usage" 704 config LV_USE_ARC 705 bool "Arc." 706 default y if !LV_CONF_MINIMAL 707 config LV_USE_BAR 708 bool "Bar." 709 default y if !LV_CONF_MINIMAL 710 config LV_USE_BTN 711 bool "Button." 712 default y if !LV_CONF_MINIMAL 713 config LV_USE_BTNMATRIX 714 bool "Button matrix." 715 default y if !LV_CONF_MINIMAL 716 config LV_USE_CANVAS 717 bool "Canvas. Dependencies: lv_img." 718 default y if !LV_CONF_MINIMAL 719 config LV_USE_CHECKBOX 720 bool "Check Box" 721 default y if !LV_CONF_MINIMAL 722 config LV_USE_DROPDOWN 723 bool "Drop down list. Requires: lv_label." 724 select LV_USE_LABEL 725 default y if !LV_CONF_MINIMAL 726 config LV_USE_IMG 727 bool "Image. Requires: lv_label." 728 select LV_USE_LABEL 729 default y if !LV_CONF_MINIMAL 730 config LV_USE_LABEL 731 bool "Label." 732 default y if !LV_CONF_MINIMAL 733 config LV_LABEL_TEXT_SELECTION 734 bool "Enable selecting text of the label." 735 depends on LV_USE_LABEL 736 default y 737 config LV_LABEL_LONG_TXT_HINT 738 bool "Store extra some info in labels (12 bytes) to speed up drawing of very long texts." 739 depends on LV_USE_LABEL 740 default y 741 config LV_USE_LINE 742 bool "Line." 743 default y if !LV_CONF_MINIMAL 744 config LV_USE_ROLLER 745 bool "Roller. Requires: lv_label." 746 select LV_USE_LABEL 747 default y if !LV_CONF_MINIMAL 748 config LV_ROLLER_INF_PAGES 749 int "Number of extra 'pages' when the controller is infinite." 750 default 7 751 depends on LV_USE_ROLLER 752 config LV_USE_SLIDER 753 bool "Slider. Requires: lv_bar." 754 select LV_USE_BAR 755 default y if !LV_CONF_MINIMAL 756 config LV_USE_SWITCH 757 bool "Switch." 758 default y if !LV_CONF_MINIMAL 759 config LV_USE_TEXTAREA 760 bool "Text area. Requires: lv_label." 761 select LV_USE_LABEL 762 default y if !LV_CONF_MINIMAL 763 config LV_TEXTAREA_DEF_PWD_SHOW_TIME 764 int "Text area def. pwd show time [ms]." 765 default 1500 766 depends on LV_USE_TEXTAREA 767 config LV_USE_TABLE 768 bool "Table." 769 default y if !LV_CONF_MINIMAL 770 endmenu 771 772 menu "Extra Widgets" 773 config LV_USE_ANIMIMG 774 bool "Anim image." 775 default y if !LV_CONF_MINIMAL 776 config LV_USE_CALENDAR 777 bool "Calendar." 778 default y if !LV_CONF_MINIMAL 779 config LV_CALENDAR_WEEK_STARTS_MONDAY 780 bool "Calendar week starts monday." 781 depends on LV_USE_CALENDAR 782 config LV_USE_CALENDAR_HEADER_ARROW 783 bool "Use calendar header arrow" 784 depends on LV_USE_CALENDAR 785 default y 786 config LV_USE_CALENDAR_HEADER_DROPDOWN 787 bool "Use calendar header dropdown" 788 depends on LV_USE_CALENDAR 789 default y 790 config LV_USE_CHART 791 bool "Chart." 792 default y if !LV_CONF_MINIMAL 793 config LV_USE_COLORWHEEL 794 bool "Colorwheel." 795 default y if !LV_CONF_MINIMAL 796 config LV_USE_IMGBTN 797 bool "Imgbtn." 798 default y if !LV_CONF_MINIMAL 799 config LV_USE_KEYBOARD 800 bool "Keyboard." 801 default y if !LV_CONF_MINIMAL 802 config LV_USE_LED 803 bool "LED." 804 default y if !LV_CONF_MINIMAL 805 config LV_USE_LIST 806 bool "List." 807 default y if !LV_CONF_MINIMAL 808 config LV_USE_MENU 809 bool "Menu." 810 default y if !LV_CONF_MINIMAL 811 config LV_USE_METER 812 bool "Meter." 813 default y if !LV_CONF_MINIMAL 814 config LV_USE_MSGBOX 815 bool "Msgbox." 816 default y if !LV_CONF_MINIMAL 817 config LV_USE_SPINBOX 818 bool "Spinbox." 819 default y if !LV_CONF_MINIMAL 820 config LV_USE_SPINNER 821 bool "Spinner." 822 default y if !LV_CONF_MINIMAL 823 config LV_USE_TABVIEW 824 bool "Tabview." 825 default y if !LV_CONF_MINIMAL 826 config LV_USE_TILEVIEW 827 bool "Tileview" 828 default y if !LV_CONF_MINIMAL 829 config LV_USE_WIN 830 bool "Win" 831 default y if !LV_CONF_MINIMAL 832 config LV_USE_SPAN 833 bool "span" 834 default y if !LV_CONF_MINIMAL 835 config LV_SPAN_SNIPPET_STACK_SIZE 836 int "Maximum number of span descriptor" 837 default 64 838 depends on LV_USE_SPAN 839 endmenu 840 841 menu "Themes" 842 config LV_USE_THEME_DEFAULT 843 bool "A simple, impressive and very complete theme" 844 default y if !LV_CONF_MINIMAL 845 config LV_THEME_DEFAULT_DARK 846 bool "Yes to set dark mode, No to set light mode" 847 depends on LV_USE_THEME_DEFAULT 848 config LV_THEME_DEFAULT_GROW 849 bool "Enable grow on press" 850 default y 851 depends on LV_USE_THEME_DEFAULT 852 config LV_THEME_DEFAULT_TRANSITION_TIME 853 int "Default transition time in [ms]" 854 default 80 855 depends on LV_USE_THEME_DEFAULT 856 config LV_USE_THEME_BASIC 857 bool "A very simple theme that is a good starting point for a custom theme" 858 default y if !LV_CONF_MINIMAL 859 endmenu 860 861 menu "Layouts" 862 config LV_USE_FLEX 863 bool "A layout similar to Flexbox in CSS." 864 default y if !LV_CONF_MINIMAL 865 config LV_USE_GRID 866 bool "A layout similar to Grid in CSS." 867 default y if !LV_CONF_MINIMAL 868 endmenu 869 870 menu "3rd Party Libraries" 871 config LV_USE_FS_STDIO 872 bool "File system on top of stdio API" 873 config LV_FS_STDIO_LETTER 874 string "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65 )" 875 depends on LV_USE_FS_STDIO != 0 876 config LV_FS_STDIO_PATH 877 string "Set the working directory" 878 depends on LV_USE_FS_STDIO != 0 879 config LV_FS_STDIO_CACHE_SIZE 880 string ">0 to cache this number of bytes in lv_fs_read()" 881 depends on LV_USE_FS_STDIO != 0 882 883 config LV_USE_FS_POSIX 884 bool "File system on top of posix API" 885 config LV_FS_POSIX_LETTER 886 int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)" 887 default 0 888 depends on LV_USE_FS_POSIX != 0 889 config LV_FS_POSIX_PATH 890 string "Set the working directory" 891 depends on LV_USE_FS_POSIX != 0 892 config LV_FS_POSIX_CACHE_SIZE 893 int ">0 to cache this number of bytes in lv_fs_read()" 894 default 0 895 depends on LV_USE_FS_POSIX != 0 896 897 config LV_USE_FS_WIN32 898 bool "File system on top of Win32 API" 899 config LV_FS_WIN32_LETTER 900 int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)" 901 default 0 902 depends on LV_USE_FS_WIN32 != 0 903 config LV_FS_WIN32_PATH 904 string "Set the working directory" 905 depends on LV_USE_FS_WIN32 != 0 906 config LV_FS_WIN32_CACHE_SIZE 907 int ">0 to cache this number of bytes in lv_fs_read()" 908 default 0 909 depends on LV_USE_FS_WIN32 != 0 910 911 config LV_USE_FS_FATFS 912 bool "File system on top of FatFS" 913 config LV_FS_FATFS_LETTER 914 int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)" 915 default 0 916 depends on LV_USE_FS_FATFS != 0 917 config LV_FS_FATFS_CACHE_SIZE 918 int ">0 to cache this number of bytes in lv_fs_read()" 919 default 0 920 depends on LV_USE_FS_FATFS != 0 921 922 config LV_USE_PNG 923 bool "PNG decoder library" 924 925 config LV_USE_BMP 926 bool "BMP decoder library" 927 928 config LV_USE_SJPG 929 bool "JPG + split JPG decoder library" 930 931 config LV_USE_GIF 932 bool "GIF decoder library" 933 934 config LV_USE_QRCODE 935 bool "QR code library" 936 937 config LV_USE_FREETYPE 938 bool "FreeType library" 939 if LV_USE_FREETYPE 940 menu "FreeType cache config" 941 config LV_FREETYPE_CACHE_SIZE 942 int "Memory used by FreeType to cache characters [bytes] (-1: no caching)" 943 default 16384 944 if LV_FREETYPE_CACHE_SIZE >= 0 945 config LV_FREETYPE_SBIT_CACHE 946 bool "enable sbit cache" 947 default n 948 config LV_FREETYPE_CACHE_FT_FACES 949 int "The maximum number of FT_Face(0: use defaults)" 950 default 0 951 config LV_FREETYPE_CACHE_FT_SIZES 952 int "The maximum number of FT_Size(0: use defaults)" 953 default 0 954 endif 955 endmenu 956 endif 957 958 config LV_USE_RLOTTIE 959 bool "Lottie library" 960 961 config LV_USE_FFMPEG 962 bool "FFmpeg library" 963 config LV_FFMPEG_AV_DUMP_FORMAT 964 bool "Dump av format" 965 depends on LV_USE_FFMPEG 966 default n 967 endmenu 968 969 menu "Others" 970 config LV_USE_SNAPSHOT 971 bool "Enable API to take snapshot" 972 default y if !LV_CONF_MINIMAL 973 974 config LV_USE_MONKEY 975 bool "Enable Monkey test" 976 default n 977 config LV_USE_GRIDNAV 978 bool "Enable grid navigation" 979 default n 980 981 config LV_USE_FRAGMENT 982 bool "Enable lv_obj fragment" 983 default n 984 985 endmenu 986 987 menu "Examples" 988 config LV_BUILD_EXAMPLES 989 bool "Enable the examples to be built" 990 default y if !LV_CONF_MINIMAL 991 endmenu 992 993 menu "Demos" 994 config LV_USE_DEMO_WIDGETS 995 bool "Show some widget" 996 default n 997 config LV_DEMO_WIDGETS_SLIDESHOW 998 bool "Enable slide show" 999 depends on LV_USE_DEMO_WIDGETS 1000 default n 1001 1002 config LV_USE_DEMO_KEYPAD_AND_ENCODER 1003 bool "Demonstrate the usage of encoder and keyboard" 1004 default n 1005 1006 config LV_USE_DEMO_BENCHMARK 1007 bool "Benchmark your system" 1008 default n 1009 1010 config LV_USE_DEMO_STRESS 1011 bool "Stress test for LVGL" 1012 default n 1013 1014 config LV_USE_DEMO_MUSIC 1015 bool "Music player demo" 1016 default n 1017 config LV_DEMO_MUSIC_SQUARE 1018 bool "Enable Square" 1019 depends on LV_USE_DEMO_MUSIC 1020 default n 1021 config LV_DEMO_MUSIC_LANDSCAPE 1022 bool "Enable Landscape" 1023 depends on LV_USE_DEMO_MUSIC 1024 default n 1025 config LV_DEMO_MUSIC_ROUND 1026 bool "Enable Round" 1027 depends on LV_USE_DEMO_MUSIC 1028 default n 1029 config LV_DEMO_MUSIC_LARGE 1030 bool "Enable Large" 1031 depends on LV_USE_DEMO_MUSIC 1032 default n 1033 config LV_DEMO_MUSIC_AUTO_PLAY 1034 bool "Enable Auto play" 1035 depends on LV_USE_DEMO_MUSIC 1036 default n 1037 endmenu 1038 1039endmenu 1040