lv_conf.h (35458B)
1 /** 2 * @file lv_conf.h 3 * Configuration file for v9.2.0 4 */ 5 6 /* 7 * Copy this file as `lv_conf.h` 8 * 1. simply next to the `lvgl` folder 9 * 2. or any other places and 10 * - define `LV_CONF_INCLUDE_SIMPLE` 11 * - add the path as include path 12 */ 13 14 /* clang-format off */ 15 #if 1 /*Content enable*/ 16 #ifndef LV_CONF_H 17 #define LV_CONF_H 18 19 /*If you need to include anything here, do it inside the `__ASSEMBLY__` guard */ 20 #if 0 && defined(__ASSEMBLY__) 21 #include "my_include.h" 22 #endif 23 24 /*==================== 25 COLOR SETTINGS 26 *====================*/ 27 28 /*Color depth: 1 (I1), 8 (L8), 16 (RGB565), 24 (RGB888), 32 (XRGB8888)*/ 29 #define LV_COLOR_DEPTH 32 30 31 /*========================= 32 STDLIB WRAPPER SETTINGS 33 *=========================*/ 34 35 /* Possible values 36 * - LV_STDLIB_BUILTIN: LVGL's built in implementation 37 * - LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc 38 * - LV_STDLIB_MICROPYTHON: MicroPython implementation 39 * - LV_STDLIB_RTTHREAD: RT-Thread implementation 40 * - LV_STDLIB_CUSTOM: Implement the functions externally 41 */ 42 #define LV_USE_STDLIB_MALLOC LV_STDLIB_BUILTIN 43 #define LV_USE_STDLIB_STRING LV_STDLIB_BUILTIN 44 #define LV_USE_STDLIB_SPRINTF LV_STDLIB_BUILTIN 45 46 #define LV_STDINT_INCLUDE <stdint.h> 47 #define LV_STDDEF_INCLUDE <stddef.h> 48 #define LV_STDBOOL_INCLUDE <stdbool.h> 49 #define LV_INTTYPES_INCLUDE <inttypes.h> 50 #define LV_LIMITS_INCLUDE <limits.h> 51 #define LV_STDARG_INCLUDE <stdarg.h> 52 53 #if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN 54 /*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/ 55 #define LV_MEM_SIZE (1024 * 1024) 56 57 /*Size of the memory expand for `lv_malloc()` in bytes*/ 58 #define LV_MEM_POOL_EXPAND_SIZE 0 59 60 /*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/ 61 #define LV_MEM_ADR 0 /*0: unused*/ 62 /*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/ 63 #if LV_MEM_ADR == 0 64 #undef LV_MEM_POOL_INCLUDE 65 #undef LV_MEM_POOL_ALLOC 66 #endif 67 #endif /*LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN*/ 68 69 /*==================== 70 HAL SETTINGS 71 *====================*/ 72 73 /*Default display refresh, input device read and animation step period.*/ 74 #define LV_DEF_REFR_PERIOD 33 /*[ms]*/ 75 76 /*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings. 77 *(Not so important, you can adjust it to modify default sizes and spaces)*/ 78 #define LV_DPI_DEF 130 /*[px/inch]*/ 79 80 /*================= 81 * OPERATING SYSTEM 82 *=================*/ 83 /*Select an operating system to use. Possible options: 84 * - LV_OS_NONE 85 * - LV_OS_PTHREAD 86 * - LV_OS_FREERTOS 87 * - LV_OS_CMSIS_RTOS2 88 * - LV_OS_RTTHREAD 89 * - LV_OS_WINDOWS 90 * - LV_OS_MQX 91 * - LV_OS_CUSTOM */ 92 #define LV_USE_OS LV_OS_NONE 93 94 #if LV_USE_OS == LV_OS_CUSTOM 95 #define LV_OS_CUSTOM_INCLUDE <stdint.h> 96 #endif 97 98 /*======================== 99 * RENDERING CONFIGURATION 100 *========================*/ 101 102 /*Align the stride of all layers and images to this bytes*/ 103 #define LV_DRAW_BUF_STRIDE_ALIGN 1 104 105 /*Align the start address of draw_buf addresses to this bytes*/ 106 #define LV_DRAW_BUF_ALIGN 4 107 108 /*Using matrix for transformations. 109 *Requirements: 110 `LV_USE_MATRIX = 1`. 111 The rendering engine needs to support 3x3 matrix transformations.*/ 112 #define LV_DRAW_TRANSFORM_USE_MATRIX 0 113 114 /* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode 115 * it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks. 116 * "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers 117 * and can't be drawn in chunks. */ 118 119 /*The target buffer size for simple layer chunks.*/ 120 #define LV_DRAW_LAYER_SIMPLE_BUF_SIZE (24 * 1024) /*[bytes]*/ 121 122 /* The stack size of the drawing thread. 123 * NOTE: If FreeType or ThorVG is enabled, it is recommended to set it to 32KB or more. 124 */ 125 #define LV_DRAW_THREAD_STACK_SIZE (8 * 1024) /*[bytes]*/ 126 127 #define LV_USE_DRAW_SW 1 128 #if LV_USE_DRAW_SW == 1 129 130 /* 131 * Selectively disable color format support in order to reduce code size. 132 * NOTE: some features use certain color formats internally, e.g. 133 * - gradients use RGB888 134 * - bitmaps with transparency may use ARGB8888 135 */ 136 137 #define LV_DRAW_SW_SUPPORT_RGB565 1 138 #define LV_DRAW_SW_SUPPORT_RGB565A8 1 139 #define LV_DRAW_SW_SUPPORT_RGB888 1 140 #define LV_DRAW_SW_SUPPORT_XRGB8888 1 141 #define LV_DRAW_SW_SUPPORT_ARGB8888 1 142 #define LV_DRAW_SW_SUPPORT_L8 1 143 #define LV_DRAW_SW_SUPPORT_AL88 1 144 #define LV_DRAW_SW_SUPPORT_A8 1 145 #define LV_DRAW_SW_SUPPORT_I1 1 146 147 /* Set the number of draw unit. 148 * > 1 requires an operating system enabled in `LV_USE_OS` 149 * > 1 means multiple threads will render the screen in parallel */ 150 #define LV_DRAW_SW_DRAW_UNIT_CNT 1 151 152 /* Use Arm-2D to accelerate the sw render */ 153 #define LV_USE_DRAW_ARM2D_SYNC 0 154 155 /* Enable native helium assembly to be compiled */ 156 #define LV_USE_NATIVE_HELIUM_ASM 0 157 158 /* 0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only 159 * 1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too */ 160 #define LV_DRAW_SW_COMPLEX 1 161 162 #if LV_DRAW_SW_COMPLEX == 1 163 /*Allow buffering some shadow calculation. 164 *LV_DRAW_SW_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius` 165 *Caching has LV_DRAW_SW_SHADOW_CACHE_SIZE^2 RAM cost*/ 166 #define LV_DRAW_SW_SHADOW_CACHE_SIZE 0 167 168 /* Set number of maximally cached circle data. 169 * The circumference of 1/4 circle are saved for anti-aliasing 170 * radius * 4 bytes are used per circle (the most often used radiuses are saved) 171 * 0: to disable caching */ 172 #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 173 #endif 174 175 #define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE 176 177 #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM 178 #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE "" 179 #endif 180 181 /* Enable drawing complex gradients in software: linear at an angle, radial or conical */ 182 #define LV_USE_DRAW_SW_COMPLEX_GRADIENTS 1 183 #endif 184 185 /* Use NXP's VG-Lite GPU on iMX RTxxx platforms. */ 186 #define LV_USE_DRAW_VGLITE 0 187 188 #if LV_USE_DRAW_VGLITE 189 /* Enable blit quality degradation workaround recommended for screen's dimension > 352 pixels. */ 190 #define LV_USE_VGLITE_BLIT_SPLIT 0 191 192 #if LV_USE_OS 193 /* Use additional draw thread for VG-Lite processing.*/ 194 #define LV_USE_VGLITE_DRAW_THREAD 1 195 196 #if LV_USE_VGLITE_DRAW_THREAD 197 /* Enable VGLite draw async. Queue multiple tasks and flash them once to the GPU. */ 198 #define LV_USE_VGLITE_DRAW_ASYNC 1 199 #endif 200 #endif 201 202 /* Enable VGLite asserts. */ 203 #define LV_USE_VGLITE_ASSERT 0 204 #endif 205 206 /* Use NXP's PXP on iMX RTxxx platforms. */ 207 #define LV_USE_DRAW_PXP 0 208 209 #if LV_USE_DRAW_PXP 210 #if LV_USE_OS 211 /* Use additional draw thread for PXP processing.*/ 212 #define LV_USE_PXP_DRAW_THREAD 1 213 #endif 214 215 /* Enable PXP asserts. */ 216 #define LV_USE_PXP_ASSERT 0 217 #endif 218 219 /* Use Renesas Dave2D on RA platforms. */ 220 #define LV_USE_DRAW_DAVE2D 0 221 222 /* Draw using cached SDL textures*/ 223 #define LV_USE_DRAW_SDL 0 224 225 /* Use VG-Lite GPU. */ 226 #define LV_USE_DRAW_VG_LITE 0 227 228 #if LV_USE_DRAW_VG_LITE 229 /* Enable VG-Lite custom external 'gpu_init()' function */ 230 #define LV_VG_LITE_USE_GPU_INIT 0 231 232 /* Enable VG-Lite assert. */ 233 #define LV_VG_LITE_USE_ASSERT 0 234 235 /* VG-Lite flush commit trigger threshold. GPU will try to batch these many draw tasks. */ 236 #define LV_VG_LITE_FLUSH_MAX_COUNT 8 237 238 /* Enable border to simulate shadow 239 * NOTE: which usually improves performance, 240 * but does not guarantee the same rendering quality as the software. */ 241 #define LV_VG_LITE_USE_BOX_SHADOW 0 242 243 /* VG-Lite gradient maximum cache number. 244 * NOTE: The memory usage of a single gradient image is 4K bytes. 245 */ 246 #define LV_VG_LITE_GRAD_CACHE_CNT 32 247 248 /* VG-Lite stroke maximum cache number. 249 */ 250 #define LV_VG_LITE_STROKE_CACHE_CNT 32 251 252 #endif 253 254 /*======================= 255 * FEATURE CONFIGURATION 256 *=======================*/ 257 258 /*------------- 259 * Logging 260 *-----------*/ 261 262 /*Enable the log module*/ 263 #define LV_USE_LOG 1 264 #if LV_USE_LOG 265 266 /*How important log should be added: 267 *LV_LOG_LEVEL_TRACE A lot of logs to give detailed information 268 *LV_LOG_LEVEL_INFO Log important events 269 *LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem 270 *LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail 271 *LV_LOG_LEVEL_USER Only logs added by the user 272 *LV_LOG_LEVEL_NONE Do not log anything*/ 273 #define LV_LOG_LEVEL LV_LOG_LEVEL_WARN 274 275 /*1: Print the log with 'printf'; 276 *0: User need to register a callback with `lv_log_register_print_cb()`*/ 277 #define LV_LOG_PRINTF 1 278 279 /*Set callback to print the logs. 280 *E.g `my_print`. The prototype should be `void my_print(lv_log_level_t level, const char * buf)` 281 *Can be overwritten by `lv_log_register_print_cb`*/ 282 //#define LV_LOG_PRINT_CB 283 284 /*1: Enable print timestamp; 285 *0: Disable print timestamp*/ 286 #define LV_LOG_USE_TIMESTAMP 1 287 288 /*1: Print file and line number of the log; 289 *0: Do not print file and line number of the log*/ 290 #define LV_LOG_USE_FILE_LINE 1 291 292 293 /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/ 294 #define LV_LOG_TRACE_MEM 1 295 #define LV_LOG_TRACE_TIMER 1 296 #define LV_LOG_TRACE_INDEV 1 297 #define LV_LOG_TRACE_DISP_REFR 1 298 #define LV_LOG_TRACE_EVENT 1 299 #define LV_LOG_TRACE_OBJ_CREATE 1 300 #define LV_LOG_TRACE_LAYOUT 1 301 #define LV_LOG_TRACE_ANIM 1 302 #define LV_LOG_TRACE_CACHE 1 303 304 #endif /*LV_USE_LOG*/ 305 306 /*------------- 307 * Asserts 308 *-----------*/ 309 310 /*Enable asserts if an operation is failed or an invalid data is found. 311 *If LV_USE_LOG is enabled an error message will be printed on failure*/ 312 #define LV_USE_ASSERT_NULL 1 /*Check if the parameter is NULL. (Very fast, recommended)*/ 313 #define LV_USE_ASSERT_MALLOC 1 /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/ 314 #define LV_USE_ASSERT_STYLE 1 315 #define LV_USE_ASSERT_MEM_INTEGRITY 1 316 #define LV_USE_ASSERT_OBJ 1 317 318 /*Add a custom handler when assert happens e.g. to restart the MCU*/ 319 #define LV_ASSERT_HANDLER_INCLUDE <stdint.h> 320 #define LV_ASSERT_HANDLER while(1); /*Halt by default*/ 321 322 /*------------- 323 * Debug 324 *-----------*/ 325 326 /*1: Draw random colored rectangles over the redrawn areas*/ 327 #define LV_USE_REFR_DEBUG 0 328 329 /*1: Draw a red overlay for ARGB layers and a green overlay for RGB layers*/ 330 #define LV_USE_LAYER_DEBUG 0 331 332 /*1: Draw overlays with different colors for each draw_unit's tasks. 333 *Also add the index number of the draw unit on white background. 334 *For layers add the index number of the draw unit on black background.*/ 335 #define LV_USE_PARALLEL_DRAW_DEBUG 0 336 337 /*------------- 338 * Others 339 *-----------*/ 340 341 #define LV_ENABLE_GLOBAL_CUSTOM 0 342 #if LV_ENABLE_GLOBAL_CUSTOM 343 /*Header to include for the custom 'lv_global' function"*/ 344 #define LV_GLOBAL_CUSTOM_INCLUDE <stdint.h> 345 #endif 346 347 /*Default cache size in bytes. 348 *Used by image decoders such as `lv_lodepng` to keep the decoded image in the memory. 349 *If size is not set to 0, the decoder will fail to decode when the cache is full. 350 *If size is 0, the cache function is not enabled and the decoded mem will be released immediately after use.*/ 351 #define LV_CACHE_DEF_SIZE 0 352 353 /*Default number of image header cache entries. The cache is used to store the headers of images 354 *The main logic is like `LV_CACHE_DEF_SIZE` but for image headers.*/ 355 #define LV_IMAGE_HEADER_CACHE_DEF_CNT 0 356 357 /*Number of stops allowed per gradient. Increase this to allow more stops. 358 *This adds (sizeof(lv_color_t) + 1) bytes per additional stop*/ 359 #define LV_GRADIENT_MAX_STOPS 2 360 361 /* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently. 362 * 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */ 363 #define LV_COLOR_MIX_ROUND_OFS 0 364 365 /* Add 2 x 32 bit variables to each lv_obj_t to speed up getting style properties */ 366 #define LV_OBJ_STYLE_CACHE 1 367 368 /* Add `id` field to `lv_obj_t` */ 369 #define LV_USE_OBJ_ID 0 370 371 /* Automatically assign an ID when obj is created */ 372 #define LV_OBJ_ID_AUTO_ASSIGN LV_USE_OBJ_ID 373 374 /*Use the builtin obj ID handler functions: 375 * - lv_obj_assign_id: Called when a widget is created. Use a separate counter for each widget class as an ID. 376 * - lv_obj_id_compare: Compare the ID to decide if it matches with a requested value. 377 * - lv_obj_stringify_id: Return e.g. "button3" 378 * - lv_obj_free_id: Does nothing, as there is no memory allocation for the ID. 379 * When disabled these functions needs to be implemented by the user.*/ 380 #define LV_USE_OBJ_ID_BUILTIN 1 381 382 /*Use obj property set/get API*/ 383 #define LV_USE_OBJ_PROPERTY 0 384 385 /*Enable property name support*/ 386 #define LV_USE_OBJ_PROPERTY_NAME 1 387 388 /* VG-Lite Simulator */ 389 /*Requires: LV_USE_THORVG_INTERNAL or LV_USE_THORVG_EXTERNAL */ 390 #define LV_USE_VG_LITE_THORVG 0 391 392 #if LV_USE_VG_LITE_THORVG 393 394 /*Enable LVGL's blend mode support*/ 395 #define LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT 0 396 397 /*Enable YUV color format support*/ 398 #define LV_VG_LITE_THORVG_YUV_SUPPORT 0 399 400 /*Enable Linear gradient extension support*/ 401 #define LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT 0 402 403 /*Enable 16 pixels alignment*/ 404 #define LV_VG_LITE_THORVG_16PIXELS_ALIGN 1 405 406 /*Buffer address alignment*/ 407 #define LV_VG_LITE_THORVG_BUF_ADDR_ALIGN 64 408 409 /*Enable multi-thread render*/ 410 #define LV_VG_LITE_THORVG_THREAD_RENDER 0 411 412 #endif 413 414 /*===================== 415 * COMPILER SETTINGS 416 *====================*/ 417 418 /*For big endian systems set to 1*/ 419 #define LV_BIG_ENDIAN_SYSTEM 0 420 421 /*Define a custom attribute to `lv_tick_inc` function*/ 422 #define LV_ATTRIBUTE_TICK_INC 423 424 /*Define a custom attribute to `lv_timer_handler` function*/ 425 #define LV_ATTRIBUTE_TIMER_HANDLER 426 427 /*Define a custom attribute to `lv_display_flush_ready` function*/ 428 #define LV_ATTRIBUTE_FLUSH_READY 429 430 /*Required alignment size for buffers*/ 431 #define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1 432 433 /*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default). 434 * E.g. __attribute__((aligned(4)))*/ 435 #define LV_ATTRIBUTE_MEM_ALIGN 436 437 /*Attribute to mark large constant arrays for example font's bitmaps*/ 438 #define LV_ATTRIBUTE_LARGE_CONST 439 440 /*Compiler prefix for a big array declaration in RAM*/ 441 #define LV_ATTRIBUTE_LARGE_RAM_ARRAY 442 443 /*Place performance critical functions into a faster memory (e.g RAM)*/ 444 #define LV_ATTRIBUTE_FAST_MEM 445 446 /*Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that 447 *should also appear on LVGL binding API such as MicroPython.*/ 448 #define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/ 449 450 /*Prefix all global extern data with this*/ 451 #define LV_ATTRIBUTE_EXTERN_DATA 452 453 /* Use `float` as `lv_value_precise_t` */ 454 #define LV_USE_FLOAT 1 455 456 /*Enable matrix support 457 *Requires `LV_USE_FLOAT = 1`*/ 458 #define LV_USE_MATRIX 1 459 460 /*Include `lvgl_private.h` in `lvgl.h` to access internal data and functions by default*/ 461 #define LV_USE_PRIVATE_API 0 462 463 /*================== 464 * FONT USAGE 465 *===================*/ 466 467 /*Montserrat fonts with ASCII range and some symbols using bpp = 4 468 *https://fonts.google.com/specimen/Montserrat*/ 469 #define LV_FONT_MONTSERRAT_8 0 470 #define LV_FONT_MONTSERRAT_10 0 471 #define LV_FONT_MONTSERRAT_12 1 472 #define LV_FONT_MONTSERRAT_14 1 473 #define LV_FONT_MONTSERRAT_16 1 474 #define LV_FONT_MONTSERRAT_18 1 475 #define LV_FONT_MONTSERRAT_20 1 476 #define LV_FONT_MONTSERRAT_22 1 477 #define LV_FONT_MONTSERRAT_24 1 478 #define LV_FONT_MONTSERRAT_26 1 479 #define LV_FONT_MONTSERRAT_28 1 480 #define LV_FONT_MONTSERRAT_30 1 481 #define LV_FONT_MONTSERRAT_32 1 482 #define LV_FONT_MONTSERRAT_34 1 483 #define LV_FONT_MONTSERRAT_36 1 484 #define LV_FONT_MONTSERRAT_38 1 485 #define LV_FONT_MONTSERRAT_40 1 486 #define LV_FONT_MONTSERRAT_42 1 487 #define LV_FONT_MONTSERRAT_44 1 488 #define LV_FONT_MONTSERRAT_46 1 489 #define LV_FONT_MONTSERRAT_48 1 490 491 /*Demonstrate special features*/ 492 #define LV_FONT_MONTSERRAT_28_COMPRESSED 1 493 #define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1 494 #define LV_FONT_SIMSUN_14_CJK 0 /*1000 most common CJK radicals*/ 495 #define LV_FONT_SIMSUN_16_CJK 1 496 497 /*Pixel perfect monospace fonts*/ 498 #define LV_FONT_UNSCII_8 1 499 #define LV_FONT_UNSCII_16 0 500 501 /*Optionally declare custom fonts here. 502 *You can use these fonts as default font too and they will be available globally. 503 *E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/ 504 #define LV_FONT_CUSTOM_DECLARE 505 506 /*Always set a default font*/ 507 #define LV_FONT_DEFAULT &lv_font_montserrat_14 508 509 /*Enable handling large font and/or fonts with a lot of characters. 510 *The limit depends on the font size, font face and bpp. 511 *Compiler error will be triggered if a font needs it.*/ 512 #define LV_FONT_FMT_TXT_LARGE 0 513 514 /*Enables/disables support for compressed fonts.*/ 515 #define LV_USE_FONT_COMPRESSED 0 516 517 /*Enable drawing placeholders when glyph dsc is not found*/ 518 #define LV_USE_FONT_PLACEHOLDER 1 519 520 /*================= 521 * TEXT SETTINGS 522 *=================*/ 523 524 /** 525 * Select a character encoding for strings. 526 * Your IDE or editor should have the same character encoding 527 * - LV_TXT_ENC_UTF8 528 * - LV_TXT_ENC_ASCII 529 */ 530 #define LV_TXT_ENC LV_TXT_ENC_UTF8 531 532 /*Can break (wrap) texts on these chars*/ 533 #define LV_TXT_BREAK_CHARS " ,.;:-_)]}" 534 535 /*If a word is at least this long, will break wherever "prettiest" 536 *To disable, set to a value <= 0*/ 537 #define LV_TXT_LINE_BREAK_LONG_LEN 0 538 539 /*Minimum number of characters in a long word to put on a line before a break. 540 *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ 541 #define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 542 543 /*Minimum number of characters in a long word to put on a line after a break. 544 *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ 545 #define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 546 547 /*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts. 548 *The direction will be processed according to the Unicode Bidirectional Algorithm: 549 *https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ 550 #define LV_USE_BIDI 0 551 #if LV_USE_BIDI 552 /*Set the default direction. Supported values: 553 *`LV_BASE_DIR_LTR` Left-to-Right 554 *`LV_BASE_DIR_RTL` Right-to-Left 555 *`LV_BASE_DIR_AUTO` detect texts base direction*/ 556 #define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO 557 #endif 558 559 /*Enable Arabic/Persian processing 560 *In these languages characters should be replaced with another form based on their position in the text*/ 561 #define LV_USE_ARABIC_PERSIAN_CHARS 0 562 563 /*================== 564 * WIDGETS 565 *================*/ 566 567 /*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/ 568 569 #define LV_WIDGETS_HAS_DEFAULT_VALUE 1 570 571 #define LV_USE_ANIMIMG 1 572 573 #define LV_USE_ARC 1 574 575 #define LV_USE_BAR 1 576 577 #define LV_USE_BUTTON 1 578 579 #define LV_USE_BUTTONMATRIX 1 580 581 #define LV_USE_CALENDAR 1 582 #if LV_USE_CALENDAR 583 #define LV_CALENDAR_WEEK_STARTS_MONDAY 0 584 #if LV_CALENDAR_WEEK_STARTS_MONDAY 585 #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"} 586 #else 587 #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"} 588 #endif 589 590 #define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} 591 #define LV_USE_CALENDAR_HEADER_ARROW 1 592 #define LV_USE_CALENDAR_HEADER_DROPDOWN 1 593 #define LV_USE_CALENDAR_CHINESE 0 594 #endif /*LV_USE_CALENDAR*/ 595 596 #define LV_USE_CANVAS 1 597 598 #define LV_USE_CHART 1 599 600 #define LV_USE_CHECKBOX 1 601 602 #define LV_USE_DROPDOWN 1 /*Requires: lv_label*/ 603 604 #define LV_USE_IMAGE 1 /*Requires: lv_label*/ 605 606 #define LV_USE_IMAGEBUTTON 1 607 608 #define LV_USE_KEYBOARD 1 609 610 #define LV_USE_LABEL 1 611 #if LV_USE_LABEL 612 #define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/ 613 #define LV_LABEL_LONG_TXT_HINT 1 /*Store some extra info in labels to speed up drawing of very long texts*/ 614 #define LV_LABEL_WAIT_CHAR_COUNT 3 /*The count of wait chart*/ 615 #endif 616 617 #define LV_USE_LED 1 618 619 #define LV_USE_LINE 1 620 621 #define LV_USE_LIST 1 622 623 #define LV_USE_LOTTIE 1 624 625 #define LV_USE_MENU 1 626 627 #define LV_USE_MSGBOX 1 628 629 #define LV_USE_ROLLER 1 /*Requires: lv_label*/ 630 631 #define LV_USE_SCALE 1 632 633 #define LV_USE_SLIDER 1 /*Requires: lv_bar*/ 634 635 #define LV_USE_SPAN 1 636 #if LV_USE_SPAN 637 /*A line text can contain maximum num of span descriptor */ 638 #define LV_SPAN_SNIPPET_STACK_SIZE 64 639 #endif 640 641 #define LV_USE_SPINBOX 1 642 643 #define LV_USE_SPINNER 1 644 645 #define LV_USE_SWITCH 1 646 647 #define LV_USE_TEXTAREA 1 /*Requires: lv_label*/ 648 #if LV_USE_TEXTAREA != 0 649 #define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/ 650 #endif 651 652 #define LV_USE_TABLE 1 653 654 #define LV_USE_TABVIEW 1 655 656 #define LV_USE_TILEVIEW 1 657 658 #define LV_USE_WIN 1 659 660 /*================== 661 * THEMES 662 *==================*/ 663 664 /*A simple, impressive and very complete theme*/ 665 #define LV_USE_THEME_DEFAULT 1 666 #if LV_USE_THEME_DEFAULT 667 668 /*0: Light mode; 1: Dark mode*/ 669 #define LV_THEME_DEFAULT_DARK 0 670 671 /*1: Enable grow on press*/ 672 #define LV_THEME_DEFAULT_GROW 1 673 674 /*Default transition time in [ms]*/ 675 #define LV_THEME_DEFAULT_TRANSITION_TIME 80 676 #endif /*LV_USE_THEME_DEFAULT*/ 677 678 /*A very simple theme that is a good starting point for a custom theme*/ 679 #define LV_USE_THEME_SIMPLE 1 680 681 /*A theme designed for monochrome displays*/ 682 #define LV_USE_THEME_MONO 1 683 684 /*================== 685 * LAYOUTS 686 *==================*/ 687 688 /*A layout similar to Flexbox in CSS.*/ 689 #define LV_USE_FLEX 1 690 691 /*A layout similar to Grid in CSS.*/ 692 #define LV_USE_GRID 1 693 694 /*==================== 695 * 3RD PARTS LIBRARIES 696 *====================*/ 697 698 /*File system interfaces for common APIs */ 699 700 /*Setting a default driver letter allows skipping the driver prefix in filepaths*/ 701 #define LV_FS_DEFAULT_DRIVE_LETTER '\0' 702 703 /*API for fopen, fread, etc*/ 704 #define LV_USE_FS_STDIO 1 705 #if LV_USE_FS_STDIO 706 #define LV_FS_STDIO_LETTER 'A' 707 #define LV_FS_STDIO_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ 708 #define LV_FS_STDIO_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ 709 #endif 710 711 /*API for open, read, etc*/ 712 #define LV_USE_FS_POSIX 0 713 #if LV_USE_FS_POSIX 714 #define LV_FS_POSIX_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 715 #define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ 716 #define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ 717 #endif 718 719 /*API for CreateFile, ReadFile, etc*/ 720 #define LV_USE_FS_WIN32 0 721 #if LV_USE_FS_WIN32 722 #define LV_FS_WIN32_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 723 #define LV_FS_WIN32_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ 724 #define LV_FS_WIN32_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ 725 #endif 726 727 /*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/ 728 #define LV_USE_FS_FATFS 0 729 #if LV_USE_FS_FATFS 730 #define LV_FS_FATFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 731 #define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ 732 #endif 733 734 /*API for memory-mapped file access. */ 735 #define LV_USE_FS_MEMFS 0 736 #if LV_USE_FS_MEMFS 737 #define LV_FS_MEMFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 738 #endif 739 740 /*API for LittleFs. */ 741 #define LV_USE_FS_LITTLEFS 0 742 #if LV_USE_FS_LITTLEFS 743 #define LV_FS_LITTLEFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 744 #endif 745 746 /*API for Arduino LittleFs. */ 747 #define LV_USE_FS_ARDUINO_ESP_LITTLEFS 0 748 #if LV_USE_FS_ARDUINO_ESP_LITTLEFS 749 #define LV_FS_ARDUINO_ESP_LITTLEFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 750 #endif 751 752 /*API for Arduino Sd. */ 753 #define LV_USE_FS_ARDUINO_SD 0 754 #if LV_USE_FS_ARDUINO_SD 755 #define LV_FS_ARDUINO_SD_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 756 #endif 757 758 /*LODEPNG decoder library*/ 759 #define LV_USE_LODEPNG 1 760 761 /*PNG decoder(libpng) library*/ 762 #define LV_USE_LIBPNG 0 763 764 /*BMP decoder library*/ 765 #define LV_USE_BMP 1 766 767 /* JPG + split JPG decoder library. 768 * Split JPG is a custom format optimized for embedded systems. */ 769 #define LV_USE_TJPGD 1 770 771 /* libjpeg-turbo decoder library. 772 * Supports complete JPEG specifications and high-performance JPEG decoding. */ 773 #define LV_USE_LIBJPEG_TURBO 0 774 775 /*GIF decoder library*/ 776 #define LV_USE_GIF 0 777 #if LV_USE_GIF 778 /*GIF decoder accelerate*/ 779 #define LV_GIF_CACHE_DECODE_DATA 0 780 #endif 781 782 783 /*Decode bin images to RAM*/ 784 #define LV_BIN_DECODER_RAM_LOAD 1 785 786 /*RLE decompress library*/ 787 #define LV_USE_RLE 1 788 789 /*QR code library*/ 790 #define LV_USE_QRCODE 1 791 792 /*Barcode code library*/ 793 #define LV_USE_BARCODE 1 794 795 /*FreeType library*/ 796 #define LV_USE_FREETYPE 0 797 #if LV_USE_FREETYPE 798 /*Let FreeType to use LVGL memory and file porting*/ 799 #define LV_FREETYPE_USE_LVGL_PORT 0 800 801 /*Cache count of the glyphs in FreeType. It means the number of glyphs that can be cached. 802 *The higher the value, the more memory will be used.*/ 803 #define LV_FREETYPE_CACHE_FT_GLYPH_CNT 256 804 #endif 805 806 /* Built-in TTF decoder */ 807 #define LV_USE_TINY_TTF 1 808 #if LV_USE_TINY_TTF 809 /* Enable loading TTF data from files */ 810 #define LV_TINY_TTF_FILE_SUPPORT 0 811 #define LV_TINY_TTF_CACHE_GLYPH_CNT 256 812 #endif 813 814 /*Rlottie library*/ 815 #define LV_USE_RLOTTIE 0 816 817 /*Enable Vector Graphic APIs 818 *Requires `LV_USE_MATRIX = 1`*/ 819 #define LV_USE_VECTOR_GRAPHIC 1 820 821 /* Enable ThorVG (vector graphics library) from the src/libs folder */ 822 #define LV_USE_THORVG_INTERNAL 1 823 824 /* Enable ThorVG by assuming that its installed and linked to the project */ 825 #define LV_USE_THORVG_EXTERNAL 0 826 827 /*Use lvgl built-in LZ4 lib*/ 828 #define LV_USE_LZ4_INTERNAL 1 829 830 /*Use external LZ4 library*/ 831 #define LV_USE_LZ4_EXTERNAL 0 832 833 /*FFmpeg library for image decoding and playing videos 834 *Supports all major image formats so do not enable other image decoder with it*/ 835 #define LV_USE_FFMPEG 0 836 #if LV_USE_FFMPEG 837 /*Dump input information to stderr*/ 838 #define LV_FFMPEG_DUMP_FORMAT 0 839 #endif 840 841 /*================== 842 * OTHERS 843 *==================*/ 844 845 /*1: Enable API to take snapshot for object*/ 846 #define LV_USE_SNAPSHOT 0 847 848 /*1: Enable system monitor component*/ 849 #define LV_USE_SYSMON 0 850 #if LV_USE_SYSMON 851 /*Get the idle percentage. E.g. uint32_t my_get_idle(void);*/ 852 #define LV_SYSMON_GET_IDLE lv_timer_get_idle 853 854 /*1: Show CPU usage and FPS count 855 * Requires `LV_USE_SYSMON = 1`*/ 856 #define LV_USE_PERF_MONITOR 0 857 #if LV_USE_PERF_MONITOR 858 #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT 859 860 /*0: Displays performance data on the screen, 1: Prints performance data using log.*/ 861 #define LV_USE_PERF_MONITOR_LOG_MODE 0 862 #endif 863 864 /*1: Show the used memory and the memory fragmentation 865 * Requires `LV_USE_STDLIB_MALLOC = LV_STDLIB_BUILTIN` 866 * Requires `LV_USE_SYSMON = 1`*/ 867 #define LV_USE_MEM_MONITOR 0 868 #if LV_USE_MEM_MONITOR 869 #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT 870 #endif 871 872 #endif /*LV_USE_SYSMON*/ 873 874 /*1: Enable the runtime performance profiler*/ 875 #define LV_USE_PROFILER 0 876 #if LV_USE_PROFILER 877 /*1: Enable the built-in profiler*/ 878 #define LV_USE_PROFILER_BUILTIN 1 879 #if LV_USE_PROFILER_BUILTIN 880 /*Default profiler trace buffer size*/ 881 #define LV_PROFILER_BUILTIN_BUF_SIZE (16 * 1024) /*[bytes]*/ 882 #endif 883 884 /*Header to include for the profiler*/ 885 #define LV_PROFILER_INCLUDE "lvgl/src/misc/lv_profiler_builtin.h" 886 887 /*Profiler start point function*/ 888 #define LV_PROFILER_BEGIN LV_PROFILER_BUILTIN_BEGIN 889 890 /*Profiler end point function*/ 891 #define LV_PROFILER_END LV_PROFILER_BUILTIN_END 892 893 /*Profiler start point function with custom tag*/ 894 #define LV_PROFILER_BEGIN_TAG LV_PROFILER_BUILTIN_BEGIN_TAG 895 896 /*Profiler end point function with custom tag*/ 897 #define LV_PROFILER_END_TAG LV_PROFILER_BUILTIN_END_TAG 898 #endif 899 900 /*1: Enable Monkey test*/ 901 #define LV_USE_MONKEY 0 902 903 /*1: Enable grid navigation*/ 904 #define LV_USE_GRIDNAV 0 905 906 /*1: Enable lv_obj fragment*/ 907 #define LV_USE_FRAGMENT 0 908 909 /*1: Support using images as font in label or span widgets */ 910 #define LV_USE_IMGFONT 1 911 912 /*1: Enable an observer pattern implementation*/ 913 #define LV_USE_OBSERVER 1 914 915 /*1: Enable Pinyin input method*/ 916 /*Requires: lv_keyboard*/ 917 #define LV_USE_IME_PINYIN 0 918 #if LV_USE_IME_PINYIN 919 /*1: Use default thesaurus*/ 920 /*If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesaurus*/ 921 #define LV_IME_PINYIN_USE_DEFAULT_DICT 1 922 /*Set the maximum number of candidate panels that can be displayed*/ 923 /*This needs to be adjusted according to the size of the screen*/ 924 #define LV_IME_PINYIN_CAND_TEXT_NUM 6 925 926 /*Use 9 key input(k9)*/ 927 #define LV_IME_PINYIN_USE_K9_MODE 1 928 #if LV_IME_PINYIN_USE_K9_MODE == 1 929 #define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3 930 #endif /*LV_IME_PINYIN_USE_K9_MODE*/ 931 #endif 932 933 /*1: Enable file explorer*/ 934 /*Requires: lv_table*/ 935 #define LV_USE_FILE_EXPLORER 0 936 #if LV_USE_FILE_EXPLORER 937 /*Maximum length of path*/ 938 #define LV_FILE_EXPLORER_PATH_MAX_LEN (128) 939 /*Quick access bar, 1:use, 0:not use*/ 940 /*Requires: lv_list*/ 941 #define LV_FILE_EXPLORER_QUICK_ACCESS 1 942 #endif 943 944 /*================== 945 * DEVICES 946 *==================*/ 947 948 /*Use SDL to open window on PC and handle mouse and keyboard*/ 949 #define LV_USE_SDL 0 950 #if LV_USE_SDL 951 #define LV_SDL_INCLUDE_PATH <SDL2/SDL.h> 952 #define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT /*LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance*/ 953 #define LV_SDL_BUF_COUNT 1 /*1 or 2*/ 954 #define LV_SDL_ACCELERATED 1 /*1: Use hardware acceleration*/ 955 #define LV_SDL_FULLSCREEN 0 /*1: Make the window full screen by default*/ 956 #define LV_SDL_DIRECT_EXIT 1 /*1: Exit the application when all SDL windows are closed*/ 957 #define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER /*LV_SDL_MOUSEWHEEL_MODE_ENCODER/CROWN*/ 958 #endif 959 960 /*Use X11 to open window on Linux desktop and handle mouse and keyboard*/ 961 #define LV_USE_X11 0 962 #if LV_USE_X11 963 #define LV_X11_DIRECT_EXIT 1 /*Exit the application when all X11 windows have been closed*/ 964 #define LV_X11_DOUBLE_BUFFER 1 /*Use double buffers for rendering*/ 965 /*select only 1 of the following render modes (LV_X11_RENDER_MODE_PARTIAL preferred!)*/ 966 #define LV_X11_RENDER_MODE_PARTIAL 1 /*Partial render mode (preferred)*/ 967 #define LV_X11_RENDER_MODE_DIRECT 0 /*direct render mode*/ 968 #define LV_X11_RENDER_MODE_FULL 0 /*Full render mode*/ 969 #endif 970 971 /*Use Wayland to open a window and handle input on Linux or BSD desktops */ 972 #define LV_USE_WAYLAND 0 973 #if LV_USE_WAYLAND 974 #define LV_WAYLAND_WINDOW_DECORATIONS 0 /*Draw client side window decorations only necessary on Mutter/GNOME*/ 975 #define LV_WAYLAND_WL_SHELL 0 /*Use the legacy wl_shell protocol instead of the default XDG shell*/ 976 #endif 977 978 /*Driver for /dev/fb*/ 979 #define LV_USE_LINUX_FBDEV 0 980 #if LV_USE_LINUX_FBDEV 981 #define LV_LINUX_FBDEV_BSD 0 982 #define LV_LINUX_FBDEV_RENDER_MODE LV_DISPLAY_RENDER_MODE_PARTIAL 983 #define LV_LINUX_FBDEV_BUFFER_COUNT 0 984 #define LV_LINUX_FBDEV_BUFFER_SIZE 60 985 #endif 986 987 /*Use Nuttx to open window and handle touchscreen*/ 988 #define LV_USE_NUTTX 0 989 990 #if LV_USE_NUTTX 991 #define LV_USE_NUTTX_LIBUV 0 992 993 /*Use Nuttx custom init API to open window and handle touchscreen*/ 994 #define LV_USE_NUTTX_CUSTOM_INIT 0 995 996 /*Driver for /dev/lcd*/ 997 #define LV_USE_NUTTX_LCD 0 998 #if LV_USE_NUTTX_LCD 999 #define LV_NUTTX_LCD_BUFFER_COUNT 0 1000 #define LV_NUTTX_LCD_BUFFER_SIZE 60 1001 #endif 1002 1003 /*Driver for /dev/input*/ 1004 #define LV_USE_NUTTX_TOUCHSCREEN 0 1005 1006 #endif 1007 1008 /*Driver for /dev/dri/card*/ 1009 #define LV_USE_LINUX_DRM 1 1010 1011 /*Interface for TFT_eSPI*/ 1012 #define LV_USE_TFT_ESPI 0 1013 1014 /*Driver for evdev input devices*/ 1015 #define LV_USE_EVDEV 1 1016 1017 /*Driver for libinput input devices*/ 1018 #define LV_USE_LIBINPUT 0 1019 1020 #if LV_USE_LIBINPUT 1021 #define LV_LIBINPUT_BSD 0 1022 1023 /*Full keyboard support*/ 1024 #define LV_LIBINPUT_XKB 0 1025 #if LV_LIBINPUT_XKB 1026 /*"setxkbmap -query" can help find the right values for your keyboard*/ 1027 #define LV_LIBINPUT_XKB_KEY_MAP { .rules = NULL, .model = "pc101", .layout = "us", .variant = NULL, .options = NULL } 1028 #endif 1029 #endif 1030 1031 /*Drivers for LCD devices connected via SPI/parallel port*/ 1032 #define LV_USE_ST7735 0 1033 #define LV_USE_ST7789 0 1034 #define LV_USE_ST7796 0 1035 #define LV_USE_ILI9341 0 1036 1037 #define LV_USE_GENERIC_MIPI (LV_USE_ST7735 | LV_USE_ST7789 | LV_USE_ST7796 | LV_USE_ILI9341) 1038 1039 /*Driver for Renesas GLCD*/ 1040 #define LV_USE_RENESAS_GLCDC 0 1041 1042 /* LVGL Windows backend */ 1043 #define LV_USE_WINDOWS 0 1044 1045 /* Use OpenGL to open window on PC and handle mouse and keyboard */ 1046 #define LV_USE_OPENGLES 0 1047 #if LV_USE_OPENGLES 1048 #define LV_USE_OPENGLES_DEBUG 1 /* Enable or disable debug for opengles */ 1049 #endif 1050 1051 /* QNX Screen display and input drivers */ 1052 #define LV_USE_QNX 0 1053 #if LV_USE_QNX 1054 #define LV_QNX_BUF_COUNT 1 /*1 or 2*/ 1055 #endif 1056 1057 /*================== 1058 * EXAMPLES 1059 *==================*/ 1060 1061 /*Enable the examples to be built with the library*/ 1062 #define LV_BUILD_EXAMPLES 1 1063 1064 /*=================== 1065 * DEMO USAGE 1066 ====================*/ 1067 1068 /*Show some widget. It might be required to increase `LV_MEM_SIZE` */ 1069 #define LV_USE_DEMO_WIDGETS 1 1070 1071 /*Demonstrate the usage of encoder and keyboard*/ 1072 #define LV_USE_DEMO_KEYPAD_AND_ENCODER 1 1073 1074 /*Benchmark your system*/ 1075 #define LV_USE_DEMO_BENCHMARK 1 1076 1077 /*Render test for each primitives. Requires at least 480x272 display*/ 1078 #define LV_USE_DEMO_RENDER 1 1079 1080 /*Stress test for LVGL*/ 1081 #define LV_USE_DEMO_STRESS 1 1082 1083 /*Music player demo*/ 1084 #define LV_USE_DEMO_MUSIC 1 1085 #if LV_USE_DEMO_MUSIC 1086 #define LV_DEMO_MUSIC_SQUARE 0 1087 #define LV_DEMO_MUSIC_LANDSCAPE 0 1088 #define LV_DEMO_MUSIC_ROUND 0 1089 #define LV_DEMO_MUSIC_LARGE 0 1090 #define LV_DEMO_MUSIC_AUTO_PLAY 0 1091 #endif 1092 1093 /*Flex layout demo*/ 1094 #define LV_USE_DEMO_FLEX_LAYOUT 1 1095 1096 /*Smart-phone like multi-language demo*/ 1097 #define LV_USE_DEMO_MULTILANG 1 1098 1099 /*Widget transformation demo*/ 1100 #define LV_USE_DEMO_TRANSFORM 1 1101 1102 /*Demonstrate scroll settings*/ 1103 #define LV_USE_DEMO_SCROLL 1 1104 1105 /*Vector graphic demo*/ 1106 #define LV_USE_DEMO_VECTOR_GRAPHIC 0 1107 1108 /*--END OF LV_CONF_H--*/ 1109 1110 #endif /*LV_CONF_H*/ 1111 1112 #endif /*End of "Content enable"*/