mirror of
https://github.com/lvgl/lvgl.git
synced 2024-11-24 02:03:53 +08:00
4.1 KiB
4.1 KiB
Roadmap
This is a summary for planned new features and a collection of ideas. This list indicates only the current intention and it can be changed.
v8.1
Features
- Unit testing (gtest?). See #1658
- Benchmarking (gem5 or qemu?). See #1660
- lv_snapshot: buffer a widget and all of its children into an image. The source widget can be on a different screen too. The resulting image can be transformed.
- High level GPU support. See #2058
New features
- merge MicroPython examples
- add a "Try out yourself" button to the Micropython examples
Discuss
- CPP binding
- Plugins. In v8 core and extra widgets are separated. With the new flexible events, the behavior of the widgets can be modified in a modular way. E.g. a plugin to add faded area to a line chart (as in the widgets demo)
Docs
- Display the Micropytohn examples too.
- Add a link to the example C and py files
- List of all examples on a page. All in iframes grouped by category (e.g. flex, style, button)
Others
- Add automatic rebuild to get binary directly. Similarly to STM32F746 project.
- Implement release scripts. I've added a basic specification here, but we should discuss it.
- Unit test for the core widgets
v8.2
- Optimize line and circle drawing and masking
- Handle stride. See #1858
- Support LV_STATE_HOVERED
Ideas
- Reconsider color format management for run time color format setting, and custom color format usage. (Also RGB888)
- Make gradients more versatile
- Make image transformations more versatile
- Switch to RGBA colors in styles
- Consider direct binary font format support
- Simplify
group
s. Discussion is here. - Use generate-changelog to automatically generate changelog
- lv_mem_alloc_aligned(size, align)
- Text node. See #1701
- CPP binding. See Forum
- Optimize font decompression
- Need coverage report for tests
- Need static analyze (via coverity.io or somehing else)
- Support dot_begin and dot_middle long modes for labels
- Add new label alignment modes. #1656
- Support larger images: #1892
v8
- Create an
extra
folder for complex widgets- It makes the core LVGL leaner
- In
extra
we can have a lot and specific widgets - Good place for contributions
- New scrolling:
- See feat/new-scroll branch and #1614) issue.
- Remove
lv_page
and support scrolling onlv_obj
- Support "elastic" scrolling when scrolled in
- Support scroll chaining among any objects types (not only
lv_pages
s) - Remove
lv_drag
. Similar effect can be achieved by setting the position inLV_EVENT_PRESSING
- Add snapping
- Add snap stop to scroll max 1 snap point
- Already working
- New layouts:
- See #1615 issue
- CSS Grid-like layout support
- CSS Flexbox-like layout support
- Remove
lv_cont
and support layouts onlv_obj
- Simplified File system interface (feat/new_fs_api branch) to make porting easier
- Work in progress
- Remove the align parameter from
lv_canvas_draw_text
- Remove the copy parameter from create functions
- Optimize and simplifie styles #1832
- Use a more generic inheritenace #1919
- Allow adding multiple events to an obejct