Releases: lvgl/lvgl
[v7.7.0]
New features
- Add PXP GPU support (for NXP MCUs)
- Add VG-Lite GPU support (for NXP MCUs)
- Allow max. 16 cell types for table
- Add
lv_table_set_text_fmt()
- Use margin on calendar header to set distances and padding to the size of the header
- Add
text_sel_bg
style proeprty
Bugfixes
- Theme update to support text selection background
- Fix imgbtn state change
- Support RTL in a table (draw columns right to left)
- Support RTL in pretty layout (draw columns right to left)
- Skip objects in groups if they are in a disabled state
- Fix dropdown selection with RTL base direction
- Fix rectangle border drawing with a large width
- Fix
lv_win_clean()
[v7.6.1]
- Fix BIDI support in dropdown list
- Fix copying base dir in lv_obj_create
- Handle sub pixel rendering in font loader
- Fix transitions with style caching
- Fix click focus
- Fix imgbtn image switching with empty style
- Material theme: do not set the text font to allow easy global font change
[v7.6.0]
New features
- Check whether any style property has changed on a state change to decide if any redraw is required
Bugfixes
- Fix selection of options with non-ASCII letters in dropdown list
- Fix font loader to support LV_FONT_FMT_TXT_LARGE
[v7.5.0]
New fetures
- Add
clean_dcache_cb
andlv_disp_clean_dcache
to enable users to use their own cache management function - Add
gpu_wait_cb
to wait until the GPU is working. It allows to run CPU a wait only when the rendered data is needed. - Add 10px and 8px built in fonts
Bugfixes
- Fix unexpected DEFOCUS on lv_page when clicking to bg after the scrollable
- Fix
lv_obj_del
andlv_obj_clean
if the children list changed during deletion. - Adjust button matrix button width to include padding when spanning multiple units.
- Add rounding to btnmatrix line height calculation
- Add
decmopr_buf
to GC roots - Fix division by zero in draw_pattern (lv_draw_rect.c) if the image or letter is not found
- Fix drawing images with 1 px height or width
- Fix selection of options with non-ASCII letters in dropdown list
[v7.4.0]
The main new features of v7.4.0 are run-time font loading, style caching and arc knob with value setting by click.
New features
- Add
lv_font_load()
function - Loads alv_font_t
object from a binary font file - Add
lv_font_free()
function - Frees the memory allocated by thelv_font_load()
function - Add style caching to reduce acces time of properties with default value
- arc: add set value by click feature
- arc: add
LV_ARC_PART_KNOB
similarly to slider - send gestures even is the the obejct was dragged. User can check dragging with
lv_indev_is_dragging(lv_indev_act())
in the event function.
Bugfixes
- Fix color bleeding on border drawing
- Fix using 'LV_SCROLLBAR_UNHIDE' after 'LV_SCROLLBAR_ON'
- Fix croping of last column/row if an image is zoomed
- Fix zooming and rotating mosaic images
- Fix deleting tabview with LEFT/RIGHT tab position
- Fix btnmatrix to not send event when CLICK_TRIG = true and the cursor slid from a pressed button
- Fix roller width if selected text is larger than the normal
[v7.3.1]
Bugfixes
- Fix drawing value string twice
- Rename
lv_chart_clear_serie
tolv_chart_clear_series
andlv_obj_align_origo
tolv_obj_align_mid
- Add linemeter's mirror feature again
- Fix text decor (underline strikethrough) with older versions of font converter
- Fix setting local style property multiple times
- Add missing background drawing and radius handling to image button
- Allow adding extra label to list buttons
- Fix crash if
lv_table_set_col_cnt
is called beforelv_table_set_row_cnt
for the first time - Fix overflow in large image transformations
- Limit extra button click area of button matrix's buttons. With large paddings it was counter intuitive. (Gaps are mapped to button when clicked).
- Fix color picker invalidation in rectangle mode
- Init disabled days to gray color in calendar
[v7.3.0]
The most interesting yet very simple feature of v7.3.0 are lv_event_send_refresh(obj)
and lv_event_send_refresh_recursive(obj)
. They send an LV_EVENT_REFRESH
event to an object or to all its descendants too. lv_event_send_refresh_recursive(NULL)
will notify all the existing objects.
In the refresh event of an object the developer can see the current value of some variables and update the object accordingly. E.g. update the label's text to a measured value, or to the newly selected language, or set the state of a checkbox according to a boolean variable.
The gist is you don't have to check whether the object exists or not before updating it. Just notify all objects or all children of an object and if
an object is there, and its refresh event is implemented it will do its job. Read more here.
New features
- Add
lv_event_send_refresh
,lv_event_send_refresh_recursive
to easily sendLV_EVENT_REFRESH
to object - Add
LV_MEMCPY_MEMSET_STD
to use standardmemcpy
andmemset
- Add
lv_tabview_set_tab_name()
function - used to change a tab's name - Add
LV_THEME_MATERIAL_FLAG_NO_TRANSITION
andLV_THEME_MATERIAL_FLAG_NO_FOCUS
flags - Reduce code size by adding:
LV_USE_FONT_COMPRESSED
,LV_FONT_USE_SUBPX
,LV_USE_OUTLINE
,LV_USE_PATTERN
,LV_USE_VALUE_STR
and applying some optimization - Add
lv_task_get_next
Bugfixes
- Do not print warning for missing glyph if its height OR width is zero.
- Prevent duplicated sending of
LV_EVENT_INSERT
from text area - Tidy outer edges of cpicker widget.
- Remove duplicated lines from
lv_tabview_add_tab
- btnmatrix: hadle combined states of buttons (e.g. chacked + disabled)
- textarea: fix typo in lv_textarea_set_sscrollbar_mode
- gauge: fix image needle drawing
- fix using freed memory in _lv_style_list_remove_style
Arudino library
The core lvgl repository and lv_examples are now directly available as Arduino libraries:
- https://www.arduinolibraries.info/libraries/lvgl
- https://www.arduinolibraries.info/libraries/lv_examples
See the README for more info.
New repositories
- lv_lib_gif: GIF decoder
- lv_lib_bmp BMP decoder
lv_lib_lodepng
is renamed to lv_lib_png for consitency
[v7.2.0]
New features
- Add screen transitions with
lv_scr_load_anim()
- Add display background color, wallpaper and opacity. Shown when the screen is transparent. Can be used with
lv_disp_set_bg_opa/color/image()
. - Add
LV_CALENDAR_WEEK_STARTS_MONDAY
- Add
lv_chart_set_x_start_point()
function - Set the index of the x-axis start point in the data array - Add
lv_chart_set_ext_array()
function - Set an external array of data points to use for the chart - Add
lv_chart_set_point_id()
function - Set an individual point value in the chart series directly based on index - Add
lv_chart_get_x_start_point()
function - Get the current index of the x-axis start point in the data array - Add
lv_chart_get_point_id()
function - Get an individual point value in the chart series directly based on index - Add
ext_buf_assigned
bit field tolv_chart_series_t
structure - it's true if external buffer is assigned to series - Add
lv_chart_set_series_axis()
to assign series to primary or secondary axis - Add
lv_chart_set_y_range()
to allow setting range of secondary y axis (based onlv_chart_set_range
but extended with an axis parameter) - Allow setting different font for the selected text in
lv_roller
- Add
theme->apply_cb
to replacetheme->apply_xcb
to make it compatible with the MicroPython binding - Add
lv_theme_set_base()
to allow easy extension of built-in (or any) themes - Add
lv_obj_align_x()
andlv_obj_align_y()
functions - Add
lv_obj_align_origo_x()
andlv_obj_align_origo_y()
functions
Bugfixes
tileview
fix navigation when not screen sized- Use 14px font by default to for better compatibility with smaller displays
linemeter
fix conversation of current value to "level"- Fix drawing on right border
- Set the cursor image non clickable by default
- Improve mono theme when used with keyboard or encoder
[v7.1.0]
New features
- Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
- Add
focus_parent
attribute tolv_obj
- Allow using buttons in encoder input device
- Add lv_btnmatrix_set/get_align capability
- DMA2D: Remove dependency on ST CubeMX HAL
- Added
max_used
propriety tolv_mem_monitor_t
struct - In
lv_init
test if the the strings are UTF-8 encoded. - Add
user_data
to themes - Add inline function lv_checkbox_get_state(const lv_obj_t * cb) to extend the checkbox functionality.
- Add inline function lv_checkbox_set_state(const lv_obj_t * cb, lv_btn_state_t state ) to extend the checkbox functionality.
Bugfixes
lv_img
fix invalidation area when angle or zoom changes- Update the style handling to support Big endian MCUs
- Change some methods to support big endian hardware.
- remove use of c++ keyword 'new' in parameter of function lv_theme_set_base().
- Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
- Fix inserting chars in text area in big endian hardware.
[v7.0.2] Bugfixes
Bugfixes
lv_textarea
fix wrong cursor position when clicked after the last character- Change all text related indices from 16-bit to 32-bit integers throughout the whole library. #1545
- Fix gestures
- Do not call
set_px_cb
for transparent pixel - Fix list button focus in material theme
- Fix crash when the text area is cleared with the backspace of a keyboard
- Add version number to
lv_conf_template.h
- Add log in true double buffering mode with
set_px_cb
lv_dropdown
: fix missingLV_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 fromlv_misc
too- add assert if
_lv_mem_buf_get()
fails lv_textarea
: fix character delete in password mode- Update
LV_OPA_MIN
andLV_OPA_MAX
to widen the opacity processed range lv_btnm
fix sending events for hidden buttonslv_gaguge
makelv_gauge_set_angle_offset
offset the labels and needles too- Fix typo in the API
scrllable
->scrollable
tabview
by default allow auto expanding the page only to right and bottom (#1573)- fix crash when drawing gradient to the same color
- chart: fix memory leak