Commit Graph

536 Commits

Author SHA1 Message Date
Gabor Kiss-Vamosi
235d580a51 refactor: rename cnt to count 2023-11-15 22:42:33 +01:00
Gabor Kiss-Vamosi
43a231cf5a refactor(tabview): make it use with buttons instead of button matrix 2023-11-15 22:42:33 +01:00
gcopoix
5267c0b9f4
feat(drivers): add x11 driver (display/input) support (#4795)
Co-authored-by: Gregor Copoix <gregor.copoix@ithinx.io>
2023-11-15 14:08:03 +01:00
Gabor Kiss-Vamosi
e27491cb2a chore: remove debug code 2023-11-15 12:59:16 +01:00
Gabor Kiss-Vamosi
6e91a1e99c test(draw): add rendering test for RGB565, RGB888, XRGRB8888, and ARGB8888 2023-11-15 12:57:50 +01:00
Gabor Kiss-Vamosi
628fb98b52 fix(draw): fix minor issues in SW render 2023-11-15 09:47:34 +01:00
Gabor Kiss-Vamosi
6cda061c65 fix(draw): make SW render work with any stride and add stride=64 to CI 2023-11-14 22:19:56 +01:00
Gabor Kiss-Vamosi
f9c98905b9 fix(draw): make tests work with non default LV_DRAW_BUF_ALIGN 2023-11-14 14:52:59 +01:00
Gabor Kiss-Vamosi
7ea8192208 fix(anim): fix anim_timeline progress calculation and add tests 2023-11-14 14:52:59 +01:00
Gabor Kiss-Vamosi
51bc45f870 refactor(font_load): rename font_load to binfont_load
font_load was to generic
2023-11-14 08:48:28 +01:00
Neo Xu
8e076cc230
feat(image): support C array type of alpha-only image in the built-in decoder (#4797)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-11-13 18:14:36 +01:00
Gabor Kiss-Vamosi
9fce36765c chore: fix code formatting 2023-11-13 17:20:10 +01:00
Gabor Kiss-Vamosi
90a7e3e98f feat(tiny_ttf): add lv_font_* as paramater to lv_tiny_ttf_create
This way if a font is used by styles or widgets it can be easily reloaded without updating the font pointer on all places
2023-11-13 14:47:13 +01:00
Gabor Kiss-Vamosi
ddc1bdf815 feat(font_load): add lv_font_* as paramater to lv_font_load
This way if a font is used by styles or widgets it can be easily reloaded
without updating the font pointer on all places.
2023-11-13 14:47:11 +01:00
Neo Xu
d73f260002
feat(image): add custom RLE decoder (#4332)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-11-13 08:38:27 +01:00
Viktor Szépe
cc6581ae03
ci: upgrade astyle tool (#4776)
Install from source to use the latest version
2023-11-10 15:37:23 +01:00
Zhang Ji Peng
8cf0bbb558
feat(draw): add implements vector graphic APIs (#4528) (#4691)
Signed-off-by: zhangjipeng <zhangjipeng@xiaomi.com>
Co-authored-by: zhangjipeng <zhangjipeng@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2023-11-09 11:37:33 +01:00
Gabor Kiss-Vamosi
3bb649db7f test: add binding test reference
related to #4645
2023-11-08 22:28:14 +01:00
Benign X
a5f6e2761f
chore(lv_label): remove codes for recolor feature (#4766) 2023-11-08 16:25:54 +01:00
Gabor Kiss-Vamosi
048b28be23 test: reorganize tests and ref_images 2023-11-08 00:53:41 +01:00
Gabor Kiss-Vamosi
d02562b796 feat(image): add lv_image_align_t to stretch, tile, and align images
related to #4733
2023-11-08 00:34:22 +01:00
Gabor Kiss-Vamosi
a5a58e39d2 refactor: replace lv_coord_t with int32_t 2023-10-31 19:25:01 +01:00
Gabor Kiss-Vamosi
d456b1cb4d refactor: remove LV_USE_LARGE_COORD, always use int32_t as lv_coord_t 2023-10-31 19:23:24 +01:00
Gabor Kiss-Vamosi
50d01cec3d refactor(style): rename lv_indev_get_act to lv_indev_active 2023-10-31 19:20:36 +01:00
Gabor Kiss-Vamosi
d28f80d362 refactor(style): rename shadow_ofs to shadow_offset 2023-10-31 19:10:02 +01:00
Gabor Kiss-Vamosi
9d993bd15f feat(line, triangle): add float support for points 2023-10-31 14:16:10 +01:00
Niklas Fiekas
8fabcc6853
feat(font): add option to disable kerning (#4725) 2023-10-30 13:23:20 +01:00
Neo Xu
0910ee0e38
feat(image decoder): decode whole image to RAM support (#4674)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-10-29 17:02:06 +01:00
Niklas Fiekas
ef1885f670
fix(tiny_ttf): fix font metrics confusion (#4714) 2023-10-27 11:54:02 +02:00
Gabor Kiss-Vamosi
974d5f8ca3 chore: remove debug code 2023-10-26 23:13:08 +02:00
Gabor Kiss-Vamosi
0b2cccbdb3 ci(render): integrate lv_demo_render to the unit tests 2023-10-26 23:07:50 +02:00
Gabor Kiss-Vamosi
e64a0afcef asd 2023-10-26 23:07:50 +02:00
Neo Xu
726620d0fc
feat(obj): add unified obj property set/get API (#4579)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-10-26 09:39:30 +02:00
Gabor Kiss-Vamosi
6aa53828ef fix(benchmark demo): update to make it work with CI 2023-10-25 14:12:59 +02:00
Gabor Kiss-Vamosi
3ff625483c demos(render): start render demo 2023-10-25 13:38:37 +02:00
Gabor Kiss-Vamosi
84c8cf8573 feat(arc): add float support 2023-10-25 11:05:04 +02:00
Viktor Szépe
f9572ed303
chore: remove BOM and fix typos (#4685) 2023-10-22 06:39:43 +02:00
Gabor Kiss-Vamosi
89dd481747 chore: remove BOM
see https://github.com/lvgl/lvgl/pull/4684#issuecomment-1773768596
2023-10-22 06:12:48 +02:00
Gabor Kiss-Vamosi
85798af3cd feat(draw): add non uniform scale (scale_x and scale_y) 2023-10-20 23:29:22 +02:00
xaowang96
8f57f12a44
feat(bar): reverse drawing direction of lv_bar if min > max (#4654)
Signed-off-by: wangxuedong <wangxuedong@xiaomi.com>
2023-10-20 23:22:56 +02:00
bjsylvia
c0356c9380
chore: cleanup LV_USE_MSG (#4681)
Signed-off-by: XiaoweiYan <yanxiaowei@xiaomi.com>
Co-authored-by: XiaoweiYan <yanxiaowei@xiaomi.com>
2023-10-20 22:24:15 +02:00
Gabor Kiss-Vamosi
865a2f64a0 chore: minor docs fixes 2023-10-17 14:32:09 +02:00
Gabor Kiss-Vamosi
666f839977 docs(chart): update chart example 2023-10-16 23:43:35 +02:00
Carlos Diaz
5ede301ef4
fix(arc): handle click outside background angle range (#4586) 2023-10-12 22:05:07 +02:00
Gabor Kiss-Vamosi
9ec5417dd3 refactor: scr -> screen, act->active, del->delete, remove in obj_clear_flag/state 2023-10-12 21:12:16 +02:00
Gabor Kiss-Vamosi
6163437afd refactor(scale): remove lv_meter use lv_scale instead 2023-10-12 17:21:52 +02:00
Gabor Kiss-Vamosi
8deea70049 refactor(draw_buf): remove lv_draw_buf_t and make all functions work on void * buffer directly 2023-10-11 21:33:23 +02:00
xaowang96
f190d56f5d
feat(checkbox): add RTL support (#4646)
Signed-off-by: wangxuedong <wangxuedong@xiaomi.com>
2023-10-10 23:02:05 +02:00
Gabor Kiss-Vamosi
3adaee8fde ci: temporary remove lv_example_tiny_ttf_3.py 2023-10-10 22:20:43 +02:00
Brandon Holland
8c63327f66
feat(disp): add double buffered direct-mode efficient sync algorithm (#4443)
Signed-off-by: YanXiaowei <yanxiaowei@xiaomi.com>
Co-authored-by: bjsylvia <bjsylvia@163.com>
Co-authored-by: YanXiaowei <yanxiaowei@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
Co-authored-by: Fabian Blatz <fabianblatz@gmail.com>
Co-authored-by: Mike Fikes <mike@fikesfarm.com>
Co-authored-by: Zoltan Janosy <janosy.zoltan@gmail.com>
Co-authored-by: Zoltan Janosy <zjanosy@fishman.com>
2023-10-10 21:44:32 +02:00
Gabor Kiss-Vamosi
80149e7f98 refactor(msg): remove lv_msg in favor of lv_observer 2023-10-10 20:48:46 +02:00
Zoltan Janosy
4f541cf523
feat(observer): implemented an observer pattern (#4541)
Co-authored-by: Zoltan Janosy <zjanosy@fishman.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2023-10-09 23:20:29 +02:00
Fabian Blatz
7d52859fe8
feat(lv_group): get group count and retrieve by index (#4632) 2023-10-09 18:36:47 +02:00
Gabor Kiss-Vamosi
edc89960ea fix(draw): fix using placeholders in a glyph is not found 2023-10-04 10:33:35 +02:00
Raúl Gotor
0b66468f2f
ci(span): add unit test (#4595) 2023-10-02 18:04:01 +02:00
Gabor Kiss-Vamosi
9d8570aa3f fix(draw) fix stride realted bugs in SW render 2023-09-28 12:22:49 +02:00
PGNetHun
8c2fc7ec4b
chore: code and documentation cleanups, renames and fixes (#4607) 2023-09-27 12:23:40 +02:00
Gabor Kiss-Vamosi
9c437d1073 feat(grid): add a basic subgrid implementation 2023-09-25 20:56:09 +02:00
Neo Xu
27357d5139
feat(obj): add obj_id, class names, and dump support (#4536)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-09-25 10:58:36 +02:00
Gabor Kiss-Vamosi
87d323f240 chore: fix TEST_ASSERT_MEM_LEAK_LESS_THAN 2023-09-25 10:54:02 +02:00
Gabor Kiss-Vamosi
4eedc8cd5a ci: add TEST_ASSERT_MEM_LEAK_LESS_THAN and use it in image decoder tests 2023-09-25 10:49:54 +02:00
_VIFEXTech
9937138392
feat(libs): add libpng decoder (#4569)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2023-09-25 10:28:35 +02:00
Lemon
2f67d804ce
feat(barcode): add vertical display mode (#4564)
Signed-off-by: liujp <liujp@xiaomi.com>
Co-authored-by: liujp <liujp@xiaomi.com>
2023-09-24 21:41:24 +02:00
_VIFEXTech
c4c4627ae0
feat(libs): add libjpeg-turbo decoder (#4567)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
2023-09-22 10:43:59 +02:00
Gabor Kiss-Vamosi
971c533375 refactor: use only uint32_t and int32_t in the widget's API 2023-09-21 13:30:51 +02:00
_VIFEXTech
e53cd59fcb
chore(libs/jpg): rename lv_jpg to lv_tjpgd (#4573)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2023-09-20 10:38:47 +02:00
_VIFEXTech
45fb2148d5
chore(libs/png): rename lv_png to lv_lodepng (#4574)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
2023-09-20 10:30:04 +02:00
Stephan Wirth
f77cacd1b7
fix(roller): fix bubbling events (#4542) 2023-09-20 10:27:36 +02:00
Gabor Kiss-Vamosi
0721884ee9 refactor: disp->display, res->result/resolution, hor/ver->horizontal/vertical, txt->text, angle->rotation, zoom->scale 2023-09-18 22:57:30 +02:00
Gabor Kiss-Vamosi
e657c74aca chore: fix build errors 2023-09-18 21:29:22 +02:00
Gabor Kiss-Vamosi
ca55b2ed8d arch(img_decoder): replace read_liine_c with get_area_cb
also remove sjpeg support as get_area_cb can de quite same (some optimization is still needed to not decode the out of bounds chunks)
2023-09-18 21:19:00 +02:00
Gabor Kiss-Vamosi
09c12d0f9c refactor(btn, img): rename btn to button and img to image 2023-09-14 20:12:31 +02:00
Gabor Kiss-Vamosi
490f3da4e7 feat(img): replace image decider read_line_cb with get_area_cb 2023-09-01 13:38:58 +02:00
Gabor Kiss-Vamosi
aa164e5778 chore(ci): try to fix ci 2023-08-31 20:36:58 +02:00
Gabor Kiss-Vamosi
c3e2120616 feat(img): add img.header.stride
see https://github.com/lvgl/lvgl/pull/4414#issuecomment-1698538169
2023-08-31 19:54:36 +02:00
Zoltan Janosy
ca54d127c2
feat(fs): add support for memory-mapped files (#4462)
Co-authored-by: Zoltan Janosy <zjanosy@fishman.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2023-08-31 13:00:26 +02:00
xaowang96
d7289962f1
ci(bar): add screenshot test (#4503)
Signed-off-by: wangxuedong <wangxuedong@xiaomi.com>
2023-08-31 10:19:26 +02:00
Gabor Kiss-Vamosi
c069f98e7a fix(dropdown): position to the selected item in lv_dropdown_set_selected 2023-08-25 13:57:52 +02:00
Gabor Kiss-Vamosi
5d604b46ab ci(test): add more tests for LV_OBJ_FLAG_OVERFLOW_VISIBLE 2023-08-22 23:44:45 +02:00
Gabor Kiss-Vamosi
c7e8b8447d feat(obj): add LV_OBJ_FLAG_OVERFLOW_VISIBLE again 2023-08-22 22:45:39 +02:00
Gabor Kiss-Vamosi
0b83a82a07 feat(multi-instance): collect all the global variables into a struct to allow running multiple instances of LVGL
Closes #4358
2023-08-19 01:42:37 +02:00
Gabor Kiss-Vamosi
4736ebfbca perf(style): speed up getting stye properties by adding LV_OBJ_STYLE_CACHE 2023-08-15 07:31:33 +02:00
bjsylvia
67ca457a07
fix: fix typos (#4451)
Signed-off-by: XiaoweiYan <yanxiaowei@xiaomi.com>
Co-authored-by: XiaoweiYan <yanxiaowei@xiaomi.com>
2023-08-14 16:49:30 +02:00
_VIFEXTech
9a483c87bf
feat(layer): add more efficient widget translucent mode (#4415)
Signed-off-by: FASTSHIFT <vifextech@foxmail.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2023-08-14 07:57:19 +02:00
Gabor Kiss-Vamosi
45aa59a473
feat(draw_buf): add lv_draw_buf_t for stride support (#4423) 2023-07-31 18:44:02 +02:00
Gabor Kiss-Vamosi
35c23a4069 ci: fix potential out of memory issue 2023-07-31 18:22:13 +02:00
Gabor Kiss-Vamosi
4b4ff3ba70 ci: add clip corner test 2023-07-24 17:31:35 +02:00
Gabor Kiss-Vamosi
b78d4dc04b demo: add lv_demo_scroll 2023-07-15 23:24:58 +02:00
Peter Bee
36c5f19c95
fix(kconfig): update Kconfig and lv_conf_kconfig.h (#4338)
Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
Signed-off-by: Peter Bee <pbjd97@gmail.com>
2023-07-09 23:27:32 +02:00
Gabor Kiss-Vamosi
f753265a79 arch(draw): add parallel rendering architecture
BREAKING CHANGE

This is a huge update which introduces parallel rendering. lv_conf.h needs to be updated too.
2023-07-05 13:05:19 +02:00
Neo Xu
3fbdd7b6c1
fix(anim): fix compile warnings (#4305)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-06-23 20:32:25 +02:00
Gabor Kiss-Vamosi
e820dacd5a fix spinner 2023-06-20 11:27:09 +02:00
Neo Xu
043c48761f chore(math): tune cubic-bezier precison to 10bits
10 bits is already enough for normally used ease functions(ease, ease-in, ease-out, ease-in-out).
14 bits provides more accuracy and requires additional shift operation.
>14bits provices more accuracy but requires 64bit calculation and additional shift operation.

Add normally used ease function in test.

Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2023-06-20 11:27:09 +02:00
Neo Xu
b374282e23 test: add math test for cubic-bezier function
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2023-06-20 11:27:09 +02:00
Benign X
caf9d16dc9
fix(pos): fix invalidate area problem with transform (#4285)
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2023-06-13 21:16:22 +02:00
Gabor Kiss-Vamosi
35b1290b94 ci(line): fix unit test 2023-05-29 11:31:02 +02:00
hiornso
239b70a8da
fix(dropdown): lv_dropdown_get_option_index shouldn't match strings of different lengths (#4191) 2023-05-02 10:45:02 +02:00
_VIFEXTech
4658c27f37
refact(monitor): refact system monitor component (#4195)
Signed-off-by: FASTSHIFT <vifextech@foxmail.com>
2023-05-02 10:40:13 +02:00
Gabor Kiss-Vamosi
e7f88efa58 ci(roller): fix test 2023-04-27 09:26:08 +02:00
sparkles43
312303cb44
fix(obj_tree): update parents of children after swapping (#4150) 2023-04-20 20:29:58 +02:00
Gabor Kiss-Vamosi
efa02eca24 ci(build): in minimal config use default theme disabled, basic theme enabled
fixes: #4111
2023-04-06 09:11:03 +02:00
Carlos Diaz
609e2d34d7
fix(checkbox): check for mem allocation failure in set_text (#4089) 2023-03-29 09:15:55 +02:00
Carlos Diaz
61b46756f6
ci(malloc): add malloc/realloc/free stub in unit tests (#4078) 2023-03-24 09:06:16 +01:00
Gabor Kiss-Vamosi
c7b26a27b6 test(fs): fix typo, change rd -> r in fopen 2023-03-17 16:34:58 +01:00
_VIFEXTech
afe29b7dab
refact(user_data): remove LV_USE_USER_DATA configuration (#4056)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
2023-03-14 14:34:56 +01:00
Gabor Kiss-Vamosi
6cd98892a4 fix(event): fix typos and tests 2023-03-06 13:00:05 +01:00
Carlos Diaz
67941f4964
ci(test): add unit test for lv_list (#4032) 2023-03-04 17:02:08 +01:00
some00
7854d55046
test(main.py): add cli option to select test suite (#4023) 2023-03-02 09:51:55 +01:00
Gabor Kiss-Vamosi
77836dd260 fix(fs): fix cached read
related to: #3968
2023-02-28 21:22:01 +01:00
Gabor Kiss-Vamosi
746e26fd52 chore: fix warnings 2023-02-28 07:38:13 +01:00
Gabor Kiss-Vamosi
84d91adaf4 fix(fs): fix cached file read
related to #3968
2023-02-27 22:17:50 +01:00
Gabor Kiss-Vamosi
426739d060 ci(test): make test_style faster 2023-02-27 09:50:21 +01:00
Gabor Kiss-Vamosi
f5a9c0382c ci: add LV_USE_DEV_VERSION to the makefile build 2023-02-23 09:50:14 +01:00
Gabor Kiss-Vamosi
682703c67a ci(tests): increase timeout from 30 to 300 sec 2023-02-20 22:30:37 +01:00
Carlos Diaz
b227bb15dc
ci(chart): add initial tests (#4005) 2023-02-20 21:00:33 +01:00
Gabor Kiss-Vamosi
8b46b3fa54 ci(test): follow API changes in tests 2023-02-20 21:00:03 +01:00
Gabor Kiss-Vamosi
124f9b0f9f arch(driver): new driver architecture with new color format support 2023-02-20 20:50:58 +01:00
Gabor Kiss-Vamosi
56e26f8d4e ci(conf): enable FS cache for unit tests 2023-02-14 09:01:03 +01:00
sparkles43
9a63653c42
feat(style): add function to replace styles while preserving the style stack (#3962) 2023-02-07 07:51:53 +01:00
nicusorcitu
7c7e99604f
feat(gpu): improve NXP's PXP and VGLite accelerators (#3948)
Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>
Signed-off-by: Stefan Babatie <stefan.babatie@nxp.com>
Signed-off-by: Wenbin Yuan <wenbin.yuan@nxp.com>
Co-authored-by: Stefan Babatie <stefan.babatie@nxp.com>
Co-authored-by: Wenbin Yuan <wenbin.yuan@nxp.com>
2023-01-28 23:14:40 +01:00
Gabor Kiss-Vamosi
2b3fbdfaa5 test: fix lvgl.h include path in assets 2023-01-23 09:35:55 +01:00
W-Mai
8ed8542681
feat(margin): add margin style property (#3807)
Signed-off-by: W-Mai <1341398182@qq.com>
Signed-off-by: xinbingnan<xinbingnan@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2023-01-18 09:52:30 +01:00
Gabor Kiss-Vamosi
ad8eed9eb5 ci: avoide having files with the same name
Related to https://github.com/lvgl/lvgl/issues/3930#issuecomment-1385681008
2023-01-18 09:26:51 +01:00
W-Mai
bc0d469a51
fix(barcode): fixed barcode test case didn't work (#3914)
Signed-off-by: W-Mai <1341398182@qq.com>
2023-01-10 21:21:06 +01:00
some00
162e451396
ci(spinner): add unit test for spinner (#3901) 2023-01-06 21:02:13 +01:00
Gabor Kiss-Vamosi
dcbd3cc142 fix(test): lower demo stress test loop count
hopefully it will solve the timeout issue on Arm CI tests
2022-12-21 08:34:31 +01:00
some00
d33e56e951
test(cmake): exclude test targets from build only configurations (#3821) 2022-12-21 08:31:23 +01:00
_VIFEXTech
889634398a
feat(libs): add barcode widget (#3778)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
2022-12-11 11:48:03 +01:00
Gabor Kiss-Vamosi
077cd2e15d ci: use headers for text config instead of CMake 2022-11-25 11:32:14 +01:00
Pablo J. Rogina
d17450a55f
ci(animimg): add unit tests (#3723) 2022-11-08 12:36:36 +01:00
some00
ab2446c247
fix(test cmake): capitalize Ruby_EXECUTABLE variable (#3751) 2022-10-20 12:20:03 +02:00
Johannes Marbach
ffd3b4cdbd
fix(btnmatrix): add lv_obj_get_style_space_...() and use them to consider border width in btnmatrix (#3725) 2022-10-11 21:14:14 +02:00
some00
c3a49327ba
test add valgrind support and address technical debt (#3731)
Test runners are now properly generated by CMake only when needed
2022-10-09 17:06:56 -04:00
Pablo J. Rogina
53465aec94
ci(colorwheel): add unit test (#3719) 2022-10-07 19:05:11 +02:00
Gabor Kiss-Vamosi
affa938ef3 ci(arc, line): add basic render test 2022-10-05 22:05:49 +02:00
Gabor Kiss-Vamosi
243c825b78 ci(report): add only lv_*.c files from the src folder to coverage report 2022-10-05 22:05:24 +02:00
minyiky
d80e86711d
ci(win): add unit test (#3717) 2022-10-03 09:53:59 +02:00
Pablo J. Rogina
059952607a
ci(tabview): add unit test (#3713) 2022-10-03 08:12:05 +02:00
Pablo J. Rogina
613777f623 ci(msgbox): add unit test (#3715) 2022-10-02 23:26:12 +02:00
Carlos Diaz
b14a70705e
ci(roller): add unit tests and cleanup (#3660)
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-10-02 23:24:12 +02:00
honey the codewitch
ccb66ca701
feat(tiny_ttf): add glyph caching (#3703)
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-10-02 17:48:34 +02:00
Pablo J. Rogina
2888b450f2
ci(calendar): add unit tests (#3704) 2022-09-28 22:24:38 +02:00
honey the codewitch
57e0943b10
feat(tiny_ttf): ttf support (#3680)
Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-09-26 17:30:07 +02:00
Gabor Kiss-Vamosi
41c5870e12 ci(test): automatically create missing reference images for TEST_ASSERT_EQUAL_SCREENSHOT 2022-09-21 22:10:20 +02:00
Gabor Kiss-Vamosi
d78e927252 ci: enable discarded-qualifiers warning
related to #3686
2022-09-19 14:26:29 +02:00
Gabor Kiss-Vamosi
d3d11361d9 test: fix warning in test_screenshot_error.h 2022-09-19 11:19:10 +02:00
Mahesh Murty
d89e732634
test(led): add unit tests (#3681) 2022-09-15 22:10:12 +02:00
Mahesh Murty
513d631445
test(btn, btnmatrix): add unit tests (#3642) 2022-09-09 11:31:15 +02:00
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 5369d7d473

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

* fix(config): remove LV_COLOR_SCREEN_TRANSP related stuff

follow commit 5369d7d473

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 97006647d8.
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 b274f829ec.

* 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 89135d663d.
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
Themba Dube
da8f34566b test(style) add test for gradient 2022-01-23 12:02:25 -05:00
Themba Dube
51ef9c242c test(event) add test for #2886 2022-01-23 10:07:50 -05:00
Themba Dube
446b1ebf2b test add support for using system heap 2022-01-23 09:58:55 -05:00
Carlos Diaz
0b68840cd9
test(bar): add unit tests (#2845)
* 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
2022-01-22 16:17:13 +01:00
Gabor Kiss-Vamosi
1efe61fda2 chore(test): fix failing tests 2022-01-20 10:33:04 +01:00
ckielstra
febafd1cc7
chore: many trivial spelling and layout fixes (#3008)
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-01-17 08:10:23 -05:00
xaowang96
ddae70f741
fix(snapshot) fix memory leak (#2970)
Signed-off-by: wangxuedong <wangxuedong@xiaomi.com>
Co-authored-by: Themba Dube <embeddedthemba@gmail.com>
2022-01-06 08:56:53 -05:00
guoweilkd
8315eb1ca4
feat(txt): add used_width parameter to _lv_txt_get_next_line() (#2898) 2021-12-21 10:37:02 +01:00
Gabor Kiss-Vamosi
cb7fc2bb59 fix(dropdown) be sure the list is the top object on the screen
fixes #2893
2021-12-13 20:26:24 +01:00
Carlos Diaz
559c2cdc9e
test(switch): add initial unit test (#2794)
* test(switch): Add test file and state at creation test

* test(switch): Event handler called only once per click

* test(switch): Add test state change when event bubbling is enabled

* test(switch): Cleanup event bubbling test

* tests(switch): Update memory test and add basic animation test

* test(switch) Add helper to click on switch

* test(switch) Add basic test for knob size calculation

* misc(switch) Replace switch knob rounding error magic number with define

* test(switch) Improve animation test

Properly wait for 50ms after clicking on the switch using lv_test_indev_wait and also assert on switch state after the first and second clicks

* test(switch) cleanup

* misc(switch) Cleanup

* switch: Expose _LV_SWITCH_KNOB_EXT_AREA_CORRECTION value

So we can use it when testing extra draw size
2021-12-07 13:49:26 +01:00
Gabor Kiss-Vamosi
918b3defd7 test(dropdown) fix to pass again 2021-11-23 14:13:24 +01:00
Gabor Kiss-Vamosi
b279f63d6b test(template) simplify _test_template.c
Originally added here 7278089040
but lost somehow
2021-11-11 17:36:12 +01:00
Gabor Kiss-Vamosi
80f0b09e34 test fix LV_USE_LOG_LEVEL -> LV_LOG_LEVEL typo
Related to #2673
2021-10-19 17:40:41 +02:00
Gabor Kiss-Vamosi
e83df6f14d test(arc): add test case for adv_hittest 2021-10-19 17:36:37 +02:00
Carlos Diaz
42989d4e9a
test(txt) initial unit tests and general code cleanup/fixes (#2623)
* test(txt): Add test for identifying empty text when trying to get next line

* test(txt): Rename next line empty string handling test

* test(txt): Add tests for _lv_txt_is_cmd

* test(txt): Add initial tests for _lv_txt_ins

* fix(txt): Check for NULL before using strlen

Passing NULL to strlen is not defined, so we should avoid it

* txt: Update docs

Remove docs from source file and add comment about pointers to NULL terminated arrays where necessary

* txt: Misc update in encoded_size

* test(txt): first tests for _lv_txt_cut

* tests: Remove -Wmissing-prototype flag from compilation

This will allow us to have cleaner test cases files.

* test(txt): Remove test (funtion) prototypes as they're no longer necessary

* Update src/misc/lv_txt.h

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

* Update src/misc/lv_txt.h

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

* Revert "tests: Remove -Wmissing-prototype flag from compilation"

This reverts commit 8b3217de8d.

* test(txt): Use pragma to disable missing-prototype warning

* test: use extended set of compile options for test cases

* Revert "test(txt): Use pragma to disable missing-prototype warning"

This reverts commit 64909e30ed.

* test(txt): Add assert to test_txt_cut_len_longer_than_string test

* test(txt): Add test for _lv_txt_encoded_next on valid ascii input

* test(txt): Add tests for _lv_txt_encoded_next with 2 byte long inputs

* test(txt): Add tests for _lv_txt_encoded_next with 3 byte long inputs

* test(txt): Add tests for _lv_txt_encoded_next with 4 byte long inputs

* cleanup(txt): Add helper macros to identify ASCII and UTF8 codes

* cleanup(txt): Add missing LV_ prefix to helper macros

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com>
2021-10-15 11:37:53 +02:00
Gabor Kiss-Vamosi
7a95fa9e2d test add 3rd party libs to all tests and also fix them
Fixes: #2661
2021-10-12 17:03:50 +02:00
Carlos Diaz
3b6a05e253
test add setUp and tearDown to test template (#2648) 2021-10-11 14:22:55 +02:00
Carlos Diaz
acf915b896
test(arc) add initial unit tests (#2617)
* test(arc): Add test for valid creation

* test(arc): Add test for max value truncation

* test(arc): Add test for min value truncation

* test(arc): Add test for value adjustment after updating range

* test(arc): Update test for min value truncation

* test(arc): Add test for angle updating after changing to symmetrical mode

* test(arc): Add test for angle updating after changing to symmetrical mode and value is greater than middle range

* test(arc): Use unity setUp function

* remove API comments from lv_arc.c

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2021-10-07 19:01:02 +02:00
Gabor Kiss-Vamosi
18f61c5f77
arch add small 3rd party libs to lvgl (#2569)
* move png, sjpg, bmp, gif, fs_if to extra/libs

* reorganize the examples

* update lv_conf_internal.h

* fix warnings

* add freetype

* remove unused assets

* add the new libs to build tests

* update the docs
2021-10-04 14:34:11 +02:00
Carlos Diaz
bb6829796b
test(checkbox) add initial tests (#2551)
* test(checkbox): Add initial test for checkbox

* test(checkbox): Add test_checkbox_should_have_default_text_when_created

* test(checkbox): Add test_checkbox_should_return_dinamically_allocated_text

* test(checkbox): Add initial tests for static text

Tests are failing tho

* test(arc): Rename bugfix test to arc

Also adds reference to issue in a comment

* test(checkbox): Tests for static text passes

* test(checkbox): Remove test for memory freeing when static text is refreshed

NULL isn't a valid parameter in lv_checkbox_set_text_static
2021-09-20 20:38:47 +02:00
Carlos Diaz
ab50f001a6
feat(tests): Include debug information to test builds (#2568) 2021-09-19 15:23:21 -04:00
Chris Mumford
b1bf7fd29a
test(ci) build and run tests in parallel. (#2515)
Create one GitHub workflow job for each build option build
or test execution. This allows each of the five builds to
be executed in parallel as well as making it easier to
navigate to the test output as it now resides in its own
job.

This change **does** change the command-line arguments to
the test execution script. This is required to allow the
build options name to be passed in.

New `tests/main.py` command-line help:

```
usage: main.py [-h] [--build-options BUILD_OPTIONS] [--clean]
               [--report]
               [{build,test} [{build,test} ...]]

Build and/or run LVGL tests.

positional arguments:
  {build,test}          build: compile build tests, test:
                        compile/run executable tests.

optional arguments:
  -h, --help            show this help message and exit
  --build-options BUILD_OPTIONS
                        the build option name to build or run.
                        When omitted all build configurations
                        are used.
  --clean               clean existing build artifacts before
                        operation.
  --report              generate code coverage report for
                        tests.

This program builds and optionally runs the LVGL test programs.
There are two types of LVGL tests: "build", and "test". The
build-only tests, as their name suggests, only verify that the
program successfully compiles and links (with various build
options). There are also a set of tests that execute to verify
correct LVGL library behavior.
```
2021-09-01 11:58:14 +02:00
Chris Mumford
df6cbfe866
ci(tests) run tests using ctest (#2503)
Simplifies `tests/main.py` as it no longer needs to invoke
tests individually or keep track of and report their pass/fail
status.

Also enables the ability to run tests in parallel, support timeouts,
and re-run flaky tests.

https://cmake.org/cmake/help/latest/manual/ctest.1.html
2021-08-30 08:45:33 -04:00
Chris Mumford
c11569dc5c
ci(tests) use common script to install development prereqs (#2504)
Simplified workflow and documentation, by moving the
development package prerequisites into a new build script
`scripts/install-prerequisites.sh`.

Also, moved prerequisite installation into its own CI step and
removed explicit working directory change as it is no longer
needed (`main.py` does it).
2021-08-27 18:57:46 -04:00
Chris Mumford
9c846ee493
test convert Makefile to CMake (#2495)
* Convert tests/Makefile to a cmake project file.

This change switches the building of LVGL tests to use cmake
which is more portable than make. Additionally, whenever
cmake can be used, instead of the Python script (`main.py`),
the former is preferred.

The interface to `main.py` is unchanged, and tests are built
and executated the same as before.

This closes https://github.com/lvgl/lvgl/issues/2474.

* Installing `gcovr` in GitHub workflow.

* Documented steps to install libpng-dev.

* Added missing stdout flush when running tests.

* Grammar tweak in README.

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2021-08-27 15:49:31 +02:00
Gabor Kiss-Vamosi
9fb98da8a2 test(dropdown) remove dummy test case
relaetd to https://github.com/lvgl/lvgl/issues/2337#issuecomment-905002568
2021-08-26 12:11:29 +02:00
Chris Mumford
53986b4b0e
test Refactor unit test scripts. (#2473)
* Refactor unit test scripts.

Does the following:

1. Remove as many dependencies on the operating system shell as possible.
   For example, use of shutil.rmtree(...) instead of os.system('rm -r ...').
   This brings this script a bit closer to being able to run on Windows.
2. Switch from os.system() to subprocess.check_call().
   * This is a bit more secure as check_call() directly invokes the subprocess
     without evaluation the arguments on a command-line.
   * Removes the need to evaluate the return code as check_call() does this.
   * Can directly set environment variables (e.g. env=cmd_env) instead of
     including with subprocess invocation (e.g. BIN=test.bin).
3. Minor cleanup to main.py sys.argv parsing.
4. PEP8 formatting.

* Ignore FileNotFoundError for rmtree('report').

* Back to os.system for gcovr.

* Removed unused shutil import.
2021-08-25 15:37:59 +02:00
Gabor Kiss-Vamosi
906448ef63 feat(obj) place the scrollbar to the left with RTL base dir.
Related to #2424
2021-08-19 12:51:29 +02:00
Themba Dube
ae15a1bbfe Revert "fix(tests) remove src/test_runners when cleaning"
This reverts commit 6726b0f5df.
2021-08-03 10:25:20 -04:00
Themba Dube
6726b0f5df fix(tests) remove src/test_runners when cleaning 2021-08-03 09:38:13 -04:00
Gabor Kiss-Vamosi
5b3d3dc8b3 perf(draw) reimplement rectangle drawing algorithms
No functionalty has changed only make them more readable and faster.
2021-08-02 15:45:14 +02:00
Gabor Kiss-Vamosi
637b706ddc
perf(draw) reimplement circle drawing algorithms (#2374)
* perf(draw) reimplement circle drawing algorithms

Imporve the speed of circle drawing
Add circle draw caching
Various other speed improvements

* docs describe how to use masks

* fix(draw) add missing GC root usage
2021-07-27 19:16:00 +02:00
Themba Dube
3eacc5923c ci add config for 8bpp 2021-07-15 17:12:25 -04:00
Gabor Kiss-Vamosi
88c485949f feat(event, widgets) improve the paramter of LV_EVENT_DRAW_PART_BEGIN/END
Add lv_<widget>_draw_part_type_t to widgets to precisly describe the hooked drawings.
Also add class_p element to lv_obj_draw_part_dsc_t to show what widgets lv_<widget>_draw_part_type_t needs to be used.

Related to: https://forum.lvgl.io/t/how-to-add-minor-division-lines-to-a-chart/5366/
2021-07-07 16:19:06 +02:00
Themba Dube
4fff99da1d feat(tests) upload coverage to codecov 2021-07-05 13:58:46 -04:00
Gabor Kiss-Vamosi
90438603ad fix(test) do not including anything in test files when not running tests 2021-07-01 21:14:00 +02:00
Gabor Kiss-Vamosi
36b9db38b7 fix tests 2021-06-28 11:13:34 +02:00
Gabor Kiss-Vamosi
449952e3b7 fix tests 2021-06-28 11:08:46 +02:00
Gabor Kiss-Vamosi
c38cae22fb test fix CI build error 2021-06-23 23:04:12 +02:00
Gabor Kiss-Vamosi
61cda59cbe test fix build error 2021-06-23 22:19:51 +02:00
Gabor Kiss-Vamosi
4143b804c8 test(dropdown) add tess for keypad and encoder 2021-06-23 21:51:52 +02:00
Gabor Kiss-Vamosi
e536bb6325 test add keypad and encoder emulators 2021-06-23 21:51:14 +02:00
Gabor Kiss-Vamosi
2ba810b8de tests add mosue emulator 2021-06-23 15:51:30 +02:00
Gabor Kiss-Vamosi
b765643e49 tests add README 2021-06-23 15:51:12 +02:00
Gabor Kiss-Vamosi
3672f87332 test move more source files to src folder 2021-06-23 13:23:47 +02:00
Gabor Kiss-Vamosi
b9b4ba5b26 test cleant up report folder 2021-06-18 14:15:53 +02:00
Gabor Kiss-Vamosi
e35b1d04bd test add build test again, add dropdown test, integrate gcov and gvocr 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
e9e010a846 test add move tests to test_cases and test_runners directories 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
bc5b3be61f test(font_loader) migrate the exisiting font loader test 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
28d2ad4c3a feat(test) add assert for screenshot compare 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
ea8bed34b4 chore(test) improve prints 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
7610d38bb0 fix(test) silence make 2021-06-18 14:13:41 +02:00