Here is the v5.0.0 release with a much simpler architecture. Now the graphics library means only the lvgl repository. Besides the architectural changes, Unicode support, style themes, and new smartphone-like object types are added. To make it easier to get started, a tutorial is released in the lv_examples repository.
Note that this is a major release and is not backward compatible. It's highly recommended to read the basics in the Documentation to learn the new features.
Architectural Changes#
- Integrate misc into lvgl
- Integrate hal into lvgl
- Convert Applications into simple examples
- Rename repository from proj_pc to pc_simulator
- Create a new independent repository for examples (lv_examples)
- Create a new independent repository for development boards (lv_boards)
- Create a new independent repository for drivers (lv_drivers)
System Level Changes#
- Object type inheritance is hidden. Every object has its own API (except
lv_obj_set/get_...functions) - Rework
lv_style_tto be more versatile - Rename (and slightly rework) some functions, defines, and enums to be more descriptive
- Make styles global variables for less typing
- Make fonts global variables for less typing and easy user-font adding
- Join symbol fonts into normal built-in fonts (use normal fonts, and lvgl will find symbol fonts too)
- Rename
lv_dispi_...tolv_indev_... - Simplified action functions:
lv_res_t action (lv_obj_t * obj)- uselv_indev_act()if required
New Features#
- Unicode support with UTF-8 decode
- Themes with predefined styles
- lv_tabview: new object type to organize content with tabs
- lv_sw: new object type, switch, turn on/off by tap (a little slider)
- lv_roller: new object type, a roller to select a value (like on smartphones)
- lv_kb: new object type, Keyboard
- lv_btnm:
lv_btnm_set_toggle()to toggle last button - lv_btnm: rework width control. Now a control byte is used for width, hide, and no long press settings
- lv_ta: cursor types
- lv_gauge: rework to make it more like line meter (remove background but add scale lines)
- Partial border draw in styles
- Hide anti-aliasing upscale (no
x * LV_DOWNSCALEis required)
Bugfixes#
Due to lv_tests, a massive number of bug fixes happened.
