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.X

  • lv_snapshot: buffer a widget and all of its children into an image. he source widget can be on a different screen too. The result image can be transformed.

  • Add radio button support

  • Unit testing (gtest?). See #1658

  • Benchmarking (gem5?). See #1660

  • chart: pre-delete X pint after the lastly set

  • chart: autoscroll to the right

  • 9-patch support for lv_imgbtn.

  • Handle stride. See #1858

  • Optimize line and circle drawing and masking

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 groups. 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 on lv_obj

    • Support "elastic" scrolling when scrolled in

    • Support scroll chaining among any objects types (not only lv_pagess)

    • Remove lv_drag. Similar effect can be achieved by setting the position in LV_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 on lv_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