summaryrefslogtreecommitdiff
path: root/src/libs/lvgl/CHANGELOG.md
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-02-23 21:21:29 +0100
committerJean-François Milants <jf@codingfield.com>2021-02-23 21:21:29 +0100
commitb11b20b0ac5c0adfbd1397cf42c322c873a736a8 (patch)
tree0bcb047f3e9d5c41c6d79b4dac6cbcdd3929136b /src/libs/lvgl/CHANGELOG.md
parentf864330d355172046fab0923fd9015ec52884f00 (diff)
Remove LVGL folder (it's now a submodule)
Diffstat (limited to 'src/libs/lvgl/CHANGELOG.md')
-rw-r--r--src/libs/lvgl/CHANGELOG.md406
1 files changed, 406 insertions, 0 deletions
diff --git a/src/libs/lvgl/CHANGELOG.md b/src/libs/lvgl/CHANGELOG.md
new file mode 100644
index 00000000..fe12c57b
--- /dev/null
+++ b/src/libs/lvgl/CHANGELOG.md
@@ -0,0 +1,406 @@
+# Changelog
+
+## v7.10.1
+
+### Bugfixes
+- fix(draw) overlap outline with background to prevent aliasing artifacts
+- fix(indev) clear the indev's `act_obj` in `lv_indev_reset`
+- fix(text) fix out of bounds read in `_lv_txt_get_width`
+- fix(text) improve Arabic contextual analysis by adding hyphen processing and proper handling of lam-alef sequence
+- fix(delete) delete animation after the children are deleted
+- fix(gauge) consider paddigns for needle images
+
+## v7.10.0
+
+### New features
+- feat(indev) allow input events to be passed to disabled objects
+- feat(spinbox) add inline get_step function for MicroPython support
+
+### Bugfixes
+- fix(btnmatrix) fix lv_btnmatrix_get_active_btn_text() when used in a group
+
+## v7.9.1
+
+### Bugfixes
+- fix(cpicker) fix division by zero
+- fix(dropdown) fix selecting options after the last one
+- fix(msgbox) use the animation time provided
+- fix(gpu_nxp_pxp) fix incorrect define name
+- fix(indev) don't leave edit mode if there is only one object in the group
+- fix(draw_rect) fix draw pattern stack-use-after-scope error
+
+
+## v7.9.0
+
+### New features
+- feat(chart) add lv_chart_remove_series and lv_chart_hide_series
+- feat(img_cahce) allow disabling image caching
+- calendar: make get_day_of_week() public
+- Added support for Zephyr integration
+
+### Bugfixes
+- fix(draw_rect) free buffer used for arabic processing
+- fix(win) arabic process the title of the window
+- fix(dropdown) arabic process the option in lv_dropdown_add_option
+- fix(textarea) buffer overflow in password mode with UTF-8 characters
+- fix(textarea) cursor position after hiding character in password mode
+- fix(linemeter) draw critical lines with correct color
+- fix(kconfig) handle disable sprintf float correctly.
+- fix(layout) stop layout after recursion threshold is reached
+- fix(gauge) fix redraw with image needle
+
+## v7.8.1
+
+### Bugfixes
+- fix(lv_scr_load_anim) fix when multiple screen are loaded at tsame time with delay
+- fix(page) fix LV_SCOLLBAR_MODE_DRAG
+
+## v7.8.0 (01.12.2020)
+
+### New features
+- make DMA2D non blocking
+- add unscii-16 built-in font
+- add KConfig
+- add lv_refr_get_fps_avg()
+
+### Bugfixes
+- fix(btnmatrix) handle arabic texts in button matrices
+- fix(indev) disabled object shouldn't absorb clicks but let the parent to be clicked
+- fix(arabic) support processing again already processed texts with _lv_txt_ap_proc
+- fix(textarea) support Arabic letter connections
+- fix(dropdown) support Arabic letter connections
+- fix(value_str) support Arabic letter connections in value string property
+- fix(indev) in LV_INDEV_TYPE_BUTTON recognize 1 cycle long presses too
+- fix(arc) make arc work with encoder
+- fix(slider) adjusting the left knob too with encoder
+- fix reference to LV_DRAW_BUF_MAX_NUM in lv_mem.c
+- fix(polygon draw) join adjacent points if they are on the same coordinate
+- fix(linemeter) fix invalidation when setting new value
+- fix(table) add missing invalidation when changing cell type
+- refactor(roller) rename LV_ROLLER_MODE_INIFINITE -> LV_ROLLER_MODE_INFINITE
+
+## v7.7.2 (17.11.2020)
+### Bugfixes
+- fix(draw_triangle): fix polygon/triangle drawing when the order of points is counter-clockwise
+- fix(btnmatrix): fix setting the same map with modified pointers
+- fix(arc) fix and improve arc dragging
+- label: Repair calculate back `dot` character logical error which cause infinite loop.
+- fix(theme_material): remove the bottom border from tabview header
+- fix(imgbtn) guess a the closest available state with valid src
+- fix(spinbox) update cursor position in lv_spinbox_set_step
+
+## v7.7.1 (03.11.2020)
+### Bugfixes
+- Respect btnmatrix's `one_check` in `lv_btnmatrix_set_btn_ctrl`
+- Gauge: make the needle images to use the styles from `LV_GAUGE_PART_PART`
+- Group: fix in `lv_group_remove_obj` to handle deleting hidden obejcts correctly
+
+## v7.7.0 (20.10.2020)
+
+### 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 property
+
+### Bugfixes
+- Theme update to support text selection background
+- Fix imgbtn state change
+- Support RTL in table (draw columns right to left)
+- Support RTL in pretty layout (draw columns right to left)
+- Skip objects in groups if they are in disabled state
+- Fix dropdown selection with RTL basedirection
+- Fix rectangle border drawing with large width
+- Fix `lv_win_clean()`
+
+## v7.6.1 (06.10.2020)
+
+### Bugfixes
+- 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 (22.09.2020)
+
+### 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 (15.09.2020)
+
+### New features
+- Add `clean_dcache_cb` and `lv_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 8ox built in fonts
+
+### Bugfixes
+- Fix unexpected DEFOCUS on lv_page when clicking to bg after the scrollable
+- Fix `lv_obj_del` and `lv_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 divisioin 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
+
+## v7.4.0 (01.09.2020)
+
+The main new features of v7.4 are run-time font loading, style caching and arc knob with value setting by click.
+
+### New features
+- Add `lv_font_load()` function - Loads a `lv_font_t` object from a binary font file
+- Add `lv_font_free()` function - Frees the memory allocated by the `lv_font_load()` function
+- Add style caching to reduce access time of properties with default value
+- arc: add set value by click feature
+- arc: add `LV_ARC_PART_KNOB` similarly to slider
+- send gestures event if the object 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 rotateing 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 (18.08.2020)
+
+### Bugfixes
+- Fix drawing value string twice
+- Rename `lv_chart_clear_serie` to `lv_chart_clear_series` and `lv_obj_align_origo` to `lv_obj_align_mid`
+- Add linemeter's mirror feature again
+- Fix text decor (udnerline 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 before `lv_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 `lv_btnmatrix_set_one_check` not forcing exactly one button to be checked
+- Fix color picker invalidation in rectangle mode
+- Init disabled days to gray color in calendar
+
+## v7.3.0 (04.08.2020)
+
+### New features
+- Add `lv_task_get_next`
+- Add `lv_event_send_refresh`, `lv_event_send_refresh_recursive` to easily send `LV_EVENT_REFRESH` to object
+- Add `lv_tabview_set_tab_name()` function - used to change a tab's name
+- Add `LV_THEME_MATERIAL_FLAG_NO_TRANSITION` and `LV_THEME_MATERIAL_FLAG_NO_FOCUS` flags
+- Reduce code size by adding: `LV_USE_FONT_COMPRESSED` and `LV_FONT_USE_SUBPX` and applying some optimization
+- Add `LV_MEMCPY_MEMSET_STD` to use standard `memcpy` and `memset`
+
+### 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
+
+## v7.2.0 (21.07.2020)
+
+### 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 to `lv_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 on `lv_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 replace `theme->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()` and `lv_obj_align_y()` functions
+- Add `lv_obj_align_origo_x()` and `lv_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 (07.07.2020)
+
+### New features
+- Add `focus_parent` attribute to `lv_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 to `lv_mem_monitor_t` struct
+- In `lv_init` test if the strings are UTF-8 encoded.
+- Add `user_data` to themes
+- Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
+- 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 (16.06.2020)
+
+### 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 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 a 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 missing `LV_EVENT_VALUE_CHANGED` event when used with encoder
+- `lv_tileview`: fix if not the {0;0} tile is created first
+- `lv_debug`: restructure to allow asserting in from `lv_misc` too
+- add assert if `_lv_mem_buf_get()` fails
+- `lv_textarea`: fix character delete in password mode
+- Update `LV_OPA_MIN` and `LV_OPA_MAX` to widen the opacity processed range
+- `lv_btnm` fix sending events for hidden buttons
+- `lv_gaguge` make `lv_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
+- `img`: improve hit test for transformed images
+
+## v7.0.1 (01.06.2020)
+
+### Bugfixes
+- Make the Microptyhon working by adding the required variables as GC_ROOT
+- Prefix some internal API functions with `_` to reduce the API of LVGL
+- Fix built-in SimSun CJK font
+- Fix UTF-8 encoding when `LV_USE_ARABIC_PERSIAN_CHARS` is enabled
+- Fix DMA2D usage when 32 bit images directly blended
+- Fix lv_roller in infinite mode when used with encoder
+- Add `lv_theme_get_color_secondary()`
+- Add `LV_COLOR_MIX_ROUND_OFS` to adjust color mixing to make it compatible with the GPU
+- Improve DMA2D blending
+- Remove memcpy from `lv_ll` (caused issues with some optimization settings)
+- `lv_chart` fix X tick drawing
+- Fix vertical dashed line drawing
+- Some additional minor fixes and formattings
+
+## v7.0.0 (18.05.2020)
+
+### Documentation
+The docs for v7 is available at https://docs.littlevgl.com/v7/en/html/index.html
+
+### Legal changes
+
+The name of the project is changed to LVGL and the new website is on https://lvgl.io
+
+LVGL remains free under the same conditions (MIT license) and a company is created to manage LVGL and offer services.
+
+### New drawing system
+Complete rework of LVGL's draw engine to use "masks" for more advanced and higher quality graphical effects.
+A possible use-case of this system is to remove the overflowing content from the rounded edges.
+It also allows drawing perfectly anti-aliased circles, lines, and arcs.
+Internally, the drawings happen by defining masks (such as rounded rectangle, line, angle).
+When something is drawn the currently active masks can make some pixels transparent.
+For example, rectangle borders are drawn by using 2 rectangle masks: one mask removes the inner part and another the outer part.
+
+The API in this regard remained the same but some new functions were added:
+- `lv_img_set_zoom`: set image object's zoom factor
+- `lv_img_set_angle`: set image object's angle without using canvas
+- `lv_img_set_pivot`: set the pivot point of rotation
+
+The new drawing engine brought new drawing features too. They are highlighted in the "style" section.
+
+### New style system
+The old style system is replaced with a new more flexible and lightweighted one.
+It uses an approach similar to CSS: support cascading styles, inheriting properties and local style properties per object.
+As part of these updates, a lot of objects were reworked and the APIs have been changed.
+
+- more shadows options: *offset* and *spread*
+- gradient stop position to shift the gradient area and horizontal gradient
+- `LV_BLEND_MODE_NORMAL/ADDITIVE/SUBTRACTIVE` blending modes
+- *clip corner*: crop the content on the rounded corners
+- *text underline* and *strikethrough*
+- dashed vertical and horizontal lines (*dash gap*, *dash_width*)
+- *outline*: a border-like part drawn out of the background. Can have spacing to the background.
+- *pattern*: display and image in the middle of the background or repeat it
+- *value* display a text which is stored in the style. It can be used e.g. as a lighweighted text on buttons too.
+- *margin*: similar to *padding* but used to keep space outside of the object
+
+Read the [Style](https://docs.littlevgl.com/v7/en/html/overview/style.html) section of the documentation to learn how the new styles system works.
+
+### GPU integration
+To better utilize GPUs, from this version GPU usage can be integrated into LVGL. In `lv_conf.h` any supported GPUs can be enabled with a single configuration option.
+
+Right now, only ST's DMA2D (Chrom-ART) is integrated. More will in the upcoming releases.
+
+### Renames
+The following object types are renamed:
+- sw -> switch
+- ta -> textarea
+- cb -> checkbox
+- lmeter -> linemeter
+- mbox -> msgbox
+- ddlist -> dropdown
+- btnm -> btnmatrix
+- kb -> keyboard
+- preload -> spinner
+- lv_objx folder -> lv_widgets
+- LV_FIT_FILL -> LV_FIT_PARENT
+- LV_FIT_FLOOD -> LV_FLOOD_MAX
+- LV_LAYOUT_COL_L/M/R -> LV_LAYOUT_COLUMN_LEFT/MID/RIGHT
+- LV_LAYOUT_ROW_T/M/B -> LV_LAYOUT_ROW_TOP/MID/BOTTOM
+
+### Reworked and improved object
+- `dropdown`: Completely reworked. Now creates a separate list when opened and can be dropped to down/up/left/right.
+- `label`: `body_draw` is removed, instead, if its style has a visible background/border/shadow etc it will be drawn. Padding really makes the object larger (not just virtually as before)
+- `arc`: can draw bacground too.
+- `btn`: doesn't store styles for each state because it's done naturally in the new style system.
+- `calendar`: highlight the pressed datum. The used styles are changed: use `LV_CALENDAR_PART_DATE` normal for normal dates, checked for highlighted, focused for today, pressed for the being pressed. (checked+pressed, focused+pressed also work)
+- `chart`: only has `LINE` and `COLUMN` types because with new styles all the others can be described. LV_CHART_PART_SERIES sets the style of the series. bg_opa > 0 draws an area in LINE mode. `LV_CHART_PART_SERIES_BG` also added to set a different style for the series area. Padding in `LV_CHART_PART_BG` makes the series area smaller, and it ensures space for axis labels/numbers.
+- `linemeter`, `gauge`: can have background if the related style properties are set. Padding makes the scale/lines smaller. scale_border_width and scale_end_border_width allow to draw an arc on the outer part of the scale lines.
+- `gauge`: `lv_gauge_set_needle_img` allows use image as needle
+- `canvas`: allow drawing to true color alpha and alpha only canvas, add `lv_canvas_blur_hor/ver` and rename `lv_canvas_rotate` to `lv_canvas_transform`
+- `textarea`: If available in the font use bullet (`U+2022`) character in text area password
+
+### New object types
+- `lv_objmask`: masks can be added to it. The children will be masked accordingly.
+
+### Others
+- Change the built-in fonts to [Montserrat](https://fonts.google.com/specimen/Montserrat) and add built-in fonts from 12 px to 48 px for every 2nd size.
+- Add example CJK and Arabic/Persian/Hebrew built-in font
+- Add ° and "bullet" to the built-in fonts
+- Add Arabic/Persian script support: change the character according to its position in the text.
+- Add `playback_time` to animations.
+- Add `repeat_count` to animations instead of the current "repeat forever".
+- Replace `LV_LAYOUT_PRETTY` with `LV_LAYOUT_PRETTY_TOP/MID/BOTTOM`
+
+### Demos
+- [lv_examples](https://github.com/littlevgl/lv_examples) was reworked and new examples and demos were added
+
+### New release policy
+- Maintain this Changelog for every release
+- Save old major version in new branches. E.g. `release/v6`
+- Merge new features and fixes directly into `master` and release a patch or minor releases every 2 weeks.
+
+### Migrating from v6 to v7
+- First and foremost, create a new `lv_conf.h` based on `lv_conf_template.h`.
+- To try the new version it suggested using a simulator project and see the examples.
+- If you have a running project, the most difficult part of the migration is updating to the new style system. Unfortunately, there is no better way than manually updating to the new format.
+- The other parts are mainly minor renames and refactoring as described above.