* test(line): Test y invert field
* test(line): Validate documented default values
* test(line): Assert line is not clickable after construction
* test(line): Test line size calculation
* chore(line): Refactor LV_EVENT_GET_SELF_SIZE handling
Return early when no point_array is set or point_num is 0
* chore(line): Cleanup LV_EVENT_DRAW_MAIN handling
Reduce scope of point variables
* test(line): Clean screen on tearDown
* test(line): Add initial test for extra draw size calculation
* test(line): Fix extra draw size test
* feat(label): added animation style property to apply it to circular scrolling animation of label widget
Added an animation style property to be used as animation template for different use cases in different widgets.
This commit implements using this property to set the start and repeat delay of the circular scrolling animation of the label widget.
Closes#3097
* fix(label): changed animation style property's var_type to `const lv_anim_t *`
* example(label): added example showing how to customize circular scrolling animation
* chore(label): ran code-format.py and added missing function prototype to lv_example_widgets.h
* test(table): Replicate issue when reducing table cells
See #3120 for report
* test(table): Cell reduction test without use after free
Set the row count to 1 to be able to have a passing test, now we can track
down the real bug, which is triggered when having more than 1 row in the table.
* test(table): Add failing test for cell reduction
This test currently triggers the use after free bug
* chore(table): No-op when new and current row and columns counts are equal
* chore(table): Clean up lv_table_set_col_cnt
* chore(table): Add comments to get_row_height
* chore(table): Minor format cleanup and comment of cell_data layout
* fix ASAN arror
* minor fixes
* chore(table): Restore comments to get_row_height
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
* widgets: make dependencies internal handling consistent when using Kconfig
* scripts/lv_conf_internal_gen.py: fix issue with widget with dependencies
* scripts/lv_conf_internal_gen.py: allow to call it from other directory
* replace lv_chart_refresh by invalidate_point so the chart will be updated faster.
* Update lv_chart.c
It seems the second `invalidate_point` is extra and can be removed.
* Update src/extra/widgets/chart/lv_chart.c
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
Commit ba38a4b appears to have accidentally added a duplicate declaration of
_lv_log_add. With -Wredundant-decls, this causes warnings to spam the terminal.
warning: redundant redeclaration of ‘_lv_log_add’ [-Wredundant-decls]
This enables queuing up a key while animation is occurring and then sending it to the gridnav once the animation is complete.
Without this, if you call `lv_event_send()` to send a key to the gridnav later, then `lv_indev_get_act()` returns `NULL` since it's no longer actively processing the key handler, and nothing happens from the key.
* test(textarea): Password mode
* test(textarea): label style with one line enabled
* test(textarea): Cursor click pos
* chore(textarea): Move auto hide to helper
* test(textarea): Placeholder text
* test(textarea): Default properties values
* test(textarea): Remove assert from one line test
* tests(textarea): Remove unused variables
* feat/textarea: Add and use is_valid_but_non_printable_char
* chore/textarea: General cleanup
* test(textarea): Accepted chars
* Update src/widgets/lv_textarea.c
* test(textarea): Assert text is empty after widget creation
* test(textarea): Update test for label style with one line enabled
* test(textarea): Add default text helper and use it
* test(textarea): Ignore line break chars in one line mode
* textarea: Check for line break chars sooner when adding char
* textarea: Start refactor of insert_handler
* textarea: Add comments to insert_handler
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
* test(table): Happy path test for set_cell_value
* table: Abstract char configuration on set_cell_value
Abstract bytes to allocate calculation and txt copying
* table: Add missing &
* table: Update helper names
* test(table): Add test for column increasing when setting a formatted cell value
* table: Increase table columns when needed
* test(table): Fix test_table_should_grow_columns_automatically_when_setting_formatted_cell_value
* table: Fix code formatting
* test(table): Add test for cell ctrl
* table: Refactor draw_main low hanging fruits
* lv_table: Initial refactor of get_row_height
Mostly early breaks on loops and reducing variable scope where possible
* lv_table: Initial refactor of refr_size
Adding const wherever is possible
* lv_table: Further cleanup get_row_height
* lv_table: Cleanup loop in draw_main
* lv_table: Fix -Werror=shadow compilation error
* test(table): Tests for cell ctrl clearance
* lv_table: Rename index to idx
* lv_table: Use helper to know if cell is empty
* test(table): Comment assumptions to column grow test
* test(table): Row height with multi line cell value
* test(table): Wrap on long texts and increase row height
* add rendering test
* fix warnings
* fix out of bounds indexig
* fix rendering test
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
* feat(porting): add a macro lv_run_timer_handler_in_period to simplify porting
* feat: update helper function and doc
* doc(porting): update function names
* revise to the original os.md
* fix: fix typo
* fix: mitigate warnings
* Try to fix ASAN behavior
* improve alignments
* fix buffer overflow and various other fixes
* minor fixes
* formatting
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
* test(bar) Add test for docummented default attributes
* test(bar) Update test for docummented default attributes
* test(bar): Indicator width tracks value
* test(bar) Calculate bar indicator width based on its style
Take padding, max value and bar value into consideraion
* test(bar) Indicator area gets smaller when increasing padding in LV_PART_MAIN style
* test(bar) Start value changes only when in range mode
* docs(bar): Add missing MODE to symbols
* test(bar) Start value should be smaller than current value
* test(bar): Test current value truncation to max and min value
* bar: Check bar mode in lv_bar_set_start_value
bar start_value can be changed only when bar is in LV_BAR_MODE_RANGE mode.
Return early when it's not.
* test(bar): Fix width calculation test
* bar: Initialize indic_area in constructor
* test(bar): Refactor indicator coordinate update test
* test(bar): Indicator negative value in symmetrical mode
* test(bar): Fix base direction
* test(bar): Indicator coord test for RTL base dir