47674727467749214862480748044769473146824667465746124598458945781840decd22cda320b6199ef76206d20bd1c7a8fcbf493646894643462946157568df744976548ea04538453545264490f17458901cd1fe8063faca296456bcebafefd21ed05fc488a457245051c5df6ceb87767440644034404438565f1c93375b3b529ed7c5223dc1c645006e4f102d7f9ffcc9385d999810852b91038a98b83fe742224276424842394215fix(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
9491c3fdirect_mode or full_refresh 4308227ac0243404278add(gpu): add renesas-ra6m3 gpu adaptation 4270
Revert "fix:(BtnMatrix) Backport https://github.com/lvgl/lvgl/pull/4185" 1713cd3
a150b154190417841364135fix: 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
6af0179407639763846400340043990d0e19eb0b7777faa31380501230e2f294aa501230e410877670fb399069b39713865390634c545e39f424734c545ee5292303972chore: add an option to "LV_TICK_CUSTOM" 3879
bump version numbers to v8.3.5-dev 47c8f8f
Update layer.md 9faca8a
372839d03a838643856378484cf05dc8e584fc4c4007bb2c2acbd11ad81e3ca251ed026ce050f5c716e5e2ad56dfa2c17b2841fa416e06f03d903e94bae382581173dcbv8.3.3 is the same as v8.3.2. It was released only because the version number was set incorrectly in lvgl.h.
3683368236783584360934773524b884abaece3495d59bba1dfd14fad5b2a9b8b605cc5156ee0a0515ba35643556be485d7chore(rt-thread) backport fixes from v9 3604
chore: fix warnings 7640950
remove accidentally added code 5022476
351529671729750c97a28327371913d38544cc3opa (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.344734463444343934083390338432953394338833783374335233753359335333403337333133263320330032843278327432713245320931843200317931603162314730813061312830923107308429403063029eef7318146a79a29d7305ad0007b7eeaa76bb70d0345119997fb02c9695acc185189a48de08d3c41d340d45cb6d2daa5a06fcec6c2864ac2e2f1333634183442343734233419340334123404339933873385337233713325334433483337333833353327331233143313330933083303330732823290329232703264326332673252324932503243321232213232323132283230323732363238323532343229323332253227322632243223322232103205320432033181319632023195319031933176316331643154314631393138311931143113308530283105310331013099300030823079306407b7eea98660a8306fa199ac8ce651a7a6177d726ec742f2c25ce6e3b0a46c452287fd8b1500772cb683e624b90777fe1e7153e3f13c99fcb1e2c064572a0c7cf570972cb683c79 b7b22c1ac202e7a7f9dfa76de7c6d9ae58b22854ffdea75d9127d8e87ada130e5c11f162d6f3c523062be53f602b171f7d48728a75546b9d3d929726c00552cbff8e817f5e0af3a07a36acbdaae65138346bf27dff7204e5ec6694cbc38afbb03fb123eecce00f67590255c6d6be43b842d9c0771d535d276f28a8d3c41da99eb6bc596a3606fff4b242112b7c74f6554f9987a6c4c1318f2d78c6b34bc342834056b2eac14a766c57bb09e3afaa8c934223397334933183316329632913088309530668a81532378aaa6ebd20af9a1e38588bbef1746917dc2c44c6d367bb765db5c991ebf81656a0e5319831043121307430401816fa5ea79cee970066448d87e1a3d66c9b83c5aad345f76fcc115285e3e23003f18fa101e708481e3a5977eef9fcefe5Among 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
29792968db53ea92803541465228403025773d50f4bd1e7e306229113021301229933003287229732961293529192898288528572854284928462603283228342762282427962805e7ac0e44197b2f9d3134b318edd885cc84a53ececc70327bd9d3fb4129412864305930583056305430503045304430363034303330243026302230233007299230022998299629992989294429712964296529692970lv_example_event_3 29592950294729292933292529102912292429182888290228972881288328842882287728612867286928502860284128432838281128372835282928272825275328192804282028072813278527842793a369f18345f688adc218a305284cd51aea4138db9c364ca3c6e0072479 d23164449642d3075831aca5f04c5a0dbcc57095289c6764281bfb76d47cd1d5ec532d0921dfca9a6cb8d79283c81d8be1f8d88564d61f38981092043729d171c739ca5fbf2210925502392f580788d91ee6541049313845c98ac86701d3674091c4731ef5ae9d7080933d67f8d52de1bfc8edffa9340ccb7fc2bd5ede0eb9a507830292984294628742865282828182812084439e7ed1a561cd851f6ce7348271986228ffae80388d9202a6614285e6b34bf49a8d792c5f1c64b78cdd5128bf6837f6266851e3b43ee00d4ef3eeee48b933d67fb4986ab2f80896284527943bd6ad8918b3de446b1eb6de89e470087707af7849da8f34551ef9c2a2b555e80408f702f02faf79b00cbe9722c1f6037cc9e1927dddafaecb3de30ba083dfb279f63a7c590f6b841552f8e4bc90e2b9fb34fe9e4122dda6de3fa889135d61900c21df7eaa059b47695bb3686d1ccbf6065d8211fa725704f47ea772f2198277f789fcf52av8.1 is a minor release, so besides many fixes it contains a lot of new features too.
Some of the most important features are
2e08f80256924602747272427002719270126932674264426602583265126182537256125682484253925382529251424612458244224152402lv_page to v8 lv_obj 239023532309237922842366feat(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
2374perf(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
27772786278827812782276627692776277327752771255527642761276027452749274827552744274227382739273627262734752fba34f6 27322729272227252708270727032666270426902692269126822685267526282662264926522659265426532655263426312632261625962591260225982575254225842579258725712572254925442536253225332525252625242512251825092501249224832458244424522420241324092400239923952394238923822376237223732367236023582355235023432345fix(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
2507239326042611256525452412234727312601462fbcb2553252324982425242324192406236523542339fix(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
276526432624260526102609258025502528251724992488247724762472246524632454242723922381232923102302docs(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
27572623264826172629255125152503251025042495test 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
27792743267327232718269426792676263626412640262126332569259725212520251625112496246724752486242623972387233223522313230422932295adding 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
3fb8baf5v8.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_objlv_page removed, scroll features are moved to lv_objlv_objmask the same can be achieved by eventslv_meter added as the union of lv_linemeter and lv_gaugelv_span new widget mimicking HTML <span>lv_animing new widget for simple slideshow animationslv_pagess)lv_drag. Similar effect can be achieved by setting the position in LV_EVENT_PRESSINGuser_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_drvindev_read_cb returns void. To indicate that there is more that to read set data->continue_reading = 1 in the read_cblv_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_pageact_obj in lv_indev_reset_lv_txt_get_widthdot character logical error which cause infinite loop.one_check in lv_btnmatrix_set_btn_ctrlLV_GAUGE_PART_PARTlv_group_remove_obj to handle deleting hidden objects correctlylv_table_set_text_fmt()text_sel_bg style propertylv_win_clean()lv_obj_createclean_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_midlv_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_nextlv_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 memsetLV_EVENT_INSERT from text arealv_tabview_add_tablv_scr_load_anim()lv_disp_set_bg_opa/color/image().LV_CALENDAR_WEEK_STARTS_MONDAYlv_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_rollertheme->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_objmax_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.hset_px_cblv_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 -> scrollabletabview 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_transformtextarea: 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/BOTTOMrelease/v6master and release a patch or minor releases every 2 weeks.lv_conf.h based on lv_conf_template.h.