1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-14 06:42:58 +08:00

188 Commits

Author SHA1 Message Date
Yobe Zhou
f09c04b935
feat(file_explorer): add API to use file explorer (#3601)
Co-authored-by: 100ask <team100ask@outlook.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-09-04 16:57:15 +02:00
Carlos Diaz
46f7384320
test(spinbox) add unit tests (#3575) 2022-08-31 12:09:05 -04:00
Gabor Kiss-Vamosi
327dbb6031 feat(msg): allow using variable address as msg_id 2022-08-25 14:20:43 +02:00
Gabor Kiss-Vamosi
50be1859de fix(ime_pinyin): fix warnings and add it to build tests 2022-08-23 13:11:12 +02:00
Carlos Diaz
430574ed5f
chore(label) make selection interface naming consistent (#3595) 2022-08-18 18:44:18 -04:00
Carlos Diaz
b878a1aed9
ci(test): unit tests for label widget (#3529)
* 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
2022-08-17 13:22:29 +02:00
Gabor Kiss-Vamosi
8699c7dcdc ci: protect test.c with #if LV_BUILD_TEST 2022-07-25 21:22:56 +02:00
Gabor Kiss-Vamosi
efa34d00d7 ci(mem): make sys/def heap tests work correctly with the new lv_conf.h settings 2022-07-25 14:37:41 +02:00
Gabor Kiss-Vamosi
efe47b17e4 minor fixes 2022-07-21 23:09:54 +02:00
Gabor Kiss-Vamosi
e42f01a38a fix(make): update lvgl.mk and remove unnecessary mk files 2022-07-20 12:10:00 +02:00
embeddedt
d6e5200013
refactor(style): store constant property IDs with a pointer instead of directly (#3506) 2022-07-20 11:32:40 +02:00
Xiang Xiao
9ed5b3fe06
Sync up Kconfig with lv_config_template.h (#3508)
* fix(config): remove LV_COLOR_16_SWAP related stuff

follow commit 5369d7d473446a8953f2ea37b9116da918d3c8d2

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>

* fix(config): remove LV_COLOR_SCREEN_TRANSP related stuff

follow commit 5369d7d473446a8953f2ea37b9116da918d3c8d2

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-20 11:29:34 +02:00
Gabor Kiss-Vamosi
965552e446 fix: make C tests work again 2022-07-19 17:37:36 +02:00
Gabor Kiss-Vamosi
6104855491 fix(conf): fix a lot of new config realted issues 2022-07-19 17:21:19 +02:00
Gabor Kiss-Vamosi
5369d7d473
arch(conf, api) refactor lv_conf and some API (#3501)
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
2022-07-19 13:31:42 +02:00
Xiang Xiao
dc1e4c87b0
fix(format): check more source code (#3493)
and sync .pre-commit-config.yaml with scripts/code-format.py

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-18 15:28:16 +02:00
jadonmmiller
a06e11478e
fix(arc): fix bug with LV_ARC_MODE_REVERSE (#3417) (#3418) 2022-07-04 13:06:26 +02:00
embeddedt
9a48de0f8b
feat(style) add 'inherit' and 'initial' CSS properties (#3390)
Fixes #3086
2022-06-09 20:20:34 -04:00
embeddedt
2148ed99b0
fix(mem): fix TLSF returning the wrong pointer when the requested size is too large (#3325)
* test(mem) add test for #3324

* fix(tlsf) don't return the same pointer if the requested size is too large
2022-05-14 22:04:13 +02:00
embeddedt
85e3e23878
ci bump test timeout to 30 seconds [skip ci]
The ARM runners are a lot slower.
2022-05-09 13:40:48 -04:00
embeddedt
bae6bc08e0
Revert "test(mem) add test for #3324"
This reverts commit 97006647d8ed3af65fd2113ddf01c7882a4dba19.
2022-05-09 13:27:05 -04:00
embeddedt
97006647d8
test(mem) add test for #3324 2022-05-04 09:19:00 -04:00
embeddedt
b83c5aa9bc
ci make sure LVGL assertions cause tests to fail 2022-05-04 09:15:30 -04:00
embeddedt
003f18f86c
ci limit tests to 15 seconds 2022-05-04 09:08:04 -04:00
embeddedt
ea79cee01a
ci add Makefile test 2022-04-29 19:38:04 -04:00
Gabor Kiss-Vamosi
8481e3a33b ci(switch): fix mem leak test 2022-04-21 21:18:40 +02:00
Gabor Kiss-Vamosi
98660a861d fix(fs): fix cached read and add unit test for lv_fs
fixes: #3262
2022-04-21 20:45:33 +02:00
Gabor Kiss-Vamosi
1b219654db chore: code formatting and fix warnings 2022-04-06 22:18:30 +02:00
Carlos Diaz
2b6cc3bc9c
ci(slider): add unit test (#3198)
* 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>
2022-03-23 13:05:30 +01:00
Xiang Xiao
4c4f954059
chore(style): remove the trailing space from all source files (#3188)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-21 11:25:51 +01:00
guoweilkd
7713327d61
feat(font): add imgfont - can be used to add emojis to label/span (#3160)
* feature(font): draw img in label/span

* add to tests

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-03-17 10:18:14 +01:00
Carlos Diaz
688421bc10
chore(tests_indev): Add comments to encoder helper (#3155) 2022-03-10 10:53:56 +01:00
embeddedt
8ac93ad883
refactor(style) move flag information into a dedicated table (#3102) 2022-03-07 10:01:25 -05:00
Carlos Diaz
406386dc3f
test(line): add unit tests for line widget (#3104)
* 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
2022-02-25 19:58:43 +01:00
Carlos Diaz
e25fa427d1
test(table): replicate issue when reducing table cells (#3121)
* 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>
2022-02-24 19:14:33 +01:00
Carlos Diaz
ab727d3181
test(textarea): add unit test (#3074)
* 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>
2022-02-17 18:12:59 +01:00
Carlos Diaz
cfd6d43672
test(table): add unit tests (#3040)
* 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>
2022-02-17 13:52:46 +01:00
Gabor Kiss-Vamosi
4246615f48 chore(tests): fix image compare tests 2022-02-16 09:45:39 +01:00
Gabor Kiss-Vamosi
48d87e1ed2 test(img): fix image error diff handler 2022-02-11 16:59:24 +01:00
embeddedt
c6b34bc85b
fix(conf): work around GCC bug (#3082)
Fixes #3078
2022-02-11 15:25:44 +01:00
Mariotaku
e7736f2c32
feat(fragment): add fragment manager (a UI Controller concept) (#2940)
* adding lv_obj_controller

* adding examples for lv_obj_controller

* added some docs

* formatted code

* updated controller docs

* updated controller docs

* updated sample controller field

* changed lv_controller_manager_parent to lv_controller_manager_get_parent

* updated unmanaged controller creation/deletion

* renamed lv_controller_manager_t

* rename: controller -> fragment

* formatted code

* Update examples/others/fragment/lv_example_fragment.h

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>

* Update src/extra/others/fragment/lv_fragment.c

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>

* Update src/extra/others/fragment/lv_fragment.c

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>

* Update src/extra/others/fragment/lv_fragment.c

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>

* code cleanup

* fragment creation rework

* (wip) fragment manager

* (wip) fragment manager

* refactoring fragment

* lifecycle fixes

* updated fragment event callback

* exposed states of fragment

* added some docs

* updated lv_fragment_managed_states_t name

* updated docs

* updated docs

* updated lv_fragment_manager_dispatch_event docs

* removed msgbox fragment

* updated fragment docs

* updated fragment docs

* updated docs

* updating examples

* fixed example

* reformatted code

* fixed obj_created set timing

* simplified fragment

* improved fragment view del assertion

* fixed a typo

* fixed event_cb check in lv_obj_remove_event_cb_with_user_data

* fixing fragment obj assertion

* regenerated config

* fixed fragment examples

* fixed fragment examples

* added missing examples

* updated docs

* fragment api cleanup

* rename fragment struct names

* added missing param doc

* enabled test for 32bit build

* feat(porting): add a macro lv_run_timer_handler_in_period to simplify porting (#3063)

* 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

* chore: fix code formatting

* fix(fsdrv): replacing sprintf with lv_snprintf for safety (#3079)

* fix(Kconfig) remove duplicate LV_BUILD_EXAMPLES configuration

* feat(refr) add reset of FPS statistics

* fix(conf) mismatched macro judgment

* feat(fsdrv) replacing sprintf with lv_snprintf for safety

* feat(fsdrv) update stdio and win32

Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>

* fix warnings

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
Co-authored-by: Gabriel Wang <embedded_zhuoran@Hotmail.com>
Co-authored-by: _VIFEXTech <1290176185@qq.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
2022-02-11 12:43:08 +01:00
Carlos Diaz
2c7760c687
chore(test): format test cases (#3071) 2022-02-03 09:59:55 +01:00
Adrian Schnyder
abba1c351a feat(fs): add caching option for lv_fs-read (#2979)
BREAKING CHANGE:
The `LV_FS_...` related configs needs to be updated.

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-01-24 20:52:37 +01:00
embeddedt
4122dda399
ci add 5k stack limit 2022-01-24 14:34:00 -05:00
Themba Dube
8c75bb298a Revert "ci add back stack usage check at 4 kilobytes"
This reverts commit 89135d663daca34c9d9695a4c12b4208ef4ba217.
2022-01-24 11:01:22 -05:00
Themba Dube
89135d663d ci add back stack usage check at 4 kilobytes 2022-01-24 10:56:11 -05:00
Themba Dube
3bd6ad80e7 test(demo) add tests for widget and stress demos 2022-01-24 10:55:32 -05:00
Themba Dube
1900c21548 ci temporarily disable stack usage check 2022-01-24 10:16:58 -05:00
X-Ryl669
923defd6b6
fix(gradient): general cleanup and fix for alignment issues (#3036)
* 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>
2022-01-24 15:47:47 +01:00
Themba Dube
ba083dfd6d test(style) fix compile error 2022-01-23 12:10:08 -05:00