Change Log
v9.2 26 August 2024
It's huge release with many interesting updates:
Built-in Wayland driver
OpenGL ES and GLFW driver with support for external textures
Renesas GLCDC driver
L8 and I1 rendering support
Matrix transformations during rendering
New file system interfaces: LittleFS, ESP LittleFS, Arduino FS
SDL renderer improvements (supporting all draw task types and improving speed)
Radial, Conic, and Skew gradients supported by software rendering and VG-Lite
Lottie (lv_lottie) support
CI tests for UEFI builds
And many smaller fixes and features
Breaking Changes
lvgl_private.h
was introduced to better separate internal and public APIs and data. Your application might rely on APIs or data that are now available via lvgl_private.h
.
Resolve it by either
include
lvgl_private.h
where neededenable
LV_USE_PRIVATE_API
to internally includelvgl_private.h
in lvgl.h
New Features
feat(sdl_render): support all draw task types 6437
feat(scale): add custom labels example 6699
feat(driver): import Wayland driver from v8 6549
feat(scripts): add default config generator 6522
feat(draw_sw): extend lv_draw_sw_rotate with L8 support 6520
feat(anim_timeline): add repeat and more 6127
feat(indev): add scroll_time and scroll_throw setter 6723
feat(draw): add physical clipping area to solve the scaling accuracy problem 6703
feat(fs): default drive letter + ESP FS docs 6367
feat(freertos): add functions to better measure the CPU usage 6619
feat(core): Add lv_group_get_obj_by_index method 6589
feat(draw_buf): make draw buf API more OOP style 6427
feat(opengles): multiple windows and embed user opengl textures 6600
feat(obj): add lv_obj_null_on_delete 6599
feat(indev): add long press time setter 6664
feat(cmake): Make LVGL version available for all CMake environments 6654
feat(os): use recursive mutex by default 6573
feat(env/qnx): generate lv_conf.h at build time 6596
feat(label): add property 6575
feat(unity): update unity to version 2.6.0 6453
feat(libpng): add parsing variable to libpng 6553
feat(nuttx): malloc second FB if driver only has one 6580
feat(draw): add global matrix drawing modes 4883
feat(drivers): initial implementation of a QNX screen driver 6507
feat(nxp/pxp): add Zephyr Support 6298
feat(obj): add more obj properties 6537
feat(anim): add lv_anim_speed_to_time back 6531
feat(draw/sw): add support for LV_COLOR_FORMAT_I1 6345
feat(barcode): add none tiled mode 6462
feat(observer): add lv_obj_remove_from_subject 6341
feat(textarea): make textarea editable 6467
feat(lodepng): update lodepng to version 20230410 6454
feat(env): make LVGL a Zephyr compatible module 6460
feat(nuttx): add lv_nuttx_run 6371
feat(nuttx): update the joined invalid area instead of the last one 6397
feat(refr): add details on rendering_in_progress ASSERT cause 6450
feat(nuttx_image_cache): add tid for cache name 6434
feat(bar): add bar orientation 6212
feat(scale): set tick drawing order 6185
feat: add API JSON generator 5677
feat(property): add property name 6329
feat(nuttx): add stack size check 6381
feat(vg_lite): add image clip corner support 6121
feat(fsdrv): implement directory open and close for littlefs driver 6301
feat(obj): add API to set/get object ID. 6278
feat(draw): add a configuration to reduce code size 6313
feat(opengles): add basic driver for opengles 6254
feat(tests): add VG-Lite render test 6264
feat(drivers): GLCDC support for RX72 family 6291
feat(lottie): add external thorvg header file support 6311
feat(demos): add demo for the OSAL 6182
feat(rtthread): add cpu usage support 6310
feat(property): add style selector support for property API 6275
feat(micropython): improve mem core micropython 6219
feat(vector): add set viewport support for vector api with thorvg 6299
feat(api_map): adds guards to api mapping 6269
feat(vg_lite): img_decoder add stride from src 6292
feat(thorvg): update thorvg version to 0.13.5 6274
feat(obj): add check null pointer 6249
feat(draw_sw): implemented radial gradient background 6170
feat(refr): add backward compatibility for LV_COLOR_16_SWAP 6225
feat(bidi): support set neutral string 6146
feat(pxp): add zephyr support 6159
feat(stdlib): strncpy consistency and add strlcpy 6204
feat(printf): LV_FORMAT_ATTRIBUTE for IAR compiler 6231
feat(fs): file writes update the file cache 6186
feat(tool): add premultiply support to image tool 6175
feat(table): add function to set selected table cell 6163
feat(os): add mqx for osal 6191
feat(anim_timeline): add anim's `completed_cb` support 6085
feat(test): enable warning to format-security 6199
feat(draw_buf): add LV_DRAW_BUF_INIT macro to meet alignment requirement 6102
feat(tools): Python script for automatically applying version (#6012) 6080
feat(draw_buff): adapt lv_draw_buf_dup to support multi-instance 6179
feat(hover): add Hover support for pointer device. 5947
feat(gridnav): single axis movement flags 6044
feat(api_map): add missing keyboard API map for v8 6103
feat(log): add LV_LOG_PRINT_CB to set a default log print cb 6095
feat(arc): support RGB565A8 arc image 6009
feat(ci): Add CI test for UEFI build 5964
feat(draw/sw): added support for LV_COLOR_FORMAT_L8 5800
feat(cache): add name for cache instance 6040
feat(CI): Windows MSVC and GCC build 6015
feat(drv): Implement Arduino SD driver 5968
feat(demos): align images used in benchmark to stride 64 5925
feat(vg_lite): adapt premultiply src over blend mode 6062
feat(fs): add profiler hook 6056
feat(drivers): account for the frame buffer virtual resolution deviating from the visible resolution. 5988
feat(decoder): add a name field to decoder to facilitate debugging 6037
feat(fs_posix): add error number print 6041
feat(calendar): add chinese calendar 5940
feat(example): make "LVGL_Arduino.ino" easier to use 6001
feat(evdev): automatically calibrate pointer input devices. 5989
feat(draw_buf): user can separate font draw buf from default draw buff now 5982
feat(scale): multiple line needles 5937
feat(draw_buff): add user custom draw buffer instance support 5974
feat(cache): add more profile notes 5983
feat(font): add lv_font_glyph_release_draw_data api to release glyph data 5985
feat(nuttx): add defer feature for nuttx image cache 5967
feat(vglite) add implementation for partial border 5912
feat(mask): add support for image file bitmap masks 5911
feat(stdlib): add lv_strncat and refactor strcat uses 5927
feat(cache): image cache supports dynamic setting of cache size 5926
feat(draw): add draw thread stack size config option 5910
feat(draw): optimize helium asm 5702
feat(fbdev,sdl): support display rotation 5703
feat(fs): add Arduino ESP LittleFS driver 5905
feat(vg_lite): add radial gradient support 5836
feat(thorvg): update ThorVG to v0.11.99 7addc72
feat(lottie): add ThorVG based lottie widget 9c5ca0e
feat(drivers): Renesas GLCDC display driver 4d12d64
feat(textarea): add properties 357d5b7
feat(image_decoder): refactor image decoder to reduce file operation on get_info daa7fef
feat(dropdown): add properties 7c1a8a5
feat(keyboard): add properties cd48c3c
feat(roller): add properties a793178
feat(nuttx): add lv_nuttx_deinit 2b717a3
feat(glcdc): screen rotation support fd79a4f
feat(nuttx): add adaptive color format 691554d
feat(libpng): use I8 format if png is 8bit mode 49053e9
feat(property): add boolean type support 6dc75d4
feat(freetype): add invalid font descriptor print 46887db
feat(libpng): let png handle stride alignment 3116dc4
Performance
perf(draw): skip empty draw tasks 6720
perf(vg_lite): use DST_IN blending mode to improve rounded corner cropping performance 6623
perf(array): optimize array remove / erase function performance 6544
perf(vg_lite): add stroke path cache to improve drawing performance 6502
perf(array): optimize array push back function performance 6431
perf(qrcode): improve drawing speed 6475
perf(lottie): remove lottie canvas quadratic premultiplication. 6358
perf(vg_lite): invert the vector font Y axis coordinate in advance 6353
perf(obj): return directly if parent is unchanged 6283
perf(theme): optimize the order of function calls 5971
perf(draw): skip border drawing when border side is none 5959
Fixes
fix(env_support/cmake): If LV_CONF_PATH is set, install the indicated config instead of the default one. 6675
fix(i1): fix compiler and runtime issues with I1 rendering 6714
fix(vg_lite): fix rounded rectangle path error 6726
fix(vg_lite): fix rendering aliasing caused by global matrix transformation 6730
fix(indev): fix LV_EVENT_SCROLL_THROW_BEGIN not send to scroll_obj 6693
fix(tiny_ttf): Fix formatting specifier macro in lv_tiny_ttf_set_size 6731
fix(nuttx): fix build break 6732
fix(chart): fix memory leak 6727
fix(draw/neon): fix build break 6682
fix(spinbox): add missing update value 6719
fix(roller): do not move when there is only one option 6717
fix(docbuild): Fix @file commands and guard macros. 6689
fix(fs): remove Arduino SD initialization 6725
fix(benchmark): use assets only from its own folder 6666
fix(Kconfig): remove leading spaces on line 1692 6695
fix(roller): fix roller error in ubuntu24.04 uefi 6683
fix(rtthread): display driver hang 6667
fix(objid): free old id before assign new one 6697
fix(demo): fill image->data_size field 6710
fix(indev): fix indev not send gesture event 6676
fix(indev): swap the order of sending indev events and obj events 6636
fix(scripts): fix update_version error 6662
fix(refr): reshape using draw_buf stride 6567
fix(arc): add missing private include 6648
fix(docbuild): Doxygen warnings from format errors (part 2 of 2) 6653
fix(docbuild): Doxygen warnings from format errors (part 1 of 2) 6652
fix(API): keep ime struct lv_pinyin_dict_t public 6645
fix(draw_sw): fix swapped 90/270 rotation in case of RGB888 6642
fix(docs): fix Doxygen warnings caused by format errors 6584
fix(freetype): fix outline font being cropped 6639
fix(API): keep font struct lv_font_fmt_txt_kern_pair_t public 6625
fix(nxp/vglite): fix stride calculation 6613
fix(vector): fix vector graphic draw test case for amd64 6616
fix(osal): initialize Windows thread sync correctly 6604
fix(tiny_ttf): fix no cache and formatting cleanup 6568
fix(vg_lite): remove pattern_color from label drawing 6605
fix(display): delete previous screen instead of current 6494
fix(docbuild): `@file` command arg mismatches 6582
fix(kconfig): Do not set LV_CONF_SKIP by default 6562
fix(property): fix style property 6552
fix(draw_buf): handle negative coordinates on the area to clear 6510
fix(draw_sw): do not recalculate target buffer stride 6530
fix(theme): make the text styles work on the INDICATOR's DEFAULT state 6521
fix(examples): fix typo in lv_port_indev_template.c 6555
fix(ci): fix micropython CI 6546
fix(vg_lite): fix draw pattern recolor error 6525
fix(sdl): make sure minimal alignment is sizeof(void*) for aligned alloc 6526
fix(pxp): use floorf instead of floor 6516
fix(anim): fix deleted_cb not called in lv_anim_delete_all 6513
fix(thorvg): support rendering in draw events 6406
fix(obj_tree): fix incorrect return value of function lv_obj_get_sibling_by_type() 6503
fix(test): fix filter option dot escape by setting regexp string 6509
fix(dave2d): fix rendering to canvas with dave2d 6498
fix(label): do not break last line for LV_LABEL_LONG_DOT (#5606) 6362
fix(ime): fix buffer-overflow error in pingyin IME 6501
fix(refr): eliminate side effect in assert 6499
fix(gif): add correct image header 6472
fix(vg_lite_tvg): fix path structure is not fully initialized 6493
fix(drivers): fix hardware rotation of generic mipi display 6470
fix(gen_json): fix bad LVGL header path 6479
fix(Windows): use global lock 6425
fix(decoder): use unsigned format spec with uint32_t's 6457
fix(draw_buf): skip palette cleanup 6471
fix(scroll): fix jumping on scroll end 6393
fix(gridnav): send focus/defocus event from gridnav key handler 6385
fix(nxp): fix rounded corner image in NXP vglite 6436
fix(codespace): enable builtin OBJID feature 6417
fix(conf): make comment requirement explicit 6248
fix(ap): fix ap map table 6430
fix(draw_buf): fix user defined draw_buf alloc/destroy not paired 6426
fix(x11): use normal malloc for frame buffer allocation 6384
fix(vg_lite): fix scissor setting error 6420
fix(examples): correct typo in widgets example doc 6412
fix(demo): make the music player correctly work with v9 6302
fix(indev): fix use after free of last hovered object 6405
fix(vg_lite): fix incorrect alpha handling 6402
fix(theme): set a default length for scale 6359
fix(spangroup): handle style_text_letter_space better 6364
fix(sdl): fix draw buffer misalignment 6386
fix(nuttx): fix build warning using nuttx 6379
fix(test): fix compile error on macos 6377
fix(fs_littlefs): fix maybe-uninitialized warning 6380
fix(thorvg): fix sw_engine crash 6372
fix(scale): fix the issue of needle sliding in scale 6343
fix(cmake): install headers correctly 6332
fix(animimage): add NULL pointer check 6206
fix(docs): fix Lottie document cannot view examples (#6338) 6342
fix(obj): fix memory leak in error handling 6330
fix(env): fix meson build break 5745
fix(drm): add tick_get_cb 6306
fix(dave2d): make it work without software render too 6290
fix(demo): lv_demo_widgets update scale3 needle and label pos on resize 6258
fix(example): lv_example_scale_3 second scale needle was scrollable 6320
fix(roller): enable lv_example_roller_3 again 6307
fix(math): fix compile warning 6315
fix(dave2d): fix warnings on non Cortex-M85 6284
fix(docs): Fix failing docs build in master since lottie 6316
fix(display): cancelled screen animation may block input indefinitely 6277
fix(obj): search child object using depth-first search 6287
fix(roller): avoid divided-by-zero during draw event 6285
fix(indev): fix elastic scrolling with snapping 6230
fix(benchmark): use the correct subject for performance data 6237
fix(layouts): fix rounding for fr in grid layout 6255
fix (dave2d) : remove __NOP(); and __BKPT(0); 6228
fix(sdl): handle if the window_id is not set correctly in SDL 6194
fix(drivers): drm driver not initialising with small screens 6244
fix(freetype): fix potential multi-threaded data conflicts 6252
fix(vglite): build issues 6245
fix(canvas): lv_canvas_set_px for indexed images 6226
fix(snapshot): fix memleak in lv_snapshot 6147
fix(span): fix span incorrect max height calculation 6243
fix(refr): remove the unnecessary wait for flush in double buffered direct mode 6120
fix(display): load screen from matching display 6189
fix(roller): set the position of the selected text correctly 6083
fix(span): fix Chinese character incorrect break line 6222
fix(lv_msgbox): Automatically adjust msgbox's content height. 6176
fix(imagebutton): tiling regression 6195
fix(docs): fix broken links 6207
fix(sysmon): fix MicroPython compilation error when system monitor is enabled 6073
fix(fsdrv/fatfs): support FF_DIR and FATFS_DIR typedef in ff.h 6128
fix(scripts): remove scripts/release/ directory 6134
fix(arc): arc pressing bounds detection 6188
fix(refr): call flush_wait_cb only if flushing is in progress 6174
fix(event): stop event event processing when requested 6113
fix(nuttx): fix assert failed due to wrong color format 6160
fix(nuttx): fix compile warning 6156
fix(README): with corrected example code 6151
fix(example): fix the gradient text example 6152
fix(tests): fix check failed for `-Wno-c++11-extensions` 6154
fix(scroll): fix infinite loop in scroll_end events 6109
fix(vg_lite): fix incorrect cache operation 6054
fix(docs): fix typo for LV_KEYBOARD_MODE_SPECIAL 6136
fix(demo): fix compile warning 6100
fix(docs): use find_version helper in build script 6122
fix(docs): pull version out of lv_version.h 6097
fix(area): increase coordinate percent range beyond +-1000 6051
fix(cmake): generate versioned shared libraries 5865
fix(image): set the draw_task area correctly for tiled image 6029
fix(encoder): always fire LV_EVENT_LONG_PRESSED to indev callback 6064
fix(vg_lite):check the color format before alloc layer buffer 6071
fix(lodepng): fix crash when fallback from lodepng decoder 6079
fix(scroll): fix deletion animation causing missing scroll end event 5979
fix(evdev): add missing include for strerror 6047
fix(canvas): invalidate canvas on finish layer 6042
fix(bin_decoder): fix memory leak 5990
fix(font): fix the include path of lvgl.h 6050
fix(kconfig): add Montserrat 10 font to default title font list in Kconfig (#6057) 6058
fix(style): refresh the style on transition start 6043
fix(canvas): fix buf copy assert msg error 6063
fix(display): update the color format of the draw buffers on color format change 5973
fix(label): fix maybe-uninitialized warning 6028
fix(draw): fix the default draw thread stack is too large 5951
fix(driver): lv_x11_input.c fixes 6033
fix(example): LVGL_Arduino.ino millis() as tick source 5999
fix(textarea): update password bullets immediately on set 5943
fix(nuttx): fix gesture event failure 5996
fix(fbdev): set resolution prior to buffer 6004
fix(thorvg): fix windows build break 5978
fix(kconfig): update as per lv_conf_template.h 5980
fix(anim): optimize repeat_count type 5975
fix(rtthread): implement lv_strcat function in rt-thread due to absence of rt_strcat 5920
fix(span): handle trailing newline 5957
fix(sdl_keyboard): fix warning of the implicit declaration of function memmove 5962
fix(obj_tree): fix event loss caused by obj deletion 5950
fix(sdl): handle both LV_IMAGE_SRC_FILE and LV_IMAGE_SRC_VARIABLE 5852
fix(demos): update README to match lv_demos.c 5939
fix(flex): LV_FLEX_ALIGN_SPACE_BETWEEN align single item left 5915
fix(platformio): fix CI to automatically publish release 5924
fix(script): update RLE compressed image raw len without padding dd70291
fix(image): image inner align name should not conflict with obj's align d6495b5
fix(refr): NOT draw if scale is 0 1d647ad
fix(sdl): fix build warning 9a91368
fix(script): add per image attribute for C array 124086c
fix(anim): fix lv_anim_set_repeat_count configuration parameter may be truncated 6e3f686
fix(draw_buf): use LV_ROUND_UP to align draw buffer address 79b64c8
fix(bin_decoder): check buffer size before write data 75eef0d
fix(property): support user added property index c191ecb
fixed compile error on line 402 when using two SDL frame buffers 7722f0f
fix(animimg): Optimize the structure size of animations 150d1a1
fix(obj): avoid to init NULL obj 9e3ea81
fix(thorvg): use premultiplied images in SW render f34ec4b
Examples
Docs
docs(label): fix unintentional definition list in parts and styles section 6735
docs(arm): add overview docs for Arm 6712
docs(obj): fix typo of LV_OBJ_FLAG_IGNORE_LAYOUT 6713
docs(espressif): Update Espressif's documentation with esp_lvgl_port 6658
docs(scale): Add note about major tick label calculation when no custom labels are set 6585
docs: Added docs for BDF fonts 6398
docs(qnx): reflect on the changed build directory 6583
docs(example): complete the examples not cited in the docs 6608
docs(msgbox): update to reflect latest 6603
docs: add VG-Lite related documents 6557
docs(qnx): add to index.rst 6572
docs: fix flush_cb typo 6523
docs: update the drivers description 6423
docs(renesas): update board videos, fix typos 6429
docs(README): fix broken images 6404
docs(build): fix build error 6403
docs(README): fix links 6383
docs(tileview): fix tileview column/row argument order 6388
docs: add evdev documentation 6376
docs(examples): add the gradient examples 6328
docs(quick-overview): update indev create to v9 6282
docs(lottie): fix missing lottie link on the widgets index 6272
docs(quick-overview): clarify which folders are required 6250
docs(simulator): update simulator page and mention lv_port_linux 6205
docs: simplify the find_version script and fix shellcheck report in it 6133
docs(coord): fix the layout of overview 6112
docs: fix example build break 6114
docs(obj): fix add/remove flag documentation 6067
docs(calendar): move instruction to the usage section 6045
docs: fix typo in the comments [ci skip] 6027
docs(renesas): fix the links 5977
docs(renesas): add a general introduction page 5969
docs(changelog): fixed changelog displaying no line breaks 5931
docs: update changelog 5923
docs(global): decoration should be as long as the text 5ed3a06
docs(renesas): update links be4a9d1
docs(faq): lv_display_t, lv_indev_t, and lv_fs_drv_t doesn't have to be static 1dfd782
CI and tests
ci(sdl): add sdl build to ci test 6505
ci(micropython): improve logs 6257
test(span): add span testcase for Chinese line break 6236
ci(test): fix include path 6141
ci(ubuntu):ci use ubuntu-2204 6213
ci(stale): do not mark shaping and ready for development issues as stale 6086
ci: use ubuntu-22.04 instead of ubuntu-latest 6032
ci(test): remove non-native builds and add native 32 and 64 bit builds instead f2e81d8
Others
chore(api): add api map for v9.1 6733
chore: move the astyle repo to the lvgl organization 6614
chore(docs): update Zephyr documentation 6581
chore(display): prevent disp_refr from becoming a wild pointer 6618
chore(demos/README.md): fix typo `LV_MEME_SIZE` 6669
chore(tiny_ttf): fix docstring on each API 6514
chore(text): update ISO8859-1 text functions' docstring 6590
chore(deps): bump carlosperate/arm-none-eabi-gcc-action from 1.8.2 to 1.9.0 6620
chore(deps): bump JamesIves/github-pages-deploy-action from 4.6.1 to 4.6.3 6621
chore(api_map_v8): API for adapting imagebutton for version V8 6641
refactor(API): don't expose private symbols in lvgl.h. phase-out "_lv*" names 6068
chore(tests): remove vg_lite L8 render reference images 6606
chore: make lv_utils as public and align function prototype with stdlib 6473
refactor(tiny_fft): refactor tiny_ttf cache with updated improvements 6441
chore(sdl): fix warning 6483
chore(rt-thread): revert macro back to PKG_USING_LVGL_SQUARELINE 6481
chore(vg_lite): remove YUV format processing of vg-lite decoder 6461
chore(logo): update lvgl logo 6416
chore(examples): fixes a typo in the Arduino example 6464
chore(tests): add missing test images 6452
chore(examples): remove extra spaces 6435
chore(scale): fix compile warning 6445
chore: fix spelling 6401
chore(lvgl_private): remove unnecessary private header file includes 6418
chore(draw_vector): complete printing information 6399
refact(draw_vector): standardized draw gradient API 6344
chore(test): fix render test typo 6370
chore(widgets): fix typo 6369
chore(decoder): use trace level of log 6361
chore(test): add missing vg-lite ref images 6363
chore(obj_pos): fix typo 6336
chore(deps): bump JamesIves/github-pages-deploy-action from 4.6.0 to 4.6.1 6323
chore(deps): bump carlosperate/arm-none-eabi-gcc-action from 1.8.1 to 1.8.2 6322
chore(example): fix build break caused by undefined LV_USE_DRAW_SW_COMPLEX_GRADIENTS 6286
chore(log): remove n from log message 6276
Revert "feat(pxp): add zephyr support" 6261
Add LVGL9 demos to esp.cmake 6220
chore(group): remove useless code 6124
refactor(image_decoder): extract cache operation to image decoder from decoder instance 6155
chore(image_decoder): fix compile error when compiling testcase 6223
chore: fix compile error 6224
refactor(nuttx_image_cache): remove LV_CACHE_DEF_SIZE dependency 6178
chore(deps): bump JamesIves/github-pages-deploy-action from 4.5.0 to 4.6.0 6164
chore(deps): bump uraimo/run-on-arch-action from 2.7.1 to 2.7.2 6165
chore(nuttx_image_cache): optimize inlucde 6177
chore(draw_sw): optimize lv_draw_sw_rotate judgment logic 6148
chore(cmsis-pack): monthly catch-up 6129
chore(style): use lv_part_t type where suitable 6075
chore(decoder): update comments 6072
chore(lodepng): fix typo 6077
chore: update some code and docs to use v9 API 5876
chore(text): move "_" funcs to private h 5913
chore(vg_lite_tvg): fix build warnings 5984
chore(kconfig): move use_vector to correct place 5995
chore(vg_lite): fix typo 5993
chore(vg_lite): remove duplicate parameter judgments 5960
chore(PR): modify the astyle version description in PR 5963
chore(cmsis-pack): minor update 5948
chore(observer): rename lv_button_bind_checked to lv_obj_bind_checked 5944
refactor(font): refactor font glyph data acquire method 5884
Optimize lv_color_16_16_mix() when c1 == c2 5929
chore(cache): adjust includes 5921
refacter(conf): use defines for standard includes 5767
refactor(image_decoder): refactor image decoder and image cache 5890
refactor(draw_buff): separate all image cache related draw buff into image_cache_draw_buff 417d78b
refactor(image_decoder): refactor get_info so that it can pass params via dsc 001b483
refactor(display_rotate_area): use a copy instead of const casting 20bbe4a
chore(Makefile): remove useless macro LV_USE_DEV_VERSION 9b3e8ee