4767
4727
4677
4921
4862
4807
4804
4769
4731
4682
4667
4657
4612
4598
4589
4578
1840dec
d22cda3
20b6199
ef76206
d20bd1c
7a8fcbf
4936
4689
4643
4629
4615
7568df7
4497
6548ea0
4538
4535
4526
4490
f174589
01cd1fe
8063fac
a296456
bcebafe
fd21ed0
5fc488a
4572
4505
1c5df6c
eb87767
4406
4403
4404
4385
65f1c93
375b3b5
29ed7c5
223dc1c
645006e
4f102d7
f9ffcc9
385d999
810852b
91038a9
8b83fe7
4222
4276
4248
4239
4215
fix(sdl): destroy texture after use if not stored in cache 4173
fix:(BtnMatrix) Backport https://github.com/lvgl/lvgl/pull/4185 cb602ea
fix(arduino): fix messed up variable types e3659c4
fix:(BtnMatrix) Backport https://github.com/lvgl/lvgl/pull/4185 07bce74
fix(chart): fix division by zero if there are no ticks 67b3011
fix(msgbox): fix typo 6a89bd2
fix(tabview): remove the animation if the tab is selected by clicking the button on the header 3de61c7
fix(btnmatrix): fix array out of bounds addressing with groups and no buttons edd5ad2
fix(btnmatrix): fix using > 7 as button width 75e6ef4
fix(draw): typo with LV_COLOR_DEPTH 8 45b13c3
fix(disp): fix memory leak lv_scr_load_anim with auto_del and time=0 1caafc5
fix(msgbox): add missing lv_obj_class_init_obj 6843c19
fix(flex): register LV_STYLE_FLEX_GROW 5ba90a5
9491c3f
direct_mode
or full_refresh
4308
227ac02
4340
4278
add(gpu): add renesas-ra6m3 gpu adaptation 4270
Revert "fix:(BtnMatrix) Backport https://github.com/lvgl/lvgl/pull/4185" 1713cd3
a150b15
4190
4178
4136
4135
fix: color mixing with LV_COLOR_SWAP == 1 4101
fix(indev): fix integer overflow in recursive zoom calculation a0795b4
fix(style): fix trasition on bg_grad color 48d7878
6af0179
4076
3976
3846
4003
4004
3990
d0e19eb
0b7777f
aa31380
501230e
2f294aa
501230e
4108
77670fb
399069b
3971
3865
3906
34c545e
39f4247
34c545e
e529230
3972
chore: add an option to "LV_TICK_CUSTOM" 3879
bump version numbers to v8.3.5-dev 47c8f8f
Update layer.md 9faca8a
3728
39d03a8
3864
3856
3784
84cf05d
c8e584f
c4c4007
bb2c2ac
bd11ad8
1e3ca25
1ed026c
e050f5c
716e5e2
ad56dfa
2c17b28
41fa416
e06f03d
903e94b
ae38258
1173dcb
v8.3.3 is the same as v8.3.2. It was released only because the version number was set incorrectly in lvgl.h.
3683
3682
3678
3584
3609
3477
3524
b884aba
ece3495
d59bba1
dfd14fa
d5b2a9b
8b605cc
5156ee0
a0515ba
3564
3556
be485d7
chore(rt-thread) backport fixes from v9 3604
chore: fix warnings 7640950
remove accidentally added code 5022476
3515
2967172
9750c97
a283273
71913d3
8544cc3
opa
(not bg_opa
, border_opa
, etc) and blend_mode
are set. This way nested objects are blended as one layer to avoid color bleeding. See more here.inherit
(inherit the parent's value) and initial
(set the system default). See more herelv_disp_drv_t
to indicate when the rendering starts. It's useful to make synchronization, e.g. wait for a TE signal.3447
3446
3444
3439
3408
3390
3384
3295
3394
3388
3378
3374
3352
3375
3359
3353
3340
3337
3331
3326
3320
3300
3284
3278
3274
3271
3245
3209
3184
3200
3179
3160
3162
3147
3081
3061
3128
3092
3107
3084
2940
3063
029eef7
318146a
79a29d7
305ad00
07b7eea
a76bb70
d034511
9997fb0
2c9695a
cc18518
9a48de0
8d3c41d
340d45c
b6d2daa
5a06fce
c6c2864
ac2e2f1
3336
3418
3442
3437
3423
3419
3403
3412
3404
3399
3387
3385
3372
3371
3325
3344
3348
3337
3338
3335
3327
3312
3314
3313
3309
3308
3303
3307
3282
3290
3292
3270
3264
3263
3267
3252
3249
3250
3243
3212
3221
3232
3231
3228
3230
3237
3236
3238
3235
3234
3229
3233
3225
3227
3226
3224
3223
3222
3210
3205
3204
3203
3181
3196
3202
3195
3190
3193
3176
3163
3164
3154
3146
3139
3138
3119
3114
3113
3085
3028
3105
3103
3101
3099
3000
3082
3079
3064
07b7eea
98660a8
306fa19
9ac8ce6
51a7a61
77d726e
c742f2c
25ce6e3
b0a46c4
52287fd
8b15007
72cb683
e624b90
777fe1e
7153e3f
13c99fc
b1e2c06
4572a0c
7cf5709
72cb683c79
b7b22c1
ac202e7
a7f9dfa
76de7c6
d9ae58b
22854ff
dea75d9
127d8e8
7ada130
e5c11f1
62d6f3c
523062b
e53f602
b171f7d
48728a7
5546b9d
3d92972
6c00552
cbff8e8
17f5e0a
f3a07a3
6acbdaa
e651383
46bf27d
ff7204e
5ec6694
cbc38af
bb03fb1
23eecce
00f6759
0255c6d
6be43b8
42d9c07
71d535d
276f28a
8d3c41d
a99eb6b
c596a36
06fff4b
242112b
7c74f65
54f9987
a6c4c13
18f2d78
c6b34bc
3428
3405
6b2eac1
4a766c5
7bb09e3
afaa8c9
3422
3397
3349
3318
3316
3296
3291
3088
3095
3066
8a81532
378aaa6
ebd20af
9a1e385
88bbef1
746917d
c2c44c6
d367bb7
65db5c9
91ebf81
656a0e5
3198
3104
3121
3074
3040
1816fa5
ea79cee
9700664
48d87e1
a3d66c9
b83c5aa
d345f76
fcc1152
85e3e23
003f18f
a101e70
8481e3a
5977eef
9fcefe5
Among many fixes and minor updates these are the most important features in v8.2.0:
LV_FLAD_OVERFLOW_VISIBLE
. If enabled the children of an object won't be clipped to the boundary of the objectlv_gridnav
)The GPU support for NXP microcontrollers is still not updated to the new draw architecture. See #3052
2979
2968
db53ea9
2803
5414652
2840
3025
773d50f
4bd1e7e
3062
2911
3021
3012
2993
3003
2872
2973
2961
2935
2919
2898
2885
2857
2854
2849
2846
2603
2832
2834
2762
2824
2796
2805
e7ac0e4
4197b2f
9d3134b
318edd8
85cc84a
53ececc
70327bd
9d3fb41
2941
2864
3059
3058
3056
3054
3050
3045
3044
3036
3034
3033
3024
3026
3022
3023
3007
2992
3002
2998
2996
2999
2989
2944
2971
2964
2965
2969
2970
lv_example_event_3
2959
2950
2947
2929
2933
2925
2910
2912
2924
2918
2888
2902
2897
2881
2883
2884
2882
2877
2861
2867
2869
2850
2860
2841
2843
2838
2811
2837
2835
2829
2827
2825
2753
2819
2804
2820
2807
2813
2785
2784
2793
a369f18
345f688
adc218a
305284c
d51aea4
138db9c
364ca3c
6e0072479
d231644
49642d3
075831a
ca5f04c
5a0dbcc
5709528
9c67642
81bfb76
d47cd1d
5ec532d
0921dfc
a9a6cb8
d79283c
81d8be1
f8d8856
4d61f38
9810920
43729d1
71c739c
a5fbf22
1092550
2392f58
0788d91
ee65410
4931384
5c98ac8
6701d36
74091c4
731ef5a
e9d7080
933d67f
8d52de1
bfc8edf
fa9340c
cb7fc2b
d5ede0e
b9a5078
3029
2984
2946
2874
2865
2828
2818
2812
084439e
7ed1a56
1cd851f
6ce7348
2719862
28ffae8
0388d92
02a6614
285e6b3
4bf49a8
d792c5f
1c64b78
cdd5128
bf6837f
6266851
e3b43ee
00d4ef3
eeee48b
933d67f
b4986ab
2f80896
2845
2794
3bd6ad8
918b3de
446b1eb
6de89e4
7008770
7af7849
da8f345
51ef9c2
a2b555e
80408f7
02f02fa
f79b00c
be9722c
1f6037c
c9e1927
dddafae
cb3de30
ba083df
b279f63
a7c590f
6b84155
2f8e4bc
90e2b9f
b34fe9e
4122dda
6de3fa8
89135d6
1900c21
df7eaa0
59b4769
5bb3686
d1ccbf6
065d821
1fa7257
04f47ea
772f219
8277f78
9fcf52a
v8.1 is a minor release, so besides many fixes it contains a lot of new features too.
Some of the most important features are
2e08f80
2569
2460
2747
2724
2700
2719
2701
2693
2674
2644
2660
2583
2651
2618
2537
2561
2568
2484
2539
2538
2529
2514
2461
2458
2442
2415
2402
lv_page
to v8 lv_obj
2390
2353
2309
2379
2284
2366
feat(spinbox ) add function to set cursor to specific position 2314
feat(timer) check if lv_tick_inc is called aa6641a
feat(event, widgets) improve the parameter of LV_EVENT_DRAW_PART_BEGIN/END 88c4859
feat(docs) improvements to examples 4b8c73a
feat(obj) send LV_EVENT_DRAW_PART_BEGIN/END for MAIN and SCROLLBAR parts b203167
feat(led) send LV_EVENT_DRAW_PART_BEGIN/END fcd4aa3
feat(chart) send LV_EVENT_DRAW_PART_BEGIN/END before/after the division line drawing section. e0ae2aa
feat(tests) upload coverage to codecov 4fff99d
feat(conf) add better check for Kconfig default f8fe536
feat(draw) add LV_BLEND_MODE_MULTIPLY cc78ef4
feat(test) add assert for screenshot compare 2f7a005
feat(event) pass the scroll animation to LV_EVENT_SCROLL_BEGIN ca54ecf
feat(obj) place the scrollbar to the left with RTL base dir. 906448e
feat(log) allow overwriting LVLOG... macros 17b8a76
feat(arc) add support to LV_OBJ_FLAG_ADV_HITTEST dfa4f5c
feat(event) add LVSCREEN(UN)LOAD_START 7bae9e3
feat(obj) add lv_obj_del_delayed() c6a2e15
feat(docs) add view on GitHub link a716ac6
feat(event) add LV_EVENT_SCREEN_LOADED/UNLOADED events ee5369e
feat(textarea) remove the need of lv_textarea_set_align 56ebb1a
feat(rt-thread): support LVGL projects with GCC/Keil(AC5)/Keil(AC6)/IAR 32d33fe
feat(docs) lazy load individual examples as well 918d948
feat: add LV_USE_MEM_PERF/MONITOR_POS acd0f4f
feat(canvas) add lv_canvas_set_px_opa b3b3ffc
feat(event) add lv_obj_remove_event_cb_with_user_data 4eddeb3
feat(obj) add lv_obj_get_x/y_aligned 98bc1fe
2374
perf(anim_timeline) add lv_anim_timeline_stop() 2411
perf(obj) remove lv_obj_get_child_cnt from cycle limit checks ebb9ce9
perf(draw) reimplement rectangle drawing algorithms 5b3d3dc
perf(draw) ignore masks if they don't affect the current draw area a842791
perf(refresh) optimize where to wait for lv_disp_flush_ready with 2 buffers d0172f1
perf(draw) speed up additive blending 3abe517
2777
2786
2788
2781
2782
2766
2769
2776
2773
2775
2771
2555
2764
2761
2760
2745
2749
2748
2755
2744
2742
2738
2739
2736
2726
2734
752fba34f6
2732
2729
2722
2725
2708
2707
2703
2666
2704
2690
2692
2691
2682
2685
2675
2628
2662
2649
2652
2659
2654
2653
2655
2634
2631
2632
2616
2596
2591
2602
2598
2575
2542
2584
2579
2587
2571
2572
2549
2544
2536
2532
2533
2525
2526
2524
2512
2518
2509
2501
2492
2483
2458
2444
2452
2420
2413
2409
2400
2399
2395
2394
2389
2382
2376
2372
2373
2367
2360
2358
2355
2350
2343
2345
fix(txt) enhance the function of break_chars 2327
fix(vglite): update for v8 e3e3eea
fix(widgets) use lv_obj_class for all the widgets 3fb8baf
fix(refr) reduce the nesting level in lv_refr_area 2df1282
fix(pxp): update for v8 8a2a4a1
fix(obj) move clean ups from lv_obj_del to lv_obj_destructor b063937
fix (draw) fix arc bg image drawing with full arcs c3b6c6d
fix(pxp): update RTOS macro for SDK 2.10 00c3eb1
fix(textarea) style update in oneline mode + improve sroll to cursor 60d9a5e
feat(led) send LV_EVENT_DRAW_PART_BEGIN/END fcd4aa3
fix(roller) fix partial redraw of the selected area 6bc40f8
fix(flex) fix layout update and invalidation issues 5bd82b0
fix(indev) focus on objects on release instead of press 76a8293
fix tests 449952e
fix(dropdown) forget the selected option on encoder longpress e66b935
fix(obj) improve how the focusing indev is determined a04f2de
fix(workflow) speed up MicroPython workflow 38ad5d5
fix(test) do not including anything in test files when not running tests 9043860
fix tests 36b9db3
fix(scroll) fire LV_EVENT_SCROLL_BEGIN in the same spot for both axes b158932
fix(btnmatrix) fix button invalidation on focus change 77cedfa
fix(tlsf) do not use <assert.h> c9745b9
fix(template) include lvgl.h in lvport*_template.c files 0ae15bd
fix(docs) add margin for example description b5f632e
fix(imgbtn) use the correct src in LV_EVENT_GET_SELF_SIZE 04c515a
fix(color) remove extraneous cast for 8-bit color 157534c
fix(workflow) use same Unix port variant for MicroPython submodules ac68b10
fix(README) improve grammar de81889
fix(printf) skip defining attribute if pycparser is used ee9bbea
fix(README) spelling correction 41869f2
fix(color) overflow with 16-bit color depth fe6d8d7
fix(docs) consider an example to be visible over a wider area 145a0fa
fix(codecov) disable uploading coverage for pull requests 27d88de
fix(arc) disable LV_OBJ_FLAG_SCROLL_CHAIN by default f172eb3
fix(template) update lv_objx_template to v8 38bb8af
fix(align) avoid circular references with LV_SIZE_CONTENT 038b781
fix(draw) with additive blending with 32-bit color depth 786db2a
fix(arc) fix arc invalidation again 5ced080
fix(align) fix lv_obj_align_to 93b38e9
fix(scroll) keep the scroll position on object deleted 52edbb4
fix(dropdown) handle LV_KEY_ENTER 8a50edd
fix various minor warnings 924bc75
fix(textarea) various cursor drawing fixes 273a0eb
fix(label) consider base dir lv_label_get_letter_pos in special cases 6df5122
fix(imgbtn) add lv_imgbtn_set_state 26e15fa
fix(printf) add (int) casts to log messages to avoid warnings on %d d9d3f27
fix(test) silence make 7610d38
fix(test) silence make 37fd9d8
fix(calendar) update the MP example 0bab4a7
fix(scroll) fix scroll_area_into_view with objects larger than the parent 5240fdd
fix(msgbox) handle NULL btn map parameter 769c4a3
fix (scroll) do not send unnecessary scroll end events 3ce5226
fix(obj_pos) consider all alignments in content size calculation but only if x and y = 0 5b27ebb
fix(img decoder) add error handling if the dsc->data = NULL d0c1c67
fix(txt): skip basic arabic vowel characters when processing conjunction 5b54800
fix(typo) rename LV_OBJ_FLAG_SNAPABLE to LV_OBJ_FLAG_SNAPPABLE e697807
fix(lv_printf.h): to eliminate the errors in Keil and IAR f6d7dc7
fix(draw) fix horizontal gradient drawing 4c034e5
fix(dropdown) use LV_EVENT_READY/CANCEL on list open/close 4dd1d56
fix(table) clip overflowing content 8c15933
fix(test) add #if guard to exclude test related files from the build c12a22e
fix(test) add #if guard to exclude test related files from the build fc364a4
fix(freetype) fix underline calculation 76c8ee6
fix(style) refresh ext. draw pad for padding and bg img 37a5d0c
fix(draw) underflow in subpixel font drawing 6d5ac70
fix(scrollbar) hide the scrollbar if the scrollble flag is removed 188a946
fix(group) skip object if an of the parents is hidden 5799c10
fix(obj) fix size invalidation issue on padding change 33ba722
fix(label) do not bidi process text in lv_label_ins_text e95efc1
fix(refr) set disp_drv->draw_buf->flushing_last correctly with sw rotation c514bdd
fix(draw) fix drawing small arcs 8081599
fix(chart) invalidation with LV_CHART_UPDATE_MODE_SHIFT d61617c
fix(build) fix micropython build error 54338f6
fix(draw) fix border width of simple (radius=0, no masking) borders 20f1867
fix(calendar) fix calculation today and highlighted day 8f0b5ab
fix(style) initialize colors to black instead of zero 524f8dd
fix(sjpg) remove unnecessary typedefs c2d93f7
fix(label) fix clipped italic letters 2efa6dc
fix(draw) shadow drawing with large shadow width f810265
fix(dropdown) add missing invalidations 33b5d4a
fix(dropdown) adjust the handling of keys sent to the dropdown e41c507
fix(disp) be sure the pending scr load animation is finished in lv_scr_load_anim eb6ae52
fix(color) fox color premult precision with 16-bit color depth f334226
fix(obj_pos) save x,y even if the object is on a layout a9b660c
fix(scrollbar) hide the scrollbar if the scrollable flag is removed d9c6ad0
fix(dropdown) fix list position with RTL base direction 79edb37
fix(obj) fix lv_obj_align_to with RTL base direction 531afcc
fix(chart) fix sending LV_EVENT_DRAW_PART_BEGIN/END for the cursor 34b8cd9
fix(arduino) fix the prototype of my_touchpad_read in the LVGL_Arduino.ino 1a62f7a
fix(checkbox) consider the bg border when positioning the indicator a39dac9
fix(dropdown) send LV_EVENT_VALUE_CHANGED to allow styling of the list dae7039
fix(group) fix infinite loop bdce0bc
fix(keyboard) use LVGL heap functions instead of POSIX b20a706
fix(blend) fix green channel with additive blending 78158f0
fix(btnmatrix) do not show pressed, focused or focus key states on disabled buttons 3df2a74
fix(font) handle the last pixel of the glyphs in font loader correctly fa98989
fix(table) fix an off-by-one issue in self size calculation ea2545a
fix shadowed variable e209260
fix shadowed variable df60018
fix(chart) be sure the chart doesn't remain scrolled out on zoom out ad5b1bd
fix(docs) commit to meta repo as lvgl-bot instead of actual commit author f0e8549
fix(table) invalidate the table on cell value change cb3692e
fix(group) allow refocusing objects 1520208
fix(tabview) fix with left and right tabs 17c5744
fix(msgbox) create modals on top layer instead of act screen 5cf6303
fix(theme) show disabled state on buttons of btnmatrix, msgbox and keyboard 0be582b
fix(label) update lv_label_get_letter_pos to work with LV_BASE_DIR_AUTO too 580e05a
fix(label) fix in lv_label_get_letter_pos with when pos==line_start 58f3f56
fix(gif) replace printf statement with LVGL logging 56f62b8
fix(docs) add fsdrv back 64527a5
fix(table) remove unnecessary invalidation on pressing 6f90f9c
fix(chart) draw line chart indicator (bullet) fba37a3
fix(anim) return the first anim if exec_cb is NULL in lv_anim_get() fb7ea10
fix(label) fix lv_label_get_letter_on with BIDI enabled 192419e
fix(checkbox) add missing invalidations bb39e9d
fix(draw) fix gradient calculation of the rectangle is clipped 13e3470
fix(example) fix lv_example_chart_2 89081c2
fix(calendar) fix the position calculation today ad05e19
fix(tick) minor optimization on lv_tick_inc call test b4305df
fix(docs) use let instead of const for variable which gets changed 3cf5751
fix(theme) fix the switch style in the default theme 0c0dc8e
fix(tlsf) undef printf before define-ing it cc935b8
fix(msgbox) prevent the buttons being wider than the msgbox 73e036b
fix(chart) don't draw series lines with < 1 points 655f42b
fix(tests) remove src/test_runners when cleaning 6726b0f
fix(label) remove duplicated lv_obj_refresh_self_size a070ecf
fix(colorwheel) disable LV_OBJ_FLAG_SCROLL_CHAIN by default 48d1c29
fix(obj) do not set the child's position in lv_obj_set_parent d89a5fb
feat: add LV_USE_MEM_PERF/MONITOR_POS acd0f4f
fix(scroll) in scroll to view functions respect disabled LV_OBJ_FLAG_SCROLLABLE 9318e02
fix(flex) remove unused variable 747b6a2
feat(canvas) add lv_canvas_set_px_opa b3b3ffc
fix(textarea) allow using cursor with not full bg_opa c9d3965
fix(txt) _lv_txt_get_next_line return 0 on empty texts 82f3fbc
fix(btnmatrix) always update row_cnt 86012ae
fix(scroll) minor fixes on obj scroll handling a4128a8
fix(table) consider border width for cell positions f2987b6
fix(log) be sure LVLOG... is not empty if logs are disabled 47734c4
fix(arc) fix LV_ARC_MODE_REVERSE df3b969
fix(obj) in lv_obj_move_to_index() do not send LV_EVENT_CHILD_CHANGED on all changed child 32e8276
feat(event) add lv_obj_remove_event_cb_with_user_data 4eddeb3
fix(draw) fix shadow drawing with radius=0 4250e3c
fix(msgbox) directly store the pointer of all children eb5eaa3
fix(draw) use the filtered colors in lv_obj_init_draw_xxx_dsc() functions 78725f2
fix(arc) fix full arc invalidation 98b9ce5
chore(led) expose LV_LED_BRIGHT_MIN/MAX in led.h 3f18b23
fix(group) keep the focused object in lv_group_swap_obj a997147
fix(obj) swap objects in the group too in lv_obj_swap() 52c7558
fix(theme) use opacity on button's shadow in the default theme c5342e9
fix(win) enable clip_corner and border_post by default 493ace3
fix(draw) fix rectangle drawing with clip_corner enabled 01237da
fix(arc) fix other invalidation issues b0a7337
feat(obj) add lv_obj_get_x/y_aligned 98bc1fe
fix(calendar) fix incorrect highlight of today adbac52
fix(arc, meter) fix invalidation in special cases 0f14f49
fix(canvas) invalidate the image on delete a1b362c
fix(msgbox) return the correct pointer from lv_msgbox_get_text 50ea6fb
fix(bidi) fix the handling of LV_BASE_DIR_AUTO in several widgets 7672847
fix(meter) fix inner mask usage c28c146
fix(log) fix warning for empty log macros 4dba8df
fix(theme) improve button focus of keyboard 2504b7e
fix(tabview) send LV_EVENT_VALUE_CHANGED only once 933d282
fix(obj style) fix children reposition if the parent's padding changes. 57cf661
fix(template) update indev template for v8 d8a3d3d
fix(obj) detecting which indev sent LV_EVENT_FOCUS f03d4b8
fix(roller) adjust the size of the selected area correctly 01d1c87
fix(imgbtn) consider width==LV_SIZE_CONTENT if only mid. img is set 7e49f48
fix(flex) fix NULL pointer dereference 97ba12f
fix(obj, switch) do not send LV_EVENT_VALUE_CHANGED twice 713b39e
fix(coords) fix using large coordinates 428db94
fix(chart) fix crash if no series are added c728b5c
fix(meter) fix needle image invalidation 54d8e81
fix(mem) add lv_ prefix to tlsf functions and types 0d52b59
fix(pxp) change LV_COLOR_TRANSP to LV_COLOR_CHROMA_KEY to v8 compatibility 81f3068
2507
2393
2604
2611
2565
2545
2412
2347
2731
2601
462fbcb
2553
2523
2498
2425
2423
2419
2406
2365
2354
2339
fix(examples) align with renamed Micropython APIs 2338
fix(examples) adjust canvas example for MicroPython API change 52d1c2e
fix(example) revert test code 77e2c1f
feat(example) add checkbox example for radio buttons d089b36
feat(example) add text with gradient example 462fbcb
fix(examples) exclude example animimg images if animimg is disabled 4d7d306
fix(example) adjust the object sizes in lv_example_anim_timeline_1() 71a10e4
fix(example) revert text code from lv_example_checkbox_2 28e9593
2765
2643
2624
2605
2610
2609
2580
2550
2528
2517
2499
2488
2477
2476
2472
2465
2463
2454
2427
2392
2381
2329
2310
2302
docs(lv_obj_style) update add_style and remove_style function headers 2287
docs(contributing) add commit message format section 3668e54
docs minor typo fixes 84c0086
docs(arduino) update some outdated information 9a77102
docs(keyboard) add note regarding event handler 255f729
docs minor CSS fix acbb680
docs minor CSS improvements 7f367d6
docs(keyboard) change LV_KEYBOARD_MODE_NUM
to LV_KEYBOARD_MODE_NUMBER
6e83d37
docs(textarea) clarify the use of text selection bg_color 65673c0
docs list all examples on one page 25acaf4
docs(examples) add MicroPython examples 6f37c4f
docs(filesystem) update to v8 7971ade
docs(style) complete the description of style the properties 55e8846
docs example list fixes cd600d1
docs(style) complete the description of style the properties ff087da
docs(README) update links, examples, and add services menu 3471bd1
docs(color) update colors' docs 9056b5e
docs update lv_fs.h, layer and align.png to v8 31ab062
docs(color) minor fix ac8f453
docs update changelog c386110
docs(extra) add extra/README.md 8cd504d
docs add lazy load to the iframes of the examples c49e830
docs(os) add example and clarify some points d996453
docs(rlottie) fix build error ce0b564
docs include paths in libs f5f9562
docs libs fixes 8e7bba6
docs(obj) add comment lv_obj_get_x/y/width/height about postponed layout recalculation 533066e
docs fix example list ed77ed1
docs describe the options to include or skip lv_conf.h 174ef66
docs(overview) spelling fixes d2efb8c
docs(table) describe keypad/encoder navigation 749d1b3
docs update CHANGELOG 0f8bc18
docs(image) mention the frame_id parameter of lv_img_decoder_open 2433732
docs(arduino) update how to use the examples 06962a5
docs(rlottie): fix typo in commands ed9169c
docs(indev, layer) update lv_obj_set_click() to lv_obj_add_flag() bcd99e8
docs update version support table e6e98ab
docs fix example list c6f99ad
docs(examples) add <hr/> to better separate examples a1b59e3
docs(checkbox) update the comment lv_checkbox_set_text_static 3e0ddd0
docs(grid) fix missing article da0c97a
docs(display) fix grammar in one spot 5dbea7d
docs(style) fix typo in style property descriptions 4e3b860
docs(flex) fix typo in flex grow section e5fafc4
docs(indev) clarify purpose of continue_reading
flag 706f81e
docs(license) update company name and year 7c1eb00
docs fix typo 8ab8064
docs add libs to the main index 1a8fed5
docs add btn_example.png 8731ef1
docs(btnmatrix) fix typo with set_all/clear_all parameters 51a82a1
2757
2623
2648
2617
2629
2551
2515
2503
2510
2504
2495
test Refactor unit test scripts. 2473
test(font_loader) migrate the existing font loader test bc5b3be
test add build test again, add dropdown test, integrate gcov and gvocr e35b1d0
test(dropdown) add tess for keypad and encoder 4143b80
test add keypad and encoder emulators e536bb6
tests add mouse emulator 2ba810b
tests add README b765643
test add move tests to test_cases and test_runners directories e9e010a
test fix CI build error c38cae2
ci add config for 8bpp 3eacc59
test move more source files to src folder 3672f87
test update CI for the new tests a3898b9
test cleaned up report folder b9b4ba5
test fix build error 61cda59
test(font_loader) migrate the existing font loader test d6dbbaa
test add move tests to test_cases and test_runners directories d2e735e
test add 3rd party libs to all tests and also fix them 7a95fa9
test(arc): add test case for adv_hittest e83df6f
ci create check for lv_conf_internal.h 5d8285e
test fix warning and docs build error d908f31
ci(micropython) add rp2 port 1ab5c96
test(dropdown) remove dummy test case 9fb98da
ci(codecov) hide statuses on commits for now 0b7be77
ci(docs) run apt-get update before installation f215174
test fix LV_USE_LOG_LEVEL -> LV_LOG_LEVEL typo 80f0b09
ci(micropython) add GCC problem matcher ab316a0
2779
2743
2673
2723
2718
2694
2679
2676
2636
2641
2640
2621
2633
2569
2597
2521
2520
2516
2511
2496
2467
2475
2486
2426
2397
2387
2332
2352
2313
2304
2293
2295
adding micropython examples 2286
format run code-formtter.sh d67dd94
Update ROADMAP.md 2b1ae3c
Create .codecov.yml e53aa82
refactor(examples) drop JS-specific code from header.py ef41450
make test run on master and release/v8.* 227402a
Update release.yml 0838f12
refactor(examples) drop usys import from header.py ad1f91a
Update ROADMAP.md a38fcf2
Revert "feat(conf) add better check for Kconfig default" a5793c7
remove temporary test file a958c29
start to implement release/patch 1626a0c
chore(indev) minor formatting 79ab3d2
add basic patch release script 1c3ecf1
chore(example) minor improvements on lv_example_list_2 bb6d6b7
tool: add changelog_gen.sh to automatically generate changelog 6d95521
update version numbers to v8.1.0-dev 8691611
chore(test) improve prints ea8bed3
chore(test) improve prints 0c4bca0
chore: update lv_conf_internal.h 41c2dd1
chore(format) lv_conf_template.h minor formatting 3c86d77
chore(docs) always deploy master to docs/master as well 6d05692
Update CHANGELOG.md 48fd73d
Fix compile errors 6c956cc
Update textarea.md 6d8799f
chore(assert) add warning about higher memory usage if LV_USE_ASSERT_STYLE is enabled 33e4330
Update page.html 9573bab
chore(docs) force docs rebuild 4a0f413
Fix typo error in color.md 572880c
Update arc.md 2a9b9e6
Update index.rst 9ce2c77
chore(docs) minor formatting on example's GitHub link 75209e8
chore(lv_conf_template) fix spelling mistake 9d134a9
Update CHANGELOG.md 8472360
chore(stale) disable on forks 93c1303
Revert "fix(tests) remove src/test_runners when cleaning" ae15a1b
style fix usage of clang-format directives 2122583
Revert "fix(indev) focus on objects on release instead of press" f61b2ca
3fb8baf5
v8.0 brings many new features like simplified and more powerful scrolling, new layouts inspired by CSS Flexbox and Grid, simplified and improved widgets, more powerful events, hookable drawing, and more.
v8 is a major change and therefore it's not backward compatible with v7.
lv_
prefix is removed from the folder namesdocs
is moved to the lvgl
repositoryexamples
are moved to the lvgl
repositorysrc/extra
folder for complex widgets:
extra
we can have a lot and specific widgetslv_cont
removed, layout features are moved to lv_obj
lv_page
removed, scroll features are moved to lv_obj
lv_objmask
the same can be achieved by eventslv_meter
added as the union of lv_linemeter
and lv_gauge
lv_span
new widget mimicking HTML <span>
lv_animing
new widget for simple slideshow animationslv_pages
s)lv_drag
. Similar effect can be achieved by setting the position in LV_EVENT_PRESSING
user_data
can be attached to the added eventslv_disp_drv_t
, lv_indev_drv_t
, lv_fs_drv_t
needs to be static
...disp_buf...
is renamed to draw_buf
. See an initialization example here.disp_drv->full_refresh = 1
makes always the whole display redraw.hor_res
and ver_res
need to be set in disp_drv
indev_read_cb
returns void
. To indicate that there is more that to read set data->continue_reading = 1
in the read_cb
lv_obj_align
now saved the alignment and realigns the object automatically but can't be used to align to other than the parentlv_obj_align_to
can align to an object but doesn't save the alignmentlv_pct(x)
can be used to set the size and position in percentagemaster
will always contain the latest changeslv_conf.h
based on lv_conf_template.h
.lv_cont
featureslv_obj
instead of lv_page
act_obj
in lv_indev_reset
_lv_txt_get_width
dot
character logical error which cause infinite loop.one_check
in lv_btnmatrix_set_btn_ctrl
LV_GAUGE_PART_PART
lv_group_remove_obj
to handle deleting hidden objects correctlylv_table_set_text_fmt()
text_sel_bg
style propertylv_win_clean()
lv_obj_create
clean_dcache_cb
and lv_disp_clean_dcache
to enable users to use their own cache management functiongpu_wait_cb
to wait until the GPU is working. It allows to run CPU a wait only when the rendered data is needed.lv_obj_del
and lv_obj_clean
if the children list changed during deletion.decmopr_buf
to GC rootsThe main new features of v7.4 are run-time font loading, style caching and arc knob with value setting by click.
lv_font_load()
function - Loads a lv_font_t
object from a binary font filelv_font_free()
function - Frees the memory allocated by the lv_font_load()
functionLV_ARC_PART_KNOB
similarly to sliderlv_indev_is_dragging(lv_indev_act())
in the event function.lv_chart_clear_serie
to lv_chart_clear_series
and lv_obj_align_origo
to lv_obj_align_mid
lv_table_set_col_cnt
is called before lv_table_set_row_cnt
for the first timelv_btnmatrix_set_one_check
not forcing exactly one button to be checkedlv_task_get_next
lv_event_send_refresh
, lv_event_send_refresh_recursive
to easily send LV_EVENT_REFRESH
to objectlv_tabview_set_tab_name()
function - used to change a tab's nameLV_THEME_MATERIAL_FLAG_NO_TRANSITION
and LV_THEME_MATERIAL_FLAG_NO_FOCUS
flagsLV_USE_FONT_COMPRESSED
and LV_FONT_USE_SUBPX
and applying some optimizationLV_MEMCPY_MEMSET_STD
to use standard memcpy
and memset
LV_EVENT_INSERT
from text arealv_tabview_add_tab
lv_scr_load_anim()
lv_disp_set_bg_opa/color/image()
.LV_CALENDAR_WEEK_STARTS_MONDAY
lv_chart_set_x_start_point()
function - Set the index of the x-axis start point in the data arraylv_chart_set_ext_array()
function - Set an external array of data points to use for the chartlv_chart_set_point_id()
function - Set an individual point value in the chart series directly based on indexlv_chart_get_x_start_point()
function - Get the current index of the x-axis start point in the data arraylv_chart_get_point_id()
function - Get an individual point value in the chart series directly based on indexext_buf_assigned
bit field to lv_chart_series_t
structure - it's true if external buffer is assigned to serieslv_chart_set_series_axis()
to assign series to primary or secondary axislv_chart_set_y_range()
to allow setting range of secondary y-axis (based on lv_chart_set_range
but extended with an axis parameter)lv_roller
theme->apply_cb
to replace theme->apply_xcb
to make it compatible with the MicroPython bindinglv_theme_set_base()
to allow easy extension of built-in (or any) themeslv_obj_align_x()
and lv_obj_align_y()
functionslv_obj_align_origo_x()
and lv_obj_align_origo_y()
functionstileview
fix navigation when not screen sizedlinemeter
fix conversation of current value to "level"focus_parent
attribute to lv_obj
max_used
propriety to lv_mem_monitor_t
structlv_init
test if the strings are UTF-8 encoded.user_data
to themeslv_img
fix invalidation area when angle or zoom changeslv_textarea
fix wrong cursor position when clicked after the last characterset_px_cb
for transparent pixellv_conf_template.h
set_px_cb
lv_dropdown
: fix missing LV_EVENT_VALUE_CHANGED
event when used with encoderlv_tileview
: fix if not the {0;0} tile is created firstlv_debug
: restructure to allow asserting in from lv_misc
too_lv_mem_buf_get()
failslv_textarea
: fix character delete in password modeLV_OPA_MIN
and LV_OPA_MAX
to widen the opacity processed rangelv_btnm
fix sending events for hidden buttonslv_gaguge
make lv_gauge_set_angle_offset
offset the labels and needles tooscrllable
-> scrollable
tabview
by default allow auto expanding the page only to right and bottom (#1573)img
: improve hit test for transformed images_
to reduce the API of LVGLLV_USE_ARABIC_PERSIAN_CHARS
is enabledlv_theme_get_color_secondary()
LV_COLOR_MIX_ROUND_OFS
to adjust color mixing to make it compatible with the GPUlv_ll
(caused issues with some optimization settings)lv_chart
fix X tick drawingThe docs for v7 is available at https://docs.littlevgl.com/v7/en/html/index.html
The name of the project is changed to LVGL and the new website is on https://lvgl.io
LVGL remains free under the same conditions (MIT license) and a company is created to manage LVGL and offer services.
Complete rework of LVGL's draw engine to use "masks" for more advanced and higher quality graphical effects. A possible use-case of this system is to remove the overflowing content from the rounded edges. It also allows drawing perfectly anti-aliased circles, lines, and arcs. Internally, the drawings happen by defining masks (such as rounded rectangle, line, angle). When something is drawn the currently active masks can make some pixels transparent. For example, rectangle borders are drawn by using 2 rectangle masks: one mask removes the inner part and another the outer part.
The API in this regard remained the same but some new functions were added:
lv_img_set_zoom
: set image object's zoom factorlv_img_set_angle
: set image object's angle without using canvaslv_img_set_pivot
: set the pivot point of rotationThe new drawing engine brought new drawing features too. They are highlighted in the "style" section.
The old style system is replaced with a new more flexible and lightweighted one. It uses an approach similar to CSS: support cascading styles, inheriting properties and local style properties per object. As part of these updates, a lot of objects were reworked and the APIs have been changed.
LV_BLEND_MODE_NORMAL/ADDITIVE/SUBTRACTIVE
blending modesRead the Style section of the documentation to learn how the new styles system works.
To better utilize GPUs, from this version GPU usage can be integrated into LVGL. In lv_conf.h
any supported GPUs can be enabled with a single configuration option.
Right now, only ST's DMA2D (Chrom-ART) is integrated. More will in the upcoming releases.
The following object types are renamed:
dropdown
: Completely reworked. Now creates a separate list when opened and can be dropped to down/up/left/right.label
: body_draw
is removed, instead, if its style has a visible background/border/shadow etc it will be drawn. Padding really makes the object larger (not just virtually as before)arc
: can draw background too.btn
: doesn't store styles for each state because it's done naturally in the new style system.calendar
: highlight the pressed datum. The used styles are changed: use LV_CALENDAR_PART_DATE
normal for normal dates, checked for highlighted, focused for today, pressed for the being pressed. (checked+pressed, focused+pressed also work)chart
: only has LINE
and COLUMN
types because with new styles all the others can be described. LV_CHART_PART_SERIES sets the style of the series. bg_opa > 0 draws an area in LINE mode. LV_CHART_PART_SERIES_BG
also added to set a different style for the series area. Padding in LV_CHART_PART_BG
makes the series area smaller, and it ensures space for axis labels/numbers.linemeter
, gauge
: can have background if the related style properties are set. Padding makes the scale/lines smaller. scale_border_width and scale_end_border_width allow to draw an arc on the outer part of the scale lines.gauge
: lv_gauge_set_needle_img
allows use image as needlecanvas
: allow drawing to true color alpha and alpha only canvas, add lv_canvas_blur_hor/ver
and rename lv_canvas_rotate
to lv_canvas_transform
textarea
: If available in the font use bullet (U+2022
) character in text area passwordlv_objmask
: masks can be added to it. The children will be masked accordingly.playback_time
to animations.repeat_count
to animations instead of the current "repeat forever".LV_LAYOUT_PRETTY
with LV_LAYOUT_PRETTY_TOP/MID/BOTTOM
release/v6
master
and release a patch or minor releases every 2 weeks.lv_conf.h
based on lv_conf_template.h
.