* test(label) Add initial test for constructor
* test(label) Add tests for recolor
* cleanup(label): lv_label_event
* test(label) set text tests
* test(label) Add tests for lv_label_get_letter_pos
* chore(label) Const where possible in lv_label_get_letter_pos
* test(label) Add tests for lv_label_is_char_under_pos
* chore(label) Add const when possible to lv_label_is_char_under_pos
* test(label) Add simple test for lv_label_cut_text
* chore(label) Cleanup lv_label_revert_dots a bit
* test(label) Make tests pass on Build OPTIONS_MINIMAL_MONOCHROME
* test(label) Initial tests for lv_label_get_letter_on
* chore(label) Introduce calculate_x_coordinate helper
* chore(label) Use calculate_x_coordinate in lv_label_get_letter_on
* chore(label) Reduce varible scope in lv_label_get_letter_on
* chore(label) Use calculate_x_coordinate in lv_label_get_letter_pos
This also reduces complexity of lv_label_get_letter_pos from 21 to 19 (measured using python package 'ravioli')
* chore(label) Remove extra lv_anim_set_exec_cb on lv_label_refr_text
* chore(label) Minor edits on docs
* test(label): Remove unfinished tests
* test(label): Add tests for text selection
* Update lv_label.c
Fix formatting
Kconfig and MicroPython config is not updated yet.
* start to refactor lv_conf.h
* further mem refactoring
* create lv_mem_builtin.c/h
* update lv_conf_internal.h
* add lv_strlen and lv_strncpy
* rename LV_DRAW_COMPLEX to LV_USE_DRAW_MASK
* update lv_conf_template
* minor fix
* slider: Refactor LV_SLIDER_KNOB_COORD and draw_knob
The `hor` parameter of this macro was always true, ending up always using the
left side of the ternary operator, with this refactor we eliminate the `hor`
parameter and remove the ternary operator it was used for.
This macro is only used in the `draw_knob` event handler, so it helps with its
initial cleanup.
* test(slider): Test documented default properties
* test(slider): Tests for LV_EVENT_KEY with valid and invalid keys
* feat(slider): Add helper to know if slider is horizontal
* chore(slider): Cleanup LV_EVENT_PRESSING handler
Reduce scope of variables where possible and use LV_CLAMP
* chore(slider): Cleanup draw_knob
* test(slider): Add tests for LV_EVENT_RELEASED
* test(slider): Add note about left_knob_focus
* test(slider): Initial test for hit test
* test(slider): Add tests for different slider modes
* chore(slider): cleanup draw_knob
* chore(slider): Cleanup position_knob
* test(slider): Move group configuration to setUp
* test(slider): Refactor tests with feedback
* add test_ranged_mode_adjust_with_encoder
* code formatting
* tests(slider): Remove direct usages of left_knob_focus
* test(slider): Remove unused variable
* Revert "test(slider): Refactor tests with feedback"
This reverts commit b274f829ecd83c894569b6f0535c7edebce5cbc9.
* test(slider): Add missing variable
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
* 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
* 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>
* 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>
* 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>